diff options
Diffstat (limited to 'boot/at91bootstrap')
| -rw-r--r-- | boot/at91bootstrap/Config.in | 108 | ||||
| -rw-r--r-- | boot/at91bootstrap/at91bootstrap.mk | 110 | 
2 files changed, 218 insertions, 0 deletions
diff --git a/boot/at91bootstrap/Config.in b/boot/at91bootstrap/Config.in new file mode 100644 index 000000000..44db8f5a7 --- /dev/null +++ b/boot/at91bootstrap/Config.in @@ -0,0 +1,108 @@ +menuconfig BR2_TARGET_AT91BOOTSTRAP +	depends on BR2_arm +	bool "AT91 Bootstrap" + +if	BR2_TARGET_AT91BOOTSTRAP + +config BR2_TARGET_AT91BOOTSTRAP_BOARD +	string "Bootstrap board" +	default "$(BOARD_NAME)" +	help +	  This is used to do a make <board>_config + +choice +	prompt "Boot Memory" +	default BR2_TARGET_AT91BOOT_DATAFLASHCARD +	depends on BR2_TARGET_AT91BOOTSTRAP +	help +	  Select Chip for which AT91 bootstrap should be built + +config BR2_TARGET_AT91BOOT_DATAFLASH +	bool "AT45 Dataflash" +	depends on BR2_BOOTSOURCE_DATAFLASH + +config BR2_TARGET_AT91BOOT_DATAFLASHCARD +	bool "AT45 Dataflash Card" +	depends on BR2_BOOTSOURCE_DATAFLASHCARD + +config BR2_TARGET_AT91BOOT_NANDFLASH +	bool "NAND Flash" +	depends on BR2_BOOTSOURCE_NANDFLASH + +config BR2_TARGET_AT91BOOT_FLASH +	bool "Internal Flash or external parallel flash" +	depends on BR2_BOOTSOURCE_FLASH + +config BR2_TARGET_AT91BOOT_SDCARD +	bool "SD-Card" +	depends on BR2_BOOTSOURCE_SDCARD + +config BR2_TARGET_AT91BOOT_EEPROM +	bool "EEPROM" +	depends on BR2_BOOTSOURCE_EEPROM + +endchoice + +config BR2_TARGET_AT91BOOTSTRAP_MEMORY +	string +	depends on BR2_TARGET_AT91BOOTSTRAP +	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 +	default	"sdcard"	if	BR2_TARGET_AT91BOOT_SDCARD +	default	"eeprom"	if	BR2_TARGET_AT91BOOT_EEPROM + +config	BR2_AT91BOOTSTRAP_IMG_SIZE +	string	"Image Size to copy to SDRAM" +	depends on BR2_TARGET_AT91BOOTSTRAP +	default	"0x32000"	if	BR2_TARGET_AT91BOOT_DATAFLASH +	default	"0x32000"	if	BR2_TARGET_AT91BOOT_DATAFLASHCARD +	default	"0x30000"	if	BR2_TARGET_AT91BOOT_NANDFLASH +	default	"0x100000"	if	BR2_TARGET_AT91BOOT_FLASH +	default	"0x30000"	if	BR2_TARGET_AT91BOOT_SDCARD +	default	"0x30000"	if	BR2_TARGET_AT91BOOT_EEPROM +	help +	  Select the size of your application +	  AT91 Bootstrap will copy this amount from flash to SDRAM + +choice +	prompt "Start address of application" +	default BR2_AT91BOOTSTRAP_JUMP_TO_DEFAULT +	depends on BR2_TARGET_AT91BOOTSTRAP +	help +	  Select Chip for which AT91 bootstrap should be built +	  Currently supports AT91SAM9260EK, AT91SAM9261EK, +	  AT91SAM9XEEK, AT91SAM9263EK + + +config	BR2_AT91BOOTSTRAP_JUMP_TO_DEFAULT +	bool "Copy to the default U-Boot start location in the SDRAM" +	help +	  This is where you copy the U-Boot boot loader + +config	BR2_AT91BOOTSTRAP_JUMP_TO_HIGH_SDRAM +	bool "Copy to the last Megabyte of the SDRAM" +	help +	  This is where you copy a boot loader + +config	BR2_AT91BOOTSTRAP_JUMP_TO_START_OF_SDRAM +	bool "Copy to the start of the SDRAM" +	help +	  This is where you copy a standalone application +endchoice + +config	BR2_AT91BOOTSTRAP_JUMP_ADDR +	string +	default	"0x23F00000" if BR2_AT91BOOTSTRAP_JUMP_TO_DEFAULT +	default	"0x23F00000" if BR2_AT91BOOTSTRAP_JUMP_TO_HIGH_SDRAM +	default "0x20000000" if BR2_AT91BOOTSTRAP_JUMP_TO_START_OF_SDRAM +	depends on BR2_TARGET_AT91BOOTSTRAP + +comment "It will be copied to $(BR2_AT91BOOTSTRAP_JUMP_ADDR)" +	depends on BR2_TARGET_AT91BOOTSTRAP + +endif + + + diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk new file mode 100644 index 000000000..2072c6bf6 --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap.mk @@ -0,0 +1,110 @@ +############################################################# +# +# at91bootstrap +# +############################################################# +AT91BOOTSTRAP_VERSION:=2.10 +AT91BOOTSTRAP_PATCH_LEVEL:= +AT91BOOTSTRAP_PATCHED_VERSION:=$(AT91BOOTSTRAP_VERSION)$(AT91BOOTSTRAP_PATCH_LEVEL) +AT91BOOTSTRAP_NAME:=at91bootstrap-$(AT91BOOTSTRAP_VERSION) +ATMEL_MIRROR:=$(call qstrip,$(BR2_ATMEL_MIRROR)) +AT91BOOTSTRAP_SITE:=$(ATMEL_MIRROR) +AT91BOOTSTRAP_SOURCE:=$(AT91BOOTSTRAP_NAME).tar.bz2 +AT91BOOTSTRAP_DIR:=$(BUILD_DIR)/$(AT91BOOTSTRAP_NAME) +AT91BOOTSTRAP:=$(call qstrip,$(BR2_AT91BOOTSTRAP)) +AT91BOOTSTRAP_ZCAT:=$(BZCAT) + +AT91BOOTSTRAP_BOARD:=$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD)) + +AT91BOOTSTRAP_MEMORY:=$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY)) + +AT91BOOTSTRAP_BINARY:=$(BOARD_NAME)-$(AT91BOOTSTRAP_MEMORY)boot-$(AT91BOOTSTRAP_PATCHED_VERSION).bin + +AT91BOOTSTRAP_TARGET:=$(AT91BOOTSTRAP_DIR)/binaries/$(AT91BOOTSTRAP_BINARY) + +AT91BOOTSTRAP_JUMP_ADDR:=$(call qstrip,$(BR2_AT91BOOTSTRAP_JUMP_ADDR)) +AT91BOOTSTRAP_IMG_SIZE:=$(call qstrip,$(BR2_AT91BOOTSTRAP_IMG_SIZE)) + +AT91_CUSTOM_FLAGS:= +ifneq ($(AT91BOOTSTRAP_JUMP_ADDR),) +AT91_CUSTOM_FLAGS+=-DJUMP_ADDR=$(AT91BOOTSTRAP_JUMP_ADDR) +endif +ifneq ($(AT91BOOTSTRAP_IMG_SIZE),) +AT91_CUSTOM_FLAGS+=-DIMG_SIZE=$(AT91BOOTSTRAP_IMG_SIZE) +endif + +$(DL_DIR)/$(AT91BOOTSTRAP_SOURCE): +	 $(call DOWNLOAD,$(AT91BOOTSTRAP_SITE),$(AT91BOOTSTRAP_SOURCE)) + +$(AT91BOOTSTRAP_DIR)/.unpacked: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) +	mkdir -p $(BUILD_DIR) +	$(AT91BOOTSTRAP_ZCAT) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - +	toolchain/patch-kernel.sh $(AT91BOOTSTRAP_DIR) boot/at91bootstrap/ at91bootstrap-$(AT91BOOTSTRAP_VERSION)\*.patch +	touch $(AT91BOOTSTRAP_DIR)/.unpacked + +$(AT91BOOTSTRAP_DIR)/.configured: $(AT91BOOTSTRAP_DIR)/.unpacked .config +	$(MAKE) \ +		MEMORY=$(AT91BOOTSTRAP_MEMORY) \ +		CROSS_COMPILE=$(TARGET_CROSS) \ +		-C $(AT91BOOTSTRAP_DIR) \ +		$(AT91BOOTSTRAP_BOARD)_defconfig +	touch $(AT91BOOTSTRAP_DIR)/.configured + +#		$(BOARD_NAME)_defconfig + +$(AT91BOOTSTRAP_TARGET): $(AT91BOOTSTRAP_DIR)/.configured +	$(MAKE) \ +		MEMORY=$(AT91BOOTSTRAP_MEMORY) \ +		CROSS_COMPILE=$(TARGET_CROSS) \ +		AT91_CUSTOM_FLAGS="$(AT91_CUSTOM_FLAGS)" \ +		-C $(AT91BOOTSTRAP_DIR) + +$(AT91BOOTSTRAP_DIR)/.installed:: $(AT91BOOTSTRAP_TARGET) +	mkdir -p $(BINARIES_DIR) +ifeq	($(AT91BOOTSTRAP_VERSION),2.3) +	cp $(AT91BOOTSTRAP_TARGET) $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY) +	$(call COPY_FILE, $(AT91BOOTSTRAP_TARGET), $(BR2_TARGET_ATMEL_COPYTO), $(AT91BOOTSTRAP_BINARY)) +else +	make MEMORY=$(AT91BOOTSTRAP_MEMORY) \ +		CROSS_COMPILE=$(TARGET_CROSS) \ +		-C $(AT91BOOTSTRAP_DIR) boot +	make DESTDIR=$(BINARIES_DIR) -C $(AT91BOOTSTRAP_DIR) install || \ +		echo "Could not copy bootstrap to BINARIES_DIR" +ifneq ($(BR2_TARGET_ATMEL_COPYTO),) +	make DESTDIR=$(BR2_TARGET_ATMEL_COPYTO) -C $(AT91BOOTSTRAP_DIR) install || \ +		echo "Could not copy bootstrap to BR2_ATMEL_COPYTO" +endif +endif +	touch $@ + +#	cp $(AT91BOOTSTRAP_TARGET) $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY) +#	cp $(AT91BOOTSTRAP_TARGET) $(BR2_TARGET_ATMEL_COPYTO)/$(AT91BOOTSTRAP_BINARY) + +.PHONY: at91bootstrap at91bootstrap-source + +at91bootstrap: $(AT91BOOTSTRAP_DIR)/.installed + +at91bootstrap-source: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) + +at91bootstrap-unpacked: $(AT91BOOTSTRAP_DIR)/.unpacked + +.PHONY: at91bootstrap-clean at91bootstrap-dirclean + +at91bootstrap-clean: +	make -C $(AT91BOOTSTRAP_DIR) clean + +at91bootstrap-dirclean: +	rm -rf $(AT91BOOTSTRAP_DIR) + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(BR2_TARGET_AT91BOOTSTRAP),y) +TARGETS+=at91bootstrap +endif + +at91bootstrap-status: +	@echo AT91BOOTSTRAP_BOARD=$(AT91BOOTSTRAP_BOARD) +  | 
