[Xavier NX]UART0 function check

Dear All,

As I know in the Xavier NX,
the ttyTCU0 is belong the UART2(SFIO : UC3).
the ttyTHS0 is belong the UART1(SFIO : UA3).
But which one interface will belong the UART0(SFIO : UB3)? ttyTHS1? ttyTHS4?
Is the UART0 need another configuration for device tree or any other setting??

Best Regards,
MOMO Chen

hello momo_chen,

please check Jetson Xavier NX Product Design Guide, you may refer to [Table 12-7. Jetson Xavier NX UART Pin Descriptions].
please also looking for kernel logs, i.e. $ dmesg | grep THS.
for example,

$ dmesg | grep THS
[    1.669210] 3100000.serial: ttyTHS0 at MMIO 0x3100000 (irq = 47, base_baud = 0) is a TEGRA_UART
[    1.670251] 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 48, base_baud = 0) is a TEGRA_UART
[    1.671169] 3140000.serial: ttyTHS4 at MMIO 0x3140000 (irq = 49, base_baud = 0) is a TEGRA_UART

there’s device tree sources to indicate the mappings,
for example,
$L4T_Sources/r32.6.1/Linux_for_Tegra/source/public/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-soc-uart.dtsi

        uarta: serial@3100000 {...}
        uartb: serial@3110000 {...}
        ...

Dear Jerry,

Thanks for your reply kindly.
There is my confused further.
How could we know the 3100000/3110000/3140000 which mapping to UART0/1 excatly?

Best Regards,
MOMO Chen

Dear Jerry,

Is that like below?

Signal Name		Ball Name		SFIO		Device Tree
UART0			UART2			UB3			serial@3110000	ttyTHS1
UART1			UART1			UA3			serial@3100000	ttyTHS0
UART2			UART3			UC3			serial@c280000	ttyTCU0

Best Regards,
MOMO Chen

hello momo_chen,

yes, that’s the correct mappings.
note, it’s software driver to register ttyTHS* as serial interface, you should always check kernel logs for the mappings for confirmation.
thanks

Dear Jerry,

I’ve got few question those need to consult with you.
Since we’ve our carrier board( design with UART0/1 to the RS232/RS422/RS485)

  1. the UART1(ttyTHS0) will show the ubuntu login.
    but the UART0(ttyTHS1) will not show the login.
    Is there any configuration caused their difference?
  2. Is that possible to enable/disable ubuntu login ( same as the UART1,ttyTHS0)?
    Or Is that possible to make the UART same as the generic UART( same as the
    UART0,ttyTHS1)?
  3. Is that possible to invert the signal which UART received side?

Best Regards,
MOMO Chen

The UART can have a terminal program run, which is “nvgetty” (see “sudo systemctl status nvgetty.service”). You could then “sudo systemctl disable nvgetty.service”, or “sudo systemctl disable nvgetty.service”. Or temporary, just “sudo systemctl stop nvgetty.service”, or “sudo systemctl start nvgetty.service”. All of this though is only for once Linux runs (the bootloader is separate).

Examine “/etc/systemd/system/nvgetty.service”, and if you see it listing “/etc/systemd/nvgetty.sh”, then consider editing “/etc/systemd/nvgetty.sh”. Beware though that the bootloader itself will still run on the old terminal since the bootloader only runs prior to Linux.

it due to the platform configuration file, p3668.conf.common, i.e. console=ttyTCU0.

Dear linuxdev, Jerry,

Thanks for you guys’ advice kindly.
To editing /etc/systemd/nvgetty.sh that is useful in my situation.

Best Regards,
MOMO Chen

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