diff options
Diffstat (limited to 'recipes-bsp')
67 files changed, 1243 insertions, 812 deletions
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend index b4b1eddf..b6194d76 100644 --- a/recipes-bsp/alsa-state/alsa-state.bbappend +++ b/recipes-bsp/alsa-state/alsa-state.bbappend @@ -1,4 +1,4 @@ -FILESEXTRAPATHS:prepend:imx-generic-bsp := "${THISDIR}/${PN}/imx-generic-bsp:" +# Prepend path to override files from upstream recipe +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -# Append path for freescale layer PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}" diff --git a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf index c511018e..c511018e 100644 --- a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.conf +++ b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf diff --git a/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf new file mode 100644 index 00000000..0084f4a0 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf @@ -0,0 +1,271 @@ +defaults.pcm.rate_converter "linear" + +pcm.dmix_48000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 48000 +} +} + +pcm.dmix_44100{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 44100 +} +} + +pcm.dmix_32000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 32000 +} +} + +pcm.dmix_24000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 24000 +} +} + +pcm.dmix_22050{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 22050 +} +} + +pcm.dmix_16000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 16000 +} +} + +pcm.dmix_12000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 12000 +} +} + +pcm.dmix_11025{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 11025 +} +} + +pcm.dmix_8000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 8000 +} +} + +pcm.!dsnoop_48000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 48000 +} +} + +pcm.!dsnoop_44100{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 44100 +} +} + +pcm.!dsnoop_32000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 32000 +} +} + +pcm.!dsnoop_24000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 24000 +} +} + +pcm.!dsnoop_22050{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 22050 +} +} + +pcm.!dsnoop_16000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 16000 +} +} + +pcm.!dsnoop_12000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 12000 +} +} + +pcm.!dsnoop_11025{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 11025 +} +} + +pcm.!dsnoop_8000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 8000 +} +} + +pcm.asymed{ +type asym +playback.pcm "dmix_44100" +capture.pcm "dsnoop_44100" +} + +pcm.dsp0{ +type plug +slave.pcm "asymed" +} + +pcm.!default{ +type plug +route_policy "average" +slave.pcm "asymed" +} + +ctl.!default{ +type hw +card 0 +} + +ctl.mixer0{ +type hw +card 0 +} + +pcm_slave.esai{ + pcm "hw:0,0" + channels 8 + rate 48000 + period_time 40000 +} + +pcm.esaich1to6{ + type dshare + ipc_key 5778293 + slave esai + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 + bindings.4 2 + bindings.5 6 +} + +pcm.esaich78{ + type dshare + ipc_key 5778293 + slave esai + bindings.0 3 + bindings.1 7 +} diff --git a/recipes-bsp/atf/qoriq-atf-2.4.inc b/recipes-bsp/atf/qoriq-atf-2.4.inc deleted file mode 100644 index 38a992b3..00000000 --- a/recipes-bsp/atf/qoriq-atf-2.4.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "ARM Trusted Firmware" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" - -SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf.git;nobranch=1" -SRCREV = "bb4957067d4b96a6ee197a333425948e409e990d" - -S = "${WORKDIR}/git" - diff --git a/recipes-bsp/atf/qoriq-atf-2.6.inc b/recipes-bsp/atf/qoriq-atf-2.6.inc new file mode 100644 index 00000000..d5ef5e75 --- /dev/null +++ b/recipes-bsp/atf/qoriq-atf-2.6.inc @@ -0,0 +1,12 @@ +DESCRIPTION = "ARM Trusted Firmware" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" + +ATF_BRANCH ?= "lf_v2.6" +ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https" +SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}" +SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75" + +S = "${WORKDIR}/git" + diff --git a/recipes-bsp/atf/qoriq-atf-tools_2.4.bb b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb index eccf12c8..2c1db306 100644 --- a/recipes-bsp/atf/qoriq-atf-tools_2.4.bb +++ b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb @@ -1,8 +1,10 @@ -require recipes-bsp/atf/qoriq-atf-2.4.inc +require qoriq-atf-${PV}.inc DEPENDS += "openssl" -EXTRA_OEMAKE = "fiptool V=1 HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'" +PV:append = "+${SRCPV}" + +EXTRA_OEMAKE = "fiptool V=1 PLAT=lx2162aqds HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'" do_install () { install -m 0755 -d ${D}/${bindir} diff --git a/recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch b/recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch new file mode 100644 index 00000000..a8801082 --- /dev/null +++ b/recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch @@ -0,0 +1,35 @@ +From 9ceeb0cadffee1b1476718795d0568f6b244bf44 Mon Sep 17 00:00:00 2001 +From: Jun Zhu <junzhu@nxp.com> +Date: Mon, 31 Oct 2022 21:24:15 +0800 +Subject: [PATCH] tf-a-tests-no-warn-rwx-segments + +Binutils 2.39 now warns when a segment has RXW permissions[1]: + +aarch64-poky-linux-musl-ld: tftf.elf has a LOAD segment with RWX permissions + +There is a ticket filed upstream[2], so until that is resolved just disable the warning +[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 +[2] https://developer.trustedfirmware.org/T996 + +Upstream-Status: Backport [https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19401] +Signed-off-by: Jun Zhu <junzhu@nxp.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dccf0121d..0d082344b 100644 +--- a/Makefile ++++ b/Makefile +@@ -445,7 +445,7 @@ TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case + ifeq ($(findstring ld.lld,$(notdir $(LD))),) +-TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) ++TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) --no-warn-rwx-segments + endif + endif + +-- +2.25.1 + diff --git a/recipes-bsp/atf/qoriq-atf_2.4.bb b/recipes-bsp/atf/qoriq-atf_2.6.bb index b6716272..5ae2ed9d 100644 --- a/recipes-bsp/atf/qoriq-atf_2.4.bb +++ b/recipes-bsp/atf/qoriq-atf_2.6.bb @@ -1,14 +1,18 @@ -require recipes-bsp/atf/qoriq-atf-2.4.inc +require qoriq-atf-${PV}.inc inherit deploy -DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native rcw cst-native bc-native" -DEPENDS:append:lx2160a = " ddr-phy" -DEPENDS:append:lx2162a = " ddr-phy" +DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native rcw qoriq-cst-native bc-native" do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy" -SRC_URI += "git://github.com/ARMmbed/mbedtls;nobranch=1;destsuffix=git/mbedtls;name=mbedtls;protocol=https" +PV:append = "+${SRCPV}" + +SRC_URI += "git://github.com/ARMmbed/mbedtls;protocol=https;nobranch=1;destsuffix=git/mbedtls;name=mbedtls \ + git://github.com/nxp/ddr-phy-binary;protocol=https;nobranch=1;destsuffix=git/ddr-phy-binary;name=ddr \ + file://tf-a-tests-no-warn-rwx-segments.patch \ +" SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708" +SRCREV_ddr = "fbc036b88acb6c06ffed02c898cbae9856ec75ba" SRCREV_FORMAT = "atf" COMPATIBLE_MACHINE = "(qoriq)" @@ -17,12 +21,14 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" PLATFORM = "${MACHINE}" PLATFORM:ls1088ardb-pb = "ls1088ardb" +PLATFORM:lx2160ardb-rev2 = "lx2160ardb" PLATFORM_ADDITIONAL_TARGET ??= "" PLATFORM_ADDITIONAL_TARGET:ls1012afrwy = "ls1012afrwy_512mb" RCW_FOLDER ?= "${MACHINE}" RCW_FOLDER:ls1088ardb-pb = "ls1088ardb" RCW_FOLDER:lx2160ardb = "lx2160ardb_rev2" +RCW_FOLDER:lx2160ardb-rev2 = "lx2160ardb_rev2" RCW_SUFFIX ?= ".bin" RCW_SUFFIX:ls1012a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '_default.bin', d)}" @@ -40,9 +46,9 @@ chassistype:ls1012a = "ls104x_1012" chassistype:ls1043a = "ls104x_1012" chassistype:ls1046a = "ls104x_1012" -DDR_PHY_BIN_PATH ?= "" -DDR_PHY_BIN_PATH:lx2160a = "${DEPLOY_DIR_IMAGE}/ddr-phy" -DDR_PHY_BIN_PATH:lx2162a = "${DEPLOY_DIR_IMAGE}/ddr-phy" +FIP_DDR ?= "" +FIP_DDR:lx2160a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}" +FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}" # requires CROSS_COMPILE set by hand as there is no configure script export CROSS_COMPILE="${TARGET_PREFIX}" @@ -125,18 +131,15 @@ do_compile() { cp *.pem build/${PLATFORM}/release/ fi - oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY} + oe_runmake V=1 all fip pbl ${FIP_DDR} PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY} cp build/${PLATFORM}/release/bl2_${d}${SECURE_EXTENTION}.pbl . cp build/${PLATFORM}/release/fip.bin fip_uboot${SECURE_EXTENTION}.bin if [ -e build/${PLATFORM}/release/fuse_fip.bin ]; then cp build/${PLATFORM}/release/fuse_fip.bin . fi - if [ -n "${SECURE_EXTENTION}" -a -n "${DDR_PHY_BIN_PATH}" -a ! -f ddr_fip_sec.bin ]; then - oe_runmake V=1 fip_ddr PLAT=${PLATFORM} DDR_PHY_BIN_PATH=${DDR_PHY_BIN_PATH} - if [ -e build/${PLATFORM}/release/ddr_fip_sec.bin ]; then - cp build/${PLATFORM}/release/ddr_fip_sec.bin . - fi + if [ -e build/${PLATFORM}/release/ddr_fip_sec.bin ] && [ ! -f ddr_fip_sec.bin ]; then + cp build/${PLATFORM}/release/ddr_fip_sec.bin . fi if [ -e build/${PLATFORM}/release/rot_key.pem ] && [ ! -f rot_key.pem ]; then diff --git a/recipes-bsp/boot-format/boot-format/flags.patch b/recipes-bsp/boot-format/boot-format/flags.patch index cddb34cd..0a64b86b 100644 --- a/recipes-bsp/boot-format/boot-format/flags.patch +++ b/recipes-bsp/boot-format/boot-format/flags.patch @@ -1,3 +1,10 @@ +Respect LDFLAGS from environment + +This fixes cross build using OE + +Upstream-Status: Pending +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> + Index: git/Makefile =================================================================== --- git.orig/Makefile diff --git a/recipes-bsp/boot-format/boot-format_git.bb b/recipes-bsp/boot-format/boot-format_git.bb index 25a2015c..0916b45b 100644 --- a/recipes-bsp/boot-format/boot-format_git.bb +++ b/recipes-bsp/boot-format/boot-format_git.bb @@ -3,7 +3,7 @@ LICENSE = "GPL-2.0-only" PR = "r6" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/boot-format;nobranch=1 \ +SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/boot-format;protocol=https;nobranch=1 \ file://flags.patch" SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550" diff --git a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb deleted file mode 100644 index 7b77e6f8..00000000 --- a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb +++ /dev/null @@ -1,30 +0,0 @@ -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/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb new file mode 100644 index 00000000..5cf543ab --- /dev/null +++ b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb @@ -0,0 +1,29 @@ +SUMMARY = "DP firmware" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +inherit deploy fsl-eula-unpack + +SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true" + +SRC_URI[md5sum] = "9ed2923c0eb511c7fcf37dd607944124" +SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84" + +S = "${WORKDIR}/firmware-imx-8.16" + +do_install () { + install -d ${D}/boot + install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${D}/boot/ls1028a-dp-fw.bin +} + +do_deploy () { + install -d ${DEPLOYDIR}/dp + install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${DEPLOYDIR}/dp/ls1028a-dp-fw.bin +} +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/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb new file mode 100644 index 00000000..70252c01 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb @@ -0,0 +1,40 @@ +# Copyright 2021-2023 NXP +SUMMARY = "NXP i.MX ELE firmware" +DESCRIPTION = "EdgeLock Enclave firmware for i.MX series SoCs" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" + +inherit fsl-eula-unpack use-imx-security-controller-firmware deploy + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "f4df2005ec4555e9f177acbf62a7a969" +SRC_URI[sha256sum] = "3f69d6cf6ea448c5c2f87b6acdad1c5c2318616d246cc5047a523f2543fee408" + +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${nonarch_base_libdir}/firmware/imx/ele + install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele + if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then + install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele + fi +} + +do_deploy () { + # Deploy the related firmware to be package by imx-boot + install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +PACKAGES += "${PN}-ext" + +ALLOW_EMPTY:${PN}-ext = "1" + +FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}" +FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}" + +RREPLACES:${PN} = "firmware-sentinel" +RPROVIDES:${PN} = "firmware-sentinel" + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.15.inc b/recipes-bsp/firmware-imx/firmware-imx-8.23.inc index 73f627fb..bd471f77 100644 --- a/recipes-bsp/firmware-imx/firmware-imx-8.15.inc +++ b/recipes-bsp/firmware-imx/firmware-imx-8.23.inc @@ -1,16 +1,16 @@ # Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright 2017-2022 NXP # Copyright (C) 2018 O.S. Systems Software LTDA. SECTION = "base" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829" +LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" SRC_URI = " \ ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ " -SRC_URI[md5sum] = "ef91390da6c8a6a48c8121a5dd667de8" -SRC_URI[sha256sum] = "937e196476b8e95b4b7f2501a14c8326d8a0649f8a3f9228b72373770a08deb3" +SRC_URI[md5sum] = "eb03efb3a8fb98d99ed1df88537e72f4" +SRC_URI[sha256sum] = "fe07633295dac3dd99f0ba4e07a7cde95bb24a29ca82b9a9b3f6026d29ae916a" S = "${WORKDIR}/firmware-imx-${PV}" diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb deleted file mode 100644 index 18ce14d3..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 2018-2020 NXP -SUMMARY = "Freescale i.MX firmware for 8 family" -DESCRIPTION = "Freescale i.MX firmware for 8 family" - -require firmware-imx-${PV}.inc - -inherit deploy - -do_install[noexec] = "1" - -do_deploy() { - # Cadence HDMI - 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} -} -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" -COMPATIBLE_MACHINE:mx8m-nxp-bsp = "(^$)" -COMPATIBLE_MACHINE:mx8x-nxp-bsp = "(^$)" diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb deleted file mode 100644 index 152ef0b5..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2018-2020 NXP -SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" -DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" - -require firmware-imx-${PV}.inc - -inherit deploy - -do_install[noexec] = "1" - -do_deploy() { - # Synopsys DDR - for ddr_firmware in ${DDR_FIRMWARE_NAME}; do - install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} - done - # Cadence DP and HDMI - install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} -} -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8m-generic-bsp)" diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.15.bb b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb index f84ea1fa..a9e36b5e 100644 --- a/recipes-bsp/firmware-imx/firmware-imx_8.15.bb +++ b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb @@ -1,5 +1,5 @@ # Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright 2017-2021 NXP # Copyright (C) 2018 O.S. Systems Software LTDA. SUMMARY = "Freescale i.MX firmware" DESCRIPTION = "Freescale i.MX firmware such as for the VPU" diff --git a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb index 5a7e6a1d..d28b2382 100644 --- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb +++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb @@ -1,17 +1,17 @@ -# Copyright 2020-2021 NXP +# Copyright 2020-2023 NXP SUMMARY = "Wi-Fi firmware redistributed by NXP" -DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP, \ -which is not covered by linux-firmware package. Once package becomes \ -available as a part of linux-firmware - it can be dropped from this \ -recipe in favor of upstream." +DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \ +is available in linux-firmware, but what is here is the latest and \ +should be preferred." SECTION = "kernel" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://cyw-wifi-bt/EULA.txt;md5=80c0478f4339af024519b3723023fe28" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44a8052c384584ba09077e85a3d1654f" -SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https;branch=master" -SRCREV = "484d38224fa2c26b8859a7bf20b7c4d49100f5bc" +SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "lf-6.6.3_1.0.0" +SRCREV = "2afa15e77f0b58eade42b4f59c9215339efcca66" S = "${WORKDIR}/git" @@ -25,17 +25,41 @@ do_compile() { } do_install() { - install -d ${D}${sysconfdir}/firmware - install -d ${D}${nonarch_base_libdir}/firmware/brcm - # Install various flavors of Broadcom firmware provided by Murata: - # - bcm4359-pcie - install -m 0644 cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie* ${D}${nonarch_base_libdir}/firmware/brcm - install -m 0644 cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd ${D}${sysconfdir}/firmware + install -d ${D}${nonarch_base_libdir}/firmware/nxp + install -d ${D}${nonarch_base_libdir}/firmware/brcm/ + + # Install bcm4359-pcie + for f in cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie*; do + install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/brcm/$(basename $f) + done + + for f in cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd; do + install -D -m 0644 $f ${D}${sysconfdir}/firmware/$(basename $f) + done + + for f in nxp/FwImage_IW612_SD/*; do + install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/$(basename $f) + done + + oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp + + } PACKAGES =+ " \ ${PN}-bcm4359-pcie \ + ${PN}-nxp-common \ + ${PN}-nxp8801-sdio \ + ${PN}-nxp8987-sdio \ + ${PN}-nxp8997-common \ + ${PN}-nxp8997-pcie \ + ${PN}-nxp8997-sdio \ + ${PN}-nxp9098-pcie \ + ${PN}-nxp9098-common \ + ${PN}-nxp9098-sdio \ + ${PN}-nxpiw416-sdio \ + ${PN}-nxpiw612-sdio \ " FILES:${PN}-bcm4359-pcie = " \ @@ -43,4 +67,93 @@ FILES:${PN}-bcm4359-pcie = " \ ${sysconfdir}/firmware/BCM4349B1_*.hcd \ " -RPROVIDES:${PN}-bcm4359-pcie = "linux-firmware-bcm4359-pcie" +FILES:${PN}-nxp-common = " \ + ${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf \ + ${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \ +" + +FILES:${PN}-nxp8801-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/*8801* \ +" +RDEPENDS:${PN}-nxp8801-sdio += "${PN}-nxp-common" + +FILES:${PN}-nxp8987-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/*8987* \ +" +RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-common" +RPROVIDES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio" +RREPLACES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio" +RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio" + +FILES:${PN}-nxp8997-common = " \ + ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \ + ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \ + ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \ +" +RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common" +RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" +RREPLACES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" +RCONFLICTS:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" + +FILES:${PN}-nxp8997-pcie = " \ + ${nonarch_base_libdir}/firmware/nxp/pci*8997* \ +" +RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common" +RPROVIDES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" +RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" +RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" + +FILES:${PN}-nxp8997-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \ +" +RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common" +RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" +RREPLACES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" +RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" + +FILES:${PN}-nxp9098-common = " \ + ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \ + ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \ + ${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin \ +" +RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common" +RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" +RREPLACES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" +RCONFLICTS:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" + +FILES:${PN}-nxp9098-pcie = " \ + ${nonarch_base_libdir}/firmware/nxp/pcie*9098* \ +" +RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common" +RPROVIDES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" +RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" +RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" + +FILES:${PN}-nxp9098-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/sdio*9098* \ +" +RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common" +RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" +RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" +RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" + +FILES:${PN}-nxpiw416-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/*iw416* \ +" +RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common" +RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" +RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" +RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" + +FILES:${PN}-nxpiw612-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \ + ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \ + ${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \ + ${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \ +" +RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common" +RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" +RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" +RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" + +COMPATIBLE_MACHINE = "(imx-generic-bsp)" diff --git a/recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb index d0a497b8..9778bd1c 100644 --- a/recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb +++ b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2020 Mihai Lindner <mihai.lindner@nxp.com> +# Copyright (C) 2020-2022 NXP # Released under the MIT license (see COPYING.MIT for the terms) DESCRIPTION = "Sound Open Firmware" @@ -8,8 +8,8 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444" SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz" -SRC_URI[md5sum] = "7560d41c3be0a97c744874b531649326" -SRC_URI[sha256sum] = "106cfb3da27867520d86649cde98256217829c97f41984e10161c1e2707e2c4e" +SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6" +SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b" S = "${WORKDIR}/sof-imx-${PV}" diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb new file mode 100644 index 00000000..24619859 --- /dev/null +++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb @@ -0,0 +1,61 @@ +# Copyright (C) 2018-2023 NXP +SUMMARY = "Freescale i.MX Firmware files used for boot" + +require firmware-imx-${PV}.inc + +inherit deploy nopackages + +do_install[noexec] = "1" + +DEPLOY_FOR = "" +DEPLOY_FOR:mx8-generic-bsp = "mx8" +DEPLOY_FOR:mx8m-generic-bsp = "mx8m" +DEPLOY_FOR:mx9-generic-bsp = "mx9" + +deploy_for_mx8() { + # Cadence HDMI + 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} +} + +deploy_for_mx8m() { + # Synopsys DDR + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done + + # Cadence DP and HDMI + install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} +} + + +deploy_for_mx9() { + # Synopsys DDR + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done +} + +python () { + # Manually add the required functions as dependencies otherwise they won't be included in the + # final run script. + deploy_for = d.getVar('DEPLOY_FOR', True).split() + for soc in deploy_for: + d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc) +} + +do_deploy () { + for soc in ${DEPLOY_FOR}; do + bbnote "Running deploy for $soc" + deploy_for_$soc + done +} + +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" +COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)" diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb new file mode 100644 index 00000000..3a7660f8 --- /dev/null +++ b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb @@ -0,0 +1,31 @@ +# Copyright 2021-2022 NXP +DESCRIPTION = "NXP i.MX uPower firmware" +LICENSE = "Proprietary" +SECTION = "BSP" +LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +S = "${WORKDIR}/${PN}-${PV}" + +inherit fsl-eula-unpack pkgconfig deploy + +SRC_URI[md5sum] = "65f28bd8ace3ce7116cb15685bfe1cd0" +SRC_URI[sha256sum] = "1df3a03d69feb38a450ee63abc7713d78cf6339988476e4c9f95ebbf63790f66" + +do_configure[noexec] = "1" + +do_compile[noexec] = "1" + +do_install[noexec] = "1" + +BOOT_TOOLS = "imx-boot-tools" + +do_deploy () { + # Deploy the related firmware to be package by imx-boot + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${S}/${UPOWER_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/upower.bin +} +addtask deploy after do_install before do_build + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)" diff --git a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb index 260737ff..3883c024 100644 --- a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb +++ b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb @@ -5,7 +5,7 @@ and configuration files." LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" -SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1" +SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1" SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354" S = "${WORKDIR}/git" diff --git a/recipes-bsp/imx-atf/imx-atf/0001-Makefile-Suppress-array-bounds-error.patch b/recipes-bsp/imx-atf/imx-atf/0001-Makefile-Suppress-array-bounds-error.patch deleted file mode 100644 index 37b5ce6f..00000000 --- a/recipes-bsp/imx-atf/imx-atf/0001-Makefile-Suppress-array-bounds-error.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 85f576054a4d5496706bbd37a520942f51cb74b9 Mon Sep 17 00:00:00 2001 -From: Tom Hochstein <tom.hochstein@nxp.com> -Date: Mon, 16 May 2022 13:45:16 -0500 -Subject: [PATCH] Makefile: Suppress array-bounds error - -The array-bounds error is triggered now in cases where it was silent before, -causing errors like: - -``` -plat/imx/imx8m/hab.c: In function 'imx_hab_handler': -plat/imx/imx8m/hab.c:64:57: error: array subscript 0 is outside array bounds of 'uint32_t[0]' {aka 'unsigned int[]'} [-Werror=array-bounds] - 64 | #define HAB_RVT_CHECK_TARGET_ARM64 ((unsigned long)*(uint32_t *)(HAB_RVT_BASE + 0x18)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -``` - -It appears that these new cases will be silenced soon in gcc [1], so for -now just silence the warning locally as a workaround. - -[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c39 - -Upstream-Status: Inappropriate [other] -Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index c87c3ae08..2d6b90f47 100644 ---- a/Makefile -+++ b/Makefile -@@ -346,7 +346,7 @@ WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ - endif - - ifneq (${E},0) --ERRORS := -Werror -+ERRORS := -Werror -Wno-error=array-bounds - endif - - CPPFLAGS = ${DEFINES} ${INCLUDES} ${MBEDTLS_INC} -nostdinc \ --- -2.17.1 - diff --git a/recipes-bsp/imx-atf/imx-atf_2.4.bb b/recipes-bsp/imx-atf/imx-atf_2.8.bb index a8068eb0..8bd6ad12 100644 --- a/recipes-bsp/imx-atf/imx-atf_2.4.bb +++ b/recipes-bsp/imx-atf/imx-atf_2.8.bb @@ -1,29 +1,28 @@ -# Copyright (C) 2017-2021 NXP +# Copyright (C) 2017-2023 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" -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - PV .= "+git${SRCPV}" -SRCBRANCH = "lf_v2.4" -SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \ - file://0001-Makefile-Suppress-array-bounds-error.patch" -SRCREV = "05f788b9bbb13d002997e35008a4b945f7e2957b" +SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "lf_v2.8" +SRCREV = "8dbe28631802a51b3ec8179b2c5635b00393ad97" S = "${WORKDIR}/git" inherit deploy -BOOT_TOOLS = "imx-boot-tools" - ATF_PLATFORM ??= "INVALID" +# FIXME: We should return INVALID here but currently only i.MX8M has support to override the UART +# base address in source code. +ATF_BOOT_UART_BASE ?= "" + EXTRA_OEMAKE += " \ - CROSS_COMPILE="${TARGET_PREFIX}" \ + CROSS_COMPILE=${TARGET_PREFIX} \ PLAT=${ATF_PLATFORM} \ " @@ -34,7 +33,11 @@ AS[unexport] = "1" LD[unexport] = "1" # Baremetal, just need a compiler -DEPENDS:remove = "virtual/${TARGET_PREFIX}compilerlibs virtual/libc" +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "virtual/${HOST_PREFIX}gcc" + +# Bring in clang compiler if using clang as default +DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}" BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}" @@ -45,28 +48,33 @@ def remove_options_tail (in_string): from itertools import takewhile return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' '))) -EXTRA_OEMAKE += 'LD="${@remove_options_tail(d.getVar('LD'))}"' +EXTRA_OEMAKE += 'LD="${@remove_options_tail(d.getVar('LD'))}.bfd"' EXTRA_OEMAKE += 'CC="${@remove_options_tail(d.getVar('CC'))}"' +# Set the UART to use during the boot. +EXTRA_OEMAKE += 'IMX_BOOT_UART_BASE=${ATF_BOOT_UART_BASE}' + +do_configure[noexec] = "1" + do_compile() { # Clear LDFLAGS to avoid the option -Wl recognize issue oe_runmake bl31 if ${BUILD_OPTEE}; then - oe_runmake clean BUILD_BASE=build-optee - oe_runmake BUILD_BASE=build-optee SPD=opteed bl31 + oe_runmake clean BUILD_BASE=build-optee + oe_runmake BUILD_BASE=build-optee SPD=opteed bl31 fi } do_install[noexec] = "1" +addtask deploy after do_compile do_deploy() { install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin if ${BUILD_OPTEE}; then - install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin-optee + install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin-optee fi } -addtask deploy after do_compile -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(mx8-generic-bsp)" +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" diff --git a/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch b/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch index 9c86f074..297e64e2 100644 --- a/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch +++ b/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch @@ -6,6 +6,7 @@ Subject: [PATCH] Add missing includes as pointed out by musl These headers are indrectly included when building with glibc, this is exposed when compiling with musl systems +Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- src/mtd.h | 3 +++ diff --git a/recipes-bsp/imx-kobs/imx-kobs_git.bb b/recipes-bsp/imx-kobs/imx-kobs_git.bb index 761aac55..bdb02475 100644 --- a/recipes-bsp/imx-kobs/imx-kobs_git.bb +++ b/recipes-bsp/imx-kobs/imx-kobs_git.bb @@ -1,16 +1,17 @@ # Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright (C) 2017-2019 NXP +# Copyright (C) 2017-2019,2024 NXP # Copyright 2018 (C) O.S. Systems Software LTDA. SUMMARY = "Nand boot write source" SECTION = "base" LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" +LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" PV = "5.5+git${SRCPV}" SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https;branch=master \ + file://0001-Add-missing-includes-as-pointed-out-by-musl.patch \ " -SRCREV = "269fdffcf97238684de9f28977a73677282e061f" +SRCREV = "ff13a99a22aa73cca0e09a33c2ebb6a94ad698da" S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/recipes-bsp/imx-lib/imx-lib_git.bb b/recipes-bsp/imx-lib/imx-lib_git.bb index 99a156a5..74b7bddf 100644 --- a/recipes-bsp/imx-lib/imx-lib_git.bb +++ b/recipes-bsp/imx-lib/imx-lib_git.bb @@ -6,31 +6,31 @@ DESCRIPTION = "Platform specific libraries for imx platform" LICENSE = "LGPL-2.1-only" SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fbc093901857fcd118f065f900982c24" PE = "1" PV = "5.9+${SRCPV}" -SRCBRANCH = "lf-5.10.52_2.1.0" - -SRC_URI = "git://source.codeaurora.org/external/imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}" -SRCREV = "87ddd80953835eb29027d1d5a12044a08e809e40" +SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "lf-6.1.55_2.2.0" +SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547" S = "${WORKDIR}/git" inherit use-imx-headers -PLATFORM:mx6q-nxp-bsp = "IMX6Q" -PLATFORM:mx6dl-nxp-bsp = "IMX6Q" -PLATFORM:mx6sl-nxp-bsp = "IMX6S" +PLATFORM:mx6q-nxp-bsp = "IMX6Q" +PLATFORM:mx6dl-nxp-bsp = "IMX6Q" +PLATFORM:mx6sl-nxp-bsp = "IMX6S" PLATFORM:mx6sll-nxp-bsp = "IMX6UL" -PLATFORM:mx6sx-nxp-bsp = "IMX6S" -PLATFORM:mx6ul-nxp-bsp = "IMX6UL" +PLATFORM:mx6sx-nxp-bsp = "IMX6S" +PLATFORM:mx6ul-nxp-bsp = "IMX6UL" PLATFORM:mx6ull-nxp-bsp = "IMX6UL" -PLATFORM:mx7d-nxp-bsp = "IMX7" +PLATFORM:mx7d-nxp-bsp = "IMX7" PLATFORM:mx7ulp-nxp-bsp = "IMX7" PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" +PLATFORM:mx9-nxp-bsp = "IMX8ULP" PARALLEL_MAKE="-j 1" EXTRA_OEMAKE = "" @@ -47,4 +47,4 @@ do_install () { find ${D}/ -name *.go -exec rm {} \; } -COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp)" +COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)" diff --git a/recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch b/recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch deleted file mode 100644 index f8c68d45..00000000 --- a/recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2a6e2d40a4af78d4a0824e384c3aec55db758fee Mon Sep 17 00:00:00 2001 -From: Erik Larsson <erik.larsson@combitech.se> -Date: Tue, 6 Mar 2018 12:28:39 +0100 -Subject: [PATCH] Add LDFLAGS to link step - -Upstream-Status: Pending - -Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com> ---- - iMX8M/soc.mak | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak -index 03b05f7aafeb..4d5df0777704 100644 ---- a/iMX8M/soc.mak -+++ b/iMX8M/soc.mak -@@ -84,7 +84,7 @@ FW_DIR = imx-boot/imx-boot-tools/$(PLAT) - $(MKIMG): mkimage_imx8.c - @echo "PLAT="$(PLAT) "HDMI="$(HDMI) - @echo "Compiling mkimage_imx8" -- $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz -+ $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(BUILD_LDFLAGS) -lz - - lpddr4_imem_1d = lpddr4_pmu_train_1d_imem$(LPDDR_FW_VERSION).bin - lpddr4_dmem_1d = lpddr4_pmu_train_1d_dmem$(LPDDR_FW_VERSION).bin --- -2.35.1 - diff --git a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch b/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch deleted file mode 100644 index 4e0d954a..00000000 --- a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8fc8fc3dfce7533b9c965185277d34e27055cc8f Mon Sep 17 00:00:00 2001 -From: Thomas Perrot <thomas.perrot@bootlin.com> -Date: Tue, 26 Apr 2022 15:10:04 +0200 -Subject: [PATCH] Add support for overriding BL31, BL32 and BL33 - -Upstream-Status: Pending - -Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> ---- - iMX8M/print_fit_hab.sh | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/iMX8M/print_fit_hab.sh b/iMX8M/print_fit_hab.sh -index b915115d1ecc..dbc28f2d9af5 100755 ---- a/iMX8M/print_fit_hab.sh -+++ b/iMX8M/print_fit_hab.sh -@@ -1,12 +1,16 @@ - #!/bin/bash - --BL32="tee.bin" -- - let fit_off=$1 - - # keep backward compatibility - [ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000" - -+[ -z "$BL31" ] && BL31="bl31.bin" -+ -+[ -z "$BL32" ] && BL32="tee.bin" -+ -+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" -+ - if [ -z "$ATF_LOAD_ADDR" ]; then - echo "ERROR: BL31 load address is not set" >&2 - exit 0 -@@ -26,7 +30,7 @@ else - let uboot_sign_off=$((fit_off - 0x8000 - ivt_off + 0x3000)) - fi - --let uboot_size=$(ls -lct u-boot-nodtb.bin | awk '{print $5}') -+let uboot_size=$(ls -lct $BL33 | awk '{print $5}') - let uboot_load_addr=0x40200000 - - let last_sign_off=$(((uboot_sign_off + uboot_size + 3) & ~3)) -@@ -64,13 +68,13 @@ done - - let atf_sign_off=$((last_sign_off)) - let atf_load_addr=$ATF_LOAD_ADDR --let atf_size=$(ls -lct bl31.bin | awk '{print $5}') -+let atf_size=$(ls -lct $BL31 | awk '{print $5}') - - if [ ! -f $BL32 ]; then - let tee_size=0x0 - let tee_sign_off=$((atf_sign_off + atf_size)) - else -- let tee_size=$(ls -lct tee.bin | awk '{print $5}') -+ let tee_size=$(ls -lct $BL32 | awk '{print $5}') - - let tee_sign_off=$(((atf_sign_off + atf_size + 3) & ~3)) - let tee_load_addr=$TEE_LOAD_ADDR --- -2.35.1 diff --git a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch b/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch deleted file mode 100644 index 72d83e63..00000000 --- a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch +++ /dev/null @@ -1,71 +0,0 @@ -From ef28030129a04b1d70dbca3f2236fe7b1c67b4ed Mon Sep 17 00:00:00 2001 -From: Erik Larsson <erik.larsson@combitech.se> -Date: Thu, 8 Mar 2018 19:04:37 +0100 -Subject: [PATCH] Add support for overriding BL32 and BL33 not only BL31 - -Upstream-Status: Pending - -Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com> -Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com> -Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> -Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> ---- - iMX8M/mkimage_fit_atf.sh | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh -index 10903ea3bbf5..341a4b3da1ef 100755 ---- a/iMX8M/mkimage_fit_atf.sh -+++ b/iMX8M/mkimage_fit_atf.sh -@@ -6,6 +6,7 @@ - # usage: $0 <dt_name> [<dt_name> [<dt_name] ...] - - [ -z "$BL31" ] && BL31="bl31.bin" -+ - # keep backward compatibility - [ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000" - -@@ -18,23 +19,23 @@ if [ ! -f $BL31 ]; then - echo "ERROR: BL31 file $BL31 NOT found" >&2 - exit 0 - else -- echo "bl31.bin size: " >&2 -- ls -lct bl31.bin | awk '{print $5}' >&2 -+ echo "$BL31 size: " >&2 -+ ls -lct $BL31 | awk '{print $5}' >&2 - fi - --BL32="tee.bin" -+[ -z "$BL32" ] && BL32="tee.bin" - LOADABLES="\"atf-1\"" - - if [ ! -f $BL32 ]; then - BL32=/dev/null - else -- echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 -- echo "tee.bin size: " >&2 -- ls -lct tee.bin | awk '{print $5}' >&2 -+ echo "Building with TEE support, make sure $BL31 is compiled with spd. If you do not want tee, please delete $BL32" >&2 -+ echo "$BL32 size: " >&2 -+ ls -lct $BL32 | awk '{print $5}' >&2 - LOADABLES="$LOADABLES, \"tee-1\"" - fi - --BL33="u-boot-nodtb.bin" -+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" - DEK_BLOB="dek_blob_fit_dummy.bin" - - if [ ! -f $DEK_BLOB ]; then -@@ -49,8 +50,8 @@ if [ ! -f $BL33 ]; then - exit 0 - else - -- echo "u-boot-nodtb.bin size: " >&2 -- ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2 -+ echo "$BL33 size: " >&2 -+ ls -lct $BL33 | awk '{print $5}' >&2 - fi - - for dtname in $* --- -2.35.1 diff --git a/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch b/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch index a879208c..f182a2f1 100644 --- a/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch +++ b/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch @@ -1,6 +1,6 @@ -From a4af3747abd88247bf4498ec0cf67a4151e64d41 Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin <andrey.z@gmail.com> -Date: Thu, 21 Oct 2021 08:53:38 +0000 +From 3e0f78a4efeac4ea0651ac763099d780447a18b4 Mon Sep 17 00:00:00 2001 +From: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> +Date: Wed, 19 Jul 2023 18:34:32 +0300 Subject: [PATCH] iMX8M: soc.mak: use native mkimage from sysroot mkimage tool is provided as a part of sysroot from Yocto build. Current @@ -13,63 +13,65 @@ build. Use it from the build sysroot, and do not pull the local version of it. -Upstream-Status: Inappropriate [OE-specific] +Reinjected the original patch from Andrey Zhizhikin <andrey.z@gmail.com> -Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> +Upstream-Status: Inappropriate [OE-specific] +Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> --- + iMX8M/soc.mak | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) -diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak -index 4bfdc37..03b05f7 100644 ---- a/iMX8M/soc.mak -+++ b/iMX8M/soc.mak -@@ -148,7 +148,7 @@ u-boot.itb: $(dtb) +Index: git/iMX8M/soc.mak +=================================================================== +--- git.orig/iMX8M/soc.mak ++++ git/iMX8M/soc.mak +@@ -160,7 +160,7 @@ u-boot.itb: $(dtb) $(supp_dtbs) ./$(PAD_IMAGE) bl31.bin - ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) - DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb) > u-boot.its -- ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb -+ mkimage -E -p 0x3000 -f u-boot.its u-boot.itb + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) $(supp_dtbs) + BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) $(supp_dtbs) > u-boot.its +- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb ++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb @rm -f u-boot.its $(dtb) dtb_ddr3l = valddr3l.dtb -@@ -160,7 +160,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) +@@ -172,7 +172,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) $(supp_dt ./$(PAD_IMAGE) bl31.bin - ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l) - DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr3l) > u-boot-ddr3l.its -- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb -+ mkimage -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l) $(supp_dtbs) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l) $(supp_dtbs) > u-boot-ddr3l.its +- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb ++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb @rm -f u-boot.its $(dtb_ddr3l) dtb_ddr3l_evk = evkddr3l.dtb -@@ -172,7 +172,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk) +@@ -184,7 +184,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk) $ ./$(PAD_IMAGE) bl31.bin - ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk) - DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr3l_evk) > u-boot-ddr3l-evk.its -- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb -+ mkimage -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk) $(supp_dtbs) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l_evk) $(supp_dtbs) > u-boot-ddr3l-evk.its +- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb ++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb @rm -f u-boot.its $(dtb_ddr3l_evk) dtb_ddr4 = valddr4.dtb -@@ -184,7 +184,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) +@@ -196,7 +196,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) $(supp_dtbs ./$(PAD_IMAGE) bl31.bin - ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4) - DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr4) > u-boot-ddr4.its -- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb -+ mkimage -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4) $(supp_dtbs) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4) $(supp_dtbs) > u-boot-ddr4.its +- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb ++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb @rm -f u-boot.its $(dtb_ddr4) dtb_ddr4_evk = evkddr4.dtb -@@ -196,7 +196,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk) +@@ -208,7 +208,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk) $(s ./$(PAD_IMAGE) bl31.bin - ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk) - DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr4_evk) > u-boot-ddr4-evk.its -- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb -+ mkimage -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk) $(supp_dtbs) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4_evk) $(supp_dtbs) > u-boot-ddr4-evk.its +- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb ++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb @rm -f u-boot.its $(dtb_ddr4_evk) ifeq ($(HDMI),yes) -@@ -312,7 +312,6 @@ nightly : +@@ -358,7 +358,6 @@ nightly : @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/fsl-$(PLAT)-evk.dtb -O fsl-$(PLAT)-evk.dtb @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_hdmi_imx8m.bin -O signed_hdmi_imx8m.bin @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_dp_imx8m.bin -O signed_dp_imx8m.bin @@ -77,6 +79,3 @@ index 4bfdc37..03b05f7 100644 archive : git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME) --- -2.17.1 - diff --git a/recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch b/recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch deleted file mode 100644 index 5a4a895b..00000000 --- a/recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch +++ /dev/null @@ -1,55 +0,0 @@ -From f281b935985f1b592534ee2837ce0d0b28c7dc43 Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin <andrey.z@gmail.com> -Date: Tue, 11 Jan 2022 15:32:05 -0600 -Subject: [PATCH] mkimage_fit_atf: fix fit generator node naming - -Extend sections which contains "firmware" in their types with "os" -parameter to conform to the latest FIT specification. - -Indicate that load and entry addresses are covered by one 32-bit value -by adding "address-cells" in the root node of the generated ITS. - -Upstream-Status: Inappropriate [script is imx-boot specific] -Link: [1] https://github.com/u-boot/u-boot/commit/79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4 -Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> -Cc: Tom Hochstein <tom.hochstein@nxp.com> ---- - iMX8M/mkimage_fit_atf.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh -index 4f2b3f3..10903ea 100755 ---- a/iMX8M/mkimage_fit_atf.sh -+++ b/iMX8M/mkimage_fit_atf.sh -@@ -64,10 +64,12 @@ cat << __HEADER_EOF - - / { - description = "Configuration to load ATF before U-Boot"; -+ #address-cells = <1>; - - images { - uboot-1 { - description = "U-Boot (64-bit)"; -+ os = "u-boot"; - data = /incbin/("$BL33"); - type = "standalone"; - arch = "arm64"; -@@ -93,6 +95,7 @@ done - cat << __HEADER_EOF - atf-1 { - description = "ARM Trusted Firmware"; -+ os = "arm-trusted-firmware"; - data = /incbin/("$BL31"); - type = "firmware"; - arch = "arm64"; -@@ -106,6 +109,7 @@ if [ -f $BL32 ]; then - cat << __HEADER_EOF - tee-1 { - description = "TEE firmware"; -+ os = "op-tee-firmware"; - data = /incbin/("$BL32"); - type = "firmware"; - arch = "arm64"; --- -2.17.1 - diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index f35561de..7792b27b 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb @@ -9,9 +9,6 @@ SECTION = "BSP" inherit use-imx-security-controller-firmware uboot-sign -IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware imx-seco" -IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "firmware-imx-8m" -IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" DEPENDS += " \ u-boot \ ${IMX_EXTRA_FIRMWARE} \ @@ -28,6 +25,7 @@ inherit deploy uuu_bootloader_tag UUU_BOOTLOADER = "${BOOT_NAME}" UUU_BOOTLOADER_TAGGED = "${BOOT_NAME}-tagged" +UUU_BOOTLOADER_UNTAGGED = "${BOOT_NAME}-untagged" # Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}" @@ -46,9 +44,6 @@ SC_FIRMWARE_NAME ?= "scfw_tcm.bin" ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.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" - TOOLS_NAME ?= "mkimage_imx8" IMX_BOOT_SOC_TARGET ?= "INVALID" @@ -63,17 +58,24 @@ IMXBOOT_TARGETS ?= \ BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}" BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M" BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX" +BOOT_STAGING:mx91p-generic-bsp = "${S}/iMX91" +BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93" -SOC_FAMILY = "INVALID" -SOC_FAMILY:mx8-generic-bsp = "mx8" -SOC_FAMILY:mx8m-generic-bsp = "mx8m" -SOC_FAMILY:mx8x-generic-bsp = "mx8x" +SOC_FAMILY = "INVALID" +SOC_FAMILY:mx8-generic-bsp = "mx8" +SOC_FAMILY:mx8m-generic-bsp = "mx8m" +SOC_FAMILY:mx8x-generic-bsp = "mx8x" +SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp" +SOC_FAMILY:mx91p-generic-bsp = "mx93" +SOC_FAMILY:mx93-generic-bsp = "mx93" -REV_OPTION ?= "" -REV_OPTION:mx8qxp-generic-bsp = \ - "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', '', \ - 'REV=C0', d)}" -REV_OPTION:mx8dx-generic-bsp = "REV=C0" +REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}" + +do_uboot_assemble_fitimage:prepend:imx-generic-bsp() { + for config in ${UBOOT_MACHINE}; do + mkdir -p ${B}/${config} + done +} compile_mx8m() { bbnote 8MQ/8MM/8MN/8MP boot binary build @@ -81,28 +83,35 @@ compile_mx8m() { 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_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} \ + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ ${BOOT_STAGING}/u-boot-spl.bin - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING} + if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then # Use DTB binary patched with signature node - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME} + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA} + else + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING} fi - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \ + + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ ${BOOT_STAGING}/u-boot-nodtb.bin + cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin + + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin + } compile_mx8() { bbnote 8QM boot binary build cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING} - if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then - cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ ${BOOT_STAGING}/u-boot-spl.bin fi } @@ -112,64 +121,171 @@ compile_mx8x() { cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING} cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin - if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then - cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ + ${BOOT_STAGING}/u-boot-spl.bin + fi +} + +compile_mx8ulp() { + bbnote 8ULP boot binary build + cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/ + cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/upower.bin ${BOOT_STAGING}/upower.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ + ${BOOT_STAGING}/u-boot-spl.bin + fi +} + +compile_mx93() { + bbnote i.MX 93 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}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/ + cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ ${BOOT_STAGING}/u-boot-spl.bin fi } + do_compile() { # mkimage for i.MX8 # Copy TEE binary to SoC target folder to mkimage if ${DEPLOY_OPTEE}; then cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING} fi - for target in ${IMXBOOT_TARGETS}; do - compile_${SOC_FAMILY} - if [ "$target" = "flash_linux_m4_no_v2x" ]; then - # Special target build for i.MX 8DXL with V2X off - bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}" - make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME} flash_linux_m4 + for type in ${UBOOT_CONFIG}; do + if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then + UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" else - bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${target}" - make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} dtbs=${UBOOT_DTB_NAME} ${target} - fi - if [ -e "${BOOT_STAGING}/flash.bin" ]; then - cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${target} + UBOOT_DTB_NAME_FLAGS="${@' '.join(flag + ':' + dtb for flag, dtb in (d.getVarFlags('UBOOT_DTB_NAME')).items()) if d.getVarFlags('UBOOT_DTB_NAME') is not None else '' }" fi + + for key_value in ${UBOOT_DTB_NAME_FLAGS}; do + type_key="${key_value%%:*}" + dtb_name="${key_value#*:}" + + if [ "$type_key" = "$type" ] + then + bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name" + + UBOOT_CONFIG_EXTRA="$type_key" + if [ -e ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${dtb_name}-${type} ] ; then + UBOOT_DTB_NAME_EXTRA="${dtb_name}-${type}" + else + # backward compatibility + UBOOT_DTB_NAME_EXTRA="${dtb_name}" + fi + UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" + BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" + + for target in ${IMXBOOT_TARGETS}; do + compile_${SOC_FAMILY} + if [ "$target" = "flash_linux_m4_no_v2x" ]; then + # Special target build for i.MX 8DXL with V2X off + bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}" + make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4 + else + bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${target}" + make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} dtbs=${UBOOT_DTB_NAME_EXTRA} ${target} + fi + if [ -e "${BOOT_STAGING}/flash.bin" ]; then + cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} + fi + done + + unset UBOOT_CONFIG_EXTRA + unset UBOOT_DTB_NAME_EXTRA + unset UBOOT_NAME_EXTRA + unset BOOT_CONFIG_MACHINE_EXTRA + fi + + unset type_key + unset dtb_name + done + + unset UBOOT_DTB_NAME_FLAGS done + unset type } do_install () { install -d ${D}/boot - for target in ${IMXBOOT_TARGETS}; do - install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${D}/boot/ + for type in ${UBOOT_CONFIG}; do + + bbnote "UBOOT_CONFIG = $type" + + UBOOT_CONFIG_EXTRA="$type" + BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" + + for target in ${IMXBOOT_TARGETS}; do + install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/ + done + + unset UBOOT_CONFIG_EXTRA + unset BOOT_CONFIG_MACHINE_EXTRA done + + unset type } deploy_mx8m() { install -d ${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 ${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}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ + ${DEPLOYDIR}/${BOOT_TOOLS} + fi +} + +deploy_mx8x() { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ ${DEPLOYDIR}/${BOOT_TOOLS} fi } -deploy_mx8x() { + +deploy_mx8ulp() { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ + ${DEPLOYDIR}/${BOOT_TOOLS} + fi +} + +deploy_mx93() { install -d ${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 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then @@ -177,33 +293,55 @@ deploy_mx8x() { ${DEPLOYDIR}/${BOOT_TOOLS} fi } + do_deploy() { deploy_${SOC_FAMILY} - # copy the sc fw, dcd and uboot to deploy path - 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} - # copy the generated boot image to deploy path - for target in ${IMXBOOT_TARGETS}; do - # Use first "target" as IMAGE_IMXBOOT_TARGET - if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then - IMAGE_IMXBOOT_TARGET="$target" - echo "Set boot target as $IMAGE_IMXBOOT_TARGET" + + for type in ${UBOOT_CONFIG}; do + UBOOT_CONFIG_EXTRA="$type" + UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" + BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" + + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ + ${DEPLOYDIR}/${BOOT_TOOLS} fi - install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${DEPLOYDIR} - done + # copy the tool mkimage to deploy path and sc fw, dcd and uboot + install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${DEPLOYDIR}/${BOOT_TOOLS} + + # copy the generated boot image to deploy path + for target in ${IMXBOOT_TARGETS}; do + # Use first "target" as IMAGE_IMXBOOT_TARGET + if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then + IMAGE_IMXBOOT_TARGET="$target" + echo "Set boot target as $IMAGE_IMXBOOT_TARGET" + fi + install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${DEPLOYDIR} + done - ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME} + # The first UBOOT_CONFIG listed will be the ${BOOT_NAME} binary + if [ ! -f "${DEPLOYDIR}/${UUU_BOOTLOADER}" ]; then + ln -sf ${BOOT_CONFIG_MACHINE_EXTRA}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME} + else + bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type" + fi + + unset UBOOT_CONFIG_EXTRA + unset UBOOT_NAME_EXTRA + unset BOOT_CONFIG_MACHINE_EXTRA + done + unset type } addtask deploy before do_build after do_compile PACKAGE_ARCH = "${MACHINE_ARCH}" FILES:${PN} = "/boot" -COMPATIBLE_MACHINE = "(mx8-generic-bsp)" +COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb index 4906121f..f95f2a2b 100644 --- a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb +++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb @@ -1,5 +1,5 @@ # Copyright (C) 2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright (C) 2017-2022 NXP require imx-mkimage_git.inc @@ -10,17 +10,11 @@ SECTION = "BSP" inherit deploy native -CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}" +EXTRA_OEMAKE = "SOC=iMX8M mkimage_imx8" -do_compile () { - cd ${S} - oe_runmake clean - oe_runmake bin - oe_runmake -C iMX8M -f soc.mak mkimage_imx8 -} +CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}" -do_install () { - cd ${S} +do_install() { install -d ${D}${bindir} install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m install -m 0755 iMX8M/mkimage_fit_atf.sh ${D}${bindir}/mkimage_fit_atf.sh diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc index 165ba64e..fb3df750 100644 --- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc +++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc @@ -1,16 +1,13 @@ -# Copyright 2017-2021 NXP +# Copyright 2017-2022 NXP DEPENDS = "zlib-native openssl-native" -SRCBRANCH = "lf-5.15.5_1.0.0" -SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \ - file://0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch \ +SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \ file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \ - file://0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch \ - file://0001-Add-LDFLAGS-to-link-step.patch \ - file://0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch \ " -SRCREV = "22346a32a88aa752d4bad8f2ed1eb641e18849dc" +SRCBRANCH = "lf-6.6.3_1.0.0" +SRCREV = "cbb99377cc2bb8f7cf213794c030e1c60423ef1f" + S = "${WORKDIR}/git" BOOT_TOOLS = "imx-boot-tools" diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.12.1.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb index 919a474e..7dc2e593 100644 --- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.12.1.bb +++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb @@ -1,24 +1,24 @@ # Copyright (C) 2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright 2017-2022 NXP DESCRIPTION = "i.MX System Controller Firmware" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" SECTION = "BSP" inherit fsl-eula-unpack pkgconfig deploy SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" -SRC_URI[md5sum] = "ebe1cd97369e08709594b72b065cea3d" -SRC_URI[sha256sum] = "5ab47143623003cbe151b39a5ffcb7ea0dd5587a776e040453884e9608634b0e" +SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f" +SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f" BOARD_TYPE ?= "mek" SC_FIRMWARE_NAME ?= "INVALID" -SC_FIRMWARE_NAME:mx8qm-nxp-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8qxp-nxp-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8dxl-nxp-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8dx-nxp-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8qm-generic-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8qxp-generic-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8dxl-generic-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8dx-generic-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin" symlink_name = "scfw_tcm.bin" @@ -38,4 +38,8 @@ INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)" +LDFLAGS:remove = "-fuse-ld=lld" + +DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" + +COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)" diff --git a/recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch b/recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch new file mode 100644 index 00000000..656469c2 --- /dev/null +++ b/recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch @@ -0,0 +1,57 @@ +From 2eff97fe2345d8255869224404322d23193f1115 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 7 Jan 2023 21:59:15 -0800 +Subject: [PATCH] Fix return value of void* functions + +This is found with clang + +Fixes +error: non-void function does not return a value [-Werror,-Wreturn-type] + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + test/hsm/hsm_test.c | 1 + + test/she/src/she_test_storage_manager.c | 1 + + test/v2x/v2x_test.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/test/hsm/hsm_test.c b/test/hsm/hsm_test.c +index 9f29ca9..01820b8 100644 +--- a/test/hsm/hsm_test.c ++++ b/test/hsm/hsm_test.c +@@ -391,6 +391,7 @@ static uint32_t nvm_status; + static void *hsm_storage_thread(void *arg) + { + seco_nvm_manager(NVM_FLAGS_HSM, &nvm_status); ++ return 0; + } + + +diff --git a/test/she/src/she_test_storage_manager.c b/test/she/src/she_test_storage_manager.c +index 32a4cb9..68cdba7 100644 +--- a/test/she/src/she_test_storage_manager.c ++++ b/test/she/src/she_test_storage_manager.c +@@ -28,6 +28,7 @@ static uint32_t nvm_status; + static void *she_storage_thread(void *arg) + { + seco_nvm_manager(NVM_FLAGS_SHE, &nvm_status); ++ return 0; + } + + +diff --git a/test/v2x/v2x_test.c b/test/v2x/v2x_test.c +index aeb3d2a..5f02354 100644 +--- a/test/v2x/v2x_test.c ++++ b/test/v2x/v2x_test.c +@@ -181,6 +181,7 @@ static uint32_t nvm_status; + static void *v2x_hsm_storage_thread(void *arg) + { + seco_nvm_manager(NVM_FLAGS_V2X | NVM_FLAGS_HSM, &nvm_status); ++ return 0; + } + + +-- +2.39.0 + diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb index 2f59f214..b0296e97 100644 --- a/recipes-bsp/imx-seco/imx-seco-libs_git.bb +++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb @@ -1,26 +1,27 @@ -# Copyright (C) 2019-2021 NXP +# Copyright 2019-22 NXP SUMMARY = "NXP i.MX SECO library" -DESCRIPTION = "NXP i.MX Security Controller library" +DESCRIPTION = "Library for NXP i.MX Security Controller Subsystem" SECTION = "base" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://EULA.txt;md5=76871788f27c28af824e2ec1ca187832" +LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011" DEPENDS = "zlib" -SRCBRANCH = "lf-5.15.5_1.0.0" +SRCBRANCH = "imx_5.4.70_2.3.11" SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \ file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \ file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \ - file://0001-add-v2x_test-to-the-installed-binaries.patch" -SRCREV = "06a9062cdf51aa29a1c872709e21f927ca00d0b6" + file://0001-add-v2x_test-to-the-installed-binaries.patch \ + file://0001-Fix-return-value-of-void-functions.patch" +SRCREV = "aa8d62900c41cc779c11fe4e6f58b40c3c9f82f0" S = "${WORKDIR}/git" TARGET_CC_ARCH += "${LDFLAGS}" do_install () { - oe_runmake DESTDIR=${D} install + oe_runmake DESTDIR=${D} BINDIR=${bindir} LIBDIR=${libdir} install } COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)" diff --git a/recipes-bsp/imx-seco/imx-seco_3.8.5.bb b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb index fbd72cd0..f7dadea5 100644 --- a/recipes-bsp/imx-seco/imx-seco_3.8.5.bb +++ b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb @@ -1,17 +1,18 @@ -# Copyright (C) 2019-2021 NXP +# Copyright 2019-2022 NXP SUMMARY = "NXP i.MX SECO firmware" -DESCRIPTION = "NXP i.MX Security Controller firmware" +DESCRIPTION = "Firmware for i.MX Security Controller Subsystem" SECTION = "base" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=e4098ac4459cb81b07d3f0c22b3e8370" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" inherit fsl-eula-unpack use-imx-security-controller-firmware deploy SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "c1797407517b0499f6d5151c1e62e78f" -SRC_URI[sha256sum] = "b8731c626139c9bd1d530f243c2131c031a523f1428c6a40b017e5352b1da656" +SRC_URI[md5sum] = "b722a534c4d3cc90270e05eaa812514d" +SRC_URI[sha256sum] = "c3bd761f457e939035b01a0ab36e79064a2a1bc6c3cdb3cd847f7f38df0964df" + do_compile[noexec] = "1" @@ -23,4 +24,4 @@ do_deploy () { install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} } -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)" +COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)" diff --git a/recipes-bsp/imx-test/imx-test_git.bb b/recipes-bsp/imx-test/imx-test_git.bb index b5ee124e..930cdf94 100644 --- a/recipes-bsp/imx-test/imx-test_git.bb +++ b/recipes-bsp/imx-test/imx-test_git.bb @@ -1,6 +1,6 @@ # Copyright (C) 2012-2016 O.S. Systems Software LTDA. # Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright (C) 2017-2022 NXP SUMMARY = "Test programs for i.MX BSP" DESCRIPTION = "Unit tests for the i.MX BSP" @@ -8,20 +8,21 @@ SECTION = "base" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c" -DEPENDS = "alsa-lib libdrm" -DEPENDS:append:mx6-nxp-bsp = " imx-lib" -DEPENDS:append:mx7-nxp-bsp = " imx-lib" +DEPENDS = "alsa-lib freetype libdrm" DEPENDS:append:imxvpu = " virtual/imxvpu" +DEPENDS:append:mx6-nxp-bsp = " imx-lib" +DEPENDS:append:mx7-nxp-bsp = " imx-lib" +DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" +DEPENDS:append:mx93-nxp-bsp = " imx-lib" PE = "1" PV = "7.0+${SRCPV}" -SRCBRANCH = "lf-5.15.5_1.0.0" -SRC_URI = " \ - git://source.codeaurora.org/external/imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \ - file://memtool_profile \ -" -SRCREV = "b364c1aacc72a63290106ae065bb2f6a8c365ec6" +SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \ + file://memtool_profile" +SRCBRANCH = "lf-6.6.3_1.0.0" +SRCREV = "8a1fa37664a1e470cf86f1185c08e265e4602a9b" + S = "${WORKDIR}/git" inherit module-base use-imx-headers @@ -38,6 +39,9 @@ PLATFORM:mx6ul-nxp-bsp = "IMX6UL" PLATFORM:mx7d-nxp-bsp = "IMX7D" PLATFORM:mx7ulp-nxp-bsp = "IMX7D" PLATFORM:mx8-nxp-bsp = "IMX8" +PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" +PLATFORM:mx93-nxp-bsp = "IMX8ULP" +PLATFORM:mx95-nxp-bsp = "IMX8" PARALLEL_MAKE = "-j 1" EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" @@ -72,11 +76,11 @@ do_install() { if [ -e ${WORKDIR}/clocks.sh ]; then install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh fi - install -d -m 0755 ${D}/home/root/ - install -m 0644 ${WORKDIR}/memtool_profile ${D}/home/root/.profile + install -d -m 0755 ${D}${ROOT_HOME}/ + install -m 0644 ${WORKDIR}/memtool_profile ${D}${ROOT_HOME}/.profile } -FILES:${PN} += "/unit_tests /home/root/.profile" +FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile" RDEPENDS:${PN} = "bash" FILES:${PN}-dbg += "/unit_tests/.debug" diff --git a/recipes-bsp/imx-uuc/imx-uuc_git.bb b/recipes-bsp/imx-uuc/imx-uuc_git.bb index 2f001dda..49fc1558 100644 --- a/recipes-bsp/imx-uuc/imx-uuc_git.bb +++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb @@ -1,10 +1,10 @@ # Copyright (C) 2016 Freescale Semiconductor -# Copyright (C) 2017-2019 NXP +# Copyright (C) 2017-2019,2024 NXP SUMMARY = "A Daemon wait for NXP mfgtools host's command" SECTION = "base" DEPENDS = "virtual/kernel dosfstools-native" LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" inherit autotools-brokensep @@ -12,7 +12,7 @@ PR = "r1" PV = "0.5.1+git${SRCPV}" SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master" -SRCREV = "d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc" +SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83" S = "${WORKDIR}/git" diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.7.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb index 96c0c589..26ebf181 100644 --- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.7.0.bb +++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb @@ -1,8 +1,8 @@ -# Copyright (C) 2019-2021 NXP +# Copyright 2019-2022 NXP DESCRIPTION = "i.MX VC8000E Encoder library" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" inherit fsl-eula-unpack @@ -10,8 +10,8 @@ SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" S = "${WORKDIR}/${BPN}-${PV}" -SRC_URI[md5sum] = "2dbcd9a71d53b86654704932798f263e" -SRC_URI[sha256sum] = "8af665f8e06e0e467f563e372f43583d94128f0d37f75321965bc26bd4404b2b" +SRC_URI[md5sum] = "192b354d1c21836dc7338606e60b45ae" +SRC_URI[sha256sum] = "62b5ba3c4aab21d0d4be3eee9b204a9bb50b83b6140ee1a3b27c648809bdfbaa" # SCR is the location and name of the Software Content Register file # relative to ${D}${D_SUBDIR}. diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.2.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb index 25cd931e..f603190b 100644 --- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.2.bb +++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb @@ -6,11 +6,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1" DEPENDS = "imx-vpu-hantro" DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" -SRC_URI = " \ - ${FSL_MIRROR}/${BP}.tar.gz \ -" -SRC_URI[md5sum] = "f30942393a9093388adf91edb458f7a6" -SRC_URI[sha256sum] = "77e25ad1e1860f0a3983f07d6beb9a04ff32763bacf26db9aefd16559e6eea9b" +SRC_URI = "${FSL_MIRROR}/${BP}.tar.gz" +SRC_URI[md5sum] = "23997361dab3054e5a3757a15d33db16" +SRC_URI[sha256sum] = "ac2b60fb754792eedcfdfc8cf59663cfeaedc402857eff13ac97a911d2c65801" PLATFORM:mx8mm-nxp-bsp = "IMX8MM" PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.25.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb index f2381d43..0757a7fb 100644 --- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.25.0.bb +++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb @@ -2,13 +2,13 @@ DESCRIPTION = "i.MX Hantro VPU library" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479" PROVIDES = "virtual/imxvpu" SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "6d84b9eecc2f6027f9dbe1c875a4e7b5" -SRC_URI[sha256sum] = "dd812b92b302bcfb92c10e937d9cad9224edf1593e9e4691d539ab4e190583f0" +SRC_URI[md5sum] = "81b4eb801349a0c198b7cc43eb8b6097" +SRC_URI[sha256sum] = "e868e12945b4f217e2e0511fdc2587875d6c9124e8673b67f1e7de367ff5012f" inherit fsl-eula-unpack use-imx-headers diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb index 77c81f19..553f3993 100644 --- a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb +++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb @@ -2,12 +2,11 @@ # Copyright (C) 2013-2016 Freescale Semiconductor # Copyright (C) 2017-2020 NXP -DESCRIPTION = "Freescale VPU library" +DESCRIPTION = "Freescale VPU library for Chips&Media VPU" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" PROVIDES = "virtual/imxvpu" -RPROVIDES:${PN} = "virtual/imxvpu" PE = "1" @@ -28,5 +27,4 @@ do_install() { oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install } -# Compatible only for i.MX with Chips&Media VPU COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)" diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.16.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb index 5b53068c..0ab44074 100644 --- a/recipes-bsp/isp-imx/basler-camera_4.2.2.16.0.bb +++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb @@ -1,15 +1,15 @@ -# Copyright 2020-2021 NXP +# Copyright 2020-2023 NXP DESCRIPTION = "Basler camera binary drivers" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" +LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7" inherit fsl-eula-unpack SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" -SRC_URI[md5sum] = "489763169857773bade28611e649172e" -SRC_URI[sha256sum] = "3d4ae594659a697eef7479ca2480cc53f1d460f22bcc1c58104cff63bc6705fe" +SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71" +SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf" do_install() { dest_dir=${D}/opt/imx8-isp/bin @@ -22,6 +22,7 @@ do_install() { SYSTEMD_AUTO_ENABLE = "enable" FILES:${PN} = "${libdir} /opt" -INSANE_SKIP:${PN} = "file-rdeps already-stripped" +INSANE_SKIP:${PN} = "already-stripped" +RDEPENDS:${PN} += "isp-imx" COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" diff --git a/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch new file mode 100644 index 00000000..3f04000c --- /dev/null +++ b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch @@ -0,0 +1,44 @@ +From 15aae364fb52df30e4a49e73e2048fdc633e6868 Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Sun, 8 Oct 2023 09:15:54 -0300 +Subject: [PATCH] cpp-netlib: parsers.ipp: add missing include + +With the update to boost from 1.82.0 -> 1.83.0 we now get compiler errors: + +| .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:58:3: error: 'u8_to_u32_iterator' was not declared in this scope + +Add the missing explicit include. Before the file was indirectly included from qi.hpp: + +| In file included from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/regex/pending/unicode_iterator.hpp:27, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/utf8.hpp:15, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/info.hpp:17, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/domain.hpp:16, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/meta_compiler.hpp:15, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action/action.hpp:14, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action.hpp:14, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi.hpp:14, +| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/include/qi.hpp:16, +| from .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:5, + +Upstream-Status: Pending + +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + .../boost/network/protocol/http/server/impl/parsers.ipp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp +index c31e60e..2b83fbe 100755 +--- a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp ++++ b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp +@@ -13,6 +13,7 @@ + #include <tuple> + #include <boost/fusion/include/std_tuple.hpp> + #include <boost/network/protocol/http/message/header.hpp> ++#include <boost/regex/pending/unicode_iterator.hpp> + + #ifdef BOOST_NETWORK_NO_LIB + #ifndef BOOST_NETWORK_INLINE +-- +2.35.3 + diff --git a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch b/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch deleted file mode 100644 index bfea33a7..00000000 --- a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a48c605b9f3860ee7abaca1a37add444a1b4001a Mon Sep 17 00:00:00 2001 -From: Chris Dimich <chris.dimich@boundarydevices.com> -Date: Tue, 8 Mar 2022 14:45:28 -0800 -Subject: [PATCH 1/1] start_isp.sh: fix NR_DEVICE_TREE_BASLER variable - -The NR_DEVICE_TREE_BASLER variable has the wrong path. - -Signed-off-by: Chris Dimich <chris.dimich@boundarydevices.com> ---- - imx/start_isp.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/imx/start_isp.sh b/imx/start_isp.sh -index 6daabc59c..8a07acfed 100755 ---- a/imx/start_isp.sh -+++ b/imx/start_isp.sh -@@ -7,7 +7,7 @@ - # - - RUNTIME_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" --NR_DEVICE_TREE_BASLER=$(grep basler-camera-vvcam /sys/firmware/devicetree/base/soc@0/*/i2c@*/*/compatible -l | wc -l 2> /dev/null) -+NR_DEVICE_TREE_BASLER=$(grep basler-camera-vvcam `find /sys/firmware/devicetree/base/soc@0/ -name compatible | grep i2c` -l | wc -l 2> /dev/null) - NR_DEVICE_TREE_OV5640=$(grep ov5640 /sys/firmware/devicetree/base/soc@0/*/i2c@*/*/compatible -l | wc -l 2> /dev/null) - - # check if the basler device has been enabled in the device tree --- -2.31.1 - diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb index 2d99496e..9e0f0265 100644 --- a/recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb +++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb @@ -1,17 +1,16 @@ -# Copyright 2020-2021 NXP +# Copyright 2020-2023 NXP DESCRIPTION = "i.MX Verisilicon Software ISP" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" -DEPENDS = "python3 libdrm virtual/libg2d libtinyxml2-8" +LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7" +DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 patchelf-native" SRC_URI = " \ ${FSL_MIRROR}/${BP}.bin;fsl-eula=true \ - file://0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch \ + file://0001-cpp-netlib-parsers.ipp-add-missing-include.patch \ " -SRC_URI[md5sum] = "f490153dbec234a04416ad41834806b2" -SRC_URI[sha256sum] = "83b24b9d1f7a40a506a45a1c5c2ef2ca2313fe9b23fde591e3b7dce77ea359ca" +SRC_URI[sha256sum] = "34b23f5b9f0856a8f5722e339a7ad4ccf4d99614788598306ff8b20093c1e846" inherit fsl-eula-unpack cmake systemd use-imx-headers @@ -29,9 +28,12 @@ SYSTEMD_SERVICE:${PN} = "imx8-isp.service" EXTRA_OECMAKE += " \ -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \ -DCMAKE_BUILD_TYPE=release \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ + -DCMAKE_INSTALL_LIBDIR=${libdir} \ -DISP_VERSION=ISP8000NANO_V1802 \ -DPLATFORM=ARM64 \ -DAPPMODE=V4L2 \ + -DTUNINGEXT=1 \ -DQTLESS=1 \ -DFULL_SRC_COMPILE=1 \ -DWITH_DRM=1 \ @@ -45,26 +47,32 @@ EXTRA_OECMAKE += " \ -Wno-dev \ " -do_configure:prepend() { - export SDKTARGETSYSROOT=${STAGING_DIR_HOST} -} - -do_compile:prepend() { - ln -sf ${RECIPE_SYSROOT}/${libdir}/libtinyxml2.so.?.?.? ${RECIPE_SYSROOT}/${libdir}/libtinyxml2.so +do_configure:prepend () { + # FIXME: Should be rebuild. + patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/units/cam_device/proprietories/lib/libcam_device.so + patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/mediacontrol/lib/arm-64/fpga/libcam_device.so } do_install() { + # FIXME: provided by the basler-camera package, do not install them here additionally + rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json + install -d ${D}/${libdir} install -d ${D}/${includedir} install -d ${D}/opt/imx8-isp/bin + install -d ${D}/opt/imx8-isp/bin/dewarp_config cp -r ${B}/generated/release/bin/*_test ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/bin/*2775* ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/*.xml ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/*.drv ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/tuningext ${D}/opt/imx8-isp/bin cp -r ${B}/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin cp -r ${B}/generated/release/bin/vvext ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/lib/*.so* ${D}/${libdir} cp -r ${B}/generated/release/include/* ${D}/${includedir} + cp -r ${S}/dewarp/dewarp_config/ ${D}/opt/imx8-isp/bin cp ${S}/imx/run.sh ${D}/opt/imx8-isp/bin cp ${S}/imx/start_isp.sh ${D}/opt/imx8-isp/bin @@ -78,17 +86,20 @@ do_install() { } # The build contains a mix of versioned and unversioned libraries, so -# the default packaging configuration needs some modifications +# the default packaging configuration needs some modification so that +# unversioned .so libraries go to the main package and versioned .so +# symlinks go to -dev. FILES_SOLIBSDEV = "" FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}" -FILES:${PN}-dev += " \ +FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}" +FILES_SOLIBS_VERSIONED = " \ + ${libdir}/libcppnetlib-client-connections.so \ + ${libdir}/libcppnetlib-server-parsers.so \ + ${libdir}/libcppnetlib-uri.so \ ${libdir}/libjsoncpp.so \ ${libdir}/libos08a20.so \ - ${libdir}/libov2775.so \ " -INSANE_SKIP:${PN} = "rpaths" - -RDEPENDS:${PN} = "libdrm libpython3" +RDEPENDS:${PN} = "libdrm" COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" diff --git a/recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb b/recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb deleted file mode 100644 index 07d52355..00000000 --- a/recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs" -HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/" -SECTION = "libs" -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd" - -SRC_URI = "git://github.com/leethomason/tinyxml2.git;branch=master;protocol=https" - -SRCREV = "bf15233ad88390461f6ab0dbcf046cce643c5fcb" - -S = "${WORKDIR}/git" - -inherit cmake - -# make sure we don't provide files which are also present in the -# current libtinyxml2 version's -dev package. -do_install:append() { - rm -rf ${D}/${includedir} - rm -rf ${D}/${libdir}/cmake - rm -rf ${D}/${libdir}/libtinyxml2.so - rm -rf ${D}/${libdir}/pkgconfig -} diff --git a/recipes-bsp/libimxdmabuffer/files/0001-g2d-Fix-typo.patch b/recipes-bsp/libimxdmabuffer/files/0001-g2d-Fix-typo.patch deleted file mode 100644 index 490d3a2f..00000000 --- a/recipes-bsp/libimxdmabuffer/files/0001-g2d-Fix-typo.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 41825b11289be251fed64470893d18b89b0dd38b Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani <crg7475@mailbox.org> -Date: Sun, 8 May 2022 16:25:44 +0200 -Subject: [PATCH] g2d: Fix typo - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> - -Upstream-Status: Backport [41825b11289be251fed64470893d18b89b0dd38b] ---- - imxdmabuffer/imxdmabuffer_g2d_allocator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/imxdmabuffer/imxdmabuffer_g2d_allocator.c b/imxdmabuffer/imxdmabuffer_g2d_allocator.c -index f10a909..497dcea 100644 ---- a/imxdmabuffer/imxdmabuffer_g2d_allocator.c -+++ b/imxdmabuffer/imxdmabuffer_g2d_allocator.c -@@ -139,7 +139,7 @@ static uint8_t* imx_dma_buffer_g2d_allocator_map(ImxDmaBufferAllocator *allocato - * (Other allocators perform more steps than this.) */ - if (imx_g2d_buffer->mapping_refcount > 0) - { -- assert((imx_dwl_buffer->map_flags & flags & IMX_DMA_BUFFER_MAPPING_READWRITE_FLAG_MASK) == (flags & IMX_DMA_BUFFER_MAPPING_READWRITE_FLAG_MASK)); -+ assert((imx_g2d_buffer->map_flags & flags & IMX_DMA_BUFFER_MAPPING_READWRITE_FLAG_MASK) == (flags & IMX_DMA_BUFFER_MAPPING_READWRITE_FLAG_MASK)); - imx_g2d_buffer->mapping_refcount++; - } - else --- -2.32.0 - diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.2.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb index 090593be..b160c31d 100644 --- a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.2.bb +++ b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb @@ -8,9 +8,8 @@ SECTION = "base" PV .= "+git${SRCPV}" SRCBRANCH ?= "master" -SRCREV = "5410b44fb0c5bbd9fb1f3ba0681e65068d8cde57" +SRCREV = "faf547cc2345bfbf95507ab7e86530f85289bb5b" SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH};protocol=https \ - file://0001-g2d-Fix-typo.patch \ file://run-ptest \ " diff --git a/recipes-bsp/mc-utils/mc-utils_git.bb b/recipes-bsp/mc-utils/mc-utils_git.bb index 97bbd7e7..568096c4 100644 --- a/recipes-bsp/mc-utils/mc-utils_git.bb +++ b/recipes-bsp/mc-utils/mc-utils_git.bb @@ -1,14 +1,14 @@ DESCRIPTION = "The Management Complex (MC) is a key component of DPAA" SECTION = "mc-utils" -LICENSE = "BSD" +LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987" DEPENDS += "dtc-native" inherit deploy -SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils;nobranch=1" -SRCREV = "12ffee82d210cb6b5c8fa30fbc6f5d29e4be2e6f" +SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1" +SRCREV = "8efeeac253ff780cbf1382ff40e09436d65e220d" S = "${WORKDIR}/git" diff --git a/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch b/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch index c8c8413a..e1be2318 100644 --- a/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch +++ b/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch @@ -3,6 +3,7 @@ From: Khem Raj <raj.khem@gmail.com> Date: Tue, 25 Sep 2018 01:23:02 -0700 Subject: [PATCH] Do not ignore OE cflags and ldflags +Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Makefile | 4 ++-- diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb index b797f207..5721313b 100644 --- a/recipes-bsp/rcw/rcw_git.bb +++ b/recipes-bsp/rcw/rcw_git.bb @@ -7,8 +7,8 @@ DEPENDS += "tcl-native" inherit deploy siteinfo -SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/rcw;nobranch=1" -SRCREV = "1f431891c7f0e7d4f52327f1fe19504a284491c4" +SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1" +SRCREV = "020dcf0645959afec6705f518e8350476891ef4f" S = "${WORKDIR}/git" @@ -20,6 +20,7 @@ BOARD_TARGETS="${M}" BOARD_TARGETS:ls2088ardb="${M} ${M}_rev1.1" BOARD_TARGETS:ls1088ardb-pb="ls1088ardb" BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2" +BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2" do_compile () { oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/ diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2022.04.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc index 0fad0367..b270dfd7 100644 --- a/recipes-bsp/u-boot/u-boot-fslc-common_2022.04.inc +++ b/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc @@ -1,19 +1,19 @@ -# Copyright (C) 2012-2019 O.S. Systems Software LTDA. +# Copyright (C) 2012-2022 O.S. Systems Software LTDA. # Released under the MIT license (see COPYING.MIT for the terms) inherit fsl-u-boot-localversion LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1" DEPENDS += "flex-native bison-native" SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https" -SRCREV = "f88519827335b548fcd276acda32107f5120276f" -SRCBRANCH = "2022.04+fslc" +SRCREV = "1a2bdc16b79a6f9c31829ede1bbf4063ccea6e54" +SRCBRANCH = "2024.04+fslc" -PV = "v2022.04+git${SRCPV}" +PV = "2024.04+git${SRCPV}" S = "${WORKDIR}/git" B = "${WORKDIR}/build" diff --git a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb b/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb deleted file mode 100644 index 2e79166b..00000000 --- a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (C) 2014 O.S. Systems Software LTDA. -# Copyright (C) 2014-2016 Freescale Semiconductor -# Copyright 2017-2019 NXP - -FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot-fslc:" - -require u-boot-fslc_${PV}.bb -require u-boot-mfgtool.inc diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2022.04.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb index 2660df9e..b7e4ca76 100644 --- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2022.04.bb +++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb @@ -3,7 +3,17 @@ require u-boot-fslc-common_${PV}.inc DESCRIPTION = "U-boot bootloader mxsboot tool" SECTION = "bootloader" -DEPENDS = "bison-native gnutls-native dtc openssl" +inherit python3native + +DEPENDS += " \ + bison-native \ + dtc \ + gnutls \ + openssl \ + python3-setuptools-native \ + swig-native \ + util-linux-libuuid \ +" PROVIDES = "u-boot-mxsboot" @@ -12,7 +22,7 @@ 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 -C ${S} O=${B} sandbox_defconfig + oe_runmake -C ${S} O=${B} tools-only_defconfig # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and # generating it requires bin2header tool, which for target build diff --git a/recipes-bsp/u-boot/u-boot-fslc_2022.04.bb b/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb index de6d22d0..eba8876a 100644 --- a/recipes-bsp/u-boot/u-boot-fslc_2022.04.bb +++ b/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb @@ -8,15 +8,9 @@ version, or because it is not applicable for upstreaming." inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')} -DEPENDS += "bc-native dtc-native python3-setuptools-native" +DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" -# Location known to imx-boot component, where U-Boot artifacts -# should be additionally deployed. -# See below note above do_deploy:append:mx8m-nxp-bsp for the purpose of -# this delopyment location -BOOT_TOOLS = "imx-boot-tools" - -PROVIDES += "u-boot" +PROVIDES += "u-boot u-boot-mfgtool" B = "${WORKDIR}/build" diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc deleted file mode 100644 index 36f948c5..00000000 --- a/recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards." - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRCBRANCH = "lf_v2021.04" -SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" -SRCREV = "f7b43f8b4c1e4e3ee6c6ff2fe9c61b2092e8b96b" -LOCALVERSION ?= "-imx_v2021.04_5.15.5-1.0.0" - -DEPENDS += "flex-native bison-native bc-native dtc-native" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -inherit fsl-u-boot-localversion - -BOOT_TOOLS = "imx-boot-tools" diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc new file mode 100644 index 00000000..e2323562 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc @@ -0,0 +1,25 @@ +DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards." + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "lf_v2023.04" +LOCALVERSION ?= "-imx_v2023.04_6.6.3-1.0.0" +SRCREV = "f8a2983ec83afd43731d905b4ff0ffd57b57f2f0" + +DEPENDS += " \ + bc-native \ + bison-native \ + dtc-native \ + flex-native \ + gnutls-native \ + xxd-native \ +" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +inherit fsl-u-boot-localversion + +BOOT_TOOLS = "imx-boot-tools" diff --git a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb deleted file mode 100644 index 500b2de0..00000000 --- a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2014 O.S. Systems Software LTDA. -# Copyright (C) 2014-2016 Freescale Semiconductor -# Copyright 2017-2019 NXP - -FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot-imx:" - -require u-boot-imx_${PV}.bb -require u-boot-mfgtool.inc - -UUU_BOOTLOADER_TAGGED = "" -UUU_BOOTLOADER_TAGGED:mx6-nxp-bsp = "u-boot-mfgtool-tagged.${UBOOT_SUFFIX}" -UUU_BOOTLOADER_TAGGED:mx7-nxp-bsp = "u-boot-mfgtool-tagged.${UBOOT_SUFFIX}" diff --git a/recipes-bsp/u-boot/u-boot-imx_2021.04.bb b/recipes-bsp/u-boot/u-boot-imx_2021.04.bb deleted file mode 100644 index 21883af8..00000000 --- a/recipes-bsp/u-boot/u-boot-imx_2021.04.bb +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2018 (C) O.S. Systems Software LTDA. -# Copyright (C) 2017-2021 NXP - -require recipes-bsp/u-boot/u-boot.inc -require u-boot-imx-common_${PV}.inc - -PROVIDES += "u-boot" - -inherit uuu_bootloader_tag - -UUU_BOOTLOADER = "" -UUU_BOOTLOADER:mx6-nxp-bsp = "${UBOOT_BINARY}" -UUU_BOOTLOADER:mx7-nxp-bsp = "${UBOOT_BINARY}" -UUU_BOOTLOADER_TAGGED = "" -UUU_BOOTLOADER_TAGGED:mx6-nxp-bsp = "u-boot-tagged.${UBOOT_SUFFIX}" -UUU_BOOTLOADER_TAGGED:mx7-nxp-bsp = "u-boot-tagged.${UBOOT_SUFFIX}" - -do_deploy:append:mx8m-nxp-bsp() { - # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary - if [ -n "${UBOOT_CONFIG}" ] - then - for config in ${UBOOT_MACHINE}; do - i=$(expr $i + 1); - for type in ${UBOOT_CONFIG}; do - j=$(expr $j + 1); - if [ $j -eq $i ] - then - install -d ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} - fi - done - unset j - done - unset i - fi -} - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(mx6-generic-bsp|mx7-generic-bsp|mx8-generic-bsp)" diff --git a/recipes-bsp/u-boot/u-boot-imx_2023.04.bb b/recipes-bsp/u-boot/u-boot-imx_2023.04.bb new file mode 100644 index 00000000..0e7c467b --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx_2023.04.bb @@ -0,0 +1,63 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright 2018 (C) O.S. Systems Software LTDA. +# Copyright (C) 2017-2023 NXP + +require recipes-bsp/u-boot/u-boot.inc +require u-boot-imx-common_${PV}.inc + +PROVIDES += "u-boot u-boot-mfgtool" + +inherit uuu_bootloader_tag + +UUU_BOOTLOADER = "" +UUU_BOOTLOADER:mx6-generic-bsp = "${UBOOT_BINARY}" +UUU_BOOTLOADER:mx7-generic-bsp = "${UBOOT_BINARY}" +UUU_BOOTLOADER_TAGGED = "" +UUU_BOOTLOADER_TAGGED:mx6-generic-bsp = "u-boot-tagged.${UBOOT_SUFFIX}" +UUU_BOOTLOADER_TAGGED:mx7-generic-bsp = "u-boot-tagged.${UBOOT_SUFFIX}" +UUU_BOOTLOADER_UNTAGGED = "" +UUU_BOOTLOADER_UNTAGGED:mx6-generic-bsp = "u-boot-untagged.${UBOOT_SUFFIX}" +UUU_BOOTLOADER_UNTAGGED:mx7-generic-bsp = "u-boot-untagged.${UBOOT_SUFFIX}" + +do_deploy:append:mx8m-generic-bsp() { + # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary + if [ -n "${UBOOT_CONFIG}" ] + then + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} + UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" + for key_value in ${UBOOT_DTB_NAME_FLAGS}; do + local type_key="${key_value%%:*}" + local dtb_name="${key_value#*:}" + if [ "$type_key" = "$type" ] + then + bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name" + # There is only one ${dtb_name}, the first one. All the other are with the type appended + if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then + install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} + else + bbwarn "Use custom wks.in for $dtb_name = $type" + fi + install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} + fi + unset type_key + unset dtb_name + done + + unset UBOOT_DTB_NAME_FLAGS + fi + done + unset j + done + unset i + fi +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx6-generic-bsp|mx7-generic-bsp|mx8-generic-bsp|mx9-generic-bsp)" diff --git a/recipes-bsp/u-boot/u-boot-mfgtool.inc b/recipes-bsp/u-boot/u-boot-mfgtool.inc deleted file mode 100644 index 92d055bf..00000000 --- a/recipes-bsp/u-boot/u-boot-mfgtool.inc +++ /dev/null @@ -1,21 +0,0 @@ -# Produces a Manufacturing Tool compatible U-Boot -# -# This makes a separated binary set for Manufacturing Tool use -# without clobbering the U-Boot used for normal use. -# -# This file must to be included after the original u-boot.inc file, -# as it overrides the need values. -# -# Copyright (C) 2014 O.S. Systems Software LTDA. - -# Adjust provides -PROVIDES = "u-boot-mfgtool" - -# Use 'mfgtool' config -UBOOT_CONFIG = "mfgtool" - -# Add 'mfgtool' suffix -UBOOT_IMAGE = "u-boot-${MACHINE}-mfgtool-${PV}-${PR}.${UBOOT_SUFFIX}" -UBOOT_SYMLINK = "u-boot-${MACHINE}-mfgtool.${UBOOT_SUFFIX}" -SPL_IMAGE = "${SPL_BINARYNAME}-${MACHINE}-mfgtool-${PV}-${PR}" -SPL_SYMLINK = "${SPL_BINARYNAME}-mfgtool-${MACHINE}" diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb index b6385322..c46eae33 100644 --- a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb +++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = " \ file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \ " -SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/u-boot;nobranch=1" +SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1" SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477" S = "${WORKDIR}/git" @@ -23,7 +23,7 @@ PV:append = "+fslgit" LOCALVERSION = "+fsl" INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native" +DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native python3-setuptools-native" DEPENDS:append:qoriq-arm64 = " dtc-native" DEPENDS:append:qoriq-arm = " dtc-native" DEPENDS:append:qoriq-ppc = " boot-format-native" diff --git a/recipes-bsp/uefi/uefi_git.bb b/recipes-bsp/uefi/uefi_git.bb index d7ef0b72..b001a325 100644 --- a/recipes-bsp/uefi/uefi_git.bb +++ b/recipes-bsp/uefi/uefi_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315" inherit deploy SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https" -SRCREV= "1b28cad962a3f7b61baae2229cb3b84926941cfa" +SRCREV = "15deb924ff063007592ee647602dd454353f5aee" S = "${WORKDIR}/git" |