menuconfig BR2_TARGET_UBOOT
	bool "Das U-Boot Boot Monitor"
	help
	  Build "Das U-Boot" Boot Monitor

if BR2_TARGET_UBOOT
config BR2_TARGET_UBOOT_BOARDNAME
	string "board name"
	default "$(BOARD_NAME)"
	help
	  One of U-Boot supported boards to be built.
	  This will be suffixed with _config to meet U-Boot standard naming.

choice
	prompt "U-Boot Version"
	default BR2_TARGET_UBOOT_2009_01
	help
	  Select the specific U-Boot version you want to use

config BR2_TARGET_UBOOT_2009_01
	bool "u-boot-2009.01"

config BR2_TARGET_UBOOT_2008_10
	bool "u-boot-2008.10"
	depends on BR2_DEPRECATED || BR2_RECENT

config BR2_TARGET_UBOOT_1_3_4
	bool "u-boot-1.3.4"
	depends on BR2_DEPRECATED

config BR2_TARGET_UBOOT_1_2_0_ATMEL
	bool "u-boot-1.2.0-atmel"
	depends on BR2_TARGET_AT91

endchoice

config BR2_UBOOT_VERSION
	string
	default "2009.01"	if BR2_TARGET_UBOOT_2009_01
	default "2008.10"	if BR2_TARGET_UBOOT_2008_10
	default "1.3.4"		if BR2_TARGET_UBOOT_1_3_4
	default "1.2.0-atmel"	if BR2_TARGET_UBOOT_1_2_0_ATMEL

config BR2_U_BOOT_SITE
	string
	default "$(BR2_ATMEL_MIRROR)"		if BR2_TARGET_UBOOT_1_2_0_ATMEL
	default "ftp://ftp.denx.de/pub/u-boot"

source "target/device/Config.in.u-boot"

config BR2_TARGET_UBOOT_CUSTOM_PATCH
	string "custom patch"
	help
	  If your board requires a custom patch, add the path to the file here.
	  Most users may leave this empty

choice
	prompt "Bootsource"
	depends on BR2_BOOTSOURCE
	default BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD

	config BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD
	bool "Boot from dataflashcard"
	depends on BR2_BOOTSOURCE_DATAFLASHCARD

	config BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	bool "Boot from dataflash"
	depends on BR2_BOOTSOURCE_DATAFLASH

	config BR2_TARGET_UBOOT_BOOTSOURCE_NANDFLASH
	bool "Boot from a NAND flash"
	depends on BR2_BOOTSOURCE_NANDFLASH

	config BR2_TARGET_UBOOT_BOOTSOURCE_FLASH
	bool "Boot from a parallell flash"
	depends on BR2_BOOTSOURCE_FLASH

	config BR2_TARGET_UBOOT_BOOTSOURCE_SDCARD
	bool "Boot from an SD-Card"
	depends on BR2_BOOTSOURCE_SDCARD

	config BR2_TARGET_UBOOT_BOOTSOURCE_EEPROM
	bool "Boot from a serial EEPROM (Not yet supported)"
	depends on BR2_BOOTSOURCE_EEPROM

endchoice

config BR2_TARGET_UBOOT_BOOTSOURCE
	string
	depends on BR2_BOOTSOURCE
	default "dataflash"	if BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD
	default "dataflash"	if BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default "nandflash"	if BR2_TARGET_UBOOT_BOOTSOURCE_NANDFLASH
	default "flash"		if BR2_TARGET_UBOOT_BOOTSOURCE_FLASH
	default "sdcard"	if BR2_TARGET_UBOOT_BOOTSOURCE_SDCARD
	default "eeprom"	if BR2_TARGET_UBOOT_BOOTSOURCE_EEPROM

config BR2_TARGET_UBOOT_SILENT
	bool "silent console"
	help
	  If the option has been enabled, the output can be
	  silenced by setting the environment variable "silent".

config BR2_TARGET_UBOOT_TOOL_MKIMAGE
	bool "mkimage tool in target"
	help
	  Install mkimage tool in target.

config BR2_TARGET_UBOOT_TOOL_ENV
	bool "fw_printenv tool in target"
	help
	  Install fw_printenv / fw_setenv tools in target.

menuconfig BR2_TARGET_UBOOT_DEFAULT_ENV
	bool "Generate a default environment"
	help
	  Will generate variables for factory default command
	  and autoscript.

if BR2_TARGET_UBOOT_DEFAULT_ENV
choice
	prompt "SDRAM Memory size"
	default BR2_TARGET_UBOOT_SDRAM_SIZE_64M
	help
	  Size of the onboard SDRAM

config BR2_TARGET_UBOOT_SDRAM_SIZE_256MB
	bool "256 MB"

config BR2_TARGET_UBOOT_SDRAM_SIZE_128MB
	bool "128 MB"

config BR2_TARGET_UBOOT_SDRAM_SIZE_64MB
	bool "64 MB"

config BR2_TARGET_UBOOT_SDRAM_SIZE_32MB
	bool "32 MB"

config BR2_TARGET_UBOOT_SDRAM_SIZE_16MB
	bool "16 MB"

config BR2_TARGET_UBOOT_SDRAM_SIZE_8MB
	bool "8 MB"

endchoice

config BR2_TARGET_UBOOT_MEMORY_SIZE
	string
	default "256M"	if BR2_TARGET_UBOOT_SDRAM_SIZE_256MB
	default "128M"	if BR2_TARGET_UBOOT_SDRAM_SIZE_128MB
	default "64M"	if BR2_TARGET_UBOOT_SDRAM_SIZE_64MB
	default "32M"	if BR2_TARGET_UBOOT_SDRAM_SIZE_32MB
	default "16M"	if BR2_TARGET_UBOOT_SDRAM_SIZE_16MB
	default "8M"	if BR2_TARGET_UBOOT_SDRAM_SIZE_8MB

choice
	prompt "Kernel Size"
	default BR2_TARGET_UBOOT_KERNEL_SIZE_2_00MB

config BR2_TARGET_UBOOT_KERNEL_SIZE_1_25MB
	bool "Kernel size is less than 1.25 MB"

config BR2_TARGET_UBOOT_KERNEL_SIZE_1_50MB
	bool "Kernel size is less than 1.50 MB"

config BR2_TARGET_UBOOT_KERNEL_SIZE_1_75MB
	bool "Kernel size is less than 1.75 MB"

config BR2_TARGET_UBOOT_KERNEL_SIZE_2_00MB
	bool "Kernel size is less than 2.00 MB"

config BR2_TARGET_UBOOT_KERNEL_SIZE_2_25MB
	bool "Kernel size is less than 2.25 MB"

config BR2_TARGET_UBOOT_KERNEL_SIZE_2_50MB
	bool "Kernel size is less than 2.50 MB"

endchoice

choice
	prompt "Dataflash Size"
	depends on BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD || BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default BR2_TARGET_UBOOT_DATAFLASH_SIZE_2_00MB

config BR2_TARGET_UBOOT_DATAFLASH_SIZE_8MB
	bool "Dataflash size is 8 MB"

config BR2_TARGET_UBOOT_DATAFLASH_SIZE_4MB
	bool "Dataflash size is 4 MB"

config BR2_TARGET_UBOOT_DATAFLASH_SIZE_2MB
	bool "Dataflash size is 2 MB"

config BR2_TARGET_UBOOT_DATAFLASH_SIZE_1MB
	bool "Dataflash size is 1 MB"

config BR2_TARGET_UBOOT_DATAFLASH_SIZE_0_50MB
	bool "Dataflash size is 0.5 MB"

config BR2_TARGET_UBOOT_DATAFLASH_SIZE_0_25MB
	bool "Dataflash size is 0.25 MB"

endchoice

config BR2_TARGET_UBOOT_DATAFLASH_SIZE
	string
	depends on BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD || BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default "8M"	if BR2_TARGET_DATAFLASH_SIZE_8MB
	default "4M"	if BR2_TARGET_DATAFLASH_SIZE_4MB
	default "2M"	if BR2_TARGET_DATAFLASH_SIZE_2MB
	default "1M"	if BR2_TARGET_DATAFLASH_SIZE_1MB
	default "0.5M"	if BR2_TARGET_DATAFLASH_SIZE_0_50MB
	default "0.25M"	if BR2_TARGET_DATAFLASH_SIZE_0_25MB

config BR2_TARGET_UBOOT_END_OF_FLASH
	string
	depends on BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD || BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default "C083FFFF" if  BR2_TARGET_UBOOT_DATAFLASH_SIZE_8MB
	default "C041FFFF" if  BR2_TARGET_UBOOT_DATAFLASH_SIZE_4MB
	default "C020FFFF" if  BR2_TARGET_UBOOT_DATAFLASH_SIZE_2MB
	default "C0107FFF" if  BR2_TARGET_UBOOT_DATAFLASH_SIZE_1MB
	default "C0083FFF" if  BR2_TARGET_UBOOT_DATAFLASH_SIZE_0_50MB
	default "C0041FFF" if  BR2_TARGET_UBOOT_DATAFLASH_SIZE_0_25MB
	help

config BR2_TARGET_UBOOT_KERNEL_START
	string "Kernel SDRAM address"
	default "21000000"
	help
	  Kernel is loaded to this address in SDRAM

config BR2_TARGET_UBOOT_KERNEL_LOCATION
	string "Kernel flash address"
	depends on BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD || \
			BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default "C0042000" if BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD || BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default ""
	help
	  Kernel location in dataflash

config BR2_TARGET_UBOOT_FILESYSTEM_START
	string
	default "2114A000" if BR2_TARGET_UBOOT_KERNEL_SIZE_1_25MB
	default "2118C000" if BR2_TARGET_UBOOT_KERNEL_SIZE_1_50MB
  	default "211CE000" if BR2_TARGET_UBOOT_KERNEL_SIZE_1_75MB
  	default "21210000" if BR2_TARGET_UBOOT_KERNEL_SIZE_2_00MB
  	default "21252000" if BR2_TARGET_UBOOT_KERNEL_SIZE_2_25MB
  	default "21294000" if BR2_TARGET_UBOOT_KERNEL_SIZE_2_50MB
	help
	  Kernel is loaded to this SDRAM address
	  Assumes SDRAM starts at 20000000
	  Will need to be updated if the SDRAM is located elsewhere

config BR2_TARGET_UBOOT_FILESYSTEM_LOCATION
	string
	depends on BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASHCARD || \
			BR2_TARGET_UBOOT_BOOTSOURCE_DATAFLASH
	default "C018C000" if BR2_TARGET_UBOOT_KERNEL_SIZE_1_25MB
  	default "C01CE000" if BR2_TARGET_UBOOT_KERNEL_SIZE_1_50MB
  	default "C0210000" if BR2_TARGET_UBOOT_KERNEL_SIZE_1_75MB
  	default "C0252000" if BR2_TARGET_UBOOT_KERNEL_SIZE_2_00MB
  	default "C0294000" if BR2_TARGET_UBOOT_KERNEL_SIZE_2_25MB
  	default "C02D6000" if BR2_TARGET_UBOOT_KERNEL_SIZE_2_50MB
	help
	  Determine location for File System in Dataflash
	  This needs to be updated for other memory technologies

config BR2_TARGET_UBOOT_FILESYSTEM_SIZE
	string "File System Size"
	default "6000000"
	help

menuconfig BR2_TARGET_UBOOT_NETWORK
	bool "Network Settings"
	default y
	help
	  Network settings for U-boot

if BR2_TARGET_UBOOT_NETWORK

config BR2_TARGET_UBOOT_SERVERIP
	string "server ip"
	default "10.175.196.221"
	help
	  TFTP server ip address

config BR2_TARGET_UBOOT_IPADDR
	string "ip address"
	default "10.175.196.18"
	help
	  Target ip address

config BR2_TARGET_UBOOT_GATEWAY
	string "gateway ip"
	default "10.175.196.1"
	help
	  Gateway ip address

config BR2_TARGET_UBOOT_NETMASK
	string "netmask"
	default "255.255.255.0"
	help
	  Network Mask

config BR2_TARGET_UBOOT_ETHADDR
	string "ethernet address"
	default "04:25:fe:ed:00:18"
	help
	  Target MAC address for the ethernet interface.
	  This should be changed for production units

config BR2_TARGET_UBOOT_ETH1ADDR
	string "ethernet 2 address"
	depends on BR2_TARGET_AVR32
	help
	  Target MAC address for the second ethernet interface.

endif # BR2_TARGET_UBOOT_NETWORK

endif # BR2_TARGET_UBOOT_DEFAULT_ENV

endif # BR2_TARGET_UBOOT

config BR2_BOOTSOURCE_DATAFLASHCARD
	bool
	help
	  Allow use of a dataflashcard as a boot source

config BR2_BOOTSOURCE_DATAFLASH
	bool
	help
	  Allow use of a dataflash as a boot source

config BR2_BOOTSOURCE_NANDFLASH
	bool
	help
	  Allow use of a NAND flash as a boot source

config BR2_BOOTSOURCE_FLASH
	bool
	help
	  Allow use of a flash RAM as a boot source

config BR2_BOOTSOURCE_SDCARD
	bool
	help
	  Allow use of an SD-card as a boot source

config BR2_BOOTSOURCE_EEPROM
	bool
	help
	  Allow use of a serial eeprom as a boot source

config	BR2_BOOTSOURCE
	bool
	default y if BR2_BOOTSOURCE_DATAFLASHCARD
	default y if BR2_BOOTSOURCE_DATAFLASH
	default y if BR2_BOOTSOURCE_NANDFLASH
	default y if BR2_BOOTSOURCE_FLASH
	default y if BR2_BOOTSOURCE_SDCARD
	default y if BR2_BOOTSOURCE_EEPROM
