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