Documentation for Jetson TK1 Expansion port UART and I2C pin out?


I’m trying to port my companies UART and I2C hardware over to the Jetson TK1, but I have yet to find documentation for the pins in the expansion port specifically pertaining to the UART and I2C pins. Does any one know were the documentation is or who I should contact to get that documentation?

Never mind found it. but for any one looking for the same documentation it is here

pages 8 to 10


as you probably had the same problem as me - how do you access those UARTs on the expansion port? I can only see /dev/ttyS0, /dev/ttyS[1-4] only throw Input/Output errors.

And: What is the voltage level of the UART at the expansion port. 1.8V?


UARTs are accessed by /dev/ttyTHS[#] on the expansion ports, 1.8V.

Here’s an article about interfacing a UART with a GPS on the Jetson:

Great, thank you!

But there is no /dev/ttyTHS*. Maybe it’s a missing kernel driver. Do you know the name of the corresponding kernel driver?

Great, thank you!

But there is no /dev/ttyTHS*. Maybe it’s a missing kernel driver. Do you know the name of the corresponding kernel driver?

What version of L4T and kernel are you using? Which pins are you using? What device are you attaching to the UART lines?
On L4T 21.4 with a stock kernel:

$ ls/dev/tty*

should show /dev/ttyTHS0 /dev/ttyTHS1 and /dev/ttyTHS2 along with a lot of other tty friends.


well I want to attach an AVR microcontroller (using the right level shifters of course)

I’m using the latest git kernel sources with a custom .config.

cat .config | grep UART


but there is still no /dev/ttyTHS*.


Please check CONFIG_SERIAL_TEGRA in kernel configuration, which enables TEGRA serial port. With correct configuration, /dev/ttyTHS0-2 will show.
Besides, if anything in device tree changed, please also check the tegra20-hsuart configuration in DTS.
The driver lies @ kernel/drivers/tty/serial/serial-tegra.c. You can check the logic, and kernel boot log to figure out where’s the error.

By NV released BSP, /dev/ttyTHS0-2 exist.

Let me know if there’s any problem.


Hi Chenjian,

sorry for the long delay. But I’m still facing the same problem, /dev/ttyTHS0-2 won’t appear.
I’m using a custom built kernel, based on the latest linux kernel git sources (4.4-rc8). I’m not able to use the stock nvidia kernel image, as i’m doing some crazy custom stuff :-)

According to my .config, I do have enabled the SERIAL_TEGRA. So actually drivers should be there. So I think this is probably a problem with the device tree, as you already said.

I’m using the .dts file which is compiled during the compilation of the kernel[1]. But as far as I can see, there’s no hsuart inside those files. Maybe the upstream kernel is missing some parts?

Where could i get a ‘full featured’ device tree?

Cheers and thanks


I spent some time reversing Nvidias BSP, patched my kernel dts and finally I got it running…

Chenjian, thanks for your hint, this was a good starting point.