[meta-freescale] [meta-fsl-arm][PATCH v3 4/6] rcw: add recipes for Layerscape1 support

Otavio Salvador otavio at ossystems.com.br
Wed Sep 3 14:10:53 PDT 2014


On Wed, Sep 3, 2014 at 5:43 AM, Zhenhua Luo <zhenhua.luo at freescale.com> wrote:
> The reset configuration word (RCW) manages the hardware configuration
> info for QorIQ targets, rcw is used by the preboot loader to begin
> system configuration.
>
> Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
> ---
>  ...ake-BOARDS-DESTDIR-overidable-in-Makefile.patch | 55 ++++++++++++++++++++++
>  recipes-bsp/rcw/rcw_git.bb                         | 39 +++++++++++++++
>  2 files changed, 94 insertions(+)
>  create mode 100644 recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch
>  create mode 100644 recipes-bsp/rcw/rcw_git.bb
>
> diff --git a/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch b/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch
> new file mode 100644
> index 0000000..fe131f6
> --- /dev/null
> +++ b/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch
> @@ -0,0 +1,55 @@
> +From f2e796c903b2a3f81dbd38da3dc087cb7539d307 Mon Sep 17 00:00:00 2001
> +From: Zhenhua Luo <zhenhua.luo at freescale.com>
> +Date: Wed, 3 Sep 2014 03:03:42 -0500
> +Subject: [PATCH] Makefile: make BOARDS/DESTDIR overidable and add endian
> + switch
> +
> +1. For one specific board, no need to build the rcw for all supported
> +   targets, make BOARDS and DESTDIR overridable to achieve this.
> +2. Add the endian swap for qspiboot rcw

Upstream-Status: Pending

> +Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
> +---
> + Makefile     |    4 ++--
> + Makefile.inc |    9 +++++++--
> + 2 files changed, 9 insertions(+), 4 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 6ec1697..0f94293 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -1,5 +1,5 @@
> +-DESTDIR = .
> +-BOARDS = b4420qds b4860qds \
> ++DESTDIR ?= .
> ++BOARDS ?= b4420qds b4860qds \
> +        ls1021aqds ls1021atwr \
> +        p2041rdb p3041ds p4080ds p5020ds p5040ds \
> +        t1040rdb t1042rdb t1042rdb_pi t1040qds t2080rdb t2080qds t2081qds t4240qds t4240rdb
> +diff --git a/Makefile.inc b/Makefile.inc
> +index 4cadb2e..6e8b78f 100644
> +--- a/Makefile.inc
> ++++ b/Makefile.inc
> +@@ -1,4 +1,4 @@
> +-DESTDIR = .
> ++DESTDIR ?= .
> + INSTALL = install
> + PYTHON ?= python2
> + RCW = $(PYTHON) ../rcw.py
> +@@ -18,7 +18,12 @@ all: $(targets)
> + install: $(targets)
> +       $(INSTALL) -d $(DESTDIR)
> +       @for file in $^; do \
> +-              $(INSTALL) -m 644 -D $$file $(DESTDIR)/$$file; \
> ++              case $$file in \
> ++                      *qspiboot*) file_swap="`echo $$file | sed -e 's/qspiboot/qspiboot_swap/'`"; \
> ++                                              tclsh byte_swap.tcl $$file $$file_swap 8 ; \
> ++                                              $(INSTALL) -m 644 -D $$file_swap $(DESTDIR)/$$file_swap ;; \
> ++                      *) $(INSTALL) -m 644 -D $$file $(DESTDIR)/$$file; \
> ++        esac \
> +       done
> +       $(INSTALL) -m 644 -D README $(DESTDIR)
> +
> +--
> +1.7.9.7
> +
> diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
> new file mode 100644
> index 0000000..7b92a40
> --- /dev/null
> +++ b/recipes-bsp/rcw/rcw_git.bb
> @@ -0,0 +1,39 @@
> +SUMMARY = "Reset Configuration Word"
> +DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
> +LICENSE = "BSD"
> +LIC_FILES_CHKSUM = "file://rcw.py;beginline=8;endline=28;md5=9ba0b28922dd187b06b6c8ebcfdd208e"

DEPENDS are here.

> +inherit deploy
> +
> +DEPENDS += "u-boot-ls1-tools-native"
> +
> +SRCBRANCH = "LS1-SDK"

I'd put SRCREV here so it is clear it is related to the branch.

> +SRC_URI = "git://git.freescale.com/layerscape/ls1021a/rcw.git;branch=${SRCBRANCH} \
> +    file://rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch \
> +"
> +SRCREV = "7b358441dfd35afbf01491649cc3f4396154a546"
> +
> +S = "${WORKDIR}/git"

Replace make to oe_runmake

So you could do:

EXTRA_OEMAKE = "MACHINE=${@d.getVar('MACHINE', True).replace('-64b','')}"

do_compile() {
    oe_runmake
}

do_install() {
    oe_runmake install DESTDIR=${D}/boot/rcw/
}

...
> +do_deploy () {
> +    install -d ${DEPLOYDIR}/rcw
> +    cp -r ${D}/boot/rcw/${RCW_MACHINE} ${DEPLOYDIR}/rcw/

I'd do:

cp -r ${D}/boot/rcw/* ${DEPLOYDIR}/rcw/

What do you think?

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the meta-freescale mailing list