Agx orin module can't use uart 3/4/5

We refer to the Agx Developer Kit, Linux 35.4.1 has trimmed our own motherboard and used four UARTs (1,2, 4,5), but UART1 works fine. UART2 will be mapped to UART5 and can work normally. Therefore, we want to modify the device tree to support UART4 and UART5 operations.

  1. I have downloaded<Linux_ For_ Tegra>and sync source,

  2. I modified the device tree, path<Linux_ For_ Tegra/resources/hardware/nvidia/platform/t23x/concord/kernel dts>Files in the directory
    image
    3.I also modified the I ->E of uart5, but on the/dev bus, only ttys0, s1, and s3 can be seen, and only S0 and S1 can work. dmesg can only see them, without ttyTHS4

Hi flaty_star,

It seems you are using custom carrier board for AGX Orin with R35.4.1.

Please refer to the following thread for UART interface on AGX Orin.
Unable to correspond to "func" and "uart_tx" - #3 by KevinFFF

Have you configured the pinmux spreadsheet to enable every UART interfaces?

Please share the full dmesg for further check.

yes, compared to the carrier board of the development kit, we only introduced uart(1,2,3,4,5), we don’t using pinmux spreadsheet,Because we are not sure how to replace the original device tree file, we just manually modified the current device tree file。Can you provide a device tree file corresponding to this development kit as a reference for modification。
log.txt (69.5 KB)
kernel_tegra234-p3701-0005-p3737-0000.zip (64.8 KB)
tegra234-p3701-0000-p3737-0000.zip (1.6 KB)
so cmd: cat /sys/kernel/debug…
pinmux.txt (528 Bytes)

Please refer to the following instruction to configure the pinmux before you modify the device tree to enable UART interface.
Jetson AGX Orin Platform Adaptation and Bring-Up — Pinmux Changes

[    7.762567] 3100000.serial: ttyTHS0 at MMIO 0x3100000 (irq = 26, base_baud = 0) is a TEGRA_UART
[    7.780196] 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 78, base_baud = 0) is a TEGRA_UART
[    7.797784] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 79, base_baud = 0) is a TEGRA_UART

From your log, it seems UART1/UART4/UART5 have been enabled.

Would you like to enable UART2(uarte@3140000) now?

It seems you are using AGX Orin SKU5 (p3701-0005) rather than SKU0 (p3701-0000).

1.I want to use uart1~5. test is pass,(uart1, uart2, and uart3),uart2 have been mapped to uart5,; uart3 is a debug. Therefore, I followed your instructions and checked pinmux. CVM-uart5, the internal SOC is uart2,
the pin of uart4 is used for other purposes. I have made the modifications and now I want to modify the code as little as possible. Which is the pinmux file of su-005 in the bootloader directory? I guess it is this. Please confirm as follows:
Linux_for_Tegra/bootloader/tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi
or
Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi
Please confirm which one

2.The dtb file under sku5 contains sku0 internally, so I directly sent 0000 dts
Linux_for_Tegra/sources/hardware/nvidia/platform/t23x/concord/kernel-dts/
tegra234-p3701-0005-p3737-0000.zip (704 Bytes)
3. ttyTHS4 ( UART2(uarte@3140000 )) Nodes that do not appear in/dev/ ;What problem is causing this

I used Pinmux’s Excel to modify the bootloader

and, then cat/sys/kernel/debug/pinctrl,
syspin.txt (600 Bytes)
but in /dev/, Only ttyTHS0 ttyTHS1 ttyTHS3 can be seen ,dmesg so this

The problem has been resolved, tks,it can be closed

This.

It sounds a good news that you’ve resolved the issue

Please just check dmesg for the UART in use.
If the desired UART is not enabled, please enable them from device tree.
You could modify the device tree from source or just decompile them from /boot/dtb/kernel_XXX.dtb on your board.

i means the topic is closed , it has been resolved

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