====== 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
++++