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