Difference between revisions of "Fitlet GPIO SDK for Linux"

From fit-PC wiki
Jump to: navigation, search
(GPIO)   (change visibility)
(GPIO)   (change visibility)
Line 12: Line 12:
 
* The responsible kernel module is gpio_fch
 
* The responsible kernel module is gpio_fch
 
* The kernel module uses the following pin naming convention:
 
* The kernel module uses the following pin naming convention:
 +
  
 
{| cellpadding="3" border="1" style="border: 1px solid rgb(85, 85, 85); border-collapse: collapse;"
 
{| cellpadding="3" border="1" style="border: 1px solid rgb(85, 85, 85); border-collapse: collapse;"

Revision as of 09:31, 27 October 2015

Installation

  • Open the terminal and install the new linux-*.deb packages:
$ sudo dpkg -i /path/to/linux-*.deb
  • Reboot the system:
$ sudo reboot -f

GPIO

  • 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
GPIO Connector Source Function/GPIO# Linux Kernel GPIO# Power domain Direction/Drive Pull (PU/PD)
Pin Number Color Code
1 Brown SoC GPIO_1 GPIO89 3.3V In PU
2 Red SoC GPIO_2 GPIO132 3.3V In PU
3 Orange SoC GPIO_3 GPIO65 3.3V Out/High PU
4 Yellow SoC GPIO_4 GPIO66 3.3V Out/High PU
5 Green SoC GPIO_5 GPIO29 1.5V In PD
6 Blue SoC I2C Clock 3.3V
7 Purple SoC I2C Data 3.3V
8 Grey SoC GPIO_6 GPIO73 3.3V Out/Low PD
9 White SoC GPIO_7 GPIO27 1.5V In PD
10 Black SoC GPIO_8 GPIO28 1.5V In PD
11 Brown SoC GPIO_9 GPIO12 3.3V In PU
12 Red SuperIO UART Rx 3.3V
13 Orange SuperIO UART Tx 3.3V
14 Yellow GND


  • The GPIO sysfs interface allows users to manipulate any GPIO from userspace dynamically.
  • A basic example of GPIO 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