From a1e6a84bb32d2c691103ee7548506c6bb68cb101 Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Tue, 17 Jul 2007 12:19:56 +0000 Subject: Add AT91 targets --- target/device/Atmel/u-boot/Config.in | 43 ++++++ target/device/Atmel/u-boot/u-boot.mk | 256 +++++++++++++++++++++++++++++++++++ 2 files changed, 299 insertions(+) create mode 100644 target/device/Atmel/u-boot/Config.in create mode 100644 target/device/Atmel/u-boot/u-boot.mk (limited to 'target/device/Atmel/u-boot') diff --git a/target/device/Atmel/u-boot/Config.in b/target/device/Atmel/u-boot/Config.in new file mode 100644 index 000000000..16e8eb3d6 --- /dev/null +++ b/target/device/Atmel/u-boot/Config.in @@ -0,0 +1,43 @@ +config BR2_TARGET_UBOOT + bool "Das U-Boot Boot Monitor" + depends on BR2_TARGET_AT91 || BR2_TARGET_AVR32 + default n + help + Build "Das U-Boot" Boot Monitor + +config BR2_TARGET_UBOOT_SERVERIP + string "server ip" + depends on BR2_TARGET_UBOOT + default "10.175.196.221" + help + TFTP server ip address + +config BR2_TARGET_UBOOT_IPADDR + string "ip address" + depends on BR2_TARGET_UBOOT + default "10.175.196.18" + help + TFTP server ip address + +config BR2_TARGET_UBOOT_GATEWAY + string "gateway ip" + depends on BR2_TARGET_UBOOT + default "10.175.196.1" + help + Gateway ip address + +config BR2_TARGET_UBOOT_NETMASK + string "netmask" + depends on BR2_TARGET_UBOOT + default "255.255.255.0" + help + Network Mask + +config BR2_TARGET_UBOOT_ETHADDR + string "Ethernet address" + depends on BR2_TARGET_UBOOT + default "04:25:fe:ed:00:18" + help + Target ip address, this should be changed for production units + + diff --git a/target/device/Atmel/u-boot/u-boot.mk b/target/device/Atmel/u-boot/u-boot.mk new file mode 100644 index 000000000..0fa931bf4 --- /dev/null +++ b/target/device/Atmel/u-boot/u-boot.mk @@ -0,0 +1,256 @@ +############################################################# +# +# u-boot mkimage to build to target u-boot filesystems and +# +# u-boot.bin - the boot loader for the target - which needs soft float, so +# we won't make it. +# +# +############################################################# +UBOOT_VERSION:=1.2.0-atmel +UBOOT_DIR:=$(BUILD_DIR)/u-boot-$(UBOOT_VERSION) +UBOOT_BUILD_DIR:=$(PROJECT_BUILD_DIR)/u-boot-$(UBOOT_VERSION) +UBOOT_SOURCE:=u-boot-$(UBOOT_VERSION).tar.bz2 +#UBOOT_SOURCE:=u-boot-1.1.5-atmel.tar.bz2 +ATMEL_MIRROR:=$(strip $(subst ",, $(BR2_ATMEL_MIRROR))) +#UBOOT_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/u-boot +UBOOT_SITE:=$(ATMEL_MIRROR)/Source +UBOOT_PATCH_SITE:=$(ATMEL_MIRROR)/Source +UBOOT_CAT:=bzcat +UBOOT_PATCH_SOURCE:=u-boot-1.2.0-atmel-patch.tar.bz2 + +MKIMAGE_BINLOC:=$(UBOOT_BUILD_DIR)/tools/mkimage +MKIMAGE:=$(KERNEL_CROSS)mkimage + +UBOOT_BIN:=$(BOARD_NAME)-u-boot-$(UBOOT_VERSION)-$(DATE).bin + +UBOOT_PATCHES:=$(PROJECT_BUILD_DIR)/u-boot-patches + +UBOOT_ATMEL_BMP:=$(UBOOT_PATCHES)/atmel.bmp + +UBOOT_SCR=$(BINARIES_DIR)/autoscript +TARGET_UBOOT_IPADDR:=$(strip $(subst ",, $(BR2_TARGET_UBOOT_IPADDR))) +TARGET_UBOOT_SERVERIP:=$(strip $(subst ",, $(BR2_TARGET_UBOOT_SERVERIP))) +TARGET_UBOOT_GATEWAY:=$(strip $(subst ",, $(BR2_TARGET_UBOOT_GATEWAY))) +TARGET_UBOOT_NETMASK:=$(strip $(subst ",, $(BR2_TARGET_UBOOT_NETMASK))) +TARGET_UBOOT_ETHADDR:=$(strip $(subst ",, $(BR2_TARGET_UBOOT_ETHADDR))) +UBOOT_CUSTOM:=$(UBOOT_DIR)/include/custom.h + +$(DL_DIR)/$(UBOOT_SOURCE): + $(WGET) -P $(DL_DIR) $(UBOOT_SITE)/$(UBOOT_SOURCE) + +$(DL_DIR)/$(UBOOT_PATCH_SOURCE): + $(WGET) -P $(DL_DIR) $(UBOOT_PATCH_SITE)/$(UBOOT_PATCH_SOURCE) + +$(UBOOT_DIR)/.unpacked: $(DL_DIR)/$(UBOOT_SOURCE) + mkdir -p $(BUILD_DIR) + $(UBOOT_CAT) $(DL_DIR)/$(UBOOT_SOURCE) | tar -C $(BUILD_DIR) -xvf - + touch $(UBOOT_DIR)/.unpacked + ls $(UBOOT_DIR)/.unpacked + +$(UBOOT_PATCHES)/.unpacked: $(DL_DIR)/$(UBOOT_PATCH_SOURCE) + mkdir -p $(UBOOT_PATCHES) + bzcat $(DL_DIR)/$(UBOOT_PATCH_SOURCE) | tar -C $(UBOOT_PATCHES) -xvf - + touch $(UBOOT_PATCHES)/.unpacked + +$(UBOOT_DIR)/.patched.$(UBOOT_PATCH_SOURCE): $(UBOOT_DIR)/.unpacked $(UBOOT_PATCHES)/.unpacked + toolchain/patch-kernel.sh $(UBOOT_DIR) $(UBOOT_PATCHES) *.patch + touch $(UBOOT_DIR)/.patched.$(UBOOT_PATCH_SOURCE) +# cp $(UBOOT_CONFIG_FILE) $(UBOOT_DIR)/include/configs/. +# cp $(UBOOT_PATCHES)/cmd_defenv.c $(UBOOT_DIR)/common/. +# cp $(UBOOT_ATMEL_BMP) $(UBOOT_DIR)/tools/logos/. + +$(UBOOT_BUILD_DIR)/.configured: $(UBOOT_DIR)/.patched.$(UBOOT_PATCH_SOURCE) +ifneq ($(strip $(UBOOT_CONFIG_FILE)),) + cp $(UBOOT_CONFIG_FILE) $(UBOOT_DIR)/include/configs/. +endif + $(MAKE) \ + O=$(UBOOT_BUILD_DIR) \ + CONFIG_NOSOFTFLOAT=1 \ + -C $(UBOOT_DIR) \ + $(UBOOT_CONFIG) + $(SED) 's/ $$(SREC) $$(BIN)//' $(UBOOT_DIR)/examples/Makefile + touch $(UBOOT_BUILD_DIR)/.configured +# $(MAKE) O=$(UBOOT_BUILD_DIR) -C $(UBOOT_DIR) + +$(MKIMAGE_BINLOC): $(UBOOT_BUILD_DIR)/.configured + $(MAKE) \ + O=$(UBOOT_BUILD_DIR) \ + CROSS_COMPILE= \ + CONFIG_NOSOFTFLOAT=1 \ + TOPDIR=$(UBOOT_DIR) \ + SRCTREE=$(UBOOT_DIR) \ + -C $(UBOOT_DIR) tools + touch $(MKIMAGE_BINLOC) + +$(UBOOT_BUILD_DIR)/u-boot.bin: $(UBOOT_BUILD_DIR)/.configured $(UBOOT_BUILD_DIR)/.customized + echo TARGET_CROSS=$(TARGET_CROSS) + $(MAKE) O=$(UBOOT_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + CONFIG_NOSOFTFLOAT=1 \ + TOPDIR=$(UBOOT_DIR) \ + SRCTREE=$(UBOOT_DIR) \ + TFTPBOOT=/tftpboot \ + -C $(UBOOT_DIR) + +$(BINARIES_DIR)/$(UBOOT_BIN): $(UBOOT_BUILD_DIR)/u-boot.bin + mkdir -p $(BINARIES_DIR) + cp $(UBOOT_BUILD_DIR)/u-boot.bin $(BINARIES_DIR)/$(UBOOT_BIN) + +/tftpboot/$(UBOOT_BIN): $(UBOOT_BUILD_DIR)/u-boot.bin + mkdir -p /tftpboot + cp $(UBOOT_BUILD_DIR)/u-boot.bin /tftpboot/$(UBOOT_BIN) + +uboot-bin: $(BINARIES_DIR)/$(UBOOT_BIN) /tftpboot/$(UBOOT_BIN) + +$(UBOOT_BUILD_DIR)/.customized: .config $(UBOOT_BUILD_DIR)/.configured + echo "/* Automatically generated file, do not edit */" > $(UBOOT_CUSTOM) +ifneq ($(HOSTNAME),) + echo "#if defined(CONFIG_HOSTNAME)" >> $(UBOOT_CUSTOM) + echo "#undef CONFIG_HOSTNAME" >> $(UBOOT_CUSTOM) + echo "#define CONFIG_HOSTNAME $(HOSTNAME)" >> $(UBOOT_CUSTOM) + echo "#endif" >> $(UBOOT_CUSTOM) +endif +ifneq ($(TARGET_UBOOT_IPADDR),) + echo "#define CONFIG_IPADDR $(TARGET_UBOOT_IPADDR)" >> $(UBOOT_CUSTOM) +endif +ifneq ($(TARGET_UBOOT_SERVERIP),) + echo "#define CONFIG_SERVERIP $(TARGET_UBOOT_SERVERIP)" >> $(UBOOT_CUSTOM) +endif +ifneq ($(TARGET_UBOOT_GATEWAY),) + echo "#define CONFIG_GATEWAYIP $(TARGET_UBOOT_GATEWAY)" >> $(UBOOT_CUSTOM) +endif +ifneq ($(TARGET_UBOOT_NETMASK),) + echo "#define CONFIG_NETMASK $(TARGET_UBOOT_NETMASK)" >> $(UBOOT_CUSTOM) +endif +ifneq ($(TARGET_UBOOT_ETHADDR),) + echo "#define CONFIG_ETHADDR $(TARGET_UBOOT_ETHADDR)" >> $(UBOOT_CUSTOM) +endif + touch $(UBOOT_BUILD_DIR)/.customized + +$(UBOOT_SCR): .config +ifneq ($(TARGET_UBOOT_IPADDR),) + echo setenv ipaddr $(TARGET_UBOOT_IPADDR) > $(UBOOT_SCR) +endif +ifneq ($(TARGET_UBOOT_SERVERIP),) + echo setenv serverip $(TARGET_UBOOT_SERVERIP) >> $(UBOOT_SCR) +endif +ifneq ($(TARGET_UBOOT_GATEWAY),) + echo setenv gatewayip $(TARGET_UBOOT_GATEWAY) >> $(UBOOT_SCR) +endif +ifneq ($(TARGET_UBOOT_NETMASK),) + echo setenv netmask $(TARGET_UBOOT_NETMASK) >> $(UBOOT_SCR) +endif + echo setenv linux $(LINUX26_KERNEL) >> $(UBOOT_SCR) + echo setenv kernel-version $(LINUX26_VERSION) >> $(UBOOT_SCR) + echo setenv kernel-date $(DATE) >> $(UBOOT_SCR) + echo setenv hostname $(HOSTNAME) >> $(UBOOT_SCR) + echo setenv fs-date $(DATE) >> $(UBOOT_SCR) + echo setenv rd-1 rootfs.$(BR2_ARCH)-$(DATE).ext2 >> $(UBOOT_SCR) + echo setenv rd-2 rootfs.$(BR2_ARCH)-$(DATE).jffs2 >> $(UBOOT_SCR) + echo setenv rd rootfs.$(BR2_ARCH)-$(DATE).ext2 >> $(UBOOT_SCR) + echo setenv ver 1 >> $(UBOOT_SCR) +ifneq ($(TARGET_UBOOT_ETHADDR),) + echo setenv ethaddr $(TARGET_UBOOT_ETHADDR) >> $(UBOOT_SCR) +endif + echo setenv fstype ram >> $(UBOOT_SCR) + echo fs >> $(UBOOT_SCR) + echo os >> $(UBOOT_SCR) + echo setargs >> $(UBOOT_SCR) + echo saveenv >> $(UBOOT_SCR) + +$(UBOOT_SCR).$(HOSTNAME): $(UBOOT_SCR) $(MKIMAGE) + $(MKIMAGE) -A arm \ + -O linux \ + -T script \ + -C none \ + -a 0 \ + -e 0 \ + -n "autoscr config" \ + -d $(UBOOT_SCR) \ + $(UBOOT_SCR).$(HOSTNAME) + cp $(UBOOT_SCR).$(HOSTNAME) /tftpboot + +$(MKIMAGE): $(MKIMAGE_BINLOC) + cp -f $(MKIMAGE_BINLOC) $(MKIMAGE) + +uboot: $(MKIMAGE) uboot-bin $(UBOOT_SCR).$(HOSTNAME) + +uboot-source: $(DL_DIR)/$(UBOOT_SOURCE) + +uboot-clean: + rm -fr $(UBOOT_BUILD_DIR) + rm -fr $(UBOOT_PATCHES) + rm -f $(BINARIES_DIR)/$(UBOOT_BIN) + rm -fr $(UBOOT_DIR) + rm -f $(UBOOT_SCR) + rm -f $(UBOOT_SCR).$(HOSTNAME) +# -$(MAKE) -C $(UBOOT_DIR)/uboot-tools clean + +uboot-dirclean: uboot-clean + rm -rf $(UBOOT_DIR) + +uboot-new: + rm -fr $(UBOOT_BUILD_DIR)/u-boot + rm -fr $(UBOOT_BUILD_DIR)/u-boot.gz + rm -fr $(UBOOT_BUILD_DIR)/u-boot.bin + rm -fr /tftpboot/$(UBOOT_BIN) + rm -fr $(BINARIES_DIR)/$(UBOOT_BIN) + +.PHONY: uboot-bin +############################################################# +# +# Build the uboot root filesystem image +# +############################################################# + +UBOOT_TARGET:=$(IMAGE).uboot + +ubootroot: host-fakeroot makedevs uboot + -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; + @rm -rf $(TARGET_DIR)/usr/man + @rm -rf $(TARGET_DIR)/usr/info + -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null + # Use fakeroot to pretend all target binaries are owned by root + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + touch $(STAGING_DIR)/.fakeroot.00000 + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + echo "chown -R root:root $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + # Use fakeroot to pretend to create all needed device nodes + echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \ + >> $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + # Use fakeroot so mkuboot believes the previous fakery + echo "$(UBOOT_DIR)/uboot-tools/mkuboot " \ + "$(TARGET_DIR) $(UBOOT_TARGET) " \ + "-noappend $(UBOOT_ENDIANNESS)" \ + >> $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(UBOOT_TARGET)) + +ubootroot-source: uboot-source + +ubootroot-clean: + -$(MAKE) -C $(UBOOT_DIR) clean + +ubootroot-dirclean: + rm -rf $(UBOOT_DIR) + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_TARGET_UBOOT)),y) +TARGETS+=uboot +endif + +uboot-test: + -@echo "mkimage = $(MKIMAGE)" + -@ls $(MKIMAGE) + -@echo "u-boot script=$(UBOOT_SCR).$(HOSTNAME)" + -@ls $(UBOOT_SCR).$(HOSTNAME) + -@echo "u-boot script (ASCII)=$(UBOOT_SCR)" + -@ls $(UBOOT_SCR) + -@echo "mkimage binary=$(MKIMAGE_BINLOC)" + -@ls $(MKIMAGE_BINLOC) -- cgit v1.2.3