[meta-freescale] [3rdparty][master][PATCH 1/2] u-boot-congatec: Add Congatec 2016.01 implementation

Alex de Cabo alejandro.de-cabo-garcia at congatec.com
Thu Feb 16 00:14:48 PST 2017


Add recipe and patches in order to use Uboot 2016.01

Signed-off-by: Alex de Cabo <alejandro.de-cabo-garcia at congatec.com>
---
 ...oot-congatec-Change-environment-variables.patch | 42 ++++++++++
 .../Fix-the-compile-issue-under-gcc6.patch         | 92 ++++++++++++++++++++++
 recipes-bsp/u-boot/u-boot-congatec_2016.01.bb      | 24 ++++++
 3 files changed, 158 insertions(+)
 create mode 100644 recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch
 create mode 100644 recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch
 create mode 100644 recipes-bsp/u-boot/u-boot-congatec_2016.01.bb

diff --git a/recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch b/recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch
new file mode 100644
index 0000000..ffc55cd
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch
@@ -0,0 +1,42 @@
+From ad2098dc02be32e15d1dcf0662d38b148157a62c Mon Sep 17 00:00:00 2001
+From: Alex de Cabo <alejandro.de-cabo-garcia at congatec.com>
+Date: Thu, 16 Feb 2017 09:00:46 +0100
+Subject: [PATCH] uboot-congatec: Change environment variables
+
+Changes the loadfdt, loaduimage and mmcroot variables to be
+Yocto community standard compatible
+---
+ include/configs/cgtqmx6eval.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/configs/cgtqmx6eval.h b/include/configs/cgtqmx6eval.h
+index 34118a2..802c5dc 100644
+--- a/include/configs/cgtqmx6eval.h
++++ b/include/configs/cgtqmx6eval.h
+@@ -162,7 +162,7 @@
+ 
+ #define CONFIG_MXC_UART_BASE	UART2_BASE
+ #define CONFIG_CONSOLE_DEV	"ttymxc1"
+-#define CONFIG_MMCROOT		"/dev/mmcblk0p1"
++#define CONFIG_MMCROOT		"/dev/mmcblk0p2"
+ #define CONFIG_SYS_MMC_ENV_DEV		0
+ 
+ #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+@@ -202,11 +202,11 @@
+ 		"video=mxcfb1:dev=${vid_dev1} " \
+ 		"root=${mmcroot}\0" \
+ 	"loadbootscript=" \
+-		"ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
++		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
+ 	"bootscript=echo Running bootscript from mmc ...; " \
+ 		"source\0" \
+-	"loadimage=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} boot/${image}\0" \
+-	"loadfdt=ext2load mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} boot/${fdtfile}\0" \
++	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
++	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}\0" \
+ 	"mmcboot=echo Booting from mmc ...; " \
+ 		"run mmcargs; " \
+ 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+-- 
+1.9.1
+
diff --git a/recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch b/recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch
new file mode 100644
index 0000000..3d080b6
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch
@@ -0,0 +1,92 @@
+From 5d39bd421fc093e2c852316080538cef85a9e1a0 Mon Sep 17 00:00:00 2001
+From: yocto <yocto at yocto.org>
+Date: Thu, 2 Jun 2016 00:18:33 -0500
+Subject: [PATCH] Fix the compile issue under gcc6
+
+Fix the following build error:
+| .../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
+| #include gcc_header(__GNUC__)
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
+
+Upstream-Status: Pending
+---
+ include/linux/compiler-gcc6.h | 66 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+ create mode 100644 include/linux/compiler-gcc6.h
+
+diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h
+new file mode 100644
+index 0000000..cdd1cc2
+--- /dev/null
++++ b/include/linux/compiler-gcc6.h
+@@ -0,0 +1,66 @@
++#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.
++ * Fixed in GCC 4.8.2 and later versions.
++ *
++ * (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 */
+-- 
+2.5.0
+
diff --git a/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb b/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb
new file mode 100644
index 0000000..f8e5483
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb
@@ -0,0 +1,24 @@
+# Congatec QMX6 u-boot
+
+require recipes-bsp/u-boot/u-boot.inc
+
+DESCRIPTION = "u-boot which includes support for Congatec Boards."
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README;md5=587d8d939ae351bb11910921b1eafd42"
+
+PROVIDES = "u-boot"
+
+PV = "2016.01"
+
+SRCREV = "cf874aa44c41f7e637bb606a8150343433bf4a19"
+SRCBRANCH = "cgt_imx_v2016.01_1.0.0"
+
+SRC_URI = "git://git.congatec.com/arm/qmx6_uboot.git;protocol=http;branch=${SRCBRANCH} \
+	   file://Fix-the-compile-issue-under-gcc6.patch \
+	   file://0001-uboot-congatec-Change-environment-variables.patch \
+"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(cgtumx6|cgtqmx6|cgtimx6)"
-- 
1.9.1



More information about the meta-freescale mailing list