summaryrefslogtreecommitdiffstats
path: root/bsp/meta-freescale/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-freescale/recipes-bsp')
-rw-r--r--bsp/meta-freescale/recipes-bsp/atf/atf-tools_git.bb19
-rw-r--r--bsp/meta-freescale/recipes-bsp/atf/atf_git.bb247
-rw-r--r--bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess.bb19
-rwxr-xr-xbsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl40
-rw-r--r--bsp/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb25
-rw-r--r--bsp/meta-freescale/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb30
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8.5.inc (renamed from bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-7.8.inc)8
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8_8.5.bb (renamed from bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8_7.8.bb)2
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8m_8.5.bb (renamed from bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8m_7.8.bb)0
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8x_7.8.bb20
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx_8.5.bb (renamed from bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx_7.8.bb)48
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca.inc15
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca6174_3.0.1.bb27
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca9377_3.0.1.bb27
-rw-r--r--bsp/meta-freescale/recipes-bsp/firmware-qca/qca-tools_3.0.1.bb20
-rw-r--r--bsp/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb2
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-atf/imx-atf_2.0.bb (renamed from bsp/meta-freescale/recipes-bsp/imx-atf/imx-atf_1.5.0.bb)20
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb7
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb69
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-mkimage_git.inc6
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.2.7.1.bb (renamed from bsp/meta-freescale/recipes-bsp/imx-sc-firmware/imx-sc-firmware_0.9.bb)12
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-seco/imx-seco_2.3.1.bb30
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-mxc_v4l2_test-fix-compilation-error-produced-by-gcc9.patch39
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-test-Makefile-Add-include-path-to-CC-command.patch27
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb29
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb11
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-Get-i.MX-custom-headers-from-usr-include-imx.patch49
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.16.0.bb (renamed from bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.8.0.bb)9
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-vpu/imx-vpu_5.4.39.2.bb (renamed from bsp/meta-freescale/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb)8
-rw-r--r--bsp/meta-freescale/recipes-bsp/inphi/inphi_git.bb4
-rw-r--r--bsp/meta-freescale/recipes-bsp/libimxdmabuffer/files/run-ptest10
-rw-r--r--bsp/meta-freescale/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb46
-rw-r--r--bsp/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb6
-rw-r--r--bsp/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb28
-rw-r--r--bsp/meta-freescale/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb6
-rw-r--r--bsp/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb19
-rw-r--r--bsp/meta-freescale/recipes-bsp/rcw/rcw_git.bb28
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-common_2020.04.inc (renamed from bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-common_2018.11.inc)7
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-fw-utils_2018.11.bb45
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.04.bb (renamed from bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2018.11.bb)4
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc_2020.04.bb (renamed from bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc_2018.11.bb)4
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-common.inc20
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-mfgtool_2019.04.bb (renamed from bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-mfgtool_2017.03.bb)2
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-tools_2019.04.bb10
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-Add-target-to-generate-initial-environment.patch49
-rwxr-xr-xbsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-tools-allow-to-override-python.patch46
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2019.04.bb (renamed from bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2017.03.bb)25
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.03.inc19
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.09.inc19
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2018.03.bb45
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-Remove-redundant-YYLOC-global-declaration.patch29
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Convert-a-few-tests-to-Python-3.patch79
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Move-to-use-Python-3.patch30
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-buildman-Convert-to-Python-3.patch928
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Adjust-command-to-return-strings-instead-of-b.patch228
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Drop-binary-parameter.patch105
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Update-command.Run-to-handle-failure-better.patch42
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-pylibfdt-Convert-to-Python-3.patch117
-rw-r--r--bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2019.10.bb (renamed from bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb)42
-rw-r--r--bsp/meta-freescale/recipes-bsp/uefi/uefi_git.bb6
60 files changed, 2369 insertions, 544 deletions
diff --git a/bsp/meta-freescale/recipes-bsp/atf/atf-tools_git.bb b/bsp/meta-freescale/recipes-bsp/atf/atf-tools_git.bb
new file mode 100644
index 00000000..33ec51c2
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/atf/atf-tools_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Tools for ARM Trusted Firmware, e.g. FIP image creation tool"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
+
+SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1"
+SRCREV = "7d748e6f0ec652ba7c43733dc67a3d0b0217390a"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "openssl"
+
+EXTRA_OEMAKE = "fiptool V=1 HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'"
+
+do_install () {
+ install -m 0755 -d ${D}/${bindir}
+ install -m 0755 ${S}/tools/fiptool/fiptool ${D}/${bindir}/
+}
+
+BBCLASSEXTEND = "native"
diff --git a/bsp/meta-freescale/recipes-bsp/atf/atf_git.bb b/bsp/meta-freescale/recipes-bsp/atf/atf_git.bb
new file mode 100644
index 00000000..a93cb804
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/atf/atf_git.bb
@@ -0,0 +1,247 @@
+DESCRIPTION = "ARM Trusted Firmware"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
+
+inherit deploy
+
+DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native mbedtls rcw cst-native"
+DEPENDS_append_lx2160a += "ddr-phy"
+do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1"
+SRCREV = "7d748e6f0ec652ba7c43733dc67a3d0b0217390a"
+
+COMPATIBLE_MACHINE = "(qoriq)"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PLATFORM = "${MACHINE}"
+PLATFORM_ls1088ardb-pb = "ls1088ardb"
+PLATFORM_ADDITIONAL_TARGET ??= ""
+PLATFORM_ADDITIONAL_TARGET_ls1012afrwy = "ls1012afrwy_512mb"
+
+RCW_FOLDER ?= "${MACHINE}"
+RCW_FOLDER_ls1088ardb-pb = "ls1088ardb"
+
+# requires CROSS_COMPILE set by hand as there is no configure script
+export CROSS_COMPILE="${TARGET_PREFIX}"
+export ARCH="arm64"
+
+# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
+# a standalone application
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
+
+BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
+OTABOOTTYPE ?= "nor qspi flexspi_nor"
+BUILD_SECURE = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'true', 'false', d)}"
+BUILD_OPTEE = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}"
+BUILD_FUSE = "${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'true', 'false', d)}"
+BUILD_OTA = "${@bb.utils.contains('DISTRO_FEATURES', 'ota', 'true', 'false', d)}"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
+"
+PACKAGECONFIG[optee] = ",,optee-os-qoriq"
+
+uboot_boot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
+uboot_boot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
+rcw ?= ""
+rcw_ls1012afrwy = "_default"
+rcw_ls1012ardb = "_default"
+rcwsec ?= "_sben"
+
+chassistype ?= "ls2088_1088"
+chassistype_ls1012ardb = "ls104x_1012"
+chassistype_ls1012afrwy = "ls104x_1012"
+chassistype_ls1043ardb = "ls104x_1012"
+chassistype_ls1046ardb = "ls104x_1012"
+chassistype_ls1046afrwy = "ls104x_1012"
+
+ddrphyopt ?= ""
+ddrphyopt_lx2160ardb = "fip_ddr_sec"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ export LIBPATH="${RECIPE_SYSROOT_NATIVE}"
+ install -d ${S}/include/tools_share/openssl
+ cp -r ${RECIPE_SYSROOT}/usr/include/openssl/* ${S}/include/tools_share/openssl
+ if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
+ else
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ${S}
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub ${S}
+ fi
+
+ if [ "${BUILD_FUSE}" = "true" ]; then
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
+ fuseopt="fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin"
+ fi
+ if [ "${BUILD_SECURE}" = "true" ]; then
+ secureopt="TRUSTED_BOARD_BOOT=1 ${ddrphyopt} CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst"
+ secext="_sec"
+ bl33="${uboot_boot_sec}"
+ if [ ${chassistype} = ls104x_1012 ]; then
+ rcwtemp="${rcwsec}"
+ else
+ rcwtemp="${rcw}"
+ fi
+ else
+ bl33="${uboot_boot}"
+ rcwtemp="${rcw}"
+ fi
+
+ if [ "${BUILD_OPTEE}" = "true" ]; then
+ bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
+ bl32opt="BL32=${bl32}"
+ spdopt="SPD=opteed"
+ fi
+
+ if [ "${BUILD_OTA}" = "true" ]; then
+ otaopt="POLICY_OTA=1"
+ btype="${OTABOOTTYPE}"
+ else
+ btype="${BOOTTYPE}"
+ fi
+
+ if [ -f ${DEPLOY_DIR_IMAGE}/ddr-phy/ddr4_pmu_train_dmem.bin ]; then
+ cp ${DEPLOY_DIR_IMAGE}/ddr-phy/*.bin ${S}/
+ fi
+
+ for d in ${btype}; do
+ case $d in
+ nor)
+ rcwimg="${RCWNOR}${rcwtemp}.bin"
+ uefiboot="${UEFI_NORBOOT}"
+ ;;
+ nand)
+ rcwimg="${RCWNAND}${rcwtemp}.bin"
+ ;;
+ qspi)
+ rcwimg="${RCWQSPI}${rcwtemp}.bin"
+ uefiboot="${UEFI_QSPIBOOT}"
+ if [ "${BUILD_SECURE}" = "true" ] && [ ${MACHINE} = ls1046ardb ]; then
+ rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
+ fi
+ ;;
+ auto)
+ rcwimg="${RCWAUTO}${rcwtemp}.bin"
+ ;;
+ sd)
+ rcwimg="${RCWSD}${rcwtemp}.bin"
+ ;;
+ emmc)
+ rcwimg="${RCWEMMC}${rcwtemp}.bin"
+ ;;
+ flexspi_nor)
+ rcwimg="${RCWXSPI}${rcwtemp}.bin"
+ uefiboot="${UEFI_XSPIBOOT}"
+ ;;
+ esac
+
+ if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg}" ]; then
+ oe_runmake V=1 -C ${S} realclean
+ oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
+ cp -r ${S}/build/${PLATFORM}/release/bl2_${d}*.pbl ${S}
+ cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}
+ if [ "${BUILD_FUSE}" = "true" ]; then
+ cp -f ${S}/build/${PLATFORM}/release/fuse_fip.bin ${S}
+ fi
+
+ if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
+ oe_runmake V=1 -C ${S} realclean
+ oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
+ cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_qspi${secext}.pbl ${S}/bl2_${d}${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl
+ cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin
+ if [ "${BUILD_FUSE}" = "true" ]; then
+ cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
+ fi
+ fi
+ if [ -n "${uefiboot}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
+ oe_runmake V=1 -C ${S} realclean
+ oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
+ cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}/fip_uefi.bin
+ fi
+ fi
+ rcwimg=""
+ uefiboot=""
+ done
+}
+
+do_install() {
+ install -d ${D}/boot/atf
+ cp -r ${S}/srk.pri ${D}/boot/atf
+ cp -r ${S}/srk.pub ${D}/boot/atf
+ if [ "${BUILD_SECURE}" = "true" ]; then
+ secext="_sec"
+ fi
+ if [ -f "${S}/fip_uefi.bin" ]; then
+ cp -r ${S}/fip_uefi.bin ${D}/boot/atf/fip_uefi.bin
+ fi
+ if [ -f "${S}/fuse_fip.bin" ]; then
+ cp -r ${S}/fuse_fip.bin ${D}/boot/atf/fuse_fip.bin
+ fi
+ if [ -f "${S}/fip.bin" ]; then
+ cp -r ${S}/fip.bin ${D}/boot/atf/fip.bin
+ fi
+ for d in ${BOOTTYPE}; do
+ if [ -e ${S}/bl2_${d}${secext}.pbl ]; then
+ cp -r ${S}/bl2_${d}${secext}.pbl ${D}/boot/atf/bl2_${d}${secext}.pbl
+ fi
+ done
+ if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
+ cp -r ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fip_${PLATFORM_ADDITIONAL_TARGET}.bin
+ cp -r ${S}/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl ${D}/boot/atf/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl
+ if [ -f "${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin" ]; then
+ cp -r ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
+ fi
+ fi
+ chown -R root:root ${D}
+ if [ -f "${S}/fip_ddr_sec.bin" ]; then
+ cp -r ${S}/fip_ddr_sec.bin ${D}/boot/atf/fip_ddr_sec.bin
+ fi
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/atf
+ cp -r ${D}/boot/atf/srk.pri ${DEPLOYDIR}/atf
+ cp -r ${D}/boot/atf/srk.pub ${DEPLOYDIR}/atf
+ if [ "${BUILD_SECURE}" = "true" ]; then
+ secext="_sec"
+ fi
+
+ if [ -f "${S}/fuse_fip.bin" ]; then
+ cp -r ${D}/boot/atf/fuse_fip.bin ${DEPLOYDIR}/atf/fuse_fip${secext}.bin
+ fi
+
+ if [ -e ${D}/boot/atf/fip_uefi.bin ]; then
+ cp -r ${D}/boot/atf/fip_uefi.bin ${DEPLOYDIR}/atf/fip_uefi.bin
+ fi
+ cp -r ${D}/boot/atf/fip.bin ${DEPLOYDIR}/atf/fip_uboot${secext}.bin
+ for d in ${BOOTTYPE}; do
+ if [ -e ${D}/boot/atf/bl2_${d}${secext}.pbl ]; then
+ cp -r ${D}/boot/atf/bl2_${d}${secext}.pbl ${DEPLOYDIR}/atf/bl2_${d}${secext}.pbl
+ fi
+ done
+ if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
+ cp -r ${S}/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl ${DEPLOYDIR}/atf/
+ cp -r ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${DEPLOYDIR}/atf/fip_uboot${secext}_${PLATFORM_ADDITIONAL_TARGET}.bin
+ if [ -f "${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin" ]; then
+ cp -r ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}${secext}.bin
+ fi
+ fi
+ if [ -f "${S}/fip_ddr_sec.bin" ]; then
+ cp -r ${D}/boot/atf/fip_ddr_sec.bin ${DEPLOYDIR}/atf/fip_ddr_sec.bin
+ fi
+}
+addtask deploy after do_install
+FILES_${PN} += "/boot"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess.bb b/bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess.bb
deleted file mode 100644
index 570ee3f6..00000000
--- a/bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "provides the tcl script for endian swap"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-SRC_URI = "file://byte_swap.tcl"
-
-S = "${WORKDIR}"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install () {
- install -d ${D}/${bindir}
- install -m 755 ${WORKDIR}/byte_swap.tcl ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "tcl"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl b/bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
deleted file mode 100755
index c6222022..00000000
--- a/bsp/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
+++ /dev/null
@@ -1,40 +0,0 @@
-puts $argv
-set i_file [lindex $argv 0]
-set o_file [lindex $argv 1]
-set num_b [lindex $argv 2]
-puts ""
-
-set fileid_i [open $i_file "r"]
-set fileid_o [open $o_file "w+"]
-fconfigure $fileid_i -translation {binary binary}
-fconfigure $fileid_o -translation {binary binary}
-
-set old_bin [read $fileid_i]
-set new_bin {}
-set old_length [string length $old_bin]
-set old_rem [expr $old_length % $num_b]
-if {$old_rem != 0} {
- for {set i 0} {$i< [expr $num_b - $old_rem]} {incr i 1} {
- append old_bin y
- }
-}
-for {set i 0} {$i<[expr $old_length-8]} {incr i $num_b} {
- for {set j $num_b} {$j>0} {incr j -1} {
- append new_bin [string index $old_bin [expr $i+($j-1)]]
- }
-}
-
-for {set j 0} {$j<8} {incr j 1} {
- append new_bin [string index $old_bin [expr $i+$j]]
-}
-
-for {set i 0} {$i<[string length $old_bin]} {incr i $num_b} {
- set binValue [string range $old_bin [expr $i+0] [expr $i+($num_b-1)]]
- binary scan $binValue H[expr $num_b*2] hexValue
-
- set binValue [string range $new_bin [expr $i+0] [expr $i+($num_b-1)]]
- binary scan $binValue H[expr $num_b*2] hexValue
-}
-
-puts -nonewline $fileid_o $new_bin
-close $fileid_o
diff --git a/bsp/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb b/bsp/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb
index ebd68c26..31f6c101 100644
--- a/bsp/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb
@@ -2,23 +2,38 @@ SUMMARY = "DDR firmware repository"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=89cc852481956e861228286ac7430d74"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;fsl-eula=true;nobranch=1"
-SRCREV = "14d03e6e748ed5ebb9440f264bb374f1280b061c"
+SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1"
+SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
S = "${WORKDIR}/git"
REGLEX_lx2160a = "lx2160a"
+DEPENDS += "atf-tools-native"
+
+do_compile() {
+ cd ${S}/${REGLEX}
+ fiptool create --ddr-immem-udimm-1d ddr4_pmu_train_imem.bin \
+ --ddr-immem-udimm-2d ddr4_2d_pmu_train_imem.bin \
+ --ddr-dmmem-udimm-1d ddr4_pmu_train_dmem.bin \
+ --ddr-dmmem-udimm-2d ddr4_2d_pmu_train_dmem.bin \
+ --ddr-immem-rdimm-1d ddr4_rdimm_pmu_train_imem.bin \
+ --ddr-immem-rdimm-2d ddr4_rdimm2d_pmu_train_imem.bin \
+ --ddr-dmmem-rdimm-1d ddr4_rdimm_pmu_train_dmem.bin \
+ --ddr-dmmem-rdimm-2d ddr4_rdimm2d_pmu_train_dmem.bin \
+ fip_ddr_all.bin
+}
+
do_install () {
install -d ${D}/boot
- install -m 755 ${S}/${REGLEX}/* ${D}/boot
+ install -m 755 ${S}/${REGLEX}/*.bin ${D}/boot
}
do_deploy () {
install -d ${DEPLOYDIR}/ddr-phy
- install -m 755 ${S}/${REGLEX}/* ${DEPLOYDIR}/ddr-phy
+ install -m 755 ${S}/${REGLEX}/*.bin ${DEPLOYDIR}/ddr-phy
}
addtask deploy before do_populate_sysroot after do_install
diff --git a/bsp/meta-freescale/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb b/bsp/meta-freescale/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb
new file mode 100644
index 00000000..e8db5456
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb
@@ -0,0 +1,30 @@
+SUMMARY = "DP firmware"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
+
+inherit deploy fsl-eula-unpack
+
+SRC_URI = "https://www.nxp.com/lgfiles/sdk/lsdk2004/firmware-cadence-lsdk2004.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "d7eb8ef87cae8e4a205c266b3ac6f330"
+SRC_URI[sha256sum] = "bef89a3eceed95e90748a2301d6f6ffbdf1a72237c0045093cb9485b05eb8fbd"
+
+S = "${WORKDIR}/firmware-cadence-lsdk2004"
+
+do_install () {
+ install -d ${D}/boot
+ cp -fr ${S}/dp/*.bin ${D}/boot
+}
+
+do_deploy () {
+ install -d ${DEPLOYDIR}/dp
+ cp -fr ${S}/dp/*.bin ${DEPLOYDIR}/dp
+}
+addtask deploy before do_build after do_install
+
+PACKAGES += "${PN}-image"
+FILES_${PN}-image += "/boot"
+
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-7.8.inc b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8.5.inc
index 6da6736c..ae6b1d78 100644
--- a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-7.8.inc
+++ b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8.5.inc
@@ -1,17 +1,17 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
+# Copyright 2017-2019 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6c12031a11b81db21cdfe0be88cac4b3"
SRCBRANCH ?= "master"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "0967aa59b3fd8d80fcb98146a9aac91b"
-SRC_URI[sha256sum] = "910fbf866f61185adfd60c1704b2da41030cb175901d06e40402b49f9240bdee"
+SRC_URI[md5sum] = "a6b926d087e1e642580da8a6d982abe6"
+SRC_URI[sha256sum] = "45b0a7392e7a4b2e6c7e1cb988dd660ff3f8cd465afdf796ff840a00db08389d"
S = "${WORKDIR}/firmware-imx-${PV}"
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8_7.8.bb b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8_8.5.bb
index d99aa41b..64fa2885 100644
--- a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8_7.8.bb
+++ b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8_8.5.bb
@@ -13,8 +13,6 @@ do_deploy() {
install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
- # SECO
- install -m 0644 ${S}/firmware/seco/mx8qm-ahab-container.img ${DEPLOYDIR}
}
addtask deploy after do_install before do_build
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8m_7.8.bb b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8m_8.5.bb
index a605d226..a605d226 100644
--- a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8m_7.8.bb
+++ b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8m_8.5.bb
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8x_7.8.bb b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8x_7.8.bb
deleted file mode 100644
index 85d394a0..00000000
--- a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx-8x_7.8.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 NXP
-SUMMARY = "Freescale i.MX firmware for 8X family"
-DESCRIPTION = "Freescale i.MX firmware for 8X family"
-
-require firmware-imx-${PV}.inc
-
-inherit deploy
-
-do_install[noexec] = "1"
-
-do_deploy() {
- # SECO
- install -m 0644 ${S}/firmware/seco/mx8qx-ahab-container.img ${DEPLOYDIR}
-}
-
-addtask deploy after do_install before do_build
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-
-COMPATIBLE_MACHINE = "(mx8x)"
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx_7.8.bb b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx_8.5.bb
index bf0fbc3f..ff623057 100644
--- a/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx_7.8.bb
+++ b/bsp/meta-freescale/recipes-bsp/firmware-imx/firmware-imx_8.5.bb
@@ -1,5 +1,5 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
+# Copyright 2017-2019 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SUMMARY = "Freescale i.MX firmware"
DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
@@ -17,12 +17,13 @@ inherit allarch
do_install() {
install -d ${D}${base_libdir}/firmware/imx
- install -d ${D}${base_libdir}/firmware/bcm
- install -d ${D}${sysconfdir}/firmware
cd firmware
for d in *; do
case $d in
+ easrc)
+ # excluding as only applies Nano SoC
+ ;;
ddr|hdmi|seco)
# These folders are for i.MX 8 and are included in the boot image via imx-boot
bbnote Excluding folder $d
@@ -34,39 +35,6 @@ do_install() {
done
cd -
- #1BW_BCM43340
- install -d ${D}${base_libdir}/firmware/bcm/1BW_BCM43340
- cp -rfv git/brcm/1BW_BCM43340/*.bin ${D}${base_libdir}/firmware/bcm/1BW_BCM43340
- cp -rfv git/brcm/1BW_BCM43340/*.cal ${D}${base_libdir}/firmware/bcm/1BW_BCM43340
- cp -rfv git/brcm/1BW_BCM43340/*.hcd ${D}${sysconfdir}/firmware/
-
- #1CX_BCM4356
- install -d ${D}${base_libdir}/firmware/bcm/1CX_BCM4356
- cp -rfv git/brcm/1CX_BCM4356/fw_bcmdhd.bin ${D}${base_libdir}/firmware/bcm/1CX_BCM4356
-
- #1DX_BCM4343W
- install -d ${D}${base_libdir}/firmware/bcm/1DX_BCM4343W
- cp -rfv git/brcm/1DX_BCM4343W/*.bin ${D}${base_libdir}/firmware/bcm/1DX_BCM4343W
- cp -rfv git/brcm/1DX_BCM4343W/*.cal ${D}${base_libdir}/firmware/bcm/1DX_BCM4343W
- cp -rfv git/brcm/1DX_BCM4343W/*.hcd ${D}${sysconfdir}/firmware/
-
- #1FD_BCM89359
- install -d ${D}${base_libdir}/firmware/bcm/1FD_BCM89359
- cp -rfv git/brcm/1FD_BCM89359/*.bin ${D}${base_libdir}/firmware/bcm/1FD_BCM89359
- cp -rfv git/brcm/1FD_BCM89359/*.hcd ${D}${sysconfdir}/firmware/
-
- #SN8000_BCM43362
- install -d ${D}${base_libdir}/firmware/bcm/SN8000_BCM43362
- cp -rfv git/brcm/SN8000_BCM43362/*.bin ${D}${base_libdir}/firmware/bcm/SN8000_BCM43362
- cp -rfv git/brcm/SN8000_BCM43362/*.cal ${D}${base_libdir}/firmware/bcm/SN8000_BCM43362
- cp -rfv git/brcm/1DX_BCM4343W/*.hcd ${D}${sysconfdir}/firmware/
-
- #ZP_BCM4339
- install -d ${D}${base_libdir}/firmware/bcm/ZP_BCM4339
- cp -rfv git/brcm/ZP_BCM4339/*.bin ${D}${base_libdir}/firmware/bcm/ZP_BCM4339
- cp -rfv git/brcm/ZP_BCM4339/*.cal ${D}${base_libdir}/firmware/bcm/ZP_BCM4339
- cp -rfv git/brcm/ZP_BCM4339/*.hcd ${D}${sysconfdir}/firmware/
-
mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/
mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
@@ -74,6 +42,8 @@ do_install() {
find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';'
# Remove files not going to be installed
+ rm ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin
+ rm ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin
find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';'
}
@@ -97,10 +67,10 @@ ALLOW_EMPTY_${PN} = "1"
PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
-PACKAGES =+ "${PN}-epdc ${PN}-brcm ${PN}-scfw"
+PACKAGES =+ "${PN}-epdc ${PN}-scfw ${PN}-sdma"
FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/"
-FILES_${PN}-brcm = "${base_libdir}/firmware/bcm/*/*.bin ${base_libdir}/firmware/bcm/*/*.cal ${sysconfdir}/firmware/"
FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/"
+FILES_${PN}-sdma = " ${base_libdir}/firmware/imx/sdma"
-COMPATIBLE_MACHINE = "(imx)"
+COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca.inc b/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca.inc
new file mode 100644
index 00000000..bafd0ea8
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca.inc
@@ -0,0 +1,15 @@
+# Copyright 2018-2019 NXP
+
+SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
+SECTION = "base"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6c12031a11b81db21cdfe0be88cac4b3 \
+ file://QUALCOMM_ATHEROS_LICENSE_AGREEMENT.pdf;md5=e629669cf17f6a2a6872e067582986e3 \
+"
+
+SRC_URI = " ${FSL_MIRROR}/firmware-qca-${PV}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "3569cb11300758635d2502322c5bf206"
+SRC_URI[sha256sum] = "ae75308d59390e926244ad2594248c3c835ee780e94e4a92ac536429cccd286b"
+S = "${WORKDIR}/firmware-qca-${PV}"
+
+inherit fsl-eula-unpack
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca6174_3.0.1.bb b/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca6174_3.0.1.bb
new file mode 100644
index 00000000..fd0e24f0
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca6174_3.0.1.bb
@@ -0,0 +1,27 @@
+# Copyright 2019 NXP
+
+require firmware-qca.inc
+
+SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
+DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth firmware for modules such as QCA6174A"
+SECTION = "base"
+LICENSE = "Proprietary"
+
+inherit allarch
+
+do_install () {
+ # Install firmware.conf for QCA modules
+ install -d ${D}${sysconfdir}/bluetooth
+ install -m 644 ${S}/1CQ_QCA6174A_LEA_2.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
+
+ # Install firmware files
+ install -d ${D}${base_libdir}
+ cp -r ${S}/1CQ_QCA6174A_LEA_2.0/lib/firmware ${D}${base_libdir}
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/bluetooth/firmware.conf \
+ ${base_libdir}/firmware/qca6174 \
+ ${base_libdir}/firmware/wlan \
+ ${base_libdir}/firmware/* \
+"
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca9377_3.0.1.bb b/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca9377_3.0.1.bb
new file mode 100644
index 00000000..a1d6b0f1
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/firmware-qca/firmware-qca9377_3.0.1.bb
@@ -0,0 +1,27 @@
+# Copyright 2018-2019 NXP
+
+require firmware-qca.inc
+
+SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
+DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth firmware for modules such as QCA9377-3"
+SECTION = "base"
+LICENSE = "Proprietary"
+
+inherit allarch
+
+do_install () {
+ # Install firmware.conf for QCA modules
+ install -d ${D}${sysconfdir}/bluetooth
+ install -m 644 ${S}/1PJ_QCA9377-3_LEA_3.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
+
+ # Install firmware files
+ install -d ${D}${base_libdir}
+ cp -r ${S}/1PJ_QCA9377-3_LEA_3.0/lib/firmware ${D}${base_libdir}
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/bluetooth/firmware.conf \
+ ${base_libdir}/firmware/qca \
+ ${base_libdir}/firmware/qca9377 \
+ ${base_libdir}/firmware/wlan \
+"
diff --git a/bsp/meta-freescale/recipes-bsp/firmware-qca/qca-tools_3.0.1.bb b/bsp/meta-freescale/recipes-bsp/firmware-qca/qca-tools_3.0.1.bb
new file mode 100644
index 00000000..b7bf0dff
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/firmware-qca/qca-tools_3.0.1.bb
@@ -0,0 +1,20 @@
+# Copyright 2018 NXP
+
+require firmware-qca.inc
+
+SUMMARY = "Qualcomm Wi-Fi and Bluetooth tools"
+DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth tools for modules such as QCA6174A and QCA9377"
+LICENSE = "Proprietary"
+
+DEPENDS = "libnl zlib"
+
+FCC_TOOLS_FOLDER ?= "qca9377_qca6174_arm32"
+FCC_TOOLS_FOLDER_aarch64 = "qca9377_qca6174_arm64"
+
+do_install() {
+ install -d ${D}${sbindir}/fcc_tools
+ cp -r ${S}/fcc_tools/${FCC_TOOLS_FOLDER} ${D}${sbindir}/fcc_tools
+}
+
+COMPATIBLE_HOST = '(aarch64|arm).*-linux'
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/bsp/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb b/bsp/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
index 131bda55..60598ae5 100644
--- a/bsp/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
+++ b/bsp/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
@@ -5,7 +5,7 @@ and configuration files."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
-SRC_URI = "git://git.freescale.com/ppc/sdk/fsl-tlu.git;branch=master"
+SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1"
SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354"
S = "${WORKDIR}/git"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-atf/imx-atf_1.5.0.bb b/bsp/meta-freescale/recipes-bsp/imx-atf/imx-atf_2.0.bb
index 9d402dba..33ed6c62 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-atf/imx-atf_1.5.0.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-atf/imx-atf_2.0.bb
@@ -1,17 +1,17 @@
-# Copyright 2017-2018 NXP
+# Copyright (C) 2017-2019 NXP
DESCRIPTION = "i.MX ARM Trusted Firmware"
SECTION = "BSP"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-PV = "1.5.0+git${SRCPV}"
+PV .= "+git${SRCPV}"
-SRCBRANCH = "imx_4.9.123_imx8mm_ga"
+SRCBRANCH = "lf-5.4.y"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
"
-SRCREV = "af3554fc6ea8c17710ffd37a14a25834fad19271"
+SRCREV = "7b3389d49815f1e3f7942bd312a27ee665bd2e33"
S = "${WORKDIR}/git"
@@ -21,25 +21,35 @@ BOOT_TOOLS = "imx-boot-tools"
PLATFORM ?= "INVALID"
PLATFORM_mx8qm = "imx8qm"
-PLATFORM_mx8qxp = "imx8qxp"
+PLATFORM_mx8qxp = "imx8qx"
PLATFORM_mx8mq = "imx8mq"
PLATFORM_mx8mm = "imx8mm"
+PLATFORM_mx8mn = "imx8mn"
EXTRA_OEMAKE += " \
CROSS_COMPILE="${TARGET_PREFIX}" \
PLAT=${PLATFORM} \
"
+BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
+
do_compile() {
# Clear LDFLAGS to avoid the option -Wl recognize issue
unset LDFLAGS
oe_runmake bl31
+ if ${BUILD_OPTEE}; then
+ oe_runmake clean BUILD_BASE=build-optee
+ oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
+ fi
}
do_install[noexec] = "1"
do_deploy() {
install -Dm 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}.bin
+ if ${BUILD_OPTEE}; then
+ install -m 0644 ${S}/build-optee/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}.bin-optee
+ fi
}
addtask deploy after do_compile
diff --git a/bsp/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb b/bsp/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb
index 60fcc25d..b104fafd 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb
@@ -1,5 +1,5 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
+# Copyright (C) 2017-2019 NXP
# Copyright 2018 (C) O.S. Systems Software LTDA.
SUMMARY = "Nand boot write source"
@@ -9,11 +9,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
PV = "5.5+git${SRCPV}"
SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https \
- file://0001-Add-missing-includes-as-pointed-out-by-musl.patch \
"
-SRCREV = "a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b"
+SRCREV = "cee66d0e956a64d03cc866fa8819da5b798c7f1b"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-COMPATIBLE_MACHINE = "(imx)"
+COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb b/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
index 32d5aa28..0f13a08b 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
@@ -1,4 +1,4 @@
-# Copyright 2017-2018 NXP
+# Copyright 2017-2019 NXP
require imx-mkimage_git.inc
@@ -7,14 +7,15 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
-IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware"
+IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware imx-seco"
IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m"
-IMX_EXTRA_FIRMWARE_mx8x = "firmware-imx-8x imx-sc-firmware"
+IMX_EXTRA_FIRMWARE_mx8x = "imx-sc-firmware imx-seco"
DEPENDS += " \
- u-boot \
firmware-imx \
${IMX_EXTRA_FIRMWARE} \
imx-atf \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
+ u-boot-mkimage-native \
"
DEPENDS_append_mx8m = " dtc-native"
BOOT_NAME = "imx-boot"
@@ -31,20 +32,18 @@ do_compile[depends] += " \
virtual/bootloader:do_deploy \
${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
imx-atf:do_deploy \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
"
SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
ATF_MACHINE_NAME ?= "bl31-imx8qm.bin"
ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin"
-ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qxp.bin"
+ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qx.bin"
ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin"
ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin"
-ATF_MACHINE_NAME_append = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '-optee', '', d)}"
-
-DCD_NAME ?= "imx8qm_dcd.cfg.tmp"
-DCD_NAME_mx8qm = "imx8qm_dcd.cfg.tmp"
-DCD_NAME_mx8qxp = "imx8qx_dcd.cfg.tmp"
+ATF_MACHINE_NAME_mx8mn = "bl31-imx8mn.bin"
+ATF_MACHINE_NAME_append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
UBOOT_NAME = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
BOOT_CONFIG_MACHINE = "${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG}.bin"
@@ -56,22 +55,18 @@ SOC_TARGET_mx8qm = "iMX8QM"
SOC_TARGET_mx8qxp = "iMX8QX"
SOC_TARGET_mx8mq = "iMX8M"
SOC_TARGET_mx8mm = "iMX8MM"
+SOC_TARGET_mx8mn = "iMX8MN"
+
+DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
IMXBOOT_TARGETS ?= \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
'flash flash_dcd', d), d)}"
-IMXBOOT_TARGETS_mx8qxp = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
- bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
- 'flash', d), d)}"
-IMXBOOT_TARGETS_mx8qxpa0 = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi_a0', \
- bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand_a0', \
- 'flash_a0 flash_dcd_a0', d), d)}"
BOOT_STAGING = "${S}/${SOC_TARGET}"
BOOT_STAGING_mx8mm = "${S}/iMX8M"
+BOOT_STAGING_mx8mn = "${S}/iMX8M"
SOC_FAMILY = "INVALID"
SOC_FAMILY_mx8 = "mx8"
@@ -79,16 +74,19 @@ SOC_FAMILY_mx8m = "mx8m"
SOC_FAMILY_mx8x = "mx8x"
compile_mx8m() {
- bbnote 8MQ/8MM boot binary build
+ bbnote 8MQ/8MM/8MN boot binary build
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
done
- cp ${DEPLOY_DIR_IMAGE}/signed_*_imx8m.bin ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${BOOT_STAGING}/u-boot-spl.bin
+ cp ${DEPLOY_DIR_IMAGE}/signed_dp_imx8m.bin ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${BOOT_STAGING}/u-boot-spl.bin
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/mkimage_uboot ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${BOOT_STAGING}/u-boot-nodtb.bin
+ cp ${STAGING_DIR_NATIVE}/${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
}
@@ -107,8 +105,13 @@ compile_mx8x() {
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
}
do_compile() {
+ # mkimage_uboot requires libssl.so.1.1 from ${STAGING_LIBDIR_NATIVE}
+ export LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE}:$LD_LIBRARY_PATH
compile_${SOC_FAMILY}
# mkimage for i.MX8
+ if ${DEPLOY_OPTEE}; then
+ cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
+ fi
for target in ${IMXBOOT_TARGETS}; do
bbnote "building ${SOC_TARGET} - ${target}"
make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${target}
@@ -127,34 +130,38 @@ do_install () {
deploy_mx8m() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
done
- install -m 0644 ${DEPLOY_DIR_IMAGE}/signed_hdmi*.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
}
deploy_mx8() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${BOOT_STAGING}/${DCD_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${BOOT_STAGING}/mx8qm-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
}
deploy_mx8x() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- if [ "${MACHINE}" = "imx8qxpa0mek" ]; then
- install -m 0644 ${BOOT_STAGING}/${DCD_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
- fi
install -m 0644 ${BOOT_STAGING}/mx8qx-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
}
do_deploy() {
deploy_${SOC_FAMILY}
# copy the tool mkimage to deploy path and sc fw, dcd and uboot
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+
+ # copy tee.bin to deploy path
+ if ${DEPLOY_OPTEE}; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+
# copy makefile (soc.mak) for reference
- install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
# copy the generated boot image to deploy path
for target in ${IMXBOOT_TARGETS}; do
# Use first "target" as IMAGE_IMXBOOT_TARGET
diff --git a/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index a8cd930b..6e417722 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -1,10 +1,10 @@
-# Copyright 2017-2018 NXP
+# Copyright 2017-2019 NXP
DEPENDS = "zlib-native openssl-native"
-SRCBRANCH = "imx_4.9.123_imx8mm_ga"
+SRCBRANCH = "lf-5.4.y"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "9e289f314eddb9d38cab73780b936acb30bb88b4"
+SRCREV = "1c2277b95ce59f5d0265f26fec522e2ac2581e59"
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-sc-firmware/imx-sc-firmware_0.9.bb b/bsp/meta-freescale/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.2.7.1.bb
index 329d4dc1..3bf7024c 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-sc-firmware/imx-sc-firmware_0.9.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.2.7.1.bb
@@ -1,17 +1,17 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
+# Copyright (C) 2017-2019 NXP
DESCRIPTION = "i.MX System Controller Firmware"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6c12031a11b81db21cdfe0be88cac4b3"
SECTION = "BSP"
inherit fsl-eula-unpack deploy
-SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "3246a44a242b68fae601561a80d5925c"
-SRC_URI[sha256sum] = "00024e0dd332b402df03b62eac9a515fabc903568d0ad7f30fabc7c98b494f15"
+SRC_URI[md5sum] = "b9d81d0c4cb7871e62dfe7b26d203240"
+SRC_URI[sha256sum] = "5a28180217975f3d78fcfac15e46b0a942910fadf078e4af76deb6dc498136ed"
BOARD_TYPE ?= "mek"
SC_FIRMWARE_NAME ?= "mx8qm-mek-scfw-tcm.bin"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-seco/imx-seco_2.3.1.bb b/bsp/meta-freescale/recipes-bsp/imx-seco/imx-seco_2.3.1.bb
new file mode 100644
index 00000000..b86ea0b6
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/imx-seco/imx-seco_2.3.1.bb
@@ -0,0 +1,30 @@
+# Copyright 2019 NXP
+
+SUMMARY = "NXP i.MX SECO firmware"
+DESCRIPTION = "NXP IMX SECO firmware"
+SECTION = "base"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44"
+
+inherit fsl-eula-unpack deploy
+
+SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true "
+
+SRC_URI[md5sum] = "cf8d6bbf93f0aa6e1049f1098a0f7e0f"
+SRC_URI[sha256sum] = "b429ac58b2ea1771b3fdf7ae87bf1d37ccaf596bde01a5ecccae27b2145f6824"
+
+do_compile[noexec] = "1"
+
+do_install[noexec] = "1"
+
+SECO_FIRMWARE_NAME ?= "mx8qm-ahab-container.img"
+SECO_FIRMWARE_NAME_mx8qm = "mx8qm-ahab-container.img"
+SECO_FIRMWARE_NAME_mx8x = "mx8qx-ahab-container.img"
+
+addtask deploy after do_install
+do_deploy () {
+ # Deploy i.MX8 SECO firmware files
+ install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
+}
+
+COMPATIBLE_MACHINE = "(mx8qm|mx8x)"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-mxc_v4l2_test-fix-compilation-error-produced-by-gcc9.patch b/bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-mxc_v4l2_test-fix-compilation-error-produced-by-gcc9.patch
new file mode 100644
index 00000000..3fb9d4ef
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-mxc_v4l2_test-fix-compilation-error-produced-by-gcc9.patch
@@ -0,0 +1,39 @@
+From d2e35983281a811b38e540ab82e7643322e84aab Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
+Date: Wed, 4 Dec 2019 14:17:50 +0000
+Subject: [PATCH] mxc_v4l2_test: fix compilation error produced by gcc9
+
+Fix trivial compilation error when GCC9 is used:
+
+error: call to '__open_missing_mode' declared with attribute error: open
+with O_CREAT or O_TMPFILE in second argument needs 3 arguments
+
+This is now caused by not explicitly supplying the mode when O_CREAT is
+used as disposition.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
+---
+ test/mxc_v4l2_test/mx8_v4l2_cap_drm.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/test/mxc_v4l2_test/mx8_v4l2_cap_drm.c b/test/mxc_v4l2_test/mx8_v4l2_cap_drm.c
+index 6e10744..d63b2db 100644
+--- a/test/mxc_v4l2_test/mx8_v4l2_cap_drm.c
++++ b/test/mxc_v4l2_test/mx8_v4l2_cap_drm.c
+@@ -561,11 +561,7 @@ static int open_save_file(struct video_channel *video_ch)
+
+ for (i = 0; i < NUM_SENSORS; i++) {
+ if ((g_cam >> i) & 0x01) {
+-#ifdef BUILD_FOR_ANDROID
+ fd = open(video_ch[i].save_file_name, O_RDWR | O_CREAT, 0660);
+-#else
+- fd = open(video_ch[i].save_file_name, O_RDWR | O_CREAT);
+-#endif
+ if (fd < 0) {
+ v4l2_err("Channel[%d] unable to create recording file\n", i);
+ while (i)
+--
+2.17.1
+
diff --git a/bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-test-Makefile-Add-include-path-to-CC-command.patch b/bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-test-Makefile-Add-include-path-to-CC-command.patch
deleted file mode 100644
index 8387a17c..00000000
--- a/bsp/meta-freescale/recipes-bsp/imx-test/imx-test/0001-test-Makefile-Add-include-path-to-CC-command.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d289d905c64882c58e3b99f74f68e72f9100115e Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Tue, 12 Jun 2018 14:58:40 -0300
-Subject: [PATCH] test/Makefile: Add include path to CC command
-Organization: O.S. Systems Software LTDA.
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- test/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/Makefile b/test/Makefile
-index f1cfa2a..4f14d2c 100644
---- a/test/Makefile
-+++ b/test/Makefile
-@@ -12,7 +12,7 @@ ALL_OBJS :=
-
- %.o: %.c
- @echo " CC $@"
-- $(Q)$(CC) -c $(CFLAGS) $< -o $@
-+ $(Q)$(CC) -c $(CFLAGS) $(INC) $< -o $@
-
-
- # This creates the build and copy rules for one executable. Because we
---
-2.17.1
-
diff --git a/bsp/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb b/bsp/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb
index bf55f7df..81bbd3a3 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb
@@ -1,6 +1,6 @@
-# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
+# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
+# Copyright (C) 2017-2019 NXP
SUMMARY = "Test programs for i.MX BSP"
DESCRIPTION = "Unit tests for the i.MX BSP"
@@ -16,13 +16,13 @@ DEPENDS_append_imxvpu = " virtual/imxvpu"
PE = "1"
PV = "7.0+${SRCPV}"
-SRCBRANCH = "imx_4.9.123_imx8mm_ga"
+SRCBRANCH = "lf-5.4.y"
SRC_URI = " \
git://source.codeaurora.org/external/imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-test-Makefile-Add-include-path-to-CC-command.patch \
+ file://0001-mxc_v4l2_test-fix-compilation-error-produced-by-gcc9.patch \
file://memtool_profile \
"
-SRCREV = "2cc785f94e5ee8782083d941e6aef24952cc2a38"
+SRCREV = "6d20e84f2dbe5940fe6d629c2839e1390994ee1f"
S = "${WORKDIR}/git"
inherit module-base use-imx-headers
@@ -30,15 +30,15 @@ inherit module-base use-imx-headers
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-PLATFORM_mx6q = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6SL"
+PLATFORM_mx6q = "IMX6Q"
+PLATFORM_mx6dl = "IMX6Q"
+PLATFORM_mx6sl = "IMX6SL"
PLATFORM_mx6sll = "IMX6SL"
-PLATFORM_mx6sx = "IMX6SX"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx7d = "IMX7D"
+PLATFORM_mx6sx = "IMX6SX"
+PLATFORM_mx6ul = "IMX6UL"
+PLATFORM_mx7d = "IMX7D"
PLATFORM_mx7ulp = "IMX7D"
-PLATFORM_mx8 = "IMX8"
+PLATFORM_mx8 = "IMX8"
PARALLEL_MAKE = "-j 1"
EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
@@ -49,9 +49,6 @@ PACKAGECONFIG_append_imxvpu = " vpu"
PACKAGECONFIG[x11] = ",,libx11 libxdamage libxrender libxrandr"
PACKAGECONFIG[vpu] = "HAS_VPU=true,HAS_VPU=false,virtual/imxvpu"
-# FIXME: NXP should fix the possible string flaws from their code.
-SECURITY_STRINGFORMAT = ""
-
do_compile() {
CFLAGS="${TOOLCHAIN_OPTIONS}"
oe_runmake V=1 VERBOSE='' \
@@ -82,5 +79,3 @@ FILES_${PN} += "/unit_tests /home/root/.profile"
RDEPENDS_${PN} = "bash"
FILES_${PN}-dbg += "/unit_tests/.debug"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb b/bsp/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb
index ddc55db3..9fe9614a 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -1,20 +1,21 @@
# Copyright (C) 2016 Freescale Semiconductor
-
-SUMMARY = "A Daemon wait for Freescale/NXP mfgtools host's command"
+# Copyright (C) 2017-2019 NXP
+SUMMARY = "A Daemon wait for NXP mfgtools host's command"
SECTION = "base"
-DEPENDS = "dosfstools-native"
+DEPENDS = "virtual/kernel dosfstools-native"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit autotools-brokensep
+PR = "r1"
PV = "0.5.1+git${SRCPV}"
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https"
-SRCREV = "e3fbdfef978abd150d9ea71c4d174daded9c8d33"
+SRCREV = "ebb7d34853133d92eff9766e370ea21e6d6d8f2b"
S = "${WORKDIR}/git"
FILES_${PN} += "/linuxrc /fat"
-COMPATIBLE_MACHINE = "(imx)"
+COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
diff --git a/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-Get-i.MX-custom-headers-from-usr-include-imx.patch b/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-Get-i.MX-custom-headers-from-usr-include-imx.patch
deleted file mode 100644
index a41641df..00000000
--- a/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-Get-i.MX-custom-headers-from-usr-include-imx.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a277191d6e7d775b1c081f8b25734f6f962ade14 Mon Sep 17 00:00:00 2001
-From: Tom Hochstein <tom.hochstein@nxp.com>
-Date: Thu, 4 Oct 2018 10:34:00 -0500
-Subject: [PATCH] Get i.MX custom headers from /usr/include/imx
-
-Upstream-Status: Pending
-
-Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
----
- Makefile_G1G2 | 5 ++---
- Makefile_H1 | 3 +--
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile_G1G2 b/Makefile_G1G2
-index caab40f..5b55a8b 100755
---- a/Makefile_G1G2
-+++ b/Makefile_G1G2
-@@ -6,12 +6,11 @@ SOURCE_ROOT = decoder_sw/software
- OMX_ROOT = openmax_il
-
- INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/source/hevc \
-- -I$(SOURCE_ROOT)/source/config -I$(SOURCE_ROOT)/source/dwl -I$(SOURCE_ROOT)/source/common -I$(SOURCE_ROOT)/source/vp9 \
-- -I$(SDKTARGETSYSROOT)/usr/imx/include
-+ -I$(SOURCE_ROOT)/source/config -I$(SOURCE_ROOT)/source/dwl -I$(SOURCE_ROOT)/source/common -I$(SOURCE_ROOT)/source/vp9
-
- INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc
- #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver
--INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
-+INCLUDE_HEADERS += -I$(SDKTARGETSYSROOT)/usr/include/imx
-
- CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \
- -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \
-diff --git a/Makefile_H1 b/Makefile_H1
-index 9ca1aa9..237f53a 100755
---- a/Makefile_H1
-+++ b/Makefile_H1
-@@ -17,8 +17,7 @@ ENV += -DMEMALLOC_MODULE_PATH=\\\"/dev/ion\\\"
- #ENV += -DSDRAM_LM_BASE=0x00000000
- ENV += -DEWL_NO_HW_TIMEOUT
- ENV += -DUSE_ION
--ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
--ENV += -I$(SDKTARGETSYSROOT)/usr/imx/include
-+ENV += -I$(SDKTARGETSYSROOT)/usr/include/imx
-
- LIBENCNAME = libcodec_enc
- LIBSENC = -L./ -lhantro_h1 -lpthread
---
-2.7.4
-
diff --git a/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.8.0.bb b/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.16.0.bb
index a330c7b0..67dbc8da 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.8.0.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.16.0.bb
@@ -2,16 +2,15 @@
DESCRIPTION = "i.MX Hantro VPU library"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d"
PROVIDES = "virtual/imxvpu"
SRC_URI = " \
- ${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
- file://0001-Get-i.MX-custom-headers-from-usr-include-imx.patch \
+ ${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "140796ddd6f1be47cffb7e5e2bfe0fb6"
-SRC_URI[sha256sum] = "c092a5b0f8897bae54154f58e47b6d2de033da01ee231a8cd779a51bbe962606"
+SRC_URI[md5sum] = "79ca586c67ea9b007fa772df8959c852"
+SRC_URI[sha256sum] = "1f373f5d9a37754f7936f9bf4b134b65afe98459c0383b63c50c1f6ecba49e25"
inherit fsl-eula-unpack use-imx-headers
diff --git a/bsp/meta-freescale/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb b/bsp/meta-freescale/recipes-bsp/imx-vpu/imx-vpu_5.4.39.2.bb
index 185bb3d1..43377b1e 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-vpu/imx-vpu_5.4.39.2.bb
@@ -4,16 +4,16 @@
DESCRIPTION = "Freescale Chips&Media VPU library"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6c12031a11b81db21cdfe0be88cac4b3"
PROVIDES = "virtual/imxvpu"
PE = "1"
-SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "521d5f839829f8d1f2a6a0e60270243e"
-SRC_URI[sha256sum] = "34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f"
+SRC_URI[md5sum] = "fb11619e07dafbc46a335c7db4c9b9a2"
+SRC_URI[sha256sum] = "604885463ca7d292ddf376795ee95ae32abcc60512a3378e016b173222362900"
inherit fsl-eula-unpack use-imx-headers
diff --git a/bsp/meta-freescale/recipes-bsp/inphi/inphi_git.bb b/bsp/meta-freescale/recipes-bsp/inphi/inphi_git.bb
index c0c8a776..3f3c5f28 100644
--- a/bsp/meta-freescale/recipes-bsp/inphi/inphi_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/inphi/inphi_git.bb
@@ -2,9 +2,9 @@ SUMMARY = "Firmwares and Standalone Applications"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;fsl-eula=true;nobranch=1"
+SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1"
SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695"
S = "${WORKDIR}/git"
diff --git a/bsp/meta-freescale/recipes-bsp/libimxdmabuffer/files/run-ptest b/bsp/meta-freescale/recipes-bsp/libimxdmabuffer/files/run-ptest
new file mode 100644
index 00000000..09f69a8d
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/libimxdmabuffer/files/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+./test-alloc >/dev/null 2>&1
+
+if [ $? -eq 0 ]; then
+ echo "PASS: test-alloc"
+else
+ echo "FAIL: test-alloc"
+fi
+
diff --git a/bsp/meta-freescale/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb b/bsp/meta-freescale/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
new file mode 100644
index 00000000..9b918f2c
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
+ ("DMA memory" or "DMA buffers") on i.MX devices.'
+HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
+SECTION = "base"
+
+PV .= "+git${SRCPV}"
+
+SRCBRANCH ?= "master"
+SRCREV = "d2058aa404ee1e8e8abd552c6a637787bcdcf514"
+SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH} \
+ file://run-ptest \
+ "
+
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig waf use-imx-headers ptest
+
+EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
+ --libdir=${libdir} \
+ ${PACKAGECONFIG_CONFARGS}"
+
+PACKAGECONFIG ?= " "
+PACKAGECONFIG_append_imxgpu2d = " g2d"
+PACKAGECONFIG_append_imxipu = " ipu"
+PACKAGECONFIG_append_imxpxp = " pxp"
+PACKAGECONFIG_append_mx8m = " dwl ion"
+
+HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
+
+PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF},--with-dwl-allocator=no,imx-vpu-hantro"
+PACKAGECONFIG[ion] = "--with-ion-allocator=yes, --with-ion-allocator=no,"
+PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes, --with-ipu-allocator=no,"
+PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes, --with-g2d-allocator=no,virtual/libg2d"
+PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes, --with-pxp-allocator=no,"
+
+# Using do_install_ptest_base instead of do_install_ptest, since
+# the default do_install_ptest_base is hardcoded to expect Makefiles.
+do_install_ptest_base() {
+ install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
+ install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
+}
+
+COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/bsp/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb b/bsp/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb
index 18a63b13..a1c412be 100644
--- a/bsp/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -2,9 +2,9 @@ SUMMARY = "Firmwares and Standalone Applications"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;fsl-eula=true;nobranch=1"
+SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1"
SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf"
S = "${WORKDIR}/git"
@@ -23,6 +23,6 @@ addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
FILES_${PN}-image += "/boot"
-COMPATIBLE_MACHINE = "(ls2080ardb|ls2088ardb|t2080|t4240|lx2160a)"
+COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/bsp/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb b/bsp/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb
index 430d6cd8..31645061 100644
--- a/bsp/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -10,7 +10,7 @@ DEPENDS += "dtc-native"
inherit deploy
SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils;nobranch=1"
-SRCREV = "6aca560c630dc54afdef382c506f214b28f4985e"
+SRCREV = "8672a5f5abcd3a354dcab07e03f2a8a69b2e962d"
S = "${WORKDIR}/git"
@@ -19,24 +19,28 @@ MC_CFG_ls1088a = "ls1088a"
MC_CFG_ls2088a = "ls2088a"
MC_CFG_lx2160a = "lx2160a"
-do_install () {
+MC_FLAVOUR ?= "RDB"
+
+do_compile () {
oe_runmake -C config
+}
+do_install () {
install -d ${D}/boot/mc-utils
- cp -r ${S}/config/${MC_CFG}/RDB/*.dtb ${D}/boot/mc-utils
- if [ -d ${S}/config/${MC_CFG}/RDB/custom/ ]; then
- install -d ${D}/boot/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/RDB/custom/*.dtb ${D}/boot/mc-utils/custom
- fi
+ cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/*.dtb ${D}/boot/mc-utils
+ if [ -d ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/ ]; then
+ install -d ${D}/boot/mc-utils/custom
+ cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/*.dtb ${D}/boot/mc-utils/custom
+ fi
}
do_deploy () {
install -d ${DEPLOYDIR}/mc-utils
- cp -r ${S}/config/${MC_CFG}/RDB/*.dtb ${DEPLOYDIR}/mc-utils
- if [ -d ${S}/config/${MC_CFG}/RDB/custom/ ]; then
- install -d ${DEPLOYDIR}/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/RDB/custom/*.dtb ${DEPLOYDIR}/mc-utils/custom
- fi
+ cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/*.dtb ${DEPLOYDIR}/mc-utils
+ if [ -d ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/ ]; then
+ install -d ${DEPLOYDIR}/mc-utils/custom
+ cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/*.dtb ${DEPLOYDIR}/mc-utils/custom
+ fi
}
addtask deploy after do_install
diff --git a/bsp/meta-freescale/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb b/bsp/meta-freescale/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
index b94d88c4..fd53807f 100644
--- a/bsp/meta-freescale/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
@@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=92723670f432558b9e2494ed177d2
INHIBIT_DEFAULT_DEPS = "1"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;fsl-eula=true;nobranch=1"
-SRCREV = "58aa0cac630528ed91fe5639700d6b571c0c07b5"
+SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1"
+SRCREV = "d3a8ef0760c54ddc243039c86389497e37be90ab"
S = "${WORKDIR}/git"
diff --git a/bsp/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb b/bsp/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb
index 1af630a6..cecd5903 100644
--- a/bsp/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -3,36 +3,27 @@ SECTION = "qe-ucode"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=c62f8109b4df15ca37ceeb5e4943626c"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;fsl-eula=true;nobranch=1"
+SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1"
SRCREV= "57401f6dff6507055558eaa6838116baa8a2fd46"
S = "${WORKDIR}/git"
-python () {
- if not d.getVar("QE_UCODE", True):
- PN = d.getVar("PN", True)
- FILE = os.path.basename(d.getVar("FILE", True))
- bb.debug(1, "To build %s, see %s for instructions on \
- setting up your qe-ucode" % (PN, FILE))
- raise bb.parse.SkipRecipe("because QE_UCODE is not set")
-}
-
do_install () {
install -d ${D}/boot
- install -m 644 ${B}/${QE_UCODE} ${D}/boot
+ install -m 644 ${B}/*.bin ${D}/boot
}
do_deploy () {
install -d ${DEPLOYDIR}/boot
- install -m 644 ${B}/${QE_UCODE} ${DEPLOYDIR}/boot
+ install -m 644 ${B}/*.bin ${DEPLOYDIR}/boot
}
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
FILES_${PN}-image += "/boot/*"
-COMPATIBLE_MACHINE = "(ls1021a|ls1043a|t1042|t1024)"
+COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/bsp/meta-freescale/recipes-bsp/rcw/rcw_git.bb b/bsp/meta-freescale/recipes-bsp/rcw/rcw_git.bb
index c6bdad23..e1e63cce 100644
--- a/bsp/meta-freescale/recipes-bsp/rcw/rcw_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/rcw/rcw_git.bb
@@ -1,30 +1,32 @@
SUMMARY = "Reset Configuration Word"
DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=45a017ee5f4cfe64b1cddf2eb06cffc7"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=44a0d0fad189770cc022af4ac6262cbe"
-DEPENDS += "change-file-endianess-native tcl-native"
+DEPENDS += "tcl-native"
inherit deploy siteinfo
SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/rcw;nobranch=1"
-SRCREV = "17254ac35250197877c6321f9d13e33b1f85388a"
+SRCREV = "e0fab6d9b61003caef577f7474c2fac61e6ba2ff"
S = "${WORKDIR}/git"
-export PYTHON = "${USRBINPATH}/python2"
+export PYTHON = "${USRBINPATH}/python3"
-M="${@d.getVar('MACHINE', True).replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
+M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
+
+BOARD_TARGETS="${M}"
+BOARD_TARGETS_ls2088ardb="${M} ${M}_rev1.1"
+BOARD_TARGETS_ls1088ardb-pb="ls1088ardb"
+BOARD_TARGETS_lx2160ardb = "${M} ${M}_rev2"
+
+do_compile () {
+ oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/
+}
do_install () {
- if [ ${M} = ls2088ardb ]; then
- oe_runmake BOARDS=${M} DESTDIR=${D}/boot/rcw/ install
- oe_runmake BOARDS=${M}_rev1.1 DESTDIR=${D}/boot/rcw/ install
- elif [ ${M} = ls1088ardb-pb ]; then
- oe_runmake BOARDS=ls1088ardb DESTDIR=${D}/boot/rcw/ install
- else
- oe_runmake BOARDS=${M} DESTDIR=${D}/boot/rcw/ install
- fi
+ oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/ install
}
do_deploy () {
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-common_2018.11.inc b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-common_2020.04.inc
index 53496b7b..1ccd0d17 100644
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-common_2018.11.inc
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-common_2020.04.inc
@@ -10,9 +10,10 @@ DEPENDS += "bison-native"
SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH}"
-SRCREV = "6e25ce6f3c8568b9618de6569794a29a05e1b7a4"
-SRCBRANCH = "2018.11+fslc"
+SRCREV = "a266838009e02b369b51f4139c6ac64facb12d34"
+SRCBRANCH = "2020.04+fslc"
-PV = "v2018.11+git${SRCPV}"
+PV = "v2020.04+git${SRCPV}"
S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-fw-utils_2018.11.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-fw-utils_2018.11.bb
deleted file mode 100644
index a809a3f6..00000000
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-fw-utils_2018.11.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-require u-boot-fslc-common_${PV}.inc
-
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-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 envtools
-}
-
-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
-
- if [ -e ${WORKDIR}/fw_env.config ]; then
- install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
- else
- install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
- fi
-}
-
-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}
-}
-
-PROVIDES += "u-boot-fw-utils"
-RPROVIDES_${PN} += "u-boot-fw-utils"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-BBCLASSEXTEND = "cross"
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2018.11.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.04.bb
index 9123b331..2492f450 100644
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2018.11.bb
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.04.bb
@@ -12,14 +12,14 @@ EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" H
EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
do_compile () {
- oe_runmake sandbox_defconfig
+ oe_runmake -C ${S} O=${B} sandbox_defconfig
# Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
# generating it requires bin2header tool, which for target build
# is built with target tools and thus cannot be executed on host.
sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
- oe_runmake cross_tools NO_SDL=1
+ oe_runmake -C ${S} O=${B} cross_tools NO_SDL=1
}
do_install () {
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc_2018.11.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc_2020.04.bb
index 5659e16c..64588efc 100644
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc_2018.11.bb
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-fslc_2020.04.bb
@@ -6,10 +6,12 @@ order to provide support for some backported features and fixes, or because it \
was submitted for revision and it takes some time to become part of a stable \
version, or because it is not applicable for upstreaming."
-DEPENDS_append = " dtc-native"
+DEPENDS_append = " bc-native dtc-native lzop-native"
PROVIDES += "u-boot"
+B = "${WORKDIR}/build"
+
# FIXME: Allow linking of 'tools' binaries with native libraries
# used for generating the boot logo and other tools used
# during the build process.
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-common.inc b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-common.inc
new file mode 100644
index 00000000..a2d2ed01
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-common.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCBRANCH = "lf-5.4.y_v2019.04"
+SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
+SRCREV = "228843cdf5435d4bd69f42a6015f78761ff4cc0d"
+
+DEPENDS += "flex-native bison-native bc-native dtc-native"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+inherit fsl-u-boot-localversion
+
+LOCALVERSION ?= "-${SRCBRANCH}"
+
+BOOT_TOOLS = "imx-boot-tools"
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-mfgtool_2017.03.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-mfgtool_2019.04.bb
index d5cb0339..2b296c19 100644
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-mfgtool_2017.03.bb
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-mfgtool_2019.04.bb
@@ -1,6 +1,6 @@
# Copyright (C) 2014 O.S. Systems Software LTDA.
# Copyright (C) 2014-2016 Freescale Semiconductor
-# Copyright 2017 NXP
+# Copyright 2017-2019 NXP
FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-imx:"
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-tools_2019.04.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-tools_2019.04.bb
new file mode 100644
index 00000000..12ac72e2
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx-tools_2019.04.bb
@@ -0,0 +1,10 @@
+require recipes-bsp/u-boot/u-boot-tools.inc
+require u-boot-imx-common.inc
+
+PROVIDES_append_class-target = " ${MLPREFIX}u-boot-tools"
+PROVIDES_append_class-native = " u-boot-tools-native"
+PROVIDES_append_class-nativesdk = " nativesdk-u-boot-tools"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
+COMPATIBLE_MACHINE_class-target = "(mx6|mx7|mx8)"
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-Add-target-to-generate-initial-environment.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-Add-target-to-generate-initial-environment.patch
new file mode 100644
index 00000000..c717e029
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-Add-target-to-generate-initial-environment.patch
@@ -0,0 +1,49 @@
+From bdaa73a5b3923257add182b4ab8058dbfa33421b Mon Sep 17 00:00:00 2001
+From: Stefano Babic <sbabic@denx.de>
+Date: Wed, 13 Mar 2019 09:46:45 +0100
+Subject: [PATCH] Add target to generate initial environment
+
+The initial environment is linked to the u-boot binary. Modifying the
+environment from User Space with the env tools requires that the tools
+are always built together with the bootloader to be sure that they
+contain the initial environment in case no environment is stored into
+persistent storage or when a board boots with just the default
+environment. This makes difficult for distros to provide a general
+package to access the environment. A simpler way is if the tools are
+generic for all boards and a configuration file is given to provide the
+initial environment.
+
+The patch just generates the initial environment by extracting it from
+the compiled object. This file can then be used for tools in user space
+to initialize the environment.
+
+Signed-off-by: Stefano Babic <sbabic@denx.de>
+
+Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/bdaa73a5b3923257add182b4ab8058dbfa33421b]
+
+Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
+---
+ Makefile | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 66a09ac900..f2c7bb6041 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1977,6 +1977,13 @@ endif
+ $(build)=$(build-dir) $(@:.ko=.o)
+ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
+
++quiet_cmd_genenv = GENENV $@
++cmd_genenv = $(OBJCOPY) --dump-section .rodata.default_environment=$@ env/common.o; \
++ sed --in-place -e 's/\x00/\x0A/g' $@
++
++u-boot-initial-env: u-boot.bin
++ $(call if_changed,genenv)
++
+ # Consistency checks
+ # ---------------------------------------------------------------------------
+
+--
+2.17.1
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-tools-allow-to-override-python.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-tools-allow-to-override-python.patch
deleted file mode 100755
index f96de538..00000000
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx/0001-tools-allow-to-override-python.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From b48bfc74ee410b1e6681c620633ffef32aafaba0 Mon Sep 17 00:00:00 2001
-From: Stefano Babic <sbabic@denx.de>
-Date: Wed, 5 Apr 2017 17:46:41 +0200
-Subject: [PATCH] tools: allow to override python
-
-Not force to use python from PATH. Issue was noted when building with
-Yocto, because python from the distro is always taken instead of
-python-native built during Yocto process.
-
-Signed-off-by: Stefano Babic <sbabic@denx.de>
-CC: Simon Glass <sjg@chromium.org>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- Makefile | 2 +-
- tools/Makefile | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09b597d450..8d4e6050b3 100644
---- a/Makefile
-+++ b/Makefile
-@@ -348,7 +348,7 @@ OBJCOPY = $(CROSS_COMPILE)objcopy
- OBJDUMP = $(CROSS_COMPILE)objdump
- AWK = awk
- PERL = perl
--PYTHON = python
-+PYTHON ?= python
- DTC = dtc
- CHECK = sparse
-
-diff --git a/tools/Makefile b/tools/Makefile
-index fa1b85bdae..2fc4a583d4 100644
---- a/tools/Makefile
-+++ b/tools/Makefile
-@@ -120,7 +120,7 @@ _libfdt.so-sharedobjs += $(LIBFDT_OBJS)
- libfdt:
-
- tools/_libfdt.so: $(patsubst %.o,%.c,$(LIBFDT_OBJS)) tools/libfdt_wrap.c
-- LDFLAGS="$(HOSTLDFLAGS)" python $(srctree)/lib/libfdt/setup.py \
-+ LDFLAGS="$(HOSTLDFLAGS)" ${PYTHON} $(srctree)/lib/libfdt/setup.py \
- "$(_hostc_flags)" $^
- mv _libfdt.so $@
-
---
-2.17.1
-
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2017.03.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2019.04.bb
index f85ed994..d37ede83 100644
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2017.03.bb
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2019.04.bb
@@ -1,28 +1,13 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
# Copyright 2018 (C) O.S. Systems Software LTDA.
+# Copyright 2017-2019 NXP
-DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
require recipes-bsp/u-boot/u-boot.inc
+require u-boot-imx-common.inc
-PROVIDES += "u-boot"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRCBRANCH = "imx_v2017.03_4.9.123_imx8mm_ga"
-SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-tools-allow-to-override-python.patch \
- "
-SRCREV = "8be98e9322040c655b9e5c9fb2c494e002e3fad9"
-
-S = "${WORKDIR}/git"
+SRC_URI += "file://0001-Add-target-to-generate-initial-environment.patch"
-inherit dtc-145 fsl-u-boot-localversion
-
-LOCALVERSION ?= "-${SRCBRANCH}"
-
-BOOT_TOOLS = "imx-boot-tools"
+PROVIDES += "u-boot"
do_deploy_append_mx8m() {
# Deploy the mkimage, u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
@@ -37,7 +22,7 @@ do_deploy_append_mx8m() {
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}/u-boot-nodtb.bin
+ install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG}
fi
done
unset j
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.03.inc b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.03.inc
deleted file mode 100644
index 5be64e49..00000000
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.03.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-
-inherit fsl-u-boot-localversion
-
-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 \
-"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/u-boot;nobranch=1 \
-"
-SRCREV = "1e96fd8f464dfe23eb692a11018c20d70546783b"
-
-S = "${WORKDIR}/git"
-PV_append = "+fslgit"
-LOCALVERSION = "+fsl" \ No newline at end of file
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.09.inc b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.09.inc
deleted file mode 100644
index a3a554cc..00000000
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-common_2018.09.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-
-inherit fsl-u-boot-localversion
-
-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 \
-"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/u-boot;nobranch=1 \
-"
-SRCREV= "c08de7c3c92d45a824500ad936f4d72465c181ec"
-
-S = "${WORKDIR}/git"
-PV_append = "+fslgit"
-LOCALVERSION = "+fsl"
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2018.03.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2018.03.bb
deleted file mode 100644
index ae47cb0d..00000000
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2018.03.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-require u-boot-qoriq-common_${PV}.inc
-
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-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 envtools
-}
-
-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
-
- if [ -e ${WORKDIR}/fw_env.config ]; then
- install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
- else
- install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
- fi
-}
-
-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}
-}
-
-PROVIDES += "u-boot-fw-utils"
-RPROVIDES_${PN} += "u-boot-fw-utils"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-BBCLASSEXTEND = "cross"
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-Remove-redundant-YYLOC-global-declaration.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-Remove-redundant-YYLOC-global-declaration.patch
new file mode 100644
index 00000000..2609760c
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-Remove-redundant-YYLOC-global-declaration.patch
@@ -0,0 +1,29 @@
+From 018921ee79d3f30893614b3b2b63b588d8544f73 Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Thu, 30 Jan 2020 09:37:15 +0000
+Subject: [PATCH] Remove redundant YYLOC global declaration
+
+Same as the upstream fix for building dtc with gcc 10.
+
+Upstream-Status: Backport
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ scripts/dtc/dtc-lexer.l | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
+index fd825ebba69c..24af54997758 100644
+--- a/scripts/dtc/dtc-lexer.l
++++ b/scripts/dtc/dtc-lexer.l
+@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
+ #include "srcpos.h"
+ #include "dtc-parser.tab.h"
+
+-YYLTYPE yylloc;
+ extern bool treesource_error;
+
+ /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
+--
+2.26.2
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Convert-a-few-tests-to-Python-3.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Convert-a-few-tests-to-Python-3.patch
new file mode 100644
index 00000000..e530b7ca
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Convert-a-few-tests-to-Python-3.patch
@@ -0,0 +1,79 @@
+From b6ee0cf89f9405094cbb6047076a13e14ebc030b Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Thu, 31 Oct 2019 07:43:03 -0600
+Subject: [PATCH] binman: Convert a few tests to Python 3
+
+Some tests have crept in with Python 2 strings and constructs. Convert
+then.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ tools/binman/ftest.py | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
+index 93507993a0..80df0e3ca9 100644
+--- a/tools/binman/ftest.py
++++ b/tools/binman/ftest.py
+@@ -2113,7 +2113,7 @@ class TestFunctional(unittest.TestCase):
+ data = self.data = self._DoReadFileRealDtb('115_fdtmap.dts')
+ fdtmap_data = data[len(U_BOOT_DATA):]
+ magic = fdtmap_data[:8]
+- self.assertEqual('_FDTMAP_', magic)
++ self.assertEqual(b'_FDTMAP_', magic)
+ self.assertEqual(tools.GetBytes(0, 8), fdtmap_data[8:16])
+
+ fdt_data = fdtmap_data[16:]
+@@ -2156,7 +2156,7 @@ class TestFunctional(unittest.TestCase):
+ dtb = fdt.Fdt.FromData(fdt_data)
+ fdt_size = dtb.GetFdtObj().totalsize()
+ hdr_data = data[-8:]
+- self.assertEqual('BinM', hdr_data[:4])
++ self.assertEqual(b'BinM', hdr_data[:4])
+ offset = struct.unpack('<I', hdr_data[4:])[0] & 0xffffffff
+ self.assertEqual(fdtmap_pos - 0x400, offset - (1 << 32))
+
+@@ -2165,7 +2165,7 @@ class TestFunctional(unittest.TestCase):
+ data = self.data = self._DoReadFileRealDtb('117_fdtmap_hdr_start.dts')
+ fdtmap_pos = 0x100 + len(U_BOOT_DATA)
+ hdr_data = data[:8]
+- self.assertEqual('BinM', hdr_data[:4])
++ self.assertEqual(b'BinM', hdr_data[:4])
+ offset = struct.unpack('<I', hdr_data[4:])[0]
+ self.assertEqual(fdtmap_pos, offset)
+
+@@ -2174,7 +2174,7 @@ class TestFunctional(unittest.TestCase):
+ data = self.data = self._DoReadFileRealDtb('118_fdtmap_hdr_pos.dts')
+ fdtmap_pos = 0x100 + len(U_BOOT_DATA)
+ hdr_data = data[0x80:0x88]
+- self.assertEqual('BinM', hdr_data[:4])
++ self.assertEqual(b'BinM', hdr_data[:4])
+ offset = struct.unpack('<I', hdr_data[4:])[0]
+ self.assertEqual(fdtmap_pos, offset)
+
+@@ -2435,9 +2435,9 @@ class TestFunctional(unittest.TestCase):
+ ' section 100 %x section 100' % section_size,
+ ' cbfs 100 400 cbfs 0',
+ ' u-boot 138 4 u-boot 38',
+-' u-boot-dtb 180 10f u-boot-dtb 80 3c9',
++' u-boot-dtb 180 105 u-boot-dtb 80 3c9',
+ ' u-boot-dtb 500 %x u-boot-dtb 400 3c9' % fdt_size,
+-' fdtmap %x 3b4 fdtmap %x' %
++' fdtmap %x 3bd fdtmap %x' %
+ (fdtmap_offset, fdtmap_offset),
+ ' image-header bf8 8 image-header bf8',
+ ]
+@@ -2522,7 +2522,7 @@ class TestFunctional(unittest.TestCase):
+ data = self._RunExtractCmd('section')
+ cbfs_data = data[:0x400]
+ cbfs = cbfs_util.CbfsReader(cbfs_data)
+- self.assertEqual(['u-boot', 'u-boot-dtb', ''], cbfs.files.keys())
++ self.assertEqual(['u-boot', 'u-boot-dtb', ''], list(cbfs.files.keys()))
+ dtb_data = data[0x400:]
+ dtb = self._decompress(dtb_data)
+ self.assertEqual(EXTRACT_DTB_SIZE, len(dtb))
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Move-to-use-Python-3.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Move-to-use-Python-3.patch
new file mode 100644
index 00000000..c1a05b32
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-binman-Move-to-use-Python-3.patch
@@ -0,0 +1,30 @@
+From 388560134b99dc4cc752627d3a7e9f8c8c2a89a7 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Thu, 31 Oct 2019 07:43:05 -0600
+Subject: [PATCH] binman: Move to use Python 3
+
+Update this tool to use Python 3 to meet the 2020 deadline.
+
+Unfortunately this introduces a test failure due to a problem in pylibfdt
+on Python 3. I will investigate.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ tools/binman/binman.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/binman/binman.py b/tools/binman/binman.py
+index 8bd5868df2..9e6fd72117 100755
+--- a/tools/binman/binman.py
++++ b/tools/binman/binman.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: GPL-2.0+
+
+ # Copyright (c) 2016 Google, Inc
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-buildman-Convert-to-Python-3.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-buildman-Convert-to-Python-3.patch
new file mode 100644
index 00000000..5d7ec42f
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-buildman-Convert-to-Python-3.patch
@@ -0,0 +1,928 @@
+From c05aa0364280803d8274e260a739553d588ea052 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Thu, 31 Oct 2019 07:42:53 -0600
+Subject: [PATCH] buildman: Convert to Python 3
+
+Convert buildman to Python 3 and make it use that, to meet the 2020
+deadline.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ tools/buildman/board.py | 9 +--
+ tools/buildman/bsettings.py | 20 +++----
+ tools/buildman/builder.py | 47 ++++++++--------
+ tools/buildman/builderthread.py | 24 ++++----
+ tools/buildman/buildman.py | 10 ++--
+ tools/buildman/control.py | 44 +++++++--------
+ tools/buildman/func_test.py | 16 +++---
+ tools/buildman/test.py | 22 ++++----
+ tools/buildman/toolchain.py | 99 +++++++++++++++++----------------
+ 9 files changed, 146 insertions(+), 145 deletions(-)
+
+diff --git a/tools/buildman/board.py b/tools/buildman/board.py
+index 2a1d021574..447aaabea8 100644
+--- a/tools/buildman/board.py
++++ b/tools/buildman/board.py
+@@ -1,6 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0+
+ # Copyright (c) 2012 The Chromium OS Authors.
+
++from collections import OrderedDict
+ import re
+
+ class Expr:
+@@ -120,7 +121,7 @@ class Boards:
+ Args:
+ fname: Filename of boards.cfg file
+ """
+- with open(fname, 'r') as fd:
++ with open(fname, 'r', encoding='utf-8') as fd:
+ for line in fd:
+ if line[0] == '#':
+ continue
+@@ -155,7 +156,7 @@ class Boards:
+ key is board.target
+ value is board
+ """
+- board_dict = {}
++ board_dict = OrderedDict()
+ for board in self._boards:
+ board_dict[board.target] = board
+ return board_dict
+@@ -166,7 +167,7 @@ class Boards:
+ Returns:
+ List of Board objects that are marked selected
+ """
+- board_dict = {}
++ board_dict = OrderedDict()
+ for board in self._boards:
+ if board.build_it:
+ board_dict[board.target] = board
+@@ -259,7 +260,7 @@ class Boards:
+ due to each argument, arranged by argument.
+ List of errors found
+ """
+- result = {}
++ result = OrderedDict()
+ warnings = []
+ terms = self._BuildTerms(args)
+
+diff --git a/tools/buildman/bsettings.py b/tools/buildman/bsettings.py
+index 03d7439aa5..0b7208da37 100644
+--- a/tools/buildman/bsettings.py
++++ b/tools/buildman/bsettings.py
+@@ -1,9 +1,9 @@
+ # SPDX-License-Identifier: GPL-2.0+
+ # Copyright (c) 2012 The Chromium OS Authors.
+
+-import ConfigParser
++import configparser
+ import os
+-import StringIO
++import io
+
+
+ def Setup(fname=''):
+@@ -15,20 +15,20 @@ def Setup(fname=''):
+ global settings
+ global config_fname
+
+- settings = ConfigParser.SafeConfigParser()
++ settings = configparser.SafeConfigParser()
+ if fname is not None:
+ config_fname = fname
+ if config_fname == '':
+ config_fname = '%s/.buildman' % os.getenv('HOME')
+ if not os.path.exists(config_fname):
+- print 'No config file found ~/.buildman\nCreating one...\n'
++ print('No config file found ~/.buildman\nCreating one...\n')
+ CreateBuildmanConfigFile(config_fname)
+- print 'To install tool chains, please use the --fetch-arch option'
++ print('To install tool chains, please use the --fetch-arch option')
+ if config_fname:
+ settings.read(config_fname)
+
+ def AddFile(data):
+- settings.readfp(StringIO.StringIO(data))
++ settings.readfp(io.StringIO(data))
+
+ def GetItems(section):
+ """Get the items from a section of the config.
+@@ -41,7 +41,7 @@ def GetItems(section):
+ """
+ try:
+ return settings.items(section)
+- except ConfigParser.NoSectionError as e:
++ except configparser.NoSectionError as e:
+ return []
+ except:
+ raise
+@@ -68,10 +68,10 @@ def CreateBuildmanConfigFile(config_fname):
+ try:
+ f = open(config_fname, 'w')
+ except IOError:
+- print "Couldn't create buildman config file '%s'\n" % config_fname
++ print("Couldn't create buildman config file '%s'\n" % config_fname)
+ raise
+
+- print >>f, '''[toolchain]
++ print('''[toolchain]
+ # name = path
+ # e.g. x86 = /opt/gcc-4.6.3-nolibc/x86_64-linux
+
+@@ -93,5 +93,5 @@ openrisc = or1k
+ # snapper-boards=ENABLE_AT91_TEST=1
+ # snapper9260=${snapper-boards} BUILD_TAG=442
+ # snapper9g45=${snapper-boards} BUILD_TAG=443
+-'''
++''', file=f)
+ f.close();
+diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
+index fbb236676c..cfbe4c26b1 100644
+--- a/tools/buildman/builder.py
++++ b/tools/buildman/builder.py
+@@ -9,7 +9,7 @@ from datetime import datetime, timedelta
+ import glob
+ import os
+ import re
+-import Queue
++import queue
+ import shutil
+ import signal
+ import string
+@@ -92,11 +92,10 @@ u-boot/ source directory
+ """
+
+ # Possible build outcomes
+-OUTCOME_OK, OUTCOME_WARNING, OUTCOME_ERROR, OUTCOME_UNKNOWN = range(4)
++OUTCOME_OK, OUTCOME_WARNING, OUTCOME_ERROR, OUTCOME_UNKNOWN = list(range(4))
+
+ # Translate a commit subject into a valid filename (and handle unicode)
+-trans_valid_chars = string.maketrans('/: ', '---')
+-trans_valid_chars = trans_valid_chars.decode('latin-1')
++trans_valid_chars = str.maketrans('/: ', '---')
+
+ BASE_CONFIG_FILENAMES = [
+ 'u-boot.cfg', 'u-boot-spl.cfg', 'u-boot-tpl.cfg'
+@@ -122,8 +121,8 @@ class Config:
+ def __hash__(self):
+ val = 0
+ for fname in self.config:
+- for key, value in self.config[fname].iteritems():
+- print key, value
++ for key, value in self.config[fname].items():
++ print(key, value)
+ val = val ^ hash(key) & hash(value)
+ return val
+
+@@ -293,8 +292,8 @@ class Builder:
+ self._re_dtb_warning = re.compile('(.*): Warning .*')
+ self._re_note = re.compile('(.*):(\d*):(\d*): note: this is the location of the previous.*')
+
+- self.queue = Queue.Queue()
+- self.out_queue = Queue.Queue()
++ self.queue = queue.Queue()
++ self.out_queue = queue.Queue()
+ for i in range(self.num_threads):
+ t = builderthread.BuilderThread(self, i, incremental,
+ per_board_out_dir)
+@@ -781,7 +780,7 @@ class Builder:
+ config = {}
+ environment = {}
+
+- for board in boards_selected.itervalues():
++ for board in boards_selected.values():
+ outcome = self.GetBuildOutcome(commit_upto, board.target,
+ read_func_sizes, read_config,
+ read_environment)
+@@ -814,13 +813,13 @@ class Builder:
+ tconfig = Config(self.config_filenames, board.target)
+ for fname in self.config_filenames:
+ if outcome.config:
+- for key, value in outcome.config[fname].iteritems():
++ for key, value in outcome.config[fname].items():
+ tconfig.Add(fname, key, value)
+ config[board.target] = tconfig
+
+ tenvironment = Environment(board.target)
+ if outcome.environment:
+- for key, value in outcome.environment.iteritems():
++ for key, value in outcome.environment.items():
+ tenvironment.Add(key, value)
+ environment[board.target] = tenvironment
+
+@@ -1040,12 +1039,12 @@ class Builder:
+
+ # We now have a list of image size changes sorted by arch
+ # Print out a summary of these
+- for arch, target_list in arch_list.iteritems():
++ for arch, target_list in arch_list.items():
+ # Get total difference for each type
+ totals = {}
+ for result in target_list:
+ total = 0
+- for name, diff in result.iteritems():
++ for name, diff in result.items():
+ if name.startswith('_'):
+ continue
+ total += diff
+@@ -1250,7 +1249,7 @@ class Builder:
+ if self._show_unknown:
+ self.AddOutcome(board_selected, arch_list, unknown_boards, '?',
+ self.col.MAGENTA)
+- for arch, target_list in arch_list.iteritems():
++ for arch, target_list in arch_list.items():
+ Print('%10s: %s' % (arch, target_list))
+ self._error_lines += 1
+ if better_err:
+@@ -1283,13 +1282,13 @@ class Builder:
+ environment_minus = {}
+ environment_change = {}
+ base = tbase.environment
+- for key, value in tenvironment.environment.iteritems():
++ for key, value in tenvironment.environment.items():
+ if key not in base:
+ environment_plus[key] = value
+- for key, value in base.iteritems():
++ for key, value in base.items():
+ if key not in tenvironment.environment:
+ environment_minus[key] = value
+- for key, value in base.iteritems():
++ for key, value in base.items():
+ new_value = tenvironment.environment.get(key)
+ if new_value and value != new_value:
+ desc = '%s -> %s' % (value, new_value)
+@@ -1342,15 +1341,15 @@ class Builder:
+ config_minus = {}
+ config_change = {}
+ base = tbase.config[name]
+- for key, value in tconfig.config[name].iteritems():
++ for key, value in tconfig.config[name].items():
+ if key not in base:
+ config_plus[key] = value
+ all_config_plus[key] = value
+- for key, value in base.iteritems():
++ for key, value in base.items():
+ if key not in tconfig.config[name]:
+ config_minus[key] = value
+ all_config_minus[key] = value
+- for key, value in base.iteritems():
++ for key, value in base.items():
+ new_value = tconfig.config.get(key)
+ if new_value and value != new_value:
+ desc = '%s -> %s' % (value, new_value)
+@@ -1368,7 +1367,7 @@ class Builder:
+ summary[target] = '\n'.join(lines)
+
+ lines_by_target = {}
+- for target, lines in summary.iteritems():
++ for target, lines in summary.items():
+ if lines in lines_by_target:
+ lines_by_target[lines].append(target)
+ else:
+@@ -1392,7 +1391,7 @@ class Builder:
+ Print('%s:' % arch)
+ _OutputConfigInfo(lines)
+
+- for lines, targets in lines_by_target.iteritems():
++ for lines, targets in lines_by_target.items():
+ if not lines:
+ continue
+ Print('%s :' % ' '.join(sorted(targets)))
+@@ -1463,7 +1462,7 @@ class Builder:
+ commits: Selected commits to build
+ """
+ # First work out how many commits we will build
+- count = (self.commit_count + self._step - 1) / self._step
++ count = (self.commit_count + self._step - 1) // self._step
+ self.count = len(board_selected) * count
+ self.upto = self.warned = self.fail = 0
+ self._timestamps = collections.deque()
+@@ -1566,7 +1565,7 @@ class Builder:
+ self.ProcessResult(None)
+
+ # Create jobs to build all commits for each board
+- for brd in board_selected.itervalues():
++ for brd in board_selected.values():
+ job = builderthread.BuilderJob()
+ job.board = brd
+ job.commits = commits
+diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
+index 8a9d47cd5e..570c1f6595 100644
+--- a/tools/buildman/builderthread.py
++++ b/tools/buildman/builderthread.py
+@@ -28,7 +28,7 @@ def Mkdir(dirname, parents = False):
+ except OSError as err:
+ if err.errno == errno.EEXIST:
+ if os.path.realpath('.') == os.path.realpath(dirname):
+- print "Cannot create the current working directory '%s'!" % dirname
++ print("Cannot create the current working directory '%s'!" % dirname)
+ sys.exit(1)
+ pass
+ else:
+@@ -291,15 +291,13 @@ class BuilderThread(threading.Thread):
+ outfile = os.path.join(build_dir, 'log')
+ with open(outfile, 'w') as fd:
+ if result.stdout:
+- # We don't want unicode characters in log files
+- fd.write(result.stdout.decode('UTF-8').encode('ASCII', 'replace'))
++ fd.write(result.stdout)
+
+ errfile = self.builder.GetErrFile(result.commit_upto,
+ result.brd.target)
+ if result.stderr:
+ with open(errfile, 'w') as fd:
+- # We don't want unicode characters in log files
+- fd.write(result.stderr.decode('UTF-8').encode('ASCII', 'replace'))
++ fd.write(result.stderr)
+ elif os.path.exists(errfile):
+ os.remove(errfile)
+
+@@ -314,17 +312,17 @@ class BuilderThread(threading.Thread):
+ else:
+ fd.write('%s' % result.return_code)
+ with open(os.path.join(build_dir, 'toolchain'), 'w') as fd:
+- print >>fd, 'gcc', result.toolchain.gcc
+- print >>fd, 'path', result.toolchain.path
+- print >>fd, 'cross', result.toolchain.cross
+- print >>fd, 'arch', result.toolchain.arch
++ print('gcc', result.toolchain.gcc, file=fd)
++ print('path', result.toolchain.path, file=fd)
++ print('cross', result.toolchain.cross, file=fd)
++ print('arch', result.toolchain.arch, file=fd)
+ fd.write('%s' % result.return_code)
+
+ # Write out the image and function size information and an objdump
+ env = result.toolchain.MakeEnvironment(self.builder.full_path)
+ with open(os.path.join(build_dir, 'env'), 'w') as fd:
+ for var in sorted(env.keys()):
+- print >>fd, '%s="%s"' % (var, env[var])
++ print('%s="%s"' % (var, env[var]), file=fd)
+ lines = []
+ for fname in ['u-boot', 'spl/u-boot-spl']:
+ cmd = ['%snm' % self.toolchain.cross, '--size-sort', fname]
+@@ -335,7 +333,7 @@ class BuilderThread(threading.Thread):
+ nm = self.builder.GetFuncSizesFile(result.commit_upto,
+ result.brd.target, fname)
+ with open(nm, 'w') as fd:
+- print >>fd, nm_result.stdout,
++ print(nm_result.stdout, end=' ', file=fd)
+
+ cmd = ['%sobjdump' % self.toolchain.cross, '-h', fname]
+ dump_result = command.RunPipe([cmd], capture=True,
+@@ -346,7 +344,7 @@ class BuilderThread(threading.Thread):
+ objdump = self.builder.GetObjdumpFile(result.commit_upto,
+ result.brd.target, fname)
+ with open(objdump, 'w') as fd:
+- print >>fd, dump_result.stdout,
++ print(dump_result.stdout, end=' ', file=fd)
+ for line in dump_result.stdout.splitlines():
+ fields = line.split()
+ if len(fields) > 5 and fields[1] == '.rodata':
+@@ -378,7 +376,7 @@ class BuilderThread(threading.Thread):
+ sizes = self.builder.GetSizesFile(result.commit_upto,
+ result.brd.target)
+ with open(sizes, 'w') as fd:
+- print >>fd, '\n'.join(lines)
++ print('\n'.join(lines), file=fd)
+
+ # Write out the configuration files, with a special case for SPL
+ for dirname in ['', 'spl', 'tpl']:
+diff --git a/tools/buildman/buildman.py b/tools/buildman/buildman.py
+index f17aa15e7c..30a8690f93 100755
+--- a/tools/buildman/buildman.py
++++ b/tools/buildman/buildman.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: GPL-2.0+
+ #
+ # Copyright (c) 2012 The Chromium OS Authors.
+@@ -6,6 +6,8 @@
+
+ """See README for more information"""
+
++from __future__ import print_function
++
+ import multiprocessing
+ import os
+ import re
+@@ -46,11 +48,11 @@ def RunTests(skip_net_tests):
+ suite = unittest.TestLoader().loadTestsFromTestCase(module)
+ suite.run(result)
+
+- print result
++ print(result)
+ for test, err in result.errors:
+- print err
++ print(err)
+ for test, err in result.failures:
+- print err
++ print(err)
+
+
+ options, args = cmdline.ParseArgs()
+diff --git a/tools/buildman/control.py b/tools/buildman/control.py
+index 9787b86747..216012d001 100644
+--- a/tools/buildman/control.py
++++ b/tools/buildman/control.py
+@@ -30,7 +30,7 @@ def GetActionSummary(is_summary, commits, selected, options):
+ """
+ if commits:
+ count = len(commits)
+- count = (count + options.step - 1) / options.step
++ count = (count + options.step - 1) // options.step
+ commit_str = '%d commit%s' % (count, GetPlural(count))
+ else:
+ commit_str = 'current source'
+@@ -59,31 +59,31 @@ def ShowActions(series, why_selected, boards_selected, builder, options,
+ board_warnings: List of warnings obtained from board selected
+ """
+ col = terminal.Color()
+- print 'Dry run, so not doing much. But I would do this:'
+- print
++ print('Dry run, so not doing much. But I would do this:')
++ print()
+ if series:
+ commits = series.commits
+ else:
+ commits = None
+- print GetActionSummary(False, commits, boards_selected,
+- options)
+- print 'Build directory: %s' % builder.base_dir
++ print(GetActionSummary(False, commits, boards_selected,
++ options))
++ print('Build directory: %s' % builder.base_dir)
+ if commits:
+ for upto in range(0, len(series.commits), options.step):
+ commit = series.commits[upto]
+- print ' ', col.Color(col.YELLOW, commit.hash[:8], bright=False),
+- print commit.subject
+- print
++ print(' ', col.Color(col.YELLOW, commit.hash[:8], bright=False), end=' ')
++ print(commit.subject)
++ print()
+ for arg in why_selected:
+ if arg != 'all':
+- print arg, ': %d boards' % len(why_selected[arg])
++ print(arg, ': %d boards' % len(why_selected[arg]))
+ if options.verbose:
+- print ' %s' % ' '.join(why_selected[arg])
+- print ('Total boards to build for each commit: %d\n' %
+- len(why_selected['all']))
++ print(' %s' % ' '.join(why_selected[arg]))
++ print(('Total boards to build for each commit: %d\n' %
++ len(why_selected['all'])))
+ if board_warnings:
+ for warning in board_warnings:
+- print col.Color(col.YELLOW, warning)
++ print(col.Color(col.YELLOW, warning))
+
+ def CheckOutputDir(output_dir):
+ """Make sure that the output directory is not within the current directory
+@@ -146,17 +146,17 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
+ if options.fetch_arch:
+ if options.fetch_arch == 'list':
+ sorted_list = toolchains.ListArchs()
+- print col.Color(col.BLUE, 'Available architectures: %s\n' %
+- ' '.join(sorted_list))
++ print(col.Color(col.BLUE, 'Available architectures: %s\n' %
++ ' '.join(sorted_list)))
+ return 0
+ else:
+ fetch_arch = options.fetch_arch
+ if fetch_arch == 'all':
+ fetch_arch = ','.join(toolchains.ListArchs())
+- print col.Color(col.CYAN, '\nDownloading toolchains: %s' %
+- fetch_arch)
++ print(col.Color(col.CYAN, '\nDownloading toolchains: %s' %
++ fetch_arch))
+ for arch in fetch_arch.split(','):
+- print
++ print()
+ ret = toolchains.FetchAndInstall(arch)
+ if ret:
+ return ret
+@@ -167,7 +167,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
+ toolchains.Scan(options.list_tool_chains and options.verbose)
+ if options.list_tool_chains:
+ toolchains.List()
+- print
++ print()
+ return 0
+
+ # Work out how many commits to build. We want to build everything on the
+@@ -191,7 +191,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
+ sys.exit(col.Color(col.RED, "Range '%s' has no commits" %
+ options.branch))
+ if msg:
+- print col.Color(col.YELLOW, msg)
++ print(col.Color(col.YELLOW, msg))
+ count += 1 # Build upstream commit also
+
+ if not count:
+@@ -268,7 +268,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
+ options.threads = min(multiprocessing.cpu_count(), len(selected))
+ if not options.jobs:
+ options.jobs = max(1, (multiprocessing.cpu_count() +
+- len(selected) - 1) / len(selected))
++ len(selected) - 1) // len(selected))
+
+ if not options.step:
+ options.step = len(series.commits) - 1
+diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
+index f90b8ea7f5..4c3d497294 100644
+--- a/tools/buildman/func_test.py
++++ b/tools/buildman/func_test.py
+@@ -270,7 +270,7 @@ class TestFunctional(unittest.TestCase):
+ stdout=''.join(commit_log[:count]))
+
+ # Not handled, so abort
+- print 'git log', args
++ print('git log', args)
+ sys.exit(1)
+
+ def _HandleCommandGitConfig(self, args):
+@@ -286,7 +286,7 @@ class TestFunctional(unittest.TestCase):
+ stdout='refs/heads/master\n')
+
+ # Not handled, so abort
+- print 'git config', args
++ print('git config', args)
+ sys.exit(1)
+
+ def _HandleCommandGit(self, in_args):
+@@ -320,7 +320,7 @@ class TestFunctional(unittest.TestCase):
+ return command.CommandResult(return_code=0)
+
+ # Not handled, so abort
+- print 'git', git_args, sub_cmd, args
++ print('git', git_args, sub_cmd, args)
+ sys.exit(1)
+
+ def _HandleCommandNm(self, args):
+@@ -351,7 +351,7 @@ class TestFunctional(unittest.TestCase):
+ if pipe_list[1] == ['wc', '-l']:
+ wc = True
+ else:
+- print 'invalid pipe', kwargs
++ print('invalid pipe', kwargs)
+ sys.exit(1)
+ cmd = pipe_list[0][0]
+ args = pipe_list[0][1:]
+@@ -371,7 +371,7 @@ class TestFunctional(unittest.TestCase):
+
+ if not result:
+ # Not handled, so abort
+- print 'unknown command', kwargs
++ print('unknown command', kwargs)
+ sys.exit(1)
+
+ if wc:
+@@ -404,14 +404,14 @@ class TestFunctional(unittest.TestCase):
+ return command.CommandResult(return_code=0)
+
+ # Not handled, so abort
+- print 'make', stage
++ print('make', stage)
+ sys.exit(1)
+
+ # Example function to print output lines
+ def print_lines(self, lines):
+- print len(lines)
++ print(len(lines))
+ for line in lines:
+- print line
++ print(line)
+ #self.print_lines(terminal.GetPrintTestLines())
+
+ def testNoBoards(self):
+diff --git a/tools/buildman/test.py b/tools/buildman/test.py
+index ed99b9375c..b4e28d6867 100644
+--- a/tools/buildman/test.py
++++ b/tools/buildman/test.py
+@@ -212,11 +212,11 @@ class TestBuild(unittest.TestCase):
+ self.assertEqual(lines[1].text, '02: %s' % commits[1][1])
+
+ col = terminal.Color()
+- self.assertSummary(lines[2].text, 'sandbox', 'w+', ['board4'],
++ self.assertSummary(lines[2].text, 'arm', 'w+', ['board1'],
+ outcome=OUTCOME_WARN)
+- self.assertSummary(lines[3].text, 'arm', 'w+', ['board1'],
++ self.assertSummary(lines[3].text, 'powerpc', 'w+', ['board2', 'board3'],
+ outcome=OUTCOME_WARN)
+- self.assertSummary(lines[4].text, 'powerpc', 'w+', ['board2', 'board3'],
++ self.assertSummary(lines[4].text, 'sandbox', 'w+', ['board4'],
+ outcome=OUTCOME_WARN)
+
+ # Second commit: The warnings should be listed
+@@ -226,10 +226,10 @@ class TestBuild(unittest.TestCase):
+
+ # Third commit: Still fails
+ self.assertEqual(lines[6].text, '03: %s' % commits[2][1])
+- self.assertSummary(lines[7].text, 'sandbox', '+', ['board4'])
+- self.assertSummary(lines[8].text, 'arm', '', ['board1'],
++ self.assertSummary(lines[7].text, 'arm', '', ['board1'],
+ outcome=OUTCOME_OK)
+- self.assertSummary(lines[9].text, 'powerpc', '+', ['board2', 'board3'])
++ self.assertSummary(lines[8].text, 'powerpc', '+', ['board2', 'board3'])
++ self.assertSummary(lines[9].text, 'sandbox', '+', ['board4'])
+
+ # Expect a compiler error
+ self.assertEqual(lines[10].text, '+%s' %
+@@ -237,8 +237,6 @@ class TestBuild(unittest.TestCase):
+
+ # Fourth commit: Compile errors are fixed, just have warning for board3
+ self.assertEqual(lines[11].text, '04: %s' % commits[3][1])
+- self.assertSummary(lines[12].text, 'sandbox', 'w+', ['board4'],
+- outcome=OUTCOME_WARN)
+ expect = '%10s: ' % 'powerpc'
+ expect += ' ' + col.Color(col.GREEN, '')
+ expect += ' '
+@@ -246,7 +244,9 @@ class TestBuild(unittest.TestCase):
+ expect += ' ' + col.Color(col.YELLOW, 'w+')
+ expect += ' '
+ expect += col.Color(col.YELLOW, ' %s' % 'board3')
+- self.assertEqual(lines[13].text, expect)
++ self.assertEqual(lines[12].text, expect)
++ self.assertSummary(lines[13].text, 'sandbox', 'w+', ['board4'],
++ outcome=OUTCOME_WARN)
+
+ # Compile error fixed
+ self.assertEqual(lines[14].text, '-%s' %
+@@ -259,9 +259,9 @@ class TestBuild(unittest.TestCase):
+
+ # Fifth commit
+ self.assertEqual(lines[16].text, '05: %s' % commits[4][1])
+- self.assertSummary(lines[17].text, 'sandbox', '+', ['board4'])
+- self.assertSummary(lines[18].text, 'powerpc', '', ['board3'],
++ self.assertSummary(lines[17].text, 'powerpc', '', ['board3'],
+ outcome=OUTCOME_OK)
++ self.assertSummary(lines[18].text, 'sandbox', '+', ['board4'])
+
+ # The second line of errors[3] is a duplicate, so buildman will drop it
+ expect = errors[3].rstrip().split('\n')
+diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
+index a65737fdf8..cc26e2ede5 100644
+--- a/tools/buildman/toolchain.py
++++ b/tools/buildman/toolchain.py
+@@ -4,18 +4,19 @@
+
+ import re
+ import glob
+-from HTMLParser import HTMLParser
++from html.parser import HTMLParser
+ import os
+ import sys
+ import tempfile
+-import urllib2
++import urllib.request, urllib.error, urllib.parse
+
+ import bsettings
+ import command
+ import terminal
++import tools
+
+ (PRIORITY_FULL_PREFIX, PRIORITY_PREFIX_GCC, PRIORITY_PREFIX_GCC_PATH,
+- PRIORITY_CALC) = range(4)
++ PRIORITY_CALC) = list(range(4))
+
+ # Simple class to collect links from a page
+ class MyHTMLParser(HTMLParser):
+@@ -100,15 +101,15 @@ class Toolchain:
+ raise_on_error=False)
+ self.ok = result.return_code == 0
+ if verbose:
+- print 'Tool chain test: ',
++ print('Tool chain test: ', end=' ')
+ if self.ok:
+- print "OK, arch='%s', priority %d" % (self.arch,
+- self.priority)
++ print("OK, arch='%s', priority %d" % (self.arch,
++ self.priority))
+ else:
+- print 'BAD'
+- print 'Command: ', cmd
+- print result.stdout
+- print result.stderr
++ print('BAD')
++ print('Command: ', cmd)
++ print(result.stdout)
++ print(result.stderr)
+ else:
+ self.ok = True
+
+@@ -138,7 +139,7 @@ class Toolchain:
+ value = ''
+ for name, value in bsettings.GetItems('toolchain-wrapper'):
+ if not value:
+- print "Warning: Wrapper not found"
++ print("Warning: Wrapper not found")
+ if value:
+ value = value + ' '
+
+@@ -227,11 +228,11 @@ class Toolchains:
+ """
+ toolchains = bsettings.GetItems('toolchain')
+ if show_warning and not toolchains:
+- print ("Warning: No tool chains. Please run 'buildman "
++ print(("Warning: No tool chains. Please run 'buildman "
+ "--fetch-arch all' to download all available toolchains, or "
+ "add a [toolchain] section to your buildman config file "
+ "%s. See README for details" %
+- bsettings.config_fname)
++ bsettings.config_fname))
+
+ paths = []
+ for name, value in toolchains:
+@@ -272,10 +273,10 @@ class Toolchains:
+ if add_it:
+ self.toolchains[toolchain.arch] = toolchain
+ elif verbose:
+- print ("Toolchain '%s' at priority %d will be ignored because "
++ print(("Toolchain '%s' at priority %d will be ignored because "
+ "another toolchain for arch '%s' has priority %d" %
+ (toolchain.gcc, toolchain.priority, toolchain.arch,
+- self.toolchains[toolchain.arch].priority))
++ self.toolchains[toolchain.arch].priority)))
+
+ def ScanPath(self, path, verbose):
+ """Scan a path for a valid toolchain
+@@ -289,9 +290,9 @@ class Toolchains:
+ fnames = []
+ for subdir in ['.', 'bin', 'usr/bin']:
+ dirname = os.path.join(path, subdir)
+- if verbose: print " - looking in '%s'" % dirname
++ if verbose: print(" - looking in '%s'" % dirname)
+ for fname in glob.glob(dirname + '/*gcc'):
+- if verbose: print " - found '%s'" % fname
++ if verbose: print(" - found '%s'" % fname)
+ fnames.append(fname)
+ return fnames
+
+@@ -321,9 +322,9 @@ class Toolchains:
+ Args:
+ verbose: True to print out progress information
+ """
+- if verbose: print 'Scanning for tool chains'
++ if verbose: print('Scanning for tool chains')
+ for name, value in self.prefixes:
+- if verbose: print " - scanning prefix '%s'" % value
++ if verbose: print(" - scanning prefix '%s'" % value)
+ if os.path.exists(value):
+ self.Add(value, True, verbose, PRIORITY_FULL_PREFIX, name)
+ continue
+@@ -335,10 +336,10 @@ class Toolchains:
+ for f in fname_list:
+ self.Add(f, True, verbose, PRIORITY_PREFIX_GCC_PATH, name)
+ if not fname_list:
+- raise ValueError, ("No tool chain found for prefix '%s'" %
++ raise ValueError("No tool chain found for prefix '%s'" %
+ value)
+ for path in self.paths:
+- if verbose: print " - scanning path '%s'" % path
++ if verbose: print(" - scanning path '%s'" % path)
+ fnames = self.ScanPath(path, verbose)
+ for fname in fnames:
+ self.Add(fname, True, verbose)
+@@ -346,13 +347,13 @@ class Toolchains:
+ def List(self):
+ """List out the selected toolchains for each architecture"""
+ col = terminal.Color()
+- print col.Color(col.BLUE, 'List of available toolchains (%d):' %
+- len(self.toolchains))
++ print(col.Color(col.BLUE, 'List of available toolchains (%d):' %
++ len(self.toolchains)))
+ if len(self.toolchains):
+- for key, value in sorted(self.toolchains.iteritems()):
+- print '%-10s: %s' % (key, value.gcc)
++ for key, value in sorted(self.toolchains.items()):
++ print('%-10s: %s' % (key, value.gcc))
+ else:
+- print 'None'
++ print('None')
+
+ def Select(self, arch):
+ """Returns the toolchain for a given architecture
+@@ -370,7 +371,7 @@ class Toolchains:
+ return self.toolchains[alias]
+
+ if not arch in self.toolchains:
+- raise ValueError, ("No tool chain found for arch '%s'" % arch)
++ raise ValueError("No tool chain found for arch '%s'" % arch)
+ return self.toolchains[arch]
+
+ def ResolveReferences(self, var_dict, args):
+@@ -464,9 +465,9 @@ class Toolchains:
+ links = []
+ for version in versions:
+ url = '%s/%s/%s/' % (base, arch, version)
+- print 'Checking: %s' % url
+- response = urllib2.urlopen(url)
+- html = response.read()
++ print('Checking: %s' % url)
++ response = urllib.request.urlopen(url)
++ html = tools.ToString(response.read())
+ parser = MyHTMLParser(fetch_arch)
+ parser.feed(html)
+ if fetch_arch == 'list':
+@@ -488,14 +489,14 @@ class Toolchains:
+ Full path to the downloaded archive file in that directory,
+ or None if there was an error while downloading
+ """
+- print 'Downloading: %s' % url
++ print('Downloading: %s' % url)
+ leaf = url.split('/')[-1]
+ tmpdir = tempfile.mkdtemp('.buildman')
+- response = urllib2.urlopen(url)
++ response = urllib.request.urlopen(url)
+ fname = os.path.join(tmpdir, leaf)
+ fd = open(fname, 'wb')
+ meta = response.info()
+- size = int(meta.getheaders('Content-Length')[0])
++ size = int(meta.get('Content-Length'))
+ done = 0
+ block_size = 1 << 16
+ status = ''
+@@ -504,19 +505,19 @@ class Toolchains:
+ while True:
+ buffer = response.read(block_size)
+ if not buffer:
+- print chr(8) * (len(status) + 1), '\r',
++ print(chr(8) * (len(status) + 1), '\r', end=' ')
+ break
+
+ done += len(buffer)
+ fd.write(buffer)
+- status = r'%10d MiB [%3d%%]' % (done / 1024 / 1024,
+- done * 100 / size)
++ status = r'%10d MiB [%3d%%]' % (done // 1024 // 1024,
++ done * 100 // size)
+ status = status + chr(8) * (len(status) + 1)
+- print status,
++ print(status, end=' ')
+ sys.stdout.flush()
+ fd.close()
+ if done != size:
+- print 'Error, failed to download'
++ print('Error, failed to download')
+ os.remove(fname)
+ fname = None
+ return tmpdir, fname
+@@ -565,11 +566,11 @@ class Toolchains:
+ """
+ # Fist get the URL for this architecture
+ col = terminal.Color()
+- print col.Color(col.BLUE, "Downloading toolchain for arch '%s'" % arch)
++ print(col.Color(col.BLUE, "Downloading toolchain for arch '%s'" % arch))
+ url = self.LocateArchUrl(arch)
+ if not url:
+- print ("Cannot find toolchain for arch '%s' - use 'list' to list" %
+- arch)
++ print(("Cannot find toolchain for arch '%s' - use 'list' to list" %
++ arch))
+ return 2
+ home = os.environ['HOME']
+ dest = os.path.join(home, '.buildman-toolchains')
+@@ -580,28 +581,28 @@ class Toolchains:
+ tmpdir, tarfile = self.Download(url)
+ if not tarfile:
+ return 1
+- print col.Color(col.GREEN, 'Unpacking to: %s' % dest),
++ print(col.Color(col.GREEN, 'Unpacking to: %s' % dest), end=' ')
+ sys.stdout.flush()
+ path = self.Unpack(tarfile, dest)
+ os.remove(tarfile)
+ os.rmdir(tmpdir)
+- print
++ print()
+
+ # Check that the toolchain works
+- print col.Color(col.GREEN, 'Testing')
++ print(col.Color(col.GREEN, 'Testing'))
+ dirpath = os.path.join(dest, path)
+ compiler_fname_list = self.ScanPath(dirpath, True)
+ if not compiler_fname_list:
+- print 'Could not locate C compiler - fetch failed.'
++ print('Could not locate C compiler - fetch failed.')
+ return 1
+ if len(compiler_fname_list) != 1:
+- print col.Color(col.RED, 'Warning, ambiguous toolchains: %s' %
+- ', '.join(compiler_fname_list))
++ print(col.Color(col.RED, 'Warning, ambiguous toolchains: %s' %
++ ', '.join(compiler_fname_list)))
+ toolchain = Toolchain(compiler_fname_list[0], True, True)
+
+ # Make sure that it will be found by buildman
+ if not self.TestSettingsHasPath(dirpath):
+- print ("Adding 'download' to config file '%s'" %
+- bsettings.config_fname)
++ print(("Adding 'download' to config file '%s'" %
++ bsettings.config_fname))
+ bsettings.SetItem('toolchain', 'download', '%s/*/*' % dest)
+ return 0
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Adjust-command-to-return-strings-instead-of-b.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Adjust-command-to-return-strings-instead-of-b.patch
new file mode 100644
index 00000000..4c4f7acb
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Adjust-command-to-return-strings-instead-of-b.patch
@@ -0,0 +1,228 @@
+From 3b3e3c0f6c261a8c9f989d437dc261ba84467d4f Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Thu, 31 Oct 2019 07:42:50 -0600
+Subject: [PATCH] patman: Adjust 'command' to return strings instead of bytes
+
+At present all the 'command' methods return bytes. Most of the time we
+actually want strings, so change this. We still need to keep the internal
+representation as bytes since otherwise unicode strings might break over
+a read() boundary (e.g. 4KB), causing errors. But we can convert the end
+result to strings.
+
+Add a 'binary' parameter to cover the few cases where bytes are needed.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ tools/binman/cbfs_util_test.py | 2 +-
+ tools/binman/ftest.py | 2 +-
+ tools/patman/command.py | 31 +++++++++++++++++++++++--------
+ tools/patman/tools.py | 29 +++++++++++++++++++++--------
+ 4 files changed, 46 insertions(+), 18 deletions(-)
+
+diff --git a/tools/binman/cbfs_util_test.py b/tools/binman/cbfs_util_test.py
+index 772c794ece..ddc2e09e35 100755
+--- a/tools/binman/cbfs_util_test.py
++++ b/tools/binman/cbfs_util_test.py
+@@ -56,7 +56,7 @@ class TestCbfs(unittest.TestCase):
+ cls.have_lz4 = True
+ try:
+ tools.Run('lz4', '--no-frame-crc', '-c',
+- tools.GetInputFilename('u-boot.bin'))
++ tools.GetInputFilename('u-boot.bin'), binary=True)
+ except:
+ cls.have_lz4 = False
+
+--- a/tools/binman/ftest.py
++++ b/tools/binman/ftest.py
+@@ -151,7 +151,7 @@ class TestFunctional(unittest.TestCase):
+ self.have_lz4 = True
+ try:
+ tools.Run('lz4', '--no-frame-crc', '-c',
+- os.path.join(self._indir, 'u-boot.bin'))
++ os.path.join(self._indir, 'u-boot.bin'), binary=True)
+ except:
+ self.have_lz4 = False
+
+diff --git a/tools/patman/command.py b/tools/patman/command.py
+index 16299f3f5b..5fbd2c4a3e 100644
+--- a/tools/patman/command.py
++++ b/tools/patman/command.py
+@@ -4,6 +4,7 @@
+
+ import os
+ import cros_subprocess
++import tools
+
+ """Shell command ease-ups for Python."""
+
+@@ -31,6 +32,13 @@ class CommandResult:
+ self.return_code = return_code
+ self.exception = exception
+
++ def ToOutput(self, binary):
++ if not binary:
++ self.stdout = tools.ToString(self.stdout)
++ self.stderr = tools.ToString(self.stderr)
++ self.combined = tools.ToString(self.combined)
++ return self
++
+
+ # This permits interception of RunPipe for test purposes. If it is set to
+ # a function, then that function is called with the pipe list being
+@@ -41,7 +49,7 @@ test_result = None
+
+ def RunPipe(pipe_list, infile=None, outfile=None,
+ capture=False, capture_stderr=False, oneline=False,
+- raise_on_error=True, cwd=None, **kwargs):
++ raise_on_error=True, cwd=None, binary=False, **kwargs):
+ """
+ Perform a command pipeline, with optional input/output filenames.
+
+@@ -67,7 +75,7 @@ def RunPipe(pipe_list, infile=None, outfile=None,
+ else:
+ return test_result
+ # No result: fall through to normal processing
+- result = CommandResult()
++ result = CommandResult(b'', b'', b'')
+ last_pipe = None
+ pipeline = list(pipe_list)
+ user_pipestr = '|'.join([' '.join(pipe) for pipe in pipe_list])
+@@ -93,29 +101,36 @@ def RunPipe(pipe_list, infile=None, outfile=None,
+ if raise_on_error:
+ raise Exception("Error running '%s': %s" % (user_pipestr, str))
+ result.return_code = 255
+- return result
++ return result.ToOutput(binary)
+
+ if capture:
+ result.stdout, result.stderr, result.combined = (
+ last_pipe.CommunicateFilter(None))
+ if result.stdout and oneline:
+- result.output = result.stdout.rstrip('\r\n')
++ result.output = result.stdout.rstrip(b'\r\n')
+ result.return_code = last_pipe.wait()
+ else:
+ result.return_code = os.waitpid(last_pipe.pid, 0)[1]
+ if raise_on_error and result.return_code:
+ raise Exception("Error running '%s'" % user_pipestr)
+- return result
++ return result.ToOutput(binary)
+
+ def Output(*cmd, **kwargs):
+ kwargs['raise_on_error'] = kwargs.get('raise_on_error', True)
+ return RunPipe([cmd], capture=True, **kwargs).stdout
+
+ def OutputOneLine(*cmd, **kwargs):
++ """Run a command and output it as a single-line string
++
++ The command us expected to produce a single line of output
++
++ Returns:
++ String containing output of command
++ """
+ raise_on_error = kwargs.pop('raise_on_error', True)
+- return (RunPipe([cmd], capture=True, oneline=True,
+- raise_on_error=raise_on_error,
+- **kwargs).stdout.strip())
++ result = RunPipe([cmd], capture=True, oneline=True,
++ raise_on_error=raise_on_error, **kwargs).stdout.strip()
++ return result
+
+ def Run(*cmd, **kwargs):
+ return RunPipe([cmd], **kwargs).stdout
+diff --git a/tools/patman/tools.py b/tools/patman/tools.py
+index 4a7fcdad21..3feddb292f 100644
+--- a/tools/patman/tools.py
++++ b/tools/patman/tools.py
+@@ -186,7 +186,7 @@ def PathHasFile(path_spec, fname):
+ return True
+ return False
+
+-def Run(name, *args):
++def Run(name, *args, **kwargs):
+ """Run a tool with some arguments
+
+ This runs a 'tool', which is a program used by binman to process files and
+@@ -201,13 +201,14 @@ def Run(name, *args):
+ CommandResult object
+ """
+ try:
++ binary = kwargs.get('binary')
+ env = None
+ if tool_search_paths:
+ env = dict(os.environ)
+ env['PATH'] = ':'.join(tool_search_paths) + ':' + env['PATH']
+ all_args = (name,) + args
+ result = command.RunPipe([all_args], capture=True, capture_stderr=True,
+- env=env, raise_on_error=False)
++ env=env, raise_on_error=False, binary=binary)
+ if result.return_code:
+ raise Exception("Error %d running '%s': %s" %
+ (result.return_code,' '.join(all_args),
+@@ -375,7 +376,7 @@ def ToBytes(string):
+ """Convert a str type into a bytes type
+
+ Args:
+- string: string to convert value
++ string: string to convert
+
+ Returns:
+ Python 3: A bytes type
+@@ -385,6 +386,18 @@ def ToBytes(string):
+ return string.encode('utf-8')
+ return string
+
++def ToString(bval):
++ """Convert a bytes type into a str type
++
++ Args:
++ bval: bytes value to convert
++
++ Returns:
++ Python 3: A bytes type
++ Python 2: A string type
++ """
++ return bval.decode('utf-8')
++
+ def Compress(indata, algo, with_header=True):
+ """Compress some data using a given algorithm
+
+@@ -406,14 +419,14 @@ def Compress(indata, algo, with_header=True):
+ fname = GetOutputFilename('%s.comp.tmp' % algo)
+ WriteFile(fname, indata)
+ if algo == 'lz4':
+- data = Run('lz4', '--no-frame-crc', '-c', fname)
++ data = Run('lz4', '--no-frame-crc', '-c', fname, binary=True)
+ # cbfstool uses a very old version of lzma
+ elif algo == 'lzma':
+ outfname = GetOutputFilename('%s.comp.otmp' % algo)
+ Run('lzma_alone', 'e', fname, outfname, '-lc1', '-lp0', '-pb0', '-d8')
+ data = ReadFile(outfname)
+ elif algo == 'gzip':
+- data = Run('gzip', '-c', fname)
++ data = Run('gzip', '-c', fname, binary=True)
+ else:
+ raise ValueError("Unknown algorithm '%s'" % algo)
+ if with_header:
+@@ -446,13 +459,13 @@ def Decompress(indata, algo, with_header=True):
+ with open(fname, 'wb') as fd:
+ fd.write(indata)
+ if algo == 'lz4':
+- data = Run('lz4', '-dc', fname)
++ data = Run('lz4', '-dc', fname, binary=True)
+ elif algo == 'lzma':
+ outfname = GetOutputFilename('%s.decomp.otmp' % algo)
+ Run('lzma_alone', 'd', fname, outfname)
+- data = ReadFile(outfname)
++ data = ReadFile(outfname, binary=True)
+ elif algo == 'gzip':
+- data = Run('gzip', '-cd', fname)
++ data = Run('gzip', '-cd', fname, binary=True)
+ else:
+ raise ValueError("Unknown algorithm '%s'" % algo)
+ return data
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Drop-binary-parameter.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Drop-binary-parameter.patch
new file mode 100644
index 00000000..cee88472
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Drop-binary-parameter.patch
@@ -0,0 +1,105 @@
+From 3b1c0b09c99bfd30355a6ba87a15e9d408a51109 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Sat, 24 Aug 2019 07:22:41 -0600
+Subject: [PATCH] patman: Drop binary parameter
+
+Since cros_subprocess use bytestrings now, this feature not needed. Drop
+it.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ tools/patman/cros_subprocess.py | 3 +--
+ tools/patman/tools.py | 15 +++++++--------
+ 2 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/tools/patman/cros_subprocess.py b/tools/patman/cros_subprocess.py
+index 06be64cc2c..0f0d60dfb7 100644
+--- a/tools/patman/cros_subprocess.py
++++ b/tools/patman/cros_subprocess.py
+@@ -54,7 +54,7 @@ class Popen(subprocess.Popen):
+ """
+
+ def __init__(self, args, stdin=None, stdout=PIPE_PTY, stderr=PIPE_PTY,
+- shell=False, cwd=None, env=None, binary=False, **kwargs):
++ shell=False, cwd=None, env=None, **kwargs):
+ """Cut-down constructor
+
+ Args:
+@@ -72,7 +72,6 @@ class Popen(subprocess.Popen):
+ """
+ stdout_pty = None
+ stderr_pty = None
+- self.binary = binary
+
+ if stdout == PIPE_PTY:
+ stdout_pty = pty.openpty()
+diff --git a/tools/patman/tools.py b/tools/patman/tools.py
+index 0d4705db76..97441ca796 100644
+--- a/tools/patman/tools.py
++++ b/tools/patman/tools.py
+@@ -186,7 +186,7 @@ def PathHasFile(path_spec, fname):
+ return True
+ return False
+
+-def Run(name, *args, **kwargs):
++def Run(name, *args):
+ """Run a tool with some arguments
+
+ This runs a 'tool', which is a program used by binman to process files and
+@@ -196,7 +196,6 @@ def Run(name, *args, **kwargs):
+ Args:
+ name: Command name to run
+ args: Arguments to the tool
+- kwargs: Options to pass to command.run()
+
+ Returns:
+ CommandResult object
+@@ -206,8 +205,8 @@ def Run(name, *args, **kwargs):
+ if tool_search_paths:
+ env = dict(os.environ)
+ env['PATH'] = ':'.join(tool_search_paths) + ':' + env['PATH']
+- return command.Run(name, *args, capture=True,
+- capture_stderr=True, env=env, **kwargs)
++ return command.Run(name, *args, capture=True, capture_stderr=True,
++ env=env)
+ except:
+ if env and not PathHasFile(env['PATH'], name):
+ msg = "Please install tool '%s'" % name
+@@ -401,14 +400,14 @@ def Compress(indata, algo, with_header=True):
+ fname = GetOutputFilename('%s.comp.tmp' % algo)
+ WriteFile(fname, indata)
+ if algo == 'lz4':
+- data = Run('lz4', '--no-frame-crc', '-c', fname, binary=True)
++ data = Run('lz4', '--no-frame-crc', '-c', fname)
+ # cbfstool uses a very old version of lzma
+ elif algo == 'lzma':
+ outfname = GetOutputFilename('%s.comp.otmp' % algo)
+ Run('lzma_alone', 'e', fname, outfname, '-lc1', '-lp0', '-pb0', '-d8')
+ data = ReadFile(outfname)
+ elif algo == 'gzip':
+- data = Run('gzip', '-c', fname, binary=True)
++ data = Run('gzip', '-c', fname)
+ else:
+ raise ValueError("Unknown algorithm '%s'" % algo)
+ if with_header:
+@@ -441,13 +440,13 @@ def Decompress(indata, algo, with_header=True):
+ with open(fname, 'wb') as fd:
+ fd.write(indata)
+ if algo == 'lz4':
+- data = Run('lz4', '-dc', fname, binary=True)
++ data = Run('lz4', '-dc', fname)
+ elif algo == 'lzma':
+ outfname = GetOutputFilename('%s.decomp.otmp' % algo)
+ Run('lzma_alone', 'd', fname, outfname)
+ data = ReadFile(outfname)
+ elif algo == 'gzip':
+- data = Run('gzip', '-cd', fname, binary=True)
++ data = Run('gzip', '-cd', fname)
+ else:
+ raise ValueError("Unknown algorithm '%s'" % algo)
+ return data
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Update-command.Run-to-handle-failure-better.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Update-command.Run-to-handle-failure-better.patch
new file mode 100644
index 00000000..bd23c458
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-patman-Update-command.Run-to-handle-failure-better.patch
@@ -0,0 +1,42 @@
+From 6eace398072a62e74f10f412ffadfe51b7402395 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Sat, 24 Aug 2019 07:22:42 -0600
+Subject: [PATCH] patman: Update command.Run() to handle failure better
+
+At present tools are not expected to fail. If they do an exception is
+raised but there is no detail about what went wrong. This makes it hard
+to debug if something does actually go wrong.
+
+Fix this by outputting both stderr and stdout on failure.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ tools/patman/tools.py | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/tools/patman/tools.py b/tools/patman/tools.py
+index 97441ca796..0952681579 100644
+--- a/tools/patman/tools.py
++++ b/tools/patman/tools.py
+@@ -205,8 +205,14 @@ def Run(name, *args):
+ if tool_search_paths:
+ env = dict(os.environ)
+ env['PATH'] = ':'.join(tool_search_paths) + ':' + env['PATH']
+- return command.Run(name, *args, capture=True, capture_stderr=True,
+- env=env)
++ all_args = (name,) + args
++ result = command.RunPipe([all_args], capture=True, capture_stderr=True,
++ env=env, raise_on_error=False)
++ if result.return_code:
++ raise Exception("Error %d running '%s': %s" %
++ (result.return_code,' '.join(all_args),
++ result.stderr))
++ return result.stdout
+ except:
+ if env and not PathHasFile(env['PATH'], name):
+ msg = "Please install tool '%s'" % name
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-pylibfdt-Convert-to-Python-3.patch b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-pylibfdt-Convert-to-Python-3.patch
new file mode 100644
index 00000000..e74609de
--- /dev/null
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq/0001-pylibfdt-Convert-to-Python-3.patch
@@ -0,0 +1,117 @@
+From b4cf5f1df741e8781bed6149291823cd1a4b8baa Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Thu, 31 Oct 2019 07:42:59 -0600
+Subject: [PATCH] pylibfdt: Convert to Python 3
+
+Build this swig module with Python 3.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ scripts/dtc/pylibfdt/Makefile | 2 +-
+ scripts/dtc/pylibfdt/libfdt.i_shipped | 2 +-
+ scripts/dtc/pylibfdt/setup.py | 2 +-
+ tools/binman/entry.py | 16 ++--------------
+ tools/binman/entry_test.py | 15 ---------------
+ 5 files changed, 5 insertions(+), 32 deletions(-)
+
+diff --git a/scripts/dtc/pylibfdt/Makefile b/scripts/dtc/pylibfdt/Makefile
+index 15e66ad44d..42342c75bb 100644
+--- a/scripts/dtc/pylibfdt/Makefile
++++ b/scripts/dtc/pylibfdt/Makefile
+@@ -21,7 +21,7 @@ quiet_cmd_pymod = PYMOD $@
+ CPPFLAGS="$(HOSTCFLAGS) -I$(LIBFDT_srcdir)" OBJDIR=$(obj) \
+ SOURCES="$(PYLIBFDT_srcs)" \
+ SWIG_OPTS="-I$(LIBFDT_srcdir) -I$(LIBFDT_srcdir)/.." \
+- $(PYTHON2) $< --quiet build_ext --inplace
++ $(PYTHON3) $< --quiet build_ext --inplace
+
+ $(obj)/_libfdt.so: $(src)/setup.py $(PYLIBFDT_srcs) FORCE
+ $(call if_changed,pymod)
+diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
+index 76e61e98bd..53b70f8f5e 100644
+--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
+@@ -624,7 +624,7 @@ class Fdt(FdtRo):
+ Raises:
+ FdtException if no parent found or other error occurs
+ """
+- val = val.encode('utf-8') + '\0'
++ val = val.encode('utf-8') + b'\0'
+ return check_err(fdt_setprop(self._fdt, nodeoffset, prop_name,
+ val, len(val)), quiet)
+
+diff --git a/scripts/dtc/pylibfdt/setup.py b/scripts/dtc/pylibfdt/setup.py
+index 4f7cf042bf..992cdec30f 100755
+--- a/scripts/dtc/pylibfdt/setup.py
++++ b/scripts/dtc/pylibfdt/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+
+ """
+ setup.py file for SWIG libfdt
+diff --git a/tools/binman/entry.py b/tools/binman/entry.py
+index 409c0dca93..5bf5be4794 100644
+--- a/tools/binman/entry.py
++++ b/tools/binman/entry.py
+@@ -7,16 +7,7 @@
+ from __future__ import print_function
+
+ from collections import namedtuple
+-
+-# importlib was introduced in Python 2.7 but there was a report of it not
+-# working in 2.7.12, so we work around this:
+-# http://lists.denx.de/pipermail/u-boot/2016-October/269729.html
+-try:
+- import importlib
+- have_importlib = True
+-except:
+- have_importlib = False
+-
++import importlib
+ import os
+ import sys
+
+@@ -119,10 +110,7 @@ class Entry(object):
+ old_path = sys.path
+ sys.path.insert(0, os.path.join(our_path, 'etype'))
+ try:
+- if have_importlib:
+- module = importlib.import_module(module_name)
+- else:
+- module = __import__(module_name)
++ module = importlib.import_module(module_name)
+ except ImportError as e:
+ raise ValueError("Unknown entry type '%s' in node '%s' (expected etype/%s.py, error '%s'" %
+ (etype, node_path, module_name, e))
+diff --git a/tools/binman/entry_test.py b/tools/binman/entry_test.py
+index 13f5864516..277e10b585 100644
+--- a/tools/binman/entry_test.py
++++ b/tools/binman/entry_test.py
+@@ -39,21 +39,6 @@ class TestEntry(unittest.TestCase):
+ else:
+ import entry
+
+- def test1EntryNoImportLib(self):
+- """Test that we can import Entry subclassess successfully"""
+- sys.modules['importlib'] = None
+- global entry
+- self._ReloadEntry()
+- entry.Entry.Create(None, self.GetNode(), 'u-boot')
+- self.assertFalse(entry.have_importlib)
+-
+- def test2EntryImportLib(self):
+- del sys.modules['importlib']
+- global entry
+- self._ReloadEntry()
+- entry.Entry.Create(None, self.GetNode(), 'u-boot-spl')
+- self.assertTrue(entry.have_importlib)
+-
+ def testEntryContents(self):
+ """Test the Entry bass class"""
+ import entry
+--
+2.24.0
+
diff --git a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2019.10.bb
index 8438134d..571fadb7 100644
--- a/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb
+++ b/bsp/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2019.10.bb
@@ -1,21 +1,48 @@
require recipes-bsp/u-boot/u-boot.inc
-require u-boot-qoriq-common_${PV}.inc
DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ boards"
PROVIDES += "u-boot"
+inherit fsl-u-boot-localversion
+
+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 \
+"
+
+SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/u-boot;nobranch=1 \
+ file://0001-patman-Drop-binary-parameter.patch \
+ file://0001-patman-Update-command.Run-to-handle-failure-better.patch \
+ file://0001-patman-Adjust-command-to-return-strings-instead-of-b.patch \
+ file://0001-pylibfdt-Convert-to-Python-3.patch \
+ file://0001-binman-Convert-a-few-tests-to-Python-3.patch \
+ file://0001-binman-Move-to-use-Python-3.patch \
+ file://0001-buildman-Convert-to-Python-3.patch \
+ file://0001-Remove-redundant-YYLOC-global-declaration.patch \
+"
+SRCREV= "1e55b2f9e7f56b76569089b9e950f49c1579580e"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+PV_append = "+fslgit"
+LOCALVERSION = "+fsl"
+
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python-native"
-DEPENDS_append_qoriq-arm64 = " change-file-endianess-native dtc-native tcl-native"
-DEPENDS_append_qoriq-arm = " change-file-endianess-native dtc-native tcl-native"
+DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native"
+DEPENDS_append_qoriq-arm64 = " dtc-native"
+DEPENDS_append_qoriq-arm = " dtc-native"
DEPENDS_append_qoriq-ppc = " boot-format-native"
python () {
- if d.getVar("TCMODE", True) == "external-fsl":
+ if d.getVar("TCMODE") == "external-fsl":
return
- ml = d.getVar("MULTILIB_VARIANTS", True)
- arch = d.getVar("OVERRIDES", True)
+ ml = d.getVar("MULTILIB_VARIANTS")
+ arch = d.getVar("OVERRIDES")
if "e5500-64b:" in arch or "e6500-64b:" in arch:
if not "lib32" in ml:
@@ -46,6 +73,7 @@ ENDIANNESS_LD = "${@bb.utils.contains("LE_UBOOT_FOR_ARMBE_TARGET", "1", "-EL", "
WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${ENDIANNESS_GCC}" LD="${WRAP_TARGET_PREFIX}ld ${ENDIANNESS_LD}" V=1'
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
+EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
do_compile_append_qoriq() {
unset i j k
diff --git a/bsp/meta-freescale/recipes-bsp/uefi/uefi_git.bb b/bsp/meta-freescale/recipes-bsp/uefi/uefi_git.bb
index 8b63f501..f94a67e2 100644
--- a/bsp/meta-freescale/recipes-bsp/uefi/uefi_git.bb
+++ b/bsp/meta-freescale/recipes-bsp/uefi/uefi_git.bb
@@ -3,10 +3,10 @@ SECTION = "bootloaders"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;fsl-eula=true;nobranch=1"
-SRCREV= "5b259f75decbc478bcab0612d79a58562bef1838"
+SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1"
+SRCREV= "e95ed52322f15437f98dee2b27de45a7495d648c"
S = "${WORKDIR}/git"