Kconfig 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. #
  2. # PINCTRL infrastructure and drivers
  3. #
  4. menuconfig PINCTRL
  5. bool "Pin controllers"
  6. if PINCTRL
  7. config GENERIC_PINCTRL_GROUPS
  8. bool
  9. config PINMUX
  10. bool "Support pin multiplexing controllers" if COMPILE_TEST
  11. config GENERIC_PINMUX_FUNCTIONS
  12. bool
  13. select PINMUX
  14. config PINCONF
  15. bool "Support pin configuration controllers" if COMPILE_TEST
  16. config GENERIC_PINCONF
  17. bool
  18. select PINCONF
  19. config DEBUG_PINCTRL
  20. bool "Debug PINCTRL calls"
  21. depends on DEBUG_KERNEL
  22. help
  23. Say Y here to add some extra checks and diagnostics to PINCTRL calls.
  24. config PINCTRL_ARTPEC6
  25. bool "Axis ARTPEC-6 pin controller driver"
  26. depends on MACH_ARTPEC6
  27. select PINMUX
  28. select GENERIC_PINCONF
  29. help
  30. This is the driver for the Axis ARTPEC-6 pin controller. This driver
  31. supports pin function multiplexing as well as pin bias and drive
  32. strength configuration. Device tree integration instructions can be
  33. found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
  34. config PINCTRL_AS3722
  35. tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
  36. depends on MFD_AS3722 && GPIOLIB
  37. select PINMUX
  38. select GENERIC_PINCONF
  39. help
  40. AS3722 device supports the configuration of GPIO pins for different
  41. functionality. This driver supports the pinmux, push-pull and
  42. open drain configuration for the GPIO pins of AS3722 devices. It also
  43. supports the GPIO functionality through gpiolib.
  44. config PINCTRL_AXP209
  45. tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
  46. depends on MFD_AXP20X
  47. depends on OF
  48. select PINMUX
  49. select GENERIC_PINCONF
  50. select GPIOLIB
  51. help
  52. AXP PMICs provides multiple GPIOs that can be muxed for different
  53. functions. This driver bundles a pinctrl driver to select the function
  54. muxing and a GPIO driver to handle the GPIO when the GPIO function is
  55. selected.
  56. Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
  57. config PINCTRL_AT91
  58. bool "AT91 pinctrl driver"
  59. depends on OF
  60. depends on ARCH_AT91
  61. select PINMUX
  62. select PINCONF
  63. select GPIOLIB
  64. select OF_GPIO
  65. select GPIOLIB_IRQCHIP
  66. help
  67. Say Y here to enable the at91 pinctrl driver
  68. config PINCTRL_AT91PIO4
  69. bool "AT91 PIO4 pinctrl driver"
  70. depends on OF
  71. depends on ARCH_AT91
  72. select PINMUX
  73. select GENERIC_PINCONF
  74. select GPIOLIB
  75. select GPIOLIB_IRQCHIP
  76. select OF_GPIO
  77. help
  78. Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
  79. controller available on sama5d2 SoC.
  80. config PINCTRL_AMD
  81. tristate "AMD GPIO pin control"
  82. depends on HAS_IOMEM
  83. select GPIOLIB
  84. select GPIOLIB_IRQCHIP
  85. select PINMUX
  86. select PINCONF
  87. select GENERIC_PINCONF
  88. help
  89. driver for memory mapped GPIO functionality on AMD platforms
  90. (x86 or arm).Most pins are usually muxed to some other
  91. functionality by firmware,so only a small amount is available
  92. for gpio use.
  93. Requires ACPI/FDT device enumeration code to set up a platform
  94. device.
  95. config PINCTRL_DA850_PUPD
  96. tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
  97. depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
  98. select PINCONF
  99. select GENERIC_PINCONF
  100. help
  101. Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
  102. pullup/pulldown pin groups.
  103. config PINCTRL_DIGICOLOR
  104. bool
  105. depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
  106. select PINMUX
  107. select GENERIC_PINCONF
  108. config PINCTRL_LANTIQ
  109. bool
  110. depends on LANTIQ
  111. select PINMUX
  112. select PINCONF
  113. config PINCTRL_LPC18XX
  114. bool "NXP LPC18XX/43XX SCU pinctrl driver"
  115. depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
  116. default ARCH_LPC18XX
  117. select PINMUX
  118. select GENERIC_PINCONF
  119. help
  120. Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
  121. config PINCTRL_FALCON
  122. bool
  123. depends on SOC_FALCON
  124. depends on PINCTRL_LANTIQ
  125. config PINCTRL_GEMINI
  126. bool
  127. depends on ARCH_GEMINI
  128. default ARCH_GEMINI
  129. select PINMUX
  130. select GENERIC_PINCONF
  131. select MFD_SYSCON
  132. config PINCTRL_MCP23S08
  133. tristate "Microchip MCP23xxx I/O expander"
  134. depends on SPI_MASTER || I2C
  135. depends on I2C || I2C=n
  136. select GPIOLIB
  137. select GPIOLIB_IRQCHIP
  138. select REGMAP_I2C if I2C
  139. select REGMAP_SPI if SPI_MASTER
  140. select GENERIC_PINCONF
  141. help
  142. SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
  143. MCP23008 / MCP23017 / MCP23018 I/O expanders.
  144. This provides a GPIO interface supporting inputs and outputs and a
  145. corresponding interrupt-controller.
  146. config PINCTRL_OXNAS
  147. bool
  148. depends on OF
  149. select PINMUX
  150. select PINCONF
  151. select GENERIC_PINCONF
  152. select GPIOLIB
  153. select OF_GPIO
  154. select GPIOLIB_IRQCHIP
  155. select MFD_SYSCON
  156. config PINCTRL_ROCKCHIP
  157. bool
  158. select PINMUX
  159. select GENERIC_PINCONF
  160. select GENERIC_IRQ_CHIP
  161. select MFD_SYSCON
  162. config PINCTRL_RZA1
  163. bool "Renesas RZ/A1 gpio and pinctrl driver"
  164. depends on OF
  165. depends on ARCH_R7S72100 || COMPILE_TEST
  166. select GPIOLIB
  167. select GENERIC_PINCTRL_GROUPS
  168. select GENERIC_PINMUX_FUNCTIONS
  169. select GENERIC_PINCONF
  170. help
  171. This selects pinctrl driver for Renesas RZ/A1 platforms.
  172. config PINCTRL_RZN1
  173. bool "Renesas RZ/N1 pinctrl driver"
  174. depends on OF
  175. depends on ARCH_RZN1 || COMPILE_TEST
  176. select GENERIC_PINCTRL_GROUPS
  177. select GENERIC_PINMUX_FUNCTIONS
  178. select GENERIC_PINCONF
  179. help
  180. This selects pinctrl driver for Renesas RZ/N1 devices.
  181. config PINCTRL_SINGLE
  182. tristate "One-register-per-pin type device tree based pinctrl driver"
  183. depends on OF
  184. depends on HAS_IOMEM
  185. select GENERIC_PINCTRL_GROUPS
  186. select GENERIC_PINMUX_FUNCTIONS
  187. select GENERIC_PINCONF
  188. help
  189. This selects the device tree based generic pinctrl driver.
  190. config PINCTRL_SIRF
  191. bool "CSR SiRFprimaII pin controller driver"
  192. depends on ARCH_SIRF
  193. select PINMUX
  194. select PINCONF
  195. select GENERIC_PINCONF
  196. select GPIOLIB_IRQCHIP
  197. config PINCTRL_SX150X
  198. bool "Semtech SX150x I2C GPIO expander pinctrl driver"
  199. depends on I2C=y
  200. select PINMUX
  201. select PINCONF
  202. select GENERIC_PINCONF
  203. select GPIOLIB
  204. select GPIOLIB_IRQCHIP
  205. select REGMAP
  206. help
  207. Say yes here to provide support for Semtech SX150x-series I2C
  208. GPIO expanders as pinctrl module.
  209. Compatible models include:
  210. - 8 bits: sx1508q, sx1502q
  211. - 16 bits: sx1509q, sx1506q
  212. config PINCTRL_PISTACHIO
  213. def_bool y if MACH_PISTACHIO
  214. depends on GPIOLIB
  215. select PINMUX
  216. select GENERIC_PINCONF
  217. select GPIOLIB_IRQCHIP
  218. select OF_GPIO
  219. config PINCTRL_ST
  220. bool
  221. depends on OF
  222. select PINMUX
  223. select PINCONF
  224. select GPIOLIB_IRQCHIP
  225. config PINCTRL_U300
  226. bool "U300 pin controller driver"
  227. depends on ARCH_U300
  228. select PINMUX
  229. select GENERIC_PINCONF
  230. config PINCTRL_COH901
  231. bool "ST-Ericsson U300 COH 901 335/571 GPIO"
  232. depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
  233. select GPIOLIB_IRQCHIP
  234. help
  235. Say yes here to support GPIO interface on ST-Ericsson U300.
  236. The names of the two IP block variants supported are
  237. COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
  238. ports of 8 GPIO pins each.
  239. config PINCTRL_MAX77620
  240. tristate "MAX77620/MAX20024 Pincontrol support"
  241. depends on MFD_MAX77620 && OF
  242. select PINMUX
  243. select GENERIC_PINCONF
  244. help
  245. Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
  246. This PMIC has 8 GPIO pins that work as GPIO as well as special
  247. function in alternate mode. This driver also configure push-pull,
  248. open drain, FPS slots etc.
  249. config PINCTRL_PALMAS
  250. tristate "Pinctrl driver for the PALMAS Series MFD devices"
  251. depends on OF && MFD_PALMAS
  252. select PINMUX
  253. select GENERIC_PINCONF
  254. help
  255. Palmas device supports the configuration of pins for different
  256. functionality. This driver supports the pinmux, push-pull and
  257. open drain configuration for the Palmas series devices like
  258. TPS65913, TPS80036 etc.
  259. config PINCTRL_PIC32
  260. bool "Microchip PIC32 pin controller driver"
  261. depends on OF
  262. depends on MACH_PIC32
  263. select PINMUX
  264. select GENERIC_PINCONF
  265. select GPIOLIB_IRQCHIP
  266. select OF_GPIO
  267. help
  268. This is the pin controller and gpio driver for Microchip PIC32
  269. microcontrollers. This option is selected automatically when specific
  270. machine and arch are selected to build.
  271. config PINCTRL_PIC32MZDA
  272. def_bool y if PIC32MZDA
  273. select PINCTRL_PIC32
  274. config PINCTRL_ZYNQ
  275. bool "Pinctrl driver for Xilinx Zynq"
  276. depends on ARCH_ZYNQ
  277. select PINMUX
  278. select GENERIC_PINCONF
  279. help
  280. This selects the pinctrl driver for Xilinx Zynq.
  281. config PINCTRL_INGENIC
  282. bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
  283. default MACH_INGENIC
  284. depends on OF
  285. depends on MIPS || COMPILE_TEST
  286. select GENERIC_PINCONF
  287. select GENERIC_PINCTRL_GROUPS
  288. select GENERIC_PINMUX_FUNCTIONS
  289. select GPIOLIB
  290. select GPIOLIB_IRQCHIP
  291. select REGMAP_MMIO
  292. config PINCTRL_RK805
  293. tristate "Pinctrl and GPIO driver for RK805 PMIC"
  294. depends on MFD_RK808
  295. select GPIOLIB
  296. select PINMUX
  297. select GENERIC_PINCONF
  298. help
  299. This selects the pinctrl driver for RK805.
  300. config PINCTRL_OCELOT
  301. bool "Pinctrl driver for the Microsemi Ocelot SoCs"
  302. default y
  303. depends on OF
  304. depends on MSCC_OCELOT || COMPILE_TEST
  305. select GPIOLIB
  306. select GPIOLIB_IRQCHIP
  307. select GENERIC_PINCONF
  308. select GENERIC_PINCTRL_GROUPS
  309. select GENERIC_PINMUX_FUNCTIONS
  310. select REGMAP_MMIO
  311. source "drivers/pinctrl/actions/Kconfig"
  312. source "drivers/pinctrl/aspeed/Kconfig"
  313. source "drivers/pinctrl/bcm/Kconfig"
  314. source "drivers/pinctrl/berlin/Kconfig"
  315. source "drivers/pinctrl/freescale/Kconfig"
  316. source "drivers/pinctrl/intel/Kconfig"
  317. source "drivers/pinctrl/mvebu/Kconfig"
  318. source "drivers/pinctrl/nomadik/Kconfig"
  319. source "drivers/pinctrl/nuvoton/Kconfig"
  320. source "drivers/pinctrl/pxa/Kconfig"
  321. source "drivers/pinctrl/qcom/Kconfig"
  322. source "drivers/pinctrl/samsung/Kconfig"
  323. source "drivers/pinctrl/sh-pfc/Kconfig"
  324. source "drivers/pinctrl/spear/Kconfig"
  325. source "drivers/pinctrl/sprd/Kconfig"
  326. source "drivers/pinctrl/stm32/Kconfig"
  327. source "drivers/pinctrl/sunxi/Kconfig"
  328. source "drivers/pinctrl/tegra/Kconfig"
  329. source "drivers/pinctrl/ti/Kconfig"
  330. source "drivers/pinctrl/uniphier/Kconfig"
  331. source "drivers/pinctrl/vt8500/Kconfig"
  332. source "drivers/pinctrl/mediatek/Kconfig"
  333. source "drivers/pinctrl/zte/Kconfig"
  334. source "drivers/pinctrl/meson/Kconfig"
  335. source "drivers/pinctrl/cirrus/Kconfig"
  336. config PINCTRL_XWAY
  337. bool
  338. depends on SOC_TYPE_XWAY
  339. depends on PINCTRL_LANTIQ
  340. config PINCTRL_TB10X
  341. bool
  342. depends on OF && ARC_PLAT_TB10X
  343. select GPIOLIB
  344. endif