JetPack 5.1.1 UART D issue

Hello folks,

I am wondering if anyone has a similar issue of bringing up UART D (/dev/ttyTHS3, serial@3130000) on JetPack 5.1.1

The current status is as the below:

  • We designed our own carrier board with UART A and UART D as RS-232
  • We can send and receive data via UART A on either JetPack 5.0.2, or JetPack 5.1.1
  • We can send and receive data via UART D on JetPack 5.0.2
  • We can send data, but not receiving data on UART D on JetPack 5.1.1

////

The related dmesg is like

[    6.395815] serial-tegra 3100000.serial: Adding to iommu group 2
[    6.402360] 3100000.serial: ttyTHS0 at MMIO 0x3100000 (irq = 24, base_baud = 0) is a TEGRA_UART
[    6.411884] serial-tegra 3110000.serial: Adding to iommu group 2
[    6.418252] 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 87, base_baud = 0) is a TEGRA_UART
[    6.427670] serial-tegra c280000.serial: Adding to iommu group 2
[    6.435022] c280000.serial: ttyTHS2 at MMIO 0xc280000 (irq = 88, base_baud = 0) is a TEGRA_UART
[    6.444419] serial-tegra 3130000.serial: Adding to iommu group 2
[    6.450828] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 89, base_baud = 0) is a TEGRA_UART
[    6.460193] serial-tegra 3140000.serial: Adding to iommu group 2
[    6.466568] 3140000.serial: ttyTHS4 at MMIO 0x3140000 (irq = 90, base_baud = 0) is a TEGRA_UART

Pinmux

159 (uart4_rx_ph4):
        pull=0
        tristate=0
        enable-input=0
        open-drain=0
        io-reset=0
        rcv-sel=0
        io-hv=0
        loopback=0
        schmitt=0
        pull-down-strength=0
        pull-up-strength=0
        drive-type=0
        func=uartd
        pad-power=1

160 (uart4_tx_ph3):
        pull=0
        tristate=0
        enable-input=0
        open-drain=0
        io-reset=0
        rcv-sel=0
        io-hv=0
        loopback=0
        schmitt=0
        pull-down-strength=0
        pull-up-strength=0
        drive-type=0
        func=uartd
        pad-power=1

Any feedback or suggestion will be appreciated.

Thanks

Hi kaichu.wu,

Could you help to provide the result of the following command on your board?

$sudo busybox devmem 0x02434020
$sudo busybox devmem 0x02434018
$sudo busybox devmem 0x02434010
$sudo busybox devmem 0x02434008

Hello Kevin,

Thanks! we got the following result.

root@tegra-ubuntu:/home/nvidia# sudo busybox devmem 0x02434020
0x00000400
root@tegra-ubuntu:/home/nvidia# sudo busybox devmem 0x02434018
0x00000000
root@tegra-ubuntu:/home/nvidia# sudo busybox devmem 0x02434010
0x00000406
root@tegra-ubuntu:/home/nvidia# sudo busybox devmem 0x02434008
0x00000059

Hello Kevin,

I’ve the same problem here too.

I got the following result.

$ sudo busybox devmem 0x02434020
0x00000400
$ sudo busybox devmem 0x02434018
0x00000450
$ sudo busybox devmem 0x02434010
0x00000400
$ sudo busybox devmem 0x02434008
0x00000450

Your result seems not expected.
Could you help to provide the pinmux spreadsheet for further check?

Hi gigi.chow,

Your pinmux value looks fine.
Are you using the devkit or custom board?
Do you also can receive data on JP5.0.2 but failed to receive data on JP5.1.1?

Hi @KevinFFF ,

Failed to receive data on JP5.0.2 too.

I’m using minicom to trasmit and receive data. When I disable hardware flow control, data can transmit but can’t receive. In contrast, data can receive but can’t transmit when hardware flow control is enable.

Any suggestion? Thanks

Hi @KevinFFF

I’m using custom board with Jetson AGX Orin

Please use JP5.1.1 and disable HW flow control to verify.
and provide the serial console log and pinmux spreadsheet in use for further check.

I’m using JP5.1.1. I can send data but can’t receive data when HW flow control disabled.

console log
consolelog.txt (325.7 KB)

Pinmux
tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi (4.7 KB)
tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi (65.4 KB)

May 23 14:36:02 nvidia-desktop kernel: [    7.348050] serial-tegra 3130000.serial: Adding to iommu group 1
May 23 14:36:02 nvidia-desktop kernel: [    7.355347] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 86, base_baud = 0) is a TEGRA_UART

From you flash log and pinmux, they seems all fine.

Your issue seems different as current topic, please help to file another one for tracking.

Hello Kevin,

Thanks for your reply.

Please refer to the following pinmux info.

Orin-nru220-gpio-default.dtsi (2.6 KB)

Orin-nru220-padvoltage-default.dtsi (1.3 KB)

Orin-nru220-pinmux.dtsi (62.6 KB)

It seems you should remove TEGRA234_MAIN_GPIO(H, 6) in Orin-nru220-gpio-default.dtsi.

			uart4_rts_ph5 {
				nvidia,pins = "uart4_rts_ph5";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,lpdr = <TEGRA_PIN_DISABLE>;
			};

			uart4_cts_ph6 {
				nvidia,pins = "uart4_cts_ph6";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,lpdr = <TEGRA_PIN_DISABLE>;
			};

It seems you don’t configure PH.05 and PH.06 for UART-D.
Please check pinmux spreadsheet and generate these 3 dtsi again.

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