Hey Stephan,

Stephan Linz wrote:
> 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.

thanks for the patch. Please explain how to get the source, maybe we can
figure out a nice way to automate things.

Some somments inline...

> Signed-off-by: Stephan Linz <[email protected]>
> ---
>  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 "----------------------------------------------------------"

Where to get the sources from, then?

> +
> +config X_LOAD_VERSION
> +     string
> +     default 1.4.2-dirty
                     ^^^^^^

is this intentionally?

> +     prompt "X-Loader version"
> +     help
> +       Enter the X-Loader version you want to build. Usally something like 
> "1.4.2"
> +
> +config X_LOAD_SERIES

please remove this, a single series file would proably enough
(I know, you probably copied it from u-boot)

> +     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)

_PATH is obsolete, please remove

> +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)
                        ^^^^^^^^^^^^^^^^^^

hmmm...does a "make ift" compile anything? in the prepare stage nothing
should be compiled.

> +     @$(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 this target please:
$(STATEDIR)/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

just put all three in one line, the ifdef can be removed. "rm -f" will
not complain it a file doesn't exist.
> +
> +# vim: syntax=make

cheers, Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
ptxdist mailing list
[email protected]

Reply via email to