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