The console output both on uart2 and uart3, how to disable it

the console output both on uart2 and uart3, how to disable it.
the /proc/cmdline is “root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=ttyAMA0,115200 console=tty0 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0”
I remove the “bootargs =“console=ttyTCU0,115200”;” in chosen node of dts, but no help.

Hi ekeechg,

Are you using the devkit or custom board for AGX Orin?
What’s your Jetpack version in use?

Please keep console=ttyTCU0,115200 and remove console=ttyAMA0,115200 console=tty0 for your use case.

we are using the the custom board for AGX Orin.
Jetpack version is 5.0.2.
How to remove “console=ttyAMA0,115200 console=tty0” ? I can’t find it in dts file.
The device tree only has “console=ttyTCU0,115200” like this:
chosen {
bootargs =“console=ttyTCU0,115200”;
board-has-eeprom;
};

You can remove them from APPEND in /boot/extlinux/extlinux.conf.

well, I remove the config as you said, the printk output in uart2 disappear.
But I still can’t use uart2 in minicom. when I use minicom send character to PC, the PC can’t receive any thing. orin also can’t receive any thing from PC.
is there any other setting?? it’s strange.

Which UART do you want to use? (the following one?)

Have you configured in pinmux before use?
How did you connect the UART2 with your PC? (with serial console cable!?)

Please share the dmesg for further check.

I want to use UART2.
Yes, I have connect UART2 to my PC.
The HW should be OK, because before I modify the bootcmd, I can see printk log on that port, and also can login linux too. but I don’t know why I can’t use uart by minicom.
log.txt (99.1 KB)

Please help to answer this question from me.

You should configure UE3_* in customer usage in pinmux spreadsheet before using it as normal UART interface.
and please also enable the uarte@3140000 node in device tree.

Please share the full dmesg and device tree for further check.

I have config UART2 pinmux like this:

                    uart2_tx_px4 {
                            nvidia,pins = "uart2_tx_px4";
                            nvidia,function = "uartb";
                            nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                            nvidia,tristate = <TEGRA_PIN_DISABLE>;
                            nvidia,enable-input = <TEGRA_PIN_DISABLE>;
                            nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
                            nvidia,lpdr = <TEGRA_PIN_DISABLE>;
                    };

                    uart2_rx_px5 {
                            nvidia,pins = "uart2_rx_px5";
                            nvidia,function = "uartb";
                            nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                            nvidia,tristate = <TEGRA_PIN_ENABLE>;
                            nvidia,enable-input = <TEGRA_PIN_ENABLE>;
                            nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
                            nvidia,lpdr = <TEGRA_PIN_DISABLE>;
                    };

                    uart2_rts_px6 {
                            nvidia,pins = "uart2_rts_px6";
                            nvidia,function = "uartb";
                            nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                            nvidia,tristate = <TEGRA_PIN_DISABLE>;
                            nvidia,enable-input = <TEGRA_PIN_DISABLE>;
                            nvidia,lpdr = <TEGRA_PIN_DISABLE>;
                    };

                    uart2_cts_px7 {
                            nvidia,pins = "uart2_cts_px7";
                            nvidia,function = "uartb";
                            nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                            nvidia,tristate = <TEGRA_PIN_ENABLE>;
                            nvidia,enable-input = <TEGRA_PIN_ENABLE>;
                            nvidia,lpdr = <TEGRA_PIN_DISABLE>;
                    };

I check the spreadsheet, UE3_* is for UART5. I don’t use UART5, I use UART2.

Do you mean that you are not using above UART?

Please confirm which pins you are using from pinmux spreadsheet.

UART2 from SoC → UART5 from Module Pin
UART5 from SoC → UART2 from Module Pin

Which one are you using?

I’m a little bit confused. there must be some info gap.
the base board is designed by ourself, and we plan use UART2 for PC communication. the UART5 in our board is connected to mcu.
now, the UART2 don’t work. why we need config UART5?

They are 2 UART interfaces, but the naming in SoC and Module are reversed so that I want to confirm with you which UART you are using.

So, are you using the following UART interface? (J58, H58, K58, H57)

nop, we are using UART2.
image

So, you are using exact the above one I asked you in 20/Mar.
It is the UART5 from SoC → UART2 from Module Pin

How did you configure it in pinmux spreadsheet?
If you want to use it as normal UART, please configure those pins as UE3_* in Customer Usage column.
and confirm the uarte@3140000 node in device tree is enabled.

now, I configure the spreadsheet like this:

and enabled the uarte@3140000. I open the ttyTHS4 by minicom. the PC can’t receive anything.
kernel log as follow:
log.txt (86.9 KB)
pls. help checking what is wrong.

Do you reflash the board to apply the change?

[    6.821981] serial-tegra 3140000.serial: Adding to iommu group 2
[    6.827999] 3140000.serial: ttyTHS4 at MMIO 0x3140000 (irq = 86, base_baud = 0) is a TEGRA_UART

It seems this UART interface has been probed as expected.

Can you short C58(UE3_TXD) and C56(UE3_RXD) and run the following command to verify loopback test before connect with your host?

$ sudo su
# stty -F /dev/ttyTHS4 115200 raw -echo
# cat /dev/ttyTHS4 &
# echo "test" > /dev/ttyTHS4

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