diff options
Diffstat (limited to 'drivers/gpio/Kconfig')
-rw-r--r-- | drivers/gpio/Kconfig | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig new file mode 100644 index 000000000000..74fac0f5c348 --- /dev/null +++ b/drivers/gpio/Kconfig | |||
@@ -0,0 +1,72 @@ | |||
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 | |||
30 | config GPIO_PCA9539 | ||
31 | tristate "PCA9539 16-bit I/O port" | ||
32 | depends on I2C | ||
33 | help | ||
34 | Say yes here to support the PCA9539 16-bit I/O port. These | ||
35 | parts are made by NXP and TI. | ||
36 | |||
37 | This driver can also be built as a module. If so, the module | ||
38 | will be called pca9539. | ||
39 | |||
40 | config GPIO_PCF857X | ||
41 | tristate "PCF857x, PCA857x, and PCA967x I2C GPIO expanders" | ||
42 | depends on I2C | ||
43 | help | ||
44 | Say yes here to provide access to most "quasi-bidirectional" I2C | ||
45 | GPIO expanders used for additional digital outputs or inputs. | ||
46 | Most of these parts are from NXP, though TI is a second source for | ||
47 | some of them. Compatible models include: | ||
48 | |||
49 | 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, | ||
50 | pca9670, pca9672, pca9674, pca9674a | ||
51 | |||
52 | 16 bits: pcf8575, pcf8575c, pca8575, | ||
53 | pca9671, pca9673, pca9675 | ||
54 | |||
55 | Your board setup code will need to declare the expanders in | ||
56 | use, and assign numbers to the GPIOs they expose. Those GPIOs | ||
57 | can then be used from drivers and other kernel code, just like | ||
58 | other GPIOs, but only accessible from task contexts. | ||
59 | |||
60 | This driver provides an in-kernel interface to those GPIOs using | ||
61 | platform-neutral GPIO calls. | ||
62 | |||
63 | comment "SPI GPIO expanders:" | ||
64 | |||
65 | config GPIO_MCP23S08 | ||
66 | tristate "Microchip MCP23S08 I/O expander" | ||
67 | depends on SPI_MASTER | ||
68 | help | ||
69 | SPI driver for Microchip MCP23S08 I/O expander. This provides | ||
70 | a GPIO interface supporting inputs and outputs. | ||
71 | |||
72 | endmenu | ||