18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# PINCTRL infrastructure and drivers
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig PINCTRL
78c2ecf20Sopenharmony_ci	bool "Pin controllers"
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciif PINCTRL
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciconfig GENERIC_PINCTRL_GROUPS
128c2ecf20Sopenharmony_ci	bool
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciconfig PINMUX
158c2ecf20Sopenharmony_ci	bool "Support pin multiplexing controllers" if COMPILE_TEST
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciconfig GENERIC_PINMUX_FUNCTIONS
188c2ecf20Sopenharmony_ci	bool
198c2ecf20Sopenharmony_ci	select PINMUX
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig PINCONF
228c2ecf20Sopenharmony_ci	bool "Support pin configuration controllers" if COMPILE_TEST
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig GENERIC_PINCONF
258c2ecf20Sopenharmony_ci	bool
268c2ecf20Sopenharmony_ci	select PINCONF
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciconfig DEBUG_PINCTRL
298c2ecf20Sopenharmony_ci	bool "Debug PINCTRL calls"
308c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL
318c2ecf20Sopenharmony_ci	help
328c2ecf20Sopenharmony_ci	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig PINCTRL_ARTPEC6
358c2ecf20Sopenharmony_ci	bool "Axis ARTPEC-6 pin controller driver"
368c2ecf20Sopenharmony_ci	depends on MACH_ARTPEC6
378c2ecf20Sopenharmony_ci	select PINMUX
388c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  This is the driver for the Axis ARTPEC-6 pin controller. This driver
418c2ecf20Sopenharmony_ci	  supports pin function multiplexing as well as pin bias and drive
428c2ecf20Sopenharmony_ci	  strength configuration. Device tree integration instructions can be
438c2ecf20Sopenharmony_ci	  found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig PINCTRL_AS3722
468c2ecf20Sopenharmony_ci	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
478c2ecf20Sopenharmony_ci	depends on MFD_AS3722 && GPIOLIB
488c2ecf20Sopenharmony_ci	select PINMUX
498c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
508c2ecf20Sopenharmony_ci	help
518c2ecf20Sopenharmony_ci	  AS3722 device supports the configuration of GPIO pins for different
528c2ecf20Sopenharmony_ci	  functionality. This driver supports the pinmux, push-pull and
538c2ecf20Sopenharmony_ci	  open drain configuration for the GPIO pins of AS3722 devices. It also
548c2ecf20Sopenharmony_ci	  supports the GPIO functionality through gpiolib.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciconfig PINCTRL_AXP209
578c2ecf20Sopenharmony_ci	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
588c2ecf20Sopenharmony_ci	depends on MFD_AXP20X
598c2ecf20Sopenharmony_ci	depends on OF
608c2ecf20Sopenharmony_ci	select PINMUX
618c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
628c2ecf20Sopenharmony_ci	select GPIOLIB
638c2ecf20Sopenharmony_ci	help
648c2ecf20Sopenharmony_ci	  AXP PMICs provides multiple GPIOs that can be muxed for different
658c2ecf20Sopenharmony_ci	  functions. This driver bundles a pinctrl driver to select the function
668c2ecf20Sopenharmony_ci	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
678c2ecf20Sopenharmony_ci	  selected.
688c2ecf20Sopenharmony_ci	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ciconfig PINCTRL_AT91
718c2ecf20Sopenharmony_ci	bool "AT91 pinctrl driver"
728c2ecf20Sopenharmony_ci	depends on OF
738c2ecf20Sopenharmony_ci	depends on ARCH_AT91
748c2ecf20Sopenharmony_ci	select PINMUX
758c2ecf20Sopenharmony_ci	select PINCONF
768c2ecf20Sopenharmony_ci	select GPIOLIB
778c2ecf20Sopenharmony_ci	select OF_GPIO
788c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
798c2ecf20Sopenharmony_ci	help
808c2ecf20Sopenharmony_ci	  Say Y here to enable the at91 pinctrl driver
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig PINCTRL_AT91PIO4
838c2ecf20Sopenharmony_ci	bool "AT91 PIO4 pinctrl driver"
848c2ecf20Sopenharmony_ci	depends on OF
858c2ecf20Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
868c2ecf20Sopenharmony_ci	select PINMUX
878c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
888c2ecf20Sopenharmony_ci	select GPIOLIB
898c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
908c2ecf20Sopenharmony_ci	select OF_GPIO
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
938c2ecf20Sopenharmony_ci	  controller available on sama5d2 SoC.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig PINCTRL_AMD
968c2ecf20Sopenharmony_ci	tristate "AMD GPIO pin control"
978c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
988c2ecf20Sopenharmony_ci	depends on ACPI || COMPILE_TEST
998c2ecf20Sopenharmony_ci	select GPIOLIB
1008c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1018c2ecf20Sopenharmony_ci	select PINMUX
1028c2ecf20Sopenharmony_ci	select PINCONF
1038c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
1048c2ecf20Sopenharmony_ci	help
1058c2ecf20Sopenharmony_ci	  driver for memory mapped GPIO functionality on AMD platforms
1068c2ecf20Sopenharmony_ci	  (x86 or arm).Most pins are usually muxed to some other
1078c2ecf20Sopenharmony_ci	  functionality by firmware,so only a small amount is available
1088c2ecf20Sopenharmony_ci	  for gpio use.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	  Requires ACPI/FDT device enumeration code to set up a platform
1118c2ecf20Sopenharmony_ci	  device.
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ciconfig PINCTRL_BM1880
1148c2ecf20Sopenharmony_ci	bool "Bitmain BM1880 Pinctrl driver"
1158c2ecf20Sopenharmony_ci	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
1168c2ecf20Sopenharmony_ci	default ARCH_BITMAIN
1178c2ecf20Sopenharmony_ci	select PINMUX
1188c2ecf20Sopenharmony_ci	help
1198c2ecf20Sopenharmony_ci	  Pinctrl driver for Bitmain BM1880 SoC.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciconfig PINCTRL_DA850_PUPD
1228c2ecf20Sopenharmony_ci	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
1238c2ecf20Sopenharmony_ci	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
1248c2ecf20Sopenharmony_ci	select PINCONF
1258c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
1268c2ecf20Sopenharmony_ci	help
1278c2ecf20Sopenharmony_ci	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
1288c2ecf20Sopenharmony_ci	  pullup/pulldown pin groups.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig PINCTRL_DA9062
1318c2ecf20Sopenharmony_ci	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
1328c2ecf20Sopenharmony_ci	depends on MFD_DA9062
1338c2ecf20Sopenharmony_ci	select GPIOLIB
1348c2ecf20Sopenharmony_ci	help
1358c2ecf20Sopenharmony_ci	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
1368c2ecf20Sopenharmony_ci	  different functions. This driver bundles a pinctrl driver to select the
1378c2ecf20Sopenharmony_ci	  function muxing and a GPIO driver to handle the GPIO when the GPIO
1388c2ecf20Sopenharmony_ci	  function is selected.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ci	  Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ciconfig PINCTRL_DIGICOLOR
1438c2ecf20Sopenharmony_ci	bool
1448c2ecf20Sopenharmony_ci	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
1458c2ecf20Sopenharmony_ci	select PINMUX
1468c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ciconfig PINCTRL_LANTIQ
1498c2ecf20Sopenharmony_ci	bool
1508c2ecf20Sopenharmony_ci	depends on LANTIQ
1518c2ecf20Sopenharmony_ci	select PINMUX
1528c2ecf20Sopenharmony_ci	select PINCONF
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciconfig PINCTRL_LPC18XX
1558c2ecf20Sopenharmony_ci	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1568c2ecf20Sopenharmony_ci	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1578c2ecf20Sopenharmony_ci	default ARCH_LPC18XX
1588c2ecf20Sopenharmony_ci	select PINMUX
1598c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
1608c2ecf20Sopenharmony_ci	help
1618c2ecf20Sopenharmony_ci	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ciconfig PINCTRL_FALCON
1648c2ecf20Sopenharmony_ci	bool
1658c2ecf20Sopenharmony_ci	depends on SOC_FALCON
1668c2ecf20Sopenharmony_ci	depends on PINCTRL_LANTIQ
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ciconfig PINCTRL_GEMINI
1698c2ecf20Sopenharmony_ci	bool
1708c2ecf20Sopenharmony_ci	depends on ARCH_GEMINI
1718c2ecf20Sopenharmony_ci	default ARCH_GEMINI
1728c2ecf20Sopenharmony_ci	select PINMUX
1738c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
1748c2ecf20Sopenharmony_ci	select MFD_SYSCON
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciconfig PINCTRL_MCP23S08_I2C
1778c2ecf20Sopenharmony_ci	tristate
1788c2ecf20Sopenharmony_ci	select REGMAP_I2C
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciconfig PINCTRL_MCP23S08_SPI
1818c2ecf20Sopenharmony_ci	tristate
1828c2ecf20Sopenharmony_ci	select REGMAP_SPI
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ciconfig PINCTRL_MCP23S08
1858c2ecf20Sopenharmony_ci	tristate "Microchip MCP23xxx I/O expander"
1868c2ecf20Sopenharmony_ci	depends on SPI_MASTER || I2C
1878c2ecf20Sopenharmony_ci	select GPIOLIB
1888c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1898c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
1908c2ecf20Sopenharmony_ci	select PINCTRL_MCP23S08_I2C if I2C
1918c2ecf20Sopenharmony_ci	select PINCTRL_MCP23S08_SPI if SPI_MASTER
1928c2ecf20Sopenharmony_ci	help
1938c2ecf20Sopenharmony_ci	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
1948c2ecf20Sopenharmony_ci	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
1958c2ecf20Sopenharmony_ci	  This provides a GPIO interface supporting inputs and outputs and a
1968c2ecf20Sopenharmony_ci	  corresponding interrupt-controller.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ciconfig PINCTRL_OXNAS
1998c2ecf20Sopenharmony_ci	bool
2008c2ecf20Sopenharmony_ci	depends on OF
2018c2ecf20Sopenharmony_ci	select PINMUX
2028c2ecf20Sopenharmony_ci	select PINCONF
2038c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2048c2ecf20Sopenharmony_ci	select GPIOLIB
2058c2ecf20Sopenharmony_ci	select OF_GPIO
2068c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2078c2ecf20Sopenharmony_ci	select MFD_SYSCON
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ciconfig PINCTRL_ROCKCHIP
2108c2ecf20Sopenharmony_ci	bool
2118c2ecf20Sopenharmony_ci	depends on OF
2128c2ecf20Sopenharmony_ci	select PINMUX
2138c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2148c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
2158c2ecf20Sopenharmony_ci	select MFD_SYSCON
2168c2ecf20Sopenharmony_ci	select OF_GPIO
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ciconfig PINCTRL_SINGLE
2198c2ecf20Sopenharmony_ci	tristate "One-register-per-pin type device tree based pinctrl driver"
2208c2ecf20Sopenharmony_ci	depends on OF
2218c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2228c2ecf20Sopenharmony_ci	select GENERIC_PINCTRL_GROUPS
2238c2ecf20Sopenharmony_ci	select GENERIC_PINMUX_FUNCTIONS
2248c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2258c2ecf20Sopenharmony_ci	help
2268c2ecf20Sopenharmony_ci	  This selects the device tree based generic pinctrl driver.
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ciconfig PINCTRL_SIRF
2298c2ecf20Sopenharmony_ci	bool "CSR SiRFprimaII pin controller driver"
2308c2ecf20Sopenharmony_ci	depends on ARCH_SIRF
2318c2ecf20Sopenharmony_ci	select PINMUX
2328c2ecf20Sopenharmony_ci	select PINCONF
2338c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2348c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_ciconfig PINCTRL_SX150X
2378c2ecf20Sopenharmony_ci	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
2388c2ecf20Sopenharmony_ci	depends on I2C=y
2398c2ecf20Sopenharmony_ci	select PINMUX
2408c2ecf20Sopenharmony_ci	select PINCONF
2418c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2428c2ecf20Sopenharmony_ci	select GPIOLIB
2438c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2448c2ecf20Sopenharmony_ci	select REGMAP
2458c2ecf20Sopenharmony_ci	help
2468c2ecf20Sopenharmony_ci	  Say yes here to provide support for Semtech SX150x-series I2C
2478c2ecf20Sopenharmony_ci	  GPIO expanders as pinctrl module.
2488c2ecf20Sopenharmony_ci	  Compatible models include:
2498c2ecf20Sopenharmony_ci	  - 8 bits:  sx1508q, sx1502q
2508c2ecf20Sopenharmony_ci	  - 16 bits: sx1509q, sx1506q
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ciconfig PINCTRL_PISTACHIO
2538c2ecf20Sopenharmony_ci	def_bool y if MACH_PISTACHIO
2548c2ecf20Sopenharmony_ci	depends on GPIOLIB
2558c2ecf20Sopenharmony_ci	select PINMUX
2568c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2578c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2588c2ecf20Sopenharmony_ci	select OF_GPIO
2598c2ecf20Sopenharmony_ci
2608c2ecf20Sopenharmony_ciconfig PINCTRL_ST
2618c2ecf20Sopenharmony_ci	bool
2628c2ecf20Sopenharmony_ci	depends on OF
2638c2ecf20Sopenharmony_ci	select PINMUX
2648c2ecf20Sopenharmony_ci	select PINCONF
2658c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ciconfig PINCTRL_STMFX
2688c2ecf20Sopenharmony_ci	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
2698c2ecf20Sopenharmony_ci	depends on I2C
2708c2ecf20Sopenharmony_ci	depends on OF_GPIO
2718c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2728c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2738c2ecf20Sopenharmony_ci	select MFD_STMFX
2748c2ecf20Sopenharmony_ci	help
2758c2ecf20Sopenharmony_ci	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
2768c2ecf20Sopenharmony_ci	  GPIO expander.
2778c2ecf20Sopenharmony_ci	  This provides a GPIO interface supporting inputs and outputs,
2788c2ecf20Sopenharmony_ci	  and configuring push-pull, open-drain, and can also be used as
2798c2ecf20Sopenharmony_ci	  interrupt-controller.
2808c2ecf20Sopenharmony_ci
2818c2ecf20Sopenharmony_ciconfig PINCTRL_U300
2828c2ecf20Sopenharmony_ci	bool "U300 pin controller driver"
2838c2ecf20Sopenharmony_ci	depends on ARCH_U300
2848c2ecf20Sopenharmony_ci	select PINMUX
2858c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ciconfig PINCTRL_COH901
2888c2ecf20Sopenharmony_ci	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2898c2ecf20Sopenharmony_ci	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
2908c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2918c2ecf20Sopenharmony_ci	help
2928c2ecf20Sopenharmony_ci	  Say yes here to support GPIO interface on ST-Ericsson U300.
2938c2ecf20Sopenharmony_ci	  The names of the two IP block variants supported are
2948c2ecf20Sopenharmony_ci	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
2958c2ecf20Sopenharmony_ci	  ports of 8 GPIO pins each.
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ciconfig PINCTRL_MAX77620
2988c2ecf20Sopenharmony_ci	tristate "MAX77620/MAX20024 Pincontrol support"
2998c2ecf20Sopenharmony_ci	depends on MFD_MAX77620 && OF
3008c2ecf20Sopenharmony_ci	select PINMUX
3018c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3028c2ecf20Sopenharmony_ci	help
3038c2ecf20Sopenharmony_ci	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
3048c2ecf20Sopenharmony_ci	  This PMIC has 8 GPIO pins that work as GPIO as well as special
3058c2ecf20Sopenharmony_ci	  function in alternate mode. This driver also configure push-pull,
3068c2ecf20Sopenharmony_ci	  open drain, FPS slots etc.
3078c2ecf20Sopenharmony_ci
3088c2ecf20Sopenharmony_ciconfig PINCTRL_PALMAS
3098c2ecf20Sopenharmony_ci	tristate "Pinctrl driver for the PALMAS Series MFD devices"
3108c2ecf20Sopenharmony_ci	depends on OF && MFD_PALMAS
3118c2ecf20Sopenharmony_ci	select PINMUX
3128c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3138c2ecf20Sopenharmony_ci	help
3148c2ecf20Sopenharmony_ci	  Palmas device supports the configuration of pins for different
3158c2ecf20Sopenharmony_ci	  functionality. This driver supports the pinmux, push-pull and
3168c2ecf20Sopenharmony_ci	  open drain configuration for the Palmas series devices like
3178c2ecf20Sopenharmony_ci	  TPS65913, TPS80036 etc.
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ciconfig PINCTRL_PIC32
3208c2ecf20Sopenharmony_ci	bool "Microchip PIC32 pin controller driver"
3218c2ecf20Sopenharmony_ci	depends on OF
3228c2ecf20Sopenharmony_ci	depends on MACH_PIC32
3238c2ecf20Sopenharmony_ci	select PINMUX
3248c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3258c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
3268c2ecf20Sopenharmony_ci	select OF_GPIO
3278c2ecf20Sopenharmony_ci	help
3288c2ecf20Sopenharmony_ci	  This is the pin controller and gpio driver for Microchip PIC32
3298c2ecf20Sopenharmony_ci	  microcontrollers. This option is selected automatically when specific
3308c2ecf20Sopenharmony_ci	  machine and arch are selected to build.
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ciconfig PINCTRL_PIC32MZDA
3338c2ecf20Sopenharmony_ci	def_bool y if PIC32MZDA
3348c2ecf20Sopenharmony_ci	select PINCTRL_PIC32
3358c2ecf20Sopenharmony_ci
3368c2ecf20Sopenharmony_ciconfig PINCTRL_ZYNQ
3378c2ecf20Sopenharmony_ci	bool "Pinctrl driver for Xilinx Zynq"
3388c2ecf20Sopenharmony_ci	depends on ARCH_ZYNQ
3398c2ecf20Sopenharmony_ci	select PINMUX
3408c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3418c2ecf20Sopenharmony_ci	help
3428c2ecf20Sopenharmony_ci	  This selects the pinctrl driver for Xilinx Zynq.
3438c2ecf20Sopenharmony_ci
3448c2ecf20Sopenharmony_ciconfig PINCTRL_INGENIC
3458c2ecf20Sopenharmony_ci	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
3468c2ecf20Sopenharmony_ci	default MACH_INGENIC
3478c2ecf20Sopenharmony_ci	depends on OF
3488c2ecf20Sopenharmony_ci	depends on MIPS || COMPILE_TEST
3498c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3508c2ecf20Sopenharmony_ci	select GENERIC_PINCTRL_GROUPS
3518c2ecf20Sopenharmony_ci	select GENERIC_PINMUX_FUNCTIONS
3528c2ecf20Sopenharmony_ci	select GPIOLIB
3538c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
3548c2ecf20Sopenharmony_ci	select REGMAP_MMIO
3558c2ecf20Sopenharmony_ci
3568c2ecf20Sopenharmony_ciconfig PINCTRL_RK805
3578c2ecf20Sopenharmony_ci	tristate "Pinctrl and GPIO driver for RK805 PMIC"
3588c2ecf20Sopenharmony_ci	depends on MFD_RK808
3598c2ecf20Sopenharmony_ci	select GPIOLIB
3608c2ecf20Sopenharmony_ci	select PINMUX
3618c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3628c2ecf20Sopenharmony_ci	help
3638c2ecf20Sopenharmony_ci	  This selects the pinctrl driver for RK805.
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_ciconfig PINCTRL_OCELOT
3668c2ecf20Sopenharmony_ci	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
3678c2ecf20Sopenharmony_ci	depends on OF
3688c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3698c2ecf20Sopenharmony_ci	select GPIOLIB
3708c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
3718c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
3728c2ecf20Sopenharmony_ci	select GENERIC_PINCTRL_GROUPS
3738c2ecf20Sopenharmony_ci	select GENERIC_PINMUX_FUNCTIONS
3748c2ecf20Sopenharmony_ci	select OF_GPIO
3758c2ecf20Sopenharmony_ci	select REGMAP_MMIO
3768c2ecf20Sopenharmony_ci
3778c2ecf20Sopenharmony_cisource "drivers/pinctrl/actions/Kconfig"
3788c2ecf20Sopenharmony_cisource "drivers/pinctrl/aspeed/Kconfig"
3798c2ecf20Sopenharmony_cisource "drivers/pinctrl/bcm/Kconfig"
3808c2ecf20Sopenharmony_cisource "drivers/pinctrl/berlin/Kconfig"
3818c2ecf20Sopenharmony_cisource "drivers/pinctrl/freescale/Kconfig"
3828c2ecf20Sopenharmony_cisource "drivers/pinctrl/intel/Kconfig"
3838c2ecf20Sopenharmony_cisource "drivers/pinctrl/mvebu/Kconfig"
3848c2ecf20Sopenharmony_cisource "drivers/pinctrl/nomadik/Kconfig"
3858c2ecf20Sopenharmony_cisource "drivers/pinctrl/nuvoton/Kconfig"
3868c2ecf20Sopenharmony_cisource "drivers/pinctrl/pxa/Kconfig"
3878c2ecf20Sopenharmony_cisource "drivers/pinctrl/qcom/Kconfig"
3888c2ecf20Sopenharmony_cisource "drivers/pinctrl/renesas/Kconfig"
3898c2ecf20Sopenharmony_cisource "drivers/pinctrl/samsung/Kconfig"
3908c2ecf20Sopenharmony_cisource "drivers/pinctrl/spear/Kconfig"
3918c2ecf20Sopenharmony_cisource "drivers/pinctrl/sprd/Kconfig"
3928c2ecf20Sopenharmony_cisource "drivers/pinctrl/stm32/Kconfig"
3938c2ecf20Sopenharmony_cisource "drivers/pinctrl/sunxi/Kconfig"
3948c2ecf20Sopenharmony_cisource "drivers/pinctrl/tegra/Kconfig"
3958c2ecf20Sopenharmony_cisource "drivers/pinctrl/ti/Kconfig"
3968c2ecf20Sopenharmony_cisource "drivers/pinctrl/uniphier/Kconfig"
3978c2ecf20Sopenharmony_cisource "drivers/pinctrl/vt8500/Kconfig"
3988c2ecf20Sopenharmony_cisource "drivers/pinctrl/mediatek/Kconfig"
3998c2ecf20Sopenharmony_cisource "drivers/pinctrl/zte/Kconfig"
4008c2ecf20Sopenharmony_cisource "drivers/pinctrl/meson/Kconfig"
4018c2ecf20Sopenharmony_cisource "drivers/pinctrl/cirrus/Kconfig"
4028c2ecf20Sopenharmony_cisource "drivers/pinctrl/visconti/Kconfig"
4038c2ecf20Sopenharmony_ci
4048c2ecf20Sopenharmony_ciconfig PINCTRL_XWAY
4058c2ecf20Sopenharmony_ci	bool
4068c2ecf20Sopenharmony_ci	depends on SOC_TYPE_XWAY
4078c2ecf20Sopenharmony_ci	depends on PINCTRL_LANTIQ
4088c2ecf20Sopenharmony_ci
4098c2ecf20Sopenharmony_ciconfig PINCTRL_TB10X
4108c2ecf20Sopenharmony_ci	bool
4118c2ecf20Sopenharmony_ci	depends on OF && ARC_PLAT_TB10X
4128c2ecf20Sopenharmony_ci	select GPIOLIB
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ciconfig PINCTRL_EQUILIBRIUM
4158c2ecf20Sopenharmony_ci	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
4168c2ecf20Sopenharmony_ci	depends on OF && HAS_IOMEM
4178c2ecf20Sopenharmony_ci	depends on X86 || COMPILE_TEST
4188c2ecf20Sopenharmony_ci	select PINMUX
4198c2ecf20Sopenharmony_ci	select PINCONF
4208c2ecf20Sopenharmony_ci	select GPIOLIB
4218c2ecf20Sopenharmony_ci	select GPIO_GENERIC
4228c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4238c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
4248c2ecf20Sopenharmony_ci	select GENERIC_PINCTRL_GROUPS
4258c2ecf20Sopenharmony_ci	select GENERIC_PINMUX_FUNCTIONS
4268c2ecf20Sopenharmony_ci
4278c2ecf20Sopenharmony_ci	help
4288c2ecf20Sopenharmony_ci	  Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
4298c2ecf20Sopenharmony_ci	  Mountain network processor SoC that supports both the linux GPIO and pin
4308c2ecf20Sopenharmony_ci	  control frameworks. It provides interfaces to setup pinmux, assign desired
4318c2ecf20Sopenharmony_ci	  pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
4328c2ecf20Sopenharmony_ci	  pinconf settings are retrieved from device tree.
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ciendif
435