Kconfig 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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_IPROC_GPIO
  98. bool "Broadcom iProc GPIO (with PINCONF) driver"
  99. depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
  100. select GPIOLIB_IRQCHIP
  101. select PINCONF
  102. select GENERIC_PINCONF
  103. default ARCH_BCM_IPROC
  104. help
  105. Say yes here to enable the Broadcom iProc GPIO driver.
  106. The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
  107. same GPIO Controller IP hence this driver could be used for all.
  108. The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
  109. GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
  110. the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
  111. supported by this driver.
  112. The Broadcom NSP has two GPIO controllers including the ChipcommonA
  113. GPIO, the ChipcommonB GPIO. Later controller is supported by this
  114. driver.
  115. The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
  116. the ChipcommonG GPIO. Both controllers are supported by this driver.
  117. The Broadcom Stingray GPIO controllers are supported by this driver.
  118. All above SoCs GPIO controllers support basic PINCONF functions such
  119. as bias pull up, pull down, and drive strength configurations, when
  120. these pins are muxed to GPIO.
  121. It provides the framework where pins from the individual GPIO can be
  122. individually muxed to GPIO function, through interaction with the
  123. SoCs IOMUX controller. This features could be used only on SoCs which
  124. support individual pin muxing.
  125. config PINCTRL_CYGNUS_MUX
  126. bool "Broadcom Cygnus IOMUX driver"
  127. depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
  128. depends on OF
  129. select PINMUX
  130. select GENERIC_PINCONF
  131. default ARCH_BCM_CYGNUS
  132. help
  133. Say yes here to enable the Broadcom Cygnus IOMUX driver.
  134. The Broadcom Cygnus IOMUX driver supports group based IOMUX
  135. configuration, with the exception that certain individual pins
  136. can be overridden to GPIO function
  137. config PINCTRL_NS
  138. bool "Broadcom Northstar pins driver"
  139. depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
  140. select PINMUX
  141. select GENERIC_PINCONF
  142. select GENERIC_PINCTRL_GROUPS
  143. select GENERIC_PINMUX_FUNCTIONS
  144. default ARCH_BCM_5301X
  145. help
  146. Say yes here to enable the Broadcom NS SoC pins driver.
  147. The Broadcom Northstar pins driver supports muxing multi-purpose pins
  148. that can be used for various functions (e.g. SPI, I2C, UART) as well
  149. as GPIOs.
  150. config PINCTRL_NSP_GPIO
  151. bool "Broadcom NSP GPIO (with PINCONF) driver"
  152. depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
  153. select GPIOLIB_IRQCHIP
  154. select PINCONF
  155. select GENERIC_PINCONF
  156. default ARCH_BCM_NSP
  157. help
  158. Say yes here to enable the Broadcom NSP GPIO driver.
  159. The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
  160. supported by this driver.
  161. The ChipcommonA GPIO controller support basic PINCONF functions such
  162. as bias pull up, pull down, and drive strength configurations, when
  163. these pins are muxed to GPIO.
  164. config PINCTRL_NS2_MUX
  165. bool "Broadcom Northstar2 pinmux driver"
  166. depends on OF
  167. depends on ARCH_BCM_IPROC || COMPILE_TEST
  168. select PINMUX
  169. select GENERIC_PINCONF
  170. default ARM64 && ARCH_BCM_IPROC
  171. help
  172. Say yes here to enable the Broadcom NS2 MUX driver.
  173. The Broadcom Northstar2 IOMUX driver supports group based IOMUX
  174. configuration.
  175. config PINCTRL_NSP_MUX
  176. bool "Broadcom NSP IOMUX driver"
  177. depends on (ARCH_BCM_NSP || COMPILE_TEST)
  178. depends on OF
  179. select PINMUX
  180. select GENERIC_PINCONF
  181. default ARCH_BCM_NSP
  182. help
  183. Say yes here to enable the Broadcom NSP SOC IOMUX driver.
  184. The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
  185. configuration, with certain individual pins can be overridden
  186. to GPIO function.