menuconfig ARCH_SIRF
	bool "CSR SiRF" if ARCH_MULTI_V7
	select ARCH_HAS_RESET_CONTROLLER
	select RESET_CONTROLLER
	select ARCH_REQUIRE_GPIOLIB
	select GENERIC_IRQ_CHIP
	select NO_IOPORT_MAP
	select REGMAP
	select PINCTRL
	select PINCTRL_SIRF
	help
	  Support for CSR SiRFprimaII/Marco/Polo platforms

if ARCH_SIRF

comment "CSR SiRF atlas6/primaII/Atlas7 Specific Features"

config ARCH_ATLAS6
	bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform"
	default y
	select SIRF_IRQ
	help
          Support for CSR SiRFSoC ARM Cortex A9 Platform

config ARCH_ATLAS7
	bool "CSR SiRFSoC ATLAS7 ARM Cortex A7 Platform"
	default y
	select ARM_GIC
	select CPU_V7
	select HAVE_ARM_SCU if SMP
	select HAVE_SMP
	help
          Support for CSR SiRFSoC ARM Cortex A7 Platform

config ARCH_PRIMA2
	bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
	default y
	select SIRF_IRQ
	select ZONE_DMA
	help
          Support for CSR SiRFSoC ARM Cortex A9 Platform

config SIRF_IRQ
	bool

endif
