aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp')
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend12
-rwxr-xr-xrecipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state (renamed from recipes-bsp/alsa-state/alsa-state/imx/asound.state)0
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf (renamed from recipes-bsp/alsa-state/alsa-state/imx/asound.conf)0
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf271
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.3.inc13
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.6.inc12
-rw-r--r--recipes-bsp/atf/qoriq-atf-tools_2.6.bb (renamed from recipes-bsp/atf/qoriq-atf-tools_2.3.bb)7
-rw-r--r--recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch35
-rw-r--r--recipes-bsp/atf/qoriq-atf_1.5.bb249
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.3.bb175
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.6.bb189
-rw-r--r--recipes-bsp/boot-format/boot-format/flags.patch7
-rw-r--r--recipes-bsp/boot-format/boot-format_git.bb6
-rw-r--r--recipes-bsp/ddr-phy/ddr-phy_git.bb4
-rw-r--r--recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb30
-rw-r--r--recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb29
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb32
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.22.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.10.inc)8
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb23
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb24
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.22.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.10.bb)45
-rw-r--r--recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb147
-rw-r--r--recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb (renamed from recipes-bsp/firmware-imx/firmware-sof-imx_1.5.0-3.bb)8
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb61
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca.inc15
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb27
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb27
-rw-r--r--recipes-bsp/firmware-qca/qca-tools_3.0.2.bb20
-rw-r--r--recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb31
-rw-r--r--recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx6/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx6sll/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx6ul/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx7/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx7ulp/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor_%.bbappend2
-rw-r--r--recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb4
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.2.bb51
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.8.bb80
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch1
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs_git.bb13
-rw-r--r--recipes-bsp/imx-lib/imx-lib_git.bb37
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch81
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bb278
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.bb31
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.inc11
-rw-r--r--recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb (renamed from recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.7.1.bb)23
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch57
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch28
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch33
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs_git.bb19
-rw-r--r--recipes-bsp/imx-seco/imx-seco_5.9.0.bb (renamed from recipes-bsp/imx-seco/imx-seco_3.7.5.bb)13
-rw-r--r--recipes-bsp/imx-test/imx-test_00.00.00.bb4
-rw-r--r--recipes-bsp/imx-test/imx-test_git.bb56
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_git.bb14
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb (renamed from recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb)13
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb29
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch54
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb35
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb36
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb7
-rw-r--r--recipes-bsp/inphi/inphi_git.bb4
-rw-r--r--recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb (renamed from recipes-bsp/isp-imx/basler-camera_4.2.2.6.0.bb)15
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch27
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch44
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-imx8-isp.service-do-not-prevent-restart-of-service.patch26
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch23
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch46
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb105
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb84
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb54
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb89
-rw-r--r--recipes-bsp/ls2-phy/ls2-phy_git.bb4
-rw-r--r--recipes-bsp/mc-utils/mc-utils_git.bb38
-rw-r--r--recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch1
-rw-r--r--recipes-bsp/mxsldr/mxsldr_git.bb4
-rw-r--r--recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb6
-rw-r--r--recipes-bsp/qe-ucode/qe-ucode_git.bb4
-rw-r--r--recipes-bsp/rcw/rcw_git.bb15
-rw-r--r--recipes-bsp/u-boot/libubootenv_%.bbappend4
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc19
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc19
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.bb8
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.10.bb)22
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2020.10.bb73
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2024.01.bb25
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common.inc20
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc25
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-mfgtool_2020.04.bb8
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb15
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2020.04.bb32
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2023.04.bb63
-rw-r--r--recipes-bsp/u-boot/u-boot-mfgtool.inc21
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb (renamed from recipes-bsp/u-boot/u-boot-qoriq_2020.04.bb)28
-rw-r--r--recipes-bsp/uefi/uefi_git.bb6
94 files changed, 1982 insertions, 1512 deletions
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index 3a398b22..b6194d76 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -1,10 +1,4 @@
-# Append path for freescale layer to include alsa-state asound.conf
-FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_mx7 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_mx8 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_use-mainline-bsp := "${THISDIR}/${PN}/imx:"
+# Prepend path to override files from upstream recipe
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx7 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_use-mainline-bsp = "${MACHINE_ARCH}"
+PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/alsa-state/alsa-state/imx/asound.state b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
index ace734df..ace734df 100755
--- a/recipes-bsp/alsa-state/alsa-state/imx/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
diff --git a/recipes-bsp/alsa-state/alsa-state/imx/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/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.3.inc b/recipes-bsp/atf/qoriq-atf-2.3.inc
deleted file mode 100644
index bc8b912a..00000000
--- a/recipes-bsp/atf/qoriq-atf-2.3.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
-
-PV = "2.3+git${SRCPV}"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1 \
- git://github.com/ARMmbed/mbedtls;nobranch=1;destsuffix=git/mbedtls;name=mbedtls \
-"
-SRCREV = "4e40e24590ab908773ef842cd0e17faf233767d4"
-SRCREV_mbedtls = "85da85555e5b086b0250780693c3ee584f63e79f"
-SRCREV_FORMAT = "atf"
-
-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.3.bb b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
index d4be32be..2c1db306 100644
--- a/recipes-bsp/atf/qoriq-atf-tools_2.3.bb
+++ b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
@@ -1,10 +1,10 @@
require qoriq-atf-${PV}.inc
-SUMMARY = "Tools for ARM Trusted Firmware, e.g. FIP image creation tool"
-
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}
@@ -12,3 +12,4 @@ do_install () {
}
BBCLASSEXTEND = "native"
+
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_1.5.bb b/recipes-bsp/atf/qoriq-atf_1.5.bb
deleted file mode 100644
index 650acc3b..00000000
--- a/recipes-bsp/atf/qoriq-atf_1.5.bb
+++ /dev/null
@@ -1,249 +0,0 @@
-DESCRIPTION = "ARM Trusted Firmware"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
-
-PV = "1.5+git${SRCPV}"
-
-inherit deploy
-
-DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native mbedtls rcw cst-native"
-DEPENDS_append_lx2160a = " ddr-phy"
-do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1"
-SRCREV = "9225ad51f026975fa6b86db800f43c55db11fa4d"
-
-COMPATIBLE_MACHINE = "(qoriq)"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PLATFORM = "${MACHINE}"
-PLATFORM_ls1088ardb-pb = "ls1088ardb"
-PLATFORM_ADDITIONAL_TARGET ??= ""
-PLATFORM_ADDITIONAL_TARGET_ls1012afrwy = "ls1012afrwy_512mb"
-
-RCW_FOLDER ?= "${MACHINE}"
-RCW_FOLDER_ls1088ardb-pb = "ls1088ardb"
-
-# requires CROSS_COMPILE set by hand as there is no configure script
-export CROSS_COMPILE="${TARGET_PREFIX}"
-export ARCH="arm64"
-
-# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
-# a standalone application
-CFLAGS[unexport] = "1"
-LDFLAGS[unexport] = "1"
-AS[unexport] = "1"
-LD[unexport] = "1"
-
-EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
-
-BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
-OTABOOTTYPE ?= "nor qspi flexspi_nor"
-BUILD_SECURE = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'true', 'false', d)}"
-BUILD_OPTEE = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}"
-BUILD_FUSE = "${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'true', 'false', d)}"
-BUILD_OTA = "${@bb.utils.contains('DISTRO_FEATURES', 'ota', 'true', 'false', d)}"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
-"
-PACKAGECONFIG[optee] = ",,optee-os-qoriq"
-
-uboot_boot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
-uboot_boot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
-rcw ?= ""
-rcw_ls1012afrwy = "_default"
-rcw_ls1012ardb = "_default"
-rcwsec ?= "_sben"
-
-chassistype ?= "ls2088_1088"
-chassistype_ls1012ardb = "ls104x_1012"
-chassistype_ls1012afrwy = "ls104x_1012"
-chassistype_ls1043ardb = "ls104x_1012"
-chassistype_ls1046ardb = "ls104x_1012"
-chassistype_ls1046afrwy = "ls104x_1012"
-
-ddrphyopt ?= ""
-ddrphyopt_lx2160ardb = "fip_ddr_sec"
-
-do_configure[noexec] = "1"
-
-do_compile() {
- export LIBPATH="${RECIPE_SYSROOT_NATIVE}"
- install -d ${S}/include/tools_share/openssl
- cp -r ${RECIPE_SYSROOT}/usr/include/openssl/* ${S}/include/tools_share/openssl
- if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
- ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
- else
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ${S}
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub ${S}
- fi
-
- if [ "${BUILD_FUSE}" = "true" ]; then
- ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
- fuseopt="fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin"
- fi
- if [ "${BUILD_SECURE}" = "true" ]; then
- secureopt="TRUSTED_BOARD_BOOT=1 ${ddrphyopt} CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst"
- secext="_sec"
- bl33="${uboot_boot_sec}"
- if [ ${chassistype} = ls104x_1012 ]; then
- rcwtemp="${rcwsec}"
- else
- rcwtemp="${rcw}"
- fi
- else
- bl33="${uboot_boot}"
- rcwtemp="${rcw}"
- fi
-
- if [ "${BUILD_OPTEE}" = "true" ]; then
- bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
- bl32opt="BL32=${bl32}"
- spdopt="SPD=opteed"
- fi
-
- if [ "${BUILD_OTA}" = "true" ]; then
- otaopt="POLICY_OTA=1"
- btype="${OTABOOTTYPE}"
- else
- btype="${BOOTTYPE}"
- fi
-
- if [ -f ${DEPLOY_DIR_IMAGE}/ddr-phy/ddr4_pmu_train_dmem.bin ]; then
- cp ${DEPLOY_DIR_IMAGE}/ddr-phy/*.bin ${S}/
- fi
-
- for d in ${btype}; do
- case $d in
- nor)
- rcwimg="${RCWNOR}${rcwtemp}.bin"
- uefiboot="${UEFI_NORBOOT}"
- ;;
- nand)
- rcwimg="${RCWNAND}${rcwtemp}.bin"
- ;;
- qspi)
- rcwimg="${RCWQSPI}${rcwtemp}.bin"
- uefiboot="${UEFI_QSPIBOOT}"
- if [ "${BUILD_SECURE}" = "true" ] && [ ${MACHINE} = ls1046ardb ]; then
- rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
- fi
- ;;
- auto)
- rcwimg="${RCWAUTO}${rcwtemp}.bin"
- ;;
- sd)
- rcwimg="${RCWSD}${rcwtemp}.bin"
- ;;
- emmc)
- rcwimg="${RCWEMMC}${rcwtemp}.bin"
- ;;
- flexspi_nor)
- rcwimg="${RCWXSPI}${rcwtemp}.bin"
- uefiboot="${UEFI_XSPIBOOT}"
- ;;
- esac
-
- if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg}" ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
- cp -r ${S}/build/${PLATFORM}/release/bl2_${d}*.pbl ${S}
- cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}
- if [ "${BUILD_FUSE}" = "true" ]; then
- cp -f ${S}/build/${PLATFORM}/release/fuse_fip.bin ${S}
- fi
-
- if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
- cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_qspi${secext}.pbl ${S}/bl2_${d}${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl
- cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- if [ "${BUILD_FUSE}" = "true" ]; then
- cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- fi
- fi
- if [ -n "${uefiboot}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
- cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}/fip_uefi.bin
- fi
- fi
- rcwimg=""
- uefiboot=""
- done
-}
-
-do_install() {
- install -d ${D}/boot/atf
- cp -r ${S}/srk.pri ${D}/boot/atf
- cp -r ${S}/srk.pub ${D}/boot/atf
- if [ "${BUILD_SECURE}" = "true" ]; then
- secext="_sec"
- fi
- if [ -f "${S}/fip_uefi.bin" ]; then
- cp -r ${S}/fip_uefi.bin ${D}/boot/atf/fip_uefi.bin
- fi
- if [ -f "${S}/fuse_fip.bin" ]; then
- cp -r ${S}/fuse_fip.bin ${D}/boot/atf/fuse_fip.bin
- fi
- if [ -f "${S}/fip.bin" ]; then
- cp -r ${S}/fip.bin ${D}/boot/atf/fip.bin
- fi
- for d in ${BOOTTYPE}; do
- if [ -e ${S}/bl2_${d}${secext}.pbl ]; then
- cp -r ${S}/bl2_${d}${secext}.pbl ${D}/boot/atf/bl2_${d}${secext}.pbl
- fi
- done
- if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
- cp -r ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- cp -r ${S}/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl ${D}/boot/atf/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl
- if [ -f "${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin" ]; then
- cp -r ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- fi
- fi
- chown -R root:root ${D}
- if [ -f "${S}/fip_ddr_sec.bin" ]; then
- cp -r ${S}/fip_ddr_sec.bin ${D}/boot/atf/fip_ddr_sec.bin
- fi
-}
-
-do_deploy() {
- install -d ${DEPLOYDIR}/atf
- cp -r ${D}/boot/atf/srk.pri ${DEPLOYDIR}/atf
- cp -r ${D}/boot/atf/srk.pub ${DEPLOYDIR}/atf
- if [ "${BUILD_SECURE}" = "true" ]; then
- secext="_sec"
- fi
-
- if [ -f "${S}/fuse_fip.bin" ]; then
- cp -r ${D}/boot/atf/fuse_fip.bin ${DEPLOYDIR}/atf/fuse_fip${secext}.bin
- fi
-
- if [ -e ${D}/boot/atf/fip_uefi.bin ]; then
- cp -r ${D}/boot/atf/fip_uefi.bin ${DEPLOYDIR}/atf/fip_uefi.bin
- fi
- cp -r ${D}/boot/atf/fip.bin ${DEPLOYDIR}/atf/fip_uboot${secext}.bin
- for d in ${BOOTTYPE}; do
- if [ -e ${D}/boot/atf/bl2_${d}${secext}.pbl ]; then
- cp -r ${D}/boot/atf/bl2_${d}${secext}.pbl ${DEPLOYDIR}/atf/bl2_${d}${secext}.pbl
- fi
- done
- if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
- cp -r ${S}/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl ${DEPLOYDIR}/atf/
- cp -r ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${DEPLOYDIR}/atf/fip_uboot${secext}_${PLATFORM_ADDITIONAL_TARGET}.bin
- if [ -f "${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin" ]; then
- cp -r ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}${secext}.bin
- fi
- fi
- if [ -f "${S}/fip_ddr_sec.bin" ]; then
- cp -r ${D}/boot/atf/fip_ddr_sec.bin ${DEPLOYDIR}/atf/fip_ddr_sec.bin
- fi
-}
-addtask deploy after do_install
-FILES_${PN} += "/boot"
-BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/atf/qoriq-atf_2.3.bb b/recipes-bsp/atf/qoriq-atf_2.3.bb
deleted file mode 100644
index aed32851..00000000
--- a/recipes-bsp/atf/qoriq-atf_2.3.bb
+++ /dev/null
@@ -1,175 +0,0 @@
-require qoriq-atf-${PV}.inc
-
-DESCRIPTION = "ARM Trusted Firmware"
-
-inherit deploy
-
-DEPENDS += "cst-native"
-do_compile[depends] += "u-boot:do_deploy rcw:do_deploy ddr-phy:do_deploy"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PLATFORM = "${MACHINE}"
-MBEDTLS_FOLDER ?= "${S}/mbedtls"
-RCW_FOLDER ?= "${MACHINE}"
-
-# requires CROSS_COMPILE set by hand as there is no configure script
-export CROSS_COMPILE="${TARGET_PREFIX}"
-export ARCH="arm64"
-
-# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
-# a standalone application
-CFLAGS[unexport] = "1"
-LDFLAGS[unexport] = "1"
-AS[unexport] = "1"
-LD[unexport] = "1"
-
-EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
-
-BOOTTYPE ?= "flexspi_nor sd emmc"
-ARM_COT = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'true', 'false', d)}"
-NXP_COT = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'true', 'false', d)}"
-BUILD_OPTEE = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'optee', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'optee', '', d)} \
- ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
-"
-PACKAGECONFIG[optee] = ",,optee-os-qoriq"
-
-uboot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
-uboot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
-
-do_configure[noexec] = "1"
-
-do_compile() {
- if [ "${NXP_COT}" = "true" -a "${ARM_COT}" = "true" ]; then
- bbfatal " \
- Error!, Both ARM CoT and NXP CoT are enabled. Only one CoT is built in a yocto build, \
- Don't add nxp-cot and arm-cot into DISTRO_FEATURES_append at the same time."
- fi
-
- if [ "${NXP_COT}" = "true" ]; then
- rm -fr ${S}/nxp-cot
- mkdir -p ${S}/nxp-cot
- outputdir="${S}/nxp-cot"
- elif [ "${ARM_COT}" = "true" ]; then
- rm -fr ${S}/arm-cot
- mkdir -p ${S}/arm-cot
- outputdir="${S}/arm-cot"
- else
- outputdir="${S}"
- fi
-
- if [ "${NXP_COT}" = "true" -o "${ARM_COT}" = "true" ]; then
- if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
- ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
- else
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ${S}
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub ${S}
- fi
-
- bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
- bl33="${uboot_sec}"
- secext="_sec"
- else
- bl33="${uboot}"
- fi
-
- for d in ${BOOTTYPE}; do
- case $d in
- sd)
- rcwimg="${RCWSD}.bin"
- ;;
- emmc)
- rcwimg="${RCWEMMC}.bin"
- ;;
- flexspi_nor)
- rcwimg="${RCWXSPI}.bin"
- ;;
- esac
-
- if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg}" ]; then
- oe_runmake V=1 -C ${S} realclean
- if [ "${ARM_COT}" = "true" ]; then
- mkdir -p ${S}/build/${PLATFORM}/release
- if [ -f ${outputdir}/rot_key.pem ]; then
- cp -fr ${outputdir}/*.pem ${S}/build/${PLATFORM}/release
- fi
- oe_runmake V=1 -C ${S} fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} SPD=opteed BL32=${bl32} \
- BL33=${bl33} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} TRUSTED_BOARD_BOOT=1 \
- GENERATE_COT=1 MBEDTLS_DIR=${MBEDTLS_FOLDER} CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst
-
- if [ ! -f ${outputdir}/ddr_fip_sec.bin ]; then
- oe_runmake V=1 -C ${S} fip_ddr PLAT=${PLATFORM} TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 \
- MBEDTLS_DIR=${MBEDTLS_FOLDER} DDR_PHY_BIN_PATH=${DEPLOY_DIR_IMAGE}/ddr-phy
- cp -r ${S}/build/${PLATFORM}/release/ddr_fip_sec.bin ${outputdir}
- cp -r ${S}/build/${PLATFORM}/release/*.pem ${outputdir}
- fi
- elif [ "${NXP_COT}" = "true" ]; then
- oe_runmake V=1 -C ${S} fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} SPD=opteed BL32=${bl32} \
- BL33=${bl33} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} TRUSTED_BOARD_BOOT=1 \
- CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst
-
- if [ ! -f ${outputdir}/ddr_fip_sec.bin ]; then
- oe_runmake V=1 -C ${S} fip_ddr PLAT=${PLATFORM} TRUSTED_BOARD_BOOT=1 \
- CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst DDR_PHY_BIN_PATH=${DEPLOY_DIR_IMAGE}/ddr-phy
- cp -r ${S}/build/${PLATFORM}/release/ddr_fip_sec.bin ${outputdir}
- fi
- elif [ "${BUILD_OPTEE}" = "true" ]; then
- bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} SPD=opteed BL32=${bl32} \
- RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33}
- else
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} \
- RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33}
- fi
-
- cp -r ${S}/build/${PLATFORM}/release/bl2_${d}${secext}.pbl ${outputdir}
- cp -r ${S}/build/${PLATFORM}/release/fip.bin ${outputdir}
- fi
- rcwimg=""
- done
-}
-
-do_install() {
- install -d ${D}/boot/atf
- if [ "${ARM_COT}" = "true" ]; then
- outputdir="${S}/arm-cot"
- secext="_sec"
- elif [ "${NXP_COT}" = "true" ]; then
- outputdir="${S}/nxp-cot"
- secext="_sec"
- else
- outputdir="${S}"
- fi
- if [ -f "${outputdir}/fip.bin" ]; then
- cp -r ${outputdir}/fip.bin ${D}/boot/atf/fip_uboot${secext}.bin
- fi
- if [ -f "${outputdir}/ddr_fip_sec.bin" ]; then
- cp -r ${outputdir}/ddr_fip_sec.bin ${D}/boot/atf/
- fi
- for d in ${BOOTTYPE}; do
- if [ -e ${outputdir}/bl2_${d}${secext}.pbl ]; then
- cp -r ${outputdir}/bl2_${d}${secext}.pbl ${D}/boot/atf/bl2_${d}${secext}.pbl
- fi
- done
- chown -R root:root ${D}
-}
-
-do_deploy() {
- if [ "${ARM_COT}" = "true" ]; then
- outputdir="atf_arm-cot"
- elif [ "${NXP_COT}" = "true" ]; then
- outputdir="atf_nxp-cot"
- else
- outputdir="atf"
- fi
-
- install -d ${DEPLOYDIR}/${outputdir}
- cp -fr ${D}/boot/atf/* ${DEPLOYDIR}/${outputdir}/
-}
-addtask deploy after do_install
-FILES_${PN} += "/boot"
-COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
diff --git a/recipes-bsp/atf/qoriq-atf_2.6.bb b/recipes-bsp/atf/qoriq-atf_2.6.bb
new file mode 100644
index 00000000..5ae2ed9d
--- /dev/null
+++ b/recipes-bsp/atf/qoriq-atf_2.6.bb
@@ -0,0 +1,189 @@
+require qoriq-atf-${PV}.inc
+
+inherit deploy
+
+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"
+
+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)"
+
+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)}"
+RCW_SUFFIX:ls1043a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
+RCW_SUFFIX:ls1046a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
+
+UBOOT_BINARY ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa', d)}"
+
+SECURE_EXTENTION ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sec', '', d)}"
+
+BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
+
+chassistype ?= "ls2088_1088"
+chassistype:ls1012a = "ls104x_1012"
+chassistype:ls1043a = "ls104x_1012"
+chassistype:ls1046a = "ls104x_1012"
+
+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}"
+export ARCH="arm64"
+
+# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
+# a standalone application
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
+EXTRA_OEMAKE += "\
+ ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'BL32=${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin SPD=opteed', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'TRUSTED_BOARD_BOOT=1 CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'GENERATE_COT=1 MBEDTLS_DIR=${S}/mbedtls', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin', '', d)} \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
+"
+PACKAGECONFIG[optee] = ",,optee-os-qoriq"
+
+python() {
+ if bb.utils.contains("DISTRO_FEATURES", "arm-cot", True, False, d):
+ if not bb.utils.contains("DISTRO_FEATURES", "secure", True, False, d):
+ bb.fatal("arm-cot needs 'secure' being set in DISTRO_FEATURES")
+}
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
+ else
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri .
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub .
+ fi
+
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr \
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
+
+ for d in ${BOOTTYPE}; do
+ case $d in
+ nor)
+ rcwimg="${RCWNOR}${RCW_SUFFIX}"
+ uefiboot="${UEFI_NORBOOT}"
+ ;;
+ nand)
+ rcwimg="${RCWNAND}${RCW_SUFFIX}"
+ ;;
+ qspi)
+ rcwimg="${RCWQSPI}${RCW_SUFFIX}"
+ uefiboot="${UEFI_QSPIBOOT}"
+ if [ -n "${SECURE_EXTENTION}" ] && [ "${MACHINE}" = ls1046ardb ]; then
+ rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
+ fi
+ ;;
+ auto)
+ rcwimg="${RCWAUTO}${RCW_SUFFIX}"
+ ;;
+ sd)
+ rcwimg="${RCWSD}${RCW_SUFFIX}"
+ ;;
+ emmc)
+ rcwimg="${RCWEMMC}${RCW_SUFFIX}"
+ ;;
+ flexspi_nor)
+ rcwimg="${RCWXSPI}${RCW_SUFFIX}"
+ uefiboot="${UEFI_XSPIBOOT}"
+ ;;
+ esac
+
+ if [ -f ${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/$rcwimg ]; then
+ make V=1 realclean
+ if [ -f rot_key.pem ];then
+ mkdir -p build/${PLATFORM}/release/
+ cp *.pem build/${PLATFORM}/release/
+ fi
+
+ 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 [ -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
+ cp build/${PLATFORM}/release/*.pem .
+ fi
+
+ if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
+ make V=1 realclean
+ oe_runmake V=1 all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
+ cp build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_${d}${SECURE_EXTENTION}.pbl bl2_${d}${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.pbl
+ cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin fip_uboot${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.bin
+ if [ -e build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ]; then
+ cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
+ fi
+ fi
+
+ if [ -z "${SECURE_EXTENTION}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
+ make V=1 realclean
+ oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}
+ cp build/${PLATFORM}/release/fip.bin fip_uefi.bin
+ fi
+ fi
+ rcwimg=""
+ uefiboot=""
+ done
+}
+
+do_install() {
+ install -d ${D}/boot/atf/
+ cp srk.pri ${D}/boot/atf/
+ cp srk.pub ${D}/boot/atf/
+ cp *.pbl ${D}/boot/atf/
+ if [ ! -e fuse_fip.bin ]; then
+ rm -f fuse_scr.bin
+ fi
+ cp *.bin ${D}/boot/atf/
+ chown -R root:root ${D}
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/atf/
+ cp ${D}/boot/atf/* ${DEPLOYDIR}/atf/
+}
+addtask deploy after do_install
+
+FILES:${PN} += "/boot"
+BBCLASSEXTEND = "native nativesdk"
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 92ec8307..0916b45b 100644
--- a/recipes-bsp/boot-format/boot-format_git.bb
+++ b/recipes-bsp/boot-format/boot-format_git.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "Boot format utility for booting from eSDHC/eSPI"
-LICENSE = "GPLv2"
+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"
@@ -15,6 +15,6 @@ do_install(){
}
PACKAGES =+ "${PN}-config"
-FILES_${PN}-config += "${datadir}/*"
+FILES:${PN}-config += "${datadir}/*"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/ddr-phy/ddr-phy_git.bb b/recipes-bsp/ddr-phy/ddr-phy_git.bb
index fa8833fd..8ea92502 100644
--- a/recipes-bsp/ddr-phy/ddr-phy_git.bb
+++ b/recipes-bsp/ddr-phy/ddr-phy_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=89cc852481956e861228286ac7430
inherit deploy
-SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1"
+SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https"
SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
S = "${WORKDIR}/git"
@@ -38,7 +38,7 @@ do_deploy () {
addtask deploy before do_populate_sysroot after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
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 e8db5456..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.0.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb
new file mode 100644
index 00000000..83c865c2
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb
@@ -0,0 +1,32 @@
+# 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=2827219e81f28aba7c6a569f7c437fa7"
+
+inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "7532c2e356574c1c9255c01169d38427"
+SRC_URI[sha256sum] = "4a0440168d8dfb95989a17be8fafb149589e110e7d4518e5e8a33463dfb5e5ca"
+
+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
+}
+
+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
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_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.10.inc b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
index 6f1222aa..804a7db0 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.10.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
@@ -1,16 +1,16 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright 2017-2022 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "3f8c4661ca0f64ca30fd239f66b6a471"
-SRC_URI[sha256sum] = "2b70f169d4065b2a7ac7a676afe24636128bd2dacc9f5230346758c3b146b2be"
+SRC_URI[md5sum] = "c5cf3842569f0a7fd990fbc64979e84f"
+SRC_URI[sha256sum] = "94c8bceac56ec503c232e614f77d6bbd8e17c7daa71d4e651ea8fd5034c30350"
S = "${WORKDIR}/firmware-imx-${PV}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb
deleted file mode 100644
index 650c1cfd..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.10.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)"
-COMPATIBLE_MACHINE_mx8m = "(^$)"
-COMPATIBLE_MACHINE_mx8x = "(^$)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb
deleted file mode 100644
index a48356ed..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.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|imx-boot-container)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.10.bb b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
index 8ff4a321..a9e36b5e 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.10.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
@@ -1,5 +1,5 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 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"
@@ -43,10 +43,9 @@ do_install() {
# NOTE:
# Only install pre-defined list of firmware files, since the source archive contains
# also HDMI binary files for imx8m derivatives, which are taken care of by another recipe
- install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi
+ install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware
# VPU Firmware section
# NOTE:
@@ -65,7 +64,30 @@ do_install() {
# as second one, and for every file match - it creates a separate package,
# which contains only files that matches the pattern.
#
-python populate_packages_prepend() {
+python populate_packages:prepend() {
+ # CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to
+ # avoid fallback loading which is usually 40-60 seconds later after system boots up, let's
+ # create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares.
+ def coda_vpu_links(file, pkg, pattern, format, basename):
+ # Only CODA VPU firmwares need this procedure
+ if 'imx8' in basename:
+ return
+
+ dir = os.path.dirname(file)
+ dir = os.path.abspath(os.path.join(dir, os.pardir))
+ cwd = os.getcwd()
+
+ os.chdir(dir)
+
+ name = os.path.basename(file)
+ os.symlink(os.path.join("vpu", name), name)
+
+ oldfiles = d.getVar('FILES:' + pkg)
+ newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name)
+ d.setVar('FILES:' + pkg, oldfiles + " " + newfile)
+
+ os.chdir(cwd)
+
easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d)
do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin',
output_pattern='firmware-imx-easrc-%s',
@@ -77,6 +99,7 @@ python populate_packages_prepend() {
do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
output_pattern='firmware-imx-vpu-%s',
description='Freescale IMX VPU Firmware [%s]',
+ hook=coda_vpu_links,
extra_depends='',
prepend=True)
@@ -123,7 +146,11 @@ PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xu
# files it makes no sense.
PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi"
-FILES_${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
-FILES_${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/"
+FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
+FILES:${PN}-hdmi = " \
+ ${nonarch_base_libdir}/firmware/hdmitxfw.bin \
+ ${nonarch_base_libdir}/firmware/hdmirxfw.bin \
+ ${nonarch_base_libdir}/firmware/dpfw.bin \
+"
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
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 0f0a2af0..8dc7ae64 100644
--- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
@@ -1,46 +1,159 @@
-# 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=2827219e81f28aba7c6a569f7c437fa7"
-SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https"
-SRCREV = "484d38224fa2c26b8859a7bf20b7c4d49100f5bc"
+SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "7be5a936ce8677962dd7b41c6c9f41dd14350bec"
S = "${WORKDIR}/git"
inherit allarch
CLEANBROKEN = "1"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
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 = " \
+FILES:${PN}-bcm4359-pcie = " \
${nonarch_base_libdir}/firmware/brcm/brcmfmac4359-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.5.0-3.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
index 22f4c25f..9778bd1c 100644
--- a/recipes-bsp/firmware-imx/firmware-sof-imx_1.5.0-3.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] = "4deaf1bc81238ef57be29cec3cf5f636"
-SRC_URI[sha256sum] = "14394ffcf145536569bcc20910cda7c8b58a99fdb3a04b125453146739541da9"
+SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6"
+SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
S = "${WORKDIR}/sof-imx-${PV}"
@@ -21,4 +21,4 @@ do_install() {
cp -r sof* ${D}${nonarch_base_libdir}/firmware/imx/
}
-FILES_${PN} = "${nonarch_base_libdir}/firmware/imx"
+FILES:${PN} = "${nonarch_base_libdir}/firmware/imx"
diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb
new file mode 100644
index 00000000..24619859
--- /dev/null
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.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-qca/firmware-qca.inc b/recipes-bsp/firmware-qca/firmware-qca.inc
deleted file mode 100644
index f33f4eb9..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-SECTION = "base"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d \
- file://QUALCOMM_ATHEROS_LICENSE_AGREEMENT.pdf;md5=e629669cf17f6a2a6872e067582986e3 \
-"
-
-SRC_URI = " ${FSL_MIRROR}/firmware-qca-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "75b1b2a8dea8f81609ccfc072d42fa86"
-SRC_URI[sha256sum] = "6ad56ac1df841e252ac6db0a8966082715a3cb6dc7189426bade13333a16fd9d"
-S = "${WORKDIR}/firmware-qca-${PV}"
-
-inherit fsl-eula-unpack
diff --git a/recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb b/recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb
deleted file mode 100644
index 47b289af..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2019-2020 NXP
-
-require firmware-qca.inc
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth firmware for modules such as QCA6174A"
-SECTION = "base"
-LICENSE = "Proprietary"
-
-inherit allarch
-
-do_install () {
- # Install firmware.conf for QCA modules
- install -d ${D}${sysconfdir}/bluetooth
- install -m 644 ${S}/1CQ_QCA6174A_LEA_2.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
-
- # Install firmware files
- install -d ${D}${base_libdir}
- cp -r ${S}/1CQ_QCA6174A_LEA_2.0/lib/firmware ${D}${base_libdir}
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/bluetooth/firmware.conf \
- ${base_libdir}/firmware/qca6174 \
- ${base_libdir}/firmware/wlan \
- ${base_libdir}/firmware/* \
-"
diff --git a/recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb b/recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb
deleted file mode 100644
index 26c41d50..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-
-require firmware-qca.inc
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth firmware for modules such as QCA9377-3"
-SECTION = "base"
-LICENSE = "Proprietary"
-
-inherit allarch
-
-do_install () {
- # Install firmware.conf for QCA modules
- install -d ${D}${sysconfdir}/bluetooth
- install -m 644 ${S}/1PJ_QCA9377-3_LEA_3.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
-
- # Install firmware files
- install -d ${D}${base_libdir}
- cp -r ${S}/1PJ_QCA9377-3_LEA_3.0/lib/firmware ${D}${base_libdir}
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/bluetooth/firmware.conf \
- ${base_libdir}/firmware/qca \
- ${base_libdir}/firmware/qca9377 \
- ${base_libdir}/firmware/wlan \
-"
diff --git a/recipes-bsp/firmware-qca/qca-tools_3.0.2.bb b/recipes-bsp/firmware-qca/qca-tools_3.0.2.bb
deleted file mode 100644
index e996c62d..00000000
--- a/recipes-bsp/firmware-qca/qca-tools_3.0.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-
-require firmware-qca.inc
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth tools"
-DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth tools for modules such as QCA6174A and QCA9377"
-LICENSE = "Proprietary"
-
-DEPENDS = "libnl zlib"
-
-FCC_TOOLS_FOLDER ?= "qca9377_qca6174_arm32"
-FCC_TOOLS_FOLDER_aarch64 = "qca9377_qca6174_arm64"
-
-do_install() {
- install -d ${D}${sbindir}/fcc_tools
- cp -r ${S}/fcc_tools/${FCC_TOOLS_FOLDER} ${D}${sbindir}/fcc_tools
-}
-
-COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb b/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb
new file mode 100644
index 00000000..f21de75a
--- /dev/null
+++ b/recipes-bsp/firmware-upower/firmware-upower_1.1.0.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=5a0bf11f745e68024f37b4724a5364fe"
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+
+S = "${WORKDIR}/${PN}-${PV}"
+
+inherit fsl-eula-unpack pkgconfig deploy
+
+SRC_URI[md5sum] = "d2cbe8d2f8fa170e5d48c599c4caac5e"
+SRC_URI[sha256sum] = "c02595917744769abe810107a08506e4055b8077b5fc4ed17c353b833756c8b0"
+
+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/formfactor/formfactor/mx6/machconfig b/recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig
index ded33a07..ded33a07 100644
--- a/recipes-bsp/formfactor/formfactor/mx6/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx6sll/machconfig b/recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig
index e3b99b7c..e3b99b7c 100644
--- a/recipes-bsp/formfactor/formfactor/mx6sll/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx6ul/machconfig b/recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig
index e3b99b7c..e3b99b7c 100644
--- a/recipes-bsp/formfactor/formfactor/mx6ul/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx7/machconfig b/recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig
index e3b99b7c..e3b99b7c 100644
--- a/recipes-bsp/formfactor/formfactor/mx7/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx7ulp/machconfig b/recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig
index 25b18f21..25b18f21 100644
--- a/recipes-bsp/formfactor/formfactor/mx7ulp/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor_%.bbappend b/recipes-bsp/formfactor/formfactor_%.bbappend
index 15f8f4e8..83cce131 100644
--- a/recipes-bsp/formfactor/formfactor_%.bbappend
+++ b/recipes-bsp/formfactor/formfactor_%.bbappend
@@ -1,2 +1,2 @@
# Append path for i.MX custom matchconfig
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
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 60598ae5..3883c024 100644
--- a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
+++ b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
@@ -2,10 +2,10 @@ SUMMARY = "Freescale TLU(Table Lookup Unit) test package"
DESCRIPTION = "This package includes the TLU(Table Lookup Unit) test scripts \
and configuration files."
-LICENSE = "GPLv2"
+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_2.2.bb b/recipes-bsp/imx-atf/imx-atf_2.2.bb
deleted file mode 100644
index 6be81e59..00000000
--- a/recipes-bsp/imx-atf/imx-atf_2.2.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright (C) 2017-2020 NXP
-
-DESCRIPTION = "i.MX ARM Trusted Firmware"
-SECTION = "BSP"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH = "imx_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
-"
-SRCREV = "f1d7187f261ebf4b8a2a70d638d4bfc0a9b26c29"
-
-S = "${WORKDIR}/git"
-
-inherit deploy
-
-BOOT_TOOLS = "imx-boot-tools"
-
-ATF_PLATFORM ??= "INVALID"
-
-EXTRA_OEMAKE += " \
- CROSS_COMPILE="${TARGET_PREFIX}" \
- PLAT=${ATF_PLATFORM} \
-"
-
-BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
-
-do_compile() {
- # Clear LDFLAGS to avoid the option -Wl recognize issue
- unset LDFLAGS
- oe_runmake bl31
- if ${BUILD_OPTEE}; then
- oe_runmake clean BUILD_BASE=build-optee
- oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
- fi
-}
-
-do_install[noexec] = "1"
-
-do_deploy() {
- install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin
- if ${BUILD_OPTEE}; then
- install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin-optee
- fi
-}
-addtask deploy after do_compile
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(mx8|imx-boot-container)"
diff --git a/recipes-bsp/imx-atf/imx-atf_2.8.bb b/recipes-bsp/imx-atf/imx-atf_2.8.bb
new file mode 100644
index 00000000..ce9ca9dc
--- /dev/null
+++ b/recipes-bsp/imx-atf/imx-atf_2.8.bb
@@ -0,0 +1,80 @@
+# 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"
+
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf_v2.8"
+SRCREV = "08e9d4eef2262c0dd072b4325e8919e06d349e02"
+
+S = "${WORKDIR}/git"
+
+inherit deploy
+
+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} \
+ PLAT=${ATF_PLATFORM} \
+"
+
+# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+# Baremetal, just need a compiler
+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)}"
+
+# CC and LD introduce arguments which conflict with those otherwise provided by
+# this recipe. The heads of these variables excluding those arguments
+# are therefore used instead.
+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'))}.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
+ 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
+ fi
+}
+
+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 d93a3f25..bdb02475 100644
--- a/recipes-bsp/imx-kobs/imx-kobs_git.bb
+++ b/recipes-bsp/imx-kobs/imx-kobs_git.bb
@@ -1,18 +1,19 @@
# 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 = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
PV = "5.5+git${SRCPV}"
-SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https \
+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
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/imx-lib/imx-lib_git.bb b/recipes-bsp/imx-lib/imx-lib_git.bb
index c5619070..74b7bddf 100644
--- a/recipes-bsp/imx-lib/imx-lib_git.bb
+++ b/recipes-bsp/imx-lib/imx-lib_git.bb
@@ -3,32 +3,34 @@
# Copyright 2017 NXP
DESCRIPTION = "Platform specific libraries for imx platform"
-LICENSE = "LGPLv2.1"
+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.8+${SRCPV}"
+PV = "5.9+${SRCPV}"
-SRCBRANCH = "master"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "3f777974c0c146817e2ff5cb0340ca66a1f99e57"
+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 = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6S"
-PLATFORM_mx6sll = "IMX6UL"
-PLATFORM_mx6sx = "IMX6S"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx6ull = "IMX6UL"
-PLATFORM_mx7d = "IMX7"
-PLATFORM_mx7ulp = "IMX7"
+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:mx6ull-nxp-bsp = "IMX6UL"
+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 = ""
@@ -40,6 +42,9 @@ do_compile () {
do_install () {
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
+
+ # Remove .go file for Android
+ find ${D}/ -name *.go -exec rm {} \;
}
-COMPATIBLE_MACHINE = "(mx6|mx7)"
+COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)"
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
new file mode 100644
index 00000000..f182a2f1
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
@@ -0,0 +1,81 @@
+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
+implementation on the imx-mkimge on the other hand copies it locally in
+order to invoke it from within the build folder.
+
+Since recent updates, mkimage requires openssl.so to be installed, which
+when local copy is used causes the tool not to operate and fails the
+build.
+
+Use it from the build sysroot, and do not pull the local version of it.
+
+Reinjected the original patch from 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(-)
+
+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) $(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
+@@ -172,7 +172,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) $(supp_dt
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(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
+@@ -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) $(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
+@@ -196,7 +196,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) $(supp_dtbs
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(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
+@@ -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) $(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)
+@@ -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
+- @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/mkimage_uboot -O mkimage_uboot
+
+ archive :
+ git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME)
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
index ba1507eb..a761870b 100644
--- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -3,26 +3,29 @@
require imx-mkimage_git.inc
DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
-inherit use-imx-security-controller-firmware
+inherit use-imx-security-controller-firmware uboot-sign
-IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware imx-seco"
-IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m"
-IMX_EXTRA_FIRMWARE_mx8x = "imx-sc-firmware imx-seco"
DEPENDS += " \
u-boot \
${IMX_EXTRA_FIRMWARE} \
imx-atf \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
"
-DEPENDS_append_mx8m = " u-boot-mkimage-native dtc-native"
+# xxd is a dependency of fspi_packer.sh
+DEPENDS += "xxd-native"
+DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native"
BOOT_NAME = "imx-boot"
PROVIDES = "${BOOT_NAME}"
-inherit deploy
+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}"
@@ -39,10 +42,7 @@ do_compile[depends] += " \
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"
+ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
TOOLS_NAME ?= "mkimage_imx8"
@@ -56,18 +56,25 @@ IMXBOOT_TARGETS ?= \
'flash_multi_cores flash_dcd', d), d)}"
BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
-BOOT_STAGING_mx8m = "${S}/iMX8M"
-BOOT_STAGING_mx8dx = "${S}/iMX8QX"
+BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M"
+BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX"
+BOOT_STAGING:mx9-generic-bsp = "${S}/iMX9"
+
+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"
-SOC_FAMILY = "INVALID"
-SOC_FAMILY_mx8 = "mx8"
-SOC_FAMILY_mx8m = "mx8m"
-SOC_FAMILY_mx8x = "mx8x"
+REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
-REV_OPTION ?= ""
-REV_OPTION_mx8qxp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', '', \
- 'REV=C0', d)}"
+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
@@ -75,25 +82,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}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \
+
+ 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_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_EXTRA} \
${BOOT_STAGING}/u-boot-nodtb.bin
- cp ${STAGING_DIR_NATIVE}/${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
- cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
+
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.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}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
- cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.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
}
@@ -102,66 +119,172 @@ compile_mx8x() {
bbnote 8QX boot binary build
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}/${BOOT_TOOLS}/${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}/${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
+}
+
+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}
- install -m 0755 ${BOOT_STAGING}/mkimage_uboot ${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
@@ -169,34 +292,55 @@ deploy_mx8x() {
${DEPLOYDIR}/${BOOT_TOOLS}
fi
}
+
do_deploy() {
deploy_${SOC_FAMILY}
- # copy the tool mkimage to deploy path and sc fw, dcd and uboot
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
# 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}
+ # 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
+
+ # 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
- cd ${DEPLOYDIR}
- ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${BOOT_NAME}
- cd -
+ unset type
}
addtask deploy before do_build after do_compile
PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} = "/boot"
+FILES:${PN} = "/boot"
-COMPATIBLE_MACHINE = "(mx8)"
+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 4e154f6d..f95f2a2b 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
@@ -1,40 +1,23 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright (C) 2017-2022 NXP
require imx-mkimage_git.inc
DESCRIPTION = "i.MX make image"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
inherit deploy native
-CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
-
-REV_CHIP ?= "B0"
-REV_CHIP_mx8qxp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'B0', \
- 'C0', d)}"
+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
- oe_runmake -C iMX8QM REV=${REV_CHIP} -f soc.mak imx8qm_dcd.cfg.tmp
- oe_runmake -C iMX8QX REV=${REV_CHIP} -f soc.mak imx8qx_dcd.cfg.tmp
-}
+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
+ install -m 0755 iMX8M/print_fit_hab.sh ${D}${bindir}/print_fit_hab.sh
install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8
}
-
-do_deploy () {
- install -m 0644 ${S}/iMX8QM/imx8qm_dcd.cfg.tmp ${DEPLOYDIR}
- install -m 0644 ${S}/iMX8QX/imx8qx_dcd.cfg.tmp ${DEPLOYDIR}
-}
-addtask deploy before do_build after do_install
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index 1eba5109..20402697 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -1,10 +1,13 @@
-# Copyright 2017-2020 NXP
+# Copyright 2017-2022 NXP
DEPENDS = "zlib-native openssl-native"
-SRCBRANCH = "imx_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "8947fea369ab3932259630232cfb9f87b8f9dda1"
+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 \
+"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "c4365450fb115d87f245df2864fee1604d97c06a"
+
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"
diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.7.1.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
index ade228d0..7dc2e593 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.7.1.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
@@ -1,25 +1,24 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright 2017-2022 NXP
DESCRIPTION = "i.MX System Controller Firmware"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+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] = "962aebbb0100cc0e049fa88cea594a00"
-SRC_URI[sha256sum] = "9a37353c07c187078be02d76ac55f615cd0c60ea9a1c4233c1929e4b2c43aebc"
+SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f"
+SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
BOARD_TYPE ?= "mek"
SC_FIRMWARE_NAME ?= "INVALID"
-SC_FIRMWARE_NAME_mx8qm = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8qxp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8phantomdxl = "mx8dxl-phantom-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8dxl = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8dx = "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"
@@ -39,4 +38,8 @@ INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx8qm|mx8qxp|mx8phantomdxl|mx8dxl|mx8dx)"
+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/0001-Makefile-Fix-LIBDIR-for-multilib.patch b/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch
new file mode 100644
index 00000000..27107a6a
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch
@@ -0,0 +1,28 @@
+From 9e89d173a7fab97c913960344ae01dfa409b6258 Mon Sep 17 00:00:00 2001
+From: Cristinel Panfir <cristinel.panfir@nxp.com>
+Date: Mon, 27 Jul 2020 18:55:30 +0000
+Subject: [PATCH] Makefile: Fix LIBDIR for multilib
+
+Upstream-Status: Pending
+Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index b16cebf..492d700 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,7 +4,8 @@ all: she_test hsm_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a
+ CFLAGS = -O1 -Werror -fPIC
+ DESTDIR ?= export
+ BINDIR ?= /usr/bin
+-LIBDIR ?= /usr/lib
++base_libdir ?= /lib
++LIBDIR ?= /usr/$(base_libdir)
+ INCLUDEDIR ?= /usr/include
+
+ ifdef COVERAGE
+--
+2.7.4
+
diff --git a/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch b/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch
new file mode 100644
index 00000000..81a4c17e
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch
@@ -0,0 +1,33 @@
+From b62f020ea723dc33f28e5e865d0ddd13219971c9 Mon Sep 17 00:00:00 2001
+From: Cristinel Panfir <cristinel.panfir@nxp.com>
+Date: Mon, 29 Mar 2021 15:24:42 +0300
+Subject: [PATCH] Makefile: Add v2x test to the installed-binaries
+
+Upstream-Status: Pending
+Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
+[regenerate the patch to be applied after meta-imx patches]
+Signed-off-by: Fausto Chiatante <fausto.chiatante@nxp.com>
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 25ad333..a397814 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,9 +61,9 @@ hsm_doc: include/hsm/hsm_api.h
+ cp doc/latex/refman.pdf doc/hsm_api_document.pdf
+ rm -rf doc/latex/
+
+-install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a
++install: hsm_test she_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a
+ mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)
+ cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
+- cp hsm_test she_test $(DESTDIR)$(BINDIR)
++ cp hsm_test she_test v2x_test $(DESTDIR)$(BINDIR)
+ cp -a include/* $(DESTDIR)$(INCLUDEDIR)
+
+--
+2.25.1
+
diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
index dc37cdfc..b0296e97 100644
--- a/recipes-bsp/imx-seco/imx-seco-libs_git.bb
+++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
@@ -1,24 +1,27 @@
-# Copyright (C) 2019-2020 NXP
+# Copyright 2019-22 NXP
SUMMARY = "NXP i.MX SECO library"
-DESCRIPTION = "NXP IMX SECO library"
+DESCRIPTION = "Library for NXP i.MX Security Controller Subsystem"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://EULA.txt;md5=228c72f2a91452b8a03c4cab30f30ef9"
+LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011"
DEPENDS = "zlib"
-SRCBRANCH = "imx_5.4.70_2.3.1"
+SRCBRANCH = "imx_5.4.70_2.3.11"
SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \
- file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch"
-SRCREV = "79e5fb5d096c61b1c3163c9fa8e42719509d95a0"
+ 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 \
+ 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|mx8qxp|mx8phantomdxl|mx8dxl)"
+COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco_3.7.5.bb b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
index 0539b887..f7dadea5 100644
--- a/recipes-bsp/imx-seco/imx-seco_3.7.5.bb
+++ b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
@@ -1,17 +1,18 @@
-# Copyright (C) 2019-2020 NXP
+# Copyright 2019-2022 NXP
SUMMARY = "NXP i.MX SECO firmware"
-DESCRIPTION = "NXP IMX SECO firmware"
+DESCRIPTION = "Firmware for i.MX Security Controller Subsystem"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+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] = "d4faca131abfc51a1dd0278d7d201159"
-SRC_URI[sha256sum] = "08cf25a4be6841ca7264a50b29c311b386eae1c02fced8a3b55fd04213acb4bc"
+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|mx8qxp|mx8phantomdxl|mx8dxl)"
+COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
diff --git a/recipes-bsp/imx-test/imx-test_00.00.00.bb b/recipes-bsp/imx-test/imx-test_00.00.00.bb
index c29e6a62..1850a16a 100644
--- a/recipes-bsp/imx-test/imx-test_00.00.00.bb
+++ b/recipes-bsp/imx-test/imx-test_00.00.00.bb
@@ -4,7 +4,7 @@ SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|vf50|vf60)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/imx-test/imx-test_git.bb b/recipes-bsp/imx-test/imx-test_git.bb
index 4e139cc4..5d30179d 100644
--- a/recipes-bsp/imx-test/imx-test_git.bb
+++ b/recipes-bsp/imx-test/imx-test_git.bb
@@ -1,27 +1,27 @@
# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
+# Copyright (C) 2017-2022 NXP
SUMMARY = "Test programs for i.MX BSP"
DESCRIPTION = "Unit tests for the i.MX BSP"
SECTION = "base"
-LICENSE = "GPLv2+"
+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 = " imx-lib"
-DEPENDS_append_mx7 = " imx-lib"
-DEPENDS_append_imxvpu = " virtual/imxvpu"
+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"
PE = "1"
PV = "7.0+${SRCPV}"
-SRCBRANCH = "imx_5.4.70_2.3.0"
-SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
- file://memtool_profile \
-"
-SRCREV = "90fd7168fe5f15de9b2b1992a719024fc73a185a"
+SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
+ file://memtool_profile"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "e8b3c9026553233491abb4df4185dd7291a8ffb2"
+
S = "${WORKDIR}/git"
inherit module-base use-imx-headers
@@ -29,21 +29,23 @@ inherit module-base use-imx-headers
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-PLATFORM_mx6q = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6SL"
-PLATFORM_mx6sll = "IMX6SL"
-PLATFORM_mx6sx = "IMX6SX"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx7d = "IMX7D"
-PLATFORM_mx7ulp = "IMX7D"
-PLATFORM_mx8 = "IMX8"
+PLATFORM:mx6q-nxp-bsp = "IMX6Q"
+PLATFORM:mx6dl-nxp-bsp = "IMX6Q"
+PLATFORM:mx6sl-nxp-bsp = "IMX6SL"
+PLATFORM:mx6sll-nxp-bsp = "IMX6SL"
+PLATFORM:mx6sx-nxp-bsp = "IMX6SX"
+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"
PARALLEL_MAKE = "-j 1"
EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG_append_imxvpu = " vpu"
+PACKAGECONFIG:append:imxvpu = " vpu"
+PACKAGECONFIG:append:mx8m-nxp-bsp = " swpdm"
PACKAGECONFIG[x11] = ",,libx11 libxdamage libxrender libxrandr"
PACKAGECONFIG[vpu] = "HAS_VPU=true,HAS_VPU=false,virtual/imxvpu"
@@ -71,11 +73,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"
-RDEPENDS_${PN} = "bash"
+FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile"
+RDEPENDS:${PN} = "bash"
-FILES_${PN}-dbg += "/unit_tests/.debug"
+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 bfa6607b..49fc1558 100644
--- a/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -1,21 +1,21 @@
# 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 = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit autotools-brokensep
PR = "r1"
PV = "0.5.1+git${SRCPV}"
-SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https"
-SRCREV = "d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc"
+SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
+SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83"
S = "${WORKDIR}/git"
-FILES_${PN} += "/linuxrc /fat"
+FILES:${PN} += "/linuxrc /fat"
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
index bd087898..26ebf181 100644
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
@@ -1,8 +1,8 @@
-# Copyright (C) 2019-2020 NXP
+# Copyright 2019-2022 NXP
DESCRIPTION = "i.MX VC8000E Encoder library"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+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] = "37c61718602ff08041b81319cfd6a8d9"
-SRC_URI[sha256sum] = "8425796fc63d7107f2f57c51497281c4d54c883b2670817347fbe55f39dc2b8c"
+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}.
@@ -30,6 +30,7 @@ do_install () {
rm ${D}${D_SUBDIR}/${SCR}
}
-FILES_${PN} = "/"
+FILES:${PN} = "/"
-COMPATIBLE_MACHINE = "(mx8mp)"
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
new file mode 100644
index 00000000..f603190b
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
@@ -0,0 +1,29 @@
+# Copyright 2021 NXP
+DESCRIPTION = "i.MX Hantro V4L2 Daemon"
+LICENSE = "MIT"
+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] = "23997361dab3054e5a3757a15d33db16"
+SRC_URI[sha256sum] = "ac2b60fb754792eedcfdfc8cf59663cfeaedc402857eff13ac97a911d2c65801"
+
+PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
+PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
+PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
+
+EXTRA_OEMAKE = " \
+ CROSS_COMPILE="${HOST_PREFIX}" \
+ SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
+ CTRLSW_HDRPATH="${STAGING_INCDIR}" \
+ PLATFORM="${PLATFORM}" \
+"
+
+do_install () {
+ oe_runmake install DEST_DIR="${D}"
+}
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch
deleted file mode 100644
index 8d9610d5..00000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 5bfb24738c47003fd04a86bfd5a49f8c6354ed23 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-Date: Fri, 28 Aug 2020 07:46:35 +0000
-Subject: [PATCH] decoder_sw: resolve compilation error with -fcommon
-
--fcommon is enabled by default in gcc10 compiler, which results in
-following build errors:
-
-decoder_sw/software/source/inc/decapicommon.h:272: multiple definition
-of `DecPicCodingType'; decoder_sw/software/linux/dwl/dwl_linux.o:
-decoder_sw/software/source/inc/decapicommon.h:272: first defined here
-
-decoder_sw/software/source/inc/dwl.h:94: multiple definition of
-`DWLInitParam'; decoder_sw/software/linux/dwl/dwl_linux.o:
-decoder_sw/software/source/inc/dwl.h:94: first defined here
-
-Drop multiple enum name definitions, which solves above compilation
-issues.
-
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
----
- decoder_sw/software/source/inc/decapicommon.h | 2 +-
- decoder_sw/software/source/inc/dwl.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/decoder_sw/software/source/inc/decapicommon.h b/decoder_sw/software/source/inc/decapicommon.h
-index 0f02092..fc8cccf 100755
---- a/decoder_sw/software/source/inc/decapicommon.h
-+++ b/decoder_sw/software/source/inc/decapicommon.h
-@@ -269,7 +269,7 @@ enum DecPicCodingType {
- DEC_PIC_TYPE_D = 3,
- DEC_PIC_TYPE_FI = 4,
- DEC_PIC_TYPE_BI = 5
--} DecPicCodingType;
-+};
-
- /* Output picture pixel format types for raster scan or down scale output */
- enum DecPicturePixelFormat {
-diff --git a/decoder_sw/software/source/inc/dwl.h b/decoder_sw/software/source/inc/dwl.h
-index 6991f03..fd357b3 100755
---- a/decoder_sw/software/source/inc/dwl.h
-+++ b/decoder_sw/software/source/inc/dwl.h
-@@ -91,7 +91,7 @@ struct DWLLinearMem {
- /* DWLInitParam is used to pass parameters when initializing the DWL */
- struct DWLInitParam {
- u32 client_type;
--} DWLInitParam;
-+};
-
- /* Hardware configuration description, same as in top API */
- typedef struct DecHwConfig DWLHwConfig;
---
-2.17.1
-
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb
deleted file mode 100644
index b7c64cbb..00000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (C) 2017-2020 NXP
-
-DESCRIPTION = "i.MX Hantro VPU library"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-
-PROVIDES = "virtual/imxvpu"
-
-SRC_URI = " \
- ${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
-"
-SRC_URI[md5sum] = "682b3a73bf5aa22a37d56a433d11fc91"
-SRC_URI[sha256sum] = "e6cdd5b4c628604906466fc9620e2b048cf1b2c863f9ee49616dd5212b9261b0"
-
-inherit fsl-eula-unpack use-imx-headers
-
-PARALLEL_MAKE="-j 1"
-
-PLATFORM_mx8mm = "IMX8MM"
-PLATFORM_mx8mq = "IMX8MQ"
-PLATFORM_mx8mp = "IMX8MP"
-
-do_compile () {
- oe_runmake CROSS_COMPILE="${HOST_PREFIX}" \
- SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
- PLATFORM="${PLATFORM}" all
-}
-
-do_install () {
- oe_runmake DEST_DIR="${D}" PLATFORM="${PLATFORM}" install
-}
-
-FILES_${PN} += "/unit_tests"
-
-COMPATIBLE_MACHINE = "(mx8mq|mx8mm|mx8mp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
new file mode 100644
index 00000000..0757a7fb
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2017-2020 NXP
+
+DESCRIPTION = "i.MX Hantro VPU library"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
+
+PROVIDES = "virtual/imxvpu"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "81b4eb801349a0c198b7cc43eb8b6097"
+SRC_URI[sha256sum] = "e868e12945b4f217e2e0511fdc2587875d6c9124e8673b67f1e7de367ff5012f"
+
+inherit fsl-eula-unpack use-imx-headers
+
+PARALLEL_MAKE="-j 1"
+
+PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
+PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
+PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
+
+EXTRA_OEMAKE = " \
+ CROSS_COMPILE="${HOST_PREFIX}" \
+ SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
+ PLATFORM="${PLATFORM}" \
+"
+
+do_install () {
+ oe_runmake install DEST_DIR="${D}"
+}
+
+FILES:${PN} += "/unit_tests"
+
+RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
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 8c6492c5..383a0e2a 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,12 @@
# 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"
+RPROVIDES:${PN} = "virtual/imxvpu"
PE = "1"
@@ -28,5 +28,4 @@ do_install() {
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
}
-# Compatible only for i.MX with Chips&Media VPU
-COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
+COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
diff --git a/recipes-bsp/inphi/inphi_git.bb b/recipes-bsp/inphi/inphi_git.bb
index 3f3c5f28..4deacb58 100644
--- a/recipes-bsp/inphi/inphi_git.bb
+++ b/recipes-bsp/inphi/inphi_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1"
+SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https"
SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695"
S = "${WORKDIR}/git"
@@ -21,7 +21,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.6.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
index 369ca5ce..0ab44074 100644
--- a/recipes-bsp/isp-imx/basler-camera_4.2.2.6.0.bb
+++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
@@ -1,15 +1,15 @@
-# Copyright 2020 NXP
+# Copyright 2020-2023 NXP
DESCRIPTION = "Basler camera binary drivers"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
inherit fsl-eula-unpack
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "8c94839802598853f7b91f6386b4643e"
-SRC_URI[sha256sum] = "6456dbb0095d988cce65f94e92a3ea80d796e02fd410987c937cfc0a09ca2e4a"
+SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71"
+SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
do_install() {
dest_dir=${D}/opt/imx8-isp/bin
@@ -21,7 +21,8 @@ do_install() {
SYSTEMD_AUTO_ENABLE = "enable"
-FILES_${PN} = "${libdir} /opt"
-INSANE_SKIP_${PN} = "file-rdeps already-stripped"
+FILES:${PN} = "${libdir} /opt"
+INSANE_SKIP:${PN} = "already-stripped"
+RDEPENDS:${PN} += "isp-imx"
-COMPATIBLE_MACHINE = "(imx|use-nxp-bsp)"
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch b/recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch
deleted file mode 100644
index 725a9907..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 325b4bf687ead6598de702df9829a4dad0b6458c Mon Sep 17 00:00:00 2001
-From: Chris Dimich <Chris.Dimich@boundarydevices.com>
-Date: Mon, 15 Feb 2021 22:51:01 -0800
-Subject: [PATCH 1/1] BufferManager.h: add missing header file
-
-Needed to compile with Yocto Gatesgarth.
-
-Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
----
- mediacontrol/buffer/BufferManager.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mediacontrol/buffer/BufferManager.h b/mediacontrol/buffer/BufferManager.h
-index f5691e111..4d5ce6965 100755
---- a/mediacontrol/buffer/BufferManager.h
-+++ b/mediacontrol/buffer/BufferManager.h
-@@ -16,6 +16,7 @@
- #include <deque>
- #include <map>
- #include <EAutoLock.h>
-+#include <stdint.h>
-
- enum {
- BUFFER_TYPE_INPUT_FREE = 0,
---
-2.29.0
-
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-imx8-isp.service-do-not-prevent-restart-of-service.patch b/recipes-bsp/isp-imx/isp-imx/0001-imx8-isp.service-do-not-prevent-restart-of-service.patch
deleted file mode 100644
index 86391d4b..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-imx8-isp.service-do-not-prevent-restart-of-service.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ce8dd8db37de85952419a5b28a48ec20d1310cf7 Mon Sep 17 00:00:00 2001
-From: Chris Dimich <Chris.Dimich@boundarydevices.com>
-Date: Wed, 17 Feb 2021 14:09:39 -0800
-Subject: [PATCH 1/1] imx8-isp.service: do not prevent restart of service
-
-Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
----
- imx/imx8-isp.service | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/imx/imx8-isp.service b/imx/imx8-isp.service
-index 93d2e9b3a..4f0cd88ca 100644
---- a/imx/imx8-isp.service
-+++ b/imx/imx8-isp.service
-@@ -10,7 +10,7 @@ StartLimitBurst=5
- Restart=on-failure
- RestartSec=5s
- # ENXIO
--RestartPreventExitStatus=6
-+#RestartPreventExitStatus=6
- ExecStart=/opt/imx8-isp/bin/start_isp.sh
-
- [Install]
---
-2.29.0
-
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch b/recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch
deleted file mode 100644
index 715bed2a..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 7070abd558e753b89955a966bb83e11f5a7b8462 Mon Sep 17 00:00:00 2001
-From: Chris Dimich <Chris.Dimich@boundarydevices.com>
-Date: Wed, 17 Feb 2021 14:06:26 -0800
-Subject: [PATCH 1/1] run.sh: fix bashism
-
-Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
----
- imx/run.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/imx/run.sh b/imx/run.sh
-index c0d676ae7..ebeb7a6e7 100755
---- a/imx/run.sh
-+++ b/imx/run.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Start the isp_media_server in the configuration from user
- # (c) NXP 2020
---
-2.29.0
-
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch b/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch
deleted file mode 100644
index cb93223e..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 708f25cfe522df162c3e2c7c56cbe2f7000cb5e4 Mon Sep 17 00:00:00 2001
-From: Gary Bisson <gary.bisson@boundarydevices.com>
-Date: Mon, 14 Dec 2020 14:26:01 +0100
-Subject: [PATCH] start_isp.sh: fix test to be generic
-
-So that it works on EVK and any other i.MX 8M Plus platform.
-
-Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
----
- imx/start_isp.sh | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/imx/start_isp.sh b/imx/start_isp.sh
-index 02ee7d3b5..fee0492ad 100755
---- a/imx/start_isp.sh
-+++ b/imx/start_isp.sh
-@@ -7,21 +7,18 @@
- #
-
- RUNTIME_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
--DEVICE_TREE_BASLER=$(grep basler-camera-vvcam /sys/firmware/devicetree/base/soc@0/*/i2c@*/*/compatible -l 2> /dev/null)
--
-+BASLER=`dmesg | grep Basler`
-
- # check if the basler device has been enabled in the device tree
--if [ -f "$DEVICE_TREE_BASLER" ]; then
--
-+if [ ! -z "$BASLER" ]; then
- echo "Starting isp_media_server for Basler daA3840-30mc"
--
- cd $RUNTIME_DIR
- # Default configuration for Basler daA3840-30mc: basler_4k
- # Available configurations: basler_4k, basler_1080p60, basler_4khdr, basler_1080p60hdr
-- exec ./run.sh -c basler_4k -lm
--
-+ #exec ./run.sh -c basler_4k
-+ exec ./run.sh -c basler_1080p60
- else
- # no device tree found exit with code no device or address
-- echo "No device tree found for Basler, check dtb file!" >&2
-+ echo "Basler camera not found!" >&2
- exit 6
- fi
---
-2.29.2
-
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
new file mode 100644
index 00000000..9e0f0265
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
@@ -0,0 +1,105 @@
+# Copyright 2020-2023 NXP
+
+DESCRIPTION = "i.MX Verisilicon Software ISP"
+LICENSE = "Proprietary"
+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-cpp-netlib-parsers.ipp-add-missing-include.patch \
+"
+
+SRC_URI[sha256sum] = "34b23f5b9f0856a8f5722e339a7ad4ccf4d99614788598306ff8b20093c1e846"
+
+inherit fsl-eula-unpack cmake systemd use-imx-headers
+
+# Build the sub-folder appshell
+OECMAKE_SOURCEPATH = "${S}/appshell"
+
+# Use make instead of ninja
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+# Workaround for linking issues seen with gold linker
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+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 \
+ -DWITH_DWE=1 \
+ -DSERVER_LESS=1 \
+ -DSUBDEV_V4L2=1 \
+ -DENABLE_IRQ=1 \
+ -DPARTITION_BUILD=0 \
+ -D3A_SRC_BUILD=0 \
+ -DIMX_G2D=ON \
+ -Wno-dev \
+"
+
+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/*.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
+
+ chmod +x ${D}/opt/imx8-isp/bin/run.sh
+ chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
+ fi
+}
+
+# The build contains a mix of versioned and unversioned libraries, so
+# 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_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 \
+"
+
+RDEPENDS:${PN} = "libdrm"
+
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb
deleted file mode 100644
index 363089f0..00000000
--- a/recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2020 NXP
-
-DESCRIPTION = "i.MX Verisilicon Software ISP"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${PN}-${PV}/COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-
-
-inherit fsl-eula-unpack cmake systemd
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
- file://0001-BufferManager.h-add-missing-header-file.patch;patchdir=.. \
- file://0001-imx8-isp.service-do-not-prevent-restart-of-service.patch;patchdir=.. \
- file://0001-run.sh-fix-bashism.patch;patchdir=.. \
- file://0001-start_isp.sh-fix-test-to-be-generic.patch;patchdir=.. \
-"
-
-SRC_URI[md5sum] = "2246009411af32b1e02fbb0b242a0fc0"
-SRC_URI[sha256sum] = "7a245abb5fee23319f59b970db0bb014a2932fd6d5bd44f16f7dd31bbe25003a"
-
-S = "${WORKDIR}/${PN}-${PV}/appshell"
-
-DEPENDS = "python3 libdrm"
-
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-SYSTEMD_SERVICE_${PN} = "imx8-isp.service"
-
-EXTRA_OECMAKE += " \
- -DCMAKE_BUILD_TYPE=release \
- -DISP_VERSION=ISP8000NANO_V1802 \
- -DPLATFORM=ARM64 \
- -DAPPMODE=V4L2 \
- -DQTLESS=1 \
- -DFULL_SRC_COMPILE=1 \
- -DWITH_DRM=1 \
- -DWITH_DWE=1 \
- -DSERVER_LESS=1 \
- -DSUBDEV_V4L2=1 \
- -DENABLE_IRQ=1 \
- -DPARTITION_BUILD=0 \
- -D3A_SRC_BUILD=0 \
- -Wno-dev \
-"
-
-do_configure_prepend() {
- export SDKTARGETSYSROOT=${STAGING_DIR_HOST}
-}
-
-do_install() {
- install -d ${D}/${libdir}
- install -d ${D}/${includedir}
- install -d ${D}/opt/imx8-isp/bin
-
- cp -r ${WORKDIR}/build/generated/release/bin/*_test ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/bin/*2775* ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/bin/vvext ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/${PN}-${PV}/mediacontrol/case/ ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/lib/*.so* ${D}/${libdir}
- cp -r ${WORKDIR}/build/generated/release/include/* ${D}/${includedir}
-
- cp ${WORKDIR}/${PN}-${PV}/imx/run.sh ${D}/opt/imx8-isp/bin
- cp ${WORKDIR}/${PN}-${PV}/imx/start_isp.sh ${D}/opt/imx8-isp/bin
-
- chmod +x ${D}/opt/imx8-isp/bin/run.sh
- chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/${PN}-${PV}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
- fi
-}
-
-RDEPENDS_${PN} = "libdrm libpython3"
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-dbg"
-
-FILES_${PN} = "${libdir} /opt ${systemd_system_unitdir}/imx8-isp.service"
-FILES_${PN}-dbg += "${libdir}/.debug"
-
-INSANE_SKIP_${PN} += "rpaths dev-deps dev-so"
-INSANE_SKIP_${PN}-dev += "rpaths dev-elf"
-
-COMPATIBLE_MACHINE = "(imx|use-nxp-bsp)"
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
deleted file mode 100644
index 726b1e16..00000000
--- a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
- ("DMA memory" or "DMA buffers") on i.MX devices.'
-HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
-SECTION = "base"
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH ?= "master"
-SRCREV = "d2058aa404ee1e8e8abd552c6a637787bcdcf514"
-SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH} \
- file://run-ptest \
- "
-
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig waf use-imx-headers ptest
-
-EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
- --libdir=${libdir} \
- ${PACKAGECONFIG_CONFARGS}"
-
-# If imxdpu is in use, the DPU is also used for implementing
-# libg2d. However, that implementation's g2d_alloc() function
-# is broken, so we cannot use it.
-LIBG2D_PACKAGECONFIG = "g2d"
-LIBG2D_PACKAGECONFIG_imxdpu = ""
-
-PACKAGECONFIG ?= " "
-PACKAGECONFIG_append_imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
-PACKAGECONFIG_append_imxipu = " ipu"
-PACKAGECONFIG_append_imxpxp = " pxp"
-PACKAGECONFIG_append_mx8m = " ion dwl"
-PACKAGECONFIG_append_mx8qm = " ion"
-PACKAGECONFIG_append_mx8qxp = " ion"
-
-HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
-
-PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF},--with-dwl-allocator=no,imx-vpu-hantro"
-PACKAGECONFIG[ion] = "--with-ion-allocator=yes, --with-ion-allocator=no,"
-PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes, --with-ipu-allocator=no,"
-PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes, --with-g2d-allocator=no,virtual/libg2d"
-PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes, --with-pxp-allocator=no,"
-
-# Using do_install_ptest_base instead of do_install_ptest, since
-# the default do_install_ptest_base is hardcoded to expect Makefiles.
-do_install_ptest_base() {
- install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
- install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
-}
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
new file mode 100644
index 00000000..b160c31d
--- /dev/null
+++ b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
@@ -0,0 +1,89 @@
+DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
+ ("DMA memory" or "DMA buffers") on i.MX devices.'
+HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
+SECTION = "base"
+
+PV .= "+git${SRCPV}"
+
+SRCBRANCH ?= "master"
+SRCREV = "faf547cc2345bfbf95507ab7e86530f85289bb5b"
+SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH};protocol=https \
+ file://run-ptest \
+ "
+
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig waf use-imx-headers ptest
+
+EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
+ --libdir=${libdir} \
+ ${@bb.utils.contains_any('PACKAGECONFIG', \
+ [ 'dma-heap-cached', 'dma-heap-uncached' ], \
+ '', '--with-dma-heap-allocator=no',d)} \
+ ${PACKAGECONFIG_CONFARGS}"
+
+# If imxdpu is in use, the DPU is also used for implementing
+# libg2d. However, that implementation's g2d_alloc() function
+# is broken, so we cannot use it.
+LIBG2D_PACKAGECONFIG = "g2d"
+LIBG2D_PACKAGECONFIG:imxdpu = ""
+
+# The dma-heap allocator is special in that it can use more than one heap device
+# node. In libimxdmabuffer, only heaps that allocate physically contiguous memory
+# can be used, otherwise usable DMA buffers cannot be allocated. Furthermore,
+# on NXP machines, there is a dma-heap for cached and one for uncached memory.
+#
+# One of them has to be selected by choosing either the "dma-heap-cached" or the
+# "dma-heap-uncached" PACKAGECONFIG. The uncached one is picked by default for
+# performance reasons (it does not suffer from cache coherence issues).
+#
+# Note that the uncached heap is not available prior to imx-kernel 5.15.5;
+# older kernels can only use the cached one.
+
+CACHED_DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma"
+UNCACHED_DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma-uncached"
+
+CACHED_DMA_HEAP_CONF = "--dma-heap-device-node-path=${CACHED_DMA_HEAP_DEVICE_NODE_PATH}"
+UNCACHED_DMA_HEAP_CONF = "--dma-heap-device-node-path=${UNCACHED_DMA_HEAP_DEVICE_NODE_PATH} \
+ --dma-heap-uncached-memory"
+
+PACKAGECONFIG ?= " "
+PACKAGECONFIG:append:imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
+PACKAGECONFIG:append:imxipu = " ipu"
+PACKAGECONFIG:append:imxpxp = " pxp"
+# All i.MX8 machines can use the dma-heap allocator. i.MX8m ones
+# can also use the DWL allocator, though dma-heap is preferred.
+# Vendor kernels that are older than kernel 5.6 cannot use
+# dma-heap, however, and should use ion instead, since the
+# former is not available pre-5.6. Out of the dma-heaps, we
+# pick the uncached one by default (see above).
+PACKAGECONFIG:append:mx8-nxp-bsp = " dma-heap-uncached"
+PACKAGECONFIG:append:mx8m-nxp-bsp = " dwl"
+
+HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
+
+PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF}, --with-dwl-allocator=no,imx-vpu-hantro"
+PACKAGECONFIG[ion] = "--with-ion-allocator=yes, --with-ion-allocator=no,"
+PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes, --with-ipu-allocator=no,"
+PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes, --with-g2d-allocator=no,virtual/libg2d"
+PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes, --with-pxp-allocator=no,"
+# --with-dma-heap-allocator=no is not added by these packageconfigs.
+# Otherwise, it would always be added, since only one of these two
+# dma-heap-* packageconfigs can be selected. Instead, that switch
+# is added to EXTRA_OECONF above.
+PACKAGECONFIG[dma-heap-cached] = "--with-dma-heap-allocator=yes ${CACHED_DMA_HEAP_CONF}, \
+ ,,,,dma-heap-uncached"
+PACKAGECONFIG[dma-heap-uncached] = "--with-dma-heap-allocator=yes ${UNCACHED_DMA_HEAP_CONF}, \
+ ,,,,dma-heap-cached"
+
+# Using do_install_ptest_base instead of do_install_ptest, since
+# the default do_install_ptest_base is hardcoded to expect Makefiles.
+do_install_ptest_base() {
+ install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
+ install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
+}
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-bsp/ls2-phy/ls2-phy_git.bb b/recipes-bsp/ls2-phy/ls2-phy_git.bb
index a1c412be..c13a05a1 100644
--- a/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1"
+SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https"
SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf"
S = "${WORKDIR}/git"
@@ -21,7 +21,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/mc-utils/mc-utils_git.bb b/recipes-bsp/mc-utils/mc-utils_git.bb
index b3c79b99..568096c4 100644
--- a/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -1,27 +1,25 @@
DESCRIPTION = "The Management Complex (MC) is a key component of DPAA"
SECTION = "mc-utils"
-LICENSE = "BSD"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987 \
-"
+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 = "8e0b863693fc2ccbc62a62c79b4e3db6da88c16e"
+SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1"
+SRCREV = "8efeeac253ff780cbf1382ff40e09436d65e220d"
S = "${WORKDIR}/git"
MC_CFG ?= ""
-MC_CFG_ls1088a = "ls1088a"
-MC_CFG_ls2088a = "ls2088a"
-MC_CFG_lx2160a = "lx2160a"
-MC_CFG_lx2162aqds = "lx2162aqds"
+MC_CFG:ls1088a = "ls1088a"
+MC_CFG:ls2088a = "ls2088a"
+MC_CFG:lx2160a = "lx2160a"
+MC_CFG:lx2162a = "lx2162a"
-MC_FLAVOUR ?= "RDB"
-MC_FLAVOUR_lx2162a = ""
+MC_FLAVOUR ?= "${@oe.utils.ifelse(d.getVar('MACHINE').endswith('qds'), 'QDS', 'RDB')}"
+MC_FOLDER ?= "${@d.getVar('MC_CFG').upper() + '-' + d.getVar('MC_FLAVOUR')}"
do_compile () {
oe_runmake -C config
@@ -29,23 +27,19 @@ do_compile () {
do_install () {
install -d ${D}/boot/mc-utils
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/*.dtb ${D}/boot/mc-utils
- if [ -d ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/ ]; then
- install -d ${D}/boot/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/*.dtb ${D}/boot/mc-utils/custom
+ if [ -e ${S}/config/${MC_CFG}/${MC_FOLDER} ]; then
+ cp -r ${S}/config/${MC_CFG}/${MC_FOLDER}/* ${D}/boot/mc-utils/
fi
+ find ${D}/boot/mc-utils/ ! -name "*.dtb" ! -type d -exec rm {} \;
}
do_deploy () {
install -d ${DEPLOYDIR}/mc-utils
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/*.dtb ${DEPLOYDIR}/mc-utils
- if [ -d ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/ ]; then
- install -d ${DEPLOYDIR}/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/*.dtb ${DEPLOYDIR}/mc-utils/custom
- fi
+ cp -r ${D}/boot/mc-utils/* ${DEPLOYDIR}/mc-utils/
}
addtask deploy after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
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/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb
index 01e24993..17da814f 100644
--- a/recipes-bsp/mxsldr/mxsldr_git.bb
+++ b/recipes-bsp/mxsldr/mxsldr_git.bb
@@ -3,11 +3,11 @@
DESCRIPTION = "Freescale i.MX233/i.MX28 USB loader"
DEPENDS = "libusb1"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRCREV = "c40d80472525e1d57dae5317c028b745968c0399"
-SRC_URI = "git://git.denx.de/mxsldr.git \
+SRC_URI = "git://git.denx.de/mxsldr.git;branch=master \
file://0001-Do-not-ignore-OE-cflags-and-ldflags.patch \
"
diff --git a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
index 24bb8d9f..c01bfd4c 100644
--- a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
+++ b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
@@ -7,7 +7,7 @@ INHIBIT_DEFAULT_DEPS = "1"
inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1"
+SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https"
SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234"
S = "${WORKDIR}/git"
@@ -27,8 +27,8 @@ do_deploy () {
addtask deploy after do_install
-FILES_${PN} += "/lib/firmware /boot/"
-INSANE_SKIP_${PN} += "arch already-stripped"
+FILES:${PN} += "/lib/firmware /boot/"
+INSANE_SKIP:${PN} += "arch already-stripped"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
diff --git a/recipes-bsp/qe-ucode/qe-ucode_git.bb b/recipes-bsp/qe-ucode/qe-ucode_git.bb
index cecd5903..33648d1e 100644
--- a/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=c62f8109b4df15ca37ceeb5e4943626c"
inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1"
+SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https"
SRCREV= "57401f6dff6507055558eaa6838116baa8a2fd46"
S = "${WORKDIR}/git"
@@ -22,7 +22,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot/*"
+FILES:${PN}-image += "/boot/*"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
index 69350615..5721313b 100644
--- a/recipes-bsp/rcw/rcw_git.bb
+++ b/recipes-bsp/rcw/rcw_git.bb
@@ -1,14 +1,14 @@
SUMMARY = "Reset Configuration Word"
DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=44a0d0fad189770cc022af4ac6262cbe"
DEPENDS += "tcl-native"
inherit deploy siteinfo
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/rcw;nobranch=1"
-SRCREV = "1caebba96b6fd8eac9ef4246c181f2b47c448c4f"
+SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
+SRCREV = "020dcf0645959afec6705f518e8350476891ef4f"
S = "${WORKDIR}/git"
@@ -17,9 +17,10 @@ export PYTHON = "${USRBINPATH}/python3"
M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
BOARD_TARGETS="${M}"
-BOARD_TARGETS_ls2088ardb="${M} ${M}_rev1.1"
-BOARD_TARGETS_ls1088ardb-pb="ls1088ardb"
-BOARD_TARGETS_lx2160ardb = "${M} ${M}_rev2"
+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/
@@ -36,7 +37,7 @@ do_deploy () {
addtask deploy after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/u-boot/libubootenv_%.bbappend b/recipes-bsp/u-boot/libubootenv_%.bbappend
index 2633c344..619b510e 100644
--- a/recipes-bsp/u-boot/libubootenv_%.bbappend
+++ b/recipes-bsp/u-boot/libubootenv_%.bbappend
@@ -29,8 +29,8 @@ def fixup_uboot_config_dependency(d):
# | Signed-off-by: Ming Liu <liu.ming50@gmail.com>
# | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# `----
- ubootmachine = d.getVar("UBOOT_MACHINE_pn-%s" % imx_default_bootloader)
- ubootconfig = (d.getVar("UBOOT_CONFIG_pn-%s" % imx_default_bootloader) or "").split()
+ ubootmachine = d.getVar("UBOOT_MACHINE:pn-%s" % imx_default_bootloader)
+ ubootconfig = (d.getVar("UBOOT_CONFIG:pn-%s" % imx_default_bootloader) or "").split()
d.setVar("UBOOT_CONFIG", ubootconfig)
d.setVar("UBOOT_MACHINE", ubootmachine)
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc
deleted file mode 100644
index b0e665e0..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2012-2019 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-inherit fsl-u-boot-localversion
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
-
-DEPENDS += "bison-native"
-
-SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH}"
-
-SRCREV = "80c23498b425447a4a04d2a85ca4c2aec6ec349a"
-SRCBRANCH = "2020.10+fslc"
-
-PV = "v2020.10+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc
new file mode 100644
index 00000000..ee05df89
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc
@@ -0,0 +1,19 @@
+# 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=2ca5f2c35c8cc335f0a19756634782f1"
+
+DEPENDS += "flex-native bison-native"
+
+SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https"
+
+SRCREV = "9ff224ca0039e9cd22be2ec4b56408cb64d71a87"
+SRCBRANCH = "2024.01+fslc"
+
+PV = "2024.01+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.bb b/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.bb
deleted file mode 100644
index 7f02746b..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.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_2020.10.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.01.bb
index 2492f450..b7e4ca76 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.10.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.01.bb
@@ -3,16 +3,26 @@ require u-boot-fslc-common_${PV}.inc
DESCRIPTION = "U-boot bootloader mxsboot tool"
SECTION = "bootloader"
-DEPENDS = "bison-native dtc openssl"
+inherit python3native
+
+DEPENDS += " \
+ bison-native \
+ dtc \
+ gnutls \
+ openssl \
+ python3-setuptools-native \
+ swig-native \
+ util-linux-libuuid \
+"
PROVIDES = "u-boot-mxsboot"
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
-EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
-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'
+EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+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
@@ -27,6 +37,6 @@ do_install () {
ln -sf uboot-mxsboot ${D}${bindir}/mxsboot
}
-COMPATIBLE_MACHINE_class-target = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
+COMPATIBLE_MACHINE:class-target = "(mxs-generic-bsp)"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2020.10.bb b/recipes-bsp/u-boot/u-boot-fslc_2020.10.bb
deleted file mode 100644
index 86620c44..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc_2020.10.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-require recipes-bsp/u-boot/u-boot.inc
-require u-boot-fslc-common_${PV}.inc
-
-DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
-order to provide support for some backported features and fixes, or because it \
-was submitted for revision and it takes some time to become part of a stable \
-version, or because it is not applicable for upstreaming."
-
-inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
-
-DEPENDS += "bc-native dtc-native lzop-native"
-
-# Location known to imx-boot component, where U-Boot artifacts
-# should be additionally deployed.
-# See below note above do_deploy_append_mx8m for the purpose of
-# this delopyment location
-BOOT_TOOLS = "imx-boot-tools"
-
-PROVIDES += "u-boot"
-
-B = "${WORKDIR}/build"
-
-# FIXME: Allow linking of 'tools' binaries with native libraries
-# used for generating the boot logo and other tools used
-# during the build process.
-EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
- HOSTLDFLAGS="${BUILD_LDFLAGS}" \
- HOSTSTRIP=true'
-
-#
-# imx8m machines require additional deployment tasks to be
-# carried out due to the fact that final boot image is constructed
-# using imx-boot recipe. It produces a boot binary image, which is
-# constructed from various binary components (u-boot with separate
-# dtb, atf, DDR firmware and optional op-tee) into a single image
-# using FIT format. This image is then parsed and loaded either via
-# SPL directly (imx8mm), or using bootrom code (imx8mn and imx8mp).
-#
-# In order for imx-boot to construct the final binary boot image,
-# it is required that the U-Boot dtb files are to be deployed into
-# a location known by imx-boot so they could be picked up and
-# inserted into the boot container.
-#
-# NOTE: This is only applicable to those derivatives of mx8m family,
-# which did not adopt the boot container mechanism provided by U-Boot
-# build system itself. U-Boot is capable of producing a result binary,
-# which includes all those deployed pieces below, hence once derivative
-# starts to use it - below append would not be necessary.
-# Once all mx8m derivatives are migrated to use the 'flash.bin' boot
-# container - this append can be dropped completely.
-do_deploy_append_mx8m() {
- # Deploy the mkimage, 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}-${UBOOT_CONFIG}
- fi
- done
- unset j
- done
- unset i
- fi
-}
-
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2024.01.bb b/recipes-bsp/u-boot/u-boot-fslc_2024.01.bb
new file mode 100644
index 00000000..eba8876a
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc_2024.01.bb
@@ -0,0 +1,25 @@
+require recipes-bsp/u-boot/u-boot.inc
+require u-boot-fslc-common_${PV}.inc
+
+DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
+order to provide support for some backported features and fixes, or because it \
+was submitted for revision and it takes some time to become part of a stable \
+version, or because it is not applicable for upstreaming."
+
+inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
+
+DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
+
+PROVIDES += "u-boot u-boot-mfgtool"
+
+B = "${WORKDIR}/build"
+
+# FIXME: Allow linking of 'tools' binaries with native libraries
+# used for generating the boot logo and other tools used
+# during the build process.
+EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
+ HOSTLDFLAGS="${BUILD_LDFLAGS}" \
+ HOSTSTRIP=true'
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-imx-common.inc b/recipes-bsp/u-boot/u-boot-imx-common.inc
deleted file mode 100644
index 2a08aa8a..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-common.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRCBRANCH = "imx_v2020.04_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "e42dee801ec55bc40347cbb98f13bfb5899f0368"
-
-DEPENDS += "flex-native bison-native bc-native dtc-native"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-inherit fsl-u-boot-localversion
-
-LOCALVERSION ?= "-${SRCBRANCH}"
-
-BOOT_TOOLS = "imx-boot-tools"
-
diff --git a/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..6912eb29
--- /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.1.55-2.2.0"
+SRCREV = "49b102d98881fc28af6e0a8af5ea2186c1d90a5f"
+
+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_2020.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2020.04.bb
deleted file mode 100644
index 2b296c19..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2020.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-imx:"
-
-require u-boot-imx_${PV}.bb
-require u-boot-mfgtool.inc
diff --git a/recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb b/recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb
deleted file mode 100644
index d1e9512c..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require recipes-bsp/u-boot/u-boot-tools.inc
-require u-boot-imx-common.inc
-
-PROVIDES_append_class-target = " ${MLPREFIX}u-boot-tools"
-PROVIDES_append_class-native = " u-boot-tools-native"
-PROVIDES_append_class-nativesdk = " nativesdk-u-boot-tools"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-# Set recipe as incompatible by default
-COMPATIBLE_MACHINE = "(^$)"
-
-# Whitelist its use for i.MX based machines
-COMPATIBLE_MACHINE_use-mainline-bsp = "(.)"
-COMPATIBLE_MACHINE_use-nxp-bsp = "(.)"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2020.04.bb b/recipes-bsp/u-boot/u-boot-imx_2020.04.bb
deleted file mode 100644
index 55d3e7c5..00000000
--- a/recipes-bsp/u-boot/u-boot-imx_2020.04.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Copyright (C) 2017-2020 NXP
-
-require recipes-bsp/u-boot/u-boot.inc
-require u-boot-imx-common.inc
-
-PROVIDES += "u-boot"
-
-do_deploy_append_mx8m() {
- # Deploy the mkimage, u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
- 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}-${UBOOT_CONFIG}
- fi
- done
- unset j
- done
- unset i
- fi
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8|use-mainline-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 91526ad7..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_BINARY}-${MACHINE}-mfgtool-${PV}-${PR}"
-SPL_SYMLINK = "${SPL_BINARY}-mfgtool-${MACHINE}"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2020.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
index 57f27803..c46eae33 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2020.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
@@ -5,7 +5,7 @@ PROVIDES += "u-boot"
inherit fsl-u-boot-localversion
-LICENSE = "GPLv2 & BSD-3-Clause & BSD-2-Clause & LGPL-2.0 & LGPL-2.1"
+LICENSE = "GPL-2.0-only & BSD-3-Clause & BSD-2-Clause & LGPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
@@ -14,19 +14,19 @@ 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"
-SRCREV= "f46a944f715f284aff1d42c009680ffe0be4058f"
+SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
+SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
-PV_append = "+fslgit"
+PV:append = "+fslgit"
LOCALVERSION = "+fsl"
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native"
-DEPENDS_append_qoriq-arm64 = " dtc-native"
-DEPENDS_append_qoriq-arm = " dtc-native"
-DEPENDS_append_qoriq-ppc = " boot-format-native"
+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"
python () {
if d.getVar("TCMODE") == "external-fsl":
@@ -41,8 +41,8 @@ python () {
sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux'
sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
workdir = d.getVar('WORKDIR')
- d.setVar('DEPENDS_append', ' lib32-gcc-cross-powerpc lib32-libgcc')
- d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
+ d.setVar('DEPENDS:append', ' lib32-gcc-cross-powerpc lib32-libgcc')
+ d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot')
d.setVar("WRAP_TARGET_PREFIX", 'powerpc' + sys_multilib + '-')
elif "fsl-lsch2-32b:" in arch:
@@ -51,8 +51,8 @@ python () {
sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux'
sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
workdir = d.getVar('WORKDIR')
- d.setVar('DEPENDS_append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
- d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
+ d.setVar('DEPENDS:append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
+ d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot')
d.setVar("WRAP_TARGET_PREFIX", 'aarch64' + sys_multilib + '-')
}
@@ -66,7 +66,7 @@ EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
-do_compile_append_qoriq() {
+do_compile:append:qoriq() {
unset i j k
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
@@ -94,5 +94,5 @@ do_compile_append_qoriq() {
PACKAGES += "${PN}-images"
-FILES_${PN}-images += "/boot"
+FILES:${PN}-images += "/boot"
COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-bsp/uefi/uefi_git.bb b/recipes-bsp/uefi/uefi_git.bb
index 6351577e..b001a325 100644
--- a/recipes-bsp/uefi/uefi_git.bb
+++ b/recipes-bsp/uefi/uefi_git.bb
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1"
-SRCREV= "06e960829ba204f35979440364b9ac7e51ed996b"
+SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https"
+SRCREV = "15deb924ff063007592ee647602dd454353f5aee"
S = "${WORKDIR}/git"
@@ -28,7 +28,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/uefi/*"
+FILES:${PN}-image += "/uefi/*"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"