Jetson AGX Xavier Test 40 pin header on Jetpack4.5


I’ve been trying to use my AGX to test 40 pin header, I got some trouble,when I set pin11 to be gpio, and let direction to be input, it could not change the value, but when the direction was output, it worked normally.

Does anyone can help me to fix it ??

hello edward1_lin,

could you please check developer Configuring Jetson Expansion Header by running Jetson-IO.

Hi Jerry,

After I checked the link, I did not found any information for the gpio setting, could you give me some advice??
This is my jetson-io setting, pin11 was unused, did I miss anything ??

hello edward1_lin,

pin-11, it’s GPIO3_PR.04, which by default configure as input pull-down.
could you please check the pinmux cfg file, you may search uart1_rts_pr4 and share the settings for reference.

On Device:
/sys/kernel/debug# cat tegra_pinctrl_reg | grep r4
Bank: 0 Reg: 0x02430098 Val: 0x00000055 → uart1_rts_pr4

~/nvidia/nvidia_sdk/JetPack_4.5_Linux_JETSON_AGX_XAVIER/Linux_for_Tegra/bootloader$ cat tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg | grep -i r4
pinmux.0x02212e80 = 0x00000001; # CONFIG R4
pinmux.0x02430098 = 0x00000000; # GPIO uart1_rts_pr4
pinmux.0x02430098 = 0x00000055; # uart1_rts_pr4: rsvd1, pull-down, tristate-enable, input-enable, lpdr-disable

hello edward1_lin,

you need to modify GPIO configurations for the usage,
please also refer to this page as see-also, Open Drain Output vs. Push-Pull Output - Open4Tech

Hi Jerry,

Could you provide the step to modify the GPIO configurations ??

hello edward1_lin,

here’re roughly steps.

  1. download the pinmux spreadsheets to have customization and create dtsi files.
  2. execute python scripts to convert them as cfg file.
  3. replace the cfg file and full-flash the target.

please also check developer guide, MB1 Configuration Changes for reference,

Hi Jerry,

What should I modify to let the gpio can be output pin and input pin ? I can modify pin11’s direction to input, but It did not change the value by input signal.

hello edward1_lin,

you should start with pinmux spreadsheets and update the [Customer Usage],

Hi Jerry

Do you have any example for reference??

hello edward1_lin,

please describe your use-case and which pin you would like to program for the usage.

Hi Jerry,

Accroding to the picture, what I want to do is :

  1. pin11 to be the input pin, and it can change the value by input signal.
  2. pin11 to be the output pin, and it can control the led high/low.
  3. pin11 to test the UART with RTS.

How could I modify the pinmux spreadsheets to create the dtsi files?

hello edward1_lin,

they’re three different pin configurations, you should have three different cfg files to apply the settings.

please download the pinmux spreadsheets, and you’ll need to open this *.xlsm file with WindowOS, you need to update customer usage, select pin directions…etc to complete the configuration. after that, please click the [Generate DT File] on the top-right to create *.dtsi files.
you should copy those *.dtsi file to your ubuntu desktop (flashing machine) and execute python scripts to convert them as cfg file.
finally, replace the cfg file and full-flash the target.

Hi Jerry,

There seems to be a misunderstanding between us, I would like to know, after I burn the image file of jetpack4.5 on AGX Xavier, I am going to test 40-pin. When the device boot, then I set pin 11 to be intput, and I connect 3.3V to pin 11, read the value. In theory, it should be 1, but it did not change. But if pin11 set to output, it can be switched normally and controlled.

This is my step:

  1. sudo su
  2. cd /sys/class/gpio
  3. echo 428 > export
  4. cd gpio428
  5. cat direction
  6. connect pin11 to 3.3V
  7. cat value
  8. connect pin11 to GND
  9. cat value

What should I do that could let pin11 change its value when it is input pin ??

Hi, the level shift on devkit carrier board has set the direction of UART1_RTS as output only. You can find the level shift (U76) in P2822 schematic for detail.

Hi Trumany,

So I can’t set pin11 to input pin, unless the hardware has been modifued??

Could I change pin11 to UART RTS?

Pin 11 can not be set to input as it has been limited to output only by level shift on devkit board.
It is OK to set as RTS.

Hi Trumany,

OK, I got it, Could you help me to fix the UART RTS problem, I had been post the topic 。Jetson Xavier AGX Test 40 pin hesder for UART RTS/CTS

That is sw setting topic, please follow the instruction of Jerry in that topic.