This guide covers the Linux interface for GPIO operations using bash
Available GPIO's
The following output provides a list of all GPIO's that are available to the Jetson. This includes Tegra GPIO's as well as external driven GPIO extender.
If you want to do this Linux interface on a external connected GPIO extender, requires changes to the DeviceTree. A more detailed Instruction on how to implement such a device can be found in the Linux kernel Documentation.
Syntax: sudo cat /sys/kernel/debug/gpio
Debug gpio output
test@test-desktop:~$ sudocat/sys/kernel/debug/gpio[sudo] password for test: gpiochip1:GPIOs316-347,parent:platform/c2f0000.gpio,tegra234-gpio-aon:gpio-316 (PAA.00 )gpio-317 (PAA.01 )gpio-318 (PAA.02 )gpio-319 (PAA.03 )gpio-320 (PAA.04 )gpio-321 (PAA.05 |fixed-regulators:reg) out hi gpio-322 (PAA.06 )gpio-323 (PAA.07 )gpio-324 (PBB.00 )gpio-325 (PBB.01 )gpio-326 (PBB.02 )gpio-327 (PBB.03 )gpio-328 (PCC.00 )gpio-329 (PCC.01 )gpio-330 (PCC.02 )gpio-331 (PCC.03 |mux ) out hi gpio-332 (PCC.04 )gpio-333 (PCC.05 )gpio-334 (PCC.06 )gpio-335 (PCC.07 )gpio-336 (PDD.00 )gpio-337 (PDD.01 )gpio-338 (PDD.02 )gpio-339 (PEE.00 )gpio-340 (PEE.01 )gpio-341 (PEE.02 )gpio-342 (PEE.03 )gpio-343 (PEE.04 |power-key ) in hi IRQ ACTIVE LOWgpio-344 (PEE.05 )gpio-345 (PEE.06 )gpio-346 (PEE.07 )gpio-347 (PGG.00 )gpiochip0:GPIOs348-511,parent:platform/2200000.gpio,tegra234-gpio:gpio-348 (PA.00 |fixed-regulators:reg) out lo gpio-349 (PA.01 )gpio-350 (PA.02 )gpio-351 (PA.03 )# And so on...
The GPIO numbers listed in the Linux operating system do not match with the numbers of the Jetson socket pins.
Export GPIO
At first, you have to export the GPIO that you want to use in the Linux file system in order to configure and read or write data from it.
The logical GPIO level can be configure in the following ways. Keep in mind that its required to configure the GPIO as output before changing its output value.