Jetson AGX Orin Dev Kit (JetPack 5.1.2) – which 40-pin header pins need a pinmux change to work as GPIO outputs?

Hello,

We use a Jetson AGX Orin 64GB Developer Kit (JetPack 5.1.2, L4T R35.4.1, Jetson.GPIO 2.1.1, BOARD numbering) to control a traffic light through an external relay stage. We currently use header pins 11, 18, 31, 32, 33 and 40 as outputs and they work. We need about 13 outputs in total.

From the Carrier Board Specification (SP-10900-001 v1.2, Table 3-4) we understand that pin 11 is an output-only buffered pin (±24 mA), pins 16, 29, 31, 32, 33 and 37 are directly connected to the SoC (±1 mA), pin 36 is input-only, and the remaining Jetson.GPIO pins go through TXB0108 level translators (±20 µA). We have also read threads 308778 and 349523 about pinmux changes.

Our questions:

  1. With the default JetPack 5.1.2 pinmux on the Developer Kit, which of these free pins can already be driven as outputs with Jetson.GPIO, and which need a pinmux change: 7, 12, 13, 15, 16, 19, 21, 22, 23, 24, 26, 29, 35, 37, 38?
  2. For L4T R35.4.1, is the correct procedure the pinmux spreadsheet → pinmux/gpio dtsi → reflash, or can jetson-io.py configure these pins as outputs? Could you point us to the documentation for this release?
  3. For a permanent installation, is it acceptable to drive a high-impedance input (logic buffer or MOSFET gate) from the TXB0108 pins, or do you recommend an I2C GPIO expander on pins 3/5 (I2C8) for reliability?

A document with our system information, pin mapping and initial measurements is attached.

Thank you very much.
Julia – CIRCE

These might provide some information.

https://github.com/NVIDIA/jetson-gpio

https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/HR/ConfiguringTheJetsonExpansionHeaders.html

sudo apt update
sudo apt install gpiod libgpiod-dev python3-libgpiod

gpiod provides these binaries:

gpiodetect — List GPIO controllers.
gpioinfo — List GPIO lines, names, directions, and usage.
gpiofind — Find a GPIO line by name.
gpioget — Read GPIO values.
gpioset — Set GPIO output values.
gpiomon — Monitor GPIO edge events.

hello jcarrillo ,

firstly, it’s suggest to test with physical header pins 16, 29, and 37 to verify your basic functionality.
for instance,
– pin-16, PBB.01
– pin-29, PAA.01
– pin-37, PAA.03

>> Q1
no, those pins were not used by any drivers,
you may have a GPIO request switches the pad from SFIO to GPIO.
and setting the direction to output disables the input buffer and tristate.

>> Q2
you should follow developer guide, Pinmux Changes for creating board specific changes.

>> Q3
please follow above to have pin customization, and test your real use-case.