Kconfig 9.4 KB

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