Kconfig 9.2 KB
Newer Older
1 2 3 4
#
# PINCTRL infrastructure and drivers
#

5 6
config PINCTRL
	bool
7 8 9

if PINCTRL

10 11 12
menu "Pin controllers"
	depends on PINCTRL

13
config PINMUX
14 15 16 17
	bool "Support pin multiplexing controllers"

config PINCONF
	bool "Support pin configuration controllers"
18

19 20 21 22
config GENERIC_PINCONF
	bool
	select PINCONF

23 24 25 26 27 28
config DEBUG_PINCTRL
	bool "Debug PINCTRL calls"
	depends on DEBUG_KERNEL
	help
	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.

29 30 31 32 33 34 35
config PINCTRL_ABX500
	bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
	depends on AB8500_CORE
	select GENERIC_PINCONF
	help
	  Select this to enable the ABx500 family IC GPIO driver

36 37 38 39
config PINCTRL_AB8500
	bool "AB8500 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

40 41 42 43
config PINCTRL_AB8540
	bool "AB8540 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

44 45 46 47
config PINCTRL_AB9540
	bool "AB9540 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

48 49 50 51
config PINCTRL_AB8505
	bool "AB8505 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

52 53
config PINCTRL_ADI2
	bool "ADI pin controller driver"
54
	depends on BLACKFIN
55 56 57 58 59 60 61
	select PINMUX
	select IRQ_DOMAIN
	help
	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
	  future processors. This option is selected automatically when specific
	  machine and arch are selected to build.

62 63 64 65 66 67 68 69 70 71 72
config PINCTRL_AS3722
	bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
	depends on MFD_AS3722 && GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	help
	  AS3722 device supports the configuration of GPIO pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the GPIO pins of AS3722 devices. It also
	  supports the GPIO functionality through gpiolib.

73 74 75 76 77 78 79 80
config PINCTRL_BF54x
	def_bool y if BF54x
	select PINCTRL_ADI2

config PINCTRL_BF60x
	def_bool y if BF60x
	select PINCTRL_ADI2

81 82 83 84 85 86
config PINCTRL_AT91
	bool "AT91 pinctrl driver"
	depends on OF
	depends on ARCH_AT91
	select PINMUX
	select PINCONF
87 88 89
	select GPIOLIB
	select OF_GPIO
	select GPIOLIB_IRQCHIP
90 91 92
	help
	  Say Y here to enable the at91 pinctrl driver

93 94 95
config PINCTRL_BAYTRAIL
	bool "Intel Baytrail GPIO pin control"
	depends on GPIOLIB && ACPI && X86
96
	select IRQ_DOMAIN
97 98 99 100 101 102 103 104
	help
	  driver for memory mapped GPIO functionality on Intel Baytrail
	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
	  Most pins are usually muxed to some other functionality by firmware,
	  so only a small amount is available for gpio use.

	  Requires ACPI device enumeration code to set up a platform device.

S
Simon Arlott 已提交
105 106 107 108 109
config PINCTRL_BCM2835
	bool
	select PINMUX
	select PINCONF

110 111
config PINCTRL_BCM281XX
	bool "Broadcom BCM281xx pinctrl driver"
112
	depends on OF
113 114 115 116 117
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select REGMAP_MMIO
	help
118 119
	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
120 121 122
	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
	  framework.  GPIO is provided by a separate GPIO driver.

123 124 125 126 127
config PINCTRL_IMX
	bool
	select PINMUX
	select PINCONF

M
Markus Pargmann 已提交
128 129 130 131 132
config PINCTRL_IMX1_CORE
	bool
	select PINMUX
	select PINCONF

133 134 135 136 137 138 139
config PINCTRL_IMX27
	bool "IMX27 pinctrl driver"
	depends on SOC_IMX27
	select PINCTRL_IMX1_CORE
	help
	  Say Y here to enable the imx27 pinctrl driver

140 141 142 143 144 145 146 147 148

config PINCTRL_IMX25
        bool "IMX25 pinctrl driver"
        depends on OF
        depends on SOC_IMX25
        select PINCTRL_IMX
        help
          Say Y here to enable the imx25 pinctrl driver

149 150 151 152 153 154 155
config PINCTRL_IMX35
	bool "IMX35 pinctrl driver"
	depends on SOC_IMX35
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx35 pinctrl driver

156 157 158 159 160 161 162
config PINCTRL_IMX50
	bool "IMX50 pinctrl driver"
	depends on SOC_IMX50
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx50 pinctrl driver

163 164 165 166 167 168 169
config PINCTRL_IMX51
	bool "IMX51 pinctrl driver"
	depends on SOC_IMX51
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx51 pinctrl driver

170 171 172 173 174 175 176
config PINCTRL_IMX53
	bool "IMX53 pinctrl driver"
	depends on SOC_IMX53
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx53 pinctrl driver

177
config PINCTRL_IMX6Q
178
	bool "IMX6Q/DL pinctrl driver"
179 180 181
	depends on SOC_IMX6Q
	select PINCTRL_IMX
	help
182
	  Say Y here to enable the imx6q/dl pinctrl driver
183

184 185 186 187 188 189
config PINCTRL_IMX6SL
	bool "IMX6SL pinctrl driver"
	depends on SOC_IMX6SL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sl pinctrl driver
190

191 192 193 194 195 196 197
config PINCTRL_IMX6SX
	bool "IMX6SX pinctrl driver"
	depends on SOC_IMX6SX
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sx pinctrl driver

J
Jingchang Lu 已提交
198 199 200 201 202 203 204
config PINCTRL_VF610
	bool "Freescale Vybrid VF610 pinctrl driver"
	depends on SOC_VF610
	select PINCTRL_IMX
	help
	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver

205 206 207 208 209 210
config PINCTRL_LANTIQ
	bool
	depends on LANTIQ
	select PINMUX
	select PINCONF

211 212 213 214 215
config PINCTRL_FALCON
	bool
	depends on SOC_FALCON
	depends on PINCTRL_LANTIQ

S
Shawn Guo 已提交
216 217
config PINCTRL_MXS
	bool
218 219
	select PINMUX
	select PINCONF
S
Shawn Guo 已提交
220 221 222 223 224 225 226 227 228

config PINCTRL_IMX23
	bool
	select PINCTRL_MXS

config PINCTRL_IMX28
	bool
	select PINCTRL_MXS

229
config PINCTRL_MSM
230
	bool
231 232 233
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
234
	select GPIOLIB_IRQCHIP
235

236 237 238 239 240 241 242 243
config PINCTRL_APQ8064
	tristate "Qualcomm APQ8064 pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm APQ8064 platform.

244 245 246 247 248 249 250 251
config PINCTRL_IPQ8064
	tristate "Qualcomm IPQ8064 pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.

252
config PINCTRL_MSM8X74
253
	tristate "Qualcomm 8x74 pin controller driver"
254
	depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
255
	select PINCTRL_MSM
256 257 258
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 8974 platform.
259

260 261
config PINCTRL_NOMADIK
	bool "Nomadik pin controller driver"
262
	depends on ARCH_U8500 || ARCH_NOMADIK
263
	select PINMUX
264
	select PINCONF
265 266 267
	select GPIOLIB
	select OF_GPIO
	select GPIOLIB_IRQCHIP
268

269 270 271 272
config PINCTRL_STN8815
	bool "STN8815 pin controller driver"
	depends on PINCTRL_NOMADIK && ARCH_NOMADIK

273 274 275 276
config PINCTRL_DB8500
	bool "DB8500 pin controller driver"
	depends on PINCTRL_NOMADIK && ARCH_U8500

277 278 279 280
config PINCTRL_DB8540
	bool "DB8540 pin controller driver"
	depends on PINCTRL_NOMADIK && ARCH_U8500

281 282 283 284 285
config PINCTRL_ROCKCHIP
	bool
	select PINMUX
	select GENERIC_PINCONF
	select GENERIC_IRQ_CHIP
286
	select MFD_SYSCON
287

288 289 290 291 292
config PINCTRL_SINGLE
	tristate "One-register-per-pin type device tree based pinctrl driver"
	depends on OF
	select PINMUX
	select PINCONF
293
	select GENERIC_PINCONF
294 295 296
	help
	  This selects the device tree based generic pinctrl driver.

297
config PINCTRL_SIRF
298 299
	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
	depends on ARCH_SIRF
300
	select PINMUX
301
	select GPIOLIB_IRQCHIP
302

303 304 305 306 307
config PINCTRL_ST
	bool
	depends on OF
	select PINMUX
	select PINCONF
308
	select GPIOLIB_IRQCHIP
309

310 311
config PINCTRL_TEGRA
	bool
312 313
	select PINMUX
	select PINCONF
314 315 316 317 318 319 320 321 322

config PINCTRL_TEGRA20
	bool
	select PINCTRL_TEGRA

config PINCTRL_TEGRA30
	bool
	select PINCTRL_TEGRA

323 324 325 326
config PINCTRL_TEGRA114
	bool
	select PINCTRL_TEGRA

327 328 329 330
config PINCTRL_TEGRA124
	bool
	select PINCTRL_TEGRA

331 332 333 334 335 336
config PINCTRL_TZ1090
	bool "Toumaz Xenif TZ1090 pin control driver"
	depends on SOC_TZ1090
	select PINMUX
	select GENERIC_PINCONF

337 338 339 340 341 342
config PINCTRL_TZ1090_PDC
	bool "Toumaz Xenif TZ1090 PDC pin control driver"
	depends on SOC_TZ1090
	select PINMUX
	select PINCONF

343 344
config PINCTRL_U300
	bool "U300 pin controller driver"
345 346
	depends on ARCH_U300
	select PINMUX
347
	select GENERIC_PINCONF
348

349 350
config PINCTRL_COH901
	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
351
	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
352
	select GPIOLIB_IRQCHIP
353 354 355 356 357 358
	help
	  Say yes here to support GPIO interface on ST-Ericsson U300.
	  The names of the two IP block variants supported are
	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
	  ports of 8 GPIO pins each.

359
config PINCTRL_SAMSUNG
360
	bool
361 362 363
	select PINMUX
	select PINCONF

364
config PINCTRL_EXYNOS
365
	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
366
	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
367 368
	select PINCTRL_SAMSUNG

369 370
config PINCTRL_EXYNOS5440
	bool "Samsung EXYNOS5440 SoC pinctrl driver"
371
	depends on SOC_EXYNOS5440
372 373 374
	select PINMUX
	select PINCONF

375
config PINCTRL_PALMAS
376
	bool "Pinctrl driver for the PALMAS Series MFD devices"
377
	depends on OF && MFD_PALMAS
378
	select PINMUX
379 380 381 382 383 384 385
	select GENERIC_PINCONF
	help
	  Palmas device supports the configuration of pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the Palmas series devices like
	  TPS65913, TPS80036 etc.

386 387 388 389 390
config PINCTRL_S3C24XX
	bool "Samsung S3C24XX SoC pinctrl driver"
	depends on ARCH_S3C24XX
	select PINCTRL_SAMSUNG

391 392 393 394 395
config PINCTRL_S3C64XX
	bool "Samsung S3C64XX SoC pinctrl driver"
	depends on ARCH_S3C64XX
	select PINCTRL_SAMSUNG

396
source "drivers/pinctrl/berlin/Kconfig"
397
source "drivers/pinctrl/mvebu/Kconfig"
398
source "drivers/pinctrl/sh-pfc/Kconfig"
399
source "drivers/pinctrl/spear/Kconfig"
400
source "drivers/pinctrl/sunxi/Kconfig"
401
source "drivers/pinctrl/vt8500/Kconfig"
402

403 404 405 406 407
config PINCTRL_XWAY
	bool
	depends on SOC_TYPE_XWAY
	depends on PINCTRL_LANTIQ

408 409 410 411
config PINCTRL_TB10X
	bool
	depends on ARC_PLAT_TB10X

412
endmenu
413

414
endif