background: TX2 Jetpack4.2, I need use uart0 uart1 uart2.
question: Uart0 and uart 1 are working normally.How do I use uart2 as normal uart send data?
hello wm18822827507,
please also check Jetson TX2 Series OEM Product Design Guide, and refer to [Table 74. UART Pin Descriptions] and also [Figure 46. UART Connections], that UART2 is using M.2 keys.
I know hardware infomation about uart of OEM Product Design Guide, but i don’t konw how use them in linux. I have 3 tty interfacem which one is for uart2?
opt@opt-desktop:~$ ls /dev/ttyTHS*
/dev/ttyTHS1 /dev/ttyTHS2 /dev/ttyTHS3
opt@opt-desktop:~$ ls -lh /dev/ttyTHS*
crw-rw---- 1 root dialout 238, 1 5月 29 09:31 /dev/ttyTHS1
crw-rw---- 1 root dialout 238, 2 5月 29 09:31 /dev/ttyTHS2
crw-rw---- 1 root dialout 238, 3 5月 29 09:31 /dev/ttyTHS3
hello wm18822827507,
please check kernel messages for mappings.
$ dmesg | grep THS
you might also refer to device tree settings for details.
for example,
$L4T_Sources/r32.4.2/Linux_for_Tegra/source/public/kernel_src/hardware/nvidia/soc/t18x/kernel-dts/tegra186-soc/tegra186-soc-uart.dtsi
Thank you very much, that just what i need, good job, Is the mapping listed below correct?
uarta: serial@3100000 { // console UART0 ttyS0
};
uartb: serial@3110000 { // UART2? ttyTHS1
};
uartc: serial@c280000 { // UART1 ttyTHS2
};
uartd: serial@3130000 { // UART3? ttyTHS3
};
uarte: serial@3140000 { // UART?
};
uartf: serial@3150000 { // UART?
};
uartg: serial@c290000 { // UART?
};
hello wm18822827507,
you’ll still need to check kernel messages for mappings.
please also refer to serial kernel drivers to register tty device during kernel initialization,
for example,
$ L4T_Sources/r32.4.2/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/tty/serial/serial_core.c
int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport)
{
...
uart_configure_port(drv, state, uport);
}