could you please check Jetson TX2 Series OEM Product Design Guide for the [13.3 UART] chapter. please review your physical connections with [Figure 46. UART Connections].
besides, UART7/UARTG is used for BPMP debugging, you have to disable BPMP console on UART7 if you need to enable that. please check Topic 54572 for changing the port number to 255.
Hi @JerryChang
thanks for your reply.
according to Jetson TX2 Series OEM Product Design Guide, UART7 physical connections are confirmed well.
and we tried the methord in this post, but it seemed no help.
how to verify that tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb has been updated in our device? is there any log?
now, the uart0 uart1 and uart2 work well. we tested in the following methord.
echo “uart0 test” > /dev/ttyS0 signal cought on uart0
echo “uart1 test” > /dev/ttyTHS2 signal cought on uart1
echo “uart2 test” > /dev/ttyTHS3 signal cought on uart2
is this mapping right?
should uart7 be mapped to ttyTHS8?
Regards
Hi @JerryChang
We modified DT, and now /dev/ttyTHS6 came out. We also did some tests.
signals can be cought on UART7, however, UART3 still does not work.
what`s more, the mapping between UART and tty changed.
the test results are shown as following.
echo “uart0 test” > /dev/ttyS0 signal cought on uart0
echo “uart1 test” > /dev/ttyTHS2 signal cought on uart1 echo “uart2 test” > /dev/ttyTHS1 signal cought on uart2
echo “uart7 test” > /dev/ttyTHS6 signal cought on uart7
the UART1 works at 9600 baud rate, we expect to change it to 115200. could you give some suggestions?
Regards
FYI
t@t-desktop:~$ dmesg | grep "TH"
[ 3.473637] 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 37, base_baud = 0) is a TEGRA_UART
[ 3.474535] c280000.serial: ttyTHS2 at MMIO 0xc280000 (irq = 38, base_baud = 0) is a TEGRA_UART
[ 3.475507] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 39, base_baud = 0) is a TEGRA_UART
[ 3.476387] c290000.serial: ttyTHS6 at MMIO 0xc290000 (irq = 40, base_baud = 0) is a TEGRA_UART
[ 3.488627] THERMAL EST: found 3 subdevs
[ 3.488630] THERMAL EST num_resources: 0
[ 3.488633] [THERMAL EST subdev 0]
[ 3.488637] [THERMAL EST subdev 1]
[ 3.488640] [THERMAL EST subdev 2]
[ 3.488903] THERMAL EST: thz register success.
[ 3.488994] THERMAL EST: end of probe, return err: 0
[ 7.308526] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[ 29.333012] [08-08 05:09:52.533] dhd_dump_eapol_4way_message: ifidx: 0 ETHER_TYPE_802_1X [RX] : M1 of 4way
[ 29.340938] [08-08 05:09:52.541] dhd_dump_eapol_4way_message: ifidx: 0 ETHER_TYPE_802_1X [TX] : M2 of 4way
[ 29.346410] [08-08 05:09:52.546] dhd_dump_eapol_4way_message: ifidx: 0 ETHER_TYPE_802_1X [RX] : M3 of 4way
[ 29.346591] [08-08 05:09:52.546] dhd_dump_eapol_4way_message: ifidx: 0 ETHER_TYPE_802_1X [TX] : M4 of 4way
t@t-desktop:~$ ls -ahl /dev/ttyTH*
-rw-r--r-- 1 root root 30 Aug 8 02:59 /dev/ttyTHS0
crw-rw---- 1 root dialout 238, 1 Aug 8 04:02 /dev/ttyTHS1
crw-rw---- 1 root dialout 238, 2 Aug 8 03:39 /dev/ttyTHS2
crw-rw---- 1 root dialout 238, 3 Aug 8 03:58 /dev/ttyTHS3
crw-rw---- 1 root dialout 238, 6 Aug 8 03:59 /dev/ttyTHS6
attachment is the whole dmesg log. henry7.log (84.2 KB)
Hi @JerryChang
the uart number are based on “SoM connector” in Jetson-TX2-Series-Pinmux-Template_v1.08.xlsm file. We tried to upload the xlsm, but failed. You may get it from the download center.
UART3 is pin# H9, H10. according to the dmesg, it seems that UART3 is UART-d, serial@3130000. and UART3 has been mapped to ttyTHS3. but, it does not work.
echo “uart3 test” > /dev/ttyTHS3 no signal cought on uart3
and what`s more serious, DT has configed UART1 to 115200 baud rate, but it works at 9600 in fact. could you give some help on it.
for UART-D
there’s Mux for UART-3, pin# H9, H10, which choosing WiFi/BT or UART on Jetson TX2.
for UART-A
that’s uarta for the default debug port, you’ll need modifications to treat it as normal serial port. please see-also Topic 199133 for an example to configure debug port from UART-0 to UART-1.
Hi @JerryChang
OK, let me explain it.
On a windows test PC, we use a USB-RS232(ch340) tool connect the xshell and UART1.
Then, open a terminal on TX2.
echo “uart1 test” > /dev/ttyTHS2
xshell can get the strings only when we set baud rate to 9600.
and no errors print on screen.
Hi @JerryChang
This topic 201881 realy works and helps us a lot. But, stty command can change baud rate temporarily. If we reboot tx2 baud rate will go back to 9600. So, we need config it when uart init. Could you give some suggestions?
We are so confused that baud rate has been setted to 115200, why it does not work?
Hi @JerryChang
We debuged in the following file.
kernel/kernel-4.9/drivers/tty/serial/serial-tegra.c
Found that, the function tegra_uart_starup() and tegra_uart_hw_init() were never invoked.
So that, the baud rate was not setted.
could you please also check below, it should be tegra_uart_parse_dt for reading device tree property, nvidia,adjust-baud-rates and return the values,
could you please check it’s reading correctly?
static int tegra_uart_probe(struct platform_device *pdev)
...
ret = tegra_uart_parse_dt(pdev, tup);
Hi @JerryChang
where should we locate the init script to make sure change baud rate every time when tx2 bring up?
could you give some examples or demos?