Hello NVIDIA Developer Support Team,
I am working on an industrial audio safety system using the Jetson Orin Nano Super Developer Kit (Model: P3766, Part Number: 945-13766-0005-000) running JetPack 6.2.
I am unable to control GPIO output pins on the 40-pin expansion header. I have tried the following approaches without success:
- /sys/class/gpio - path does not exist
- gpiod library (v2.4.1) - GPIO lines export correctly but no voltage change on physical pins
- Jetson.GPIO library - throws ‘Could not determine Jetson model’ exception
- jetson-io.py / config-by-function.py - fails with lsblk error (system is booted from NVMe SSD, not eMMC)
System details:
- Model: NVIDIA Jetson Orin Nano Engineering Reference Developer Kit Super
- /proc/device-tree/compatible: nvidia,p3768-0000+p3767-0005-super
- JetPack: 6.2
- Root filesystem: NVMe SSD (/dev/nvme0n1p1)
- Tested pins: 7 (GPIO09/PZ.05/line 135), 15 (GPIO12/line 85)
- gpiochip0: tegra234-gpio (164 lines)
Questions:
- Is GPIO output supported on Jetson Orin Nano Super with JetPack 6.2?
- Does booting from NVMe instead of eMMC affect GPIO/pinmux configuration?
- What is the correct method to control GPIO output pins on this model?
Thank you for your support.
Best regards
*** Please note that this reply is generated by LLM automatically ***
To address the questions and concerns raised by the developer, I will provide a comprehensive answer.
1. Is GPIO output supported on Jetson Orin Nano Super with JetPack 62?
Yes, GPIO output is supported on the Jetson Orin Nano Super with JetPack 62. The Jetson Orin Nano series, including the Super Developer Kit, has a 40-pin GPIO expansion header that exposes audio I/O connections and GPIO pins.
2. Does booting from NVMe instead of eMMC affect GPIO pinmux configuration?
No, booting from NVMe instead of eMMC does not affect the GPIO pinmux configuration. The pinmux configuration is statically defined and programmed into the device when it is flashed. The storage device used (NVMe or eMMC) does not impact the GPIO pinmux configuration.
3. What is the correct method to control GPIO output pins on this model?
To control GPIO output pins on the Jetson Orin Nano Super, you can use the following methods:
- sysfs: You can use the sysfs interface to control GPIO pins. However, in this case, the developer reported that the sysfs path does not exist. This might be due to the fact that the sysfs interface is not enabled by default on the Jetson Orin Nano Super. You can try enabling it by adding the following line to the
/boot/extlinux.conf file: sysfs=1
- gpiod library: The developer reported that the gpiod library exports GPIO lines correctly, but there is no voltage change on the physical pins. This might be due to the fact that the GPIO pins are not configured as output pins. You can try using the
gpiod command to configure the GPIO pins as output pins.
- JetsonGPIO library: The developer reported that the JetsonGPIO library throws a “Could not determine Jetson model” exception. This might be due to the fact that the library is not compatible with the Jetson Orin Nano Super. You can try using a different library or updating the library to support the Jetson Orin Nano Super.
- jetsoniopy: The developer reported that the jetsoniopy library fails with an
lsblk error. This might be due to the fact that the library is not compatible with the NVMe SSD used as the root filesystem. You can try using a different library or updating the library to support the NVMe SSD.
Additional information
- To change the pin configuration directly, you must update a pinmux spreadsheet for your platform and then flash the new configuration to the Jetson device.
- The configuration of all the I/O pins on Jetson developer kits is statically defined and programmed into the device when it is flashed.
In summary, GPIO output is supported on the Jetson Orin Nano Super with JetPack 62, and booting from NVMe instead of eMMC does not affect the GPIO pinmux configuration. The correct method to control GPIO output pins on this model is to use the sysfs interface, gpiod library, or JetsonGPIO library, and to configure the GPIO pins as output pins.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
Hi kenan.akfidan,
Have you configured the pinmux for the desired pin before use?
Please apply the patch from 40hdr - SPI1 gpio padctl register bit[10] effect by gpiod tools in JP6 - #20 by KevinFFF if you want to control GPIO.
Or you can simply update to the latest Jetpack 6.2.2(r36.5) with the fix included.