Kconfig 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Broadcom pinctrl drivers
  4. #
  5. config PINCTRL_BCM281XX
  6. bool "Broadcom BCM281xx pinctrl driver"
  7. depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
  8. select PINMUX
  9. select PINCONF
  10. select GENERIC_PINCONF
  11. select REGMAP_MMIO
  12. default ARCH_BCM_MOBILE
  13. help
  14. Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
  15. for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
  16. BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
  17. framework. GPIO is provided by a separate GPIO driver.
  18. config PINCTRL_BCM2835
  19. tristate "Broadcom BCM2835 GPIO (with PINCONF) driver"
  20. depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
  21. select PINMUX
  22. select PINCONF
  23. select GENERIC_PINCONF
  24. select GPIOLIB
  25. select GPIOLIB_IRQCHIP
  26. default ARCH_BCM2835 || ARCH_BRCMSTB
  27. help
  28. Say Y here to enable the Broadcom BCM2835 GPIO driver.
  29. config PINCTRL_BCM4908
  30. tristate "Broadcom BCM4908 pinmux driver"
  31. depends on OF && (ARCH_BCMBCA || COMPILE_TEST)
  32. select PINMUX
  33. select PINCONF
  34. select GENERIC_PINCONF
  35. select GENERIC_PINCTRL_GROUPS
  36. select GENERIC_PINMUX_FUNCTIONS
  37. default ARCH_BCMBCA
  38. help
  39. Driver for BCM4908 family SoCs with integrated pin controller.
  40. If compiled as module it will be called pinctrl-bcm4908.
  41. config PINCTRL_BCM63XX
  42. bool
  43. select PINMUX
  44. select PINCONF
  45. select GENERIC_PINCONF
  46. select GPIOLIB
  47. select REGMAP
  48. select GPIO_REGMAP
  49. config PINCTRL_BCM6318
  50. bool "Broadcom BCM6318 GPIO driver"
  51. depends on (BMIPS_GENERIC || COMPILE_TEST)
  52. depends on OF
  53. select PINCTRL_BCM63XX
  54. default BMIPS_GENERIC
  55. help
  56. Say Y here to enable the Broadcom BCM6318 GPIO driver.
  57. config PINCTRL_BCM6328
  58. bool "Broadcom BCM6328 GPIO driver"
  59. depends on (BMIPS_GENERIC || COMPILE_TEST)
  60. depends on OF
  61. select PINCTRL_BCM63XX
  62. default BMIPS_GENERIC
  63. help
  64. Say Y here to enable the Broadcom BCM6328 GPIO driver.
  65. config PINCTRL_BCM6358
  66. bool "Broadcom BCM6358 GPIO driver"
  67. depends on (BMIPS_GENERIC || COMPILE_TEST)
  68. depends on OF
  69. select PINCTRL_BCM63XX
  70. default BMIPS_GENERIC
  71. help
  72. Say Y here to enable the Broadcom BCM6358 GPIO driver.
  73. config PINCTRL_BCM6362
  74. bool "Broadcom BCM6362 GPIO driver"
  75. depends on (BMIPS_GENERIC || COMPILE_TEST)
  76. depends on OF
  77. select PINCTRL_BCM63XX
  78. default BMIPS_GENERIC
  79. help
  80. Say Y here to enable the Broadcom BCM6362 GPIO driver.
  81. config PINCTRL_BCM6368
  82. bool "Broadcom BCM6368 GPIO driver"
  83. depends on (BMIPS_GENERIC || COMPILE_TEST)
  84. depends on OF
  85. select PINCTRL_BCM63XX
  86. default BMIPS_GENERIC
  87. help
  88. Say Y here to enable the Broadcom BCM6368 GPIO driver.
  89. config PINCTRL_BCM63268
  90. bool "Broadcom BCM63268 GPIO driver"
  91. depends on (BMIPS_GENERIC || COMPILE_TEST)
  92. depends on OF
  93. select PINCTRL_BCM63XX
  94. default BMIPS_GENERIC
  95. help
  96. Say Y here to enable the Broadcom BCM63268 GPIO driver.
  97. config PINCTRL_BRCMSTB
  98. tristate "Broadcom STB product line pin controller driver"
  99. depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
  100. select PINMUX
  101. select PINCONF
  102. select GENERIC_PINCONF
  103. help
  104. Enable pin muxing and configuration functionality
  105. for Broadcom STB product line chipsets.
  106. source "drivers/pinctrl/bcm/Kconfig.stb"
  107. config PINCTRL_IPROC_GPIO
  108. bool "Broadcom iProc GPIO (with PINCONF) driver"
  109. depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
  110. select GPIOLIB_IRQCHIP
  111. select PINCONF
  112. select GENERIC_PINCONF
  113. default ARCH_BCM_IPROC
  114. help
  115. Say yes here to enable the Broadcom iProc GPIO driver.
  116. The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
  117. same GPIO Controller IP hence this driver could be used for all.
  118. The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
  119. GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
  120. the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
  121. supported by this driver.
  122. The Broadcom NSP has two GPIO controllers including the ChipcommonA
  123. GPIO, the ChipcommonB GPIO. Later controller is supported by this
  124. driver.
  125. The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
  126. the ChipcommonG GPIO. Both controllers are supported by this driver.
  127. The Broadcom Stingray GPIO controllers are supported by this driver.
  128. All above SoCs GPIO controllers support basic PINCONF functions such
  129. as bias pull up, pull down, and drive strength configurations, when
  130. these pins are muxed to GPIO.
  131. It provides the framework where pins from the individual GPIO can be
  132. individually muxed to GPIO function, through interaction with the
  133. SoCs IOMUX controller. This features could be used only on SoCs which
  134. support individual pin muxing.
  135. config PINCTRL_CYGNUS_MUX
  136. bool "Broadcom Cygnus IOMUX driver"
  137. depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
  138. depends on OF
  139. select PINMUX
  140. select GENERIC_PINCONF
  141. default ARCH_BCM_CYGNUS
  142. help
  143. Say yes here to enable the Broadcom Cygnus IOMUX driver.
  144. The Broadcom Cygnus IOMUX driver supports group based IOMUX
  145. configuration, with the exception that certain individual pins
  146. can be overridden to GPIO function
  147. config PINCTRL_NS
  148. bool "Broadcom Northstar pins driver"
  149. depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
  150. select PINMUX
  151. select GENERIC_PINCONF
  152. select GENERIC_PINCTRL_GROUPS
  153. select GENERIC_PINMUX_FUNCTIONS
  154. default ARCH_BCM_5301X
  155. help
  156. Say yes here to enable the Broadcom NS SoC pins driver.
  157. The Broadcom Northstar pins driver supports muxing multi-purpose pins
  158. that can be used for various functions (e.g. SPI, I2C, UART) as well
  159. as GPIOs.
  160. config PINCTRL_NSP_GPIO
  161. bool "Broadcom NSP GPIO (with PINCONF) driver"
  162. depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
  163. select GPIOLIB_IRQCHIP
  164. select PINCONF
  165. select GENERIC_PINCONF
  166. default ARCH_BCM_NSP
  167. help
  168. Say yes here to enable the Broadcom NSP GPIO driver.
  169. The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
  170. supported by this driver.
  171. The ChipcommonA GPIO controller support basic PINCONF functions such
  172. as bias pull up, pull down, and drive strength configurations, when
  173. these pins are muxed to GPIO.
  174. config PINCTRL_NS2_MUX
  175. bool "Broadcom Northstar2 pinmux driver"
  176. depends on OF
  177. depends on ARCH_BCM_IPROC || COMPILE_TEST
  178. select PINMUX
  179. select GENERIC_PINCONF
  180. default ARM64 && ARCH_BCM_IPROC
  181. help
  182. Say yes here to enable the Broadcom NS2 MUX driver.
  183. The Broadcom Northstar2 IOMUX driver supports group based IOMUX
  184. configuration.
  185. config PINCTRL_NSP_MUX
  186. bool "Broadcom NSP IOMUX driver"
  187. depends on (ARCH_BCM_NSP || COMPILE_TEST)
  188. depends on OF
  189. select PINMUX
  190. select GENERIC_PINCONF
  191. default ARCH_BCM_NSP
  192. help
  193. Say yes here to enable the Broadcom NSP SOC IOMUX driver.
  194. The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
  195. configuration, with certain individual pins can be overridden
  196. to GPIO function.