====== Using GPIO from sysfs ====== === Where to find GPIO's in sysfs === GPIO's are listed under **/sys/class/gpio** ===== Calculate Linux GPIO Number Freescale i.MX Processor Family ===== Linux GPIO Number = <**GPIO_bank** – 1> × 32 + <**GPIO Port number**> ++++ example | GPIO2_04 = (2 - 1) * 32 + 4 = GPIO 36 (Linux) ++++ ===== Calculate Linux GPIO Number Texas Instruments Sitara Family ===== Linux GPIO Number = <**GPIO_bank** x 32> + <**GPIO Port number**> ++++ example | GPIO2_04 = 2 x 32 + 4 = GPIO 68 (Linux) ++++ ===== Set GPIO as output ===== root@MBaXXX:~ echo > /sys/class/gpio/export // export GPIO pin root@MBaXXX:~ echo out > /sys/class/gpio/gpio/direction // set GPIO direction root@MBaXXX:~ echo 1 > /sys/class/gpio/gpio/value // toggle GPIO to high root@MBaXXX:~ echo 0 > /sys/class/gpio/gpio/value // toggle GPIO to low ++++ example | root@MBaXXX:~ echo 34 > /sys/class/gpio/export root@MBaXXX:~ echo out > /sys/class/gpio/gpio34/direction root@MBaXXX:~ echo 1 > /sys/class/gpio/gpio34/value root@MBaXXX:~ echo 0 > /sys/class/gpio/gpio34/value ++++ ===== Set GPIO as Input ===== root@MBaXXX:~ echo > /sys/class/gpio/export // export GPIO pin root@MBaXXX:~ echo in > /sys/class/gpio/gpio/direction // set GPIO direction root@MBaXXX:~ cat /sys/class/gpio/gpio/value // read GPIO value ++++ example | root@MBaXXX:~ echo 34 > /sys/class/gpio/export root@MBaXXX:~ echo in > /sys/class/gpio/gpio34/direction root@MBaXXX:~ cat /sys/class/gpio/gpio34/value ++++