UART0 not working at all. Possibly already being used by m.2 key socket?

I’m trying to read and write to UART0 on the jetson nano, but I see that it is sort of assigned to the m.2 key in the pinmux spreadsheet. Physically I have the TX and RX pin routed through the same type of VLT as in the design guide and other GPIOs and PWMs translate the voltages just fine. I can use UART0 through this same VLT without issues. It then goes to a pin female pin header where I can short TX and RX to do a loop back test. When I open /dev/ttyTHS2 in minicom and I enter some characters nothing happens. When I look at it on the oscilloscope I only see a steady 3.3V and nothing gets transmitted.

I’ve seen references to UART2 being tied to the debug console so that makes it unavailable in userspace. I’m wondering if I’m experiencing the same issue with UART0 as it is tied to the M.2 key in the tegra210-porg-p3448-common.dtsi file in the source files.

How might I make UART0 available to userspace by freeing it from m.2 key? or might there be another issue?

Hi luc4,

Are you using the devkit or custom board for Jetson Nano?
What’s your Jetpack version in use?

It seems you want to use UART0 from M.2 Key E port.
Have you configured it from the pinmux spreadsheet before use?

Please also share the full dmesg and device tree for further check.

Custom board

Jetpack 4.6.3 and Jetson Linux R32.7.3

I didn’t change anything for UART0 in the pinmux spreadsheet because it looked to be configured correctly. Although it does mention it’s for the m.2 key, it seemed more like just a note rather than an option I can change.

syslog.txt (443.3 KB)
kernel_tegra210-p3448-0000-p3449-0000-b00.txt (323.7 KB)

Okay, it seems configured for uartc by default.

Sep  6 03:18:06 tegra-ubuntu kernel: [    1.089200] 70006200.serial: ttyTHS2 at MMIO 0x70006200 (irq = 65, base_baud = 0) is a TEGRA_UART

It has been loaded from serial console log.

Could you short TX/RX and run the following command to verify loopback test?

$ sudo su
# stty -F /dev/ttyTHS2 115200 raw -echo
# cat /dev/ttyTHS2 &
# echo "test" > /dev/ttyTHS2

Here’s the loopback test:

I thought it wasn’t working because I didn’t see anything show up on minicom when I was doing the loop back, nothing gets transmitted. Also nothing gets transmitted with a USB to UART adaptor running over Putty. So that’s why I thought it wasn’t working. What I mean by nothing gets transmitted is that I don’t see anything on the oscilloscope if I use a terminal program like minicom doing loopback, but I do see something when using your commands.

I’m not clear about how you use oscilloscope to capture signal.

But from the result you shared, it seems loopback test working on your board.
Please disconnect the TX/RX and run those commands again, I think the last line test would not show up.

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