Xavier4.3, How can I debug with ttyTSH0 instead of ttyTCU0?

hello tianyi2,

okay, it seems bootloader messages has also populated. those messages before Booting Linux on physical CPU 0x0 are bootloader logs.
you have very few kernel logs, it should due to you had quiet variable define in the command-line.
please have a try to remove quiet for confirmation.

Hi,JerryChang
When I remove quiet,there is no improvement.The log is the picture as following.


Thanks

hello tianyi2,

did you disable bootconsole? it seems you have it disabled in the latest update.

Hi,JerryChang,
The cmdline is as fllowing.

root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 video=tegrafb no_console_suspend=1 earlycon=tegra_comb_uart,mmio32,0x0c168000 gpt usbcore.old_scheme_first=1 tegraid=19.1.2.0.0 maxcpus=8 boot.slot_suffix= boot.ratchetvalues=0.4.2 vpr_resize sdhci_tegra.en_boot_part_access=1

===========================================================
Thanks

hello tianyi2,

please try below steps to disable TCU.

  1. modify mb1-bct, tegra194-mb1-bct-misc-l4t.cfg to disable combined-uart. it’s 0x2 for UART-C
  enable_combined_uart = 0;
  spe_uart_instance = 0x2;
  1. modify kernel device tree, to load uart8250 driver and update the bootargs.
  serial@c280000 {
       compatible = "nvidia,tegra20-uart"; // To load uart8250 driver
       status = "okay";
    };
  chosen {
       bootargs = "console=ttyS2,115200 earlycon=uart8250,mmio32,0x0c280000";
  };
  1. you may disassembler the bpmp-dtb, changes the content as following,
 / {
        serial {
-               port = <3>;
+               port = <2>;
                has_input;
-               combined-uart {
-                       enabled;
-               };
        };

 };
  1. update flash configure file, p2972-0000.conf.common. change console=ttyS2 for UART-C.
  CMDLINE_ADD="console=ttyS2,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4";

here’s see-also discussion thread, to disable combined uart on Xavier NX.

Hi,Jerry,
I have seen it.
My uart is serial@3100000 which compatible = “nvidia,tegra186-hsuart”.
The uart serial@c280000 which compatible = “nvidia,tegra20-uart” is not useful for me.
Thanks.

how about follow the other modifications to disable TCU, does it works?

HI,JerryChang
Can you tell me which pin is used for serial@c280000?
Thanks

Hi,JerryChang
when the cmdline is “root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 video=tegrafb no_console_suspend=1 earlycon=tegra_comb_uart,mmio32,0x0c168000 gpt usbcore.old_scheme_first=1 tegraid=19.1.2.0.0 maxcpus=8 boot.slot_suffix= boot.ratchetvalues=0.4.2 vpr_resize sdhci_tegra.en_boot_part_access=1”, the TCU is already disabled.
Thanks

hello tianyi2,

you may refer to Xavier TRM, please looking for 0x0c280000 for its block name, UART-C.
you may also refer to [10.4.2.3 UART Register Access] for details.

Hi,JerryChang
I haved looked for Xavier TRM,and also asked the hardware engineer for advice.But I can’t find the pin of UARTC.
Can you point out the pin of UARTC?
Thanks

UART3/UARTC is Primary Debug (2-pin only)/Boot UART – open-box debug solution. so, it’s pin, H62/K60 according to Product Design Guide.

Hi, JerryChang,
I have asked the hardward engineer for UARTC, he said the UARTC can’t be used for redirecting debug.So, the solved point is focused on ttyTHS0.Do you have any idea?
Thanks.

hello tianyi2,

ttyTHS0 it’s a software emulation node,
could you please refer to [Figure 13-7. Jetson AGX Xavier UART Connections], which port you would like to enabled?

Hi, JerryChang
We like to enable UART3 for debug.
Thanks.

hello tianyi2,

BTW, what did you mean for redirecting debug.
please check this external page as see-also, Jetson/AGX Xavier Tegra Combined UART - eLinux.org

Hi,JerryChang
I have said wrong about debug uart.We now use UART3 for debug. When the board is box packing,we can’t get the debug information. The UART1 is connected to another board,So we want to push debug information to UART1 and get the debug information on the another board.The hardware is fixed and what we only can change is the software.
Thanks.

Hi,JerryChang
The problem is solved. I use UART2 instead of UART1, and changed the campatible from “nvidia,tegra186-hsuart” to “nvidia,tegra20-uart”,also add console=ttyS1,115200 in the bootargs.
Thanks.

1 Like

Hi,JerryChang
UART1 and UART2 are all conneceted to another board. I don’t know why UART2 could do it, but UART1 can’t do it.
Thanks