ttyTHS3 missing - serial@3130000 - Jetpack 36.4

Hello everyone,

I noticed that serial@3130000 has disappeared in JetPack 36.3. Is there a specific reason for this change?

I tried adding it manually based on other UART interfaces, but I’m encountering an issue with a weird baud rate, suggesting that the clock configuration might not be set up correctly.

Is there a proper way to add uartD to JetPack 36.4?

I tried to add this manually:

		uartd: serial@3130000 {
			compatible = "nvidia,tegra234-uart", "nvidia,tegra20-uart";
			reg = <0x0 0x03130000 0x0 0x10000>;
			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&bpmp TEGRA234_CLK_UARTD>;
			resets = <&bpmp TEGRA234_RESET_UARTD>;
			dmas = <&gpcdma 18>, <&gpcdma 18>;
			dma-names = "rx", "tx";
			status = "okay";
		};

Hi,
On Jetson platforms, we support using peripherals like CAN, SPI, I2C, UART… etc. for the user.
For CAN usage:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/ControllerAreaNetworkCan.html
For the connection of peripheral on the devkit, please refer to expansion-headers guide and carrier board specification:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/ConfiguringTheJetsonExpansionHeaders.html

For pin configuration, please refer to pinmux spreadsheet:
https://developer.nvidia.com/embedded/secure/jetson/agx_orin/jetson_agx_orin_pinmux_config_template.xlsm

By default, the configuration is used for the devkit. If you are using the custom carrier board, please configure it according to your custom board design.

There are also several examples which have been verified from us, please check
https://elinux.org/Jetson/L4T/peripheral/
Please share the full dmesg and device tree for us to check your status in detail.

Thanks!

Hi lukasz.przybylik.td,

Some UART nodes have been removed in JP6 by deault (compared with JP5.).
Please refer to the following thread to add them back if you need them.
How to enable UART? - #7 by KevinFFF

1 Like

The thread is a bit misleading because I previously made a similar change, which resulted in the UART interface appearing under ttyS3 rather than ttyTHS3 without possibility to change the baudrate. It was only after a more thorough analysis of the issue that I concluded the compatible property should be changed to:

compatible = "nvidia,tegra194-hsuart";

Additionally, the following properties need to be added:

reset-names = "serial";
clock-names = "serial";

After that /dev/ttyTHS3 was available.

2 Likes

I also found that the vdd_3v3_pcie and vdd_12v_pcie nodes should be moved from tegra234-p3701-0000.dtsi to tegra234-p3737-0000.dtsi. Generally speaking, they should be relocated from the module device tree file to the board device tree include file(at least the gpio property part). This makes more sense because the vdd_3v3_pcie node uses a GPIO that is also utilized by the UART, and the vdd 3v3 regulator is also located on p3737 development board(I think, I am not sure about that).

It is also mentioned in the thread below.

1 Like

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