[Jetson Xavier NX] UART Tune

Dear Sir,

Apologize for this question again, this is extend from the this topic below

Situation : In our design plan, the UART2 will connect with a micro-processor
UART0/1 is design as generic console.

According the above topic, I have a doubt/question about to specify the UART0/1 not only act as generic console, but also act with the DEBUG function/feature which could print those whole booting message(Include MB1’s message…etc).

About this one, There is the hint about to tune the enable_combined_uart/spe_uart_instance of tegra194-mb1-bct-misc-l4t.cfg. I’ve refer the other topic from the forums to tune those as below

enable_combined_uart=0;
spe_uart_instance=0xff;

But…however I tune about these parameter. the Xavier always couldn’t boot up, such as stuck in this section as below.

My question further as below show.

  1. As the original question, Is that possible to specify the UART0/1 to act as the generic UART with DEBUG features.
  2. What’s those value indicate/meaning, Is that my value/setting wrong??
    about the enable_combined_uart=0;
    spe_uart_instance=0xff;
  3. For the question.1, Is there need more config adjust to make it completely?

p.s. I also tune the tegra194-p3668-common.dtsi such as below, but got the same result.

chosen {
//      bootargs ="console=ttyTCU0,115200";
        bootargs ="console=ttyTHS0,115200";
        board-has-eeprom;
        nvidia,tegra-joint_xpu_rail;
        };
...
combined-uart {
        console-port;
        combined-uart;
//      status = "okay";
        status = "disabled";
};

Best Regards,
MOMO Chen

hello momo_chen,

all the logs were sending to UART2 (i.e. Debug UART) is reserve for kernel debug purpose.
according to the screenshot, that’s mb1 logs, you may also check Boot flow for reference.

FYI,
could you please follow-up this topic, Topic 160948, it shows some changes for disabling combined uart on Xavier,
please check this and try to apply the code to Xavier NX.
thanks

Dear Jerry,

According the topic 160948, I will try to build the new Image first with those code below

Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi

        chosen {
--           bootargs ="console=ttyTCU0,115200";
++           bootargs ="console=ttyS2,115200 earlycon=uart8250,mmio32,0x0c280000";
++           stdout-path = &uartc;
             board-has-eeprom;
             nvidia,tegra-joint_xpu_rail;
        };

.........

                status = "okay";
        };

++    serial@c280000 {
++            compatible = "nvidia,tegra20-uart";
++            clock-frequency = <0x18519600>;
++            console-port;
++            status = "okay";
++            /delete-property/ resets;
++            /delete-property/ reset-names;
++        };

        serial@3140000 {
                compatible = "nvidia,tegra186-hsuart";
Linux_for_Tegra/p3668.conf.common

--CMDLINE_ADD="console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0";
++CMDLINE_ADD="console=ttyS2,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4";

Please correct me if there is any step wrong above.

About the bpmp-p2888-a01.dtsi,bpmp-p2888-a02.dtsi, bpmp-p2888-a04.dtsi.
I don’t even find a dtsi file which file name include bpmp.
Would you mind just tell me which dtsi file I need to fill-in those below

-#include "parts/policy/serial-3-comb-uart.dtsi"
+#include "parts/policy/serial-2-input.dtsi"

Best Regards,
MOMO Chen

UART_tune_20210706.log (6.3 KB)
Dear Jerry,

As the log file above, It will stuck with those configure that mention above.
UART1 will no message, HDMI no output Image.

Best Regards,
MOMO Chen

hello momo_chen,

is it possible the noise to interrupt the boot process?
could you please disconnect every peripheral I/O and try again, thanks

Dear Jerry,

No offense, but I guess that might be caused by

enable_combined_uart = 0;
spe_uart_instance = 0xff;

If I use the default value to both argument, xavier devkit will booting to OS even the UART2 behavior seems strange(typing be difficult) with new dts(ttyS2…etc) setting.

Would you mind to check those value correct above? it seem more like be stuck in MB1/MB2 that be caused by enable_combined_uart/spe_uart_instance.
*Just remind, I’m validate with nVIDIA Jetson Xavier NX Developer Kit, those dts should be compatible to official devkit.

Best Regards,
MOMO Chen

Dear Jerry,

Sorry to bother you, Is there any advice to these argument or any other suggestion??

Best Regards,
MOMO Chen

hello momo_chen,

we’re also reproduce the same failure as yours, it got boot stuck at NVIDIA logo screen after disable combined-uart.
it’s now still under internal investigation.
thanks

hello momo_chen,

you’ll need to update these 5 files,
please disable combined uart and assign the correct uart port for the logs.

  1. bootloader/t186ref/tegra194-a02-bpmp-p3668-a00.dtb
  2. kernel/dtb/tegra194-p3668-all-p3509-0000.dtb
  3. bootloader/t186ref/BCT/tegra194-mb1-bct-misc-l4t.cfg
  4. bootloader/t186ref/BCT/tegra194-mb1-bct-misc-flash.cfg
  5. p3668.conf.common

please disassembler the dtb file into text file for modification, $ dtc -I dtb -O dts -o temp.dts tegra194-p3668-all-p3509-0000.dtb
after that, you could convert the DTS into a new DTB file, $ dtc -I dts -O dtb -o output.dtb temp.dts
thanks

Dear Jerry,

Sorry to reply late, Since we’re afraid there might other unknown risk between Xavier and our micro-processor. we’ve change our design recently.

About this section, I will validate them later.
Apologize to waste your time and thanks for your reply kindly.

Best Regards,
MOMO Chen

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.