x-load is a first level bootloader for Texas Intruments OMAP microprocessors (similar to the AT91Bootstrap application).
This bootstrap package is required on TI OMAP boards where dataflash/nandflash or USB/RS232 is used to boot from. In any of these cases the internal bootROM of the OMAP core is used to boot the board with. Signed-off-by: Stephan Linz <l...@li-pro.net> --- platforms/x-load.in | 60 ++++++++++++++++++++++++++++++++++ rules/x-load.make | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+), 0 deletions(-) create mode 100644 platforms/x-load.in create mode 100644 rules/x-load.make diff --git a/platforms/x-load.in b/platforms/x-load.in new file mode 100644 index 0000000..9b0003f --- /dev/null +++ b/platforms/x-load.in @@ -0,0 +1,60 @@ +## SECTION=bootloader + +menuconfig X_LOAD + bool + depends on ARCH_ARM_OMAP + prompt "TI X-Loader " + help + The X-Loader is a first level bootloader for Texas Intruments OMAP + microprocessors (similar to the AT91Bootstrap application). It is + used for booting these microprocessors from NAND-flash, MMC/SD-card, + USB or serial interfaces. + +if X_LOAD + +comment "------------------------- Notice -------------------------" +comment "The X-Loader source tree was never released as download" +comment "archive. As long as that fact exists you have to store" +comment "a build tree inside your ptxdist project root at:" +comment "${PTXDIST_WORKSPACE}/local_src/x-load-${X_LOAD_VERSION}" +comment "----------------------------------------------------------" + +config X_LOAD_VERSION + string + default 1.4.2-dirty + prompt "X-Loader version" + help + Enter the X-Loader version you want to build. Usally something like "1.4.2" + +config X_LOAD_SERIES + prompt "patch series file" + string + default "series${PTXDIST_PLATFORMSUFFIX}" + help + This entry specifies a patch series file which has to live in + the kernel patches directory: + + The series file contains lines with names of patch files which + are then being applied to the kernel. + +config X_LOAD_CONFIG + string + prompt "X-Loader config target" + help + The X-Loader make config target. Usually something like + "yourbox_config". See X-Loader's main Makefile for possible + configuration targets. + +config X_LOAD_MAKE_IFT + bool + prompt "Generate signed IFT file" + help + When this option is enabled, a so-called IFT file is generated. You + need a X-Loader source tree that supports this. This must know about + the make target 'ift' so ptxdist can do the following: "make ift". + + In details you will need the tool signGP from + http://beagleboard.googlecode.com/files/signGP.c + +endif + diff --git a/rules/x-load.make b/rules/x-load.make new file mode 100644 index 0000000..69daea9 --- /dev/null +++ b/rules/x-load.make @@ -0,0 +1,89 @@ +# -*-makefile-*- +# +# Copyright (C) 2010 by Stephan Linz +# +# 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_X_LOAD) += x-load + +# +# Paths and names +# +X_LOAD_VERSION := $(call remove_quotes,$(PTXCONF_X_LOAD_VERSION)) +X_LOAD := x-load-$(X_LOAD_VERSION) +X_LOAD_URL := file://$(PTXDIST_WORKSPACE)/local_src/$(X_LOAD) +X_LOAD_SOURCE := $(SRCDIR)/$(X_LOAD) +## not yet ## X_LOAD_SUFFIX := tar.bz2 +## not yet ## X_LOAD_URL := http://__SERVER__/__PATH_TO__/$(X_LOAD).$(X_LOAD_SUFFIX) +## not yet ## X_LOAD_SOURCE := $(SRCDIR)/$(X_LOAD).$(X_LOAD_SUFFIX) +X_LOAD_DIR := $(BUILDDIR)/$(X_LOAD) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +$(X_LOAD_SOURCE): + @$(call targetinfo) + @$(call get, X_LOAD) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +X_LOAD_PATH := PATH=$(CROSS_PATH) +X_LOAD_MAKE_OPT := CROSS_COMPILE=$(BOOTLOADER_CROSS_COMPILE) HOSTCC=$(HOSTCC) +X_LOAD_MAKE_PAR := NO + +ifdef PTXCONF_X_LOAD_MAKE_IFT +X_LOAD_MAKE_OPT += ift +endif + +$(STATEDIR)/x-load.prepare: + @$(call targetinfo) + cd $(X_LOAD_DIR) && \ + $(X_LOAD_PATH) \ + $(MAKE) $(X_LOAD_MAKE_OPT) $(PTXCONF_X_LOAD_CONFIG) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/x-load.install: + @$(call targetinfo) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/x-load.targetinstall: + @$(call targetinfo) + @install -D -m644 $(X_LOAD_DIR)/x-load.bin $(IMAGEDIR)/x-load.bin +ifdef PTXCONF_X_LOAD_MAKE_IFT + @install -D -m644 $(X_LOAD_DIR)/x-load.bin.ift $(IMAGEDIR)/x-load.bin.ift + @install -D -m644 $(X_LOAD_DIR)/x-load.bin.ift $(IMAGEDIR)/MLO +endif + @$(call touch) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +x-load_clean: + @$(call targetinfo) + @$(call clean_pkg, X_LOAD) + @rm -rf $(IMAGEDIR)/x-load.bin +ifdef PTXCONF_X_LOAD_MAKE_IFT + @rm -rf $(IMAGEDIR)/x-load.bin.ift + @rm -rf $(IMAGEDIR)/MLO +endif + +# vim: syntax=make -- 1.6.0.4 -- ptxdist mailing list ptxdist@pengutronix.de