Jetson Nano UART Name on GPIO pins

In Raspberry Pi 3, I saw the common UART name on GPIO pins is /dev/ttyAMA0.
However, when I list out all the dev list using command “ls /dev/tty*” in Jetson Nano, /dev/ttyAMA0 is not appeared. Is it in Jetson Nano has its another name?

The default name in Linux for a generic serial UART is “/dev/ttyS#” (# being 0 or up). The udev system can rename generic naming.

Typically, if renaming occurs, then it is either an emphasis of the driver or a special use/hardware branding. In the case of an AMA# change I don’t know if that is a reflection of the driver or the hardware. Most of the time the renaming is because of a driver (some custom serial devices might have a serial number or branding and the software which arrives with the hardware is custom…generic systems like the RPi more likely don’t do this and thus it is a driver naming it this way).

On Jetsons you will find the UARTs can mostly use either the naming convention “ttyS#” or “ttyTHS#”. The “S#” is a default driver, the “THS#” is a “tegra high speed” driver. Both do the same thing, but the “THS#” uses DMA. Both exist, but only one can be used at a given time. Boot software tends to only understand the non-DMA version, and thus serial console uses “ttyS#”; other software which runs after boot tends to use the “ttyTHS#” version.

The basic interaction with the port is the same across all of the drivers and naming conventions. Differences mainly occur in extended control of the port (IOCTL calls).

FYI, “/dev/ttyS0” is serial console already, and if you look at “ls -l /dev/ttyS* /dev/ttyTHS*” you’ll see a different owner and group for serial console versus all others. The different ownership demonstrates udev changing permissions (versus naming).

“/dev/ttyAMA0” is probably interchangeable with one of the unused “/dev/ttyTHS#” ports (I don’t know which one, but one of the exposed ports which isn’t for the purpose of serial console).