Unable to configure GPIO pin in Jetson Orin

Hi,

I am using Jetson AGX Orin development kit. We have not modified anything in the Orin Development Kit. Currently Jetson Orin is running Jetpack 6

Package: nvidia-jetpack
Version: 6.0-b52
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-jetpack-runtime (= 6.0-b52), nvidia-jetpack-dev (= 6.0-b52)

I am trying to toggle GPIOs in J30. I am okay to use any GPIO listed below. Earlier I use /sys/class/gpio but looks like that has been removed now we should use libgpiod library (General Purpose Input Output Daemon) for GPIO operations

I tried turning ON multiple pins to output high. But none worked. For example, for GPIO35 as per Orin_Jetson_Series_Pinmux_Config_Template_2.0.xlsm pin is GPIO3_PH.00, I used,

gpioset gpiochip0 43=1

But nothing is reflecting in output.

When I searched Nvidia forum, many are saying to generate the DTSIfile from excel and add it to Linux? Since, I am using un-modifed DEV Kit it should work out of the box right?

Can you please tell me where I am going wrong?

Hi aravind.chakravarti,

Have you configured the pin as something like Output/Drive 0 in pinmux spreadsheet before use?

Most of the pins are configured as Input by default so that it is not allowed to use as an output pin.

Thank you for your repy @KevinFFF

No @KevinFFF. As you rightly said, most of the pins are configured as inputs.

So, changing pin-mux is mandatory right?! I mean, even to configure pins are outputs I need to change pin-mux using spreadsheet correct?

So, is this the right guide to refer to configure Pin-mux and generate DTB files? Or are there any other easy to refer guides available?

Regards,
Aravind

Corret. You can also write the pinmux register to configure it Output but it would be valid temporarily (before shutdown).

Please refer to Jetson AGX Orin Platform Adaptation and Bring-Up — NVIDIA Jetson Linux Developer Guide 1 documentation for JP6.0GA(R36.3.0) in your case.

Hi @aravind.chakravarti,

To modify the pinmux on JP6, you have to:

  • Dowload the default pinmux spreadsheet file from Jetson Download Center | NVIDIA Developer. In your case, search for Jetson AGX Orin Series Pinmux
  • Once you applied the desired customizations, create the dtsi files.
  • Then copy the pinmux.dtsi file to <l4t_top>/bootloader/generic/BCT/ directory and the gpio.dtsi file to <l4t_top>/bootloader/ directory.
  • After copying the files, update the PINMUX_CONFIG variable over the p3701.conf.common file that is located at <l4t_top> directory with the name of the pinmux dtsi file that was copied to <l4t_top>/bootloader/generic/BCT/ directory.
  • Flash your device with the flash.sh script that is located at the <l4t_top> directory.

Please, after performing these steps, save the flashing output log on a file and verify that the pinmux file mentioned on the log matches your custom pinmux dtsi file.

Hope these steps help you!


Ricardo González Víquez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com