Kconfig 6.1 KB

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