if ARCH_AT91

config AT91FAMILY
	def_bool y

config AT91SAM9260
	bool
	select CPU_ARM926EJS

config AT91SAM9G20
	bool
	select CPU_ARM926EJS

config AT91SAM9XE
	bool
	select CPU_ARM926EJS

config AT91SAM9261
	bool
	select CPU_ARM926EJS

config AT91SAM9263
	bool
	select CPU_ARM926EJS

config AT91SAM9G45
	bool
	select CPU_ARM926EJS

config AT91SAM9M10G45
	bool
	select CPU_ARM926EJS

config AT91SAM9N12
	bool
	select CPU_ARM926EJS

config AT91SAM9RL
	bool
	select CPU_ARM926EJS

config AT91SAM9X5
	bool
	select CPU_ARM926EJS

config SAM9X60
	bool
	select CPU_ARM926EJS

config SAMA7G5
	bool
	select CPU_V7A
	select AT91RESET_EXTRST

config SAMA5D2
	bool
	select CPU_V7A
	select ATMEL_SFR

config SAMA5D3
	bool
	select CPU_V7A

config SAMA5D4
	bool
	select CPU_V7A
	select ATMEL_SFR

choice
	prompt "Atmel AT91 board select"
	optional

config TARGET_AT91SAM9260EK
	bool "Atmel at91sam9260 reference board"
	select AT91SAM9260
	select BOARD_EARLY_INIT_F

config TARGET_ETHERNUT5
	bool "Ethernut5 board"
	select AT91SAM9XE

config TARGET_GURNARD
	bool "Support gurnard"
	select AT91SAM9G45
	select AT91_WANTS_COMMON_PHY
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_SERIAL
	select DM_SPI
	select SPI
	imply CMD_DM

config TARGET_AT91SAM9261EK
	bool "Atmel at91sam9261 reference board"
	select AT91SAM9261
	select BOARD_EARLY_INIT_F

config TARGET_PM9261
	bool "Ronetix pm9261 board"
	select AT91SAM9261

config TARGET_AT91SAM9263EK
	bool "Atmel at91sam9263 reference board"
	select AT91SAM9263
	select BOARD_EARLY_INIT_F

config TARGET_USB_A9263
	bool "Caloa USB A9260 board"
	select AT91SAM9263
	select AT91_WANTS_COMMON_PHY

config TARGET_PM9263
	bool "Ronetix pm9263 board"
	select AT91SAM9263

config TARGET_AT91SAM9M10G45EK
	bool "Atmel AT91SAM9M10G45-EK board"
	select AT91SAM9M10G45
	select BOARD_EARLY_INIT_F
	select SUPPORT_SPL

config TARGET_PM9G45
	bool "Ronetix pm9g45 board"
	select AT91SAM9G45

config TARGET_AT91SAM9N12EK
	bool "Atmel AT91SAM9N12-EK board"
	select AT91SAM9N12
	select BOARD_EARLY_INIT_F
	select SUPPORT_SPL

config TARGET_AT91SAM9RLEK
	bool "Atmel at91sam9rl reference board"
	select AT91SAM9RL
	select BOARD_EARLY_INIT_F

config TARGET_AT91SAM9X5EK
	bool "Atmel AT91SAM9X5-EK board"
	select AT91SAM9X5
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_GARDENA_SMART_GATEWAY_AT91SAM
	bool "GARDENA smart Gateway (AT91SAM)"
	select AT91SAM9X5
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_SAM9X60EK
	bool "SAM9X60-EK board"
	select SAM9X60
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT

config TARGET_SAM9X60_CURIOSITY
        bool "SAM9X60 CURIOSITY board"
        select SAM9X60
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT

config TARGET_SAMA5D2_PTC_EK
	bool "SAMA5D2 PTC EK board"
	select BOARD_EARLY_INIT_F
	select SAMA5D2
	select BOARD_LATE_INIT

config TARGET_SAMA5D2_XPLAINED
	bool "SAMA5D2 Xplained board"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select SAMA5D2
	select SUPPORT_SPL

config TARGET_SAMA5D27_SOM1_EK
	bool "SAMA5D27 SOM1 EK board"
	select SAMA5D2
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select CPU_V7A
	select SUPPORT_SPL
	select ATMEL_SFR
	help
	  The SAMA5D27 SOM1 embeds SAMA5D2 SiP(System in Package),
	  a 64Mbit QSPI flash, KSZ8081 Phy and a Mac-address EEPROM
	  24AA02E48. The SAMA5D2 SiP integrates the ARM Cortex-A5
	  processor-based SAMA5D2 MPU with up to 1 Gbit DDR2-SDRAM
	  in a single package.

config TARGET_SAMA5D27_WLSOM1_EK
	bool "SAMA5D27 WLSOM1 EK board"
	select SAMA5D2
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select CPU_V7A
	select SUPPORT_SPL
	help
	  The SAMA5D27 WLSOM1 embeds SAMA5D2 SiP (System in Package),
	  a 64Mbit QSPI flash with Mac-address, KSZ8081 Phy. A wireless
	  module providing bluetooth and wifi is also embedded.
	  The SAMA5D2 SiP integrates the ARM Cortex-A5
	  processor-based SAMA5D2 MPU with 2 Gbit LPDDR2-SDRAM
	  in a single package.

config TARGET_SAMA5D2_ICP
	bool "SAMA5D2 Industrial Connectivity Platform (ICP)"
	select SAMA5D2
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	help
	  The SAMA5D2 ICP embeds SAMA5D27 rev. C SoC, together with
	  a 64Mbit QSPI flash, 3xMikrobus connectors, 4xUSB ,
	  EtherCat and WILC3000 devices on board.

config TARGET_SAMA5D3_XPLAINED
	bool "SAMA5D3 Xplained board"
	select BOARD_EARLY_INIT_F
	select SAMA5D3
	select SUPPORT_SPL
	select BOARD_LATE_INIT

config TARGET_SAMA5D3XEK
	bool "SAMA5D3X-EK board"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select SAMA5D3
	select SUPPORT_SPL

config TARGET_SAMA5D4_XPLAINED
	bool "SAMA5D4 Xplained board"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select SAMA5D4
	select SUPPORT_SPL

config TARGET_SAMA5D4EK
	bool "SAMA5D4 Evaluation Kit"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select SAMA5D4
	select SUPPORT_SPL

config TARGET_MEESC
	bool "Support meesc"
	select AT91SAM9263

config TARGET_CORVUS
	bool "Support corvus"
	select AT91SAM9M10G45
	select AT91_WANTS_COMMON_PHY
	select DM
	select DM_GPIO
	select DM_SERIAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_SAMA7G5EK
       bool "SAMA7G5 EK board"
       select SAMA7G5
       select BOARD_EARLY_INIT_F
       select BOARD_LATE_INIT


config TARGET_TAURUS
	bool "Support taurus"
	select AT91SAM9G20
	select AT91_WANTS_COMMON_PHY
	select DM
	select DM_GPIO
	select DM_SERIAL
	select DM_SPI
	select SPI
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_SMARTWEB
	bool "Support smartweb"
	select AT91SAM9260
	select AT91_WANTS_COMMON_PHY
	select DM
	select DM_GPIO
	select DM_SERIAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_VINCO
	bool "Support VINCO"
	select DM
	select DM_SPI
	select SAMA5D4
	select SPI
	select SUPPORT_SPL
	imply CMD_DM

endchoice

config ATMEL_SFR
	bool

config AT91RESET_EXTRST
	bool

config SYS_SOC
	default "at91"

config AT91_EFLASH
	bool "Support AT91 flash driver"
	depends on AT91SAM9XE
	select USE_SYS_MAX_FLASH_BANKS
	help
	  Enable the driver for the embedded flash used in the Atmel
	  AT91SAM9XE devices.

config EFLASH_PROTSECTORS
	int "Number of flash sectors to protect from erasing"
	depends on AT91_EFLASH
	help
	  If non-zero, this will be the number of sectors of the flash to disallow
	  U-Boot to ease, starting from the beginning of flash.

config AT91_GPIO_PULLUP
	bool "Keep pullups on peripheral pins"
	depends on CPU_ARM926EJS

config ATMEL_LEGACY
	bool "Legacy GPIO support"

config AT91_WANTS_COMMON_PHY
	bool

source "board/atmel/at91sam9260ek/Kconfig"
source "board/atmel/at91sam9261ek/Kconfig"
source "board/atmel/at91sam9263ek/Kconfig"
source "board/atmel/at91sam9m10g45ek/Kconfig"
source "board/atmel/at91sam9n12ek/Kconfig"
source "board/atmel/at91sam9rlek/Kconfig"
source "board/atmel/at91sam9x5ek/Kconfig"
source "board/atmel/sam9x60ek/Kconfig"
source "board/atmel/sam9x60_curiosity/Kconfig"
source "board/atmel/sama7g5ek/Kconfig"
source "board/atmel/sama5d2_ptc_ek/Kconfig"
source "board/atmel/sama5d2_xplained/Kconfig"
source "board/atmel/sama5d27_som1_ek/Kconfig"
source "board/atmel/sama5d27_wlsom1_ek/Kconfig"
source "board/atmel/sama5d2_icp/Kconfig"
source "board/atmel/sama5d3_xplained/Kconfig"
source "board/atmel/sama5d3xek/Kconfig"
source "board/atmel/sama5d4_xplained/Kconfig"
source "board/atmel/sama5d4ek/Kconfig"
source "board/bluewater/gurnard/Kconfig"
source "board/calao/usb_a9263/Kconfig"
source "board/egnite/ethernut5/Kconfig"
source "board/esd/meesc/Kconfig"
source "board/gardena/smart-gateway-at91sam/Kconfig"
source "board/l+g/vinco/Kconfig"
source "board/ronetix/pm9261/Kconfig"
source "board/ronetix/pm9263/Kconfig"
source "board/ronetix/pm9g45/Kconfig"
source "board/siemens/corvus/Kconfig"
source "board/siemens/taurus/Kconfig"
source "board/siemens/smartweb/Kconfig"

endif
