This bootstrap package is required on at91sam* boards where dataflash/nandflash is used to boot from. In these cases the internal bootROM of the AT91 core is used to boot the board with.
Signed-off-by: Remy Bohmer <[EMAIL PROTECTED]> --- platforms/Kconfig | 1 platforms/at91bootstrap.in | 43 +++++++++++++++++++ rules/at91bootstrap.make | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+) Index: ptxdist-1.99.4/platforms/at91bootstrap.in =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ ptxdist-1.99.4/platforms/at91bootstrap.in 2008-08-05 11:45:26.000000000 +0200 @@ -0,0 +1,43 @@ +menuconfig AT91BOOTSTRAP + bool + depends on ARCH_ARM_AT91SAM926X + prompt "Build dataflash bootstrap for AT91SAM926*" + help + The AT91Bootstrap application is a first level bootloader + for Atmel AT91SAM9 ARM Thumb-based microcontrollers. + It is a modular application and thus can be used to customize + the framework for a particular deployment strategy. AT91Bootstrap + also provides clear examples, for a particular device, on + how to perform basic static configurations, such as PMC and + PIOs. AT91Bootstrap can be easily configured using a higher + level protocol. + AT91Bootstrap integrates several sets of algorithms: + - Device initialization such as clock speed configuration, PIO settings, etc. + - Peripheral drivers such as PIO, PMC, SDRAMC, etc. + - Physical media algorithms such as DataFlash, NANDFlash, Parallel Flash, etc. + - File System drivers such as JFFS2, FAT, etc. + - Compression and Cipher algorithms + - Application Launcher for ELF, Linux, etc. + For example, using this set of algorithms, it is possible to + obtain a basic bootloader that is located in DataFlash and is + copied to internal SRAM by SAM-BA Boot. The bootloader performs + the processor initialization (PLLs, PIOs, SDRAMC, SPI), loads UBoot + from DataFlash sectors to SDRAM and then jumps to it. + +config AT91BOOTSTRAP_VERSION + string + depends on AT91BOOTSTRAP + default 1.9 + prompt "AT91 Bootstrap version" + help + Enter the AT91 Bootstrap version you want to build. Usally something like "1.9" + +config AT91BOOTSTRAP_CONFIG + string + depends on AT91BOOTSTRAP + prompt "AT91 Bootstrap config target" + help + The AT91 Bootstrap make config target. Usually something like + "at91sam9261ek". See AT91 Bootstrap's 'board' directory for possible + configuration targets. + Index: ptxdist-1.99.4/rules/at91bootstrap.make =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ ptxdist-1.99.4/rules/at91bootstrap.make 2008-08-05 11:45:26.000000000 +0200 @@ -0,0 +1,111 @@ +# -*-makefile-*- +# $Id: template 6655 2007-01-02 12:55:21Z rsc $ +# +# Copyright (C) 2008 by Remy Bohmer <[EMAIL PROTECTED]> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_AT91BOOTSTRAP) += at91bootstrap + +# +# Paths and names +# +AT91BOOTSTRAP_VERSION := $(call remove_quotes,$(PTXCONF_AT91BOOTSTRAP_VERSION)) +AT91BOOTSTRAP := AT91Bootstrap$(AT91BOOTSTRAP_VERSION) +AT91BOOTSTRAP_EXTRACT := Bootstrap-v$(AT91BOOTSTRAP_VERSION) +AT91BOOTSTRAP_SUFFIX := zip +AT91BOOTSTRAP_URL := http://www.atmel.com/dyn/resources/prod_documents/$(AT91BOOTSTRAP).$(AT91BOOTSTRAP_SUFFIX) +AT91BOOTSTRAP_SOURCE := $(SRCDIR)/$(AT91BOOTSTRAP).$(AT91BOOTSTRAP_SUFFIX) +AT91BOOTSTRAP_DIR := $(BUILDDIR)/$(AT91BOOTSTRAP_EXTRACT) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +at91bootstrap_get: $(STATEDIR)/at91bootstrap.get + +$(STATEDIR)/at91bootstrap.get: $(at91bootstrap_get_deps_default) + @$(call targetinfo, $@) + @$(call touch, $@) + +$(AT91BOOTSTRAP_SOURCE): + @$(call targetinfo, $@) + @$(call get, AT91BOOTSTRAP) + +# ---------------------------------------------------------------------------- +# Extract +# ---------------------------------------------------------------------------- + +at91bootstrap_extract: $(STATEDIR)/at91bootstrap.extract + +$(STATEDIR)/at91bootstrap.extract: $(at91bootstrap_extract_deps_default) + @$(call targetinfo, $@) + @$(call clean, $(AT91BOOTSTRAP_DIR)) + @$(call extract, AT91BOOTSTRAP) + @$(call patchin, AT91BOOTSTRAP_EXTRACT) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +at91bootstrap_prepare: $(STATEDIR)/at91bootstrap.prepare + +$(STATEDIR)/at91bootstrap.prepare: $(at91bootstrap_prepare_deps_default) + @$(call targetinfo, $@) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +at91bootstrap_compile: $(STATEDIR)/at91bootstrap.compile + +AT91BOOTSTRAP_PATH := PATH=$(CROSS_PATH) +AT91BOOTSTRAP_ENV := CROSS_COMPILE=$(COMPILER_PREFIX) + +$(STATEDIR)/at91bootstrap.compile: $(at91bootstrap_compile_deps_default) + @$(call targetinfo, $@) + @cd $(AT91BOOTSTRAP_DIR)/board/${PTXCONF_AT91BOOTSTRAP_CONFIG}/dataflash/ && $(AT91BOOTSTRAP_PATH) $(AT91BOOTSTRAP_ENV) $(MAKE) $(PARALLELMFLAGS_BROKEN) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +at91bootstrap_install: $(STATEDIR)/at91bootstrap.install + +$(STATEDIR)/at91bootstrap.install: $(at91bootstrap_install_deps_default) + @$(call targetinfo, $@) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +at91bootstrap_targetinstall: $(STATEDIR)/at91bootstrap.targetinstall + +$(STATEDIR)/at91bootstrap.targetinstall: $(at91bootstrap_targetinstall_deps_default) + @$(call targetinfo, $@) + + @cp $(AT91BOOTSTRAP_DIR)/board/${PTXCONF_AT91BOOTSTRAP_CONFIG}/dataflash/dataflash_${PTXCONF_AT91BOOTSTRAP_CONFIG}.bin $(IMAGEDIR)/at91bootstrap.bin + + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +at91bootstrap_clean: + @rm -rf $(STATEDIR)/at91bootstrap.* + @rm -rf $(IMAGEDIR)/at91bootstrap_* + @rm -rf $(AT91BOOTSTRAP_DIR) + +# vim: syntax=make Index: ptxdist-1.99.4/platforms/Kconfig =================================================================== --- ptxdist-1.99.4.orig/platforms/Kconfig 2008-07-08 16:49:50.000000000 +0200 +++ ptxdist-1.99.4/platforms/Kconfig 2008-08-05 11:48:23.000000000 +0200 @@ -31,6 +31,7 @@ menu "bootloaders " source "platforms/grub.in" source "platforms/u-boot.in" source "platforms/u-boot-v2.in" +source "platforms/at91bootstrap.in" endmenu source "platforms/images.in" -- -- ptxdist mailing list [email protected]
