[meta-freescale] [meta-fsl-ppc][PATCH 02/13] u-boot-qoriq: upgrade to 2016.01

ting.liu at nxp.com ting.liu at nxp.com
Fri Jun 17 00:36:15 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>
---
 ...5xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch | 77 ------------------
 .../u-boot/files/Fix-the-depend-race-issue.patch   | 38 ---------
 .../files/add-fgnu89-inline-option-for-gcc5.patch  | 39 ----------
 recipes-bsp/u-boot/files/gcc5.patch                | 91 ----------------------
 ...ot-qoriq_2015.01.bb => u-boot-qoriq_2016.01.bb} |  6 +-
 5 files changed, 2 insertions(+), 249 deletions(-)
 delete mode 100644 recipes-bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch
 delete mode 100644 recipes-bsp/u-boot/files/Fix-the-depend-race-issue.patch
 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/{u-boot-qoriq_2015.01.bb => u-boot-qoriq_2016.01.bb} (97%)

diff --git a/recipes-bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch b/recipes-bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch
deleted file mode 100644
index e6b8d2e..0000000
--- a/recipes-bsp/u-boot/files/0001-u-boot-mpc85xx-u-boot-.lds-remove-_GLOBAL_OFFSET_TAB.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 9ba002f1b1afc7af84a352f4ecab32a30d7ba353 Mon Sep 17 00:00:00 2001
-From: Zhenhua Luo <zhenhua.luo at freescale.com>
-Date: Mon, 9 Feb 2015 18:33:56 +0800
-Subject: [PATCH] u-boot/mpc85xx/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_
- definition
-
-In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in
-u-boot.lds overrides the linker built-in symbols
-(https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9),
-so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc section.
-
-To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol
-should not be defined in sections, and the symbols in linker generated .got
-section should be used(https://sourceware.org/ml/binutils/2008-09/msg00122.html).
-
-Fixed the following build errors with binutils-2.25:
-| powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
----
- arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 -
- 4 files changed, 4 deletions(-)
-
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-index f933b21..0399f93 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-@@ -44,7 +44,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-index b83c553..f044564 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-@@ -22,7 +22,6 @@ SECTIONS
- 		_GOT2_TABLE_ = .;
- 		KEEP(*(.got2))
- 		KEEP(*(.got))
--		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- 		_FIXUP_TABLE_ = .;
- 		KEEP(*(.fixup))
- 	}
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-index 5ae7b3e..889a4c2 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-@@ -29,7 +29,6 @@ SECTIONS
- 		_GOT2_TABLE_ = .;
- 		KEEP(*(.got2))
- 		KEEP(*(.got))
--		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- 		_FIXUP_TABLE_ = .;
- 		KEEP(*(.fixup))
- 	}
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
-index 2cf0b25..f15eaf3 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
-@@ -50,7 +50,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
--- 
-2.1.0
-
diff --git a/recipes-bsp/u-boot/files/Fix-the-depend-race-issue.patch b/recipes-bsp/u-boot/files/Fix-the-depend-race-issue.patch
deleted file mode 100644
index 1ddc667..0000000
--- a/recipes-bsp/u-boot/files/Fix-the-depend-race-issue.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Pending
-
-From 301832414369b749918e0d5db850eed19b81c0fc Mon Sep 17 00:00:00 2001
-From: Zhenhua Luo <zhenhua.luo at freescale.com>
-Date: Tue, 24 Sep 2013 00:54:40 -0500
-Subject: [PATCH] Fix the depend race issue
-
-| make[3]: Entering directory `/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/p1022ds-poky-linux-gnuspe/u-boot/git-r30/git/arch/powerpc/cpu/mpc85xx'
-| /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/p1022ds-poky-linux-gnuspe/u-boot/git-r30/git/P1022DS_NAND/spl/arch/powerpc/cpu/mpc85xx/.depend:125: *** missing separator.  Stop.
-| make[3]: Leaving directory `/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/p1022ds-poky-linux-gnuspe/u-boot/git-r30/git/arch/powerpc/cpu/mpc85xx'
-| make[2]: *** [/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/p1022ds-poky-linux-gnuspe/u-boot/git-r30/git/P1022DS_NAND/spl/arch/powerpc/cpu/mpc85xx/start.o] Error 2
-| make[2]: *** Waiting for unfinished jobs....
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
----
- spl/Makefile | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/spl/Makefile b/spl/Makefile
-index 6dbb105..3156d87 100644
---- a/spl/Makefile
-+++ b/spl/Makefile
-@@ -185,7 +185,11 @@ $(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS)))
- $(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend
- 	$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj). -ansi -D__ASSEMBLY__ -P - < $< > $@
- 
--depend:	$(obj).depend
-+# Explicitly make _depend in subdirs containing multiple targets to prevent
-+# parallel sub-makes creating .depend files simultaneously.
-+depend dep:	$(obj).depend
-+		for dir in $(SUBDIRS) $(CPUDIR) $(LDSCRIPT_MAKEFILE_DIR) ; do \
-+			$(MAKE) -C $(SRCTREE)/$$dir _depend ; done
- .PHONY: depend
- 
- # defines $(obj).depend target
--- 
-1.8.2.1
-
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/u-boot-qoriq_2015.01.bb b/recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb
similarity index 97%
rename from recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb
rename to recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb
index 4a89b30..55e5700 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2015.01.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2016.01.bb
@@ -21,12 +21,10 @@ DEPENDS_append_qoriq-ppc = " boot-format-native"
 
 inherit deploy
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;branch=sdk-v1.9.x \
-    file://gcc5.patch \
-    file://add-fgnu89-inline-option-for-gcc5.patch \
+SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;branch=sdk-v2.0.x \
     file://fix-build-error-under-gcc6.patch \
 "
-SRCREV = "eb3d4fc5759729d7af71ac31ebf6a7e8d0e79da3"
+SRCREV = "a9b437f50e2051f8d42ec9e1a6df52de4bc00e1e"
 
 python () {
     if d.getVar("TCMODE", True) == "external-fsl":
-- 
1.9.2



More information about the meta-freescale mailing list