162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_cimenuconfig ARCH_BCM 362306a36Sopenharmony_ci bool "Broadcom SoC Support" 462306a36Sopenharmony_ci depends on ARCH_MULTI_V6_V7 562306a36Sopenharmony_ci help 662306a36Sopenharmony_ci This enables support for Broadcom ARM based SoC chips 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciif ARCH_BCM 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cicomment "IPROC architected SoCs" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciconfig ARCH_BCM_IPROC 1362306a36Sopenharmony_ci bool 1462306a36Sopenharmony_ci select ARM_GIC 1562306a36Sopenharmony_ci select CACHE_L2X0 1662306a36Sopenharmony_ci select HAVE_ARM_SCU if SMP 1762306a36Sopenharmony_ci select HAVE_ARM_TWD if SMP 1862306a36Sopenharmony_ci select ARM_GLOBAL_TIMER 1962306a36Sopenharmony_ci select CLKSRC_MMIO 2062306a36Sopenharmony_ci select GPIOLIB 2162306a36Sopenharmony_ci select ARM_AMBA 2262306a36Sopenharmony_ci select PINCTRL 2362306a36Sopenharmony_ci help 2462306a36Sopenharmony_ci This enables support for systems based on Broadcom IPROC architected SoCs. 2562306a36Sopenharmony_ci The IPROC complex contains one or more ARM CPUs along with common 2662306a36Sopenharmony_ci core peripherals. Application specific SoCs are created by adding a 2762306a36Sopenharmony_ci uArchitecture containing peripherals outside of the IPROC complex. 2862306a36Sopenharmony_ci Currently supported SoCs are Cygnus. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciconfig ARCH_BCM_CYGNUS 3162306a36Sopenharmony_ci bool "Broadcom Cygnus Support" 3262306a36Sopenharmony_ci depends on ARCH_MULTI_V7 3362306a36Sopenharmony_ci select ARCH_BCM_IPROC 3462306a36Sopenharmony_ci help 3562306a36Sopenharmony_ci Enable support for the Cygnus family, 3662306a36Sopenharmony_ci which includes the following variants: 3762306a36Sopenharmony_ci BCM11300, BCM11320, BCM11350, BCM11360, 3862306a36Sopenharmony_ci BCM58300, BCM58302, BCM58303, BCM58305. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciconfig ARCH_BCM_HR2 4162306a36Sopenharmony_ci bool "Broadcom Hurricane 2 SoC support" 4262306a36Sopenharmony_ci depends on ARCH_MULTI_V7 4362306a36Sopenharmony_ci select ARCH_BCM_IPROC 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci Enable support for the Hurricane 2 family, 4662306a36Sopenharmony_ci which includes the following variants: 4762306a36Sopenharmony_ci BCM53342, BCM53343, BCM53344, BCM53346. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig ARCH_BCM_NSP 5062306a36Sopenharmony_ci bool "Broadcom Northstar Plus SoC Support" 5162306a36Sopenharmony_ci depends on ARCH_MULTI_V7 5262306a36Sopenharmony_ci select ARCH_BCM_IPROC 5362306a36Sopenharmony_ci select ARM_ERRATA_754322 5462306a36Sopenharmony_ci select ARM_ERRATA_775420 5562306a36Sopenharmony_ci select ARM_ERRATA_764369 if SMP 5662306a36Sopenharmony_ci select ARM_TIMER_SP804 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci Support for Broadcom Northstar Plus SoC. 5962306a36Sopenharmony_ci Broadcom Northstar Plus family of SoCs are used for switching control 6062306a36Sopenharmony_ci and management applications as well as residential router/gateway 6162306a36Sopenharmony_ci applications. The SoC features dual core Cortex A9 ARM CPUs, 6262306a36Sopenharmony_ci integrating several peripheral interfaces including multiple Gigabit 6362306a36Sopenharmony_ci Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and 6462306a36Sopenharmony_ci NAND flash, SATA and several other IO controllers. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig ARCH_BCM_5301X 6762306a36Sopenharmony_ci bool "Broadcom BCM470X / BCM5301X ARM SoC" 6862306a36Sopenharmony_ci depends on ARCH_MULTI_V7 6962306a36Sopenharmony_ci select ARCH_BCM_IPROC 7062306a36Sopenharmony_ci select ARM_ERRATA_754322 7162306a36Sopenharmony_ci select ARM_ERRATA_775420 7262306a36Sopenharmony_ci select ARM_ERRATA_764369 if SMP 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci help 7562306a36Sopenharmony_ci Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci This is a network SoC line mostly used in home routers and 7862306a36Sopenharmony_ci wifi access points, its internal name is Northstar. 7962306a36Sopenharmony_ci This includes the following SoC: BCM53010, BCM53011, BCM53012, 8062306a36Sopenharmony_ci BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707, 8162306a36Sopenharmony_ci BCM4708 and BCM4709. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci Do not confuse this with the BCM4760 which is a totally 8462306a36Sopenharmony_ci different SoC or with the older BCM47XX and BCM53XX based 8562306a36Sopenharmony_ci network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_cicomment "KONA architected SoCs" 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciconfig ARCH_BCM_MOBILE 9062306a36Sopenharmony_ci bool 9162306a36Sopenharmony_ci select GPIOLIB 9262306a36Sopenharmony_ci select ARM_ERRATA_754322 9362306a36Sopenharmony_ci select ARM_ERRATA_775420 9462306a36Sopenharmony_ci select ARM_GIC 9562306a36Sopenharmony_ci select GPIO_BCM_KONA 9662306a36Sopenharmony_ci select TICK_ONESHOT 9762306a36Sopenharmony_ci select HAVE_ARM_ARCH_TIMER 9862306a36Sopenharmony_ci select PINCTRL 9962306a36Sopenharmony_ci select ARCH_BCM_MOBILE_SMP if SMP 10062306a36Sopenharmony_ci select BCM_KONA_TIMER 10162306a36Sopenharmony_ci help 10262306a36Sopenharmony_ci This enables support for systems based on Broadcom mobile SoCs. 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig ARCH_BCM_281XX 10562306a36Sopenharmony_ci bool "Broadcom BCM281XX SoC family" 10662306a36Sopenharmony_ci depends on ARCH_MULTI_V7 10762306a36Sopenharmony_ci select ARCH_BCM_MOBILE 10862306a36Sopenharmony_ci help 10962306a36Sopenharmony_ci Enable support for the BCM281XX family, which includes 11062306a36Sopenharmony_ci BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 11162306a36Sopenharmony_ci variants. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciconfig ARCH_BCM_21664 11462306a36Sopenharmony_ci bool "Broadcom BCM21664 SoC family" 11562306a36Sopenharmony_ci depends on ARCH_MULTI_V7 11662306a36Sopenharmony_ci select ARCH_BCM_MOBILE 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci Enable support for the BCM21664 family, which includes 11962306a36Sopenharmony_ci BCM21663 and BCM21664 variants. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciconfig ARCH_BCM_23550 12262306a36Sopenharmony_ci bool "Broadcom BCM23550 SoC" 12362306a36Sopenharmony_ci depends on ARCH_MULTI_V7 12462306a36Sopenharmony_ci select ARCH_BCM_MOBILE 12562306a36Sopenharmony_ci help 12662306a36Sopenharmony_ci Enable support for the BCM23550. 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ciconfig ARCH_BCM_MOBILE_L2_CACHE 12962306a36Sopenharmony_ci bool "Broadcom mobile SoC level 2 cache support" 13062306a36Sopenharmony_ci depends on ARCH_BCM_281XX || ARCH_BCM_21664 13162306a36Sopenharmony_ci default y 13262306a36Sopenharmony_ci select CACHE_L2X0 13362306a36Sopenharmony_ci select ARCH_BCM_MOBILE_SMC 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciconfig ARCH_BCM_MOBILE_SMC 13662306a36Sopenharmony_ci bool 13762306a36Sopenharmony_ci depends on ARCH_BCM_MOBILE 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciconfig ARCH_BCM_MOBILE_SMP 14062306a36Sopenharmony_ci bool 14162306a36Sopenharmony_ci depends on ARCH_BCM_MOBILE 14262306a36Sopenharmony_ci select HAVE_ARM_SCU 14362306a36Sopenharmony_ci select ARM_ERRATA_764369 14462306a36Sopenharmony_ci help 14562306a36Sopenharmony_ci SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families. 14662306a36Sopenharmony_ci Provided as an option so SMP support for SoCs of this type 14762306a36Sopenharmony_ci can be disabled for an SMP-enabled kernel. 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_cicomment "Other Architectures" 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ciconfig ARCH_BCM2835 15262306a36Sopenharmony_ci bool "Broadcom BCM2835 family" 15362306a36Sopenharmony_ci depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 15462306a36Sopenharmony_ci select GPIOLIB 15562306a36Sopenharmony_ci select ARM_AMBA 15662306a36Sopenharmony_ci select ARM_ERRATA_411920 if ARCH_MULTI_V6 15762306a36Sopenharmony_ci select ARM_GIC if ARCH_MULTI_V7 15862306a36Sopenharmony_ci select ZONE_DMA if ARCH_MULTI_V7 15962306a36Sopenharmony_ci select ARM_TIMER_SP804 16062306a36Sopenharmony_ci select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 16162306a36Sopenharmony_ci select BCM2835_TIMER 16262306a36Sopenharmony_ci select PINCTRL 16362306a36Sopenharmony_ci select PINCTRL_BCM2835 16462306a36Sopenharmony_ci select MFD_CORE 16562306a36Sopenharmony_ci help 16662306a36Sopenharmony_ci This enables support for the Broadcom BCM2711 and BCM283x SoCs. 16762306a36Sopenharmony_ci This SoC is used in the Raspberry Pi and Roku 2 devices. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciconfig ARCH_BCM_53573 17062306a36Sopenharmony_ci bool "Broadcom BCM53573 SoC series support" 17162306a36Sopenharmony_ci depends on ARCH_MULTI_V7 17262306a36Sopenharmony_ci select ARCH_BCM_IPROC 17362306a36Sopenharmony_ci select HAVE_ARM_ARCH_TIMER 17462306a36Sopenharmony_ci help 17562306a36Sopenharmony_ci BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless 17662306a36Sopenharmony_ci embedded in the chipset. 17762306a36Sopenharmony_ci This SoC line is mostly used in home routers and is some cheaper 17862306a36Sopenharmony_ci alternative for Northstar family. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci The base chip is BCM53573 and there are some packaging modifications 18162306a36Sopenharmony_ci like BCM47189 and BCM47452. 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ciconfig ARCH_BRCMSTB 18462306a36Sopenharmony_ci bool "Broadcom BCM7XXX based boards" 18562306a36Sopenharmony_ci depends on ARCH_MULTI_V7 18662306a36Sopenharmony_ci select ARCH_HAS_RESET_CONTROLLER 18762306a36Sopenharmony_ci select ARM_AMBA 18862306a36Sopenharmony_ci select ARM_GIC 18962306a36Sopenharmony_ci select ARM_ERRATA_798181 if SMP 19062306a36Sopenharmony_ci select HAVE_ARM_ARCH_TIMER 19162306a36Sopenharmony_ci select ZONE_DMA if ARM_LPAE 19262306a36Sopenharmony_ci select SOC_BRCMSTB 19362306a36Sopenharmony_ci select SOC_BUS 19462306a36Sopenharmony_ci select PINCTRL 19562306a36Sopenharmony_ci help 19662306a36Sopenharmony_ci Say Y if you intend to run the kernel on a Broadcom ARM-based STB 19762306a36Sopenharmony_ci chipset. 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci This enables support for Broadcom ARM-based set-top box chipsets, 20062306a36Sopenharmony_ci including the 7445 family of chips. 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_cimenuconfig ARCH_BCMBCA 20362306a36Sopenharmony_ci bool "Broadcom Broadband Carrier Access (BCA) origin SoC" 20462306a36Sopenharmony_ci depends on ARCH_MULTI_V7 20562306a36Sopenharmony_ci select ARM_AMBA 20662306a36Sopenharmony_ci select ARM_GIC 20762306a36Sopenharmony_ci select HAVE_ARM_ARCH_TIMER 20862306a36Sopenharmony_ci help 20962306a36Sopenharmony_ci Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based 21062306a36Sopenharmony_ci BCA chipset. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci This enables support for Broadcom BCA ARM-based broadband chipsets, 21362306a36Sopenharmony_ci including the DSL, PON and Wireless family of chips. 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_cicomment "BCMBCA sub platforms" 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ciif ARCH_BCMBCA 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ciconfig ARCH_BCMBCA_CORTEXA7 22062306a36Sopenharmony_ci bool "Cortex-A7 SoCs" 22162306a36Sopenharmony_ci help 22262306a36Sopenharmony_ci Say Y if you intend to run the kernel on a Broadcom Broadband ARM A7 22362306a36Sopenharmony_ci based chipset. 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci This enables support for Broadcom BCA ARM A7 broadband chipsets, 22662306a36Sopenharmony_ci including various DSL, PON and Wireless family of chips. 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ciconfig ARCH_BCMBCA_CORTEXA9 22962306a36Sopenharmony_ci bool "Cortex-A9 SoCS" 23062306a36Sopenharmony_ci select ARM_ERRATA_754322 23162306a36Sopenharmony_ci select ARM_ERRATA_764369 if SMP 23262306a36Sopenharmony_ci select ARCH_HAS_RESET_CONTROLLER 23362306a36Sopenharmony_ci select ARM_GLOBAL_TIMER 23462306a36Sopenharmony_ci select CACHE_L2X0 23562306a36Sopenharmony_ci select HAVE_ARM_TWD if SMP 23662306a36Sopenharmony_ci select HAVE_ARM_SCU if SMP 23762306a36Sopenharmony_ci help 23862306a36Sopenharmony_ci Say Y if you intend to run the kernel on a Broadcom Broadband ARM A9 23962306a36Sopenharmony_ci based BCA chipset. 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci This enables support for Broadcom BCA ARM A9 broadband chipset. Currently 24262306a36Sopenharmony_ci only DSL chip BCM63138. 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ciconfig ARCH_BCMBCA_BRAHMAB15 24562306a36Sopenharmony_ci bool "Brahma-B15 SoCs" 24662306a36Sopenharmony_ci select ARM_ERRATA_798181 if SMP 24762306a36Sopenharmony_ci help 24862306a36Sopenharmony_ci Say Y if you intend to run the kernel on a Broadcom Broadband ARM B15 24962306a36Sopenharmony_ci based BCA chipset. 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci This enables support for Broadcom BCA ARM B15 broadband chipset. Currently 25262306a36Sopenharmony_ci only DSL chip BCM63148. 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ciendif 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciendif 257