Kconfig 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. #
  2. # PINCTRL infrastructure and drivers
  3. #
  4. config PINCTRL
  5. bool
  6. if PINCTRL
  7. menu "Pin controllers"
  8. depends on PINCTRL
  9. config PINMUX
  10. bool "Support pin multiplexing controllers"
  11. config PINCONF
  12. bool "Support pin configuration controllers"
  13. config GENERIC_PINCONF
  14. bool
  15. select PINCONF
  16. config DEBUG_PINCTRL
  17. bool "Debug PINCTRL calls"
  18. depends on DEBUG_KERNEL
  19. help
  20. Say Y here to add some extra checks and diagnostics to PINCTRL calls.
  21. config PINCTRL_ABX500
  22. bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
  23. depends on AB8500_CORE
  24. select GENERIC_PINCONF
  25. help
  26. Select this to enable the ABx500 family IC GPIO driver
  27. config PINCTRL_AB8500
  28. bool "AB8500 pin controller driver"
  29. depends on PINCTRL_ABX500 && ARCH_U8500
  30. config PINCTRL_AB8540
  31. bool "AB8540 pin controller driver"
  32. depends on PINCTRL_ABX500 && ARCH_U8500
  33. config PINCTRL_AB9540
  34. bool "AB9540 pin controller driver"
  35. depends on PINCTRL_ABX500 && ARCH_U8500
  36. config PINCTRL_AB8505
  37. bool "AB8505 pin controller driver"
  38. depends on PINCTRL_ABX500 && ARCH_U8500
  39. config PINCTRL_ADI2
  40. bool "ADI pin controller driver"
  41. depends on BLACKFIN
  42. select PINMUX
  43. select IRQ_DOMAIN
  44. help
  45. This is the pin controller and gpio driver for ADI BF54x, BF60x and
  46. future processors. This option is selected automatically when specific
  47. machine and arch are selected to build.
  48. config PINCTRL_AS3722
  49. bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
  50. depends on MFD_AS3722 && GPIOLIB
  51. select PINMUX
  52. select GENERIC_PINCONF
  53. help
  54. AS3722 device supports the configuration of GPIO pins for different
  55. functionality. This driver supports the pinmux, push-pull and
  56. open drain configuration for the GPIO pins of AS3722 devices. It also
  57. supports the GPIO functionality through gpiolib.
  58. config PINCTRL_BF54x
  59. def_bool y if BF54x
  60. select PINCTRL_ADI2
  61. config PINCTRL_BF60x
  62. def_bool y if BF60x
  63. select PINCTRL_ADI2
  64. config PINCTRL_AT91
  65. bool "AT91 pinctrl driver"
  66. depends on OF
  67. depends on ARCH_AT91
  68. select PINMUX
  69. select PINCONF
  70. help
  71. Say Y here to enable the at91 pinctrl driver
  72. config PINCTRL_BAYTRAIL
  73. bool "Intel Baytrail GPIO pin control"
  74. depends on GPIOLIB && ACPI && X86
  75. select IRQ_DOMAIN
  76. help
  77. driver for memory mapped GPIO functionality on Intel Baytrail
  78. platforms. Supports 3 banks with 102, 28 and 44 gpios.
  79. Most pins are usually muxed to some other functionality by firmware,
  80. so only a small amount is available for gpio use.
  81. Requires ACPI device enumeration code to set up a platform device.
  82. config PINCTRL_BCM2835
  83. bool
  84. select PINMUX
  85. select PINCONF
  86. config PINCTRL_IMX
  87. bool
  88. select PINMUX
  89. select PINCONF
  90. config PINCTRL_IMX1_CORE
  91. bool
  92. select PINMUX
  93. select PINCONF
  94. config PINCTRL_IMX27
  95. bool "IMX27 pinctrl driver"
  96. depends on OF
  97. depends on SOC_IMX27
  98. select PINCTRL_IMX1_CORE
  99. help
  100. Say Y here to enable the imx27 pinctrl driver
  101. config PINCTRL_IMX35
  102. bool "IMX35 pinctrl driver"
  103. depends on OF
  104. depends on SOC_IMX35
  105. select PINCTRL_IMX
  106. help
  107. Say Y here to enable the imx35 pinctrl driver
  108. config PINCTRL_IMX50
  109. bool "IMX50 pinctrl driver"
  110. depends on OF
  111. depends on SOC_IMX50
  112. select PINCTRL_IMX
  113. help
  114. Say Y here to enable the imx50 pinctrl driver
  115. config PINCTRL_IMX51
  116. bool "IMX51 pinctrl driver"
  117. depends on OF
  118. depends on SOC_IMX51
  119. select PINCTRL_IMX
  120. help
  121. Say Y here to enable the imx51 pinctrl driver
  122. config PINCTRL_IMX53
  123. bool "IMX53 pinctrl driver"
  124. depends on OF
  125. depends on SOC_IMX53
  126. select PINCTRL_IMX
  127. help
  128. Say Y here to enable the imx53 pinctrl driver
  129. config PINCTRL_IMX6Q
  130. bool "IMX6Q/DL pinctrl driver"
  131. depends on OF
  132. depends on SOC_IMX6Q
  133. select PINCTRL_IMX
  134. help
  135. Say Y here to enable the imx6q/dl pinctrl driver
  136. config PINCTRL_IMX6SL
  137. bool "IMX6SL pinctrl driver"
  138. depends on OF
  139. depends on SOC_IMX6SL
  140. select PINCTRL_IMX
  141. help
  142. Say Y here to enable the imx6sl pinctrl driver
  143. config PINCTRL_VF610
  144. bool "Freescale Vybrid VF610 pinctrl driver"
  145. depends on OF
  146. depends on SOC_VF610
  147. select PINCTRL_IMX
  148. help
  149. Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
  150. config PINCTRL_LANTIQ
  151. bool
  152. depends on LANTIQ
  153. select PINMUX
  154. select PINCONF
  155. config PINCTRL_FALCON
  156. bool
  157. depends on SOC_FALCON
  158. depends on PINCTRL_LANTIQ
  159. config PINCTRL_MXS
  160. bool
  161. select PINMUX
  162. select PINCONF
  163. config PINCTRL_IMX23
  164. bool
  165. select PINCTRL_MXS
  166. config PINCTRL_IMX28
  167. bool
  168. select PINCTRL_MXS
  169. config PINCTRL_NOMADIK
  170. bool "Nomadik pin controller driver"
  171. depends on ARCH_U8500 || ARCH_NOMADIK
  172. select PINMUX
  173. select PINCONF
  174. config PINCTRL_STN8815
  175. bool "STN8815 pin controller driver"
  176. depends on PINCTRL_NOMADIK && ARCH_NOMADIK
  177. config PINCTRL_DB8500
  178. bool "DB8500 pin controller driver"
  179. depends on PINCTRL_NOMADIK && ARCH_U8500
  180. config PINCTRL_DB8540
  181. bool "DB8540 pin controller driver"
  182. depends on PINCTRL_NOMADIK && ARCH_U8500
  183. config PINCTRL_ROCKCHIP
  184. bool
  185. select PINMUX
  186. select GENERIC_PINCONF
  187. select GENERIC_IRQ_CHIP
  188. config PINCTRL_SINGLE
  189. tristate "One-register-per-pin type device tree based pinctrl driver"
  190. depends on OF
  191. select PINMUX
  192. select PINCONF
  193. select GENERIC_PINCONF
  194. help
  195. This selects the device tree based generic pinctrl driver.
  196. config PINCTRL_SIRF
  197. bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
  198. depends on ARCH_SIRF
  199. select PINMUX
  200. config PINCTRL_SUNXI
  201. bool
  202. select PINMUX
  203. select GENERIC_PINCONF
  204. config PINCTRL_ST
  205. bool
  206. depends on OF
  207. select PINMUX
  208. select PINCONF
  209. config PINCTRL_TEGRA
  210. bool
  211. select PINMUX
  212. select PINCONF
  213. config PINCTRL_TEGRA20
  214. bool
  215. select PINCTRL_TEGRA
  216. config PINCTRL_TEGRA30
  217. bool
  218. select PINCTRL_TEGRA
  219. config PINCTRL_TEGRA114
  220. bool
  221. select PINCTRL_TEGRA
  222. config PINCTRL_TZ1090
  223. bool "Toumaz Xenif TZ1090 pin control driver"
  224. depends on SOC_TZ1090
  225. select PINMUX
  226. select GENERIC_PINCONF
  227. config PINCTRL_TZ1090_PDC
  228. bool "Toumaz Xenif TZ1090 PDC pin control driver"
  229. depends on SOC_TZ1090
  230. select PINMUX
  231. select PINCONF
  232. config PINCTRL_U300
  233. bool "U300 pin controller driver"
  234. depends on ARCH_U300
  235. select PINMUX
  236. select GENERIC_PINCONF
  237. config PINCTRL_COH901
  238. bool "ST-Ericsson U300 COH 901 335/571 GPIO"
  239. depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
  240. help
  241. Say yes here to support GPIO interface on ST-Ericsson U300.
  242. The names of the two IP block variants supported are
  243. COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
  244. ports of 8 GPIO pins each.
  245. config PINCTRL_SAMSUNG
  246. bool
  247. select PINMUX
  248. select PINCONF
  249. config PINCTRL_EXYNOS
  250. bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
  251. depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
  252. select PINCTRL_SAMSUNG
  253. config PINCTRL_EXYNOS5440
  254. bool "Samsung EXYNOS5440 SoC pinctrl driver"
  255. depends on SOC_EXYNOS5440
  256. select PINMUX
  257. select PINCONF
  258. config PINCTRL_PALMAS
  259. bool "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_S3C24XX
  269. bool "Samsung S3C24XX SoC pinctrl driver"
  270. depends on ARCH_S3C24XX
  271. select PINCTRL_SAMSUNG
  272. config PINCTRL_S3C64XX
  273. bool "Samsung S3C64XX SoC pinctrl driver"
  274. depends on ARCH_S3C64XX
  275. select PINCTRL_SAMSUNG
  276. source "drivers/pinctrl/mvebu/Kconfig"
  277. source "drivers/pinctrl/sh-pfc/Kconfig"
  278. source "drivers/pinctrl/spear/Kconfig"
  279. source "drivers/pinctrl/vt8500/Kconfig"
  280. config PINCTRL_XWAY
  281. bool
  282. depends on SOC_TYPE_XWAY
  283. depends on PINCTRL_LANTIQ
  284. config PINCTRL_TB10X
  285. bool
  286. depends on ARC_PLAT_TB10X
  287. endmenu
  288. endif