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