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