Changes

Jump to: navigation, search

Application note - GPIO on fitlet2 with FC-SCG running Linux

72 bytes added, 08:34, 27 September 2018
CONFIG_I2C_CHARDEV=y
2. Make sure that the appropriate I2C bus is enabled in BIOS settings:
Chipset -> South Cluster Configuration -> LPSS Configuration
'''LPSS I2C #[1-8] ''' Support is set to '''ACPI mode or PCI modeSet LPSS I2C #[1-8] Speed ''' is set to '''Standard Mode ''' of '''Fast Mode'''
NB'''NOTE: ''' All buses must be enabled in the range 1-7, not only I2C-7
3. Determine the type of the GPIO extender chip. Possible options are:
* PCA9335* XRA1201For this purpose i2cdetect utility may be used:
  i2cdetect -y -r 7
PCA9335 chip should be found at address 0x27, whereas XRA1201 chip at 0x4e
4. Issue the following command (superuser privileges are necessary)
echo pca9535 0x27> /sys/bus/i2c/devices/i2c-7/new_device
in case pca9535 chip found
or
echo pca9535 0x4e> /sys/bus/i2c/devices/i2c-7/new_device
and check the kernel debug messages for a line like that:
5. To find the appropriate GPIO issue the command:
ls /sys/bus/i2c/drivers/pca953x/
and look the output for a line like this:
'''7-0027'''
and then issue the command:
ls /sys/class/gpio/gpiochip*/device -l
and look the output for a line like this:
/sys/class/gpio/gpiochip251/device -> ../../../'''7-0027'''
The bus number and address have to be the same in the both cases (7 and 27 in the example).
6. The found GPIO may be operated over sysfs interface this way:
issue the commands:
export n=251 # desired GPIO number echo $n >/sys/class/gpio/export echo out >/sys/class/gpio/gpio$n/direction # desired direction in/out cat /sys/class/gpio/gpio$n/value # read the input value echo 1 > /sys/class/gpio/gpio$n/value # write a value for output
1,586
edits