]>
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 | ||
f3dc3630 | 30 | config GPIO_PCA953X |
7059d4b0 | 31 | tristate "PCA953x, PCA955x, and MAX7310 I/O ports" |
9e60fdcf | 32 | depends on I2C |
33 | help | |
7059d4b0 DB |
34 | Say yes here to provide access to several register-oriented |
35 | SMBus I/O expanders, made mostly by NXP or TI. Compatible | |
36 | models include: | |
37 | ||
38 | 4 bits: pca9536, pca9537 | |
39 | ||
40 | 8 bits: max7310, pca9534, pca9538, pca9554, pca9557 | |
41 | ||
42 | 16 bits: pca9535, pca9539, pca9555 | |
9e60fdcf | 43 | |
44 | This driver can also be built as a module. If so, the module | |
f3dc3630 | 45 | will be called pca953x. |
9e60fdcf | 46 | |
15fae37d DB |
47 | config GPIO_PCF857X |
48 | tristate "PCF857x, PCA857x, and PCA967x I2C GPIO expanders" | |
49 | depends on I2C | |
50 | help | |
51 | Say yes here to provide access to most "quasi-bidirectional" I2C | |
52 | GPIO expanders used for additional digital outputs or inputs. | |
53 | Most of these parts are from NXP, though TI is a second source for | |
54 | some of them. Compatible models include: | |
55 | ||
56 | 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, | |
57 | pca9670, pca9672, pca9674, pca9674a | |
58 | ||
59 | 16 bits: pcf8575, pcf8575c, pca8575, | |
60 | pca9671, pca9673, pca9675 | |
61 | ||
62 | Your board setup code will need to declare the expanders in | |
63 | use, and assign numbers to the GPIOs they expose. Those GPIOs | |
64 | can then be used from drivers and other kernel code, just like | |
65 | other GPIOs, but only accessible from task contexts. | |
66 | ||
67 | This driver provides an in-kernel interface to those GPIOs using | |
68 | platform-neutral GPIO calls. | |
69 | ||
a9c5fff5 DB |
70 | comment "SPI GPIO expanders:" |
71 | ||
e58b9e27 DB |
72 | config GPIO_MCP23S08 |
73 | tristate "Microchip MCP23S08 I/O expander" | |
74 | depends on SPI_MASTER | |
75 | help | |
76 | SPI driver for Microchip MCP23S08 I/O expander. This provides | |
77 | a GPIO interface supporting inputs and outputs. | |
78 | ||
a9c5fff5 | 79 | endmenu |