]> git.karo-electronics.de Git - karo-tx-uboot.git/blob - drivers/gpio/Kconfig
f7307442149af7cac3d864f631c6655039565549
[karo-tx-uboot.git] / drivers / gpio / Kconfig
1 #
2 # GPIO infrastructure and drivers
3 #
4
5 menu "GPIO Support"
6
7 config DM_GPIO
8         bool "Enable Driver Model for GPIO drivers"
9         depends on DM
10         help
11           Enable driver model for GPIO access. The standard GPIO
12           interface (gpio_get_value(), etc.) is then implemented by
13           the GPIO uclass. Drivers provide methods to query the
14           particular GPIOs that they provide. The uclass interface
15           is defined in include/asm-generic/gpio.h.
16
17 config ALTERA_PIO
18         bool "Altera PIO driver"
19         depends on DM_GPIO
20         help
21           Select this to enable PIO for Altera devices. Please find
22           details on the "Embedded Peripherals IP User Guide" of Altera.
23
24 config DWAPB_GPIO
25         bool "DWAPB GPIO driver"
26         depends on DM && DM_GPIO
27         default n
28         help
29           Support for the Designware APB GPIO driver.
30
31 config ATMEL_PIO4
32         bool "ATMEL PIO4 driver"
33         depends on DM
34         default n
35         help
36           Say yes here to support the Atmel PIO4 driver.
37           The PIO4 is new version of Atmel PIO controller, which manages
38           up to 128 fully programmable input/output lines. Each I/O line
39           may be dedicated as a general purpose I/O or be assigned to
40           a function of an embedded peripheral.
41
42 config INTEL_BROADWELL_GPIO
43         bool "Intel Broadwell GPIO driver"
44         depends on DM
45         help
46           This driver supports Broadwell U devices which have an expanded
47           GPIO feature set. The difference is large enough to merit a separate
48           driver from the common Intel ICH6 driver. It supports a total of
49           95 GPIOs which can be configured from the device tree.
50
51 config LPC32XX_GPIO
52         bool "LPC32XX GPIO driver"
53         depends on DM
54         default n
55         help
56           Support for the LPC32XX GPIO driver.
57
58 config MSM_GPIO
59         bool "Qualcomm GPIO driver"
60         depends on DM_GPIO
61         default n
62         help
63           Support GPIO controllers on Qualcomm Snapdragon family of SoCs.
64           This controller have single bank (default name "soc"), every
65           gpio has it's own set of registers.
66           Only simple GPIO operations are supported (get/set, change of
67           direction and checking pin function).
68           Supported devices:
69           - APQ8016
70           - MSM8916
71
72 config PM8916_GPIO
73         bool "Qualcomm PM8916 PMIC GPIO/keypad driver"
74         depends on DM_GPIO && PMIC_PM8916
75         help
76           Support for GPIO pins and power/reset buttons found on
77           Qualcomm PM8916 PMIC.
78           Default name for GPIO bank is "pm8916".
79           Power and reset buttons are placed in "pm8916_key" bank and
80           have gpio numbers 0 and 1 respectively.
81
82 config ROCKCHIP_GPIO
83         bool "Rockchip GPIO driver"
84         depends on DM_GPIO
85         help
86           Support GPIO access on Rockchip SoCs. The GPIOs are arranged into
87           a number of banks (different for each SoC type) each with 32 GPIOs.
88           The GPIOs for a device are defined in the device tree with one node
89           for each bank.
90
91 config SANDBOX_GPIO
92         bool "Enable sandbox GPIO driver"
93         depends on SANDBOX && DM && DM_GPIO
94         help
95           This driver supports some simulated GPIOs which can be adjusted
96           using 'back door' functions like sandbox_gpio_set_value(). Then the
97           GPIOs can be inspected through the normal get_get_value()
98           interface. The purpose of this is to allow GPIOs to be used as
99           normal in sandbox, perhaps with test code actually driving the
100           behaviour of those GPIOs.
101
102 config SANDBOX_GPIO_COUNT
103         int "Number of sandbox GPIOs"
104         depends on SANDBOX_GPIO
105         default 128
106         help
107           The sandbox driver can support any number of GPIOs. Generally these
108           are specified using the device tree. But you can also have a number
109           of 'anonymous' GPIOs that do not belong to any device or bank.
110           Select a suitable value depending on your needs.
111
112 config TEGRA_GPIO
113         bool "Tegra20..210 GPIO driver"
114         depends on DM_GPIO
115         help
116           Support for the GPIO controller contained in NVIDIA Tegra20 through
117           Tegra210.
118
119 config GPIO_UNIPHIER
120         bool "UniPhier GPIO"
121         depends on ARCH_UNIPHIER
122         help
123           Say yes here to support UniPhier GPIOs.
124
125 config VYBRID_GPIO
126         bool "Vybrid GPIO driver"
127         depends on DM
128         default n
129         help
130           Say yes here to support Vybrid vf610 GPIOs.
131
132 config PIC32_GPIO
133         bool "Microchip PIC32 GPIO driver"
134         depends on DM_GPIO && MACH_PIC32
135         default y
136         help
137           Say yes here to support Microchip PIC32 GPIOs.
138
139 config MVEBU_GPIO
140         bool "Marvell MVEBU GPIO driver"
141         depends on DM_GPIO && ARCH_MVEBU
142         default y
143         help
144           Say yes here to support Marvell MVEBU (Armada XP/38x) GPIOs.
145
146 config ZYNQ_GPIO
147         bool "Zynq GPIO driver"
148         depends on DM_GPIO && (ARCH_ZYNQ || ARCH_ZYNQMP)
149         default y
150         help
151           Supports GPIO access on Zynq SoC.
152
153 config DM_74X164
154         bool "74x164 serial-in/parallel-out 8-bits shift register"
155         depends on DM_GPIO
156         help
157           Driver for 74x164 compatible serial-in/parallel-out 8-outputs
158           shift registers, such as 74lv165, 74hc595.
159           This driver can be used to provide access to more gpio outputs.
160
161 config DM_PCA953X
162         bool "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
163         depends on DM_GPIO
164         help
165           Say yes here to provide access to several register-oriented
166           SMBus I/O expanders, made mostly by NXP or TI.  Compatible
167           models include:
168
169           4 bits:       pca9536, pca9537
170
171           8 bits:       max7310, max7315, pca6107, pca9534, pca9538, pca9554,
172                         pca9556, pca9557, pca9574, tca6408, xra1202
173
174           16 bits:      max7312, max7313, pca9535, pca9539, pca9555, pca9575,
175                         tca6416
176
177           24 bits:      tca6424
178
179           40 bits:      pca9505, pca9698
180
181           Now, max 24 bits chips and PCA953X compatible chips are
182           supported
183 endmenu