xref: /linux/drivers/pinctrl/Kconfig (revision caeb774ea3b1bc25dc2f24681c27543aba6ca7ae)
12744e8afSLinus Walleij#
22744e8afSLinus Walleij# PINCTRL infrastructure and drivers
32744e8afSLinus Walleij#
42744e8afSLinus Walleij
545f034efSLinus Walleijconfig PINCTRL
645f034efSLinus Walleij	bool
72744e8afSLinus Walleij
845f034efSLinus Walleijmenu "Pin controllers"
945f034efSLinus Walleij	depends on PINCTRL
1045f034efSLinus Walleij
11c033a718SLinus Walleijconfig GENERIC_PINCTRL_GROUPS
12c7059c5aSTony Lindgren	bool
13c7059c5aSTony Lindgren
142744e8afSLinus Walleijconfig PINMUX
15244e95a7SUwe Kleine-König	bool "Support pin multiplexing controllers" if COMPILE_TEST
16ae6b4d85SLinus Walleij
17a76edc89STony Lindgrenconfig GENERIC_PINMUX_FUNCTIONS
18a76edc89STony Lindgren	bool
19a76edc89STony Lindgren	select PINMUX
20a76edc89STony Lindgren
21ae6b4d85SLinus Walleijconfig PINCONF
22244e95a7SUwe Kleine-König	bool "Support pin configuration controllers" if COMPILE_TEST
232744e8afSLinus Walleij
24394349f7SLinus Walleijconfig GENERIC_PINCONF
25394349f7SLinus Walleij	bool
26394349f7SLinus Walleij	select PINCONF
27394349f7SLinus Walleij
282744e8afSLinus Walleijconfig DEBUG_PINCTRL
292744e8afSLinus Walleij	bool "Debug PINCTRL calls"
302744e8afSLinus Walleij	depends on DEBUG_KERNEL
312744e8afSLinus Walleij	help
322744e8afSLinus Walleij	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
332744e8afSLinus Walleij
34e9a03addSSonic Zhangconfig PINCTRL_ADI2
35e9a03addSSonic Zhang	bool "ADI pin controller driver"
369d7278d0SSonic Zhang	depends on BLACKFIN
37e9a03addSSonic Zhang	select PINMUX
38e9a03addSSonic Zhang	select IRQ_DOMAIN
39e9a03addSSonic Zhang	help
40e9a03addSSonic Zhang	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
41e9a03addSSonic Zhang	  future processors. This option is selected automatically when specific
42e9a03addSSonic Zhang	  machine and arch are selected to build.
43e9a03addSSonic Zhang
44c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722
459385f35dSPaul Gortmaker	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
46c8ce8782SLaxman Dewangan	depends on MFD_AS3722 && GPIOLIB
47c8ce8782SLaxman Dewangan	select PINMUX
48c8ce8782SLaxman Dewangan	select GENERIC_PINCONF
49c8ce8782SLaxman Dewangan	help
50c8ce8782SLaxman Dewangan	  AS3722 device supports the configuration of GPIO pins for different
51c8ce8782SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
52c8ce8782SLaxman Dewangan	  open drain configuration for the GPIO pins of AS3722 devices. It also
53c8ce8782SLaxman Dewangan	  supports the GPIO functionality through gpiolib.
54c8ce8782SLaxman Dewangan
55e9a03addSSonic Zhangconfig PINCTRL_BF54x
56e9a03addSSonic Zhang	def_bool y if BF54x
57e9a03addSSonic Zhang	select PINCTRL_ADI2
58e9a03addSSonic Zhang
59e9a03addSSonic Zhangconfig PINCTRL_BF60x
60e9a03addSSonic Zhang	def_bool y if BF60x
61e9a03addSSonic Zhang	select PINCTRL_ADI2
62e9a03addSSonic Zhang
636732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
646732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
656732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
666732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
676732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
686732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
6980cc3732SAlexander Stein	select GPIOLIB
7080cc3732SAlexander Stein	select OF_GPIO
7180cc3732SAlexander Stein	select GPIOLIB_IRQCHIP
726732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
736732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
746732ae5cSJean-Christophe PLAGNIOL-VILLARD
7577618084SLudovic Desrochesconfig PINCTRL_AT91PIO4
7677618084SLudovic Desroches	bool "AT91 PIO4 pinctrl driver"
7777618084SLudovic Desroches	depends on OF
7877618084SLudovic Desroches	depends on ARCH_AT91
7977618084SLudovic Desroches	select PINMUX
8077618084SLudovic Desroches	select GENERIC_PINCONF
8177618084SLudovic Desroches	select GPIOLIB
8277618084SLudovic Desroches	select GPIOLIB_IRQCHIP
8377618084SLudovic Desroches	select OF_GPIO
8477618084SLudovic Desroches	help
8577618084SLudovic Desroches	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
8677618084SLudovic Desroches	  controller available on sama5d2 SoC.
8777618084SLudovic Desroches
88dbad75ddSKen Xueconfig PINCTRL_AMD
89337ea0fbSJean Delvare	tristate "AMD GPIO pin control"
90dbad75ddSKen Xue	depends on GPIOLIB
91dbad75ddSKen Xue	select GPIOLIB_IRQCHIP
92dbad75ddSKen Xue	select PINCONF
93dbad75ddSKen Xue	select GENERIC_PINCONF
94dbad75ddSKen Xue	help
95dbad75ddSKen Xue	  driver for memory mapped GPIO functionality on AMD platforms
96dbad75ddSKen Xue	  (x86 or arm).Most pins are usually muxed to some other
97dbad75ddSKen Xue	  functionality by firmware,so only a small amount is available
98dbad75ddSKen Xue	  for gpio use.
99dbad75ddSKen Xue
100dbad75ddSKen Xue	  Requires ACPI/FDT device enumeration code to set up a platform
101dbad75ddSKen Xue	  device.
102dbad75ddSKen Xue
1031ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD
1041ff91f0aSDavid Lechner	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
1051ff91f0aSDavid Lechner	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
1061ff91f0aSDavid Lechner	select PINCONF
1071ff91f0aSDavid Lechner	select GENERIC_PINCONF
1081ff91f0aSDavid Lechner	help
1091ff91f0aSDavid Lechner	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
1101ff91f0aSDavid Lechner	  pullup/pulldown pin groups.
1111ff91f0aSDavid Lechner
11238b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR
11338b0e507SBaruch Siach	bool
11438b0e507SBaruch Siach	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
11538b0e507SBaruch Siach	select PINMUX
11638b0e507SBaruch Siach	select GENERIC_PINCONF
11738b0e507SBaruch Siach
1183f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1193f8c50c9SJohn Crispin	bool
1203f8c50c9SJohn Crispin	depends on LANTIQ
1213f8c50c9SJohn Crispin	select PINMUX
1223f8c50c9SJohn Crispin	select PINCONF
1233f8c50c9SJohn Crispin
1242f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX
1252f77ac93SJoachim Eastwood	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1262f77ac93SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1272f77ac93SJoachim Eastwood	default ARCH_LPC18XX
1282f77ac93SJoachim Eastwood	select PINMUX
1292f77ac93SJoachim Eastwood	select GENERIC_PINCONF
1302f77ac93SJoachim Eastwood	help
1312f77ac93SJoachim Eastwood	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1322f77ac93SJoachim Eastwood
133e316cb2bSJohn Crispinconfig PINCTRL_FALCON
134e316cb2bSJohn Crispin	bool
135e316cb2bSJohn Crispin	depends on SOC_FALCON
136e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
137e316cb2bSJohn Crispin
1386ac73095SBeniamino Galvaniconfig PINCTRL_MESON
1396ac73095SBeniamino Galvani	bool
140b99e6fb8SLinus Walleij	depends on OF
1416ac73095SBeniamino Galvani	select PINMUX
1426ac73095SBeniamino Galvani	select PINCONF
1436ac73095SBeniamino Galvani	select GENERIC_PINCONF
144b99e6fb8SLinus Walleij	select GPIOLIB
1456ac73095SBeniamino Galvani	select OF_GPIO
1466ac73095SBeniamino Galvani	select REGMAP_MMIO
1476ac73095SBeniamino Galvani
148611dac1eSNeil Armstrongconfig PINCTRL_OXNAS
149611dac1eSNeil Armstrong	bool
150611dac1eSNeil Armstrong	depends on OF
151611dac1eSNeil Armstrong	select PINMUX
152611dac1eSNeil Armstrong	select PINCONF
153611dac1eSNeil Armstrong	select GENERIC_PINCONF
154611dac1eSNeil Armstrong	select GPIOLIB
155611dac1eSNeil Armstrong	select OF_GPIO
156611dac1eSNeil Armstrong	select GPIOLIB_IRQCHIP
157611dac1eSNeil Armstrong	select MFD_SYSCON
158611dac1eSNeil Armstrong
159d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
160d3e51161SHeiko Stübner	bool
161d3e51161SHeiko Stübner	select PINMUX
162d3e51161SHeiko Stübner	select GENERIC_PINCONF
163d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
164751a99abSHeiko Stübner	select MFD_SYSCON
165d3e51161SHeiko Stübner
1668b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
1678b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
1688b8b091bSTony Lindgren	depends on OF
169*caeb774eSTony Lindgren	select GENERIC_PINCTRL_GROUPS
1708b8b091bSTony Lindgren	select PINMUX
1719dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
1728b8b091bSTony Lindgren	help
1738b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
1748b8b091bSTony Lindgren
1753bece55aSLinus Walleijconfig PINCTRL_SIRF
176a17272a4SBarry Song	bool "CSR SiRFprimaII pin controller driver"
177d3e26f2fSBarry Song	depends on ARCH_SIRF
178393daa81SRongjun Ying	select PINMUX
179f9367793SWei Chen	select PINCONF
180f9367793SWei Chen	select GENERIC_PINCONF
1817420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
182393daa81SRongjun Ying
1839e80f906SNeil Armstrongconfig PINCTRL_SX150X
1849e80f906SNeil Armstrong	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
1859e80f906SNeil Armstrong	depends on GPIOLIB && I2C=y
1869e80f906SNeil Armstrong	select PINMUX
1879e80f906SNeil Armstrong	select PINCONF
1889e80f906SNeil Armstrong	select GENERIC_PINCONF
1899e80f906SNeil Armstrong	select GPIOLIB_IRQCHIP
1900db0f26cSAndrey Smirnov	select REGMAP
1919e80f906SNeil Armstrong	help
1929e80f906SNeil Armstrong	  Say yes here to provide support for Semtech SX150x-series I2C
1939e80f906SNeil Armstrong	  GPIO expanders as pinctrl module.
1949e80f906SNeil Armstrong	  Compatible models include:
1959e80f906SNeil Armstrong	  - 8 bits:  sx1508q, sx1502q
1969e80f906SNeil Armstrong	  - 16 bits: sx1509q, sx1506q
1979e80f906SNeil Armstrong
198cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO
199cefc03e5SAndrew Bresticker	def_bool y if MACH_PISTACHIO
200cefc03e5SAndrew Bresticker	depends on GPIOLIB
201cefc03e5SAndrew Bresticker	select PINMUX
202cefc03e5SAndrew Bresticker	select GENERIC_PINCONF
203cefc03e5SAndrew Bresticker	select GPIOLIB_IRQCHIP
204cefc03e5SAndrew Bresticker	select OF_GPIO
205cefc03e5SAndrew Bresticker
206701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
207701016c0SSrinivas KANDAGATLA	bool
208701016c0SSrinivas KANDAGATLA	depends on OF
209701016c0SSrinivas KANDAGATLA	select PINMUX
210701016c0SSrinivas KANDAGATLA	select PINCONF
211130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
212701016c0SSrinivas KANDAGATLA
213d5025f9fSJames Hoganconfig PINCTRL_TZ1090
214d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
215d5025f9fSJames Hogan	depends on SOC_TZ1090
216d5025f9fSJames Hogan	select PINMUX
217d5025f9fSJames Hogan	select GENERIC_PINCONF
218d5025f9fSJames Hogan
219b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
220b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
221b58f0273SJames Hogan	depends on SOC_TZ1090
222b58f0273SJames Hogan	select PINMUX
223b58f0273SJames Hogan	select PINCONF
224b58f0273SJames Hogan
2253bece55aSLinus Walleijconfig PINCTRL_U300
2263bece55aSLinus Walleij	bool "U300 pin controller driver"
22798da3529SLinus Walleij	depends on ARCH_U300
22898da3529SLinus Walleij	select PINMUX
229dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
23045f034efSLinus Walleij
231ca402d37SLinus Walleijconfig PINCTRL_COH901
232ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2333c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
234523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
235ca402d37SLinus Walleij	help
236ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
237ca402d37SLinus Walleij	  The names of the two IP block variants supported are
238ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
239ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
240ca402d37SLinus Walleij
2412df723d4SLaxman Dewanganconfig PINCTRL_MAX77620
2422df723d4SLaxman Dewangan	tristate "MAX77620/MAX20024 Pincontrol support"
24324d6a91cSArnd Bergmann	depends on MFD_MAX77620 && OF
24479f28b9fSArnd Bergmann	select PINMUX
2452df723d4SLaxman Dewangan	select GENERIC_PINCONF
2462df723d4SLaxman Dewangan	help
2472df723d4SLaxman Dewangan	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
2482df723d4SLaxman Dewangan	  This PMIC has 8 GPIO pins that work as GPIO as well as special
2492df723d4SLaxman Dewangan	  function in alternate mode. This driver also configure push-pull,
2502df723d4SLaxman Dewangan	  open drain, FPS slots etc.
2512df723d4SLaxman Dewangan
2520a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
253767b8ce3SPaul Gortmaker	tristate "Pinctrl driver for the PALMAS Series MFD devices"
2540a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
25563ca8db7SAxel Lin	select PINMUX
2560a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
2570a8d3e24SLaxman Dewangan	help
2580a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
2590a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
2600a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
2610a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
2620a8d3e24SLaxman Dewangan
2632ba384e6SJoshua Hendersonconfig PINCTRL_PIC32
2642ba384e6SJoshua Henderson	bool "Microchip PIC32 pin controller driver"
2652ba384e6SJoshua Henderson	depends on OF
2662ba384e6SJoshua Henderson	depends on MACH_PIC32
2672ba384e6SJoshua Henderson	select PINMUX
2682ba384e6SJoshua Henderson	select GENERIC_PINCONF
2692ba384e6SJoshua Henderson	select GPIOLIB_IRQCHIP
2702ba384e6SJoshua Henderson	select OF_GPIO
2712ba384e6SJoshua Henderson	help
2722ba384e6SJoshua Henderson	  This is the pin controller and gpio driver for Microchip PIC32
2732ba384e6SJoshua Henderson	  microcontrollers. This option is selected automatically when specific
2742ba384e6SJoshua Henderson	  machine and arch are selected to build.
2752ba384e6SJoshua Henderson
2762ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA
2772ba384e6SJoshua Henderson	def_bool y if PIC32MZDA
2782ba384e6SJoshua Henderson	select PINCTRL_PIC32
2792ba384e6SJoshua Henderson
280add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
281add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
282add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
283add958ceSSoren Brinkmann	select PINMUX
284add958ceSSoren Brinkmann	select GENERIC_PINCONF
285add958ceSSoren Brinkmann	help
286485dba27SMasahiro Yamada	  This selects the pinctrl driver for Xilinx Zynq.
287add958ceSSoren Brinkmann
2884d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig"
289b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig"
2903de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
291edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
2925fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
29306763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
2943a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
2954b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig"
29669b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
297ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
2986e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
299deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
300aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig"
3015f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
30225cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig"
3036e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig"
304170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
305a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig"
306deda8287SViresh Kumar
3073f8c50c9SJohn Crispinconfig PINCTRL_XWAY
3083f8c50c9SJohn Crispin	bool
3093f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
3103f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
3113f8c50c9SJohn Crispin
3125aad0db1SChristian Ruppertconfig PINCTRL_TB10X
3135aad0db1SChristian Ruppert	bool
314b99e6fb8SLinus Walleij	depends on OF && ARC_PLAT_TB10X
315b99e6fb8SLinus Walleij	select GPIOLIB
3165aad0db1SChristian Ruppert
31745f034efSLinus Walleijendmenu
318