| # SPDX-License-Identifier: GPL-2.0 | 
 | menuconfig ARCH_BCM | 
 | 	bool "Broadcom SoC Support" | 
 | 	depends on ARCH_MULTI_V6_V7 | 
 | 	help | 
 | 	  This enables support for Broadcom ARM based SoC chips | 
 |  | 
 | if ARCH_BCM | 
 |  | 
 | comment "IPROC architected SoCs" | 
 |  | 
 | config ARCH_BCM_IPROC | 
 | 	bool | 
 | 	select ARM_GIC | 
 | 	select CACHE_L2X0 | 
 | 	select HAVE_ARM_SCU if SMP | 
 | 	select HAVE_ARM_TWD if SMP | 
 | 	select ARM_GLOBAL_TIMER | 
 | 	select CLKSRC_MMIO | 
 | 	select GPIOLIB | 
 | 	select ARM_AMBA | 
 | 	select PINCTRL | 
 | 	select PCI_DOMAINS if PCI | 
 | 	help | 
 | 	  This enables support for systems based on Broadcom IPROC architected SoCs. | 
 | 	  The IPROC complex contains one or more ARM CPUs along with common | 
 | 	  core peripherals. Application specific SoCs are created by adding a | 
 | 	  uArchitecture containing peripherals outside of the IPROC complex. | 
 | 	  Currently supported SoCs are Cygnus. | 
 |  | 
 | config ARCH_BCM_CYGNUS | 
 | 	bool "Broadcom Cygnus Support" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_IPROC | 
 | 	help | 
 | 	  Enable support for the Cygnus family, | 
 | 	  which includes the following variants: | 
 | 	  BCM11300, BCM11320, BCM11350, BCM11360, | 
 | 	  BCM58300, BCM58302, BCM58303, BCM58305. | 
 |  | 
 | config ARCH_BCM_HR2 | 
 | 	bool "Broadcom Hurricane 2 SoC support" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_IPROC | 
 | 	help | 
 | 	  Enable support for the Hurricane 2 family, | 
 | 	  which includes the following variants: | 
 | 	  BCM53342, BCM53343, BCM53344, BCM53346. | 
 |  | 
 | config ARCH_BCM_NSP | 
 | 	bool "Broadcom Northstar Plus SoC Support" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_IPROC | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select ARM_ERRATA_764369 if SMP | 
 | 	select HAVE_SMP | 
 | 	select THERMAL | 
 | 	select THERMAL_OF | 
 | 	help | 
 | 	  Support for Broadcom Northstar Plus SoC. | 
 | 	  Broadcom Northstar Plus family of SoCs are used for switching control | 
 | 	  and management applications as well as residential router/gateway | 
 | 	  applications. The SoC features dual core Cortex A9 ARM CPUs, | 
 | 	  integrating several peripheral interfaces including multiple Gigabit | 
 | 	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and | 
 | 	  NAND flash, SATA and several other IO controllers. | 
 |  | 
 | config ARCH_BCM_5301X | 
 | 	bool "Broadcom BCM470X / BCM5301X ARM SoC" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_IPROC | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select ARM_ERRATA_764369 if SMP | 
 | 	select HAVE_SMP | 
 |  | 
 | 	help | 
 | 	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. | 
 |  | 
 | 	  This is a network SoC line mostly used in home routers and | 
 | 	  wifi access points, its internal name is Northstar. | 
 | 	  This includes the following SoC: BCM53010, BCM53011, BCM53012, | 
 | 	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707, | 
 | 	  BCM4708 and BCM4709. | 
 |  | 
 | 	  Do not confuse this with the BCM4760 which is a totally | 
 | 	  different SoC or with the older BCM47XX and BCM53XX based | 
 | 	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx | 
 |  | 
 | comment "KONA architected SoCs" | 
 |  | 
 | config ARCH_BCM_MOBILE | 
 | 	bool | 
 | 	select GPIOLIB | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select ARM_GIC | 
 | 	select GPIO_BCM_KONA | 
 | 	select TICK_ONESHOT | 
 | 	select HAVE_ARM_ARCH_TIMER | 
 | 	select PINCTRL | 
 | 	select ARCH_BCM_MOBILE_SMP if SMP | 
 | 	select BCM_KONA_TIMER | 
 | 	help | 
 | 	  This enables support for systems based on Broadcom mobile SoCs. | 
 |  | 
 | config ARCH_BCM_281XX | 
 | 	bool "Broadcom BCM281XX SoC family" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_MOBILE | 
 | 	select HAVE_SMP | 
 | 	help | 
 | 	  Enable support for the BCM281XX family, which includes | 
 | 	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 | 
 | 	  variants. | 
 |  | 
 | config ARCH_BCM_21664 | 
 | 	bool "Broadcom BCM21664 SoC family" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_MOBILE | 
 | 	select HAVE_SMP | 
 | 	help | 
 | 	  Enable support for the BCM21664 family, which includes | 
 | 	  BCM21663 and BCM21664 variants. | 
 |  | 
 | config ARCH_BCM_23550 | 
 | 	bool "Broadcom BCM23550 SoC" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_MOBILE | 
 | 	select HAVE_SMP | 
 | 	help | 
 | 	  Enable support for the BCM23550. | 
 |  | 
 | config ARCH_BCM_MOBILE_L2_CACHE | 
 | 	bool "Broadcom mobile SoC level 2 cache support" | 
 | 	depends on ARCH_BCM_281XX || ARCH_BCM_21664 | 
 | 	default y | 
 | 	select CACHE_L2X0 | 
 | 	select ARCH_BCM_MOBILE_SMC | 
 |  | 
 | config ARCH_BCM_MOBILE_SMC | 
 | 	bool | 
 | 	depends on ARCH_BCM_MOBILE | 
 |  | 
 | config ARCH_BCM_MOBILE_SMP | 
 | 	bool | 
 | 	depends on ARCH_BCM_MOBILE | 
 | 	select HAVE_ARM_SCU | 
 | 	select ARM_ERRATA_764369 | 
 | 	help | 
 | 	  SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families. | 
 | 	  Provided as an option so SMP support for SoCs of this type | 
 | 	  can be disabled for an SMP-enabled kernel. | 
 |  | 
 | comment "Other Architectures" | 
 |  | 
 | config ARCH_BCM2835 | 
 | 	bool "Broadcom BCM2835 family" | 
 | 	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 | 
 | 	select GPIOLIB | 
 | 	select ARM_AMBA | 
 | 	select ARM_ERRATA_411920 if ARCH_MULTI_V6 | 
 | 	select ARM_TIMER_SP804 | 
 | 	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 | 
 | 	select TIMER_OF | 
 | 	select BCM2835_TIMER | 
 | 	select PINCTRL | 
 | 	select PINCTRL_BCM2835 | 
 | 	help | 
 | 	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs. | 
 | 	  This SoC is used in the Raspberry Pi and Roku 2 devices. | 
 |  | 
 | config ARCH_BCM_53573 | 
 | 	bool "Broadcom BCM53573 SoC series support" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARCH_BCM_IPROC | 
 | 	select HAVE_ARM_ARCH_TIMER | 
 | 	help | 
 | 	  BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless | 
 | 	  embedded in the chipset. | 
 | 	  This SoC line is mostly used in home routers and is some cheaper | 
 | 	  alternative for Northstar family. | 
 |  | 
 | 	  The base chip is BCM53573 and there are some packaging modifications | 
 | 	  like BCM47189 and BCM47452. | 
 |  | 
 | config ARCH_BCM_63XX | 
 | 	bool "Broadcom BCM63xx DSL SoC" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	depends on MMU | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_764369 if SMP | 
 | 	select ARM_GIC | 
 | 	select ARM_GLOBAL_TIMER | 
 | 	select CACHE_L2X0 | 
 | 	select HAVE_ARM_ARCH_TIMER | 
 | 	select HAVE_ARM_TWD if SMP | 
 | 	select HAVE_ARM_SCU if SMP | 
 | 	select HAVE_SMP | 
 | 	help | 
 | 	  This enables support for systems based on Broadcom DSL SoCs. | 
 | 	  It currently supports the 'BCM63XX' ARM-based family, which includes | 
 | 	  the BCM63138 variant. | 
 |  | 
 | config ARCH_BRCMSTB | 
 | 	bool "Broadcom BCM7XXX based boards" | 
 | 	depends on ARCH_MULTI_V7 | 
 | 	select ARM_GIC | 
 | 	select ARM_ERRATA_798181 if SMP | 
 | 	select HAVE_ARM_ARCH_TIMER | 
 | 	select BRCMSTB_L2_IRQ | 
 | 	select BCM7120_L2_IRQ | 
 | 	select ARCH_HAS_HOLES_MEMORYMODEL | 
 | 	select ZONE_DMA if ARM_LPAE | 
 | 	select SOC_BRCMSTB | 
 | 	select SOC_BUS | 
 | 	help | 
 | 	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB | 
 | 	  chipset. | 
 |  | 
 | 	  This enables support for Broadcom ARM-based set-top box chipsets, | 
 | 	  including the 7445 family of chips. | 
 |  | 
 | endif |