Difference between revisions of "Fitlet GPIO SDK for Linux"
From fit-PC wiki
Line 1: | Line 1: | ||
− | == | + | __TOC__ |
− | * | + | == 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]] | ||
− |
Revision as of 13:12, 17 December 2015
Contents
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:
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
- The GPIO framework and GPIO sysfs interface are documented in https://www.kernel.org/doc/Documentation/gpio/gpio.txt