summaryrefslogtreecommitdiffstats
path: root/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-freescale-3rdparty/recipes-bsp/u-boot')
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-common_2018.07.inc13
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/aarch64/fw_env.config1
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/arm/fw_env.config1
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils_2018.07.bb46
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary_2018.07.bb17
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-compulab_2014.10.bb17
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch42
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch92
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/fix-build-for-gcc7.patch100
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb25
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi/ccimx6ul/bootscript.txt7
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi_2017.03.bb40
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-fslc_%.bbappend2
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-gateworks-imx_2015.04.bb16
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-karo_git.bb19
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-boundary_2018.07.bb45
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx.bb30
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx/6x_bootscript-yocto.txt144
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-timesys_2011.12.bb24
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch54
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config10
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config10
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config22
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config17
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config10
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb42
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb8
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc20
-rw-r--r--bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-variscite_2017.03.bb21
29 files changed, 895 insertions, 0 deletions
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-common_2018.07.inc b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-common_2018.07.inc
new file mode 100644
index 00000000..59b17cce
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-common_2018.07.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "U-Boot for Boundary Devices boards"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
+
+PV = "v2018.07+git${SRCPV}"
+
+SRCREV = "ca185fc7406207da613c728935f534a4054674f1"
+SRCBRANCH = "boundary-v2018.07"
+SRC_URI = "git://github.com/boundarydevices/u-boot-imx6.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/aarch64/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/aarch64/fw_env.config
new file mode 100644
index 00000000..eccfb0f4
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/aarch64/fw_env.config
@@ -0,0 +1 @@
+/dev/mmcblk0boot0 0x1fe000 0x2000 0x1000
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/arm/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/arm/fw_env.config
new file mode 100644
index 00000000..571e829c
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils/arm/fw_env.config
@@ -0,0 +1 @@
+/dev/mtd1 0x00000 0x2000 0x1000 2
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils_2018.07.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils_2018.07.bb
new file mode 100644
index 00000000..6b8fb867
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary-fw-utils_2018.07.bb
@@ -0,0 +1,46 @@
+require u-boot-boundary-common_${PV}.inc
+
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+DEPENDS += "mtd-utils bison-native"
+
+FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/arm:"
+FILESEXTRAPATHS_prepend_mx7 := "${THISDIR}/${PN}/arm:"
+FILESEXTRAPATHS_prepend_mx8 := "${THISDIR}/${PN}/aarch64:"
+
+SRC_URI += " \
+ file://fw_env.config \
+"
+
+INSANE_SKIP_${PN} = "already-stripped"
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
+EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+
+inherit uboot-config
+
+do_compile () {
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake envtools
+}
+
+do_install () {
+ install -Dm 0755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ install -Dm 0755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ install -Dm 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+do_install_class-cross () {
+ install -d ${D}${bindir_cross}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+}
+
+SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
+uboot_fw_utils_cross() {
+ sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
+}
+
+RPROVIDES_${PN} += "u-boot-fw-utils"
+
+BBCLASSEXTEND = "cross"
+
+COMPATIBLE_MACHINE = "(imx)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary_2018.07.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary_2018.07.bb
new file mode 100644
index 00000000..d9417f54
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-boundary_2018.07.bb
@@ -0,0 +1,17 @@
+require recipes-bsp/u-boot/u-boot.inc
+require recipes-bsp/u-boot/u-boot-boundary-common_${PV}.inc
+
+DEPENDS += "bison-native"
+
+PROVIDES += "u-boot"
+
+BOOT_TOOLS = "imx-boot-tools"
+
+do_deploy_append_mx8mq () {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0777 ${B}/${config}/tools/mkimage ${DEPLOYDIR}/${BOOT_TOOLS}/mkimage_uboot
+ install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+}
+
+COMPATIBLE_MACHINE = "(nitrogen6x-lite|nitrogen6x|nitrogen6sx|nitrogen7|nitrogen8m)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-compulab_2014.10.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-compulab_2014.10.bb
new file mode 100644
index 00000000..02651e09
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-compulab_2014.10.bb
@@ -0,0 +1,17 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+DESCRIPTION = "u-boot which includes support for CompuLab boards."
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://configs/cm_fx6_defconfig;md5=549452418e9e099e5fe19ef1ac65e892"
+
+PROVIDES += "u-boot"
+
+SRCBRANCH = "utilite/master"
+SRCREV = "6803a75f3d40bee3b53f56e7b49c70465819b7ca"
+SRC_URI = "git://github.com/utilite-computer/u-boot.git;branch=${SRCBRANCH}"
+SRC_URI[md5sum] = "fd8234c5b3a460430689848c1f16acef"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "cm-fx6"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/0001-uboot-congatec-Change-environment-variables.patch
new file mode 100644
index 00000000..ffc55cdc
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/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@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/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/Fix-the-compile-issue-under-gcc6.patch
new file mode 100644
index 00000000..3d080b63
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/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@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@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/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/fix-build-for-gcc7.patch b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/fix-build-for-gcc7.patch
new file mode 100644
index 00000000..0ee0642e
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec/fix-build-for-gcc7.patch
@@ -0,0 +1,100 @@
+From 81ae0fca9b92cb9e02568a5777f83d8b8eb69104 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Tue, 20 Jun 2017 13:25:20 -0400
+Subject: [PATCH] fix build for gcc7
+
+| In file included from .../include/linux/compiler.h:54:0,
+| from .../include/uapi/linux/stddef.h:1,
+| from .../include/linux/stddef.h:4,
+| from .../include/uapi/linux/posix_types.h:4,
+| from .../include/uapi/linux/types.h:13,
+| from .../include/linux/types.h:5,
+| from .../include/linux/mod_devicetable.h:11,
+| from .../scripts/mod/devicetable-offsets.c:2:
+| .../include/linux/compiler-gcc.h:121:1: fatal error: linux/compiler-gcc7.h: No such file or directory
+| #include gcc_header(__GNUC__)
+
+Upstream-Status: Pending
+
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+Signed-off-by: Fabio Berton <fabio.berton@gmail.com>
+---
+ include/linux/compiler-gcc7.h | 66 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+ create mode 100644 include/linux/compiler-gcc7.h
+
+diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h
+new file mode 100644
+index 000000000000..cdd1cc202d51
+--- /dev/null
++++ b/include/linux/compiler-gcc7.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.12.3
+
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb
new file mode 100644
index 00000000..e886f547
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-congatec_2016.01.bb
@@ -0,0 +1,25 @@
+# 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 = "2a24305837eccdec7de18a18688ead9d3fefe94c"
+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://fix-build-for-gcc7.patch \
+ file://0001-uboot-congatec-Change-environment-variables.patch \
+"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(cgtumx6|cgtqmx6|cgtimx6)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi/ccimx6ul/bootscript.txt b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi/ccimx6ul/bootscript.txt
new file mode 100644
index 00000000..06b42bed
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi/ccimx6ul/bootscript.txt
@@ -0,0 +1,7 @@
+#
+# U-Boot bootscript for NAND images created by Yocto.
+#
+
+setenv fdt_file imx6ul-ccimx6ulsbcexpress.dtb
+setenv zimage zImage-ccimx6ulsbcexpress.bin
+dboot linux nand ${mtdbootpart}
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi_2017.03.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi_2017.03.bb
new file mode 100644
index 00000000..aa775727
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-digi_2017.03.bb
@@ -0,0 +1,40 @@
+# Copyright (C) 2018 Digi International
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Bootloader for Digi platforms"
+SECTION = "bootloaders"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+
+require recipes-bsp/u-boot/u-boot.inc
+
+DEPENDS = "u-boot-mkimage-native"
+
+PROVIDES += "u-boot"
+
+SRCBRANCH = "v2017.03/maint"
+SRCREV = "8d60f536d2063ac6a0676bdf34c4c8c8807371c5"
+
+SRC_URI = "\
+ git://github.com/digi-embedded/u-boot.git;protocol=git;nobranch=1 \
+ file://bootscript.txt \
+"
+
+LOCALVERSION ?= "-${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+inherit dtc-145 fsl-u-boot-localversion
+
+UBOOT_ENV = "boot"
+UBOOT_ENV_SUFFIX = "scr"
+
+do_compile_append () {
+ uboot-mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+ -n "boot script" -d ${WORKDIR}/bootscript.txt \
+ ${WORKDIR}/${UBOOT_ENV_BINARY}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "(ccimx6ul)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-fslc_%.bbappend b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-fslc_%.bbappend
new file mode 100644
index 00000000..a1f0e56b
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-fslc_%.bbappend
@@ -0,0 +1,2 @@
+COMPATIBLE_MACHINE_imx6sl-warp = "(.)"
+COMPATIBLE_MACHINE_imx6dl-riotboard = "(.)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-gateworks-imx_2015.04.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-gateworks-imx_2015.04.bb
new file mode 100644
index 00000000..2923d06c
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-gateworks-imx_2015.04.bb
@@ -0,0 +1,16 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+DESCRIPTION = "U-Boot for Gateworks Ventana Family SBC's"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=c7383a594871c03da76b3707929d2919"
+DEPENDS = "u-boot-mkimage-native"
+
+PV = "v2015.04+git${SRCPV}"
+
+SRCREV = "040377aefd06c8eef41763868fc9c6df2cbf9b1c"
+SRC_URI = "git://github.com/Gateworks/u-boot-imx6.git;branch=gateworks_v2015.04"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(ventana)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-karo_git.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-karo_git.bb
new file mode 100644
index 00000000..2e1f7bb1
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-karo_git.bb
@@ -0,0 +1,19 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+DESCRIPTION = "u-boot for Ka-Ro electronics TX Computer-On-Modules."
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
+
+PROVIDES = "u-boot"
+
+PV = "v2015.10-rc2+git${SRCPV}"
+
+SRCREV = "047997571bf2c5bd43058c8e9da8052e09d9111f"
+SRCBRANCH = "karo-tx6"
+SRC_URI = "git://git.karo-electronics.de/karo-tx-uboot.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "(tx6[qsu]-.*)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-boundary_2018.07.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-boundary_2018.07.bb
new file mode 100644
index 00000000..ef47d5f4
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-boundary_2018.07.bb
@@ -0,0 +1,45 @@
+require recipes-bsp/u-boot/u-boot-boundary-common_${PV}.inc
+
+DEPENDS = "u-boot-mkimage-native"
+
+inherit deploy
+
+BOOTSCRIPT ??= "${S}/board/boundary/bootscripts/bootscript-yocto.txt"
+BOOTSCRIPT_use-mainline-bsp ??= "${S}/board/boundary/bootscripts/bootscript-mainline.txt"
+
+UPGRADESCRIPT = "${S}/board/boundary/bootscripts/upgrade.txt"
+
+do_mkimage () {
+ uboot-mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+ -n "boot script" -d ${BOOTSCRIPT} ${S}/boot.scr
+
+ uboot-mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+ -n "upgrade script" -d ${UPGRADESCRIPT} ${S}/upgrade.scr
+}
+
+addtask mkimage after do_compile before do_install
+
+do_compile[noexec] = "1"
+
+do_install () {
+ install -D -m 644 ${S}/boot.scr ${D}/boot.scr
+ install -D -m 644 ${S}/upgrade.scr ${D}/upgrade.scr
+}
+
+do_deploy () {
+ install -D -m 644 ${D}/boot.scr \
+ ${DEPLOYDIR}/boot.scr-${MACHINE}-${PV}-${PR}
+ install -D -m 644 ${D}/upgrade.scr \
+ ${DEPLOYDIR}/upgrade.scr-${MACHINE}-${PV}-${PR}
+
+ cd ${DEPLOYDIR}
+ rm -f boot.scr-${MACHINE} upgrade.scr-${MACHINE}
+ ln -sf boot.scr-${MACHINE}-${PV}-${PR} boot.scr-${MACHINE}
+ ln -sf upgrade.scr-${MACHINE}-${PV}-${PR} upgrade.scr-${MACHINE}
+}
+
+addtask deploy after do_install before do_build
+
+FILES_${PN} += "/"
+
+COMPATIBLE_MACHINE = "(nitrogen6x-lite|nitrogen6x|nitrogen6sx|nitrogen7|nitrogen8m)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx.bb
new file mode 100644
index 00000000..5023f377
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx.bb
@@ -0,0 +1,30 @@
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
+DEPENDS = "u-boot-mkimage-native"
+
+SRC_URI = "file://6x_bootscript-yocto.txt"
+
+DESTDIR = "/boot"
+S = "${WORKDIR}"
+
+do_compile() {
+ bootscript="${WORKDIR}/6x_bootscript-yocto.txt"
+ echo "bootscript == $bootscript"
+
+ uboot-mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+ -n "boot script" -d $bootscript \
+ 6x_bootscript
+}
+
+do_install() {
+ install -d ${D}/${DESTDIR}
+ install ${S}/6x_bootscript ${D}${DESTDIR}/6x_bootscript-${MACHINE}-${PV}-${PR}
+
+ cd ${D}${DESTDIR}
+ ln -sf 6x_bootscript-${MACHINE}-${PV}-${PR} 6x_bootscript-${MACHINE}
+}
+
+FILES_${PN} = "${DESTDIR}/*"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(ventana)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx/6x_bootscript-yocto.txt b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx/6x_bootscript-yocto.txt
new file mode 100644
index 00000000..df6f6215
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-script-gateworks-imx/6x_bootscript-yocto.txt
@@ -0,0 +1,144 @@
+setenv _bscriptver "v1.07"
+
+echo "## Gateworks Ventana Yocto Bootscript ${_bscriptver} ####################"
+
+## First: Memory Allocations ###################################################
+if test -z "${mem}" ; then
+ echo "Detected ${mem_mb}MB DRAM - adjusting CMA memory allocation..."
+
+ # Freescale doesn't provide a 'best practice' for choosing CMA. We determine
+ # it using following formula (please customize mem to your own req's):
+ # cma=min(((${mem_mb}/2) - round(${mem_mb}*.125))M, 384M)
+ if itest.s "x${mem_mb}" == "x256" ; then
+ setenv mem "cma=96M"
+ elif itest.s "x${mem_mb}" == "x512" ; then
+ setenv mem "cma=192M"
+ else
+ setenv mem "cma=384M"
+ fi
+fi
+
+if itest.s "x${mem}" == "xNA" ; then
+ echo "Leaving CMA alone..."
+else
+ setenv extra "${extra}" "${mem}"
+ echo "Memory configuration used from env mem: $mem"
+fi
+
+## Second: Video Options #######################################################
+if test -z "${video}" ; then
+ # locally used variables
+ setenv fb_num 0
+ setenv lvds_flag
+ setenv hdmi_flag
+ setenv cvbs_flag
+ setenv max_disp 3 # 0-3 displays
+
+ # Default displays to display if displays is empty
+ if test -z "${displays}"; then
+ setenv displays "${display}"
+ fi
+
+ # Detect HDMI if displays is empty (HDMI)
+ if test -z "${displays}" ; then
+ i2c dev 2
+ if hdmidet ; then # HDMI
+ setenv displays "HDMI"
+ echo "HDMI Detected"
+ fi
+ fi
+
+ echo "Display(s) to configure: ${displays}"
+
+ # Configure displays
+ for disp in ${displays} ; do
+ if itest.s "x${disp}" == "xHDMI" ; then
+ if test -z "${hdmi_flag}" ; then # Only allow one HDMI display
+ setenv hdmi_flag 1
+ test -n "${hdmi}" || hdmi=1080p
+ if itest.s "x${hdmi}" == "x1080p" ; then
+ setenv hdmi "1920x1080M@60"
+ elif itest.s "x${hdmi}" == "x720p" ; then
+ setenv hdmi "1280x720M@60"
+ elif itest.s "x${hdmi}" == "x480p" ; then
+ setenv hdmi "720x480M@60"
+ fi
+ setenv video "${video}" "video=mxcfb${fb_num}:dev=hdmi,${hdmi},if=RGB24,bpp=32"
+
+ echo "Setting HDMI Display to mxcfb${fb_num}"
+ setexpr fb_num ${fb_num} + 1
+ fi
+
+ # Freescale MCIMX-LVDS1 10" XGA Touchscreen Display
+ elif itest.s "x${disp}" == "xHannstar-XGA" ; then
+ if test -z "${lvds_flag}" ; then # Only allow one LVDS display
+ setenv lvds_flag 1
+ setenv video "${video}" "video=mxcfb${fb_num}:dev=ldb,bpp=32,LDB-XGA,if=RGB666"
+
+ # Configure timings
+ setenv display "Hannstar-XGA"
+
+ echo "Setting Hannstar-XGA Display to mxcfb${fb_num}"
+ setexpr fb_num ${fb_num} + 1
+ fi
+
+ # GW17029 DLC700JMGT4 7" WSVGA Touchscreen Display
+ elif itest.s "x${disp}" == "xDLC700JMGT4" ; then
+ if test -z "${lvds_flag}" ; then # Only allow one LVDS display
+ setenv lvds_flag 1
+ setenv video "${video}" "video=mxcfb${fb_num}:dev=ldb,bpp=32,LDB-WSVGA,if=RGB666"
+
+ # Configure timings
+ setenv display "DLC700JMGT4"
+
+ echo "Setting DLC700JMGT4 Display to mxcfb${fb_num}"
+ setexpr fb_num ${fb_num} + 1
+ fi
+
+ # GW17030 DLC800FIGT3 8" XGA Touchscreen Display"
+ elif itest.s "x${disp}" == "xDLC800FIGT3" ; then
+ if test -z "${lvds_flag}" ; then # Only allow one LVDS display
+ setenv lvds_flag 1
+ setenv video "${video}" "video=mxcfb${fb_num}:dev=ldb,bpp=32,LDB-XGA,if=RGB666"
+
+ # Configure timings
+ setenv display "DLC800FIGT3"
+
+ echo "Setting DLC800FIGT3 Display to mxcfb${fb_num}"
+ setexpr fb_num ${fb_num} + 1
+ fi
+
+ elif itest.s "x${disp}" == "xCVBS" ; then
+ if test -z "${cvbs_flag}" ; then # Only allow one CVBS display
+ setenv cvbs_flag 1
+ setenv video "${video}" "video=mxcfb${fb_num}:dev=adv739x,BT656-NTSC,if=BT656,fbpix=RGB565,bpp=32"
+
+ echo "Setting CVBS Display to mxcfb${fb_num}"
+ setexpr fb_num ${fb_num} + 1
+ fi
+
+ elif itest.s "x${disp}" == "xnone" ; then
+ # Reset fb_num to mark all displays to 'off'
+ setenv fb_num 0
+
+ else
+ echo "${disp} is an unsupported display type"
+ echo "Valid Displays: HDMI|Hannstar-XGA|DLC700JMGT4|DLC800FIGT3|CVBS"
+ fi
+ done
+
+ # Mark the rest of the displays to 'off'
+ while test "${fb_num}" -le "${max_disp}" ; do
+ setenv video "${video}" "video=mxcfb${fb_num}:off"
+ setexpr fb_num ${fb_num} + 1
+ done
+
+ # Set only if video is set
+ if test -n "${video}" ; then
+ setenv video "${video}"
+ fi
+fi
+setenv extra "${extra}" galcore.initgpu3DMinClock=3
+echo "Video configuration used from env video: ${video}"
+
+echo "## End Gateworks Ventana Yocto Bootscript ${_bscriptver} ################"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-timesys_2011.12.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-timesys_2011.12.bb
new file mode 100644
index 00000000..5912423b
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-timesys_2011.12.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2013-2014 Timesys Corporation
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "bootloader for Vybrid platforms"
+require recipes-bsp/u-boot/u-boot.inc
+
+PROVIDES += "u-boot"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
+
+SRCBRANCH = "2011.12-pcl052"
+SRC_URI = "git://github.com/Timesys/u-boot-timesys.git;protocol=git;branch=${SRCBRANCH}"
+SRCREV = "dca5026484c69628be9b9618e5795c635cefe110"
+
+SRCBRANCH_quartz = "2011.12-quartz"
+SRCREV_quartz = "2dc3859b8274b45fb6336d9713b4b07e42dfb4cb"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(vf60)"
+
+PV = "v2011.12"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
new file mode 100644
index 00000000..2c087e85
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch
@@ -0,0 +1,54 @@
+From 3b0825296aeba69c2cbfd3e179db2e9cbe5e70d7 Mon Sep 17 00:00:00 2001
+From: Masahiro Yamada <yamada.masahiro@socionext.com>
+Date: Mon, 13 Mar 2017 17:43:16 +0900
+Subject: [PATCH] tools: fix cross-compiling tools when HOSTCC is overridden
+
+Upstream-Status: Backport
+
+Richard reported U-Boot tools issues in OpenEmbedded/Yocto project.
+
+OE needs to be able to change the default compiler. If we pass in
+HOSTCC through the make command, it overwrites all HOSTCC instances,
+including ones in tools/Makefile and tools/env/Makefile, which breaks
+"make cross_tools" and "make env", respectively.
+
+Add "override" directives to avoid overriding HOSTCC instances that
+really need to point to the cross-compiler.
+
+Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
+Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+---
+ tools/Makefile | 2 +-
+ tools/env/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/Makefile b/tools/Makefile
+index 1c840d7..a894b5c 100644
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -262,7 +262,7 @@ $(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP)
+ subdir- += env
+
+ ifneq ($(CROSS_BUILD_TOOLS),)
+-HOSTCC = $(CC)
++override HOSTCC = $(CC)
+
+ quiet_cmd_crosstools_strip = STRIP $^
+ cmd_crosstools_strip = $(STRIP) $^; touch $@
+diff --git a/tools/env/Makefile b/tools/env/Makefile
+index 38ad118..95b28c0 100644
+--- a/tools/env/Makefile
++++ b/tools/env/Makefile
+@@ -8,7 +8,7 @@
+ # fw_printenv is supposed to run on the target system, which means it should be
+ # built with cross tools. Although it may look weird, we only replace "HOSTCC"
+ # with "CC" here for the maximum code reuse of scripts/Makefile.host.
+-HOSTCC = $(CC)
++override HOSTCC = $(CC)
+
+ # Compile for a hosted environment on the target
+ HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
+--
+2.7.4
+
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
new file mode 100644
index 00000000..930bceee
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx6ull/fw_env.config
@@ -0,0 +1,10 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+# Colibri iMX6ULL
+/dev/mtd3 0x00000000 0x00020000 0x20000 4
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
new file mode 100644
index 00000000..b59116d4
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/colibri-imx7/fw_env.config
@@ -0,0 +1,10 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+# Colibri iMX7
+/dev/mtd3 0x00000000 0x00020000 0x20000 4
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
new file mode 100644
index 00000000..e054ccbb
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/fw_env.config
@@ -0,0 +1,22 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# NOR example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd1 0x0000 0x4000 0x4000
+#/dev/mtd2 0x0000 0x4000 0x4000
+
+# MTD SPI-dataflash example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd5 0x4200 0x4200
+#/dev/mtd6 0x4200 0x4200
+
+# NAND example
+#/dev/mtd0 0x4000 0x4000 0x20000 2
+
+# Block device example
+#/dev/mmcblk0 0xc0000 0x20000
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
new file mode 100644
index 00000000..a9e724e4
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/mx6/fw_env.config
@@ -0,0 +1,17 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Device offset must be prefixed with 0x to be parsed as a hexadecimal value.
+# On a block device a negative offset is treated as a backwards offset from the
+# end of the device/partition, rather than a forwards offset from the start.
+
+# Colibri iMX6/Apalis iMX6
+# U-Boot environment is stored at the end of the first eMMC boot partition
+# hence use a negative value. The environment is just in front of the config
+# block which occupies the last sector (hence -0x200)
+# Note that /dev/mmcblk0boot0 by default is read only
+# To use fw_setenv you have to first make it writeable, on the cmdline e.g. by
+# $ echo 0 > /sys/block/mmcblk0boot0/force_ro
+
+# Block device name Device offset Env. size
+/dev/mmcblk0boot0 -0x2200 0x2000
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
new file mode 100644
index 00000000..51f09d1d
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils/vf/fw_env.config
@@ -0,0 +1,10 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+# Colibri VF61
+/dev/mtd2 0x00000000 0x00020000 0x20000 4
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
new file mode 100644
index 00000000..727c0a84
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex-fw-utils_2016.11.bb
@@ -0,0 +1,42 @@
+require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
+
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+
+SRC_URI += "file://0001-tools-fix-cross-compiling-tools-when-HOSTCC-is-overr.patch \
+ file://fw_env.config \
+"
+
+DEPENDS += "mtd-utils"
+
+INSANE_SKIP_${PN} = "already-stripped"
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
+EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+
+inherit uboot-config
+
+do_compile () {
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake env
+}
+
+do_install () {
+ install -d ${D}${base_sbindir}
+ install -d ${D}${sysconfdir}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+do_install_class-cross () {
+ install -d ${D}${bindir_cross}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+}
+
+SYSROOT_DIRS_append_class-cross = " ${bindir_cross}"
+
+PROVIDES += "u-boot-fw-utils"
+RPROVIDES_${PN} += "u-boot-fw-utils"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BBCLASSEXTEND = "cross"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
new file mode 100644
index 00000000..e409131d
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb
@@ -0,0 +1,8 @@
+require recipes-bsp/u-boot/u-boot.inc
+require recipes-bsp/u-boot/u-boot-toradex_${PV}.inc
+
+LOCALVERSION = "-2.8.3"
+
+PROVIDES += "u-boot"
+
+inherit fsl-u-boot-localversion dtc-145
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
new file mode 100644
index 00000000..dd8c9215
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.inc
@@ -0,0 +1,20 @@
+# Copyright (C) 2015 Toradex AG
+# Based on u-boot-fslc.inc Copyright (C) 2012-2014 O.S. Systems Software LTDA
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "U-Boot bootloader with support for Toradex Computer on Modules"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+
+SRC_URI = "git://git.toradex.com/u-boot-toradex.git;branch=${SRCBRANCH}"
+
+SRCREV ?= "aca804c9ddadbf34a8ff82779e5598ec5e319f23"
+SRCBRANCH ?= "2016.11-toradex"
+
+S = "${WORKDIR}/git"
+
+PV = "2016.11+git${SRCPV}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "(mx6|mx7|vf|use-mainline-bsp)"
diff --git a/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-variscite_2017.03.bb b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-variscite_2017.03.bb
new file mode 100644
index 00000000..818e03e4
--- /dev/null
+++ b/bsp/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-variscite_2017.03.bb
@@ -0,0 +1,21 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+SUMMARY = "U-Boot for Variscite i.MX6Q/DL VAR-SOM-MX6"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+COMPATIBLE_MACHINE = "(imx6qdl-variscite-som)"
+
+PROVIDES += "u-boot"
+
+SPL_BINARY = "SPL"
+
+SRCREV = "3b5f889cb501c9fbe44c750c657dcd9ea4875176"
+SRCBRANCH = "imx_v2017.03_4.9.11_1.0.0_ga_var01"
+
+SRC_URI = "\
+ git://github.com/varigit/uboot-imx.git;protocol=git;branch=${SRCBRANCH} \
+"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"