config ARCH_BCM
	bool "Broadcom SoC Support"
	depends on ARCH_MULTIPLATFORM
	help
	  This enables support for Broadcom ARM based SoC
          chips

if ARCH_BCM

menu "Broadcom SoC Selection"

config ARCH_BCM_MOBILE
	bool "Broadcom Mobile SoC" if ARCH_MULTI_V7
	depends on MMU
	select ARCH_REQUIRE_GPIOLIB
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP
	select ARM_GIC
	select CPU_V7
	select CLKSRC_OF
	select GENERIC_CLOCKEVENTS
	select GPIO_BCM_KONA
	select SPARSE_IRQ
	select TICK_ONESHOT
	select CACHE_L2X0
	select HAVE_ARM_ARCH_TIMER
	select PINCTRL
	help
	  This enables support for systems based on Broadcom mobile SoCs.
	  It currently supports the 'BCM281XX' family, which includes
	  BCM11130, BCM11140, BCM11351, BCM28145 and
	  BCM28155 variants.

config ARCH_BCM_5301X
	bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
	depends on MMU
	select ARM_GIC
	select CACHE_L2X0
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select HAVE_SMP
	select COMMON_CLK
	select GENERIC_CLOCKEVENTS
	select ARM_GLOBAL_TIMER
	select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
	select MIGHT_HAVE_PCI
	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, it's internal name is Northstar.
	  This inclused 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

endmenu

endif
