Kconfig 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. # SPDX-License-Identifier: GPL-2.0
  2. menuconfig ARCH_BCM
  3. bool "Broadcom SoC Support"
  4. depends on ARCH_MULTI_V6_V7
  5. help
  6. This enables support for Broadcom ARM based SoC chips
  7. if ARCH_BCM
  8. comment "IPROC architected SoCs"
  9. config ARCH_BCM_IPROC
  10. bool
  11. select ARM_GIC
  12. select CACHE_L2X0
  13. select HAVE_ARM_SCU if SMP
  14. select HAVE_ARM_TWD if SMP
  15. select ARM_GLOBAL_TIMER
  16. select CLKSRC_MMIO
  17. select GPIOLIB
  18. select ARM_AMBA
  19. select PINCTRL
  20. help
  21. This enables support for systems based on Broadcom IPROC architected SoCs.
  22. The IPROC complex contains one or more ARM CPUs along with common
  23. core peripherals. Application specific SoCs are created by adding a
  24. uArchitecture containing peripherals outside of the IPROC complex.
  25. Currently supported SoCs are Cygnus.
  26. config ARCH_BCM_CYGNUS
  27. bool "Broadcom Cygnus Support"
  28. depends on ARCH_MULTI_V7
  29. select ARCH_BCM_IPROC
  30. help
  31. Enable support for the Cygnus family,
  32. which includes the following variants:
  33. BCM11300, BCM11320, BCM11350, BCM11360,
  34. BCM58300, BCM58302, BCM58303, BCM58305.
  35. config ARCH_BCM_HR2
  36. bool "Broadcom Hurricane 2 SoC support"
  37. depends on ARCH_MULTI_V7
  38. select ARCH_BCM_IPROC
  39. help
  40. Enable support for the Hurricane 2 family,
  41. which includes the following variants:
  42. BCM53342, BCM53343, BCM53344, BCM53346.
  43. config ARCH_BCM_NSP
  44. bool "Broadcom Northstar Plus SoC Support"
  45. depends on ARCH_MULTI_V7
  46. select ARCH_BCM_IPROC
  47. select ARM_ERRATA_754322
  48. select ARM_ERRATA_775420
  49. select ARM_ERRATA_764369 if SMP
  50. select ARM_TIMER_SP804
  51. help
  52. Support for Broadcom Northstar Plus SoC.
  53. Broadcom Northstar Plus family of SoCs are used for switching control
  54. and management applications as well as residential router/gateway
  55. applications. The SoC features dual core Cortex A9 ARM CPUs,
  56. integrating several peripheral interfaces including multiple Gigabit
  57. Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
  58. NAND flash, SATA and several other IO controllers.
  59. config ARCH_BCM_5301X
  60. bool "Broadcom BCM470X / BCM5301X ARM SoC"
  61. depends on ARCH_MULTI_V7
  62. select ARCH_BCM_IPROC
  63. select ARM_ERRATA_754322
  64. select ARM_ERRATA_775420
  65. select ARM_ERRATA_764369 if SMP
  66. help
  67. Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
  68. This is a network SoC line mostly used in home routers and
  69. wifi access points, its internal name is Northstar.
  70. This includes the following SoC: BCM53010, BCM53011, BCM53012,
  71. BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
  72. BCM4708 and BCM4709.
  73. Do not confuse this with the BCM4760 which is a totally
  74. different SoC or with the older BCM47XX and BCM53XX based
  75. network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
  76. comment "KONA architected SoCs"
  77. config ARCH_BCM_MOBILE
  78. bool
  79. select GPIOLIB
  80. select ARM_ERRATA_754322
  81. select ARM_ERRATA_775420
  82. select ARM_GIC
  83. select GPIO_BCM_KONA
  84. select HAVE_ARM_ARCH_TIMER
  85. select PINCTRL
  86. select ARCH_BCM_MOBILE_SMP if SMP
  87. select BCM_KONA_TIMER
  88. help
  89. This enables support for systems based on Broadcom mobile SoCs.
  90. config ARCH_BCM_281XX
  91. bool "Broadcom BCM281XX SoC family"
  92. depends on ARCH_MULTI_V7
  93. select ARCH_BCM_MOBILE
  94. help
  95. Enable support for the BCM281XX family, which includes
  96. BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
  97. variants.
  98. config ARCH_BCM_21664
  99. bool "Broadcom BCM21664 SoC family"
  100. depends on ARCH_MULTI_V7
  101. select ARCH_BCM_MOBILE
  102. help
  103. Enable support for the BCM21664 family, which includes
  104. BCM21663 and BCM21664 variants.
  105. config ARCH_BCM_23550
  106. bool "Broadcom BCM23550 SoC"
  107. depends on ARCH_MULTI_V7
  108. select ARCH_BCM_MOBILE
  109. help
  110. Enable support for the BCM23550.
  111. config ARCH_BCM_MOBILE_L2_CACHE
  112. bool "Broadcom mobile SoC level 2 cache support"
  113. depends on ARCH_BCM_281XX || ARCH_BCM_21664
  114. default y
  115. select CACHE_L2X0
  116. select ARCH_BCM_MOBILE_SMC
  117. config ARCH_BCM_MOBILE_SMC
  118. bool
  119. depends on ARCH_BCM_MOBILE
  120. config ARCH_BCM_MOBILE_SMP
  121. bool
  122. depends on ARCH_BCM_MOBILE
  123. select HAVE_ARM_SCU
  124. select ARM_ERRATA_764369
  125. help
  126. SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
  127. Provided as an option so SMP support for SoCs of this type
  128. can be disabled for an SMP-enabled kernel.
  129. comment "Other Architectures"
  130. config ARCH_BCM2835
  131. bool "Broadcom BCM2835 family"
  132. depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
  133. select GPIOLIB
  134. select ARM_AMBA
  135. select ARM_ERRATA_411920 if ARCH_MULTI_V6
  136. select ARM_GIC if ARCH_MULTI_V7
  137. select ZONE_DMA if ARCH_MULTI_V7
  138. select ARM_TIMER_SP804
  139. select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
  140. select BCM2835_TIMER
  141. select PINCTRL
  142. select PINCTRL_BCM2835
  143. select MFD_CORE
  144. help
  145. This enables support for the Broadcom BCM2711 and BCM283x SoCs.
  146. This SoC is used in the Raspberry Pi and Roku 2 devices.
  147. config ARCH_BCM_53573
  148. bool "Broadcom BCM53573 SoC series support"
  149. depends on ARCH_MULTI_V7
  150. select ARCH_BCM_IPROC
  151. select HAVE_ARM_ARCH_TIMER
  152. help
  153. BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
  154. embedded in the chipset.
  155. This SoC line is mostly used in home routers and is some cheaper
  156. alternative for Northstar family.
  157. The base chip is BCM53573 and there are some packaging modifications
  158. like BCM47189 and BCM47452.
  159. config ARCH_BRCMSTB
  160. bool "Broadcom BCM7XXX based boards"
  161. depends on ARCH_MULTI_V7
  162. select ARCH_HAS_RESET_CONTROLLER
  163. select ARM_AMBA
  164. select ARM_GIC
  165. select ARM_GIC_V3
  166. select ARM_ERRATA_798181 if SMP
  167. select HAVE_ARM_ARCH_TIMER
  168. select ZONE_DMA if ARM_LPAE
  169. select SOC_BRCMSTB
  170. select SOC_BUS
  171. select PINCTRL
  172. help
  173. Say Y if you intend to run the kernel on a Broadcom ARM-based STB
  174. chipset.
  175. This enables support for Broadcom ARM-based set-top box chipsets,
  176. including the 7445 family of chips.
  177. menuconfig ARCH_BCMBCA
  178. bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
  179. depends on ARCH_MULTI_V7
  180. select ARM_AMBA
  181. select ARM_GIC
  182. select HAVE_ARM_ARCH_TIMER
  183. help
  184. Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
  185. BCA chipset.
  186. This enables support for Broadcom BCA ARM-based broadband chipsets,
  187. including the DSL, PON and Wireless family of chips.
  188. comment "BCMBCA sub platforms"
  189. if ARCH_BCMBCA
  190. config ARCH_BCMBCA_CORTEXA7
  191. bool "Cortex-A7 SoCs"
  192. help
  193. Say Y if you intend to run the kernel on a Broadcom Broadband ARM A7
  194. based chipset.
  195. This enables support for Broadcom BCA ARM A7 broadband chipsets,
  196. including various DSL, PON and Wireless family of chips.
  197. config ARCH_BCMBCA_CORTEXA9
  198. bool "Cortex-A9 SoCS"
  199. select ARM_ERRATA_754322
  200. select ARM_ERRATA_764369 if SMP
  201. select ARCH_HAS_RESET_CONTROLLER
  202. select ARM_GLOBAL_TIMER
  203. select CACHE_L2X0
  204. select HAVE_ARM_TWD if SMP
  205. select HAVE_ARM_SCU if SMP
  206. help
  207. Say Y if you intend to run the kernel on a Broadcom Broadband ARM A9
  208. based BCA chipset.
  209. This enables support for Broadcom BCA ARM A9 broadband chipset. Currently
  210. only DSL chip BCM63138.
  211. config ARCH_BCMBCA_BRAHMAB15
  212. bool "Brahma-B15 SoCs"
  213. select ARM_ERRATA_798181 if SMP
  214. help
  215. Say Y if you intend to run the kernel on a Broadcom Broadband ARM B15
  216. based BCA chipset.
  217. This enables support for Broadcom BCA ARM B15 broadband chipset. Currently
  218. only DSL chip BCM63148.
  219. endif
  220. endif