Configuration for UART1_TXD (40 pin header pin8) to GPIO pin

Equipment: We use Xavier NX SOM module on the Nano devkit carrier board.

For our AI application, we need to modify UART1_TXD (40 pin header pin 8) to GPIO
We use Jetson_Xavier_NX_Pinmux_Configuration_Template_v1.06 file, and change

UART1_TXD’s customer Usage from UA3_TXD to GPIO(R,2)
Pin Direction from output to input
Req. Initial State to Int PD
Then we create a new tegra19x-mb1-pinmux-p3668-a01.cfg and flash it to Xavier NX ( on Jetson nano dev carrier board)
It seems work if we set GPIO sysfs to output L/H, however, it failed if we set it to input.
Even though we use this GPIO pin to GND or 3.3V, the value of GPIO stick to 0

Could you tell us how to do the setting to make the GPIO input function work on UART1_TXD (40 pin header pin8)?

hello alexhsueh,

could you please refer to Configuring the 40-Pin Expansion Header, using Jetson-IO tool to have customization.

Hi Jerry

Base on [Configuring the 40-Pin Expansion Header] you provided , we create the new overlay file (dtbo), and we can successfully change pin8/pin10 from Uarta toGPIO
However, when we in the GPIO sysfs UI to control pin8, the input function still can not receive the voltage H/L (while the output works).
It seems like the same result like we written before, could you help us to know how to function the PIN8 input please

Hi alexhsueh,

Can you please read these registers values when pin is in input state?
Use busybox devmem tool to read hw registers:


Hi Shgarg

Set pin 8 as input, the out come are in below:
$ sudo busybox devmem 0x02212e40


$ sudo busybox devmem 0x02212e48


$ sudo busybox devmem 0x02212e4c


Hi alexhsueh,
I got this info that there are buffers added on this pin. These make the signals output only, even if used as GPIOs.
This information is updated in our product design guide.
Unfortunately, you cannot make this pin as input.


1 Like