menuconfig ARCH_AT91
	bool "Atmel SoCs"
	depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLK_AT91
	select PINCTRL
	select PINCTRL_AT91
	select SOC_BUS

if ARCH_AT91
config SOC_SAMA5D2
	bool "SAMA5D2 family" if ARCH_MULTI_V7
	select SOC_SAMA5
	select CACHE_L2X0
	select HAVE_FB_ATMEL
	select HAVE_AT91_UTMI
	select HAVE_AT91_USB_CLK
	select HAVE_AT91_H32MX
	select HAVE_AT91_GENERATED_CLK
	help
	  Select this if ou are using one of Atmel's SAMA5D2 family SoC.

config SOC_SAMA5D3
	bool "SAMA5D3 family" if ARCH_MULTI_V7
	select SOC_SAMA5
	select HAVE_FB_ATMEL
	select HAVE_AT91_UTMI
	select HAVE_AT91_SMD
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using one of Atmel's SAMA5D3 family SoC.
	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.

config SOC_SAMA5D4
	bool "SAMA5D4 family" if ARCH_MULTI_V7
	select SOC_SAMA5
	select CACHE_L2X0
	select HAVE_FB_ATMEL
	select HAVE_AT91_UTMI
	select HAVE_AT91_SMD
	select HAVE_AT91_USB_CLK
	select HAVE_AT91_H32MX
	help
	  Select this if you are using one of Atmel's SAMA5D4 family SoC.

config SOC_AT91RM9200
	bool "AT91RM9200" if ARCH_MULTI_V4T
	select ATMEL_AIC_IRQ
	select ATMEL_ST
	select CPU_ARM920T
	select HAVE_AT91_USB_CLK
	select MIGHT_HAVE_PCI
	select SOC_SAM_V4_V5
	select SRAM if PM
	help
	  Select this if you are using Atmel's AT91RM9200 SoC.

config SOC_AT91SAM9
	bool "AT91SAM9" if ARCH_MULTI_V5
	select ATMEL_AIC_IRQ
	select ATMEL_SDRAMC
	select CPU_ARM926T
	select HAVE_AT91_SMD
	select HAVE_AT91_USB_CLK
	select HAVE_AT91_UTMI
	select HAVE_FB_ATMEL
	select MEMORY
	select SOC_SAM_V4_V5
	select SRAM if PM
	help
	  Select this if you are using one of those Atmel SoC:
	    AT91SAM9260
	    AT91SAM9261
	    AT91SAM9263
	    AT91SAM9G15
	    AT91SAM9G20
	    AT91SAM9G25
	    AT91SAM9G35
	    AT91SAM9G45
	    AT91SAM9G46
	    AT91SAM9M10
	    AT91SAM9M11
	    AT91SAM9N12
	    AT91SAM9RL
	    AT91SAM9X25
	    AT91SAM9X35
	    AT91SAM9XE

config HAVE_AT91_UTMI
	bool

config HAVE_AT91_USB_CLK
	bool

config COMMON_CLK_AT91
	bool
	select COMMON_CLK

config HAVE_AT91_SMD
	bool

config HAVE_AT91_H32MX
	bool

config SOC_SAM_V4_V5
	bool

config SOC_SAM_V7
	bool

config SOC_SAMA5
	bool
	select ATMEL_AIC5_IRQ
	select ATMEL_SDRAMC
	select MEMORY
	select SOC_SAM_V7
	select SRAM if PM

endif
