if ARCH_AT91

config AT91FAMILY
	def_bool y

config AT91SAM9260
	bool
	select CPU_ARM926EJS

config AT91SAM9G20
	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 SAM9X7
	bool
	select CPU_ARM926EJS

config SAMA7G5
	bool
	select CPU_V7A
	select AT91RESET_EXTRST

config SAMA7D65
	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

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 MTD
	select SPI
	imply CMD_DM

config TARGET_AT91SAM9261EK
	bool "Atmel at91sam9261 reference board"
	select AT91SAM9261

config TARGET_PM9261
	bool "Ronetix pm9261 board"
	select AT91SAM9261

config TARGET_AT91SAM9263EK
	bool "Atmel at91sam9263 reference board"
	select AT91SAM9263

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 SUPPORT_SPL

config TARGET_PM9G45
	bool "Ronetix pm9g45 board"
	select AT91SAM9G45

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

config TARGET_AT91SAM9RLEK
	bool "Atmel at91sam9rl reference board"
	select AT91SAM9RL

config TARGET_AT91SAM9X5EK
	bool "Atmel AT91SAM9X5-EK board"
	select AT91SAM9X5
	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_LATE_INIT

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

config TARGET_SAM9X75_CURIOSITY
	bool "SAM9X75 CURIOSITY board"
	select SAM9X7
	select BOARD_LATE_INIT
	imply OF_UPSTREAM

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

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

config TARGET_SAMA5D27_SOM1_EK
	bool "SAMA5D27 SOM1 EK board"
	select SAMA5D2
	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_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_KSTR_SAMA5D27
	bool "Conclusive KSTR-SAMA5D27 board"
	select BOARD_EARLY_INIT_F
	select SAMA5D2
	help
	  The KSTR-SAMA5D27 embeds SAMA5D27 SoC, together with
	  256 MiB SDRAM, 10/100 Mbit/s Ethernet, 96 Mbit/s Wi-Fi b/g/n,
	  Bluetooth 4.1 LE, USB OTG controller w/ type-C USB connector
	  and stackable GPIO headers in an all-in-one SBC form factor:
	  https://conclusive.pl/products/kstr-sama5d27-sbc/

config TARGET_SAMA5D2_ICP
	bool "SAMA5D2 Industrial Connectivity Platform (ICP)"
	select SAMA5D2
	select SUPPORT_SPL
	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_SAMA5D29_CURIOSITY
	bool "SAMA5D29 CURIOSITY board"
	select SAMA5D2
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select CPU_V7A
	help
	  The SAMA5D29 Curiosity embeds SAMA5D29 SoC with 4 Gbit LPDDR2-SDRAM,
	  a 64Mbit QSPI flash with Mac-address, MCP16502 PMIC, RGB LCD connector,
	  2 x Mikrobus connectors, 2 x SD-Card connectors, 2 x USB

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

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

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

config TARGET_SAMA5D4EK
	bool "SAMA5D4 Evaluation Kit"
	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_LATE_INIT

config TARGET_SAMA7G54_CURIOSITY
	bool "SAMA7G54 CURIOSITY board"
	select SAMA7G5
	select CPU_V7A
	help
	  The SAMA7G54 Curiosity embeds SAMA7G54D2G SiP (System in Package)
	  with 2Gbit DDR3-SDRAM, 64Mbit QSPI nor-flash with MAC-address,
	  4Gbit SLC nand-flash, MCP16502 PMIC, 2 x Mikrobus connectors,
	  1 x SD-Card connector, 1 x M.2 slot, 3 x USB

config TARGET_SAMA7D65_CURIOSITY
	bool "SAMA7D65 CURIOSITY board"
	select SAMA7D65
	select BOARD_LATE_INIT
	imply OF_UPSTREAM

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 MTD
	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 MTD
	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_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/sam9x75_curiosity/Kconfig"
source "board/atmel/sama7g5ek/Kconfig"
source "board/atmel/sama7g54_curiosity/Kconfig"
source "board/atmel/sama7d65_curiosity/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/sama5d29_curiosity/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/conclusive/kstr-sama5d27/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
