summaryrefslogtreecommitdiff
path: root/boot/u-boot
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-03-14 18:20:45 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-06-10 21:05:12 +0200
commit649b5b92509dba021ed47ef4c04f358de83ba36f (patch)
treee0f22590fe9a99eba5565bbb4738b6f833b2c9fb /boot/u-boot
parent7c709f4affc44f3bbc9a09fec8d84ae3807e31e7 (diff)
bootloaders: move bootloader build code to boot/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'boot/u-boot')
-rw-r--r--boot/u-boot/Config.in378
-rw-r--r--boot/u-boot/Makefile.in293
-rw-r--r--boot/u-boot/u-boot-2009.01-include_asm-avr32_io.h.patch.avr3213
3 files changed, 684 insertions, 0 deletions
diff --git a/boot/u-boot/Config.in b/boot/u-boot/Config.in
new file mode 100644
index 000000000..ca47e18f9
--- /dev/null
+++ b/boot/u-boot/Config.in
@@ -0,0 +1,378 @@
+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_2010_03
+ help
+ Select the specific U-Boot version you want to use
+
+config BR2_TARGET_UBOOT_2010_03
+ bool "u-boot-2010.03"
+
+config BR2_TARGET_UBOOT_2009_11
+ bool "u-boot-2009.11"
+
+config BR2_TARGET_UBOOT_2009_08
+ bool "u-boot-2009.08"
+
+config BR2_TARGET_UBOOT_2009_06
+ bool "u-boot-2009.06"
+ depends on BR2_DEPRECATED
+
+config BR2_TARGET_UBOOT_2009_03
+ bool "u-boot-2009.03"
+ depends on BR2_DEPRECATED
+
+config BR2_TARGET_UBOOT_2009_01
+ bool "u-boot-2009.01"
+ depends on BR2_DEPRECATED
+
+config BR2_TARGET_UBOOT_2008_10
+ bool "u-boot-2008.10"
+ 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 "2010.03" if BR2_TARGET_UBOOT_2010_03
+ default "2009.11" if BR2_TARGET_UBOOT_2009_11
+ default "2009.08" if BR2_TARGET_UBOOT_2009_08
+ default "2009.06" if BR2_TARGET_UBOOT_2009_06
+ default "2009.03" if BR2_TARGET_UBOOT_2009_03
+ default "2009.01" if BR2_TARGET_UBOOT_2009_01
+ default "2008.10" if BR2_TARGET_UBOOT_2008_10
+ 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"
+ 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
diff --git a/boot/u-boot/Makefile.in b/boot/u-boot/Makefile.in
new file mode 100644
index 000000000..a875f2b5e
--- /dev/null
+++ b/boot/u-boot/Makefile.in
@@ -0,0 +1,293 @@
+#############################################################
+#
+# U-Boot
+#
+#############################################################
+U_BOOT_VERSION:=$(call qstrip,$(BR2_UBOOT_VERSION))
+
+U_BOOT_SOURCE:=u-boot-$(U_BOOT_VERSION).tar.bz2
+
+U_BOOT_SITE:=$(call qstrip,$(BR2_U_BOOT_SITE))
+U_BOOT_DIR:=$(BUILD_DIR)/u-boot-$(U_BOOT_VERSION)
+U_BOOT_PATCH_DIR:=$(BUILD_DIR)/u-boot-$(U_BOOT_VERSION)-patches
+U_BOOT_CAT:=$(BZCAT)
+U_BOOT_BIN:=u-boot.bin
+U_BOOT_TARGET_BIN:=u-boot-$(U_BOOT_VERSION)-$(DATE).bin
+
+U_BOOT_TOOLS:=$(HOST_DIR)/usr/bin/mkimage
+MKIMAGE:=$(U_BOOT_TOOLS)
+U_BOOT_AUTOSCRIPT=$(BINARIES_DIR)/autoscript
+
+U_BOOT_TARGETS:=$(BINARIES_DIR)/$(U_BOOT_BIN) $(U_BOOT_TOOLS)
+
+ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_DEFAULT_ENV)),y)
+U_BOOT_TARGETS += u-boot-autoscript
+endif
+
+TARGET_UBOOT_IPADDR:=$(call qstrip,$(BR2_TARGET_UBOOT_IPADDR))
+TARGET_UBOOT_SERVERIP:=$(call qstrip,$(BR2_TARGET_UBOOT_SERVERIP))
+TARGET_UBOOT_GATEWAY:=$(call qstrip,$(BR2_TARGET_UBOOT_GATEWAY))
+TARGET_UBOOT_NETMASK:=$(call qstrip,$(BR2_TARGET_UBOOT_NETMASK))
+TARGET_UBOOT_ETHADDR:=$(call qstrip,$(BR2_TARGET_UBOOT_ETHADDR))
+
+# u-boot still uses arch=ppc for powerpc
+U_BOOT_ARCH=$(KERNEL_ARCH:powerpc=ppc)
+ifeq ($(UBOOT_BOARD_NAME),)
+UBOOT_BOARD_NAME:=$(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME))
+endif
+
+U_BOOT_INC_CONF_FILE:=$(U_BOOT_DIR)/include/config.h
+
+U_BOOT_TARGET_TOOLS:=
+ifeq ($(BR2_TARGET_UBOOT_TOOL_MKIMAGE),y)
+U_BOOT_TARGETS+=$(TARGET_DIR)/usr/bin/mkimage
+endif
+ifeq ($(BR2_TARGET_UBOOT_TOOL_ENV),y)
+U_BOOT_TARGETS+=$(TARGET_DIR)/usr/sbin/fw_printenv
+endif
+
+U_BOOT_CONFIGURE_OPTS :=
+
+ifneq ($(BR2_TARGET_UBOOT_1_2_0_ATMEL),)
+U_BOOT_CONFIGURE_OPTS += CONFIG_NOSOFTFLOAT=1
+endif
+
+# Define a helper function
+define insert_define
+@echo "#ifdef $(strip $(1))" >> $(U_BOOT_INC_CONF_FILE)
+@echo "#undef $(strip $(1))" >> $(U_BOOT_INC_CONF_FILE)
+@echo "#endif" >> $(U_BOOT_INC_CONF_FILE)
+@echo '#define $(strip $(1)) $(call qstrip,$(2))' >> $(U_BOOT_INC_CONF_FILE)
+endef
+
+$(DL_DIR)/$(U_BOOT_SOURCE):
+ $(call DOWNLOAD,$(U_BOOT_SITE),$(U_BOOT_SOURCE))
+
+$(U_BOOT_DIR)/.unpacked: $(DL_DIR)/$(U_BOOT_SOURCE)
+ $(U_BOOT_CAT) $(DL_DIR)/$(U_BOOT_SOURCE) \
+ | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ mkdir -p $(U_BOOT_DIR)
+ touch $@
+
+$(U_BOOT_DIR)/.patched: $(U_BOOT_DIR)/.unpacked
+ toolchain/patch-kernel.sh $(U_BOOT_DIR) boot/u-boot \
+ u-boot-$(U_BOOT_VERSION)-\*.patch \
+ u-boot-$(U_BOOT_VERSION)-\*.patch.$(ARCH)
+ifneq ($(strip $(U_BOOT_ARCH_PATCH_DIR)),)
+ toolchain/patch-kernel.sh $(U_BOOT_DIR) $(U_BOOT_ARCH_PATCH_DIR) \*.patch
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_CUSTOM_PATCH)),"")
+ @mkdir -p $(U_BOOT_PATCH_DIR)
+ cp -dpr $(BR2_TARGET_UBOOT_CUSTOM_PATCH) $(U_BOOT_PATCH_DIR)
+ toolchain/patch-kernel.sh $(U_BOOT_DIR) $(U_BOOT_PATCH_DIR) \*.patch
+endif
+ touch $@
+
+$(U_BOOT_DIR)/.configured: $(U_BOOT_DIR)/.patched
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ $(U_BOOT_CONFIGURE_OPTS) \
+ $(MAKE) -C $(U_BOOT_DIR) \
+ $(UBOOT_BOARD_NAME)_config
+ touch $@
+
+$(U_BOOT_DIR)/.header_modified: $(U_BOOT_DIR)/.configured
+ # Modify configuration header in $(U_BOOT_INC_CONF_FILE)
+ifdef BR2_TARGET_UBOOT_DEFAULT_ENV
+ @echo >> $(U_BOOT_INC_CONF_FILE)
+ @echo "/* Add a wrapper around the values Buildroot sets. */" >> $(U_BOOT_INC_CONF_FILE)
+ @echo "#ifndef __BR2_ADDED_CONFIG_H" >> $(U_BOOT_INC_CONF_FILE)
+ @echo "#define __BR2_ADDED_CONFIG_H" >> $(U_BOOT_INC_CONF_FILE)
+ $(call insert_define, DATE, $(DATE))
+ $(call insert_define, CONFIG_LOAD_SCRIPTS, 1)
+endif # BR2_TARGET_UBOOT_DEFAULT_ENV
+ifdef BR2_TARGET_UBOOT_NETWORK
+ifneq ($(strip $(BR2_TARGET_UBOOT_IPADDR)),"")
+ $(call insert_define, CONFIG_IPADDR, $(BR2_TARGET_UBOOT_IPADDR))
+ifneq ($(strip $(BR2_TARGET_UBOOT_GATEWAY)),"")
+ $(call insert_define, CONFIG_GATEWAYIP, $(BR2_TARGET_UBOOT_GATEWAY))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_NETMASK)),"")
+ $(call insert_define, CONFIG_NETMASK, $(BR2_TARGET_UBOOT_NETMASK))
+endif
+endif # end BR2_TARGET_U_BOOT_IPADDR
+ifneq ($(strip $(BR2_TARGET_UBOOT_SERVERIP)),"")
+ $(call insert_define, CONFIG_SERVERIP, $(BR2_TARGET_UBOOT_SERVERIP))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_ETHADDR)),"")
+ $(call insert_define, CONFIG_ETHADDR, $(BR2_TARGET_UBOOT_ETHADDR))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_ETH1ADDR)),)
+ifneq ($(strip $(BR2_TARGET_UBOOT_ETH1ADDR)),"")
+ $(call insert_define, CONFIG_ETH1ADDR, $(BR2_TARGET_UBOOT_ETH1ADDR))
+endif
+endif
+endif # BR2_TARGET_UBOOT_NETWORK
+ifeq ($(BR2_TARGET_UBOOT_SILENT),y)
+ $(call insert_define, CONFIG_SILENT_CONSOLE,)
+endif
+ifdef BR2_TARGET_UBOOT_DEFAULT_ENV
+ifneq ($(strip $(BR2_TARGET_UBOOT_KERNEL_START)),"")
+ $(call insert_define, KERNEL_START, $(BR2_TARGET_UBOOT_KERNEL_START))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_KERNEL_LOCATION)),"")
+ $(call insert_define, KERNEL_LOCATION, $(BR2_TARGET_UBOOT_KERNEL_LOCATION))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_FILESYSTEM_START)),"")
+ $(call insert_define, FILESYSTEM_START, $(BR2_TARGET_UBOOT_FILESYSTEM_START))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_FILESYSTEM_LOCATION)),"")
+ $(call insert_define, FILESYSTEM_LOCATION, $(BR2_TARGET_UBOOT_FILESYSTEM_LOCATION))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_FILESYSTEM_SIZE)),"")
+ $(call insert_define, FILESYSTEM_SIZE, $(BR2_TARGET_UBOOT_FILESYSTEM_SIZE))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_END_OF_FLASH)),"")
+ $(call insert_define, END_OF_FLASH, $(BR2_TARGET_UBOOT_END_OF_FLASH))
+endif
+ifneq ($(strip $(BR2_TARGET_UBOOT_MEMORY_SIZE)),"")
+ $(call insert_define, MEMORY_SIZE, $(BR2_TARGET_UBOOT_MEMORY_SIZE))
+endif
+ @echo "#endif /* __BR2_ADDED_CONFIG_H */" >> $(U_BOOT_INC_CONF_FILE)
+endif # BR2_TARGET_UBOOT_DEFAULT_ENV
+ touch $@
+
+$(U_BOOT_DIR)/$(U_BOOT_BIN): $(U_BOOT_DIR)/.header_modified
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ $(U_BOOT_CONFIGURE_OPTS) \
+ $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(U_BOOT_ARCH) \
+ -C $(U_BOOT_DIR)
+
+$(BINARIES_DIR)/$(U_BOOT_BIN): $(U_BOOT_DIR)/$(U_BOOT_BIN)
+ rm -f $(BINARIES_DIR)/$(U_BOOT_BIN)
+ rm -f $(BINARIES_DIR)/$(U_BOOT_TARGET_BIN)
+ cp -dpf $(U_BOOT_DIR)/$(U_BOOT_BIN) $(BINARIES_DIR)/$(U_BOOT_TARGET_BIN)
+ (cd $(BINARIES_DIR); ln -s $(U_BOOT_TARGET_BIN) $(U_BOOT_BIN))
+
+$(U_BOOT_TOOLS): $(U_BOOT_DIR)/$(U_BOOT_BIN)
+ mkdir -p $(@D)
+ cp -dpf $(U_BOOT_DIR)/tools/mkimage $@
+
+$(TARGET_DIR)/usr/bin/mkimage: $(U_BOOT_DIR)/$(U_BOOT_BIN)
+ mkdir -p $(@D)
+ $(TARGET_CC) -I$(U_BOOT_DIR)/include -I$(U_BOOT_DIR)/tools \
+ -DUSE_HOSTCC -o $@ \
+ $(U_BOOT_DIR)/common/image.c \
+ $(wildcard $(addprefix $(U_BOOT_DIR)/tools/,default_image.c \
+ fit_image.c imximage.c kwbimage.c mkimage.c)) \
+ $(addprefix $(U_BOOT_DIR)/lib_generic/,crc32.c md5.c sha1.c) \
+ $(U_BOOT_DIR)/tools/os_support.c \
+ $(U_BOOT_DIR)/libfdt/fdt*.c
+
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
+
+$(TARGET_DIR)/usr/sbin/fw_printenv: $(U_BOOT_DIR)/$(U_BOOT_BIN)
+ mkdir -p $(@D)
+ $(TARGET_CC) -I$(U_BOOT_DIR)/include -I$(LINUX_HEADERS_DIR)/include \
+ -DUSE_HOSTCC -o $@ \
+ $(U_BOOT_DIR)/tools/env/*.c $(U_BOOT_DIR)/lib_generic/crc32.c
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
+ ln -sf fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv
+
+u-boot: $(U_BOOT_TARGETS)
+
+u-boot-autoscript: $(U_BOOT_AUTOSCRIPT).img
+
+u-boot-clean:
+ -$(MAKE) -C $(U_BOOT_DIR) clean
+ rm -f $(U_BOOT_TOOLS) $(U_BOOT_TARGET_TOOLS)
+
+u-boot-dirclean:
+ rm -rf $(U_BOOT_DIR)
+
+u-boot-source: $(DL_DIR)/$(U_BOOT_SOURCE)
+
+u-boot-unpacked: $(U_BOOT_DIR)/.patched
+
+u-boot-configured: $(U_BOOT_DIR)/.header_modified
+
+#############################################################
+#
+# Generate an autoscript with the configration items
+#
+#############################################################
+
+$(U_BOOT_AUTOSCRIPT): .config
+ rm -f $(U_BOOT_AUTOSCRIPT)
+ifneq ($(TARGET_UBOOT_IPADDR),)
+ echo setenv ipaddr $(TARGET_UBOOT_IPADDR) > $(U_BOOT_AUTOSCRIPT)
+else
+ echo TARGET_UBOOT_IPADDR="$(TARGET_UBOOT_IPADDR)"
+endif
+ifneq ($(TARGET_UBOOT_SERVERIP),)
+ echo setenv serverip $(TARGET_UBOOT_SERVERIP) >> $(U_BOOT_AUTOSCRIPT)
+endif
+ifneq ($(TARGET_UBOOT_GATEWAY),)
+ echo setenv gatewayip $(TARGET_UBOOT_GATEWAY) >> $(U_BOOT_AUTOSCRIPT)
+endif
+ifneq ($(TARGET_UBOOT_NETMASK),)
+ echo setenv netmask $(TARGET_UBOOT_NETMASK) >> $(U_BOOT_AUTOSCRIPT)
+endif
+ echo setenv linux $(LINUX26_KERNEL_NAME) >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv kernel-version $(LINUX26_VERSION) >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv kernel-date $(DATE) >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv hostname $(TARGET_HOSTNAME) >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv fs-date $(DATE) >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv rd-1 rootfs.$(ARCH)-$(DATE).ext2 >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv rd-2 rootfs.$(ARCH)-$(DATE).jffs2 >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv rd rootfs.$(BR2_ARCH)-$(DATE).ext2 >> $(U_BOOT_AUTOSCRIPT)
+ echo setenv ver 1 >> $(U_BOOT_AUTOSCRIPT)
+ifneq ($(TARGET_UBOOT_ETHADDR),)
+ echo setenv ethaddr $(TARGET_UBOOT_ETHADDR) >> $(U_BOOT_AUTOSCRIPT)
+endif
+ echo setenv fstype ram >> $(U_BOOT_AUTOSCRIPT)
+ echo fs >> $(U_BOOT_AUTOSCRIPT)
+ echo os >> $(U_BOOT_AUTOSCRIPT)
+ echo setargs >> $(U_BOOT_AUTOSCRIPT)
+ echo saveenv >> $(U_BOOT_AUTOSCRIPT)
+
+$(U_BOOT_AUTOSCRIPT).img: $(U_BOOT_AUTOSCRIPT) $(MKIMAGE)
+ $(MKIMAGE) -A $(ARCH) \
+ -O linux \
+ -T script \
+ -C none \
+ -a 0 \
+ -e 0 \
+ -n "autoscr config" \
+ -d $(U_BOOT_AUTOSCRIPT) \
+ $(U_BOOT_AUTOSCRIPT).img
+
+
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_TARGET_UBOOT),y)
+TARGETS+=u-boot
+
+# we NEED a board name
+ifeq ($(UBOOT_BOARD_NAME),)
+$(error NO U-Boot board name set. Check your BR2_TARGET_UBOOT_BOARDNAME setting)
+endif
+
+endif
+
+u-boot-status:
+ @echo
+ @echo U_BOOT_INC_CONF_FILE = $(U_BOOT_INC_CONF_FILE)
+ @echo BR2_UBOOT_VERSION = $(BR2_UBOOT_VERSION)
+ @echo BR2_TARGET_UBOOT_SERVERIP = $(BR2_TARGET_UBOOT_SERVERIP)
+ @echo BR2_TARGET_UBOOT_IPADDR = $(BR2_TARGET_UBOOT_IPADDR)
+ @echo BR2_TARGET_UBOOT_GATEWAY = $(BR2_TARGET_UBOOT_GATEWAY)
+ @echo BR2_TARGET_UBOOT_NETMASK = $(BR2_TARGET_UBOOT_NETMASK)
+ @echo BR2_TARGET_UBOOT_ETH0ADDR = $(BR2_TARGET_UBOOT_ETHADDR)
+ @echo BR2_TARGET_UBOOT_ETH1ADDR = $(BR2_TARGET_UBOOT_ETH1ADDR)
+ @echo BR2_TARGET_UBOOT_SILENT = $(BR2_TARGET_UBOOT_SILENT)
+ @echo UBOOT_BOARD_NAME=$(UBOOT_BOARD_NAME)
+ @exit 0
+
diff --git a/boot/u-boot/u-boot-2009.01-include_asm-avr32_io.h.patch.avr32 b/boot/u-boot/u-boot-2009.01-include_asm-avr32_io.h.patch.avr32
new file mode 100644
index 000000000..07cddb000
--- /dev/null
+++ b/boot/u-boot/u-boot-2009.01-include_asm-avr32_io.h.patch.avr32
@@ -0,0 +1,13 @@
+diff -urN u-boot-2009.01-rc3/include/asm-avr32/io.h u-boot-avr32//include/asm-avr32/io.h
+--- u-boot-2009.01-rc3/include/asm-avr32/io.h 2009-01-18 21:37:48.000000000 +0100
++++ u-boot-avr32//include/asm-avr32/io.h 2009-01-22 07:14:38.000000000 +0100
+@@ -125,9 +125,4 @@
+
+ }
+
+-static inline phys_addr_t virt_to_phys(void * vaddr)
+-{
+- return (phys_addr_t)(vaddr);
+-}
+-
+ #endif /* __ASM_AVR32_IO_H */