if ARCH_AT91

config HAVE_AT91_DBGU0
	bool

config HAVE_AT91_DBGU1
	bool

config HAVE_AT91_LOWLEVEL_INIT
	bool

config AT91SAM9_SMC
	bool

config AT91SAM9_TIMER
	bool

config SOC_AT91SAM9
	bool
	select CPU_ARM926T
	select AT91SAM9_SMC
	select AT91SAM9_TIMER

config SOC_SAMA5
	bool
	select CPU_V7
	select AT91SAM9_SMC
	select AT91SAM9_TIMER

config ARCH_TEXT_BASE
	hex
	default 0x73f00000 if ARCH_AT91SAM9G45
	default 0x26f00000 if ARCH_AT91SAM9X5
	default 0x20f00000 if ARCH_AT91RM9200
	default 0x21f00000 if MACH_ANIMEO_IP
	default 0x23f00000

config HAVE_NAND_ATMEL_BUSWIDTH_16
	bool

config HAVE_AT91_DATAFLASH_CARD
	bool

config AT91SAM9_RESET
	bool

config AT91SAM9G45_RESET
	bool

config HAVE_AT91_LOAD_BAREBOX_SRAM
	bool

config AT91SAM9_LOWLEVEL_INIT
	bool

comment "Atmel AT91 System-on-Chip"

config SOC_AT91RM9200
	bool
	select CPU_ARM920T
	select HAVE_AT91_DBGU0
	select HAS_AT91_ETHER

config SOC_AT91SAM9260
	bool
	select SOC_AT91SAM9
	select HAVE_AT91_DBGU0
	select HAS_MACB
	select AT91SAM9_RESET
	select AT91SAM9_LOWLEVEL_INIT
	help
	  Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE
	  or AT91SAM9G20 SoC.

config SOC_AT91SAM9261
	bool
	select SOC_AT91SAM9
	select HAVE_AT91_DBGU0
	select AT91SAM9_RESET
	select AT91SAM9_LOWLEVEL_INIT
	help
	  Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.

config SOC_AT91SAM9263
	bool
	select SOC_AT91SAM9
	select HAVE_AT91_DBGU1
	select HAS_MACB
	select AT91SAM9_RESET
	select AT91SAM9_LOWLEVEL_INIT
	select HAVE_AT91_LOAD_BAREBOX_SRAM

config SOC_AT91SAM9G45
	bool
	select SOC_AT91SAM9
	select HAVE_AT91_DBGU1
	select HAS_MACB
	select AT91SAM9G45_RESET
	help
	  Select this if you are using one of Atmel's AT91SAM9G45 family SoC.
	  This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11.

config SOC_AT91SAM9X5
	bool
	select SOC_AT91SAM9
	select HAVE_AT91_DBGU0
	select HAS_MACB
	select AT91SAM9G45_RESET
	help
	  Select this if you are using one of Atmel's AT91SAM9x5 family SoC.
	  This means that your SAM9 name finishes with a '5' (except if it is
	  AT91SAM9G45!).
	  This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35
	  and AT91SAM9X35.

config SOC_AT91SAM9N12
	bool
	select SOC_AT91SAM9
	select HAVE_AT91_DBGU0
	select AT91SAM9G45_RESET
	help
	  Select this if you are using Atmel's AT91SAM9N12 SoC.

choice
	prompt "Atmel AT91 Processor"

config ARCH_AT91RM9200
	bool "AT91RM9200"
	select SOC_AT91RM9200

config ARCH_AT91SAM9260
	bool "AT91SAM9260"
	select SOC_AT91SAM9260

config ARCH_AT91SAM9261
	bool "AT91SAM9261"
	select SOC_AT91SAM9261
	select HAVE_AT91_LOAD_BAREBOX_SRAM

config ARCH_AT91SAM9263
	bool "AT91SAM9263"
	select SOC_AT91SAM9263

config ARCH_AT91SAM9G10
	bool "AT91SAM9G10"
	select SOC_AT91SAM9261

config ARCH_AT91SAM9G20
	bool "AT91SAM9G20"
	select SOC_AT91SAM9260

config ARCH_AT91SAM9G45
	bool "AT91SAM9G45 or AT91SAM9M10"
	select SOC_AT91SAM9G45

config ARCH_AT91SAM9X5
	bool "AT91SAM9X5"
	select SOC_AT91SAM9X5

config ARCH_AT91SAM9N12
	bool "AT91SAM9N12"
	select SOC_AT91SAM9N12

config ARCH_SAMA5D3
	bool "SAMA5D3x"
	select SOC_SAMA5
	select HAVE_AT91_DBGU1
	select HAS_MACB
	select AT91SAM9G45_RESET

endchoice

config ARCH_BAREBOX_MAX_BARE_INIT_SIZE
	hex
	default 0x1000 if ARCH_AT91SAM9260
	default 0x27000 if ARCH_AT91SAM9261
	default 0x12000 if ARCH_AT91SAM9263
	default 0x4000 if ARCH_AT91SAM9G20
	default 0x3000 if ARCH_AT91SAM9G10
	default 0xF000 if ARCH_AT91SAM9G45
	default 0x6000 if ARCH_AT91SAM9X5
	default 0x6000 if ARCH_AT91SAM9N12
	default 0x6000 if ARCH_SAMA5D3
	default 0xffffffff

config SUPPORT_CALAO_DAB_MMX
	bool

config SUPPORT_CALAO_MOB_TNY_MD2
	bool

# ----------------------------------------------------------

if ARCH_AT91RM9200

choice
	prompt "AT91RM9200 Board Type"

config MACH_AT91RM9200EK
	bool "Atmel AT91RM9200-EK Evaluation Kit"
	select HAVE_AT91_DATAFLASH_CARD
	help
	  Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit.
	  <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507>

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9260

choice
	prompt "AT91SAM9260 Board Type"

config MACH_ANIMEO_IP
	bool "Somfy Animeo IP"

config MACH_AT91SAM9260EK
	bool "Atmel AT91SAM9260-EK"
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	help
	  Say y here if you are using Atmel's AT91SAM9260-EK Evaluation board

config MACH_QIL_A9260
	bool "CALAO QIL-A9260 board"
	help
	  Select this if you are using a Calao Systems QIL-A9260 Board.
	  <http://www.calao-systems.com>

config MACH_TNY_A9260
	bool "CALAO TNY-A9260"
	select SUPPORT_CALAO_MOB_TNY_MD2
	help
	  Select this if you are using a Calao Systems TNY-A9260.
	  <http://www.calao-systems.com>

config MACH_USB_A9260
	bool "CALAO USB-A9260"
	select SUPPORT_CALAO_DAB_MMX
	help
	  Select this if you are using a Calao Systems USB-A9260.
	  <http://www.calao-systems.com>

config MACH_GE863
	bool "Telit EVK-PRO3"
	select HAVE_DEFAULT_ENVIRONMENT_NEW
	help
	  Say y here if you are using Telit EVK-PRO3 with GE863-PRO3
	  <http://www.telit.com>

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9261

choice
	prompt "AT91SAM9261 Board Type"

config MACH_AT91SAM9261EK
	bool "Atmel AT91SAM9261-EK Evaluation Kit"
	select HAS_DM9000
	select HAVE_AT91_DATAFLASH_CARD
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	select HAVE_AT91_LOWLEVEL_INIT
	help
	  Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
	  <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>

config MACH_PM9261
	bool "Ronetix PM9261"
	select HAS_DM9000
	select HAVE_AT91_LOWLEVEL_INIT
	help
	  Say y here if you are using the Ronetix PM9261 Board

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9G10

choice
	prompt "AT91SAM9G10 Board Type"

config MACH_AT91SAM9G10EK
	bool "Atmel AT91SAM9G10-EK Evaluation Kit"
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	select HAS_DM9000
	help
	  Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
	  <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9G20

choice
	prompt "AT91SAM9G20 Board Type"

config MACH_AT91SAM9G20EK
	bool "Atmel AT91SAM9G20-EK Evaluation Kit"
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	help
	  Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
	  that embeds only one SD/MMC slot.

config MACH_TNY_A9G20
	select SUPPORT_CALAO_MOB_TNY_MD2
	bool "CALAO TNY-A9G20"
	help
	  Select this if you are using a Calao Systems TNY-A9G20.
	  <http://www.calao-systems.com>

config MACH_USB_A9G20
	bool "CALAO USB-A9G20"
	select SUPPORT_CALAO_DAB_MMX
	help
	  Select this if you are using a Calao Systems USB-A9G20.
	  <http://www.calao-systems.com>

config MACH_DSS11
	bool "aizo dSS11"
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	help
	  Select this if you are using aizo dSS11
	  that embeds only one SD/MMC slot.

config MACH_QIL_A9G20
	bool "CALAO QIL-A9G20 board"
	help
	  Select this if you are using a Calao Systems QIL-A9G20 Board.
	  <http://www.calao-systems.com>

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9263

choice
	prompt "AT91SAM9263 Board Type"

config MACH_AT91SAM9263EK
	bool "Atmel AT91SAM9263-EK"
	select HAVE_AT91_LOWLEVEL_INIT
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	help
	  Say y here if you are using Atmel's AT91SAM9263-EK Evaluation board

config MACH_MMCCPU
	bool "Bucyrus MMC-CPU"
	help
	  Say y here if you are using the Bucyrus MMC-CPU

config MACH_PM9263
	bool "Ronetix PM9263"
	select HAVE_AT91_LOWLEVEL_INIT
	help
	  Say y here if you are using the Ronetix PM9263 Board

config MACH_TNY_A9263
	bool "CALAO TNY-A9263"
	select SUPPORT_CALAO_MOB_TNY_MD2
	help
	  Select this if you are using a Calao Systems TNY-A9263.
	  <http://www.calao-systems.com>

config MACH_USB_A9263
	bool "CALAO USB-A9263"
	select HAVE_AT91_LOWLEVEL_INIT
	help
	  Select this if you are using a Calao Systems USB-A9263.
	  <http://www.calao-systems.com>

endchoice

endif

if ARCH_AT91SAM9G45

choice
	prompt "AT91SAM9G45 or AT91SAM9M10 Board Type"

config MACH_AT91SAM9M10IHD
	bool "Atmel AT91SAM9M10IDH Tablet"
	help
	  Select this if you are using Atmel's AT91SAM9M10IHD Tablet

config MACH_AT91SAM9M10G45EK
	bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
	select HAVE_NAND_ATMEL_BUSWIDTH_16
	help
	  Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit
	  or AT91SAM9G45-EKES or AT91SAM9M10-EKES (for those 2 select the LG LCD)
	  <http://atmel.com/dyn/products/tools_card_v2.asp?tool_id=4735>

config MACH_PM9G45
	bool "Ronetix PM9G45"
	help
	  Say y here if you are using the Ronetix PM9G45 Board

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9X5

choice
	prompt "AT91SAM9x5 Series Board Type"

config MACH_AT91SAM9X5EK
	bool "Atmel AT91SAM9x5 Series Evaluation Kit"
	help
	  Select this if you re using Atmel's AT91SAM9x5-EK Evaluation Kit.
	  Supported chips are sam9g15, sam9g25, sam9x25, sam9g35 and sam9x35.

endchoice

endif

# ----------------------------------------------------------

if ARCH_AT91SAM9N12

choice
	prompt "AT91SAM9N12 Board Type"

config MACH_AT91SAM9N12EK
	bool "Atmel AT91SAM9N12 Evaluation Kit"
	help
	  Select this if you are using Atmel's AT91SAM9N12-EK Evaluation Kit.

endchoice

endif

# ----------------------------------------------------------

if ARCH_SAMA5D3

choice
	prompt "SAMA5D3 Board Type"

config MACH_SAMA5D3XEK
	bool "Atmel SAMA5D3X Evaluation Kit"
	help
	  Select this if you are using Atmel's SAMA5D3X-EK Evaluation Kit.

config MACH_SAMA5D3_XPLAINED
	bool "Atmel SAMA5D3_XPLAINED Evaluation Kit"
	help
	  Select this if you are using Atmel's SAMA5D3_XPLAINED Evaluation Kit.

endchoice

endif

# ----------------------------------------------------------

comment "AT91 Board Options"

config MTD_AT91_DATAFLASH_CARD
	bool "Enable DataFlash Card support"
	depends on HAVE_AT91_DATAFLASH_CARD
	help
	  Enable support for the DataFlash card.

config MTD_NAND_ATMEL_BUSWIDTH_16
	bool "Enable 16-bit data bus interface to NAND flash"
	depends on HAVE_NAND_ATMEL_BUSWIDTH_16
	help
	  On AT91SAM926x boards both types of NAND flash can be present
	  (8 and 16 bit data bus width).

config AT91_HAVE_2MMC
	bool "Have 2 MMC"
	depends on MACH_AT91SAM9G20EK
	help
	  Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
	  with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
	  onwards.

config AT91_HAVE_SRAM_128M
	bool "Have 128 of ram"
	depends on MACH_USB_A9G20 || MACH_USB_A9263 || MACH_QIL_A9260 || MACH_QIL_A9G20
	help
	  Select this if you board have 128 MiB of Ram (as USB_A9G20 C11)

choice
	prompt "LCD type"
	depends on MACH_AT91SAM9M10G45EK

config LCD_TRULY_TFT1N4633E
	bool "truly TFT1N4633-E"
	help
	  Found on AT91SAM9M10G45-EK

config LCD_LG_LB043WQ1
	bool "LG philips LB043WQ1"
	help
	  Found on AT91SAM9G45-EKES and AT91SAM9M10-EKES

endchoice

config CALAO_DAB_MMX
	bool "DAB MMX Daughter Board support"
	depends on SUPPORT_CALAO_DAB_MMX

config CALAO_MOB_TNY_MD2
	bool "MOB TNY MD2 Motherboard Daughter Board support"
	depends on SUPPORT_CALAO_MOB_TNY_MD2

config CALAO_MB_QIL_A9260
	bool "MB-QIL A9260 Motherboard Board support"
	depends on MACH_QIL_A9260 || MACH_QIL_A9G20

config AT91_BOOTSTRAP
	bool "at91 bootstrap"
	depends on HAVE_AT91_LOWLEVEL_INIT
	select BOOTSTRAP

config AT91_LOAD_BAREBOX_SRAM
	bool "at91 load barebox in sram"
	depends on SHELL_NONE || HAVE_AT91_LOAD_BAREBOX_SRAM
	default y if SHELL_NONE

endif
