How to disable combined UART, and use uart2 as normal serial port

Hello,
I want to use uart2 as normal serial port in L4T 32.7.4 on Xavier NX.I browsed some topics,and I can do it when system was flash in emmc.When I want to flash system to nvme,the flash will timeout.
Here’s what I modified:

Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
chosen {
--   bootargs ="console=ttyTHS0,115200";
++ bootargs ="";
    board-has-eeprom;
    nvidia,tegra-joint_xpu_rail;
};

combined-uart {
    console-port;
    combined-uart;
--status = "okay";
++status = "disable";
};

++serial@c280000 {
++    compatible = "nvidia,tegra186-hsuart";
++    status = "okay";
++ };
Linux_for_Tegra/p3668.conf.common
--CMDLINE_ADD="console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0";
++CMDLINE_ADD="console=tty0 fbcon=map:0 net.ifnames=0";
Linux_for_Tegra/source/public/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-soc-base.dtsi
tegra_fiq_debugger {
            compatible = "nvidia,fiq-debugger";
            --use-console-port; 
            interrupts = <0 17 0x4>;
            ++status = "disabled"; 
        };
Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-l4t.cfg
Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-flash.cfg
--enable_combined_uart = 1;
--spe_uart_instance = 0x2;
++enable_combined_uart = 0;
++spe_uart_instance = 0xff;
Linux_for_Tegra/bootloader/t186ref/tegra194-a02-bpmp-p3668-a00.dtb
serial {
        --port = <0x3>;
        ++port = <0xff>;
        has_input;

        --combined-uart {
        --    enabled;
        --};
    };
  1. flash to emmc
sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

image
I can use uart2 as normal serial port.

  1. flash to nvme
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 100GiB --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1

The burning process times out.But I can flash normally before I modify the above.
flash_1-7_0_20230823-192129.log (10.6 KB)

Why can’t I flash it, please help me!

Hi david.L,

Are you using the devkit or custom board for Xavier NX?

Actually, we don’t suggest using debug UART to be normal UART because it has not been verified and it seems no RTS/CTS for auto flow control. It would also cause you hard to debug inside.

Have you used UART0 and UART1 for your use case?
and you want the third one for other usage?

You should disable the combined UART before use it as normal UART.
Combined UART is the from different parts so that you should disable it in several places.
Please refer to the following thread for this.
Disabling combined UART in JetPack 5.1.1 on Xavier NX - #13 by dan.madill

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