Hi
Can you help me with the internal pullup/down configuration for the 40-pin header on the carrier board? I am currently having the following issue in several jetson devices:
-
40-pin expansion header has nothing attached
-
from python, using
Jetson.GPIO, I setup all pins as inputs:import Jetson.GPIO as GPIO GPIO.setmode(GPIO.BOARD) inputs = [7,11,12,13,15,16,18,19,21,22,23,24,26,29,31,32,33,35,36,37,38,40,] GPIO.setup(inputs, GPIO.IN) for pin in inputs: GPIO.add_event_detect( channel=pin, edge=GPIO.BOTH, callback=lambda pin: print(f"pin {pin} moved to {GPIO.input(pin)}", flush=True) ) -
cating the device tree in/sys/class/gpio/gpioXXXshows some values to0and others to1:gpio248: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio249: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio250: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} gpio251: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} gpio256: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio257: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio344: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio351: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio352: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio353: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} gpio354: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio393: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio417: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio422: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio424: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio428: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio429: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio491: {"direction": "in", "value": "0", "edge": "both", "active_low": "0"} gpio492: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} gpio493: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} gpio494: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} gpio495: {"direction": "in", "value": "1", "edge": "both", "active_low": "0"} -
For example, both
gpio353(pin 38, I2S_SDIN) andgpio352(pin 40, I2S_SDOUT) show as 1[MOhm] PD to GND in table Table 19. Jetson X avierExpansion Header Signal Details. However, one of them showsvalue=1while the other showsvalue=0
Any help or guidance is appreciated
Extra info:
When defining all specified pins as output with value (1 or 0), some pins change their value when setting them as input afterwards. This is not consistent with PU/PD info in mentioned table. In particular:
-
Set all to
GPIO.HIGH, then all as inputs →gpio428=pin 11,gpio429=pin 36,gpio257=pin 32,gpio256=pin 16,gpio249=pin 37, andgpio248=pin 33go back to0. The rest remains in1 -
Set all to
GPIO.LOW, then all as inputs →gpio250=pin 31,gpio251=pin 29,gpio353=pin 38go back to1. The rest remains in0