Fitlet GPIO SDK for Linux

From fit-PC wiki
Revision as of 09:20, 27 October 2015 by Maxim (Talk | contribs) (GPIO)

Jump to: navigation, search


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


  • 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 pin naming convention on fitlet with ribbon cable
Pin number Color code GPIO name HW source Notes
P-1 Brown GPIO89 FCH
P-2 Red GPIO132 FCH
P-3 Orange GPIO65 FCH
P-4 Yellow GPIO66 FCH
P-5 Green GPIO29 FCH Vout 1.5V
P-8 Grey GPIO73 FCH
P-9 White GPIO27 FCH Vout 1.5V
P-10 Black GPIO28 FCH Vout 1.5V
P-11 Brown GPIO12 FCH

GPIO connector pinout
GPIO Connector Source Function/GPIO# GPIO# in Linux 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