Kconfig 10 KB

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