]>
Commit | Line | Data |
---|---|---|
a9c5fff5 DB |
1 | # |
2 | # GPIO infrastructure and expanders | |
3 | # | |
4 | ||
5 | config HAVE_GPIO_LIB | |
6 | bool | |
7 | help | |
8 | Platforms select gpiolib if they use this infrastructure | |
9 | for all their GPIOs, usually starting with ones integrated | |
10 | into SOC processors. | |
11 | ||
12 | menu "GPIO Support" | |
13 | depends on HAVE_GPIO_LIB | |
14 | ||
15 | config DEBUG_GPIO | |
16 | bool "Debug GPIO calls" | |
17 | depends on DEBUG_KERNEL | |
18 | help | |
19 | Say Y here to add some extra checks and diagnostics to GPIO calls. | |
20 | The checks help ensure that GPIOs have been properly initialized | |
21 | before they are used and that sleeping calls aren not made from | |
22 | nonsleeping contexts. They can make bitbanged serial protocols | |
23 | slower. The diagnostics help catch the type of setup errors | |
24 | that are most common when setting up new platforms or boards. | |
25 | ||
26 | # put expanders in the right section, in alphabetical order | |
27 | ||
28 | comment "I2C GPIO expanders:" | |
29 | ||
15fae37d DB |
30 | config GPIO_PCF857X |
31 | tristate "PCF857x, PCA857x, and PCA967x I2C GPIO expanders" | |
32 | depends on I2C | |
33 | help | |
34 | Say yes here to provide access to most "quasi-bidirectional" I2C | |
35 | GPIO expanders used for additional digital outputs or inputs. | |
36 | Most of these parts are from NXP, though TI is a second source for | |
37 | some of them. Compatible models include: | |
38 | ||
39 | 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, | |
40 | pca9670, pca9672, pca9674, pca9674a | |
41 | ||
42 | 16 bits: pcf8575, pcf8575c, pca8575, | |
43 | pca9671, pca9673, pca9675 | |
44 | ||
45 | Your board setup code will need to declare the expanders in | |
46 | use, and assign numbers to the GPIOs they expose. Those GPIOs | |
47 | can then be used from drivers and other kernel code, just like | |
48 | other GPIOs, but only accessible from task contexts. | |
49 | ||
50 | This driver provides an in-kernel interface to those GPIOs using | |
51 | platform-neutral GPIO calls. | |
52 | ||
a9c5fff5 DB |
53 | comment "SPI GPIO expanders:" |
54 | ||
e58b9e27 DB |
55 | config GPIO_MCP23S08 |
56 | tristate "Microchip MCP23S08 I/O expander" | |
57 | depends on SPI_MASTER | |
58 | help | |
59 | SPI driver for Microchip MCP23S08 I/O expander. This provides | |
60 | a GPIO interface supporting inputs and outputs. | |
61 | ||
a9c5fff5 | 62 | endmenu |