Can't switch GPIO01/PQ.05/105/453/pin-29 to input using /sys/class/gpio


I’m trying to switch GPIO01 to work as an input. From what I can determine, this is pin 29 on the 40-pin header, it’s also called PQ.05, it’s pin number 105 for the ioctl GPIO_GET_LINEHANDLE_IOCTL and Linux seed it as GPIO 453.

To switch it to be an input, I do the following as superuser:

cd /sys/class/gpio
echo 453 > export
echo in > PQ.05/direction
cat PQ.05/direction # to verify that the direction has been changed
echo 453 > unexport

Electrically, I have a 10K ohm resistor pulling the GPIO line high (3.3v). Initially, when I read the signal value, it reads as 1. When I connect the GPIO to ground, then software reads it as 0.

The weird part is when I disconnect the pin from ground. Software continues to read 0. So I decided to put a volt meter across the terminals. Vcc to ground is 3.3v as it should be. But Vcc to GPIO01 gives me 2.3v, and GPIO01 to ground gives me 1v.

My best guess is that for some reason, the Jetson is driving the signal low, and due to the electrical characteristics, I’m getting a voltage divider.

Can anyone shed some light on this and help me understand what step I’m missing to switch this line to be an input and ensure that the Jetson doesn’t try to drive it?


Are you using the devkit or custom board for Orin Nano?

Have you changed the pinmux for this pin (PQ.05)?
Could you help to share the result of the following command on your board?

sudo busybox devmem 0x02430068

We’re using the Nvidia devkit board.

That busybox command returns 0xffffffff. Please my other post on this:

Please check 0x02430068 for rather than 0x02340068 for SOC_GPIO32(PQ.05)

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.