I am currently working an NVIDIA Jetson AGX Orin Devkit. The issue I am experiencing is that the devkit gpio pins (40 pin header) do not properly pull down.
Here is my setup:
- I have a SPST switch connected to header pin 7 (SOC_GPIO33 / GPIOPQ.06 / gpio-454).
- The switch is wired such that when the switch is “on”, the pin will go high (3.3V supplied to the pin). When the switch is “off”, it is wired with an external pull-down resistor.
- I am using Jetpack 5.1, since I read that previous versions had GPIO issues.
- I have written the value 0x054 to the pinmux in order to configure it as an input with internal pull down (busybox devmem 0x02430070 w 0x054).
- I have flashed the orin with pinmux.dtsi from pinmux spreadsheet.
What is happening:
When I flip the switch on, the pin reads high (1). I have verified this using the Jetson.GPIO library (GitHub - NVIDIA/jetson-gpio: A Python library that enables the use of Jetson's GPIOs), and looking at the “value” in /sys/class/gpio/PQ.06.
When I flip the switch off, the pin floats. The pin will read either 0 or 1 (result from /sys/class/gpio/PQ.06 and Jetson.GPIO library). This is my problem. Why is the pin floating?
So I am wondering why the pin is floating even though I am both externally pulling the switch low and internally pulling the switch low. Any advice on pinmux settings or switch setup would be hugely appreciated.