[meta-freescale] [meta-freescale-layer][PATCH 08/67] u-boot-qoriq: upgrade to 2016.01

ting.liu at nxp.com ting.liu at nxp.com
Mon Jul 4 03:41:26 PDT 2016


From: Ting Liu <ting.liu at nxp.com>

The main features are:
* Upgrade to 2016.01
* On ARM platforms, the U-Boot image includes the device tree
* Non-secure and Secure Boot (ESBC)
* Primary Protected Application (PPA) firmware integration [LS1043A]
* Clock, CPLD, DUART, DDR3, DDR4, DSPI, eSDHC, GIC-400, GIC-500, I2C, OCRAM, PCIe, USB 2 & 3, SATA, UART
* Networking support using eTSEC, FMAN Independent Mode or DPAA2 networking
* DCU, eMMC 4.5, I2C3, LPUART, QSPI [LS1021A]
* eLBC and IFC access to NOR and NAND flash
* Boot from NOR, NAND flash, eSPI, SDHC
* Boot from SRIO [B4860, P5020, P4080]
* Voltage ID (board specific)
* CodeWarrior debug patch for U-Boot

Detailed commit log can be found at:
http://git.freescale.com/git/cgit.cgi/ppc/sdk/u-boot.git/log/?h=sdk-v2.0.x

Signed-off-by: Ting Liu <ting.liu at nxp.com>
---
 .../files/add-fgnu89-inline-option-for-gcc5.patch  |  39 -----
 recipes-bsp/u-boot/files/gcc5.patch                |  91 ------------
 .../fix-build-error-under-gcc6.patch               |   0
 recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb         | 164 ---------------------
 recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb         | 155 +++++++++++++++++++
 5 files changed, 155 insertions(+), 294 deletions(-)
 delete mode 100644 recipes-bsp/u-boot/files/add-fgnu89-inline-option-for-gcc5.patch
 delete mode 100644 recipes-bsp/u-boot/files/gcc5.patch
 rename recipes-bsp/u-boot/{files => u-boot-qoriq}/fix-build-error-under-gcc6.patch (100%)
 delete mode 100644 recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb
 create mode 100644 recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb

diff --git a/recipes-bsp/u-boot/files/add-fgnu89-inline-option-for-gcc5.patch b/recipes-bsp/u-boot/files/add-fgnu89-inline-option-for-gcc5.patch
deleted file mode 100644
index cfe1c07..0000000
--- a/recipes-bsp/u-boot/files/add-fgnu89-inline-option-for-gcc5.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Upstream-Status: Pending
-
-From 4d4fcfc41288134b48b72ac69702f68741d7631f Mon Sep 17 00:00:00 2001
-From: Ting Liu <ting.liu at freescale.com>
-Date: Tue, 28 Jul 2015 16:29:26 +0800
-Subject: [PATCH] add -fgnu89-inline option for gcc5
-
-Fix the below build issues:
-  CC      drivers/crypto/fsl/sec.o
-  LD      arch/powerpc/cpu/mpc8xxx/built-in.o
-arch/powerpc/cpu/mpc8xxx/fdt.o: In function `ld_le16':
-../arch/powerpc/include/asm/byteorder.h:12: multiple definition of `ld_le16'
-
-The problem is the change of the default C standard from gnu89 to gnu11
-which changes the semantics of 'inline'. The issue is described in the
-Porting guide at https://gcc.gnu.org/gcc-5/porting_to.html. Adding the
-'-fgnu89-inline' option fixes the issue.
-
-Signed-off-by: Ting Liu <ting.liu at freescale.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 9995e00..00497cc 100644
---- a/Makefile
-+++ b/Makefile
-@@ -349,7 +349,7 @@ CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
- 
- KBUILD_CPPFLAGS := -D__KERNEL__ -D__UBOOT__
- 
--KBUILD_CFLAGS   := -Wall -Wstrict-prototypes \
-+KBUILD_CFLAGS   := -fgnu89-inline -Wall -Wstrict-prototypes \
- 		   -Wno-format-security \
- 		   -fno-builtin -ffreestanding
- KBUILD_AFLAGS   := -D__ASSEMBLY__
--- 
-1.9.2
-
diff --git a/recipes-bsp/u-boot/files/gcc5.patch b/recipes-bsp/u-boot/files/gcc5.patch
deleted file mode 100644
index 12db94c..0000000
--- a/recipes-bsp/u-boot/files/gcc5.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Upstream-Status: Backport
-
-From 478b02f1a7043b673565075ea5016376f3293b23 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede at redhat.com>
-Date: Sat, 7 Feb 2015 22:52:40 +0100
-Subject: [PATCH] Add linux/compiler-gcc5.h to fix builds with gcc5
-
-Add linux/compiler-gcc5/h from the kernel sources at:
-
-commit 5631b8fba640a4ab2f8a954f63a603fa34eda96b
-Author: Steven Noonan <steven at uplinklabs.net>
-Date:   Sat Oct 25 15:09:42 2014 -0700
-
-    compiler/gcc4+: Remove inaccurate comment about 'asm goto' miscompiles
-
-Signed-off-by: Hans de Goede <hdegoede at redhat.com>
----
- include/linux/compiler-gcc5.h |   65 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 65 insertions(+)
- create mode 100644 include/linux/compiler-gcc5.h
-
-Index: git/include/linux/compiler-gcc5.h
-===================================================================
---- /dev/null
-+++ git/include/linux/compiler-gcc5.h
-@@ -0,0 +1,65 @@
-+#ifndef __LINUX_COMPILER_H
-+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
-+#endif
-+
-+#define __used				__attribute__((__used__))
-+#define __must_check			__attribute__((warn_unused_result))
-+#define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)
-+
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+   to them will be unlikely.  This means a lot of manual unlikely()s
-+   are unnecessary now for any paths leading to the usual suspects
-+   like BUG(), printk(), panic() etc. [but let's keep them for now for
-+   older compilers]
-+
-+   Early snapshots of gcc 4.3 don't support this and we can't detect this
-+   in the preprocessor, but we can live with this because they're unreleased.
-+   Maketime probing would be overkill here.
-+
-+   gcc also has a __attribute__((__hot__)) to move hot functions into
-+   a special section, but I don't see any sense in this right now in
-+   the kernel context */
-+#define __cold			__attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+
-+/*
-+ * Mark a position in code as unreachable.  This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased.  Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone	__attribute__((__noclone__))
-+
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible __attribute__((externally_visible))
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
diff --git a/recipes-bsp/u-boot/files/fix-build-error-under-gcc6.patch b/recipes-bsp/u-boot/u-boot-qoriq/fix-build-error-under-gcc6.patch
similarity index 100%
rename from recipes-bsp/u-boot/files/fix-build-error-under-gcc6.patch
rename to recipes-bsp/u-boot/u-boot-qoriq/fix-build-error-under-gcc6.patch
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb b/recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb
deleted file mode 100644
index 8b20b5a..0000000
--- a/recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb
+++ /dev/null
@@ -1,164 +0,0 @@
-require recipes-bsp/u-boot/u-boot.inc
-inherit fsl-u-boot-localversion
-
-DESCRIPTION = "U-boot provided by Freescale with focus on QorIQ boards"
-HOMEPAGE = "http://u-boot.sf.net"
-SECTION = "bootloaders"
-PROVIDES = "virtual/bootloader u-boot"
-LICENSE = "GPLv2 & BSD-3-Clause & BSD-2-Clause & LGPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
-    file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
-    file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
-    file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
-    file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
-"
-
-PV_append = "+fslgit"
-INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc"
-DEPENDS_append_qoriq-arm = " change-file-endianess-native dtc-native tcl-native"
-DEPENDS_append_qoriq-ppc = " boot-format-native"
-
-inherit deploy
-
-SRCBRANCH = "sdk-v1.9.x"
-SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;branch=${SRCBRANCH} \
-    file://gcc5.patch \
-    file://add-fgnu89-inline-option-for-gcc5.patch \
-    file://fix-build-error-under-gcc6.patch \
-"
-SRCREV = "eb3d4fc5759729d7af71ac31ebf6a7e8d0e79da3"
-
-python () {
-    if d.getVar("TCMODE", True) == "external-fsl":
-        return
-
-    ml = d.getVar("MULTILIB_VARIANTS", True)
-    arch = d.getVar("OVERRIDES", True)
-
-    if "e5500-64b:" in arch or "e6500-64b:" in arch:
-        if not "lib32" in ml:
-            raise bb.parse.SkipPackage("Building the u-boot for this arch requires multilib to be enabled")
-        sys_multilib = 'powerpc' + d.getVar('TARGET_VENDOR', False) + 'mllib32-' + d.getVar('HOST_OS', False)
-        d.setVar('DEPENDS_append', ' lib32-gcc-cross-powerpc lib32-libgcc')
-        d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE', False) + '/' + sys_multilib)
-        d.setVar('TOOLCHAIN_OPTIONS_append', '/../lib32-' + d.getVar("MACHINE", False))
-        d.setVar("WRAP_TARGET_PREFIX", sys_multilib + '-')
-}
-
-WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-LOCALVERSION = "${@d.getVar('SDK_VERSION', True).partition(' ')[0]}"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
-
-do_compile_append_qoriq-ppc() {
-    for board in ${UBOOT_MACHINE}; do
-        case "${board}" in
-            *SDCARD*)   UBOOT_TARGET="u-boot-sd";;
-            *SPIFLASH*) UBOOT_TARGET="u-boot-spi";;
-            *NAND*)     UBOOT_TARGET="u-boot-nand";;
-            *SRIO*)     UBOOT_TARGET="u-boot-srio";;
-            *)      UBOOT_TARGET="";;
-        esac
-
-        # deal with sd/spi/nand/srio image
-        UBOOT_SOURCE=u-boot.bin
-        if [ "x${UBOOT_TARGET}" != "x" ] && echo $board |egrep -qi "SECBOOT|SECURE"; then
-            cp ${S}/${board}/${UBOOT_SOURCE}  ${S}/${board}/${UBOOT_TARGET}.bin
-        elif [ "x${UBOOT_TARGET}" != "x" ]; then
-            # some boards' final binary was not named as u-boot.bin
-            if [ "${UBOOT_TARGET}" = "u-boot-nand" ] && [ "${UBOOT_SOURCE_NAND}" != "" ]; then
-                UBOOT_SOURCE="${UBOOT_SOURCE_NAND}"
-            elif [ "${UBOOT_TARGET}" = "u-boot-spi" ] && [ "${UBOOT_SOURCE_SPI}" != "" ]; then
-                UBOOT_SOURCE="${UBOOT_SOURCE_SPI}"
-            elif [ "${UBOOT_TARGET}" = "u-boot-sd" ] && [ "${UBOOT_SOURCE_SD}" != "" ]; then
-                UBOOT_SOURCE="${UBOOT_SOURCE_SD}"
-            fi
-            cp ${S}/${board}/${UBOOT_SOURCE}  ${S}/${board}/${UBOOT_TARGET}.bin
-
-            # use boot-format to regenerate spi image if BOOTFORMAT_CONFIG is not empty
-            if [ "${UBOOT_TARGET}" = "u-boot-spi" ] && [ -n "${BOOTFORMAT_CONFIG}" ];then
-                ${STAGING_BINDIR_NATIVE}/boot_format \
-                ${STAGING_DATADIR_NATIVE}/boot_format/${BOOTFORMAT_CONFIG} \
-                ${S}/${board}/${UBOOT_SOURCE} -spi ${S}/${board}/${UBOOT_TARGET}.bin
-            fi
-        fi
-    done
-}
-
-do_compile_append_qoriq-arm () {
-    unset i j
-    if [ "x${UBOOT_CONFIG}" != "x" ]; then
-        for config in ${UBOOT_MACHINE}; do
-            i=`expr $i + 1`;
-            for type in ${UBOOT_CONFIG}; do
-                j=`expr $j + 1`;
-                if [ $j -eq $i ]; then
-                    case "${config}" in
-                        *nand* | *sdcard*)
-                            cp ${config}/u-boot-with-spl-pbl.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
-                        *spi*) 
-                            tclsh ${STAGING_BINDIR_NATIVE}/byte_swap.tcl ${config}/u-boot-dtb.bin ${config}/u-boot.swap.bin 8
-                            cp ${config}/u-boot.swap.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
-                    esac
-                fi
-            done
-            unset j
-        done
-        unset i
-    fi
-}
-
-
-do_install_append_qoriq-ppc() {
-    for board in ${UBOOT_MACHINE}; do
-        case "${board}" in
-            *SDCARD*)   UBOOT_TARGET="u-boot-sd";;
-            *SPIFLASH*) UBOOT_TARGET="u-boot-spi";;
-            *NAND*)     UBOOT_TARGET="u-boot-nand";;
-            *SRIO*)     UBOOT_TARGET="u-boot-srio";;
-            *)      UBOOT_TARGET="u-boot";;
-        esac
-
-        if [ -f ${S}/${board}/${UBOOT_TARGET}.bin ]; then
-            mkdir -p ${D}/boot/
-            install ${S}/${board}/${UBOOT_TARGET}.bin ${D}/boot/${UBOOT_TARGET}-${board}-${PV}-${PR}.bin
-            ln -sf ${UBOOT_TARGET}-${board}-${PV}-${PR}.bin ${D}/boot/${UBOOT_TARGET}.bin
-        fi
-    done
-}
-
-do_deploy_append_qoriq-ppc() {
-    if [ "x${UBOOT_MACHINES}" = "x" ]; then
-        UBOOT_MACHINES="${UBOOT_MACHINE}"
-    fi
-
-    for board in ${UBOOT_MACHINES}; do
-        case "${board}" in
-            *SDCARD*)   UBOOT_TARGET="u-boot-sd";;
-            *SPIFLASH*) UBOOT_TARGET="u-boot-spi";;
-            *NAND*)     UBOOT_TARGET="u-boot-nand";;
-            *SRIO*)     UBOOT_TARGET="u-boot-srio";;
-            *)      UBOOT_TARGET="u-boot";;
-        esac
-
-        if [ -f ${S}/${board}/${UBOOT_TARGET}.bin ]; then
-            mkdir -p ${DEPLOYDIR}
-            install ${S}/${board}/${UBOOT_TARGET}.bin ${DEPLOYDIR}/${UBOOT_TARGET}-${board}-${PV}-${PR}.bin
-            rm -f ${DEPLOYDIR}/${UBOOT_TARGET}-${board}.bin
-            ln -sf ${UBOOT_TARGET}-${board}-${PV}-${PR}.bin ${DEPLOYDIR}/${UBOOT_TARGET}-${board}.bin
-        fi
-    done
-}
-addtask deploy after do_install
-
-PACKAGES += "${PN}-images"
-FILES_${PN}-images += "/boot"
-
-COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb b/recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb
new file mode 100644
index 0000000..623cfa6
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb
@@ -0,0 +1,155 @@
+require recipes-bsp/u-boot/u-boot.inc
+inherit fsl-u-boot-localversion
+
+DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ boards"
+PROVIDES += "u-boot"
+LICENSE = "GPLv2 & BSD-3-Clause & BSD-2-Clause & LGPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+    file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
+    file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
+    file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+    file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS_append_qoriq-ppc = " boot-format-native"
+DEPENDS_append_qoriq-arm = " change-file-endianess-native dtc-native tcl-native"
+DEPENDS_append_qoriq-arm64 = " change-file-endianess-native dtc-native tcl-native"
+
+python () {
+    if d.getVar("TCMODE", True) == "external-fsl":
+        return
+
+    ml = d.getVar("MULTILIB_VARIANTS", True)
+    arch = d.getVar("OVERRIDES", True)
+
+    if "e5500-64b:" in arch or "e6500-64b:" in arch:
+        if not "lib32" in ml:
+            raise bb.parse.SkipPackage("Building the u-boot for this arch requires multilib to be enabled")
+        sys_multilib = 'powerpc' + d.getVar('TARGET_VENDOR', False) + 'mllib32-' + d.getVar('HOST_OS', False)
+        d.setVar('DEPENDS_append', ' lib32-gcc-cross-powerpc lib32-libgcc')
+        d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE', False) + '/' + sys_multilib)
+        d.setVar('TOOLCHAIN_OPTIONS_append', '/../lib32-' + d.getVar("MACHINE", False))
+        d.setVar("WRAP_TARGET_PREFIX", sys_multilib + '-')
+}
+WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
+EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;branch=sdk-v2.0.x \
+    file://fix-build-error-under-gcc6.patch \
+"
+SRCREV = "a9b437f50e2051f8d42ec9e1a6df52de4bc00e1e"
+
+S = "${WORKDIR}/git"
+
+LOCALVERSION ?= "+fsl"
+
+do_compile_append_qoriq-arm () {
+ unset i j
+    if [ "x${UBOOT_CONFIG}" != "x" ]; then
+        for config in ${UBOOT_MACHINE}; do
+            i=`expr $i + 1`;
+            for type in ${UBOOT_CONFIG}; do
+                j=`expr $j + 1`;
+                if [ $j -eq $i ]; then
+                    case "${config}" in
+                        *SECURE*|*SECBOOT*)
+                            :;;
+                        *nor*)
+                            cp ${config}/u-boot-dtb.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
+                        *nand* | *sdcard*)
+                            cp ${config}/u-boot-with-spl-pbl.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
+                        *spi*) 
+                            tclsh ${STAGING_BINDIR_NATIVE}/byte_swap.tcl ${config}/u-boot-dtb.bin ${config}/u-boot.swap.bin 8
+                            cp ${config}/u-boot.swap.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
+                    esac
+                fi
+            done
+            unset j
+        done
+        unset i
+    fi
+}
+
+do_compile_append_qoriq-arm64 () {
+ unset i j
+    if [ "x${UBOOT_CONFIG}" != "x" ]; then
+        for config in ${UBOOT_MACHINE}; do
+            i=`expr $i + 1`;
+            for type in ${UBOOT_CONFIG}; do
+                j=`expr $j + 1`;
+                if [ $j -eq $i ]; then
+                    case "${config}" in
+                        *SECURE*|*SECBOOT*)
+                            :;;
+                        *nor*)
+                            cp ${config}/u-boot-dtb.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
+                        *nand* | *sdcard*)
+                            cp ${config}/u-boot-with-spl-pbl.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
+                        *spi*) 
+                            tclsh ${STAGING_BINDIR_NATIVE}/byte_swap.tcl ${config}/u-boot-dtb.bin ${config}/u-boot.swap.bin 8
+                            cp ${config}/u-boot.swap.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX};;
+                    esac
+                fi
+            done
+            unset j
+        done
+        unset i
+    fi
+}
+
+do_compile_append_qoriq-ppc () {
+    # some board's final nand/spi/sdcard binary was not named as u-boot.bin
+    unset i j
+    if [ "x${UBOOT_CONFIG}" != "x" ]; then
+        for config in ${UBOOT_MACHINE}; do
+            i=`expr $i + 1`;
+            UBOOT_SOURCE=${UBOOT_BINARY}
+            if echo ${config} |egrep -v "SECBOOT|SECURE" |egrep -qi "SDCARD|SPIFLASH|NAND"; then
+                if echo ${config} |egrep -qi "NAND";then
+                    if echo ${config} |egrep -qi "^(BSC|C29|P10|P2020RDB)";then
+                        UBOOT_SOURCE=u-boot-with-spl.bin
+                    elif echo ${config} |egrep -qi "^(B4|T1|T2|T4)";then
+                        UBOOT_SOURCE=u-boot-with-spl-pbl.bin
+                    elif echo ${config} |egrep -qi "^(P2041|P3|P4|P5)";then
+                        UBOOT_SOURCE=u-boot.pbl
+                    fi
+                elif echo ${config} |egrep -qi "SPIFLASH";then
+                    if echo ${config} |egrep -qi "^(P10|P2020RDB)";then
+                        UBOOT_SOURCE=u-boot-with-spl.bin
+                    elif echo ${config} |egrep -qi "^(T1|T2)";then
+                        UBOOT_SOURCE=u-boot-with-spl-pbl.bin
+                    elif echo ${config} |egrep -qi "^(B4|P2041|P3|P4|P5|T4)";then
+                        UBOOT_SOURCE=u-boot.pbl
+                    fi
+                elif echo ${config} |egrep -qi "SDCARD";then
+                    if echo ${config} |egrep -qi "^(P10|P2020RDB)";then
+                        UBOOT_SOURCE=u-boot-with-spl.bin
+                    elif echo ${config} |egrep -qi "^(B4|T1|T2|T4)";then
+                        UBOOT_SOURCE=u-boot-with-spl-pbl.bin
+                    elif echo ${config} |egrep -qi "^(P2041|P3|P4|P5)";then
+                        UBOOT_SOURCE=u-boot.pbl
+                    fi
+                fi
+                for type in ${UBOOT_CONFIG}; do
+                    j=`expr $j + 1`;
+                    if [ $j -eq $i ]; then
+                        cp ${S}/${config}/${UBOOT_SOURCE} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
+                        # use boot-format to regenerate spi image if BOOTFORMAT_CONFIG is not empty
+                        if echo ${config} |egrep -qi "SPIFLASH" && [ -n "${BOOTFORMAT_CONFIG}" ];then
+                            ${STAGING_BINDIR_NATIVE}/boot_format \
+                            ${STAGING_DATADIR_NATIVE}/boot_format/${BOOTFORMAT_CONFIG} \
+                            ${S}/${config}/${UBOOT_SOURCE} -spi ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
+                        fi
+                    fi
+                done
+                unset  j
+            fi
+        done
+        unset i
+    fi
+}
+
+PACKAGES += "${PN}-images"
+FILES_${PN}-images += "/boot"
+COMPATIBLE_MACHINE = "(qoriq)"
-- 
1.9.2



More information about the meta-freescale mailing list