summaryrefslogtreecommitdiff
path: root/target/device/Atmel/at91bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'target/device/Atmel/at91bootstrap')
-rw-r--r--target/device/Atmel/at91bootstrap/Config.in39
-rw-r--r--target/device/Atmel/at91bootstrap/at91bootstrap.mk67
2 files changed, 106 insertions, 0 deletions
diff --git a/target/device/Atmel/at91bootstrap/Config.in b/target/device/Atmel/at91bootstrap/Config.in
new file mode 100644
index 000000000..6d6d6e205
--- /dev/null
+++ b/target/device/Atmel/at91bootstrap/Config.in
@@ -0,0 +1,39 @@
+config BR2_TARGET_AT91BOOTSTRAP
+ depends on BR2_TARGET_AT91SAM9260EK || BR2_TARGET_AT91SAM9260DFC || \
+ BR2_TARGET_AT91SAM9261EK || BR2_TARGET_AT91SAM9263EK || BR2_TARGET_AT91SAM9XEEK
+ bool "Build AT91 Bootstrap for selected chip"
+
+choice
+ prompt "Boot Memory"
+ default BR2_TARGET_AT91BOOT_DATAFLASHCARD
+ depends on BR2_TARGET_AT91BOOTSTRAP
+ help
+ Select Chip for which AT91 bootstrap should be built
+ Currently supports AT91SAM9260EK, AT91SAM9261EK, AT91SAM9XEEK, AT981SAM9263EK
+
+config BR2_TARGET_AT91BOOT_DATAFLASH
+ depends on BR2_TARGET_AT91SAM9260EK || BR2_TARGET_AT91SAM9261EK || \
+ BR2_TARGET_AT91SAM9263EK || BR2_TARGET_AT91SAM9XEEK
+
+ bool "Dataflash"
+
+config BR2_TARGET_AT91BOOT_DATAFLASHCARD
+ depends on BR2_TARGET_AT91SAM9260DFC
+ bool "Dataflash Card"
+
+config BR2_TARGET_AT91BOOT_NANDFLASH
+ depends on BR2_TARGET_AT91SAM9260EK || BR2_TARGET_AT91SAM9261EK || BR2_TARGET_AT91SAM9263EK
+ bool "NAND Flash"
+
+config BR2_TARGET_AT91BOOT_FLASH
+ depends on BR2_TARGET_AT91SAM9XEEK
+ bool "Internal Flash"
+
+endchoice
+
+config BR2_TARGET_AT91BOOTSTRAP_MEMORY
+ string
+ default "dataflash" if BR2_TARGET_AT91BOOT_DATAFLASH
+ default "dataflashcard" if BR2_TARGET_AT91BOOT_DATAFLASHCARD
+ default "nandflash" if BR2_TARGET_AT91BOOT_NANDFLASH
+ default "flash" if BR2_TARGET_AT91BOOT_FLASH
diff --git a/target/device/Atmel/at91bootstrap/at91bootstrap.mk b/target/device/Atmel/at91bootstrap/at91bootstrap.mk
new file mode 100644
index 000000000..ccf1bb716
--- /dev/null
+++ b/target/device/Atmel/at91bootstrap/at91bootstrap.mk
@@ -0,0 +1,67 @@
+#############################################################
+#
+# at91bootstrap
+#
+#############################################################
+AT91BOOTSTRAP_VERSION:=2.3
+AT91BOOTSTRAP_NAME:=at91bootstrap-$(AT91BOOTSTRAP_VERSION)
+ATMEL_MIRROR:=$(strip $(subst ",, $(BR2_ATMEL_MIRROR)))
+AT91BOOTSTRAP_SITE:=$(ATMEL_MIRROR)/Source
+AT91BOOTSTRAP_SOURCE:=$(AT91BOOTSTRAP_NAME).tar.bz2
+AT91BOOTSTRAP_DIR:=$(PROJECT_BUILD_DIR)/$(AT91BOOTSTRAP_NAME)
+AT91BOOTSTRAP:=$(strip $(subst ",, $(BR2_AT91BOOTSTRAP)))
+AT91BOOTSTRAP_ZCAT:=bzcat
+
+AT91BOOTSTRAP_MEMORY:=$(strip $(subst ",, $(BR2_TARGET_AT91BOOTSTRAP_MEMORY)))
+
+
+AT91BOOTSTRAP_BINARY:=$(BOARD_NAME)-$(AT91BOOTSTRAP_MEMORY)boot-$(AT91BOOTSTRAP_VERSION).bin
+
+AT91BOOTSTRAP_TARGET:=$(AT91BOOTSTRAP_DIR)/binaries/$(AT91BOOTSTRAP_BINARY)
+
+$(DL_DIR)/$(AT91BOOTSTRAP_SOURCE):
+ $(WGET) -P $(DL_DIR) $(AT91BOOTSTRAP_SITE)/$(AT91BOOTSTRAP_SOURCE)
+
+$(AT91BOOTSTRAP_DIR)/.unpacked: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
+ mkdir -p $(PROJECT_BUILD_DIR)
+ $(AT91BOOTSTRAP_ZCAT) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) -
+ touch $(AT91BOOTSTRAP_DIR)/.unpacked
+
+$(AT91BOOTSTRAP_DIR)/.configured: $(AT91BOOTSTRAP_DIR)/.unpacked .config
+ $(MAKE) \
+ MEMORY=$(AT91BOOTSTRAP_MEMORY) \
+ CROSS_COMPILE=$(TARGET_CROSS) \
+ -C $(AT91BOOTSTRAP_DIR) \
+ $(BOARD_NAME)_defconfig
+ touch $(AT91BOOTSTRAP_DIR)/.configured
+
+$(AT91BOOTSTRAP_TARGET): $(AT91BOOTSTRAP_DIR)/.configured
+ $(MAKE) \
+ MEMORY=$(AT91BOOTSTRAP_MEMORY) \
+ CROSS_COMPILE=$(TARGET_CROSS) \
+ -C $(AT91BOOTSTRAP_DIR)
+
+at91bootstrap-source: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
+
+at91bootstrap-clean:
+ make -C $(AT91BOOTSTRAP_DIR) clean
+
+at91bootstrap-dirclean:
+ rm -rf $(AT91BOOTSTRAP_DIR)
+
+at91bootstrap: $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY)
+
+$(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY): $(AT91BOOTSTRAP_TARGET)
+ mkdir -p $(BINARIES_DIR)
+ cp $(AT91BOOTSTRAP_TARGET) $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY)
+ cp $(AT91BOOTSTRAP_TARGET) /tftpboot/$(AT91BOOTSTRAP_BINARY)
+
+.PHONY: at91bootstrap
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_TARGET_AT91BOOTSTRAP)),y)
+TARGETS+=at91bootstrap
+endif