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]

Reply via email to