Difference between revisions of "Fitlet GPIO SDK for Linux"

From fit-PC wiki
Jump to: navigation, search
Line 1: Line 1:
== GPIO ==
+
__TOC__
* '''NOTE!''' Not supported in mainline Linux kernel. [[Fitlet:_Linux:_Kernel | Linux Kernel for Fitlet]] should be installed to make this feature work
+
== Overview ==
 +
* Not supported in mainline Linux kernel
 +
* [[Fitlet:_Linux:_Kernel | Linux Kernel for Fitlet]] must be installed to make this feature work
 
* GPIO interface on fitlet consists of 9 GPIOs provided by AMD FCH (Fusion Controller Hub)
 
* GPIO interface on fitlet consists of 9 GPIOs provided by AMD FCH (Fusion Controller Hub)
 
* The responsible kernel module is gpio_fch
 
* The responsible kernel module is gpio_fch
Line 116: Line 118:
  
  
 +
== Usage ==
 
* The GPIO sysfs interface allows users to manipulate any GPIO from userspace dynamically.
 
* The GPIO sysfs interface allows users to manipulate any GPIO from userspace dynamically.
 
* A basic example of GPIO P-1 (Brown) usage (as root user):
 
* A basic example of GPIO P-1 (Brown) usage (as root user):
Line 128: Line 131:
 
  $ echo 89 > /sys/class/gpio/unexport
 
  $ echo 89 > /sys/class/gpio/unexport
  
 +
== Documentation ==
 
* The GPIO framework and GPIO sysfs interface are documented in https://www.kernel.org/doc/Documentation/gpio/gpio.txt
 
* The GPIO framework and GPIO sysfs interface are documented in https://www.kernel.org/doc/Documentation/gpio/gpio.txt
  
 
[[category:fitlet]]
 
[[category:fitlet]]
[[category:gpio]]
 

Revision as of 13:12, 17 December 2015

Overview

  • Not supported in mainline Linux kernel
  • Linux Kernel for Fitlet must be installed to make this feature work
  • GPIO interface on fitlet consists of 9 GPIOs provided by AMD FCH (Fusion Controller Hub)
  • The responsible kernel module is gpio_fch
  • The kernel module uses the following pin naming convention:


GPIO connector pinout
Pin Number Color Code GPIO name Power domain HW source Notes
1 Brown GPIO89 3.3V SoC
2 Red GPIO132 3.3V SoC
3 Orange GPIO65 3.3V SoC
4 Yellow GPIO66 3.3V SoC
5 Green GPIO29 1.5V Soc
6 Blue I2C Clock 3.3V SoC
7 Purple I2C Data 3.3V SoC
8 Grey GPIO73 3.3V SoC
9 White GPIO27 1.5V SoC
10 Black GPIO28 1.5V SoC
11 Brown GPIO12 3.3V SoC
12 Red UART Rx 3.3V SuperIO
13 Orange UART Tx 3.3V SuperIO
14 Yellow GND


Usage

  • The GPIO sysfs interface allows users to manipulate any GPIO from userspace dynamically.
  • A basic example of GPIO P-1 (Brown) usage (as root user):
$ modprobe fch_gpio
$ echo 89 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/gpio89/direction
$ echo 1 > /sys/class/gpio/gpio89/value
## at this point voltage measuring on P-1 (Brown) should give 3.3V
$ echo 0 > /sys/class/gpio/gpio89/value
## at this point voltage measuring on P-1 (Brown) should give 0.0V
$ echo 89 > /sys/class/gpio/unexport

Documentation