summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/update-license-file.yml47
-rw-r--r--EULA70
-rw-r--r--LICENSE174
-rw-r--r--classes/fsl-eula-unpack.bbclass8
-rw-r--r--classes/imx-boot-container.bbclass3
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass2
-rw-r--r--conf/layer.conf2
-rw-r--r--conf/machine/imx6qdlsabresd.conf7
-rw-r--r--conf/machine/imx6slevk.conf1
-rw-r--r--conf/machine/imx6sllevk.conf4
-rw-r--r--conf/machine/imx6sxsabresd.conf1
-rw-r--r--conf/machine/imx6ulevk.conf5
-rw-r--r--conf/machine/imx6ullevk.conf7
-rw-r--r--conf/machine/imx6ulz-14x14-evk.conf1
-rw-r--r--conf/machine/imx7dsabresd.conf8
-rw-r--r--conf/machine/imx7ulpevk.conf10
-rw-r--r--conf/machine/imx8mnul-ddr3l-evk.conf10
-rw-r--r--conf/machine/imx8mp-lpddr4-evk.conf1
-rw-r--r--conf/machine/imx8mq-evk.conf9
-rw-r--r--conf/machine/imx8qm-mek.conf36
-rw-r--r--conf/machine/imx8qxp-mek.conf7
-rw-r--r--conf/machine/imx8ulp-lpddr4-evk.conf5
-rw-r--r--conf/machine/imx93-11x11-lpddr4x-evk.conf14
-rw-r--r--conf/machine/imx93-14x14-lpddr4x-evk.conf12
-rw-r--r--conf/machine/imx93-9x9-lpddr4-qsb.conf10
-rw-r--r--conf/machine/imx95-19x19-verdin.conf90
-rw-r--r--conf/machine/include/imx-base.inc146
-rw-r--r--conf/machine/include/imx8dxl-evk.inc2
-rw-r--r--conf/machine/include/imx8mm-evk.inc12
-rw-r--r--conf/machine/include/imx8mn-evk.inc9
-rw-r--r--conf/machine/include/imx8mp-evk.inc11
-rw-r--r--conf/machine/include/imx8x-mek.inc6
-rw-r--r--conf/machine/include/imx93-evk.inc20
-rw-r--r--conf/machine/include/imx95-evk.inc58
-rw-r--r--conf/machine/include/qoriq-base.inc4
-rw-r--r--conf/machine/ls1012afrwy.conf3
-rw-r--r--conf/machine/ls1012ardb.conf3
-rw-r--r--conf/machine/ls1028ardb.conf3
-rw-r--r--conf/machine/ls1043ardb.conf3
-rw-r--r--conf/machine/ls1046afrwy.conf3
-rw-r--r--conf/machine/ls1046ardb.conf3
-rw-r--r--conf/machine/ls1088ardb-pb.conf3
-rw-r--r--conf/machine/ls1088ardb.conf3
-rw-r--r--conf/machine/ls2088ardb.conf3
-rw-r--r--conf/machine/lx2160ardb.conf3
-rw-r--r--conf/machine/lx2162aqds.conf3
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb4
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc44
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb21
-rw-r--r--dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc44
-rw-r--r--dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch52
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend9
-rw-r--r--dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend7
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc/0001-FMCCFGReader-improve-parameter-definition-of-functio.patch56
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb7
-rw-r--r--dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch30
-rw-r--r--dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend8
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend2
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend1
-rw-r--r--dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend3
-rw-r--r--dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend1
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend1
-rwxr-xr-xrecipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state1461
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf4
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf4
l---------recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp1
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.6.inc3
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.6.bb4
-rw-r--r--recipes-bsp/boot-format/boot-format_git.bb1
-rw-r--r--recipes-bsp/ddr-phy/ddr-phy_git.bb2
-rw-r--r--recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb3
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb (renamed from recipes-bsp/firmware-imx/firmware-ele-imx_0.1.2.bb)25
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.27.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.24.inc)11
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.27.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.24.bb)12
-rw-r--r--recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb (renamed from recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb)57
-rw-r--r--recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb3
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb (renamed from recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb)2
-rw-r--r--recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb5
-rw-r--r--recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb2
-rw-r--r--recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch35
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.10.bb13
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs_git.bb1
-rw-r--r--recipes-bsp/imx-lib/imx-lib/0001-Fix-gcc-15-errors.patch54
-rw-r--r--recipes-bsp/imx-lib/imx-lib_git.bb9
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bb15
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.inc8
-rw-r--r--recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb (renamed from recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb)18
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs_git.bb2
-rw-r--r--recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb (renamed from recipes-bsp/imx-seco/imx-seco_5.9.4.bb)11
-rw-r--r--recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb8
-rw-r--r--recipes-bsp/imx-test/imx-test_git.bb7
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_git.bb8
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch39
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb (renamed from recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.1.bb)12
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb (renamed from recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.9.bb)8
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch38
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch90
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb (renamed from recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.32.0.bb)16
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb1
-rw-r--r--recipes-bsp/inphi/inphi_git.bb2
-rw-r--r--recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb (renamed from recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb)16
-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_4.2.2.24.0.bb105
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb99
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb3
-rw-r--r--recipes-bsp/ls2-phy/ls2-phy_git.bb2
-rw-r--r--recipes-bsp/mc-utils/mc-utils_git.bb4
-rw-r--r--recipes-bsp/mxsldr/mxsldr_git.bb2
-rw-r--r--recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb2
-rw-r--r--recipes-bsp/qe-ucode/qe-ucode_git.bb6
-rw-r--r--recipes-bsp/rcw/rcw_git.bb12
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc (renamed from recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc)8
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.07.bb)0
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2025.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc_2024.07.bb)0
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc8
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2024.04.bb4
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb3
-rw-r--r--recipes-bsp/uefi/uefi_git.bb4
-rw-r--r--recipes-devtools/devregs/devregs_git.bb2
-rw-r--r--recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb2
-rw-r--r--recipes-devtools/qemu/qemu-qoriq_4.2.bb2
-rw-r--r--recipes-devtools/qemu/qemu.inc2
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst_git.bb6
-rw-r--r--recipes-devtools/utp-com/utp-com_git.bb2
-rw-r--r--recipes-devtools/uuu/uuu_git.bb2
-rw-r--r--recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb (renamed from recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb)4
-rw-r--r--recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb (renamed from recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb)4
-rw-r--r--recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb)7
-rw-r--r--recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb)9
-rw-r--r--recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb)7
-rw-r--r--recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb)11
-rw-r--r--recipes-dpaa/eth-config/eth-config_git.bb2
-rw-r--r--recipes-dpaa/flib/flib_git.bb2
-rw-r--r--recipes-dpaa/fm-ucode/fm-ucode_git.bb2
-rw-r--r--recipes-dpaa/fmlib/fmlib_git.bb2
-rw-r--r--recipes-dpaa2/aiopsl/aiopsl_git.bb2
-rw-r--r--recipes-dpaa2/dce/dce_git.bb4
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb6
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.39.0.bb (renamed from recipes-dpaa2/management-complex/management-complex_10.37.0.bb)7
-rw-r--r--recipes-dpaa2/restool/restool_git.bb6
-rw-r--r--recipes-dpaa2/spc/spc_git.bb4
-rw-r--r--recipes-extended/crconf/crconf_git.bb2
-rw-r--r--recipes-extended/dpdk/dpdk-20.11.inc2
-rw-r--r--recipes-extended/dpdk/dpdk-module_20.11.bb2
-rw-r--r--recipes-extended/dpdk/dpdk.inc2
-rw-r--r--recipes-extended/jailhouse/jailhouse-imx_git.bb5
-rw-r--r--recipes-extended/libpkcs11/libpkcs11_git.bb4
-rw-r--r--recipes-extended/odp/odp.inc1
-rw-r--r--recipes-extended/ofp/ofp_git.bb2
-rw-r--r--recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb2
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb2
-rw-r--r--recipes-extended/secure-obj/secure-obj-module_git.bb4
-rw-r--r--recipes-extended/secure-obj/secure-obj.inc4
-rw-r--r--recipes-extended/secure-obj/secure-obj_git.bb15
-rw-r--r--recipes-extended/skmm-ep/skmm-ep_git.bb2
-rw-r--r--recipes-extended/testfloat/testfloat_2a.bb4
-rw-r--r--recipes-extended/tsntool/tsntool_git.bb2
-rw-r--r--recipes-fsl/mcore-demos/README3
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb2
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb27
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb3
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb3
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb4
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb10
-rw-r--r--recipes-fsl/mcore-demos/imx-mcore-demos.inc24
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-isp.bb1
-rw-r--r--recipes-graphics/drm/libdrm_2.4.123.imx.bb (renamed from recipes-graphics/drm/libdrm_2.4.116.imx.bb)6
-rw-r--r--recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb (renamed from recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.14.bb)20
-rw-r--r--recipes-graphics/imx-g2d/imx-g2d-samples_git.bb8
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb (renamed from recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.6.bb)12
-rw-r--r--recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb12
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb22
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc30
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json7
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch32.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch64.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb9
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb9
-rw-r--r--recipes-graphics/libsdl2/libsdl2_%.bbappend3
-rw-r--r--recipes-graphics/mali/mali-imx.inc107
-rw-r--r--recipes-graphics/mali/mali-imx_r53.0.bb25
-rw-r--r--recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch59
-rw-r--r--recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch11
-rw-r--r--recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch43
-rw-r--r--recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch12
-rw-r--r--recipes-graphics/mesa/mesa-demos_%.bbappend4
-rw-r--r--recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb2
-rw-r--r--recipes-graphics/mesa/mesa.bbappend2
-rw-r--r--recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch52
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend9
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend14
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.37.imx.bb (renamed from recipes-graphics/wayland/wayland-protocols_1.32.imx.bb)4
-rw-r--r--recipes-graphics/wayland/weston_10.0.5.imx.bb3
-rw-r--r--recipes-graphics/wayland/weston_14.0.1.imx.bb (renamed from recipes-graphics/wayland/weston_12.0.4.imx.bb)32
-rw-r--r--recipes-graphics/xwayland/xwayland_24.1.6.imx.bb (renamed from recipes-graphics/xwayland/xwayland_23.1.1.imx.bb)23
-rw-r--r--recipes-graphics/xwayland/xwayland_24.1.6.imx.bbappend (renamed from recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend)6
-rw-r--r--recipes-kernel/ceetm/ceetm_git.bb6
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ar_git.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb (renamed from recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb)10
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ipc.inc2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb20
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb22
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch33
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb15
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb2
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.12.bb (renamed from recipes-kernel/linux/linux-fslc-imx_6.6.bb)38
-rw-r--r--recipes-kernel/linux/linux-fslc-lts_6.1.bb4
-rw-r--r--recipes-kernel/linux/linux-fslc-lts_6.6.bb37
-rw-r--r--recipes-kernel/linux/linux-fslc_6.12.bb (renamed from recipes-kernel/linux/linux-fslc_6.6.bb)13
-rw-r--r--recipes-kernel/linux/linux-imx-headers/0001-video-fbdev-mxc-make-uapi-ipu.h-pxp_dma.h-compatible.patch54
-rw-r--r--recipes-kernel/linux/linux-imx-headers_6.12.bb (renamed from recipes-kernel/linux/linux-imx-headers_6.6.bb)24
-rw-r--r--recipes-kernel/linux/linux-imx.inc4
-rw-r--r--recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch62
-rw-r--r--recipes-kernel/linux/linux-imx/0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch70
-rw-r--r--recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch38
-rw-r--r--recipes-kernel/linux/linux-imx_6.12.bb (renamed from recipes-kernel/linux/linux-imx_6.6.bb)14
-rw-r--r--recipes-kernel/linux/linux-qoriq.inc8
-rw-r--r--recipes-kernel/skmm-host/skmm-host_git.bb4
-rw-r--r--recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb36
-rw-r--r--recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb28
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch36
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch8
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch32
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch30
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch216
-rw-r--r--recipes-multimedia/alsa/alsa-lib_%.bbappend3
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_git.bb8
-rw-r--r--recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch37
-rw-r--r--recipes-multimedia/gstreamer/gst-examples/gst-player.desktop10
-rw-r--r--recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb38
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb)4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch39
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb)21
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb)8
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.%.bbappend)4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb)23
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch109
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch51
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch74
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb)19
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch34
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb29
-rw-r--r--recipes-multimedia/imx-codec/imx-codec_4.9.3.bb (renamed from recipes-multimedia/imx-codec/imx-codec_4.9.0.bb)15
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb1
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb (renamed from recipes-multimedia/imx-dsp/imx-dsp_2.1.8.bb)13
-rw-r--r--recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb1
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb (renamed from recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.4.0.bb)11
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.9.3.bb (renamed from recipes-multimedia/imx-parser/imx-parser_4.9.0.bb)10
-rw-r--r--recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb1
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_VCencoder-add-sys-time.h-for-gett.patch31
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch (renamed from recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-add-sys-time.h-for-gettim.patch)19
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb15
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb (renamed from recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb)6
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb4
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch1002
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch215
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch146
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch40
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch251
-rw-r--r--recipes-multimedia/tinycompress/tinycompress_1.1.6.bb16
-rw-r--r--recipes-multimedia/tinycompress/tinycompress_1.2.5.bb16
-rw-r--r--recipes-security/optee-imx/optee-client-fslc-imx.inc35
-rw-r--r--recipes-security/optee-imx/optee-client-fslc.inc59
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant.service11
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant.sh46
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant@.service10
-rw-r--r--recipes-security/optee-imx/optee-client/tee-udev.rules7
-rw-r--r--recipes-security/optee-imx/optee-client_4.2.0.imx.bb7
-rw-r--r--recipes-security/optee-imx/optee-client_4.4.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-fslc.inc50
-rw-r--r--recipes-security/optee-imx/optee-os-common-fslc-imx.inc62
-rw-r--r--recipes-security/optee-imx/optee-os-fslc-imx.inc46
-rw-r--r--recipes-security/optee-imx/optee-os-fslc.inc108
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc27
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch245
-rw-r--r--recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch133
-rw-r--r--recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch67
-rw-r--r--recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch (renamed from recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch)14
-rw-r--r--recipes-security/optee-imx/optee-os_4.2.0.imx.bb12
-rw-r--r--recipes-security/optee-imx/optee-os_4.4.0.imx.bb6
-rw-r--r--recipes-security/optee-imx/optee-test-fslc-imx.inc18
-rw-r--r--recipes-security/optee-imx/optee-test-fslc.inc66
-rw-r--r--recipes-security/optee-imx/optee-test/run-ptest52
-rw-r--r--recipes-security/optee-imx/optee-test_4.2.0.imx.bb10
-rw-r--r--recipes-security/optee-imx/optee-test_4.4.0.imx.bb13
-rw-r--r--recipes-security/optee-qoriq/optee-client.nxp.inc1
-rw-r--r--recipes-security/optee-qoriq/optee-os.nxp.inc1
-rw-r--r--recipes-security/optee-qoriq/optee-test.nxp.inc1
-rw-r--r--recipes-security/smw/keyctl-caam_git.bb2
-rw-r--r--recipes-security/smw/smw_git.bb4
-rw-r--r--recipes-support/opencv/opencv_4.6.0.imx.bb42
-rwxr-xr-xscripts/generate-license-file20
-rw-r--r--wic/imx-imx-boot-bootpart.wks.in4
304 files changed, 4434 insertions, 4242 deletions
diff --git a/.github/workflows/update-license-file.yml b/.github/workflows/update-license-file.yml
new file mode 100644
index 000000000..2ccfe6636
--- /dev/null
+++ b/.github/workflows/update-license-file.yml
@@ -0,0 +1,47 @@
1name: Update LICENSE file
2
3on:
4 push:
5 branches:
6 - master
7 - walnascar
8 - styhead
9 - scarthgap
10 - nanbield
11 - mickledore
12 - kirkstone
13 - honister
14 - hardknott
15 - gatesgarth
16 - dunfell
17 paths:
18 - "**/*.bb"
19 - "**/*.inc"
20 schedule:
21 - cron: "0 0 * * *" # Runs daily at midnight
22 workflow_dispatch: # Allows manual run
23
24jobs:
25 update-license:
26 runs-on: ubuntu-latest
27
28 steps:
29 - name: Checkout repository
30 uses: actions/checkout@v3
31
32 - name: Run license generation script
33 run: |
34 ./scripts/generate-license-file
35
36 - name: Commit and push LICENSE file
37 run: |
38 git config --local user.name "github-actions[bot]"
39 git config --local user.email "github-actions[bot]@users.noreply.github.com"
40 git add LICENSE
41 if ! git diff-index --quiet HEAD; then
42 git commit -m "Auto-update LICENSE file with current recipe licenses"
43 git push
44 fi
45
46 env:
47 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/EULA b/EULA
index c0273f8eb..5f5cc2f96 100644
--- a/EULA
+++ b/EULA
@@ -1,4 +1,4 @@
1LA_OPT_NXP_Software_License v56 April 2024 1LA_OPT_NXP_Software_License v58 November 2024
2IMPORTANT. Read the following NXP Software License Agreement ("Agreement") 2IMPORTANT. Read the following NXP Software License Agreement ("Agreement")
3completely. By selecting the "I Accept" button at the end of this page, or by 3completely. By selecting the "I Accept" button at the end of this page, or by
4downloading, installing, or using the Licensed Software, you indicate that you 4downloading, installing, or using the Licensed Software, you indicate that you
@@ -242,21 +242,51 @@ COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF OR IN CONNECTION
242WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO 242WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO
243THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED 243THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED
244SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED. 244SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
24512. EXPORT COMPLIANCE. Each party shall comply with all applicable 24512. EXPORT COMPLIANCE.
246export and import control laws and regulations including but not limited to the 24612.1 Each party shall comply with all applicable export and import control
247US Export Administration Regulation (including restrictions on certain military 247laws and regulations including but not limited to the US Export Administration
248end uses and military end users as specified in Section 15 C.F.R. § 744.21 and 248Regulation (including restrictions on certain military end uses and military
249prohibited party lists issued by other federal governments), Catch-all 249end users as specified in Section 15 C.F.R. § 744.21 and prohibited party
250regulations and all national and international embargoes. Each party further 250lists issued by other federal governments), Catch-all regulations and all
251agrees that it will not knowingly transfer, divert, export or re-export, 251national and international embargoes. Each party further agrees that it will
252directly or indirectly, any product, software, including software source code, 252not knowingly transfer, divert, export or re-export, directly or indirectly,
253or technology restricted by such regulations or by other applicable national 253any product, software, including software source code, or technology restricted
254regulations, received from the other party under this Agreement, or any direct 254by such regulations or by other applicable national regulations, received from
255product of such software or technical data to any person, firm, entity, country 255the other party under this Agreement, or any direct product of such software or
256or destination to which such transfer, diversion, export or re-export is 256technical data to any person, firm, entity, country or destination to which
257restricted or prohibited, without obtaining prior written authorization from 257such transfer, diversion, export or re-export is restricted or prohibited,
258the applicable competent government authorities to the extent required by those 258without obtaining prior written authorization from the applicable competent
259laws. 259government authorities to the extent required by those laws.
26012.2 Prohibition of Export to Russian Federation
261
262(a) With respect to activitit that falls under the scope of Article 12g,
26312ga of Council Regulation (EU) No 833/2014, or Council Regulation (EU) No
264765/2006 (as the case requires), you (a) will not sell, export or re-export,
265directly or indirectly any item, and (b) will not sell, license or sublicense
266any intellectual property rights or trade secrets, to the Russian Federation or
267Belarus, or for use in the Russian Federation or Belarus.
268
269(b) You will ensure that the purpose of paragraph (a) above is not
270frustrated by any third parties further down the commercial chain, including by
271either resellers, sublicensees, or both.
272
273(c) You will set up and maintain an adequate monitoring mechanism to detect
274conduct by any third parties further down the commercial chain, including by
275either resellers, sublicensees, or both, that would frustrate the purpose of
276paragraph (a).
277
278(d) Any violation of paragraphs (a), (b) or (c) will constitute a material
279breach of this Agreement, and NXP will be entitled to seek appropriate
280remedies, including, but not limited to: (i) termination of these Terms; (ii)
281suspension of any of its business relationships with you, youraffiliates or
282both, until the breach of paragraph (a) above is remedied, and (iii) a plan to
283remedy the breach.
284
285(e) You will immediately inform NXP about any problems in applying
286paragraphs (a), (b) or (c), above, including any relevant activities by third
287parties that could frustrate the purpose of paragraph (a). You will make
288available to NXPinformation concerning compliance with the obligations under
289paragraphs (a), (b) and (c) within 2 weeks of the request for information.
26013. GOVERNMENT CONTRACT COMPLIANCE 29013. GOVERNMENT CONTRACT COMPLIANCE
26113.1. If you sell Authorized Systems directly to any government or public 29113.1. If you sell Authorized Systems directly to any government or public
262entity, including U.S., state, local, foreign or international governments or 292entity, including U.S., state, local, foreign or international governments or
@@ -403,7 +433,7 @@ directly from AGGIOS, Inc.
403 433
404Airbiquity Inc.: The Airbiquity software may only be used in object code and 434Airbiquity Inc.: The Airbiquity software may only be used in object code and
405Licensee may not sublicense the Airbiquity software to any third party. 435Licensee may not sublicense the Airbiquity software to any third party.
406Licensee’s license to use the Airbiquity software expires on June 30, 2024. 436Licensee’s license to use the Airbiquity software expires on June 30, 2026.
407 437
408Amazon: Use of the Amazon software constitutes your acceptance of the terms of 438Amazon: Use of the Amazon software constitutes your acceptance of the terms of
409the Amazon Program Materials License Agreement (including the AVS Component 439the Amazon Program Materials License Agreement (including the AVS Component
@@ -767,3 +797,9 @@ upon notice.
767 797
768Vivante: Distribution of Vivante software must be a part of, or embedded 798Vivante: Distribution of Vivante software must be a part of, or embedded
769within, Authorized Systems that include a Vivante Graphics Processing Unit. 799within, Authorized Systems that include a Vivante Graphics Processing Unit.
800
801Wittenstein: Your use of the SafeRTOS v9.x and Networking Stack, in object
802form, is limited to your internal testing, evaluation, feedback and development
803specifically for use with an NXP Product. Licensee’s license to use and
804supply the software to you expires on June 25, 2026. Further rights must be
805obtained directly from Wittenstein.
diff --git a/LICENSE b/LICENSE
index 17964fe56..b69284ffb 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,12 +1,166 @@
1Different components of meta-freescale are under different licenses (a mix 1# License Information
2of MIT and proprietary). Please see:
3 2
4COPYING.MIT (MIT) 3This file lists all licenses used by recipes in the meta-freescale layer.
5custom-licenses/* (Various EULAs, included by recipes)
6 4
7All metadata is MIT licensed unless otherwise stated. Source code and binaries 5./dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb: LICENSE = "GPL-2.0-only"
8included in tree for individual recipes are under the LICENSE stated in 6./dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb: LICENSE = "BSD-3-Clause"
9the associated recipe (.bb file) unless otherwise stated. 7./dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb: LICENSE = "MIT"
10 8./recipes-bsp/atf/qoriq-atf-2.6.inc: LICENSE = "BSD-3-Clause"
11License information for any other files is either explicitly stated 9./recipes-bsp/boot-format/boot-format_git.bb: LICENSE = "GPL-2.0-only"
12or defaults to GPL version 2. 10./recipes-bsp/ddr-phy/ddr-phy_git.bb: LICENSE = "NXP-Binary-EULA"
11./recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: LICENSE = "Proprietary"
12./recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb: LICENSE = "Proprietary"
13./recipes-bsp/firmware-imx/firmware-imx-8.27.inc: LICENSE = "Proprietary"
14./recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb: LICENSE = "Proprietary"
15./recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb: LICENSE = "BSD-3-Clause"
16./recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb: LICENSE = "Proprietary"
17./recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb: LICENSE = "GPL-2.0-only"
18./recipes-bsp/imx-atf/imx-atf_2.10.bb: LICENSE = "BSD-3-Clause"
19./recipes-bsp/imx-kobs/imx-kobs_git.bb: LICENSE = "GPL-2.0-only"
20./recipes-bsp/imx-lib/imx-lib_git.bb: LICENSE = "LGPL-2.1-only"
21./recipes-bsp/imx-mkimage/imx-boot_1.0.bb: LICENSE = "GPL-2.0-only"
22./recipes-bsp/imx-mkimage/imx-mkimage_git.bb: LICENSE = "GPL-2.0-only"
23./recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb: LICENSE = "Proprietary"
24./recipes-bsp/imx-seco/imx-seco-libs_git.bb: LICENSE = "Proprietary"
25./recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb: LICENSE = "Proprietary"
26./recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb: LICENSE = "BSD-3-Clause"
27./recipes-bsp/imx-test/imx-test_00.00.00.bb: LICENSE = "MIT"
28./recipes-bsp/imx-test/imx-test_git.bb: LICENSE = "GPL-2.0-or-later"
29./recipes-bsp/imx-uuc/imx-uuc_git.bb: LICENSE = "GPL-2.0-only"
30./recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb: LICENSE = "Proprietary"
31./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb: LICENSE = "MIT"
32./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb: LICENSE = "Proprietary"
33./recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb: LICENSE = "Proprietary"
34./recipes-bsp/inphi/inphi_git.bb: LICENSE = "NXP-Binary-EULA"
35./recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb: LICENSE = "Proprietary"
36./recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb: LICENSE = "Proprietary"
37./recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb: LICENSE = "LGPL-2.1-only"
38./recipes-bsp/ls2-phy/ls2-phy_git.bb: LICENSE = "NXP-Binary-EULA"
39./recipes-bsp/mc-utils/mc-utils_git.bb: LICENSE = "BSD-3-Clause"
40./recipes-bsp/mxsldr/mxsldr_git.bb: LICENSE = "GPL-2.0-or-later"
41./recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb: LICENSE = "NXP-Binary-EULA"
42./recipes-bsp/qe-ucode/qe-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
43./recipes-bsp/rcw/rcw_git.bb: LICENSE = "BSD-3-Clause"
44./recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc: LICENSE = "GPL-2.0-or-later"
45./recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc: LICENSE = "GPL-2.0-or-later"
46./recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb: LICENSE = "GPL-2.0-only & BSD-3-Clause & BSD-2-Clause & LGPL-2.0-only & LGPL-2.1-only"
47./recipes-bsp/uefi/uefi_git.bb: LICENSE = "NXP-Binary-EULA"
48./recipes-core/udev/udev-rules-imx.bb: LICENSE = "MIT"
49./recipes-core/udev/udev-rules-qoriq.bb: LICENSE = "MIT"
50./recipes-devtools/devregs/devregs_git.bb: LICENSE = "GPL-2.0-only"
51./recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb: LICENSE = "LGPL-2.1-only"
52./recipes-devtools/qemu/qemu.inc: LICENSE = "GPL-2.0-only & LGPL-2.1-only"
53./recipes-devtools/qoriq-cst/qoriq-cst_git.bb: LICENSE = "BSD-3-Clause"
54./recipes-devtools/utp-com/utp-com_git.bb: LICENSE = "GPL-2.0-only"
55./recipes-devtools/uuu/uuu-bin_1.5.165.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-or-later"
56./recipes-devtools/uuu/uuu_git.bb: LICENSE = "BSD-3-Clause"
57./recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb: LICENSE = "MIT"
58./recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
59./recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT"
60./recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
61./recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
62./recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT"
63./recipes-dpaa/eth-config/eth-config_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
64./recipes-dpaa/flib/flib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
65./recipes-dpaa/fm-ucode/fm-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
66./recipes-dpaa/fmlib/fmlib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
67./recipes-dpaa2/aiopsl/aiopsl_git.bb: LICENSE = "BSD-3-Clause"
68./recipes-dpaa2/dce/dce_git.bb: LICENSE = "BSD-3-Clause"
69./recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb: LICENSE = "BSD-3-Clause"
70./recipes-dpaa2/management-complex/management-complex_10.39.0.bb: LICENSE = "NXP-Binary-EULA"
71./recipes-dpaa2/restool/restool_git.bb: LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
72./recipes-dpaa2/spc/spc_git.bb: LICENSE = "MIT"
73./recipes-extended/crconf/crconf_git.bb: LICENSE = "GPL-2.0-only"
74./recipes-extended/dpdk/dpdk-20.11.inc: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
75./recipes-extended/dpdk/dpdk_19.11-20.12.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
76./recipes-extended/jailhouse/jailhouse-imx_git.bb: LICENSE = "GPL-2.0-only"
77./recipes-extended/libpkcs11/libpkcs11_git.bb: LICENSE = "GPL-2.0-only"
78./recipes-extended/merge-files/merge-files_1.0.bb: LICENSE = "MIT"
79./recipes-extended/odp/odp.inc: LICENSE = "BSD-3-Clause"
80./recipes-extended/ofp/ofp_git.bb: LICENSE = "BSD-3-Clause"
81./recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb: LICENSE = "BSD"
82./recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb: LICENSE = "BSD"
83./recipes-extended/secure-obj/secure-obj.inc: LICENSE = "BSD-3-Clause"
84./recipes-extended/skmm-ep/skmm-ep_git.bb: LICENSE = "BSD & GPL-2.0-only"
85./recipes-extended/testfloat/testfloat_2a.bb: LICENSE = "TestFloat"
86./recipes-extended/tsntool/tsntool_git.bb: LICENSE = "GPL-2.0-only"
87./recipes-fsl/images/fsl-image-mfgtool-initramfs.bb: LICENSE = "MIT"
88./recipes-fsl/mcore-demos/imx-mcore-demos.inc: LICENSE = "Proprietary"
89./recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb: LICENSE = "MIT"
90./recipes-graphics/drm/libdrm_2.4.123.imx.bb: LICENSE = "MIT"
91./recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb: LICENSE = "Proprietary"
92./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause"
93./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb: LICENSE = "Proprietary"
94./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary"
95./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT"
96./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary"
97./recipes-graphics/mali/mali-imx_r53.0.bb: LICENSE = "Proprietary"
98./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT"
99./recipes-graphics/wayland/wayland-protocols_1.37.imx.bb: LICENSE = "MIT"
100./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT"
101./recipes-graphics/wayland/weston_14.0.1.imx.bb: LICENSE = "MIT"
102./recipes-graphics/xwayland/xwayland_24.1.6.imx.bb: LICENSE = "MIT"
103./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only"
104./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD"
105./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb: LICENSE = "GPL-2.0-only"
106./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb: LICENSE = "GPL-2.0-only"
107./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD"
108./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb: LICENSE = "GPL-2.0-only"
109./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later"
110./recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb: LICENSE = "GPL-2.0-only"
111./recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb: LICENSE = "GPL-2.0-only"
112./recipes-kernel/linux/linux-imx-headers_6.12.bb: LICENSE = "GPL-2.0-only"
113./recipes-kernel/linux/linux-imx.inc: LICENSE = "GPL-2.0-only"
114./recipes-kernel/linux/linux-qoriq.inc: LICENSE = "GPL-2.0-only"
115./recipes-kernel/skmm-host/skmm-host_git.bb: LICENSE = "BSD & GPL-2.0-or-later"
116./recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb: LICENSE = "Apache-2.0"
117./recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb: LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-3-Clause"
118./recipes-multimedia/alsa/imx-alsa-plugins_git.bb: LICENSE = "GPL-2.0-only"
119./recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb: LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
120LICENSE:${PN} = "GPL-2.0-or-later"
121LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
122LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
123LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
124LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
125LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
126LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
127LICENSE:libpostproc = "GPL-2.0-or-later"
128LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
129LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
130LICENSE_FLAGS = "commercial"
131./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later"
132./recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb: LICENSE = "LGPL-2.0-or-later"
133./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb: LICENSE_FLAGS = "commercial"
134LICENSE = "LGPL-2.1-or-later"
135./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
136./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
137./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
138./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later"
139./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
140LICENSE_FLAGS = "commercial"
141./recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
142./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
143./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
144./recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
145./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
146./recipes-multimedia/imx-codec/imx-codec_4.9.3.bb: LICENSE = "Proprietary"
147./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary"
148./recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb: LICENSE = "Proprietary"
149./recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb: LICENSE = "Proprietary"
150./recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb: LICENSE = "Proprietary"
151./recipes-multimedia/imx-parser/imx-parser_4.9.3.bb: LICENSE = "Proprietary"
152./recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb: LICENSE = "Proprietary"
153./recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb: LICENSE = "Proprietary"
154./recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb: LICENSE = "LGPL-2.1-only"
155./recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb: LICENSE = "LGPL-2.1-only"
156./recipes-multimedia/tinycompress/tinycompress_1.2.5.bb: LICENSE = "LGPL-2.1-only | BSD-3-Clause"
157./recipes-security/optee-imx/optee-client-fslc.inc: LICENSE = "BSD-2-Clause"
158./recipes-security/optee-imx/optee-os-fslc.inc: LICENSE = "BSD-2-Clause"
159./recipes-security/optee-imx/optee-test-fslc.inc: LICENSE = "BSD-2-Clause & GPL-2.0-only"
160./recipes-security/optee-qoriq/optee-client.nxp.inc: LICENSE = "BSD"
161./recipes-security/optee-qoriq/optee-os.nxp.inc: LICENSE = "BSD"
162./recipes-security/optee-qoriq/optee-test.nxp.inc: LICENSE = "BSD & GPL-2.0-only"
163./recipes-security/smw/keyctl-caam_git.bb: LICENSE = "BSD-3-Clause"
164./recipes-security/smw/smw_git.bb: LICENSE = "BSD-3-Clause"
165LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
166./recipes-support/opencv/opencv_4.6.0.imx.bb: LICENSE = "Apache-2.0"
diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass
index 86338259a..54b25b3ac 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -60,6 +60,8 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48 = "db4762b09b6bda63da103963
60FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49 = "2827219e81f28aba7c6a569f7c437fa7" 60FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49 = "2827219e81f28aba7c6a569f7c437fa7"
61FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53 = "44a8052c384584ba09077e85a3d1654f" 61FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53 = "44a8052c384584ba09077e85a3d1654f"
62FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a" 62FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a"
63FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837"
64FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3"
63 65
64FSL_EULA_FILE_MD5SUMS = " \ 66FSL_EULA_FILE_MD5SUMS = " \
65 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \ 67 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
@@ -116,11 +118,13 @@ FSL_EULA_FILE_MD5SUMS = " \
116 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \ 118 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \
117 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \ 119 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \
118 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \ 120 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \
121 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57} \
122 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58} \
119" 123"
120 124
121# The checksum for the EULA in the layer 125# The checksum for the EULA in the layer
122FSL_EULA_FILE_MD5SUM ?= \ 126FSL_EULA_FILE_MD5SUM ?= \
123 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56}" 127 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58}"
124 128
125LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" 129LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
126LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" 130LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
@@ -162,7 +166,7 @@ python fsl_bin_do_unpack() {
162 166
163 localdata = bb.data.createCopy(d) 167 localdata = bb.data.createCopy(d)
164 168
165 rootdir = localdata.getVar('WORKDIR', True) 169 rootdir = localdata.getVar('UNPACKDIR', True)
166 fetcher = bb.fetch2.Fetch(src_uri, localdata) 170 fetcher = bb.fetch2.Fetch(src_uri, localdata)
167 171
168 found = 0 172 found = 0
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass
index b0d3dc1fb..c3a13a255 100644
--- a/classes/imx-boot-container.bbclass
+++ b/classes/imx-boot-container.bbclass
@@ -63,6 +63,9 @@ do_resolve_and_populate_binaries() {
63 else 63 else
64 bberror "ATF binary is undefined, result binary would be unusable!" 64 bberror "ATF binary is undefined, result binary would be unusable!"
65 fi 65 fi
66 if [ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '1' , '0' , d)}" = "1" ] ; then
67 cp ${DEPLOY_DIR_IMAGE}/${OPTEE_BOOT_IMAGE} ${B}/${config}/
68 fi
66 fi 69 fi
67 done 70 done
68 unset j 71 unset j
diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass
index f07580dd2..975dd77c1 100644
--- a/classes/use-imx-security-controller-firmware.bbclass
+++ b/classes/use-imx-security-controller-firmware.bbclass
@@ -22,7 +22,9 @@ SECO_FIRMWARE_NAME:mx8qxp-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-contain
22SECO_FIRMWARE_NAME:mx8dx-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-container.img" 22SECO_FIRMWARE_NAME:mx8dx-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-container.img"
23SECO_FIRMWARE_NAME:mx8dxl-generic-bsp ?= "mx8dxl${IMX_SOC_REV_LOWER}-ahab-container.img" 23SECO_FIRMWARE_NAME:mx8dxl-generic-bsp ?= "mx8dxl${IMX_SOC_REV_LOWER}-ahab-container.img"
24SECO_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}-ahab-container.img" 24SECO_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}-ahab-container.img"
25SECO_FIRMWARE_NAME:mx91-generic-bsp ?= "mx91${IMX_SOC_REV_LOWER}-ahab-container.img"
25SECO_FIRMWARE_NAME:mx93-generic-bsp ?= "mx93${IMX_SOC_REV_LOWER}-ahab-container.img" 26SECO_FIRMWARE_NAME:mx93-generic-bsp ?= "mx93${IMX_SOC_REV_LOWER}-ahab-container.img"
27SECO_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95${IMX_SOC_REV_LOWER}-ahab-container.img"
26 28
27python () { 29python () {
28 if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"): 30 if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"):
diff --git a/conf/layer.conf b/conf/layer.conf
index aa29dbe08..4b0a5f77f 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
8BBFILE_COLLECTIONS += "freescale-layer" 8BBFILE_COLLECTIONS += "freescale-layer"
9BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/" 9BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/"
10BBFILE_PRIORITY_freescale-layer = "5" 10BBFILE_PRIORITY_freescale-layer = "5"
11LAYERSERIES_COMPAT_freescale-layer = "styhead" 11LAYERSERIES_COMPAT_freescale-layer = "whinlatter"
12LAYERDEPENDS_freescale-layer = "core" 12LAYERDEPENDS_freescale-layer = "core"
13 13
14# Add the Freescale-specific licenses into the metadata 14# Add the Freescale-specific licenses into the metadata
diff --git a/conf/machine/imx6qdlsabresd.conf b/conf/machine/imx6qdlsabresd.conf
index 1ab1d9df8..c65bc9b91 100644
--- a/conf/machine/imx6qdlsabresd.conf
+++ b/conf/machine/imx6qdlsabresd.conf
@@ -21,6 +21,7 @@ KERNEL_DEVICETREE = " \
21 nxp/imx/imx6qp-sabresd.dtb \ 21 nxp/imx/imx6qp-sabresd.dtb \
22 nxp/imx/imx6qp-sabresd-hdcp.dtb \ 22 nxp/imx/imx6qp-sabresd-hdcp.dtb \
23 nxp/imx/imx6qp-sabresd-ldo.dtb \ 23 nxp/imx/imx6qp-sabresd-ldo.dtb \
24 nxp/imx/imx6qp-sabresd-pcie-ep.dtb \
24 \ 25 \
25 nxp/imx/imx6q-sabresd-btwifi.dtb \ 26 nxp/imx/imx6q-sabresd-btwifi.dtb \
26 nxp/imx/imx6q-sabresd.dtb \ 27 nxp/imx/imx6q-sabresd.dtb \
@@ -28,12 +29,16 @@ KERNEL_DEVICETREE = " \
28 nxp/imx/imx6q-sabresd-hdcp.dtb \ 29 nxp/imx/imx6q-sabresd-hdcp.dtb \
29 nxp/imx/imx6q-sabresd-ldo.dtb \ 30 nxp/imx/imx6q-sabresd-ldo.dtb \
30 nxp/imx/imx6q-sabresd-uart.dtb \ 31 nxp/imx/imx6q-sabresd-uart.dtb \
32 nxp/imx/imx6q-sabresd-pcie.dtb \
33 nxp/imx/imx6q-sabresd-pcie-ep.dtb \
31 \ 34 \
32 nxp/imx/imx6dl-sabresd-btwifi.dtb \ 35 nxp/imx/imx6dl-sabresd-btwifi.dtb \
33 nxp/imx/imx6dl-sabresd.dtb \ 36 nxp/imx/imx6dl-sabresd.dtb \
34 nxp/imx/imx6dl-sabresd-enetirq.dtb \ 37 nxp/imx/imx6dl-sabresd-enetirq.dtb \
35 nxp/imx/imx6dl-sabresd-hdcp.dtb \ 38 nxp/imx/imx6dl-sabresd-hdcp.dtb \
36 nxp/imx/imx6dl-sabresd-ldo.dtb \ 39 nxp/imx/imx6dl-sabresd-ldo.dtb \
40 nxp/imx/imx6dl-sabresd-pcie.dtb \
41 nxp/imx/imx6dl-sabresd-pcie-ep.dtb \
37" 42"
38KERNEL_DEVICETREE:use-mainline-bsp = " \ 43KERNEL_DEVICETREE:use-mainline-bsp = " \
39 nxp/imx/imx6qp-sabresd.dtb \ 44 nxp/imx/imx6qp-sabresd.dtb \
@@ -76,6 +81,6 @@ OPTEE_BIN_EXT = "6qsdb"
76 81
77SERIAL_CONSOLES = "115200;ttymxc0" 82SERIAL_CONSOLES = "115200;ttymxc0"
78 83
79MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k" 84MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k firmware-imx-epdc"
80 85
81MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio" 86MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio"
diff --git a/conf/machine/imx6slevk.conf b/conf/machine/imx6slevk.conf
index af196eab8..df022d635 100644
--- a/conf/machine/imx6slevk.conf
+++ b/conf/machine/imx6slevk.conf
@@ -34,5 +34,6 @@ OPTEE_BIN_EXT = "6slevk"
34SERIAL_CONSOLES = "115200;ttymxc0" 34SERIAL_CONSOLES = "115200;ttymxc0"
35 35
36MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 36MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
37MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
37 38
38MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc" 39MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc"
diff --git a/conf/machine/imx6sllevk.conf b/conf/machine/imx6sllevk.conf
index 5a1dc666c..58fff6db0 100644
--- a/conf/machine/imx6sllevk.conf
+++ b/conf/machine/imx6sllevk.conf
@@ -30,9 +30,7 @@ OPTEE_BIN_EXT:imx6sllevk = "6sllevk"
30SERIAL_CONSOLES = "115200;ttymxc0" 30SERIAL_CONSOLES = "115200;ttymxc0"
31 31
32MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 32MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
33MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
33 34
34# MESA DRI library 35# MESA DRI library
35XSERVER += "mesa-driver-swrast" 36XSERVER += "mesa-driver-swrast"
36
37PREFERRED_PROVIDER_u-boot = "u-boot-fslc"
38PREFERRED_PROVIDER_virtual/bootloader = "u-boot-fslc"
diff --git a/conf/machine/imx6sxsabresd.conf b/conf/machine/imx6sxsabresd.conf
index 8d597c551..d85c7ce74 100644
--- a/conf/machine/imx6sxsabresd.conf
+++ b/conf/machine/imx6sxsabresd.conf
@@ -45,3 +45,4 @@ SERIAL_CONSOLES = "115200;ttymxc0"
45MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k" 45MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
46 46
47MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 47MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
48MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
diff --git a/conf/machine/imx6ulevk.conf b/conf/machine/imx6ulevk.conf
index 10c7b6fb4..3bab4f549 100644
--- a/conf/machine/imx6ulevk.conf
+++ b/conf/machine/imx6ulevk.conf
@@ -10,6 +10,7 @@ include conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = " \ 15KERNEL_DEVICETREE = " \
15 nxp/imx/imx6ul-14x14-evk-btwifi.dtb \ 16 nxp/imx/imx6ul-14x14-evk-btwifi.dtb \
@@ -26,7 +27,11 @@ KERNEL_DEVICETREE = " \
26 nxp/imx/imx6ul-14x14-evk-reve-ecspi-slave.dtb \ 27 nxp/imx/imx6ul-14x14-evk-reve-ecspi-slave.dtb \
27 nxp/imx/imx6ul-14x14-evk-reve-emmc.dtb \ 28 nxp/imx/imx6ul-14x14-evk-reve-emmc.dtb \
28 nxp/imx/imx6ul-14x14-evk-reve-gpmi-weim.dtb \ 29 nxp/imx/imx6ul-14x14-evk-reve-gpmi-weim.dtb \
30 nxp/imx/imx6ul-9x9-evk.dtb \
31 nxp/imx/imx6ul-9x9-evk-btwifi.dtb \
32 nxp/imx/imx6ul-9x9-evk-ldo.dtb \
29" 33"
34
30KERNEL_DEVICETREE:use-mainline-bsp = "nxp/imx/imx6ul-14x14-evk.dtb" 35KERNEL_DEVICETREE:use-mainline-bsp = "nxp/imx/imx6ul-14x14-evk.dtb"
31 36
32### u-boot-fslc settings ### 37### u-boot-fslc settings ###
diff --git a/conf/machine/imx6ullevk.conf b/conf/machine/imx6ullevk.conf
index f412c18de..4c1184a79 100644
--- a/conf/machine/imx6ullevk.conf
+++ b/conf/machine/imx6ullevk.conf
@@ -9,13 +9,20 @@ MACHINEOVERRIDES =. "mx6ull:"
9include conf/machine/include/imx-base.inc 9include conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FIRMWARE:append = " firmware-imx-epdc"
13
12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8801-sdio nxp8987-sdio" 14MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8801-sdio nxp8987-sdio"
15MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 16
14KERNEL_DEVICETREE = " \ 17KERNEL_DEVICETREE = " \
15 nxp/imx/imx6ull-14x14-evk.dtb \ 18 nxp/imx/imx6ull-14x14-evk.dtb \
16" 19"
17 20
18KERNEL_DEVICETREE:append:use-nxp-bsp = " \ 21KERNEL_DEVICETREE:append:use-nxp-bsp = " \
22 nxp/imx/imx6ull-9x9-evk.dtb \
23 nxp/imx/imx6ull-9x9-evk-btwifi.dtb \
24 nxp/imx/imx6ull-9x9-evk-ldo.dtb \
25 nxp/imx/imx6ull-14x14-evk.dtb \
19 nxp/imx/imx6ull-14x14-evk-btwifi.dtb \ 26 nxp/imx/imx6ull-14x14-evk-btwifi.dtb \
20 nxp/imx/imx6ull-14x14-evk-emmc.dtb \ 27 nxp/imx/imx6ull-14x14-evk-emmc.dtb \
21 nxp/imx/imx6ull-14x14-evk-gpmi-weim.dtb \ 28 nxp/imx/imx6ull-14x14-evk-gpmi-weim.dtb \
diff --git a/conf/machine/imx6ulz-14x14-evk.conf b/conf/machine/imx6ulz-14x14-evk.conf
index c5fd91bf4..572434ae7 100644
--- a/conf/machine/imx6ulz-14x14-evk.conf
+++ b/conf/machine/imx6ulz-14x14-evk.conf
@@ -10,6 +10,7 @@ include conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = " \ 15KERNEL_DEVICETREE = " \
15 nxp/imx/imx6ulz-14x14-evk.dtb \ 16 nxp/imx/imx6ulz-14x14-evk.dtb \
diff --git a/conf/machine/imx7dsabresd.conf b/conf/machine/imx7dsabresd.conf
index 4b4a60122..96942ebb2 100644
--- a/conf/machine/imx7dsabresd.conf
+++ b/conf/machine/imx7dsabresd.conf
@@ -10,6 +10,7 @@ require conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 12MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = "nxp/imx/imx7d-sdb.dtb" 15KERNEL_DEVICETREE = "nxp/imx/imx7d-sdb.dtb"
15KERNEL_DEVICETREE:append:use-nxp-bsp = " \ 16KERNEL_DEVICETREE:append:use-nxp-bsp = " \
@@ -42,3 +43,10 @@ UBOOT_CONFIG[epdc] = "mx7dsabresd_epdc_config"
42OPTEE_BIN_EXT = "7dsdb" 43OPTEE_BIN_EXT = "7dsdb"
43 44
44XSERVER += "mesa-driver-swrast" 45XSERVER += "mesa-driver-swrast"
46
47WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
48IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
49 mcore-demos/imx7d_sabresd_m4_TCM_Pingpang.bin \
50 mcore-demos/imx7d_sabresd_m4_TCM_helloworld.bin \
51 mcore-demos/imx7d_sabresd_m4_TCM_mcctty.bin \
52"
diff --git a/conf/machine/imx7ulpevk.conf b/conf/machine/imx7ulpevk.conf
index 2e39a0c79..b5196e30b 100644
--- a/conf/machine/imx7ulpevk.conf
+++ b/conf/machine/imx7ulpevk.conf
@@ -10,6 +10,7 @@ require conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "pci wifi bluetooth bcm43430 nxp8987-sdio" 12MACHINE_FEATURES += "pci wifi bluetooth bcm43430 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = " \ 15KERNEL_DEVICETREE = " \
15 nxp/imx/imx7ulp-evk.dtb \ 16 nxp/imx/imx7ulp-evk.dtb \
@@ -43,3 +44,12 @@ OPTEE_BIN_EXT = "7ulp"
43 44
44# Set Serial console 45# Set Serial console
45SERIAL_CONSOLES = "115200;ttyLP0" 46SERIAL_CONSOLES = "115200;ttyLP0"
47
48WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
49IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
50 mcore-demos/imx7ulp_m4_demo.img \
51 mcore-demos/imx7ulp_wireless_uart_bridge.img \
52 mcore-demos/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img \
53 mcore-demos/imx7ulp_rpmsg_lite_pingpong_rtos.img \
54 mcore-demos/imx7ulp_rpmsg_lite_str_echo_rtos.img \
55"
diff --git a/conf/machine/imx8mnul-ddr3l-evk.conf b/conf/machine/imx8mnul-ddr3l-evk.conf
index de00b6f65..7d87010b4 100644
--- a/conf/machine/imx8mnul-ddr3l-evk.conf
+++ b/conf/machine/imx8mnul-ddr3l-evk.conf
@@ -14,7 +14,7 @@ MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356"
14# NXP BSP can consume proprietary jailhouse and Broadcom drivers 14# NXP BSP can consume proprietary jailhouse and Broadcom drivers
15# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have 15# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
16# a full support for it yet. 16# a full support for it yet.
17MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359" 17MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359 nxpwifi-all-sdio"
18 18
19KERNEL_DEVICETREE_BASENAME = "imx8mn-ddr3l-evk" 19KERNEL_DEVICETREE_BASENAME = "imx8mn-ddr3l-evk"
20KERNEL_DEVICETREE = " \ 20KERNEL_DEVICETREE = " \
@@ -67,3 +67,11 @@ UBOOT_MAKE_TARGET:pn-u-boot-imx = ""
67IMX_BOOT_SEEK = "32" 67IMX_BOOT_SEEK = "32"
68 68
69OPTEE_BIN_EXT = "8mnul" 69OPTEE_BIN_EXT = "8mnul"
70
71WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
72IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
73 mcore-demos/imx8mnddr3l_m7_TCM_hello_world.bin \
74 mcore-demos/imx8mnddr3l_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
75 mcore-demos/imx8mnddr3l_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
76 mcore-demos/imx8mnddr3l_m7_TCM_sai_low_power_audio.bin \
77"
diff --git a/conf/machine/imx8mp-lpddr4-evk.conf b/conf/machine/imx8mp-lpddr4-evk.conf
index 39108716a..cc461a1aa 100644
--- a/conf/machine/imx8mp-lpddr4-evk.conf
+++ b/conf/machine/imx8mp-lpddr4-evk.conf
@@ -41,6 +41,7 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
41 freescale/imx8mp-evk-root.dtb \ 41 freescale/imx8mp-evk-root.dtb \
42 freescale/imx8mp-evk-rpmsg.dtb \ 42 freescale/imx8mp-evk-rpmsg.dtb \
43 freescale/imx8mp-evk-rpmsg-lpv.dtb \ 43 freescale/imx8mp-evk-rpmsg-lpv.dtb \
44 freescale/imx8mp-evk-sof-pdm.dtb \
44 freescale/imx8mp-evk-sof-wm8960.dtb \ 45 freescale/imx8mp-evk-sof-wm8960.dtb \
45 freescale/imx8mp-evk-spdif-lb.dtb \ 46 freescale/imx8mp-evk-spdif-lb.dtb \
46 freescale/imx8mp-evk-usdhc1-m2.dtb \ 47 freescale/imx8mp-evk-usdhc1-m2.dtb \
diff --git a/conf/machine/imx8mq-evk.conf b/conf/machine/imx8mq-evk.conf
index 92a436e54..ff56e386d 100644
--- a/conf/machine/imx8mq-evk.conf
+++ b/conf/machine/imx8mq-evk.conf
@@ -15,7 +15,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
15DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto" 15DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
16 16
17MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio" 17MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio"
18MACHINE_FEATURES:append:use-nxp-bsp = " optee bcm4359" 18MACHINE_FEATURES:append:use-nxp-bsp = " optee bcm4359 jailhouse nxpwifi-all-pcie nxpwifi-all-sdio"
19 19
20MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d" 20MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
21 21
@@ -98,3 +98,10 @@ OPTEE_BIN_EXT = "8mq"
98 98
99# Add additional firmware 99# Add additional firmware
100MACHINE_FIRMWARE:append = " linux-firmware-ath10k" 100MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
101
102WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
103IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
104 mcore-demos/imx8mq_m4_TCM_hello_world.bin \
105 mcore-demos/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
106 mcore-demos/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin \
107"
diff --git a/conf/machine/imx8qm-mek.conf b/conf/machine/imx8qm-mek.conf
index 47cfde198..56ede4326 100644
--- a/conf/machine/imx8qm-mek.conf
+++ b/conf/machine/imx8qm-mek.conf
@@ -12,7 +12,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
12IMX_DEFAULT_BSP = "nxp" 12IMX_DEFAULT_BSP = "nxp"
13 13
14MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie" 14MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
15MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359" 15MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359 nxpwifi-all-pcie nxpwifi-all-sdio"
16 16
17# Don't include kernels in standard images 17# Don't include kernels in standard images
18RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" 18RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
@@ -20,7 +20,7 @@ RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
20LOADADDR = "" 20LOADADDR = ""
21 21
22# We have to disable SERIAL_CONSOLE due to auto-serial-console 22# We have to disable SERIAL_CONSOLE due to auto-serial-console
23SERIAL_CONSOLES = "115200;ttyAMA0" 23SERIAL_CONSOLES = "115200;ttyLP0"
24 24
25# we do not want to have getty running on tty1 as we run 25# we do not want to have getty running on tty1 as we run
26# auto-serial-console there 26# auto-serial-console there
@@ -42,7 +42,6 @@ KERNEL_DEVICETREE = " \
42 freescale/imx8qm-mek-hdmi-rx-ov5640.dtb \ 42 freescale/imx8qm-mek-hdmi-rx-ov5640.dtb \
43 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \ 43 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \
44 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \ 44 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \
45 freescale/imx8qm-mek-ov5640.dtb \
46 freescale/imx8qm-mek-pcie-ep.dtb \ 45 freescale/imx8qm-mek-pcie-ep.dtb \
47 freescale/imx8qm-mek-rpmsg.dtb \ 46 freescale/imx8qm-mek-rpmsg.dtb \
48 freescale/imx8qm-mek-sof.dtb \ 47 freescale/imx8qm-mek-sof.dtb \
@@ -50,6 +49,37 @@ KERNEL_DEVICETREE = " \
50 freescale/imx8qm-mek-sof-wm8960.dtb \ 49 freescale/imx8qm-mek-sof-wm8960.dtb \
51 freescale/imx8qm-mek-usd-wifi.dtb \ 50 freescale/imx8qm-mek-usd-wifi.dtb \
52 freescale/imx8qm-mek-usdhc3-m2.dtb \ 51 freescale/imx8qm-mek-usdhc3-m2.dtb \
52 freescale/imx8qm-mek-max9286-csi0.dtb \
53 freescale/imx8qm-mek-max9286-csi1.dtb \
54 freescale/imx8qm-mek-max9286-dual.dtb \
55 freescale/imx8qm-mek-revd-ca53.dtb \
56 freescale/imx8qm-mek-revd-ca72.dtb \
57 freescale/imx8qm-mek-revd-dsi-rm67191.dtb \
58 freescale/imx8qm-mek-revd-dsi-rm67199.dtb \
59 freescale/imx8qm-mek-revd.dtb \
60 freescale/imx8qm-mek-revd-enet2-tja1100.dtb \
61 freescale/imx8qm-mek-revd-hdmi.dtb \
62 freescale/imx8qm-mek-revd-jdi-wuxga-lvds1-panel.dtb \
63 freescale/imx8qm-mek-revd-jdi-wuxga-lvds1-panel-rpmsg.dtb \
64 freescale/imx8qm-mek-revd-max9286-csi0.dtb \
65 freescale/imx8qm-mek-revd-max9286-csi1.dtb \
66 freescale/imx8qm-mek-revd-max9286-dual.dtb \
67 freescale/imx8qm-mek-revd-ov5640-csi0.dtb \
68 freescale/imx8qm-mek-revd-ov5640-csi1.dtb \
69 freescale/imx8qm-mek-revd-ov5640-dual.dtb \
70 freescale/imx8qm-mek-revd-pcie-ep.dtb \
71 freescale/imx8qm-mek-revd-root.dtb \
72 freescale/imx8qm-mek-revd-rpmsg.dtb \
73 freescale/imx8qm-mek-revd-sof-cs42888.dtb \
74 freescale/imx8qm-mek-revd-sof-wm8962.dtb \
75 freescale/imx8qm-mek-revd-usdhc3-m2.dtb \
76 freescale/imx8qm-mek-revd-usd-wifi.dtb \
77 freescale/imx8qm-mek-ov5640-csi0.dtb \
78 freescale/imx8qm-mek-ov5640-csi0-rpmsg.dtb \
79 freescale/imx8qm-mek-ov5640-csi1.dtb \
80 freescale/imx8qm-mek-ov5640-csi1-rpmsg.dtb \
81 freescale/imx8qm-mek-ov5640-dual.dtb \
82 freescale/imx8qm-mek-ov5640-dual-rpmsg.dtb \
53" 83"
54 84
55UBOOT_MAKE_TARGET = \ 85UBOOT_MAKE_TARGET = \
diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf
index 87df30f42..6763c985e 100644
--- a/conf/machine/imx8qxp-mek.conf
+++ b/conf/machine/imx8qxp-mek.conf
@@ -25,6 +25,13 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
25 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \ 25 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \
26 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \ 26 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \
27 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8962.dtb \ 27 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8962.dtb \
28 freescale/${KERNEL_DEVICETREE_BASENAME}-max9286.dtb \
29 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-csi.dtb \
30 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-csi-rpmsg.dtb \
31 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-dual.dtb \
32 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-dual-rpmsg.dtb \
33 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-parallel.dtb \
34 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-parallel-rpmsg.dtb \
28" 35"
29 36
30UBOOT_CONFIG_BASENAME = "imx8qxp_mek" 37UBOOT_CONFIG_BASENAME = "imx8qxp_mek"
diff --git a/conf/machine/imx8ulp-lpddr4-evk.conf b/conf/machine/imx8ulp-lpddr4-evk.conf
index 273e1569d..ad8362e64 100644
--- a/conf/machine/imx8ulp-lpddr4-evk.conf
+++ b/conf/machine/imx8ulp-lpddr4-evk.conf
@@ -18,10 +18,13 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4m.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4m.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4mv2.dtb \ 19 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4mv2.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-btsco.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-btsco.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-tpm.dtb \
21" 22"
22 23
23UBOOT_CONFIG_BASENAME = "imx8ulp_evk" 24UBOOT_CONFIG_BASENAME = "imx8ulp_evk"
24 25
25MACHINE_FEATURES += "soc-reva1" 26MACHINE_FEATURES += "soc-reva2"
27MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
28
26UPOWER_FIRMWARE_NAME = "upower_a1.bin" 29UPOWER_FIRMWARE_NAME = "upower_a1.bin"
27IMX_DEFAULT_BSP = "nxp" 30IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/imx93-11x11-lpddr4x-evk.conf b/conf/machine/imx93-11x11-lpddr4x-evk.conf
index f8bdc4d7f..e7ad6d4d3 100644
--- a/conf/machine/imx93-11x11-lpddr4x-evk.conf
+++ b/conf/machine/imx93-11x11-lpddr4x-evk.conf
@@ -13,11 +13,11 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
13 freescale/${KERNEL_DEVICETREE_BASENAME}-boe-wxga-lvds-panel.dtb \ 13 freescale/${KERNEL_DEVICETREE_BASENAME}-boe-wxga-lvds-panel.dtb \
14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \ 14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \
15 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \ 15 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-i2c-spi-slave.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \ 17 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-iw612-otbr.dtb \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-ld.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-ld.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-lpuart.dtb \ 21 freescale/${KERNEL_DEVICETREE_BASENAME}-lpuart.dtb \
22 freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \ 22 freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
23 freescale/${KERNEL_DEVICETREE_BASENAME}-mt9m114.dtb \ 23 freescale/${KERNEL_DEVICETREE_BASENAME}-mt9m114.dtb \
@@ -35,3 +35,13 @@ DDR_FIRMWARE_NAME = " \
35 lpddr4_imem_1d_v202201.bin \ 35 lpddr4_imem_1d_v202201.bin \
36 lpddr4_imem_2d_v202201.bin \ 36 lpddr4_imem_2d_v202201.bin \
37" 37"
38
39WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m33-demos"
40IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
41 mcore-demos/imx93-11x11-evk_m33_TCM_low_power_wakeword.bin \
42 mcore-demos/imx93-11x11-evk_m33_TCM_power_mode_switch.bin \
43 mcore-demos/imx93-11x11-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
44 mcore-demos/imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin \
45 mcore-demos/imx93-11x11-evk_m33_TCM_sai_low_power_audio.bin \
46"
47
diff --git a/conf/machine/imx93-14x14-lpddr4x-evk.conf b/conf/machine/imx93-14x14-lpddr4x-evk.conf
index 975591042..dff843a79 100644
--- a/conf/machine/imx93-14x14-lpddr4x-evk.conf
+++ b/conf/machine/imx93-14x14-lpddr4x-evk.conf
@@ -13,13 +13,14 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
13 freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-serdes.dtb \ 13 freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-serdes.dtb \
14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \ 14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \
15 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \ 15 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-lvds-it6263.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-sja1105.dtb \ 19 freescale/${KERNEL_DEVICETREE_BASENAME}-sja1105.dtb \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-tja1103.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-tja1103.dtb \
19" 21"
20 22
21UBOOT_CONFIG_BASENAME = "imx93_14x14_evk" 23UBOOT_CONFIG_BASENAME = "imx93_14x14_evk"
22IMXBOOT_TARGETS_BASENAME = "flash_singleboot"
23 24
24DDR_FIRMWARE_NAME = " \ 25DDR_FIRMWARE_NAME = " \
25 lpddr4_dmem_1d_v202201.bin \ 26 lpddr4_dmem_1d_v202201.bin \
@@ -28,6 +29,9 @@ DDR_FIRMWARE_NAME = " \
28 lpddr4_imem_2d_v202201.bin \ 29 lpddr4_imem_2d_v202201.bin \
29" 30"
30 31
31UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig" 32WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m33-demos"
32 33IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
33IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}" 34 mcore-demos/imx93-14x14-evk_m33_TCM_power_mode_switch.bin \
35 mcore-demos/imx93-14x14-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
36 mcore-demos/imx93-14x14-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin \
37"
diff --git a/conf/machine/imx93-9x9-lpddr4-qsb.conf b/conf/machine/imx93-9x9-lpddr4-qsb.conf
index 3ccd6fd77..ef53da5eb 100644
--- a/conf/machine/imx93-9x9-lpddr4-qsb.conf
+++ b/conf/machine/imx93-9x9-lpddr4-qsb.conf
@@ -18,6 +18,7 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-ontat-wvga-panel.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-ontat-wvga-panel.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \ 19 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-lpv.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-lpv.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-tianma-wvga-panel.dtb \
21" 22"
22 23
23UBOOT_CONFIG_BASENAME = "imx93_9x9_qsb" 24UBOOT_CONFIG_BASENAME = "imx93_9x9_qsb"
@@ -28,3 +29,12 @@ DDR_FIRMWARE_NAME = " \
28 lpddr4_imem_1d_v202201.bin \ 29 lpddr4_imem_1d_v202201.bin \
29 lpddr4_imem_2d_v202201.bin \ 30 lpddr4_imem_2d_v202201.bin \
30" 31"
32
33WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m33-demos"
34IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
35 mcore-demos/imx93-9x9-qsb_m33_TCM_power_mode_switch.bin \
36 mcore-demos/imx93-9x9-qsb_m33_TCM_low_power_wakeword.bin \
37 mcore-demos/imx93-9x9-qsb_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
38 mcore-demos/imx93-9x9-qsb_m33_TCM_rpmsg_lite_str_echo_rtos.bin \
39 mcore-demos/imx93-9x9-qsb_m33_TCM_sai_low_power_audio.bin \
40"
diff --git a/conf/machine/imx95-19x19-verdin.conf b/conf/machine/imx95-19x19-verdin.conf
new file mode 100644
index 000000000..38acc47da
--- /dev/null
+++ b/conf/machine/imx95-19x19-verdin.conf
@@ -0,0 +1,90 @@
1#@TYPE: Machine
2#@NAME: Toradex i.MX 95 19x19 Verdin Evaluation Kit
3#@SOC: i.MX95
4#@DESCRIPTION: Machine configuration for Toradex i.MX 95 19x19 Verdin Evaluation Ki
5#@MAINTAINER: Flora Hu <flora.hu@nxp.com>
6
7MACHINEOVERRIDES =. "mx95:"
8
9require conf/machine/include/imx95-evk.inc
10
11KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin"
12
13KERNEL_DEVICETREE:append:use-nxp-bsp = " \
14 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535.dtb \
15 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535.dtbo \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535-ap1302.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-ap1302.dtb \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-ap1302.dtbo \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912.dtbo \
22 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912-ap1302.dtb \
23 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc.dtb \
24 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc.dtbo \
25 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc-ap1302.dtb \
26 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20.dtb \
27 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20.dtbo \
28 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20-combo.dtb \
29 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20-isp-lt8912.dtb \
30 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10.dtb \
31 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10.dtbo \
32 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10-isp-lt8912.dtb \
33 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s.dtb \
34 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s.dtbo \
35 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-combo.dtb \
36 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-isp-lt8912.dtb \
37 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-isp-lvds-dual.dtb \
38 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-dsi.dtb \
39 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-dsi.dtbo \
40 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-lvds.dtb \
41 freescale/${KERNEL_DEVICETREE_BASENAME}-rm692c9.dtb \
42 freescale/${KERNEL_DEVICETREE_BASENAME}-rm692c9.dtbo \
43 freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
44 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
45 freescale/${KERNEL_DEVICETREE_BASENAME}-ti-serdes.dtb \
46 freescale/${KERNEL_DEVICETREE_BASENAME}-ti-serdes.dtbo \
47"
48
49UBOOT_CONFIG_BASENAME = "imx95_19x19_verdin"
50
51UBOOT_CONFIG ??= "sd"
52UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig"
53UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
54
55IMXBOOT_TARGETS = "flash_a55"
56
57IMXBOOT_TARGETS_BASENAME = "flash"
58OEI_BOARD = "mx95lp5"
59DDR_TYPE = "lpddr5"
60
61LPDDR_FW_VERSION = "_v202409"
62DDR_FIRMWARE_NAME = " \
63 lpddr5_dmem${LPDDR_FW_VERSION}.bin \
64 lpddr5_dmem_qb${LPDDR_FW_VERSION}.bin \
65 lpddr5_imem${LPDDR_FW_VERSION}.bin \
66 lpddr5_imem_qb${LPDDR_FW_VERSION}.bin \
67"
68
69IMXBOOT_VARIANT = ""
70M4_DEFAULT_IMAGE_MX95:imx-nxp-bsp = "imx95-verdin-evk_m7_TCM_power_mode_switch.bin"
71
72WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
73IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
74 mcore-demos/imx95-verdin-evk_m7_TCM_power_mode_switch.bin \
75 mcore-demos/imx95-verdin-evk_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
76 mcore-demos/imx95-verdin-evk_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
77 mcore-demos/imx95-verdin-evk_m7_TCM_sai_low_power_audio.bin \
78 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'xen', '', d)} \
79"
80
81#IMXBOOT_VARIANT = ""
82
83# The System Manager Firmware Name corresponds to a particular binary implementation
84# in the Yocto deploy folder. The name is comprised of the Firmware Basename and the
85# default system manager Config name, e.g., m33_image-mx95evk.bin and
86# m33_image-mx95evk_fusa.bin for the standard BSP version and FuSa version, respectively
87# The System Manager Firmware Basename is an alias used by imx-boot instead of using
88# a unique name for each implementation, e.g., m33_image.bin for i.MX 95
89SYSTEM_MANAGER_FIRMWARE_BASENAME ?= "m33_image"
90SYSTEM_MANAGER_FIRMWARE_NAME ?= "m33_image-mx95evk"
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index b127cee45..15d7b2e8d 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -75,9 +75,9 @@ UBOOT_SUFFIX ?= "${UBOOT_SUFFIX:pn-${IMX_DEFAULT_BOOTLOADER}}"
75# wic based images. 75# wic based images.
76SPL_BINARY ??= "${@get_spl_binary(d)}" 76SPL_BINARY ??= "${@get_spl_binary(d)}"
77 77
78PREFERRED_PROVIDER_u-boot ??= "${IMX_DEFAULT_BOOTLOADER}"
79PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_BOOTLOADER}"
80PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}" 78PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}"
79PREFERRED_PROVIDER_u-boot ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
80PREFERRED_PROVIDER_u-boot-mfgtool ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
81 81
82PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native" 82PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native"
83 83
@@ -94,6 +94,7 @@ UBOOT_ENTRYPOINT:mx6ulz-generic-bsp ?= "0x80008000"
94UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000" 94UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000"
95UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000" 95UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000"
96UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000" 96UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000"
97UBOOT_ENTRYPOINT:mx93-generic-bsp ?= "0x80400000"
97UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000" 98UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000"
98 99
99# Some SoC can utilize the boot container provided by U-Boot, 100# Some SoC can utilize the boot container provided by U-Boot,
@@ -129,6 +130,7 @@ IMX_DEFAULT_ATF_PROVIDER ??= "imx-atf"
129SOC_ATF_BOOT_UART_BASE = "" 130SOC_ATF_BOOT_UART_BASE = ""
130 131
131SOC_ATF_BOOT_UART_BASE:mx8m-generic-bsp = "0x30890000" 132SOC_ATF_BOOT_UART_BASE:mx8m-generic-bsp = "0x30890000"
133SOC_ATF_BOOT_UART_BASE:mx8mq-generic-bsp = "0x30860000"
132ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}" 134ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}"
133 135
134PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" 136PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
@@ -165,7 +167,9 @@ DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto"
165DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto" 167DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto"
166DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto" 168DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto"
167DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto" 169DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto"
170DEFAULTTUNE:mx91-generic-bsp ?= "cortexa55"
168DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55" 171DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55"
172DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55"
169 173
170INHERIT += "machine-overrides-extender" 174INHERIT += "machine-overrides-extender"
171 175
@@ -189,12 +193,12 @@ IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
189### NXP BSP specific overrides 193### NXP BSP specific overrides
190####### 194#######
191 195
192MACHINEOVERRIDES_EXTENDER:mx6q:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6q-generic-bsp:mx6q-nxp-bsp" 196MACHINEOVERRIDES_EXTENDER:mx6q:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxipu:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6q-generic-bsp:mx6q-nxp-bsp"
193MACHINEOVERRIDES_EXTENDER:mx6dl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6dl-generic-bsp:mx6dl-nxp-bsp" 197MACHINEOVERRIDES_EXTENDER:mx6dl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6dl-generic-bsp:mx6dl-nxp-bsp"
194 198
195MACHINEOVERRIDES_EXTENDER:mx6sx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6sx-generic-bsp:mx6sx-nxp-bsp" 199MACHINEOVERRIDES_EXTENDER:mx6sx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6sx-generic-bsp:mx6sx-nxp-bsp"
196 200
197MACHINEOVERRIDES_EXTENDER:mx6sl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp" 201MACHINEOVERRIDES_EXTENDER:mx6sl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp"
198MACHINEOVERRIDES_EXTENDER:mx6sll:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp:mx6sll-generic-bsp:mx6sll-nxp-bsp" 202MACHINEOVERRIDES_EXTENDER:mx6sll:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp:mx6sll-generic-bsp:mx6sll-nxp-bsp"
199 203
200MACHINEOVERRIDES_EXTENDER:mx6ul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp" 204MACHINEOVERRIDES_EXTENDER:mx6ul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp"
@@ -202,25 +206,27 @@ MACHINEOVERRIDES_EXTENDER:mx6ull:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxf
202MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp:mx6ulz-generic-bsp:mx6ulz-nxp-bsp" 206MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp:mx6ulz-generic-bsp:mx6ulz-nxp-bsp"
203 207
204MACHINEOVERRIDES_EXTENDER:mx7d:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx7-generic-bsp:mx7-nxp-bsp:mx7d-generic-bsp:mx7d-nxp-bsp" 208MACHINEOVERRIDES_EXTENDER:mx7d:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx7-generic-bsp:mx7-nxp-bsp:mx7d-generic-bsp:mx7d-nxp-bsp"
205MACHINEOVERRIDES_EXTENDER:mx7ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d:mx7-generic-bsp:mx7-nxp-bsp:mx7ulp-generic-bsp:mx7ulp-nxp-bsp" 209MACHINEOVERRIDES_EXTENDER:mx7ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx7-generic-bsp:mx7-nxp-bsp:mx7ulp-generic-bsp:mx7ulp-nxp-bsp"
206 210
207MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp" 211MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp"
208 212
209MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp" 213MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp"
210 214
211MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp" 215MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp"
212MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp" 216MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxviv:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp"
213MACHINEOVERRIDES_EXTENDER:mx8mnul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mnul-generic-bsp:mx8mnul-nxp-bsp" 217MACHINEOVERRIDES_EXTENDER:mx8mnul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mnul-generic-bsp:mx8mnul-nxp-bsp"
214MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp" 218MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp"
215MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp" 219MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp"
216 220
217MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp" 221MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp"
218MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp" 222MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp"
219MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-generic-bsp:mx8dxl-nxp-bsp" 223MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-generic-bsp:mx8dxl-nxp-bsp"
220 224
221MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8ulp-generic-bsp:mx8ulp-nxp-bsp" 225MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8ulp-generic-bsp:mx8ulp-nxp-bsp"
222 226
227MACHINEOVERRIDES_EXTENDER:mx91:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:mx9-generic-bsp:mx9-nxp-bsp:mx91-generic-bsp:mx91-nxp-bsp"
223MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp" 228MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp"
229MACHINEOVERRIDES_EXTENDER:mx95:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxmali:imxgpu2d:imxgpu3d:mx9-generic-bsp:mx9-nxp-bsp:mx95-generic-bsp:mx95-nxp-bsp"
224 230
225####### 231#######
226### Mainline BSP specific overrides 232### Mainline BSP specific overrides
@@ -263,7 +269,9 @@ MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
263 269
264MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp" 270MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp"
265 271
272MACHINEOVERRIDES_EXTENDER:mx91:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx91-generic-bsp:mx91-mainline-bsp"
266MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp" 273MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp"
274MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-mainline-bsp"
267 275
268MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ 276MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
269 mx6 \ 277 mx6 \
@@ -294,7 +302,9 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
294 mx8dx \ 302 mx8dx \
295 mx8dxl \ 303 mx8dxl \
296 mx8ulp \ 304 mx8ulp \
305 mx91 \
297 mx93 \ 306 mx93 \
307 mx95 \
298" 308"
299 309
300MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'." 310MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'."
@@ -305,7 +315,7 @@ MACHINE_SOCARCH_SUFFIX:mx6q-nxp-bsp = "-mx6qdl"
305MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl" 315MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl"
306MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx" 316MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx"
307MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl" 317MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl"
308MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp= "-mx6sll" 318MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp = "-mx6sll"
309MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d" 319MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d"
310MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp" 320MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp"
311MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf" 321MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf"
@@ -322,7 +332,9 @@ MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
322MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8" 332MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
323MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl" 333MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
324MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp" 334MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
335MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91"
325MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93" 336MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
337MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95"
326 338
327# For Mainline we use a single SoC suffix as we don't have different build options 339# For Mainline we use a single SoC suffix as we don't have different build options
328MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx" 340MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx"
@@ -399,7 +411,11 @@ IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware
399IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files" 411IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
400IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" 412IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
401IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx" 413IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx"
414IMX_EXTRA_FIRMWARE:mx91-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
402IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx" 415IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
416PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager"
417PREFERRED_PROVIDER_virtual/imx-oei ??= "imx-oei"
418IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei"
403 419
404# Firmware 420# Firmware
405MACHINE_FIRMWARE ?= "" 421MACHINE_FIRMWARE ?= ""
@@ -420,6 +436,7 @@ MACHINE_FIRMWARE:append:mx8mp-generic-bsp = " linux-firmware-imx-sdma-imx7d f
420MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d" 436MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d"
421MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion" 437MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
422MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion" 438MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
439MACHINE_FIRMWARE:append:mx95-generic-bsp = " firmware-imx-vpu-wave"
423MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" 440MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
424 441
425MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}" 442MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
@@ -510,24 +527,26 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
510MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" 527MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
511 528
512# GStreamer forked recipes 529# GStreamer forked recipes
513PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.0.imx" 530PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.7.imx"
514PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.0.imx" 531PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.7.imx"
515PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.0.imx" 532PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.7.imx"
516PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.0.imx" 533PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.7.imx"
517PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.0.imx" 534PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.7.imx"
518PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.0.imx" 535PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.7.imx"
519PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.0.imx" 536PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.7.imx"
520PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.0.imx" 537PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.7.imx"
521 538
522# GStreamer copied recipes 539# GStreamer copied recipes
523PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx" 540PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx"
524PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.0.imx" 541PREFERRED_VERSION_gst-examples:mx8-nxp-bsp ??= "1.24.7.imx"
542PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.7.imx"
525PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx" 543PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx"
526PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx" 544PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx"
527PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx" 545PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx"
528PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx" 546PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx"
529PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx" 547PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx"
530PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.0.imx" 548PREFERRED_VERSION_gst-examples:mx9-nxp-bsp ??= "1.24.7.imx"
549PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.7.imx"
531PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx" 550PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx"
532PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx" 551PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx"
533PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx" 552PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx"
@@ -546,61 +565,62 @@ SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
546# 1 - machine has Vivante GPU driver support 565# 1 - machine has Vivante GPU driver support
547MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" 566MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}"
548 567
549# Graphics libraries 568# Override graphics for i.MX GPU
550PREFERRED_PROVIDER_virtual/egl ?= "mesa" 569IMXGPU_GRAPHICS_PROVIDER:imxviv ?= "imx-gpu-viv"
551PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 570IMXGPU_GRAPHICS_PROVIDER:imxmali ?= "mali-imx"
552PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 571
553PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 572PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "${IMXGPU_GRAPHICS_PROVIDER}"
554 573PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
555PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "imx-gpu-viv" 574PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl"
556PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl" 575PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
557PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl" 576PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
558PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "imx-gpu-viv" 577PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
559PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv" 578
560PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv" 579# The Vivante OpenCL implementation doesn't work with the standard headers and loader
561PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" 580PREFERRED_PROVIDER_opencl-clhpp:imxviv ?= "imx-gpu-viv"
562PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d" 581PREFERRED_PROVIDER_opencl-headers:imxviv ?= "imx-gpu-viv"
582PREFERRED_PROVIDER_opencl-icd-loader:imxviv ?= "imx-gpu-viv"
583PREFERRED_PROVIDER_virtual/opencl-icd:imxviv ?= "imx-gpu-viv"
584
585PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
586PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
563PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" 587PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d"
564PREFERRED_PROVIDER_opencl-clhpp:imxgpu ?= "imx-gpu-viv"
565PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv"
566PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv"
567PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv"
568 588
569PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.4.imx" 589PREFERRED_VERSION_weston:imx-nxp-bsp ??= "14.0.1.imx"
570# i.MX 6 & 7 stay on weston 10.0 for fbdev 590# i.MX 6 & 7 stay on weston 10.0 for fbdev
571PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx" 591PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx"
572PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx" 592PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx"
573PREFERRED_VERSION_weston:imx-mainline-bsp = "" 593PREFERRED_VERSION_weston:imx-mainline-bsp = ""
574 594
575PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.32.imx" 595PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.37.imx"
576 596
577PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx" 597PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "24.1.6.imx"
578 598
579# Use i.MX libdrm Version 599# Use i.MX libdrm Version
580PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.116.imx" 600PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.123.imx"
581 601
582PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.261.1.imx" 602PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.275.0.imx"
583PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.261.1.imx" 603PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.275.0.imx"
584PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.261.1.imx" 604PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.275.0.imx"
585PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.261.1.imx" 605PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.275.0.imx"
586PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.261.1.imx" 606PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.275.0.imx"
587PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.261.1.imx" 607PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx"
588 608
589# Use i.MX optee Version 609# Use i.MX optee Version
590PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.2.0.imx" 610PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.4.0.imx"
591PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.2.0.imx" 611PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.4.0.imx"
592PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.2.0.imx" 612PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.4.0.imx"
593PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.2.0.imx" 613PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.4.0.imx"
594PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.2.0.imx" 614PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.4.0.imx"
595PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.2.0.imx" 615PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.4.0.imx"
596 616
597# Use i.MX opencv Version 617# Use i.MX opencv Version
598PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" 618PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx"
599PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx" 619PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx"
600 620
601# Handle default kernel 621# Handle default kernel
602IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc" 622IMX_DEFAULT_KERNEL:imx-mainline-bsp ??= "linux-fslc"
603IMX_DEFAULT_KERNEL:imx-nxp-bsp = "linux-fslc-imx" 623IMX_DEFAULT_KERNEL:imx-nxp-bsp ??= "linux-fslc-imx"
604 624
605PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}" 625PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
606 626
@@ -619,7 +639,7 @@ IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
619 639
620IMAGE_BOOT_FILES ?= " \ 640IMAGE_BOOT_FILES ?= " \
621 ${KERNEL_IMAGETYPE} \ 641 ${KERNEL_IMAGETYPE} \
622 ${@make_dtb_boot_files(d)} \ 642 ${@bb.utils.contains('KERNEL_IMAGETYPE', 'fitImage', '', '${@make_dtb_boot_files(d)}', d)} \
623 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \ 643 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \
624" 644"
625 645
diff --git a/conf/machine/include/imx8dxl-evk.inc b/conf/machine/include/imx8dxl-evk.inc
index 0f9aa1f08..4f5d12986 100644
--- a/conf/machine/include/imx8dxl-evk.inc
+++ b/conf/machine/include/imx8dxl-evk.inc
@@ -6,7 +6,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa35.inc
6IMX_DEFAULT_BSP = "nxp" 6IMX_DEFAULT_BSP = "nxp"
7 7
8MACHINE_FEATURES += "pci bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie" 8MACHINE_FEATURES += "pci bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
9MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359" 9MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359 dpdk nxpwifi-all-sdio"
10 10
11# Don't include kernels in standard images 11# Don't include kernels in standard images
12RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" 12RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
diff --git a/conf/machine/include/imx8mm-evk.inc b/conf/machine/include/imx8mm-evk.inc
index 442f44778..516dd8a9d 100644
--- a/conf/machine/include/imx8mm-evk.inc
+++ b/conf/machine/include/imx8mm-evk.inc
@@ -16,7 +16,7 @@ MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
16# and pin it to NXP BSP only 16# and pin it to NXP BSP only
17# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have 17# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
18# a full support for it yet. 18# a full support for it yet.
19MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359" 19MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359 dpdk nxpwifi-all-sdio"
20 20
21KERNEL_DEVICETREE = " \ 21KERNEL_DEVICETREE = " \
22 freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \ 22 freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
@@ -73,3 +73,13 @@ TEE_LOAD_ADDR = "0xbe000000"
73 73
74# Add additional firmware 74# Add additional firmware
75MACHINE_FIRMWARE:append = " linux-firmware-ath10k" 75MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
76
77WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
78IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
79 mcore-demos/imx8mm_m4_TCM_hello_world.bin \
80 mcore-demos/imx8mm_m4_TCM_low_power_wakeword.bin \
81 mcore-demos/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
82 mcore-demos/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin \
83 mcore-demos/imx8mm_m4_TCM_sai_low_power_audio.bin \
84 mcore-demos/imx8mm_m4_TCM_sai_low_power_audio_wm8524.bin \
85"
diff --git a/conf/machine/include/imx8mn-evk.inc b/conf/machine/include/imx8mn-evk.inc
index 11657bcce..a51f11edb 100644
--- a/conf/machine/include/imx8mn-evk.inc
+++ b/conf/machine/include/imx8mn-evk.inc
@@ -9,6 +9,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
9DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto" 9DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
10 10
11MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356 nxp8987-sdio" 11MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
12MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
12 13
13# NXP BSP can consume proprietary jailhouse and Broadcom drivers 14# NXP BSP can consume proprietary jailhouse and Broadcom drivers
14# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have 15# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
@@ -82,3 +83,11 @@ TEE_LOAD_ADDR = "0x56000000"
82 83
83# Add additional firmware 84# Add additional firmware
84MACHINE_FIRMWARE:append = " linux-firmware-ath10k" 85MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
86
87WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
88IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
89 mcore-demos/imx8mn_m7_TCM_hello_world.bin \
90 mcore-demos/imx8mn_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
91 mcore-demos/imx8mn_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
92 mcore-demos/imx8mn_m7_TCM_sai_low_power_audio.bin \
93"
diff --git a/conf/machine/include/imx8mp-evk.inc b/conf/machine/include/imx8mp-evk.inc
index 24e5588f1..d6ae21d55 100644
--- a/conf/machine/include/imx8mp-evk.inc
+++ b/conf/machine/include/imx8mp-evk.inc
@@ -13,7 +13,7 @@ MACHINE_FEATURES += "pci wifi bluetooth nxp8997-pcie nxp8997-sdio nxp9098-pcie n
13# NXP BSP can consume proprietary jailhouse and Marvell drivers 13# NXP BSP can consume proprietary jailhouse and Marvell drivers
14# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have 14# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
15# a full support for it yet. 15# a full support for it yet.
16MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse mrvl8997" 16MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse mrvl8997 nxpwifi-all-pcie nxpwifi-all-sdio dpdk"
17 17
18# Mainline kernel contains only one DTB file for 18# Mainline kernel contains only one DTB file for
19# imx8mpevk machine 19# imx8mpevk machine
@@ -72,3 +72,12 @@ TEE_LOAD_ADDR = "0x56000000"
72 72
73# Add additional firmware 73# Add additional firmware
74MACHINE_FIRMWARE:append = " linux-firmware-ath10k" 74MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
75
76WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
77IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
78 mcore-demos/imx8mp_m7_TCM_hello_world.bin \
79 mcore-demos/imx8mp_m7_TCM_low_power_wakeword.bin \
80 mcore-demos/imx8mp_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
81 mcore-demos/imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
82 mcore-demos/imx8mp_m7_TCM_sai_low_power_audio.bin \
83"
diff --git a/conf/machine/include/imx8x-mek.inc b/conf/machine/include/imx8x-mek.inc
index 9eaa77c53..e83085860 100644
--- a/conf/machine/include/imx8x-mek.inc
+++ b/conf/machine/include/imx8x-mek.inc
@@ -4,7 +4,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa35.inc
4IMX_DEFAULT_BSP = "nxp" 4IMX_DEFAULT_BSP = "nxp"
5 5
6MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie" 6MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
7MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359" 7MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359 nxpwifi-all-pcie nxpwifi-all-sdio"
8 8
9# Don't include kernels in standard images 9# Don't include kernels in standard images
10RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" 10RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
@@ -12,7 +12,7 @@ RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
12LOADADDR = "" 12LOADADDR = ""
13 13
14# We have to disable SERIAL_CONSOLE due to auto-serial-console 14# We have to disable SERIAL_CONSOLE due to auto-serial-console
15SERIAL_CONSOLES = "115200;ttyAMA0" 15SERIAL_CONSOLES = "115200;ttyLP0"
16 16
17# we do not want to have getty running on tty1 as we run 17# we do not want to have getty running on tty1 as we run
18# auto-serial-console there 18# auto-serial-console there
@@ -33,8 +33,6 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
33 freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds0-panel-rpmsg.dtb \ 33 freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds0-panel-rpmsg.dtb \
34 freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel.dtb \ 34 freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel.dtb \
35 freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel-rpmsg.dtb \ 35 freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel-rpmsg.dtb \
36 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640.dtb \
37 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-rpmsg.dtb \
38 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \ 36 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
39" 37"
40 38
diff --git a/conf/machine/include/imx93-evk.inc b/conf/machine/include/imx93-evk.inc
index 3a9222820..e5a3f0e22 100644
--- a/conf/machine/include/imx93-evk.inc
+++ b/conf/machine/include/imx93-evk.inc
@@ -4,7 +4,9 @@ require conf/machine/include/imx-base.inc
4require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc 4require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
5 5
6MACHINE_FEATURES += "pci wifi bluetooth" 6MACHINE_FEATURES += "pci wifi bluetooth"
7MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse nxpiw612-sdio" 7MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse nxpiw612-sdio dpdk nxpwifi-all-sdio"
8
9MACHINE_FIRMWARE:append:use-nxp-bsp = " ethos-u-firmware"
8 10
9KERNEL_DEVICETREE = " \ 11KERNEL_DEVICETREE = " \
10 freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \ 12 freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
@@ -23,12 +25,24 @@ SPL_BINARY = "spl/u-boot-spl.bin"
23UBOOT_CONFIG ??= "sd" 25UBOOT_CONFIG ??= "sd"
24UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard" 26UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
25UBOOT_CONFIG[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig" 27UBOOT_CONFIG[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig"
26UBOOT_CONFIG[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig" 28UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
27 29
28# Set ATF platform name 30# Set ATF platform name
29ATF_PLATFORM = "imx93" 31ATF_PLATFORM = "imx93"
30 32
31IMXBOOT_TARGETS = "flash_singleboot" 33IMXBOOT_TARGETS = \
34 "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
35 bb.utils.contains('UBOOT_CONFIG', 'ecc', '${IMXBOOT_TARGETS_ECC}', \
36 bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', \
37 'INVALID', d), d), d)}"
38# Note different SD targets for different Glitch Detection (GDET) modes:
39# | Target | Glitch Detection |
40# | flash_singleboot | None |
41# | flash_singleboot_gdet | Enabled |
42# | flash_singleboot_gdet_auto | Enabled during EdgeLock Secure Enclave API calls |
43IMXBOOT_TARGETS_SD = "flash_singleboot flash_singleboot_gdet flash_singleboot_gdet_auto"
44IMXBOOT_TARGETS_ECC = "flash_singleboot"
45IMXBOOT_TARGETS_FSPI = "flash_singleboot_flexspi"
32 46
33IMX_BOOT_SOC_TARGET = "iMX9" 47IMX_BOOT_SOC_TARGET = "iMX9"
34IMX_BOOT_SEEK = "32" 48IMX_BOOT_SEEK = "32"
diff --git a/conf/machine/include/imx95-evk.inc b/conf/machine/include/imx95-evk.inc
new file mode 100644
index 000000000..d78745cfc
--- /dev/null
+++ b/conf/machine/include/imx95-evk.inc
@@ -0,0 +1,58 @@
1require conf/machine/include/imx-base.inc
2require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
3
4MACHINE_FEATURES += "pci wifi bluetooth optee"
5MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-pcie nxpwifi-all-sdio jailhouse dpdk xen"
6
7KERNEL_DEVICETREE = " \
8 freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
9"
10
11IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
12IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
13
14LOADADDR = ""
15UBOOT_SUFFIX = "bin"
16UBOOT_MAKE_TARGET = ""
17
18SPL_BINARY = "spl/u-boot-spl.bin"
19
20UBOOT_CONFIG ??= "sd"
21UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_evk_defconfig,sdcard"
22UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_evk_fspi_defconfig"
23
24ATF_PLATFORM = "imx95"
25OEI_CONFIGS = "ddr tcm"
26OEI_CORE = "m33"
27OEI_SOC = "mx95"
28OEI_BOARD ?= "mx95lp5"
29DDR_TYPE ?= "lpddr5"
30
31IMXBOOT_VARIANTS = "alt jailhouse netc sof"
32
33# Multiple system manager configs by IMXBOOT_VARIANT
34SYSTEM_MANAGER_CONFIG = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', 'mx95alt', \
35 bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', 'mx95evkjailhouse', \
36 bb.utils.contains('IMXBOOT_VARIANT', 'netc', 'mx95netc', \
37 bb.utils.contains('IMXBOOT_VARIANT', 'sof', 'mx95evksof', \
38 'mx95evk', d), d), d), d)}"
39
40# imx-boot (flash.bin) targets based on UBOOT_CONFIG and IMXBOOT_VARIANT
41IMXBOOT_TARGETS_SD = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', '${IMXBOOT_TARGETS_BASENAME}_alt', \
42 bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', '${IMXBOOT_TARGETS_BASENAME}_jailhouse', \
43 bb.utils.contains('IMXBOOT_VARIANT', 'netc', '${IMXBOOT_TARGETS_BASENAME}_netc', \
44 bb.utils.contains('IMXBOOT_VARIANT', 'sof', '${IMXBOOT_TARGETS_BASENAME}_a55', \
45 '${IMXBOOT_TARGETS_BASENAME}_all ${IMXBOOT_TARGETS_BASENAME}_a55', d), d), d), d)} \
46"
47
48IMXBOOT_TARGETS = " \
49 ${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_a55_flexspi', '${IMXBOOT_TARGETS_SD}', d)} \
50"
51
52IMX_BOOT_SOC_TARGET = "iMX95"
53IMX_BOOT_SEEK = "32"
54
55# We have to disable SERIAL_CONSOLE due to auto-serial-console
56SERIAL_CONSOLES = "115200;ttyLP0"
57
58IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/include/qoriq-base.inc b/conf/machine/include/qoriq-base.inc
index 4340c9423..4a42a8bd3 100644
--- a/conf/machine/include/qoriq-base.inc
+++ b/conf/machine/include/qoriq-base.inc
@@ -43,6 +43,8 @@ EXTRA_IMAGEDEPENDS += "u-boot qoriq-cst-native"
43 43
44MACHINEOVERRIDES =. "qoriq:" 44MACHINEOVERRIDES =. "qoriq:"
45 45
46INHERIT += "machine-overrides-extender"
47
46# Machines or distros can define which BSP it should use by default. We are 48# Machines or distros can define which BSP it should use by default. We are
47# intending to default for nxp BSP by default and specific machines or 49# intending to default for nxp BSP by default and specific machines or
48# DISTROs might change it if need. 50# DISTROs might change it if need.
@@ -51,6 +53,8 @@ MACHINEOVERRIDES =. "qoriq:"
51QORIQ_DEFAULT_BSP ?= "nxp" 53QORIQ_DEFAULT_BSP ?= "nxp"
52 54
53MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:" 55MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:"
56MACHINEOVERRIDES_EXTENDER:use-mainline-bsp = "qoriq-generic-bsp:qoriq-mainline-bsp"
57MACHINEOVERRIDES_EXTENDER:use-nxp-bsp = "qoriq-generic-bsp:qoriq-nxp-bsp"
54 58
55# Sub-architecture support 59# Sub-architecture support
56MACHINE_SOCARCH_SUFFIX ?= "" 60MACHINE_SOCARCH_SUFFIX ?= ""
diff --git a/conf/machine/ls1012afrwy.conf b/conf/machine/ls1012afrwy.conf
index 7de1e990a..2bc827153 100644
--- a/conf/machine/ls1012afrwy.conf
+++ b/conf/machine/ls1012afrwy.conf
@@ -12,8 +12,7 @@ require conf/machine/include/arm/arch-arm64.inc
12 12
13MACHINE_FEATURES += "optee" 13MACHINE_FEATURES += "optee"
14 14
15KERNEL_CLASSES = " kernel-fitimage " 15KERNEL_CLASSES += "kernel-fit-extra-artifacts"
16KERNEL_IMAGETYPES = "fitImage"
17 16
18UBOOT_DTB_LOADADDRESS = "0x90000000" 17UBOOT_DTB_LOADADDRESS = "0x90000000"
19UBOOT_ENTRYPOINT = "0x80080000" 18UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1012ardb.conf b/conf/machine/ls1012ardb.conf
index 879e3f8fb..a170b0529 100644
--- a/conf/machine/ls1012ardb.conf
+++ b/conf/machine/ls1012ardb.conf
@@ -12,8 +12,7 @@ require conf/machine/include/arm/arch-arm64.inc
12 12
13MACHINE_FEATURES += "optee" 13MACHINE_FEATURES += "optee"
14 14
15KERNEL_CLASSES = " kernel-fitimage " 15KERNEL_CLASSES += "kernel-fit-extra-artifacts"
16KERNEL_IMAGETYPES = "fitImage"
17 16
18UBOOT_DTB_LOADADDRESS = "0x90000000" 17UBOOT_DTB_LOADADDRESS = "0x90000000"
19UBOOT_ENTRYPOINT = "0x80080000" 18UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1028ardb.conf b/conf/machine/ls1028ardb.conf
index 268a60c3e..68249a402 100644
--- a/conf/machine/ls1028ardb.conf
+++ b/conf/machine/ls1028ardb.conf
@@ -11,8 +11,7 @@ require conf/machine/include/arm/arch-arm64.inc
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17UBOOT_DTB_LOADADDRESS = "0x90000000" 16UBOOT_DTB_LOADADDRESS = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1043ardb.conf b/conf/machine/ls1043ardb.conf
index 4ff3c0acb..8723a7ddd 100644
--- a/conf/machine/ls1043ardb.conf
+++ b/conf/machine/ls1043ardb.conf
@@ -12,8 +12,7 @@ require conf/machine/include/arm/arch-arm64.inc
12 12
13MACHINE_FEATURES += "optee" 13MACHINE_FEATURES += "optee"
14 14
15KERNEL_CLASSES = " kernel-fitimage " 15KERNEL_CLASSES += "kernel-fit-extra-artifacts"
16KERNEL_IMAGETYPES = "fitImage"
17 16
18UBOOT_DTB_LOADADDRESS = "0x90000000" 17UBOOT_DTB_LOADADDRESS = "0x90000000"
19UBOOT_ENTRYPOINT = "0x80080000" 18UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1046afrwy.conf b/conf/machine/ls1046afrwy.conf
index eb3c0bb6f..4de0d9def 100644
--- a/conf/machine/ls1046afrwy.conf
+++ b/conf/machine/ls1046afrwy.conf
@@ -11,8 +11,7 @@ require conf/machine/include/arm/arch-arm64.inc
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17UBOOT_DTB_LOADADDRESS = "0x90000000" 16UBOOT_DTB_LOADADDRESS = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1046ardb.conf b/conf/machine/ls1046ardb.conf
index 2b82c98f0..b2d9fa1ca 100644
--- a/conf/machine/ls1046ardb.conf
+++ b/conf/machine/ls1046ardb.conf
@@ -11,8 +11,7 @@ require conf/machine/include/arm/arch-arm64.inc
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17UBOOT_DTB_LOADADDRESS = "0x90000000" 16UBOOT_DTB_LOADADDRESS = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1088ardb-pb.conf b/conf/machine/ls1088ardb-pb.conf
index f9d05b690..ba66ab355 100644
--- a/conf/machine/ls1088ardb-pb.conf
+++ b/conf/machine/ls1088ardb-pb.conf
@@ -11,8 +11,7 @@ require conf/machine/include/arm/arch-arm64.inc
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17UBOOT_DTB_LOADADDRESS = "0x90000000" 16UBOOT_DTB_LOADADDRESS = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls1088ardb.conf b/conf/machine/ls1088ardb.conf
index 1b7a4f3cb..13a1f6240 100644
--- a/conf/machine/ls1088ardb.conf
+++ b/conf/machine/ls1088ardb.conf
@@ -11,8 +11,7 @@ require conf/machine/include/arm/arch-arm64.inc
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17UBOOT_DTB_LOADADDRESS = "0x90000000" 16UBOOT_DTB_LOADADDRESS = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/ls2088ardb.conf b/conf/machine/ls2088ardb.conf
index 8c8e586a4..617591e4b 100644
--- a/conf/machine/ls2088ardb.conf
+++ b/conf/machine/ls2088ardb.conf
@@ -11,8 +11,7 @@ MACHINEOVERRIDES =. "fsl-lsch3:ls2088a:"
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17UBOOT_DTB_LOADADDRESS = "0x90000000" 16UBOOT_DTB_LOADADDRESS = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/lx2160ardb.conf b/conf/machine/lx2160ardb.conf
index 1945ad310..c8fbcc1cd 100644
--- a/conf/machine/lx2160ardb.conf
+++ b/conf/machine/lx2160ardb.conf
@@ -11,8 +11,7 @@ MACHINEOVERRIDES =. "fsl-lsch3:lx2160a:"
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17DTB_LOAD = "0x90000000" 16DTB_LOAD = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/conf/machine/lx2162aqds.conf b/conf/machine/lx2162aqds.conf
index 80f91331b..1842daff6 100644
--- a/conf/machine/lx2162aqds.conf
+++ b/conf/machine/lx2162aqds.conf
@@ -11,8 +11,7 @@ MACHINEOVERRIDES =. "fsl-lsch3:lx2162a:"
11 11
12MACHINE_FEATURES += "optee" 12MACHINE_FEATURES += "optee"
13 13
14KERNEL_CLASSES = " kernel-fitimage " 14KERNEL_CLASSES += "kernel-fit-extra-artifacts"
15KERNEL_IMAGETYPES = "fitImage"
16 15
17DTB_LOAD = "0x90000000" 16DTB_LOAD = "0x90000000"
18UBOOT_ENTRYPOINT = "0x80080000" 17UBOOT_ENTRYPOINT = "0x80080000"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
index b10bd869a..df704dc99 100644
--- a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
@@ -11,8 +11,6 @@ IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https"
11SRCBRANCH = "master" 11SRCBRANCH = "master"
12SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678" 12SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678"
13 13
14S = "${WORKDIR}/git"
15
16inherit deploy 14inherit deploy
17 15
18PACKAGE_ARCH = "${MACHINE_ARCH}" 16PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -56,4 +54,6 @@ do_deploy() {
56FILES:${PN} = "/firmware" 54FILES:${PN} = "/firmware"
57SYSROOT_DIRS += "/firmware" 55SYSROOT_DIRS += "/firmware"
58 56
57PROVIDES += "virtual/imx-oei"
58
59COMPATIBLE_MACHINE = "(mx95-generic-bsp)" 59COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
new file mode 100644
index 000000000..d8033622c
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
@@ -0,0 +1,44 @@
1# Set generic compiler for system manager core
2INHIBIT_DEFAULT_DEPS = "1"
3DEPENDS = "${SM_COMPILER}"
4SM_COMPILER ?= "gcc-arm-none-eabi-native"
5PROVIDES += "virtual/imx-system-manager"
6
7inherit deploy
8
9PACKAGE_ARCH = "${MACHINE_ARCH}"
10
11# Set monitor mode for none, one, or two
12PACKAGECONFIG[m0] = "M=0,,,,,m1 m2"
13PACKAGECONFIG[m1] = ",,,,,m0 m2"
14PACKAGECONFIG[m2] = "M=2,,,,,m0 m1"
15
16SYSTEM_MANAGER_CONFIG ?= "INVALID"
17
18LDFLAGS[unexport] = "1"
19
20EXTRA_OEMAKE = " \
21 V=y \
22 SM_CROSS_COMPILE=arm-none-eabi- \
23 ${PACKAGECONFIG_CONFARGS} \
24"
25
26do_configure() {
27 oe_runmake config=${SYSTEM_MANAGER_CONFIG} clean
28 oe_runmake config=${SYSTEM_MANAGER_CONFIG} cfg
29}
30
31do_compile() {
32 oe_runmake config=${SYSTEM_MANAGER_CONFIG}
33}
34
35do_install[noexec] = "1"
36
37addtask deploy after do_compile
38do_deploy() {
39 install -D -p -m 0644 \
40 ${B}/build/${SYSTEM_MANAGER_CONFIG}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
41 ${DEPLOYDIR}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}-${SYSTEM_MANAGER_CONFIG}.bin
42}
43
44COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
new file mode 100644
index 000000000..55826b016
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
@@ -0,0 +1,21 @@
1SUMMARY = "i.MX System Manager Firmware"
2DESCRIPTION = "\
3The System Manager (SM) is a firmware that runs on a Cortex-M processor on \
4many NXP i.MX processors. The Cortex-M is the boot core, runs the boot ROM \
5which loads the SM (and other boot code), and then branches to the SM. The \
6SM then configures some aspects of the hardware such as isolation mechanisms \
7and then starts other cores in the system. After starting these cores, it \
8enters a service mode where it provides access to clocking, power, sensor, \
9and pin control via a client RPC API based on ARM's System Control and \
10Management Interface (SCMI)."
11LICENSE = "BSD-3-Clause"
12LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619"
13
14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}"
15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https"
16SRCBRANCH = "master"
17SRCREV = "709deccd9338399eb39b5cf99a60eab4fa60d539"
18
19require imx-system-manager.inc
20
21PACKAGECONFIG ??= "m2"
diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc
deleted file mode 100644
index b77fbc838..000000000
--- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc
+++ /dev/null
@@ -1,44 +0,0 @@
1DEPENDS:append:imxvpu = " imx-vpuwrap"
2
3# Additional imx code and patches are included in the chromium-imx git repository.
4# The code below fetches this repository, copies the extra source over to the main
5# chromium source directory, and applies the patches.
6
7CHROMIUM_IMX_BRANCH ?= "master"
8CHROMIUM_IMX_SRCREV ?= "HEAD"
9CHROMIUM_IMX_DESTSUFFIX ?= "chromium-imx-git"
10
11PATCH_BASE_DIR = "${WORKDIR}/${CHROMIUM_IMX_DESTSUFFIX}/patches"
12
13CHROMIUM_IMX_COMMON_PATCHES ?= " "
14CHROMIUM_IMX_VPU_PATCHES ?= " "
15CHROMIUM_IMX_WAYLAND_PATCHES ?= " "
16
17SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV};protocol=https"
18
19do_unpack[postfuncs] += "copy_chromium_imx_files"
20# using =+ instead of += to make sure add_chromium_imx_patches is
21# executed before add_ozone_wayland_patches in the main recipe;
22# this is necessary because add_chromium_imx_patches appends
23# patches to the OZONE_WAYLAND_EXTRA_PATCHES variable
24do_patch[prefuncs] =+ "add_chromium_imx_patches"
25
26# * Lost context problems are not known to happen with Vivante GPUs,
27# so it is safe to use ignore-lost-context
28# * Proprietary codecs need to be enabled for h.264 and MP4 support
29PACKAGECONFIG:append = " ignore-lost-context proprietary-codecs"
30
31copy_chromium_imx_files() {
32 # sources in src/ are already organized in a manner
33 # that matches the subdirectories in the chromium
34 # source directory; just copy over the files in src/
35 cp -r ${WORKDIR}/chromium-imx-git/src/* ${S}/
36}
37
38python add_chromium_imx_patches() {
39 d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_COMMON_PATCHES', 1))
40 d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_VPU_PATCHES', 1))
41 d.appendVar('OZONE_WAYLAND_EXTRA_PATCHES', ' ' + d.getVar('CHROMIUM_IMX_WAYLAND_PATCHES', 1))
42}
43
44COMPATIBLE_MACHINE = "(mx6-nxp-bsp)"
diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch
deleted file mode 100644
index 23a8fff9c..000000000
--- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1Upstream-Status: Pending
2diff -Naur chromium-48.0.2548.0_org/third_party/libva/va/va_dec_jpeg.h chromium-48.0.2548.0/third_party/libva/va/va_dec_jpeg.h
3--- chromium-48.0.2548.0_org/third_party/libva/va/va_dec_jpeg.h 2016-05-27 11:45:31.248306710 -0500
4+++ chromium-48.0.2548.0/third_party/libva/va/va_dec_jpeg.h 2016-05-27 11:49:53.000000000 -0500
5@@ -36,7 +36,7 @@
6 extern "C" {
7 #endif
8
9-#include <va/va.h>
10+#include <libva/va/va.h>
11
12 /**
13 * \defgroup api_dec_jpeg JPEG decoding API
14diff -Naur chromium-48.0.2548.0_org/third_party/libva/va/va.h chromium-48.0.2548.0/third_party/libva/va/va.h
15--- chromium-48.0.2548.0_org/third_party/libva/va/va.h 2016-05-27 11:45:31.248306710 -0500
16+++ chromium-48.0.2548.0/third_party/libva/va/va.h 2016-05-27 11:49:16.000000000 -0500
17@@ -80,7 +80,7 @@
18
19 #include <stddef.h>
20 #include <stdint.h>
21-#include <va/va_version.h>
22+#include <libva/va/va_version.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26@@ -2836,16 +2836,16 @@
27 */
28 #define VA_PICTURE_HEVC_RPS_LT_CURR 0x00000040
29
30-#include <va/va_dec_hevc.h>
31-#include <va/va_dec_jpeg.h>
32-#include <va/va_dec_vp8.h>
33-#include <va/va_dec_vp9.h>
34-#include <va/va_enc_hevc.h>
35-#include <va/va_enc_h264.h>
36-#include <va/va_enc_jpeg.h>
37-#include <va/va_enc_mpeg2.h>
38-#include <va/va_enc_vp8.h>
39-#include <va/va_vpp.h>
40+#include <libva/va/va_dec_hevc.h>
41+#include <libva/va/va_dec_jpeg.h>
42+#include <libva/va/va_dec_vp8.h>
43+#include <libva/va/va_dec_vp9.h>
44+#include <libva/va/va_enc_hevc.h>
45+#include <libva/va/va_enc_h264.h>
46+#include <libva/va/va_enc_jpeg.h>
47+#include <libva/va/va_enc_mpeg2.h>
48+#include <libva/va/va_enc_vp8.h>
49+#include <libva/va/va_vpp.h>
50
51 /**@}*/
52
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
index 7d84ee93a..865b29349 100644
--- a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -6,8 +6,13 @@ SYSTEMD_AUTO_ENABLE:imx-nxp-bsp = "disable"
6 6
7DEPENDS:append:mx95-nxp-bsp = " libdrm" 7DEPENDS:append:mx95-nxp-bsp = " libdrm"
8 8
9PACKAGECONFIG:remove:mx95-nxp-bsp = "libcamera" 9PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
10PACKAGECONFIG:remove:imx-nxp-bsp = "gstreamer" 10PACKAGECONFIG_REMOVE ?= ""
11PACKAGECONFIG_REMOVE:mx6-nxp-bsp ?= "gstreamer"
12PACKAGECONFIG_REMOVE:mx7-nxp-bsp ?= "gstreamer"
13PACKAGECONFIG_REMOVE:mx8-nxp-bsp ?= "gstreamer"
14PACKAGECONFIG_REMOVE:mx93-nxp-bsp ?= "gstreamer"
15
11PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}" 16PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}"
12 17
13# FIXME: Needs to qualify on PACKAGECONFIG 18# FIXME: Needs to qualify on PACKAGECONFIG
diff --git a/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend b/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
index 4cfa51ea9..dfedc062e 100644
--- a/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
+++ b/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
@@ -1,4 +1,5 @@
1# Only _mx8 machine do provide virtual/libgbm required for any drm* flavour 1# 6 and 7 Vivante do not provide virtual/libgbm required for any drm* flavour
2DRM-REMOVE:imxgpu = "drm-gl drm-gles2" 2DRM-REMOVE = ""
3DRM-REMOVE:imxgpu:mx8-nxp-bsp = "" 3DRM-REMOVE:imxgpu:mx6-nxp-bsp = "drm-gl drm-gles2"
4DRM-REMOVE:imxgpu:mx7-nxp-bsp = "drm-gl drm-gles2"
4PACKAGECONFIG:remove = "${DRM-REMOVE}" 5PACKAGECONFIG:remove = "${DRM-REMOVE}"
diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc/0001-FMCCFGReader-improve-parameter-definition-of-functio.patch b/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc/0001-FMCCFGReader-improve-parameter-definition-of-functio.patch
deleted file mode 100644
index 5769d5552..000000000
--- a/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc/0001-FMCCFGReader-improve-parameter-definition-of-functio.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1From 018249d180705657efbecdce3736c9a415412762 Mon Sep 17 00:00:00 2001
2From: Meng Li <Meng.Li@windriver.com>
3Date: Tue, 9 Jul 2024 14:35:06 +0800
4Subject: [PATCH] FMCCFGReader: improve parameter definition of function
5 errorFuncHandler
6
7When building fmc package, there is below error:
8FMCCFGReader.cpp: In member function 'void CCFGReader::parseCfgData(std::string)':
9FMCCFGReader.cpp:98:40: error: invalid conversion from
10'void (*)(void*, xmlErrorPtr)' {aka 'void (*)(void*, _xmlError*)'} to
11'xmlStructuredErrorFunc' {aka 'void (*)(void*, const _xmlError*)'} [-fpermissive]
12 98 | xmlSetStructuredErrorFunc( &error, errorFuncHandler );
13 | ^~~~~~~~~~~~~~~~
14 | |
15 | void (*)(void*, xmlErrorPtr) {aka void (*)(void*, _xmlError*)}
16Because in libxml2 package, the parameter definition of function
17pointer xmlStructuredErrorFunc has changed, adjust the parameter
18of errorFuncHandler to align with upstream.
19
20Upstream-Status: Pending
21
22Signed-off-by: Meng Li <Meng.Li@windriver.com>
23---
24 source/FMCGenericError.cpp | 2 +-
25 source/FMCGenericError.h | 2 +-
26 2 files changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/source/FMCGenericError.cpp b/source/FMCGenericError.cpp
29index a1a87a4..c11742c 100644
30--- a/source/FMCGenericError.cpp
31+++ b/source/FMCGenericError.cpp
32@@ -33,7 +33,7 @@
33 #include "FMCUtils.h"
34 #include "logger.hpp"
35
36-void errorFuncHandler( void * ctx, xmlErrorPtr error )
37+void errorFuncHandler( void * ctx, const xmlError *error )
38 {
39 char *filestr = (char*)"";
40 char *msgstr = (char*)"";
41diff --git a/source/FMCGenericError.h b/source/FMCGenericError.h
42index 504a81b..61ab6c1 100644
43--- a/source/FMCGenericError.h
44+++ b/source/FMCGenericError.h
45@@ -35,7 +35,7 @@
46
47 const int NO_LINE = -1;
48
49-void errorFuncHandler( void * ctx, xmlErrorPtr error );
50+void errorFuncHandler( void * ctx, const xmlError *error );
51
52
53 class CGenericError {
54--
552.34.1
56
diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb b/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb
index 457a202c9..227b6291b 100644
--- a/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb
+++ b/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb
@@ -7,12 +7,7 @@ PR = "r2"
7DEPENDS = "libxml2 fmlib tclap" 7DEPENDS = "libxml2 fmlib tclap"
8 8
9SRC_URI = "git://github.com/nxp-qoriq/fmc;protocol=https;nobranch=1" 9SRC_URI = "git://github.com/nxp-qoriq/fmc;protocol=https;nobranch=1"
10SRC_URI:append = " \ 10SRCREV = "5b9f4b16a864e9dfa58cdcc860be278a7f66ac18"
11 file://0001-FMCCFGReader-improve-parameter-definition-of-functio.patch \
12"
13SRCREV = "63c8ac99899a9bcd723801579b4d786594670455"
14
15S = "${WORKDIR}/git"
16 11
17EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \ 12EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
18 FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \ 13 FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
diff --git a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch b/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch
deleted file mode 100644
index 283a081ba..000000000
--- a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 8ad045e5e664fe2d1bd9f88616d5bf83437aab4e Mon Sep 17 00:00:00 2001
2From: Yang Dong <b56112@freescale.com>
3Date: Wed, 9 Sep 2015 13:08:57 +0800
4Subject: [PATCH] xserver-common: enable iglx module
5
6Enable iglx module to pass indirect glx rendering test case.
7
8Upstream-Status: Inappropriate [imx specific]
9
10Date: Sep 9, 2015
11Signed-off-by Yang Dong <b56112@freescale.com>
12---
13 X11/xserver-common | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/X11/xserver-common b/X11/xserver-common
17index 4dc48c4..d19b858 100644
18--- a/X11/xserver-common
19+++ b/X11/xserver-common
20@@ -44,6 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg`
21 export USER=root
22 export XSERVER_DEFAULT_ORIENTATION=normal
23
24+INPUT_EXTRA_ARGS="+iglx"
25 ARGS="-br -pn -nolisten tcp $INPUT_EXTRA_ARGS"
26 DPI="100"
27 MOUSE=""
28--
291.9.1
30
diff --git a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend b/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend
deleted file mode 100644
index be6945744..000000000
--- a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
1# i.MX extra configuration
2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
3
4SRC_URI:append:imxgpu3d = " \
5 file://0016-xserver-common-enable-iglx-module.patch \
6"
7
8PACKAGE_ARCH:imxgpu3d = "${MACHINE_SOCARCH}"
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index 7401a5669..e450e568e 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -12,6 +12,7 @@ SRC_URI:append:imxgpu = " \
12 12
13PACKAGECONFIG_GL_IMX_GPU = "" 13PACKAGECONFIG_GL_IMX_GPU = ""
14PACKAGECONFIG_GL_IMX_GPU:mx8-nxp-bsp = "gbm kms" 14PACKAGECONFIG_GL_IMX_GPU:mx8-nxp-bsp = "gbm kms"
15PACKAGECONFIG_GL_IMX_GPU:mx95-nxp-bsp = "gbm kms"
15 16
16PACKAGECONFIG_GL:imxpxp = "gles2" 17PACKAGECONFIG_GL:imxpxp = "gles2"
17PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \ 18PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \
@@ -31,6 +32,7 @@ PACKAGECONFIG += "${PACKAGECONFIG_PLATFORM}"
31 32
32PACKAGECONFIG_VULKAN_IMX_GPU = "" 33PACKAGECONFIG_VULKAN_IMX_GPU = ""
33PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan" 34PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan"
35PACKAGECONFIG_VULKAN_IMX_GPU:mx9-nxp-bsp = "vulkan"
34PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = "" 36PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = ""
35PACKAGECONFIG_VULKAN = "" 37PACKAGECONFIG_VULKAN = ""
36PACKAGECONFIG_VULKAN:imxgpu = "${PACKAGECONFIG_VULKAN_IMX_GPU}" 38PACKAGECONFIG_VULKAN:imxgpu = "${PACKAGECONFIG_VULKAN_IMX_GPU}"
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
index a97b765f1..659a7cc0a 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
@@ -6,3 +6,4 @@ PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx"
6 6
7# i.MX8 does never provide native x11, so required dependencies are not met 7# i.MX8 does never provide native x11, so required dependencies are not met
8PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" 8PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx"
9PACKAGECONFIG:remove:mx95-nxp-bsp = "xcomposite-egl xcomposite-glx"
diff --git a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend
index 1c51fc09d..b12499666 100644
--- a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend
+++ b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend
@@ -14,6 +14,8 @@ PACKAGECONFIG_GRAPHICS:imxgpu3d = " \
14PACKAGECONFIG_GRAPHICS_IMX_GPU = "" 14PACKAGECONFIG_GRAPHICS_IMX_GPU = ""
15PACKAGECONFIG_GRAPHICS_IMX_GPU:mx8-nxp-bsp = " \ 15PACKAGECONFIG_GRAPHICS_IMX_GPU:mx8-nxp-bsp = " \
16 gbm kms" 16 gbm kms"
17PACKAGECONFIG_GRAPHICS_IMX_GPU:mx95-nxp-bsp = " \
18 gbm kms"
17 19
18PACKAGECONFIG_GRAPHICS:use-mainline-bsp ?= " \ 20PACKAGECONFIG_GRAPHICS:use-mainline-bsp ?= " \
19 gles2 gbm kms" 21 gles2 gbm kms"
@@ -51,4 +53,5 @@ PACKAGECONFIG_VULKAN:imxgpu = " \
51 ${PACKAGECONFIG_VULKAN_IMX_GPU}" 53 ${PACKAGECONFIG_VULKAN_IMX_GPU}"
52PACKAGECONFIG_VULKAN_IMX_GPU = "" 54PACKAGECONFIG_VULKAN_IMX_GPU = ""
53PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan" 55PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan"
56PACKAGECONFIG_VULKAN_IMX_GPU:mx95-nxp-bsp = "vulkan"
54PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = "" 57PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = ""
diff --git a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
index ca011758b..f2b0b8025 100644
--- a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
+++ b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
@@ -4,3 +4,4 @@ PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx"
4PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx" 4PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx"
5PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx" 5PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx"
6PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" 6PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx"
7PACKAGECONFIG:remove:mx95-nxp-bsp = "xcomposite-egl xcomposite-glx"
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index b6194d76b..c31fb04be 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -2,3 +2,4 @@
2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
3 3
4PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}" 4PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
5PACKAGE_ARCH:qoriq-generic-bsp = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
index ace734df4..bf97f7d2f 100755
--- a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
@@ -1375,7 +1375,7 @@ state.wm8962audio {
1375 control.117 { 1375 control.117 {
1376 iface MIXER 1376 iface MIXER
1377 name 'INPGAR IN2R Switch' 1377 name 'INPGAR IN2R Switch'
1378 value false 1378 value true
1379 comment { 1379 comment {
1380 access 'read write' 1380 access 'read write'
1381 type BOOLEAN 1381 type BOOLEAN
@@ -1405,7 +1405,7 @@ state.wm8962audio {
1405 control.120 { 1405 control.120 {
1406 iface MIXER 1406 iface MIXER
1407 name 'INPGAL IN1L Switch' 1407 name 'INPGAL IN1L Switch'
1408 value true 1408 value false
1409 comment { 1409 comment {
1410 access 'read write' 1410 access 'read write'
1411 type BOOLEAN 1411 type BOOLEAN
@@ -1425,7 +1425,7 @@ state.wm8962audio {
1425 control.122 { 1425 control.122 {
1426 iface MIXER 1426 iface MIXER
1427 name 'INPGAL IN3L Switch' 1427 name 'INPGAL IN3L Switch'
1428 value false 1428 value true
1429 comment { 1429 comment {
1430 access 'read write' 1430 access 'read write'
1431 type BOOLEAN 1431 type BOOLEAN
@@ -9846,3 +9846,1458 @@ state.wm8960audio4 {
9846 } 9846 }
9847 } 9847 }
9848} 9848}
9849state.sofwm8962audio {
9850 control.1 {
9851 iface MIXER
9852 name 'Input Mixer Switch'
9853 value.0 true
9854 value.1 true
9855 comment {
9856 access 'read write'
9857 type BOOLEAN
9858 count 2
9859 }
9860 }
9861 control.2 {
9862 iface MIXER
9863 name 'MIXINL IN2L Volume'
9864 value 5
9865 comment {
9866 access 'read write'
9867 type INTEGER
9868 count 1
9869 range '0 - 7'
9870 dbmin -1500
9871 dbmax 600
9872 dbvalue.0 0
9873 }
9874 }
9875 control.3 {
9876 iface MIXER
9877 name 'MIXINL PGA Volume'
9878 value 0
9879 comment {
9880 access 'read write'
9881 type INTEGER
9882 count 1
9883 range '0 - 7'
9884 dbmin 0
9885 dbmax 3000
9886 dbvalue.0 0
9887 }
9888 }
9889 control.4 {
9890 iface MIXER
9891 name 'MIXINL IN3L Volume'
9892 value 5
9893 comment {
9894 access 'read write'
9895 type INTEGER
9896 count 1
9897 range '0 - 7'
9898 dbmin -1500
9899 dbmax 600
9900 dbvalue.0 0
9901 }
9902 }
9903 control.5 {
9904 iface MIXER
9905 name 'MIXINR IN2R Volume'
9906 value 5
9907 comment {
9908 access 'read write'
9909 type INTEGER
9910 count 1
9911 range '0 - 7'
9912 dbmin -1500
9913 dbmax 600
9914 dbvalue.0 0
9915 }
9916 }
9917 control.6 {
9918 iface MIXER
9919 name 'MIXINR PGA Volume'
9920 value 0
9921 comment {
9922 access 'read write'
9923 type INTEGER
9924 count 1
9925 range '0 - 7'
9926 dbmin 0
9927 dbmax 3000
9928 dbvalue.0 0
9929 }
9930 }
9931 control.7 {
9932 iface MIXER
9933 name 'MIXINR IN3R Volume'
9934 value 7
9935 comment {
9936 access 'read write'
9937 type INTEGER
9938 count 1
9939 range '0 - 7'
9940 dbmin -1500
9941 dbmax 600
9942 dbvalue.0 600
9943 }
9944 }
9945 control.8 {
9946 iface MIXER
9947 name 'Digital Capture Volume'
9948 value.0 108
9949 value.1 108
9950 comment {
9951 access 'read write'
9952 type INTEGER
9953 count 2
9954 range '0 - 127'
9955 dbmin -9999999
9956 dbmax 2325
9957 dbvalue.0 900
9958 dbvalue.1 900
9959 }
9960 }
9961 control.9 {
9962 iface MIXER
9963 name 'Capture Volume'
9964 value.0 40
9965 value.1 40
9966 comment {
9967 access 'read write'
9968 type INTEGER
9969 count 2
9970 range '0 - 63'
9971 dbmin -2325
9972 dbmax 2400
9973 dbvalue.0 675
9974 dbvalue.1 675
9975 }
9976 }
9977 control.10 {
9978 iface MIXER
9979 name 'Capture Switch'
9980 value.0 true
9981 value.1 true
9982 comment {
9983 access 'read write'
9984 type BOOLEAN
9985 count 2
9986 }
9987 }
9988 control.11 {
9989 iface MIXER
9990 name 'Capture ZC Switch'
9991 value.0 true
9992 value.1 true
9993 comment {
9994 access 'read write'
9995 type BOOLEAN
9996 count 2
9997 }
9998 }
9999 control.12 {
10000 iface MIXER
10001 name 'Capture HPF Switch'
10002 value true
10003 comment {
10004 access 'read write'
10005 type BOOLEAN
10006 count 1
10007 }
10008 }
10009 control.13 {
10010 iface MIXER
10011 name 'Capture HPF Mode'
10012 value Hi-fi
10013 comment {
10014 access 'read write'
10015 type ENUMERATED
10016 count 1
10017 item.0 Hi-fi
10018 item.1 Application
10019 }
10020 }
10021 control.14 {
10022 iface MIXER
10023 name 'Capture HPF Cutoff'
10024 value 0
10025 comment {
10026 access 'read write'
10027 type INTEGER
10028 count 1
10029 range '0 - 7'
10030 }
10031 }
10032 control.15 {
10033 iface MIXER
10034 name 'Capture LHPF Switch'
10035 value false
10036 comment {
10037 access 'read write'
10038 type BOOLEAN
10039 count 1
10040 }
10041 }
10042 control.16 {
10043 iface MIXER
10044 name 'Capture LHPF Mode'
10045 value LPF
10046 comment {
10047 access 'read write'
10048 type ENUMERATED
10049 count 1
10050 item.0 LPF
10051 item.1 HPF
10052 }
10053 }
10054 control.17 {
10055 iface MIXER
10056 name 'Sidetone Volume'
10057 value.0 0
10058 value.1 0
10059 comment {
10060 access 'read write'
10061 type INTEGER
10062 count 2
10063 range '0 - 12'
10064 dbmin -3600
10065 dbmax 0
10066 dbvalue.0 -3600
10067 dbvalue.1 -3600
10068 }
10069 }
10070 control.18 {
10071 iface MIXER
10072 name 'Digital Playback Volume'
10073 value.0 96
10074 value.1 96
10075 comment {
10076 access 'read write'
10077 type INTEGER
10078 count 2
10079 range '0 - 127'
10080 dbmin -9999999
10081 dbmax 2325
10082 dbvalue.0 0
10083 dbvalue.1 0
10084 }
10085 }
10086 control.19 {
10087 iface MIXER
10088 name 'DAC High Performance Switch'
10089 value false
10090 comment {
10091 access 'read write'
10092 type BOOLEAN
10093 count 1
10094 }
10095 }
10096 control.20 {
10097 iface MIXER
10098 name 'DAC L/R Swap Switch'
10099 value false
10100 comment {
10101 access 'read write'
10102 type BOOLEAN
10103 count 1
10104 }
10105 }
10106 control.21 {
10107 iface MIXER
10108 name 'ADC L/R Swap Switch'
10109 value false
10110 comment {
10111 access 'read write'
10112 type BOOLEAN
10113 count 1
10114 }
10115 }
10116 control.22 {
10117 iface MIXER
10118 name 'ADC High Performance Switch'
10119 value true
10120 comment {
10121 access 'read write'
10122 type BOOLEAN
10123 count 1
10124 }
10125 }
10126 control.23 {
10127 iface MIXER
10128 name 'Beep Volume'
10129 value 0
10130 comment {
10131 access 'read write'
10132 type INTEGER
10133 count 1
10134 range '0 - 15'
10135 dbmin -9999999
10136 dbmax -600
10137 dbvalue.0 -9999999
10138 }
10139 }
10140 control.24 {
10141 iface MIXER
10142 name 'Headphone Volume'
10143 value.0 93
10144 value.1 93
10145 comment {
10146 access 'read write'
10147 type INTEGER
10148 count 2
10149 range '0 - 127'
10150 dbmin -9999999
10151 dbmax 600
10152 dbvalue.0 -2800
10153 dbvalue.1 -2800
10154 }
10155 }
10156 control.25 {
10157 iface MIXER
10158 name 'Headphone Switch'
10159 value.0 true
10160 value.1 true
10161 comment {
10162 access 'read write'
10163 type BOOLEAN
10164 count 2
10165 }
10166 }
10167 control.26 {
10168 iface MIXER
10169 name 'Headphone ZC Switch'
10170 value.0 false
10171 value.1 false
10172 comment {
10173 access 'read write'
10174 type BOOLEAN
10175 count 2
10176 }
10177 }
10178 control.27 {
10179 iface MIXER
10180 name 'Headphone Aux Volume'
10181 value.0 7
10182 value.1 7
10183 comment {
10184 access 'read write'
10185 type INTEGER
10186 count 2
10187 range '0 - 7'
10188 dbmin -700
10189 dbmax 0
10190 dbvalue.0 0
10191 dbvalue.1 0
10192 }
10193 }
10194 control.28 {
10195 iface MIXER
10196 name 'Headphone Mixer Switch'
10197 value.0 false
10198 value.1 false
10199 comment {
10200 access 'read write'
10201 type BOOLEAN
10202 count 2
10203 }
10204 }
10205 control.29 {
10206 iface MIXER
10207 name 'HPMIXL IN4L Volume'
10208 value 7
10209 comment {
10210 access 'read write'
10211 type INTEGER
10212 count 1
10213 range '0 - 7'
10214 dbmin -1500
10215 dbmax 600
10216 dbvalue.0 600
10217 }
10218 }
10219 control.30 {
10220 iface MIXER
10221 name 'HPMIXL IN4R Volume'
10222 value 7
10223 comment {
10224 access 'read write'
10225 type INTEGER
10226 count 1
10227 range '0 - 7'
10228 dbmin -1500
10229 dbmax 600
10230 dbvalue.0 600
10231 }
10232 }
10233 control.31 {
10234 iface MIXER
10235 name 'HPMIXL MIXINL Volume'
10236 value 1
10237 comment {
10238 access 'read write'
10239 type INTEGER
10240 count 1
10241 range '0 - 1'
10242 dbmin -600
10243 dbmax 0
10244 dbvalue.0 0
10245 }
10246 }
10247 control.32 {
10248 iface MIXER
10249 name 'HPMIXL MIXINR Volume'
10250 value 1
10251 comment {
10252 access 'read write'
10253 type INTEGER
10254 count 1
10255 range '0 - 1'
10256 dbmin -600
10257 dbmax 0
10258 dbvalue.0 0
10259 }
10260 }
10261 control.33 {
10262 iface MIXER
10263 name 'HPMIXR IN4L Volume'
10264 value 7
10265 comment {
10266 access 'read write'
10267 type INTEGER
10268 count 1
10269 range '0 - 7'
10270 dbmin -1500
10271 dbmax 600
10272 dbvalue.0 600
10273 }
10274 }
10275 control.34 {
10276 iface MIXER
10277 name 'HPMIXR IN4R Volume'
10278 value 7
10279 comment {
10280 access 'read write'
10281 type INTEGER
10282 count 1
10283 range '0 - 7'
10284 dbmin -1500
10285 dbmax 600
10286 dbvalue.0 600
10287 }
10288 }
10289 control.35 {
10290 iface MIXER
10291 name 'HPMIXR MIXINL Volume'
10292 value 1
10293 comment {
10294 access 'read write'
10295 type INTEGER
10296 count 1
10297 range '0 - 1'
10298 dbmin -600
10299 dbmax 0
10300 dbvalue.0 0
10301 }
10302 }
10303 control.36 {
10304 iface MIXER
10305 name 'HPMIXR MIXINR Volume'
10306 value 1
10307 comment {
10308 access 'read write'
10309 type INTEGER
10310 count 1
10311 range '0 - 1'
10312 dbmin -600
10313 dbmax 0
10314 dbvalue.0 0
10315 }
10316 }
10317 control.37 {
10318 iface MIXER
10319 name 'Speaker Boost Volume'
10320 value 3
10321 comment {
10322 access 'read write'
10323 type INTEGER
10324 count 1
10325 range '0 - 7'
10326 dbmin 0
10327 dbmax 1200
10328 dbvalue.0 450
10329 }
10330 }
10331 control.38 {
10332 iface MIXER
10333 name 'EQ Switch'
10334 value false
10335 comment {
10336 access 'read write'
10337 type BOOLEAN
10338 count 1
10339 }
10340 }
10341 control.39 {
10342 iface MIXER
10343 name 'EQ1 Volume'
10344 value.0 12
10345 value.1 12
10346 comment {
10347 access 'read write'
10348 type INTEGER
10349 count 2
10350 range '0 - 31'
10351 dbmin -1200
10352 dbmax 1900
10353 dbvalue.0 0
10354 dbvalue.1 0
10355 }
10356 }
10357 control.40 {
10358 iface MIXER
10359 name 'EQ2 Volume'
10360 value.0 12
10361 value.1 12
10362 comment {
10363 access 'read write'
10364 type INTEGER
10365 count 2
10366 range '0 - 31'
10367 dbmin -1200
10368 dbmax 1900
10369 dbvalue.0 0
10370 dbvalue.1 0
10371 }
10372 }
10373 control.41 {
10374 iface MIXER
10375 name 'EQ3 Volume'
10376 value.0 12
10377 value.1 12
10378 comment {
10379 access 'read write'
10380 type INTEGER
10381 count 2
10382 range '0 - 31'
10383 dbmin -1200
10384 dbmax 1900
10385 dbvalue.0 0
10386 dbvalue.1 0
10387 }
10388 }
10389 control.42 {
10390 iface MIXER
10391 name 'EQ4 Volume'
10392 value.0 12
10393 value.1 12
10394 comment {
10395 access 'read write'
10396 type INTEGER
10397 count 2
10398 range '0 - 31'
10399 dbmin -1200
10400 dbmax 1900
10401 dbvalue.0 0
10402 dbvalue.1 0
10403 }
10404 }
10405 control.43 {
10406 iface MIXER
10407 name 'EQ5 Volume'
10408 value.0 12
10409 value.1 12
10410 comment {
10411 access 'read write'
10412 type INTEGER
10413 count 2
10414 range '0 - 31'
10415 dbmin -1200
10416 dbmax 1900
10417 dbvalue.0 0
10418 dbvalue.1 0
10419 }
10420 }
10421 control.44 {
10422 iface MIXER
10423 name 'EQL Coefficients'
10424 value '0fca040000d81eb5f1450b7501c51c58f3730a540558168ef82907ad1103056405594000'
10425 comment {
10426 access 'read write'
10427 type BYTES
10428 count 36
10429 }
10430 }
10431 control.45 {
10432 iface MIXER
10433 name 'EQR Coefficients'
10434 value '0fca040000d81eb5f1450b7501c51c58f3730a540558168ef82907ad1103056405594000'
10435 comment {
10436 access 'read write'
10437 type BYTES
10438 count 36
10439 }
10440 }
10441 control.46 {
10442 iface MIXER
10443 name '3D Switch'
10444 value false
10445 comment {
10446 access 'read write'
10447 type BOOLEAN
10448 count 1
10449 }
10450 }
10451 control.47 {
10452 iface MIXER
10453 name '3D Coefficients'
10454 value '0040000000000000'
10455 comment {
10456 access 'read write'
10457 type BYTES
10458 count 8
10459 }
10460 }
10461 control.48 {
10462 iface MIXER
10463 name 'DF1 Switch'
10464 value false
10465 comment {
10466 access 'read write'
10467 type BOOLEAN
10468 count 1
10469 }
10470 }
10471 control.49 {
10472 iface MIXER
10473 name 'DF1 Coefficients'
10474 value '0000000000000000000000000000'
10475 comment {
10476 access 'read write'
10477 type BYTES
10478 count 14
10479 }
10480 }
10481 control.50 {
10482 iface MIXER
10483 name 'DRC Switch'
10484 value false
10485 comment {
10486 access 'read write'
10487 type BOOLEAN
10488 count 1
10489 }
10490 }
10491 control.51 {
10492 iface MIXER
10493 name 'DRC Coefficients'
10494 value '000c0925000000000000'
10495 comment {
10496 access 'read write'
10497 type BYTES
10498 count 10
10499 }
10500 }
10501 control.52 {
10502 iface MIXER
10503 name 'VSS Switch'
10504 value false
10505 comment {
10506 access 'read write'
10507 type BOOLEAN
10508 count 1
10509 }
10510 }
10511 control.53 {
10512 iface MIXER
10513 name 'VSS Coefficients'
10514 value '008c020000350700003a4100008b7d00003a4100008cfee800780000003fb260002d18180020000000f1834000fb830000eeaec000fbac4000f17f8000f43b4000f5fb0000ea10c000fcc58000e275c00004b48000d4f9800004914000d8a48000023dc000cf7a8000dc060000f2dac000baf340000a7940001c068000fd2d00001ce840000ddc4000fc9d000009558000fe7e80000eab4000f99880000987c000fd2c400009480000035f400000870000fae4c000000b400004e18000011f4000f8b00000fbcbc00004f3800007df4000ff070000efd70000fbaf4000108a80001107c000e0080000d276000020cf400030234000fd69c0002835000006330000d9f6c000f33340000f420000040c8000fb3f8000f757c0000354000000c6c0000312c000fd8580'
10515 comment {
10516 access 'read write'
10517 type BYTES
10518 count 296
10519 }
10520 }
10521 control.54 {
10522 iface MIXER
10523 name 'HPF1 Switch'
10524 value false
10525 comment {
10526 access 'read write'
10527 type BOOLEAN
10528 count 1
10529 }
10530 }
10531 control.55 {
10532 iface MIXER
10533 name 'HPF2 Switch'
10534 value false
10535 comment {
10536 access 'read write'
10537 type BOOLEAN
10538 count 1
10539 }
10540 }
10541 control.56 {
10542 iface MIXER
10543 name 'HPF Coefficients'
10544 value '0000'
10545 comment {
10546 access 'read write'
10547 type BYTES
10548 count 2
10549 }
10550 }
10551 control.57 {
10552 iface MIXER
10553 name 'HD Bass Switch'
10554 value false
10555 comment {
10556 access 'read write'
10557 type BOOLEAN
10558 count 1
10559 }
10560 }
10561 control.58 {
10562 iface MIXER
10563 name 'HD Bass Coefficients'
10564 value '0002bd12007c586c00538121003f8bd80032f52d0065ac8c006be08700721483007214830043352500066a4a0043607900080000000100000059999a'
10565 comment {
10566 access 'read write'
10567 type BYTES
10568 count 60
10569 }
10570 }
10571 control.59 {
10572 iface MIXER
10573 name 'ALC Switch'
10574 value.0 false
10575 value.1 false
10576 comment {
10577 access 'read write'
10578 type BOOLEAN
10579 count 2
10580 }
10581 }
10582 control.60 {
10583 iface MIXER
10584 name ALC1
10585 value '007b'
10586 comment {
10587 access 'read write'
10588 type BYTES
10589 count 2
10590 }
10591 }
10592 control.61 {
10593 iface MIXER
10594 name ALC2
10595 value '0000'
10596 comment {
10597 access 'read write'
10598 type BYTES
10599 count 2
10600 }
10601 }
10602 control.62 {
10603 iface MIXER
10604 name ALC3
10605 value '1c32'
10606 comment {
10607 access 'read write'
10608 type BYTES
10609 count 2
10610 }
10611 }
10612 control.63 {
10613 iface MIXER
10614 name 'Noise Gate'
10615 value '3200'
10616 comment {
10617 access 'read write'
10618 type BYTES
10619 count 2
10620 }
10621 }
10622 control.64 {
10623 iface MIXER
10624 name 'Speaker Volume'
10625 value.0 114
10626 value.1 114
10627 comment {
10628 access 'read write'
10629 type INTEGER
10630 count 2
10631 range '0 - 127'
10632 dbmin -9999999
10633 dbmax 600
10634 dbvalue.0 -700
10635 dbvalue.1 -700
10636 }
10637 }
10638 control.65 {
10639 iface MIXER
10640 name 'Speaker Switch'
10641 value.0 true
10642 value.1 true
10643 comment {
10644 access 'read write'
10645 type BOOLEAN
10646 count 2
10647 }
10648 }
10649 control.66 {
10650 iface MIXER
10651 name 'Speaker ZC Switch'
10652 value.0 false
10653 value.1 false
10654 comment {
10655 access 'read write'
10656 type BOOLEAN
10657 count 2
10658 }
10659 }
10660 control.67 {
10661 iface MIXER
10662 name 'Speaker Mixer Switch'
10663 value.0 false
10664 value.1 false
10665 comment {
10666 access 'read write'
10667 type BOOLEAN
10668 count 2
10669 }
10670 }
10671 control.68 {
10672 iface MIXER
10673 name 'SPKOUTL Mixer IN4L Volume'
10674 value 7
10675 comment {
10676 access 'read write'
10677 type INTEGER
10678 count 1
10679 range '0 - 7'
10680 dbmin -1500
10681 dbmax 600
10682 dbvalue.0 600
10683 }
10684 }
10685 control.69 {
10686 iface MIXER
10687 name 'SPKOUTL Mixer IN4R Volume'
10688 value 7
10689 comment {
10690 access 'read write'
10691 type INTEGER
10692 count 1
10693 range '0 - 7'
10694 dbmin -1500
10695 dbmax 600
10696 dbvalue.0 600
10697 }
10698 }
10699 control.70 {
10700 iface MIXER
10701 name 'SPKOUTL Mixer MIXINL Volume'
10702 value 1
10703 comment {
10704 access 'read write'
10705 type INTEGER
10706 count 1
10707 range '0 - 1'
10708 dbmin -600
10709 dbmax 0
10710 dbvalue.0 0
10711 }
10712 }
10713 control.71 {
10714 iface MIXER
10715 name 'SPKOUTL Mixer MIXINR Volume'
10716 value 1
10717 comment {
10718 access 'read write'
10719 type INTEGER
10720 count 1
10721 range '0 - 1'
10722 dbmin -600
10723 dbmax 0
10724 dbvalue.0 0
10725 }
10726 }
10727 control.72 {
10728 iface MIXER
10729 name 'SPKOUTL Mixer DACL Volume'
10730 value 0
10731 comment {
10732 access 'read write'
10733 type INTEGER
10734 count 1
10735 range '0 - 1'
10736 dbmin -600
10737 dbmax 0
10738 dbvalue.0 -600
10739 }
10740 }
10741 control.73 {
10742 iface MIXER
10743 name 'SPKOUTL Mixer DACR Volume'
10744 value 0
10745 comment {
10746 access 'read write'
10747 type INTEGER
10748 count 1
10749 range '0 - 1'
10750 dbmin -600
10751 dbmax 0
10752 dbvalue.0 -600
10753 }
10754 }
10755 control.74 {
10756 iface MIXER
10757 name 'SPKOUTR Mixer IN4L Volume'
10758 value 7
10759 comment {
10760 access 'read write'
10761 type INTEGER
10762 count 1
10763 range '0 - 7'
10764 dbmin -1500
10765 dbmax 600
10766 dbvalue.0 600
10767 }
10768 }
10769 control.75 {
10770 iface MIXER
10771 name 'SPKOUTR Mixer IN4R Volume'
10772 value 7
10773 comment {
10774 access 'read write'
10775 type INTEGER
10776 count 1
10777 range '0 - 7'
10778 dbmin -1500
10779 dbmax 600
10780 dbvalue.0 600
10781 }
10782 }
10783 control.76 {
10784 iface MIXER
10785 name 'SPKOUTR Mixer MIXINL Volume'
10786 value 1
10787 comment {
10788 access 'read write'
10789 type INTEGER
10790 count 1
10791 range '0 - 1'
10792 dbmin -600
10793 dbmax 0
10794 dbvalue.0 0
10795 }
10796 }
10797 control.77 {
10798 iface MIXER
10799 name 'SPKOUTR Mixer MIXINR Volume'
10800 value 1
10801 comment {
10802 access 'read write'
10803 type INTEGER
10804 count 1
10805 range '0 - 1'
10806 dbmin -600
10807 dbmax 0
10808 dbvalue.0 0
10809 }
10810 }
10811 control.78 {
10812 iface MIXER
10813 name 'SPKOUTR Mixer DACL Volume'
10814 value 0
10815 comment {
10816 access 'read write'
10817 type INTEGER
10818 count 1
10819 range '0 - 1'
10820 dbmin -600
10821 dbmax 0
10822 dbvalue.0 -600
10823 }
10824 }
10825 control.79 {
10826 iface MIXER
10827 name 'SPKOUTR Mixer DACR Volume'
10828 value 0
10829 comment {
10830 access 'read write'
10831 type INTEGER
10832 count 1
10833 range '0 - 1'
10834 dbmin -600
10835 dbmax 0
10836 dbvalue.0 -600
10837 }
10838 }
10839 control.80 {
10840 iface MIXER
10841 name 'SPKOUTR PGA'
10842 value DAC
10843 comment {
10844 access 'read write'
10845 type ENUMERATED
10846 count 1
10847 item.0 DAC
10848 item.1 Mixer
10849 }
10850 }
10851 control.81 {
10852 iface MIXER
10853 name 'SPKOUTL PGA'
10854 value DAC
10855 comment {
10856 access 'read write'
10857 type ENUMERATED
10858 count 1
10859 item.0 DAC
10860 item.1 Mixer
10861 }
10862 }
10863 control.82 {
10864 iface MIXER
10865 name 'SPKOUTR Mixer DACL Switch'
10866 value false
10867 comment {
10868 access 'read write'
10869 type BOOLEAN
10870 count 1
10871 }
10872 }
10873 control.83 {
10874 iface MIXER
10875 name 'SPKOUTR Mixer DACR Switch'
10876 value false
10877 comment {
10878 access 'read write'
10879 type BOOLEAN
10880 count 1
10881 }
10882 }
10883 control.84 {
10884 iface MIXER
10885 name 'SPKOUTR Mixer MIXINL Switch'
10886 value false
10887 comment {
10888 access 'read write'
10889 type BOOLEAN
10890 count 1
10891 }
10892 }
10893 control.85 {
10894 iface MIXER
10895 name 'SPKOUTR Mixer MIXINR Switch'
10896 value false
10897 comment {
10898 access 'read write'
10899 type BOOLEAN
10900 count 1
10901 }
10902 }
10903 control.86 {
10904 iface MIXER
10905 name 'SPKOUTR Mixer IN4L Switch'
10906 value false
10907 comment {
10908 access 'read write'
10909 type BOOLEAN
10910 count 1
10911 }
10912 }
10913 control.87 {
10914 iface MIXER
10915 name 'SPKOUTR Mixer IN4R Switch'
10916 value false
10917 comment {
10918 access 'read write'
10919 type BOOLEAN
10920 count 1
10921 }
10922 }
10923 control.88 {
10924 iface MIXER
10925 name 'SPKOUTL Mixer DACL Switch'
10926 value false
10927 comment {
10928 access 'read write'
10929 type BOOLEAN
10930 count 1
10931 }
10932 }
10933 control.89 {
10934 iface MIXER
10935 name 'SPKOUTL Mixer DACR Switch'
10936 value false
10937 comment {
10938 access 'read write'
10939 type BOOLEAN
10940 count 1
10941 }
10942 }
10943 control.90 {
10944 iface MIXER
10945 name 'SPKOUTL Mixer MIXINL Switch'
10946 value false
10947 comment {
10948 access 'read write'
10949 type BOOLEAN
10950 count 1
10951 }
10952 }
10953 control.91 {
10954 iface MIXER
10955 name 'SPKOUTL Mixer MIXINR Switch'
10956 value false
10957 comment {
10958 access 'read write'
10959 type BOOLEAN
10960 count 1
10961 }
10962 }
10963 control.92 {
10964 iface MIXER
10965 name 'SPKOUTL Mixer IN4L Switch'
10966 value false
10967 comment {
10968 access 'read write'
10969 type BOOLEAN
10970 count 1
10971 }
10972 }
10973 control.93 {
10974 iface MIXER
10975 name 'SPKOUTL Mixer IN4R Switch'
10976 value false
10977 comment {
10978 access 'read write'
10979 type BOOLEAN
10980 count 1
10981 }
10982 }
10983 control.94 {
10984 iface MIXER
10985 name 'HPOUTR PGA'
10986 value DAC
10987 comment {
10988 access 'read write'
10989 type ENUMERATED
10990 count 1
10991 item.0 DAC
10992 item.1 Mixer
10993 }
10994 }
10995 control.95 {
10996 iface MIXER
10997 name 'HPOUTL PGA'
10998 value DAC
10999 comment {
11000 access 'read write'
11001 type ENUMERATED
11002 count 1
11003 item.0 DAC
11004 item.1 Mixer
11005 }
11006 }
11007 control.96 {
11008 iface MIXER
11009 name 'HPMIXR DACL Switch'
11010 value false
11011 comment {
11012 access 'read write'
11013 type BOOLEAN
11014 count 1
11015 }
11016 }
11017 control.97 {
11018 iface MIXER
11019 name 'HPMIXR DACR Switch'
11020 value false
11021 comment {
11022 access 'read write'
11023 type BOOLEAN
11024 count 1
11025 }
11026 }
11027 control.98 {
11028 iface MIXER
11029 name 'HPMIXR MIXINL Switch'
11030 value false
11031 comment {
11032 access 'read write'
11033 type BOOLEAN
11034 count 1
11035 }
11036 }
11037 control.99 {
11038 iface MIXER
11039 name 'HPMIXR MIXINR Switch'
11040 value false
11041 comment {
11042 access 'read write'
11043 type BOOLEAN
11044 count 1
11045 }
11046 }
11047 control.100 {
11048 iface MIXER
11049 name 'HPMIXR IN4L Switch'
11050 value false
11051 comment {
11052 access 'read write'
11053 type BOOLEAN
11054 count 1
11055 }
11056 }
11057 control.101 {
11058 iface MIXER
11059 name 'HPMIXR IN4R Switch'
11060 value false
11061 comment {
11062 access 'read write'
11063 type BOOLEAN
11064 count 1
11065 }
11066 }
11067 control.102 {
11068 iface MIXER
11069 name 'HPMIXL DACL Switch'
11070 value false
11071 comment {
11072 access 'read write'
11073 type BOOLEAN
11074 count 1
11075 }
11076 }
11077 control.103 {
11078 iface MIXER
11079 name 'HPMIXL DACR Switch'
11080 value false
11081 comment {
11082 access 'read write'
11083 type BOOLEAN
11084 count 1
11085 }
11086 }
11087 control.104 {
11088 iface MIXER
11089 name 'HPMIXL MIXINL Switch'
11090 value false
11091 comment {
11092 access 'read write'
11093 type BOOLEAN
11094 count 1
11095 }
11096 }
11097 control.105 {
11098 iface MIXER
11099 name 'HPMIXL MIXINR Switch'
11100 value false
11101 comment {
11102 access 'read write'
11103 type BOOLEAN
11104 count 1
11105 }
11106 }
11107 control.106 {
11108 iface MIXER
11109 name 'HPMIXL IN4L Switch'
11110 value false
11111 comment {
11112 access 'read write'
11113 type BOOLEAN
11114 count 1
11115 }
11116 }
11117 control.107 {
11118 iface MIXER
11119 name 'HPMIXL IN4R Switch'
11120 value false
11121 comment {
11122 access 'read write'
11123 type BOOLEAN
11124 count 1
11125 }
11126 }
11127 control.108 {
11128 iface MIXER
11129 name STR
11130 value None
11131 comment {
11132 access 'read write'
11133 type ENUMERATED
11134 count 1
11135 item.0 None
11136 item.1 Left
11137 item.2 Right
11138 }
11139 }
11140 control.109 {
11141 iface MIXER
11142 name STL
11143 value None
11144 comment {
11145 access 'read write'
11146 type ENUMERATED
11147 count 1
11148 item.0 None
11149 item.1 Left
11150 item.2 Right
11151 }
11152 }
11153 control.110 {
11154 iface MIXER
11155 name 'MIXINR IN2R Switch'
11156 value false
11157 comment {
11158 access 'read write'
11159 type BOOLEAN
11160 count 1
11161 }
11162 }
11163 control.111 {
11164 iface MIXER
11165 name 'MIXINR IN3R Switch'
11166 value true
11167 comment {
11168 access 'read write'
11169 type BOOLEAN
11170 count 1
11171 }
11172 }
11173 control.112 {
11174 iface MIXER
11175 name 'MIXINR PGA Switch'
11176 value true
11177 comment {
11178 access 'read write'
11179 type BOOLEAN
11180 count 1
11181 }
11182 }
11183 control.113 {
11184 iface MIXER
11185 name 'MIXINL IN2L Switch'
11186 value false
11187 comment {
11188 access 'read write'
11189 type BOOLEAN
11190 count 1
11191 }
11192 }
11193 control.114 {
11194 iface MIXER
11195 name 'MIXINL IN3L Switch'
11196 value false
11197 comment {
11198 access 'read write'
11199 type BOOLEAN
11200 count 1
11201 }
11202 }
11203 control.115 {
11204 iface MIXER
11205 name 'MIXINL PGA Switch'
11206 value true
11207 comment {
11208 access 'read write'
11209 type BOOLEAN
11210 count 1
11211 }
11212 }
11213 control.116 {
11214 iface MIXER
11215 name 'INPGAR IN1R Switch'
11216 value false
11217 comment {
11218 access 'read write'
11219 type BOOLEAN
11220 count 1
11221 }
11222 }
11223 control.117 {
11224 iface MIXER
11225 name 'INPGAR IN2R Switch'
11226 value true
11227 comment {
11228 access 'read write'
11229 type BOOLEAN
11230 count 1
11231 }
11232 }
11233 control.118 {
11234 iface MIXER
11235 name 'INPGAR IN3R Switch'
11236 value true
11237 comment {
11238 access 'read write'
11239 type BOOLEAN
11240 count 1
11241 }
11242 }
11243 control.119 {
11244 iface MIXER
11245 name 'INPGAR IN4R Switch'
11246 value false
11247 comment {
11248 access 'read write'
11249 type BOOLEAN
11250 count 1
11251 }
11252 }
11253 control.120 {
11254 iface MIXER
11255 name 'INPGAL IN1L Switch'
11256 value false
11257 comment {
11258 access 'read write'
11259 type BOOLEAN
11260 count 1
11261 }
11262 }
11263 control.121 {
11264 iface MIXER
11265 name 'INPGAL IN2L Switch'
11266 value false
11267 comment {
11268 access 'read write'
11269 type BOOLEAN
11270 count 1
11271 }
11272 }
11273 control.122 {
11274 iface MIXER
11275 name 'INPGAL IN3L Switch'
11276 value true
11277 comment {
11278 access 'read write'
11279 type BOOLEAN
11280 count 1
11281 }
11282 }
11283 control.123 {
11284 iface MIXER
11285 name 'INPGAL IN4L Switch'
11286 value false
11287 comment {
11288 access 'read write'
11289 type BOOLEAN
11290 count 1
11291 }
11292 }
11293 control.124 {
11294 iface CARD
11295 name 'Headphone Jack'
11296 value true
11297 comment {
11298 access read
11299 type BOOLEAN
11300 count 1
11301 }
11302 }
11303}
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
index c511018e9..5ed3bdd92 100644
--- a/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
+++ b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
@@ -218,8 +218,8 @@ rate 8000
218 218
219pcm.asymed{ 219pcm.asymed{
220type asym 220type asym
221playback.pcm "dmix_44100" 221playback.pcm "dmix_48000"
222capture.pcm "dsnoop_44100" 222capture.pcm "dsnoop_48000"
223} 223}
224 224
225pcm.dsp0{ 225pcm.dsp0{
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
index 0084f4a0b..f5918669b 100644
--- a/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
+++ b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
@@ -218,8 +218,8 @@ rate 8000
218 218
219pcm.asymed{ 219pcm.asymed{
220type asym 220type asym
221playback.pcm "dmix_44100" 221playback.pcm "dmix_48000"
222capture.pcm "dsnoop_44100" 222capture.pcm "dsnoop_48000"
223} 223}
224 224
225pcm.dsp0{ 225pcm.dsp0{
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp
new file mode 120000
index 000000000..febb30e2c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp
@@ -0,0 +1 @@
imx-generic-bsp \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp
new file mode 120000
index 000000000..b43cbb34c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp
@@ -0,0 +1 @@
imx-mainline-bsp \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp
new file mode 120000
index 000000000..022b2509e
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp
@@ -0,0 +1 @@
imx-nxp-bsp \ No newline at end of file
diff --git a/recipes-bsp/atf/qoriq-atf-2.6.inc b/recipes-bsp/atf/qoriq-atf-2.6.inc
index d5ef5e75e..7a752ee93 100644
--- a/recipes-bsp/atf/qoriq-atf-2.6.inc
+++ b/recipes-bsp/atf/qoriq-atf-2.6.inc
@@ -7,6 +7,3 @@ ATF_BRANCH ?= "lf_v2.6"
7ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https" 7ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https"
8SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}" 8SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}"
9SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75" 9SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75"
10
11S = "${WORKDIR}/git"
12
diff --git a/recipes-bsp/atf/qoriq-atf_2.6.bb b/recipes-bsp/atf/qoriq-atf_2.6.bb
index 5ae2ed9d1..9f2b0e47a 100644
--- a/recipes-bsp/atf/qoriq-atf_2.6.bb
+++ b/recipes-bsp/atf/qoriq-atf_2.6.bb
@@ -51,8 +51,8 @@ FIP_DDR:lx2160a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr',
51FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}" 51FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
52 52
53# requires CROSS_COMPILE set by hand as there is no configure script 53# requires CROSS_COMPILE set by hand as there is no configure script
54export CROSS_COMPILE="${TARGET_PREFIX}" 54export CROSS_COMPILE = "${TARGET_PREFIX}"
55export ARCH="arm64" 55export ARCH = "arm64"
56 56
57# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is 57# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
58# a standalone application 58# a standalone application
diff --git a/recipes-bsp/boot-format/boot-format_git.bb b/recipes-bsp/boot-format/boot-format_git.bb
index 0916b45ba..6b53e228f 100644
--- a/recipes-bsp/boot-format/boot-format_git.bb
+++ b/recipes-bsp/boot-format/boot-format_git.bb
@@ -7,7 +7,6 @@ SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/boot-format;protocol=https;nobra
7 file://flags.patch" 7 file://flags.patch"
8SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550" 8SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550"
9 9
10S = "${WORKDIR}/git"
11EXTRA_OEMAKE = 'CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"' 10EXTRA_OEMAKE = 'CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"'
12 11
13do_install(){ 12do_install(){
diff --git a/recipes-bsp/ddr-phy/ddr-phy_git.bb b/recipes-bsp/ddr-phy/ddr-phy_git.bb
index 8ea92502f..5cfeb935e 100644
--- a/recipes-bsp/ddr-phy/ddr-phy_git.bb
+++ b/recipes-bsp/ddr-phy/ddr-phy_git.bb
@@ -7,8 +7,6 @@ inherit deploy
7SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https" 7SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https"
8SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba" 8SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
9 9
10S = "${WORKDIR}/git"
11
12REGLEX = "lx2160a" 10REGLEX = "lx2160a"
13 11
14DEPENDS += "qoriq-atf-tools-native" 12DEPENDS += "qoriq-atf-tools-native"
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
index 5cf543ab7..79fff49e6 100644
--- a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
+++ b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
@@ -6,10 +6,9 @@ inherit deploy fsl-eula-unpack
6 6
7SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true"
8 8
9SRC_URI[md5sum] = "9ed2923c0eb511c7fcf37dd607944124"
10SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84" 9SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84"
11 10
12S = "${WORKDIR}/firmware-imx-8.16" 11S = "${UNPACKDIR}/firmware-imx-8.16"
13 12
14do_install () { 13do_install () {
15 install -d ${D}/boot 14 install -d ${D}/boot
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.2.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb
index f97d21ad9..b785613a1 100644
--- a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.2.bb
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb
@@ -1,27 +1,26 @@
1# Copyright 2021-2023 NXP 1# Copyright 2021-2025 NXP
2SUMMARY = "NXP i.MX ELE firmware" 2SUMMARY = "NXP i.MX ELE firmware"
3DESCRIPTION = "EdgeLock Enclave firmware for i.MX series SoCs" 3DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs"
4SECTION = "base" 4SECTION = "base"
5LICENSE = "Proprietary" 5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 6LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
7 7
8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy 8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
9 9
10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "4ed450a" 11IMX_SRCREV_ABBREV = "19b6ee2"
12SRC_URI[md5sum] = "1359bc7d378bddfe1d8479eba05b05ec" 12SRC_URI[sha256sum] = "14ad172ed70d2f16decca4b55e508dad32923390a298f10a598e8bc7778b6b66"
13SRC_URI[sha256sum] = "d858fcbb47482a898a1af5fe5f3f8be53bb21fac793b33e9bcdfd2b4dda79d3c"
14 13
15S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 14S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
16 15
17do_compile[noexec] = "1" 16do_compile[noexec] = "1"
18 17
19do_install() { 18do_install() {
20 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele 19 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
21 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele 20 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
22 if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then 21 if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then
23 install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele 22 install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
24 fi 23 fi
25} 24}
26 25
27do_deploy () { 26do_deploy () {
@@ -40,4 +39,4 @@ FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_N
40RREPLACES:${PN} = "firmware-sentinel" 39RREPLACES:${PN} = "firmware-sentinel"
41RPROVIDES:${PN} = "firmware-sentinel" 40RPROVIDES:${PN} = "firmware-sentinel"
42 41
43COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" 42COMPATIBLE_MACHINE = "(mx8ulp-generic-bsp|mx9-generic-bsp)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.24.inc b/recipes-bsp/firmware-imx/firmware-imx-8.27.inc
index 9e9d10dc6..20a66a1e3 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.24.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.27.inc
@@ -1,17 +1,16 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor 1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright 2017-2024 NXP
3# Copyright (C) 2018 O.S. Systems Software LTDA. 3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SECTION = "base" 4SECTION = "base"
5LICENSE = "Proprietary" 5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 6LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
7 7
8# Note: This .inc file is used from differently named recipes, so the package 8# Note: This .inc file is used from differently named recipes, so the package
9# name must be hard-coded, i.e., ${BPN} cannot be used. 9# name must be hard-coded, i.e., ${BPN} cannot be used.
10SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 10SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "fbe0a4c" 11IMX_SRCREV_ABBREV = "5af0ceb"
12SRC_URI[md5sum] = "440b125e897614d77fac663d90bcffc8" 12SRC_URI[sha256sum] = "61f925e606ab020b1a36f3f7f7e459c6847f5b9dbc79421f9ef86e8fc124eb2f"
13SRC_URI[sha256sum] = "2e27962332197ebebbb30138f6dfb365361d48d7efa565df97c4f79285b1ca50"
14 13
15S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}" 14S = "${UNPACKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}"
16 15
17inherit fsl-eula-unpack 16inherit fsl-eula-unpack
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.24.bb b/recipes-bsp/firmware-imx/firmware-imx_8.27.bb
index 489174d01..7bac8106d 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.24.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.27.bb
@@ -1,5 +1,5 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor 1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017-2021,2023 NXP 2# Copyright 2017-2021,2024 NXP
3# Copyright (C) 2018 O.S. Systems Software LTDA. 3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SUMMARY = "Freescale i.MX firmware" 4SUMMARY = "Freescale i.MX firmware"
5DESCRIPTION = "Freescale i.MX firmware such as for the VPU" 5DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
@@ -102,14 +102,14 @@ python populate_packages:prepend() {
102 102
103 103
104 easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) 104 easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d)
105 do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', 105 do_split_packages(d, easrcdir, r'^easrc-([^_]*).*\.bin',
106 output_pattern='firmware-imx-easrc-%s', 106 output_pattern='firmware-imx-easrc-%s',
107 description='Freescale IMX EASRC Firmware [%s]', 107 description='Freescale IMX EASRC Firmware [%s]',
108 extra_depends='', 108 extra_depends='',
109 prepend=True) 109 prepend=True)
110 110
111 vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d) 111 vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d)
112 do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', 112 do_split_packages(d, vpudir, r'^vpu_fw_([^_]*).*\.bin',
113 output_pattern='firmware-imx-vpu-%s', 113 output_pattern='firmware-imx-vpu-%s',
114 description='Freescale IMX VPU Firmware [%s]', 114 description='Freescale IMX VPU Firmware [%s]',
115 hook=coda_vpu_links, 115 hook=coda_vpu_links,
@@ -117,21 +117,21 @@ python populate_packages:prepend() {
117 prepend=True) 117 prepend=True)
118 118
119 sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d) 119 sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d)
120 do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', 120 do_split_packages(d, sdmadir, r'^sdma-([^-]*).*\.bin',
121 output_pattern='firmware-imx-sdma-%s', 121 output_pattern='firmware-imx-sdma-%s',
122 description='Freescale IMX SDMA Firmware [%s]', 122 description='Freescale IMX SDMA Firmware [%s]',
123 extra_depends='', 123 extra_depends='',
124 prepend=True) 124 prepend=True)
125 125
126 xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d) 126 xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d)
127 do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin', 127 do_split_packages(d, xcvrdir, r'^xcvr-([^_]*).*\.bin',
128 output_pattern='firmware-imx-xcvr-%s', 128 output_pattern='firmware-imx-xcvr-%s',
129 description='Freescale IMX XCVR Firmware [%s]', 129 description='Freescale IMX XCVR Firmware [%s]',
130 extra_depends='', 130 extra_depends='',
131 prepend=True) 131 prepend=True)
132 132
133 xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d) 133 xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d)
134 do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin', 134 do_split_packages(d, xuvidir, r'^vpu_fw_([^_]*).*\.bin',
135 output_pattern='firmware-imx-xuvi-%s', 135 output_pattern='firmware-imx-xuvi-%s',
136 description='Freescale IMX XUVI Firmware [%s]', 136 description='Freescale IMX XUVI Firmware [%s]',
137 extra_depends='', 137 extra_depends='',
diff --git a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb
index c425173c0..59ce30d03 100644
--- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb
@@ -1,4 +1,4 @@
1# Copyright 2020-2023 NXP 1# Copyright 2020-2024 NXP
2 2
3SUMMARY = "Wi-Fi firmware redistributed by NXP" 3SUMMARY = "Wi-Fi firmware redistributed by NXP"
4DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \ 4DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \
@@ -7,18 +7,18 @@ should be preferred."
7 7
8SECTION = "kernel" 8SECTION = "kernel"
9LICENSE = "Proprietary" 9LICENSE = "Proprietary"
10LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=10c0fda810c63b052409b15a5445671a" 10LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c0fb372b5d7f12181de23ef480f225f3"
11 11
12SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}" 12SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}"
13SRCBRANCH = "lf-6.6.23_2.0.0" 13SRCBRANCH = "lf-6.12.3_1.0.0"
14SRCREV = "7e038c6afba3118bcee91608764ac3c633bce0c4" 14SRCREV = "eef7ef94bc44cacd3b068f66658ef33391547daa"
15
16S = "${WORKDIR}/git"
17 15
18inherit allarch 16inherit allarch
19 17
20CLEANBROKEN = "1" 18CLEANBROKEN = "1"
21ALLOW_EMPTY:${PN} = "1" 19ALLOW_EMPTY:${PN} = "1"
20ALLOW_EMPTY:${PN}-all-sdio = "1"
21ALLOW_EMPTY:${PN}-all-pcie = "1"
22 22
23do_compile() { 23do_compile() {
24 : 24 :
@@ -44,7 +44,16 @@ do_install() {
44 44
45 oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp 45 oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp
46 46
47 # Upstream SDIO8997 and IW416 driver firmwares are located on mrvl folder
48 install -d ${D}${nonarch_base_libdir}/firmware/mrvl
49 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin
50 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin
47 51
52 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sd9098_wlan_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdio9098_wlan_v1.bin
53 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduart9098_combo_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart9098_combo_v1.bin
54 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sd8997_wlan_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdio8997_wlan_v4.bin
55 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin
56 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduartiw416_combo.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin
48} 57}
49 58
50PACKAGES =+ " \ 59PACKAGES =+ " \
@@ -59,6 +68,7 @@ PACKAGES =+ " \
59 ${PN}-nxp9098-common \ 68 ${PN}-nxp9098-common \
60 ${PN}-nxp9098-sdio \ 69 ${PN}-nxp9098-sdio \
61 ${PN}-nxpiw416-sdio \ 70 ${PN}-nxpiw416-sdio \
71 ${PN}-nxpiw610-sdio \
62 ${PN}-nxpiw612-sdio \ 72 ${PN}-nxpiw612-sdio \
63" 73"
64 74
@@ -88,7 +98,7 @@ RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
88FILES:${PN}-nxp8997-common = " \ 98FILES:${PN}-nxp8997-common = " \
89 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \ 99 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \
90 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \ 100 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \
91 ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \ 101 ${nonarch_base_libdir}/firmware/nxp/uart8997_bt_v4.bin \
92" 102"
93RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common" 103RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common"
94RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" 104RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
@@ -104,7 +114,8 @@ RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
104RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" 114RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
105 115
106FILES:${PN}-nxp8997-sdio = " \ 116FILES:${PN}-nxp8997-sdio = " \
107 ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \ 117 ${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
118 ${nonarch_base_libdir}/firmware/nxp/sd*8997* \
108" 119"
109RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common" 120RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
110RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" 121RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
@@ -114,7 +125,7 @@ RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
114FILES:${PN}-nxp9098-common = " \ 125FILES:${PN}-nxp9098-common = " \
115 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \ 126 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \
116 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \ 127 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \
117 ${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin \ 128 ${nonarch_base_libdir}/firmware/nxp/uart9098_bt_v1.bin \
118" 129"
119RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common" 130RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common"
120RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" 131RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
@@ -130,7 +141,7 @@ RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
130RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" 141RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
131 142
132FILES:${PN}-nxp9098-sdio = " \ 143FILES:${PN}-nxp9098-sdio = " \
133 ${nonarch_base_libdir}/firmware/nxp/sdio*9098* \ 144 ${nonarch_base_libdir}/firmware/nxp/sd*9098* \
134" 145"
135RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common" 146RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
136RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 147RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
@@ -138,6 +149,7 @@ RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
138RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 149RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
139 150
140FILES:${PN}-nxpiw416-sdio = " \ 151FILES:${PN}-nxpiw416-sdio = " \
152 ${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin \
141 ${nonarch_base_libdir}/firmware/nxp/*iw416* \ 153 ${nonarch_base_libdir}/firmware/nxp/*iw416* \
142" 154"
143RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common" 155RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
@@ -145,6 +157,17 @@ RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
145RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" 157RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
146RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" 158RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
147 159
160FILES:${PN}-nxpiw610-sdio += " \
161 ${nonarch_base_libdir}/firmware/nxp/sd_iw610.bin.se \
162 ${nonarch_base_libdir}/firmware/nxp/sduart_iw610.bin.se \
163 ${nonarch_base_libdir}/firmware/nxp/uart_iw610_bt.bin.se \
164 ${nonarch_base_libdir}/firmware/nxp/uartspi_iw610.bin.se \
165"
166RDEPENDS:${PN}-nxpiw610-sdio += "${PN}-nxp-common"
167RPROVIDES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
168RREPLACES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
169RCONFLICTS:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
170
148FILES:${PN}-nxpiw612-sdio = " \ 171FILES:${PN}-nxpiw612-sdio = " \
149 ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \ 172 ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
150 ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \ 173 ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \
@@ -157,4 +180,16 @@ RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
157RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 180RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
158RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 181RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
159 182
160COMPATIBLE_MACHINE = "(imx-generic-bsp)" 183RDEPENDS:${PN}-all-sdio = " \
184 ${PN}-nxp8801-sdio \
185 ${PN}-nxp8987-sdio \
186 ${PN}-nxp9098-sdio \
187 ${PN}-nxpiw416-sdio \
188 ${PN}-nxpiw610-sdio \
189 ${PN}-nxpiw612-sdio \
190"
191
192RDEPENDS:${PN}-all-pcie = " \
193 ${PN}-nxp8997-pcie \
194 ${PN}-nxp9098-pcie \
195"
diff --git a/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
index 9778bd1cf..7c5022761 100644
--- a/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
@@ -8,10 +8,9 @@ LICENSE = "BSD-3-Clause"
8LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444" 8LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444"
9 9
10SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz" 10SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz"
11SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6"
12SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b" 11SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
13 12
14S = "${WORKDIR}/sof-imx-${PV}" 13S = "${UNPACKDIR}/sof-imx-${PV}"
15 14
16inherit allarch 15inherit allarch
17 16
diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb
index 246198596..c35e31e07 100644
--- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2018-2023 NXP 1# Copyright (C) 2018-2024 NXP
2SUMMARY = "Freescale i.MX Firmware files used for boot" 2SUMMARY = "Freescale i.MX Firmware files used for boot"
3 3
4require firmware-imx-${PV}.inc 4require firmware-imx-${PV}.inc
diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
index 3a7660f86..2b5a9f50d 100644
--- a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
+++ b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
@@ -4,13 +4,12 @@ LICENSE = "Proprietary"
4SECTION = "BSP" 4SECTION = "BSP"
5LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de" 5LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
6 6
7SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
8 8
9S = "${WORKDIR}/${PN}-${PV}" 9S = "${UNPACKDIR}/${PN}-${PV}"
10 10
11inherit fsl-eula-unpack pkgconfig deploy 11inherit fsl-eula-unpack pkgconfig deploy
12 12
13SRC_URI[md5sum] = "65f28bd8ace3ce7116cb15685bfe1cd0"
14SRC_URI[sha256sum] = "1df3a03d69feb38a450ee63abc7713d78cf6339988476e4c9f95ebbf63790f66" 13SRC_URI[sha256sum] = "1df3a03d69feb38a450ee63abc7713d78cf6339988476e4c9f95ebbf63790f66"
15 14
16do_configure[noexec] = "1" 15do_configure[noexec] = "1"
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 3883c0246..260b01001 100644
--- a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
+++ b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
@@ -8,8 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1"
9SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354" 9SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354"
10 10
11S = "${WORKDIR}/git"
12
13do_install() { 11do_install() {
14 install -d ${D}${sbindir}/fsl_tlu 12 install -d ${D}${sbindir}/fsl_tlu
15 find . -type f -exec cp {} ${D}${sbindir}/fsl_tlu/ \; 13 find . -type f -exec cp {} ${D}${sbindir}/fsl_tlu/ \;
diff --git a/recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch b/recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch
new file mode 100644
index 000000000..f475cf334
--- /dev/null
+++ b/recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch
@@ -0,0 +1,35 @@
1From e82cafa7823cb2cad6ce933862b9ffdb880dba49 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Tue, 10 Jun 2025 15:04:32 -0700
4Subject: [PATCH] imx93: trdc: Fix header guard
5
6```
7| In file included from drivers/nxp/trdc/imx_trdc.c:13:
8| include/drivers/nxp/trdc/imx_trdc.h:7: error: header guard 'IMX_TRDC_H' followed by '#define' of a different macro [-Werror=header-guard]
9| 7 | #ifndef IMX_TRDC_H
10| include/drivers/nxp/trdc/imx_trdc.h:8: note: 'IMX_XRDC_H' is defined here; did you mean 'IMX_TRDC_H'?
11| 8 | #define IMX_XRDC_H
12```
13
14Upstream-Status: Submitted [https://github.com/nxp-imx/imx-atf/pull/2]
15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
16---
17 include/drivers/nxp/trdc/imx_trdc.h | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/include/drivers/nxp/trdc/imx_trdc.h b/include/drivers/nxp/trdc/imx_trdc.h
21index 7a6200c8d..8c759c65d 100644
22--- a/include/drivers/nxp/trdc/imx_trdc.h
23+++ b/include/drivers/nxp/trdc/imx_trdc.h
24@@ -5,7 +5,7 @@
25 */
26
27 #ifndef IMX_TRDC_H
28-#define IMX_XRDC_H
29+#define IMX_TRDC_H
30
31 #define MBC_BLK_ALL U(255)
32 #define MRC_REG_ALL U(16)
33--
342.34.1
35
diff --git a/recipes-bsp/imx-atf/imx-atf_2.10.bb b/recipes-bsp/imx-atf/imx-atf_2.10.bb
index 14ed12523..7448c28c5 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.10.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.10.bb
@@ -7,11 +7,10 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;m
7 7
8PV .= "+git${SRCPV}" 8PV .= "+git${SRCPV}"
9 9
10SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}" 10SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
11 file://0001-imx93-trdc-Fix-header-guard.patch"
11SRCBRANCH = "lf_v2.10" 12SRCBRANCH = "lf_v2.10"
12SRCREV = "49143a1701d9ccd3239e3f95f3042897ca889ea8" 13SRCREV = "78a14c75a06dea39036c44ae0f9d23acc7bcaef2"
13
14S = "${WORKDIR}/git"
15 14
16inherit deploy 15inherit deploy
17 16
@@ -34,7 +33,7 @@ LD[unexport] = "1"
34 33
35# Baremetal, just need a compiler 34# Baremetal, just need a compiler
36INHIBIT_DEFAULT_DEPS = "1" 35INHIBIT_DEFAULT_DEPS = "1"
37DEPENDS = "virtual/${HOST_PREFIX}gcc" 36DEPENDS = "virtual/cross-cc"
38 37
39# Bring in clang compiler if using clang as default 38# Bring in clang compiler if using clang as default
40DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}" 39DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}"
@@ -48,7 +47,9 @@ def remove_options_tail (in_string):
48 from itertools import takewhile 47 from itertools import takewhile
49 return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' '))) 48 return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
50 49
51EXTRA_OEMAKE += 'LD="${@remove_options_tail(d.getVar('LD'))}.bfd"' 50# LD can have linker suffix in its name e.g. aarch64-yoe-linux-ld.lld so we need to
51# drop .lld as well along with options from LD
52EXTRA_OEMAKE += 'LD="${HOST_PREFIX}ld.bfd"'
52 53
53EXTRA_OEMAKE += 'CC="${@remove_options_tail(d.getVar('CC'))}"' 54EXTRA_OEMAKE += 'CC="${@remove_options_tail(d.getVar('CC'))}"'
54 55
diff --git a/recipes-bsp/imx-kobs/imx-kobs_git.bb b/recipes-bsp/imx-kobs/imx-kobs_git.bb
index bdb02475a..4f0ed79a1 100644
--- a/recipes-bsp/imx-kobs/imx-kobs_git.bb
+++ b/recipes-bsp/imx-kobs/imx-kobs_git.bb
@@ -12,7 +12,6 @@ SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https;branch=master \
12 file://0001-Add-missing-includes-as-pointed-out-by-musl.patch \ 12 file://0001-Add-missing-includes-as-pointed-out-by-musl.patch \
13" 13"
14SRCREV = "ff13a99a22aa73cca0e09a33c2ebb6a94ad698da" 14SRCREV = "ff13a99a22aa73cca0e09a33c2ebb6a94ad698da"
15S = "${WORKDIR}/git"
16 15
17inherit autotools pkgconfig 16inherit autotools pkgconfig
18 17
diff --git a/recipes-bsp/imx-lib/imx-lib/0001-Fix-gcc-15-errors.patch b/recipes-bsp/imx-lib/imx-lib/0001-Fix-gcc-15-errors.patch
new file mode 100644
index 000000000..964658fce
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib/0001-Fix-gcc-15-errors.patch
@@ -0,0 +1,54 @@
1From 24e317b5cdc2b78735dfa7d4b2776b587b7a193f Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Thu, 12 Jun 2025 13:15:28 -0500
4Subject: [PATCH] Fix gcc 15 errors
5
6Fixes HDMI and IPU headers c23 violations:
7```
8In file included from mxc_hdmi-cec.c:40:
9hdmi-cec.h:54:23: error: 'bool' cannot be defined via 'typedef'
10 54 | typedef unsigned char bool;
11 | ^~~~
12hdmi-cec.h:54:23: note: 'bool' is a keyword with '-std=c23' onwards
13hdmi-cec.h:54:1: warning: useless type name in empty declaration
14 54 | typedef unsigned char bool;
15 | ^~~~~~~
16```
17
18Upstream-Status: Submitted
19Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
20---
21 hdmi-cec/hdmi-cec.h | 2 --
22 ipu/ipu.h | 3 ---
23 2 files changed, 5 deletions(-)
24
25diff --git a/hdmi-cec/hdmi-cec.h b/hdmi-cec/hdmi-cec.h
26index 7d466c5..2b66208 100644
27--- a/hdmi-cec/hdmi-cec.h
28+++ b/hdmi-cec/hdmi-cec.h
29@@ -51,8 +51,6 @@
30 #define false 0
31 #endif
32
33-typedef unsigned char bool;
34-
35 /*!
36 * Enumeration of device type.
37 */
38diff --git a/ipu/ipu.h b/ipu/ipu.h
39index 278385c..1a55875 100644
40--- a/ipu/ipu.h
41+++ b/ipu/ipu.h
42@@ -30,9 +30,6 @@
43 #ifdef __KERNEL__
44 #include <linux/interrupt.h>
45 #else
46-#ifndef __cplusplus
47-typedef unsigned char bool;
48-#endif
49 #define irqreturn_t int
50 #define dma_addr_t int
51 #define u32 unsigned int
52--
532.34.1
54
diff --git a/recipes-bsp/imx-lib/imx-lib_git.bb b/recipes-bsp/imx-lib/imx-lib_git.bb
index 9c9db88bc..a5df492d2 100644
--- a/recipes-bsp/imx-lib/imx-lib_git.bb
+++ b/recipes-bsp/imx-lib/imx-lib_git.bb
@@ -12,12 +12,11 @@ PE = "1"
12 12
13PV = "5.9+${SRCPV}" 13PV = "5.9+${SRCPV}"
14 14
15SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}" 15SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH} \
16SRCBRANCH = "lf-6.6.23_2.0.0" 16 file://0001-Fix-gcc-15-errors.patch"
17SRCBRANCH = "lf-6.12.3_1.0.0"
17SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547" 18SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547"
18 19
19S = "${WORKDIR}/git"
20
21inherit use-imx-headers 20inherit use-imx-headers
22 21
23PLATFORM:mx6q-nxp-bsp = "IMX6Q" 22PLATFORM:mx6q-nxp-bsp = "IMX6Q"
@@ -32,7 +31,7 @@ PLATFORM:mx7ulp-nxp-bsp = "IMX7"
32PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" 31PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
33PLATFORM:mx9-nxp-bsp = "IMX8ULP" 32PLATFORM:mx9-nxp-bsp = "IMX8ULP"
34 33
35PARALLEL_MAKE="-j 1" 34PARALLEL_MAKE = "-j 1"
36EXTRA_OEMAKE = "" 35EXTRA_OEMAKE = ""
37 36
38do_compile () { 37do_compile () {
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
index 3c027044d..6b027eb75 100644
--- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -38,12 +38,14 @@ do_compile[depends] += " \
38 38
39SC_FIRMWARE_NAME ?= "scfw_tcm.bin" 39SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
40 40
41OEI_ENABLE = "${@bb.utils.contains('DEPENDS', 'imx-oei', 'YES', 'NO', d)}" 41OEI_ENABLE = "${@bb.utils.contains('DEPENDS', 'virtual/imx-oei', 'YES', 'NO', d)}"
42OEI_NAME ?= "oei-${OEI_CORE}-*.bin" 42OEI_NAME ?= "oei-${OEI_CORE}-*.bin"
43 43
44ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin" 44ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin"
45ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" 45ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
46 46
47BOOT_VARIANT ?= ""
48
47TOOLS_NAME ?= "mkimage_imx8" 49TOOLS_NAME ?= "mkimage_imx8"
48 50
49IMX_BOOT_SOC_TARGET ?= "INVALID" 51IMX_BOOT_SOC_TARGET ?= "INVALID"
@@ -78,6 +80,7 @@ MKIMAGE_EXTRA_ARGS ?= ""
78MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp ?= " \ 80MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp ?= " \
79 OEI=${OEI_ENABLE} \ 81 OEI=${OEI_ENABLE} \
80 LPDDR_TYPE=${DDR_TYPE} \ 82 LPDDR_TYPE=${DDR_TYPE} \
83 ${@'LPDDR_FW_VERSION='+d.getVar('LPDDR_FW_VERSION') if d.getVar('LPDDR_FW_VERSION') else ''} \
81 ${@bb.utils.contains('SYSTEM_MANAGER_CONFIG', 'mx95alt', 'MSEL=1', '', d)}" 84 ${@bb.utils.contains('SYSTEM_MANAGER_CONFIG', 'mx95alt', 'MSEL=1', '', d)}"
82MKIMAGE_EXTRA_ARGS:imx95-19x19-verdin ?= " \ 85MKIMAGE_EXTRA_ARGS:imx95-19x19-verdin ?= " \
83 ${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \ 86 ${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \
@@ -104,7 +107,9 @@ compile_mx8m() {
104 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} \ 107 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} \
105 ${BOOT_STAGING} 108 ${BOOT_STAGING}
106 fi 109 fi
107 ln -sf ${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}/${UBOOT_DTB_NAME} 110 if [ "${UBOOT_DTB_NAME_EXTRA}" != "${UBOOT_DTB_NAME}" ] ; then
111 ln -sf ${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}/${UBOOT_DTB_NAME}
112 fi
108 113
109 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ 114 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
110 ${BOOT_STAGING}/u-boot-nodtb.bin 115 ${BOOT_STAGING}/u-boot-nodtb.bin
@@ -218,7 +223,7 @@ do_compile() {
218 UBOOT_DTB_NAME_EXTRA="${dtb_name}" 223 UBOOT_DTB_NAME_EXTRA="${dtb_name}"
219 fi 224 fi
220 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" 225 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
221 BOOT_CONFIG_MACHINE_EXTRA="imx-boot-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 226 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
222 227
223 for target in ${IMXBOOT_TARGETS}; do 228 for target in ${IMXBOOT_TARGETS}; do
224 compile_${SOC_FAMILY} 229 compile_${SOC_FAMILY}
@@ -269,7 +274,7 @@ do_install () {
269 bbnote "UBOOT_CONFIG = $type" 274 bbnote "UBOOT_CONFIG = $type"
270 275
271 UBOOT_CONFIG_EXTRA="$type" 276 UBOOT_CONFIG_EXTRA="$type"
272 BOOT_CONFIG_MACHINE_EXTRA="imx-boot-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 277 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
273 278
274 for target in ${IMXBOOT_TARGETS}; do 279 for target in ${IMXBOOT_TARGETS}; do
275 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/ 280 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/
@@ -376,7 +381,7 @@ do_deploy() {
376 for type in ${UBOOT_CONFIG}; do 381 for type in ${UBOOT_CONFIG}; do
377 UBOOT_CONFIG_EXTRA="$type" 382 UBOOT_CONFIG_EXTRA="$type"
378 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" 383 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
379 BOOT_CONFIG_MACHINE_EXTRA="imx-boot-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 384 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
380 385
381 if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then 386 if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
382 install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ 387 install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index 9b03d3924..3389b5b5e 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -1,14 +1,12 @@
1# Copyright 2017-2023 NXP 1# Copyright 2017-2025 NXP
2 2
3DEPENDS = "zlib-native openssl-native" 3DEPENDS = "zlib-native openssl-native"
4 4
5SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \ 5SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
6 file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \ 6 file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \
7" 7"
8SRCBRANCH = "lf-6.6.23_2.0.0" 8SRCBRANCH = "lf-6.12.3_1.0.0"
9SRCREV = "ca5d6b2d3fd9ab15825b97f7ef6f1ce9a8644966" 9SRCREV = "9e60b1f7a87a6397cf8db10e07293075f489e974"
10
11S = "${WORKDIR}/git"
12 10
13BOOT_TOOLS = "imx-boot-tools" 11BOOT_TOOLS = "imx-boot-tools"
14SYSROOT_DIRS += "/boot" 12SYSROOT_DIRS += "/boot"
diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb
index 7dc2e593e..42e8f6e19 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb
@@ -1,17 +1,18 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2022 NXP 2# Copyright (C) 2017-2024 NXP
3 3
4DESCRIPTION = "i.MX System Controller Firmware" 4DESCRIPTION = "i.MX System Controller Firmware"
5LICENSE = "Proprietary" 5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" 6LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
7SECTION = "BSP" 7SECTION = "BSP"
8 8
9inherit fsl-eula-unpack pkgconfig deploy 9inherit fsl-eula-unpack pkgconfig deploy
10 10
11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
12SRC_URI[sha256sum] = "392f1e5cdf1c8d7ed75409a2c46b00a332ace677f0e2700b587fe9ae800a1ff3"
13IMX_SRCREV_ABBREV = "654907b"
12 14
13SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f" 15S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
14SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
15 16
16BOARD_TYPE ?= "mek" 17BOARD_TYPE ?= "mek"
17SC_FIRMWARE_NAME ?= "INVALID" 18SC_FIRMWARE_NAME ?= "INVALID"
@@ -24,6 +25,9 @@ symlink_name = "scfw_tcm.bin"
24 25
25BOOT_TOOLS = "imx-boot-tools" 26BOOT_TOOLS = "imx-boot-tools"
26 27
28LDFLAGS:remove = "-fuse-ld=lld"
29LDFLAGS:append = " -fuse-ld=bfd"
30
27do_compile[noexec] = "1" 31do_compile[noexec] = "1"
28 32
29do_install[noexec] = "1" 33do_install[noexec] = "1"
@@ -38,8 +42,4 @@ INHIBIT_PACKAGE_STRIP = "1"
38INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 42INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
39PACKAGE_ARCH = "${MACHINE_ARCH}" 43PACKAGE_ARCH = "${MACHINE_ARCH}"
40 44
41LDFLAGS:remove = "-fuse-ld=lld"
42
43DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
44
45COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)" 45COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
index 353dcb910..fe366aacb 100644
--- a/recipes-bsp/imx-seco/imx-seco-libs_git.bb
+++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
@@ -16,8 +16,6 @@ SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRA
16 file://0001-Fix-return-value-of-void-functions.patch" 16 file://0001-Fix-return-value-of-void-functions.patch"
17SRCREV = "273553f207425f773400be7a7f3a7c425d892d6f" 17SRCREV = "273553f207425f773400be7a7f3a7c425d892d6f"
18 18
19S = "${WORKDIR}/git"
20
21TARGET_CC_ARCH += "${LDFLAGS}" 19TARGET_CC_ARCH += "${LDFLAGS}"
22 20
23do_install () { 21do_install () {
diff --git a/recipes-bsp/imx-seco/imx-seco_5.9.4.bb b/recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb
index 14b15da29..2710297d6 100644
--- a/recipes-bsp/imx-seco/imx-seco_5.9.4.bb
+++ b/recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb
@@ -1,18 +1,19 @@
1# Copyright 2019-2022 NXP 1# Copyright 2019-2024 NXP
2 2
3SUMMARY = "NXP i.MX SECO firmware" 3SUMMARY = "NXP i.MX SECO firmware"
4DESCRIPTION = "Firmware for i.MX Security Controller Subsystem" 4DESCRIPTION = "Firmware for i.MX Security Controller Subsystem"
5SECTION = "base" 5SECTION = "base"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 7LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
8 8
9inherit fsl-eula-unpack use-imx-security-controller-firmware deploy 9inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
10 10
11SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
12 12
13SRC_URI[md5sum] = "d05d6b15ad9ad0df141e1fc736f4a622" 13SRC_URI[sha256sum] = "bd8dc01966076836aabff53f2463295294166595006e1db430db21b6ffa6b667"
14SRC_URI[sha256sum] = "9b04be33814a9cbda9bbfcb6711585cf7e4ed2527793813c95230f350323cba7" 14IMX_SRCREV_ABBREV = "0333596"
15 15
16S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
16 17
17do_compile[noexec] = "1" 18do_compile[noexec] = "1"
18 19
diff --git a/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb b/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
index b065fc55b..525824f79 100644
--- a/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
+++ b/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
@@ -9,12 +9,10 @@ DEPENDS = "openssl"
9 9
10inherit systemd 10inherit systemd
11 11
12SRC_URI = "git://github.com/NXP/imx-secure-enclave.git;protocol=https;branch=lf-6.6.3_1.0.0" 12SRC_URI = "git://github.com/NXP/imx-secure-enclave.git;protocol=https;branch=lf-6.6.52_2.2.0"
13SRCREV = "964affa2cb3f9f7fc85a6a18db60f9213f744495" 13SRCREV = "dffbb844e86f4a49058ffbb40548474059969c27"
14 14
15PV = "lf-6.6.3_1.0.0" 15PV = "lf-6.6.52_2.2.0"
16
17S = "${WORKDIR}/git"
18 16
19EXTRA_OEMAKE += "PLAT=ele" 17EXTRA_OEMAKE += "PLAT=ele"
20 18
diff --git a/recipes-bsp/imx-test/imx-test_git.bb b/recipes-bsp/imx-test/imx-test_git.bb
index ae3dc4692..46a00d4fc 100644
--- a/recipes-bsp/imx-test/imx-test_git.bb
+++ b/recipes-bsp/imx-test/imx-test_git.bb
@@ -20,10 +20,8 @@ PV = "7.0+${SRCPV}"
20 20
21SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \ 21SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
22 file://memtool_profile" 22 file://memtool_profile"
23SRCBRANCH = "lf-6.6.3_1.0.0" 23SRCBRANCH = "lf-6.12.3_1.0.0"
24SRCREV = "8a1fa37664a1e470cf86f1185c08e265e4602a9b" 24SRCREV = "92a497313016bfa536d561e13fcbad2d273ded4c"
25
26S = "${WORKDIR}/git"
27 25
28inherit module-base use-imx-headers 26inherit module-base use-imx-headers
29 27
@@ -40,6 +38,7 @@ PLATFORM:mx7d-nxp-bsp = "IMX7D"
40PLATFORM:mx7ulp-nxp-bsp = "IMX7D" 38PLATFORM:mx7ulp-nxp-bsp = "IMX7D"
41PLATFORM:mx8-nxp-bsp = "IMX8" 39PLATFORM:mx8-nxp-bsp = "IMX8"
42PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" 40PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
41PLATFORM:mx91-nxp-bsp = "IMX8"
43PLATFORM:mx93-nxp-bsp = "IMX8ULP" 42PLATFORM:mx93-nxp-bsp = "IMX8ULP"
44PLATFORM:mx95-nxp-bsp = "IMX8" 43PLATFORM:mx95-nxp-bsp = "IMX8"
45 44
diff --git a/recipes-bsp/imx-uuc/imx-uuc_git.bb b/recipes-bsp/imx-uuc/imx-uuc_git.bb
index 49fc15581..d373e27e3 100644
--- a/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -6,15 +6,15 @@ DEPENDS = "virtual/kernel dosfstools-native"
6LICENSE = "GPL-2.0-only" 6LICENSE = "GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
8 8
9inherit autotools-brokensep
10
11PR = "r1" 9PR = "r1"
12PV = "0.5.1+git${SRCPV}" 10PV = "0.5.1+git${SRCPV}"
13 11
14SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master" 12SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
15SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83" 13SRCREV = "25f65e10368aa07056f9536e88ed911ac7f38f99"
16 14
17S = "${WORKDIR}/git" 15do_install() {
16 oe_runmake 'DESTDIR=${D}' install
17}
18 18
19FILES:${PN} += "/linuxrc /fat" 19FILES:${PN} += "/linuxrc /fat"
20 20
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch
new file mode 100644
index 000000000..8d017ab71
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch
@@ -0,0 +1,39 @@
1From e7f6097c9e7cb30f130502cc4804e1a1b01342de Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 16:13:38 +0000
4Subject: [PATCH] base_type.h: make header compatible with c23
5
6With C23 bool, true and false are built in keywords and cannot be
7redefined.
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 usr/include/hantro_VC8000E_enc/base_type.h | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/usr/include/hantro_VC8000E_enc/base_type.h b/usr/include/hantro_VC8000E_enc/base_type.h
16index 282fc81b8eba..af4212eed2bd 100755
17--- a/usr/include/hantro_VC8000E_enc/base_type.h
18+++ b/usr/include/hantro_VC8000E_enc/base_type.h
19@@ -67,6 +67,9 @@ typedef unsigned int UInt;
20 #define HANTRO_FALSE 0
21 #define HANTRO_TRUE 1
22
23+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
24+/* bool, true and false are keywords. */
25+#else
26 #ifndef bool
27 typedef enum
28 {
29@@ -74,6 +77,7 @@ typedef enum
30 true = HANTRO_TRUE
31 } bool;
32 #endif
33+#endif
34
35 enum
36 {
37--
382.42.0
39
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.1.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb
index 76dd55b8c..68c2a4979 100644
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.1.bb
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb
@@ -2,15 +2,19 @@
2 2
3DESCRIPTION = "i.MX VC8000E Encoder library" 3DESCRIPTION = "i.MX VC8000E Encoder library"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de" 5LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
6 6
7inherit fsl-eula-unpack 7inherit fsl-eula-unpack
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 9SRC_URI = " \
10 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
11 file://0001-base_type.h-make-header-compatible-with-c23.patch \
12"
13IMX_SRCREV_ABBREV = "c0244a1"
10 14
11S = "${WORKDIR}/${BPN}-${PV}" 15SRC_URI[sha256sum] = "713ba375f25490727fcc62bab5d5508f74de03204b4c153464b696b652c5c7df"
12 16
13SRC_URI[sha256sum] = "84fcefa0619def2f009ca6651c5cffcda57fed29cd7060ef68be48c5d0d7814b" 17S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
14 18
15# SCR is the location and name of the Software Content Register file 19# SCR is the location and name of the Software Content Register file
16# relative to ${D}${D_SUBDIR}. 20# relative to ${D}${D_SUBDIR}.
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.9.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb
index ee10518cf..940b9fa41 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.9.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb
@@ -6,8 +6,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1"
6DEPENDS = "imx-vpu-hantro" 6DEPENDS = "imx-vpu-hantro"
7DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" 7DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}.tar.gz" 9SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.tar.gz"
10SRC_URI[sha256sum] = "80d6620063fd5e5506b05c907677b579d471a9b6daa8b26ffb963110cc680bf9" 10IMX_SRCREV_ABBREV = "3200e68"
11
12SRC_URI[sha256sum] = "e7806a92d4a5ab51b76d9edef5175a95625c4ac3cab467fe1519bb0ce16e6535"
13
14S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
11 15
12PLATFORM:mx8mm-nxp-bsp = "IMX8MM" 16PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
13PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" 17PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch
new file mode 100644
index 000000000..bbfec172a
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch
@@ -0,0 +1,38 @@
1From e39a6602817e4221ae09ac3d520ca6a0d94814dc Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 16:13:38 +0000
4Subject: [PATCH] basetype.h: make header compatible with c23
5
6With C23 bool, true and false are built in keywords and cannot be
7redefined.
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 h1_encoder/software/inc/basetype.h | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/h1_encoder/software/inc/basetype.h b/h1_encoder/software/inc/basetype.h
16index 55e46a195b3b..6655ec54481b 100755
17--- a/h1_encoder/software/inc/basetype.h
18+++ b/h1_encoder/software/inc/basetype.h
19@@ -66,12 +66,16 @@ typedef size_t ptr_t;
20 #define PRT_PTR "x"
21 #endif
22
23+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
24+/* bool, true and false are keywords. */
25+#else
26 #ifndef __cplusplus
27 typedef enum {
28 false = 0,
29 true = 1
30 } bool;
31 #endif
32+#endif
33
34 #else /* __symbian__ or __win__ or whatever, customize it to suit well */
35
36--
372.42.0
38
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch
new file mode 100644
index 000000000..da1af2b9c
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch
@@ -0,0 +1,90 @@
1From 0c5bdd12a6f3ba73e605656828bf429966a997ef Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 13:25:26 +0000
4Subject: [PATCH] test: md5: convert to ansi c
5
6GCC 15 no longer likes this K&R style function declarations.
7
8Upstream-Status: Pending
9Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
10---
11 decoder_sw/software/test/common/swhw/md5.c | 15 +++++----------
12 decoder_sw/software/test/common/swhw/md5.h | 8 ++++----
13 2 files changed, 9 insertions(+), 14 deletions(-)
14
15diff --git a/decoder_sw/software/test/common/swhw/md5.c b/decoder_sw/software/test/common/swhw/md5.c
16index c3334bf751fd..20014fbdf268 100755
17--- a/decoder_sw/software/test/common/swhw/md5.c
18+++ b/decoder_sw/software/test/common/swhw/md5.c
19@@ -42,8 +42,7 @@
20 /*
21 * Note: this code is harmless on little-endian machines.
22 */
23-void ByteReverse(buf, longs) unsigned char *buf;
24-unsigned longs;
25+void ByteReverse(unsigned char *buf, unsigned longs)
26 {
27 uint32 t;
28 do {
29@@ -59,7 +58,7 @@ unsigned longs;
30 * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
31 * initialization constants.
32 */
33-void MD5Init(ctx) struct MD5Context *ctx;
34+void MD5Init(struct MD5Context *ctx)
35 {
36 ctx->buf[0] = 0x67452301;
37 ctx->buf[1] = 0xefcdab89;
38@@ -74,9 +73,7 @@ void MD5Init(ctx) struct MD5Context *ctx;
39 * Update context to reflect the concatenation of another buffer full
40 * of bytes.
41 */
42-void MD5Update(ctx, buf, len) struct MD5Context *ctx;
43-unsigned char *buf;
44-unsigned len;
45+void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len)
46 {
47 uint32 t;
48
49@@ -124,8 +121,7 @@ unsigned len;
50 * Final wrapup - pad to 64-byte boundary with the bit pattern
51 * 1 0* (64-bit count of bits processed, MSB-first)
52 */
53-void MD5Final(digest, ctx) unsigned char digest[16];
54-struct MD5Context *ctx;
55+void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
56 {
57 unsigned count;
58 unsigned char *p;
59@@ -186,8 +182,7 @@ struct MD5Context *ctx;
60 * reflect the addition of 16 longwords of new data. MD5Update blocks
61 * the data and converts bytes into longwords for this routine.
62 */
63-void MD5Transform(buf, in) uint32 buf[4];
64-uint32 in[16];
65+void MD5Transform(uint32 buf[4], uint32 in[16])
66 {
67 register uint32 a, b, c, d;
68
69diff --git a/decoder_sw/software/test/common/swhw/md5.h b/decoder_sw/software/test/common/swhw/md5.h
70index 516400236606..c1d773093b66 100755
71--- a/decoder_sw/software/test/common/swhw/md5.h
72+++ b/decoder_sw/software/test/common/swhw/md5.h
73@@ -76,10 +76,10 @@ struct MD5Context {
74 unsigned char in[64];
75 };
76
77-extern void MD5Init();
78-extern void MD5Update();
79-extern void MD5Final();
80-extern void MD5Transform();
81+extern void MD5Init(struct MD5Context *ctx);
82+extern void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len);
83+extern void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
84+extern void MD5Transform(uint32 buf[4], uint32 in[16]);
85
86 /*
87 * This is needed to make RSAREF happy on some MS-DOS compilers.
88--
892.42.0
90
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.32.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
index 2a35f9acd..d766e0191 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.32.0.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
@@ -2,16 +2,24 @@
2 2
3DESCRIPTION = "i.MX Hantro VPU library" 3DESCRIPTION = "i.MX Hantro VPU library"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" 5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6 6
7PROVIDES = "virtual/imxvpu" 7PROVIDES = "virtual/imxvpu"
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 9SRC_URI = " \
10SRC_URI[sha256sum] = "f751ab7369d48e610ea3b6b0dc5a885c70a510861d6b46296ffc063fed370003" 10 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
11 file://0001-test-md5-convert-to-ansi-c.patch \
12 file://0001-basetype.h-make-header-compatible-with-c23.patch \
13"
14IMX_SRCREV_ABBREV = "194a305"
15
16SRC_URI[sha256sum] = "0ef1fb5c6653c08f2d2812c72dedf3e8beb091dd5b3d70d6e26f41bac4ebffa7"
17
18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
11 19
12inherit fsl-eula-unpack use-imx-headers 20inherit fsl-eula-unpack use-imx-headers
13 21
14PARALLEL_MAKE="-j 1" 22PARALLEL_MAKE = "-j 1"
15 23
16PLATFORM:mx8mm-nxp-bsp = "IMX8MM" 24PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
17PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" 25PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
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 553f39930..fc90cdab7 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
@@ -11,7 +11,6 @@ PROVIDES = "virtual/imxvpu"
11PE = "1" 11PE = "1"
12 12
13SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 13SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
14SRC_URI[md5sum] = "6d6302189a6704874375afe62a65def0"
15SRC_URI[sha256sum] = "87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127" 14SRC_URI[sha256sum] = "87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127"
16 15
17inherit fsl-eula-unpack use-imx-headers 16inherit fsl-eula-unpack use-imx-headers
diff --git a/recipes-bsp/inphi/inphi_git.bb b/recipes-bsp/inphi/inphi_git.bb
index 4deacb581..5c2e4197f 100644
--- a/recipes-bsp/inphi/inphi_git.bb
+++ b/recipes-bsp/inphi/inphi_git.bb
@@ -7,8 +7,6 @@ inherit deploy
7SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https" 7SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https"
8SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695" 8SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695"
9 9
10S = "${WORKDIR}/git"
11
12do_install () { 10do_install () {
13 install -d ${D}/boot 11 install -d ${D}/boot
14 cp -fr ${S}/in112525-phy-ucode.txt ${D}/boot 12 cp -fr ${S}/in112525-phy-ucode.txt ${D}/boot
diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb
index 0ab440748..aebb28bb7 100644
--- a/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
+++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb
@@ -1,17 +1,23 @@
1# Copyright 2020-2023 NXP 1# Copyright (C) 2020-2024 NXP
2 2
3DESCRIPTION = "Basler camera binary drivers" 3DESCRIPTION = "Basler camera binary drivers"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7" 5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6
7IMX_SRCREV_ABBREV = "d1f506a"
6 8
7inherit fsl-eula-unpack 9inherit fsl-eula-unpack
8 10
9SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
12
13SRC_URI[sha256sum] = "49d1b3691d18e2ba5f43a6e2c59ac16767b6e077a118cafec7f51293d6bf30f3"
14
15S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
10 16
11SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71" 17do_compile[noexec] = "1"
12SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
13 18
14do_install() { 19do_install() {
20 oe_runmake install INSTALL_DIR=${D}
15 dest_dir=${D}/opt/imx8-isp/bin 21 dest_dir=${D}/opt/imx8-isp/bin
16 install -d ${D}/${libdir} 22 install -d ${D}/${libdir}
17 install -d $dest_dir 23 install -d $dest_dir
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
deleted file mode 100644
index 3f04000cf..000000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 15aae364fb52df30e4a49e73e2048fdc633e6868 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Sun, 8 Oct 2023 09:15:54 -0300
4Subject: [PATCH] cpp-netlib: parsers.ipp: add missing include
5
6With the update to boost from 1.82.0 -> 1.83.0 we now get compiler errors:
7
8| .../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
9
10Add the missing explicit include. Before the file was indirectly included from qi.hpp:
11
12| In file included from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/regex/pending/unicode_iterator.hpp:27,
13| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/utf8.hpp:15,
14| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/info.hpp:17,
15| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/domain.hpp:16,
16| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/meta_compiler.hpp:15,
17| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action/action.hpp:14,
18| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action.hpp:14,
19| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi.hpp:14,
20| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/include/qi.hpp:16,
21| 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,
22
23Upstream-Status: Pending
24
25Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
26---
27 .../boost/network/protocol/http/server/impl/parsers.ipp | 1 +
28 1 file changed, 1 insertion(+)
29
30diff --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
31index c31e60e..2b83fbe 100755
32--- a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
33+++ b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
34@@ -13,6 +13,7 @@
35 #include <tuple>
36 #include <boost/fusion/include/std_tuple.hpp>
37 #include <boost/network/protocol/http/message/header.hpp>
38+#include <boost/regex/pending/unicode_iterator.hpp>
39
40 #ifdef BOOST_NETWORK_NO_LIB
41 #ifndef BOOST_NETWORK_INLINE
42--
432.35.3
44
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
deleted file mode 100644
index 9e0f02656..000000000
--- a/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
+++ /dev/null
@@ -1,105 +0,0 @@
1# Copyright 2020-2023 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
6DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 patchelf-native"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/${BP}.bin;fsl-eula=true \
10 file://0001-cpp-netlib-parsers.ipp-add-missing-include.patch \
11"
12
13SRC_URI[sha256sum] = "34b23f5b9f0856a8f5722e339a7ad4ccf4d99614788598306ff8b20093c1e846"
14
15inherit fsl-eula-unpack cmake systemd use-imx-headers
16
17# Build the sub-folder appshell
18OECMAKE_SOURCEPATH = "${S}/appshell"
19
20# Use make instead of ninja
21OECMAKE_GENERATOR = "Unix Makefiles"
22
23# Workaround for linking issues seen with gold linker
24LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
25
26SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
27
28EXTRA_OECMAKE += " \
29 -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
30 -DCMAKE_BUILD_TYPE=release \
31 -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
32 -DCMAKE_INSTALL_LIBDIR=${libdir} \
33 -DISP_VERSION=ISP8000NANO_V1802 \
34 -DPLATFORM=ARM64 \
35 -DAPPMODE=V4L2 \
36 -DTUNINGEXT=1 \
37 -DQTLESS=1 \
38 -DFULL_SRC_COMPILE=1 \
39 -DWITH_DRM=1 \
40 -DWITH_DWE=1 \
41 -DSERVER_LESS=1 \
42 -DSUBDEV_V4L2=1 \
43 -DENABLE_IRQ=1 \
44 -DPARTITION_BUILD=0 \
45 -D3A_SRC_BUILD=0 \
46 -DIMX_G2D=ON \
47 -Wno-dev \
48"
49
50do_configure:prepend () {
51 # FIXME: Should be rebuild.
52 patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/units/cam_device/proprietories/lib/libcam_device.so
53 patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/mediacontrol/lib/arm-64/fpga/libcam_device.so
54}
55
56do_install() {
57 # FIXME: provided by the basler-camera package, do not install them here additionally
58 rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
59
60 install -d ${D}/${libdir}
61 install -d ${D}/${includedir}
62 install -d ${D}/opt/imx8-isp/bin
63 install -d ${D}/opt/imx8-isp/bin/dewarp_config
64
65 cp -r ${B}/generated/release/bin/*_test ${D}/opt/imx8-isp/bin
66 cp -r ${B}/generated/release/bin/*.xml ${D}/opt/imx8-isp/bin
67 cp -r ${B}/generated/release/bin/*.drv ${D}/opt/imx8-isp/bin
68 cp -r ${B}/generated/release/bin/tuningext ${D}/opt/imx8-isp/bin
69 cp -r ${B}/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin
70 cp -r ${B}/generated/release/bin/vvext ${D}/opt/imx8-isp/bin
71
72 cp -r ${B}/generated/release/lib/*.so* ${D}/${libdir}
73 cp -r ${B}/generated/release/include/* ${D}/${includedir}
74
75 cp -r ${S}/dewarp/dewarp_config/ ${D}/opt/imx8-isp/bin
76 cp ${S}/imx/run.sh ${D}/opt/imx8-isp/bin
77 cp ${S}/imx/start_isp.sh ${D}/opt/imx8-isp/bin
78
79 chmod +x ${D}/opt/imx8-isp/bin/run.sh
80 chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh
81
82 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
83 install -d ${D}${systemd_system_unitdir}
84 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
85 fi
86}
87
88# The build contains a mix of versioned and unversioned libraries, so
89# the default packaging configuration needs some modification so that
90# unversioned .so libraries go to the main package and versioned .so
91# symlinks go to -dev.
92FILES_SOLIBSDEV = ""
93FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
94FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
95FILES_SOLIBS_VERSIONED = " \
96 ${libdir}/libcppnetlib-client-connections.so \
97 ${libdir}/libcppnetlib-server-parsers.so \
98 ${libdir}/libcppnetlib-uri.so \
99 ${libdir}/libjsoncpp.so \
100 ${libdir}/libos08a20.so \
101"
102
103RDEPENDS:${PN} = "libdrm"
104
105COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
new file mode 100644
index 000000000..28ab57b74
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
@@ -0,0 +1,99 @@
1# Copyright (C) 2020-2024 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 jsoncpp patchelf-native"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
10"
11IMX_SRCREV_ABBREV = "327f21d"
12S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
13
14SRC_URI[sha256sum] = "f57c6fe1c2dd1c8e5991a625d0b3a1dbfdfe6d39a1a116a904d543faa0f4f6f0"
15
16inherit fsl-eula-unpack cmake systemd use-imx-headers
17
18PACKAGECONFIG = ""
19# Note: building with tuningext fails with boost 1.87.
20# (update to 1.87 with walnascar)
21PACKAGECONFIG[tuningext] = "-DTUNINGEXT=1,-DTUNINGEXT=0"
22
23# Build the sub-folder appshell
24OECMAKE_SOURCEPATH = "${S}/appshell"
25
26# Use make instead of ninja
27OECMAKE_GENERATOR = "Unix Makefiles"
28
29# Workaround for linking issues seen with gold linker
30LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
31
32SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
33
34EXTRA_OECMAKE += " \
35 -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
36 -DCMAKE_BUILD_TYPE=release \
37 -DISP_VERSION=ISP8000NANO_V1802 \
38 -DPLATFORM=ARM64 \
39 -DTUNINGEXT=1 \
40 -DQTLESS=1 \
41 -DFULL_SRC_COMPILE=1 \
42 -DWITH_DRM=1 \
43 -DWITH_DWE=1 \
44 -DSUBDEV_V4L2=1 \
45 -DPARTITION_BUILD=0 \
46 -D3A_SRC_BUILD=0 \
47 -DIMX_G2D=ON \
48 -Wno-dev \
49"
50
51do_configure:prepend () {
52 # FIXME: should be rebuild.
53 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/bin/isp_media_server
54 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/lib/libmedia_server.so
55 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/tuningext/install/tuningext
56
57 # FIXME: Should be rebuild.
58 patchelf --replace-needed libtinyxml2.so.10 libtinyxml2.so.11 ${S}/appshell/shell_libs/ispcore/ARM64/libcam_device.so
59}
60
61do_install() {
62 # FIXME: provided by the basler-camera package, do not install them here additionally
63 rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
64
65 # The Makefile unconditionally installs tuningext even if it is not built
66 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
67 touch ${B}/generated/release/bin/tuningext
68 fi
69
70 oe_runmake -f ${S}/Makefile install INSTALL_DIR=${D} SOURCE_DIR=${S}
71
72 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
73 rm ${D}/opt/imx8-isp/bin/tuningext
74 fi
75
76 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
77 install -d ${D}${systemd_system_unitdir}
78 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
79 fi
80
81}
82
83# The build contains a mix of versioned and unversioned libraries, so
84# the default packaging configuration needs some modification so that
85# unversioned .so libraries go to the main package and versioned .so
86# symlinks go to -dev.
87FILES_SOLIBSDEV = ""
88FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
89FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
90FILES_SOLIBS_VERSIONED = " \
91 ${libdir}/libcppnetlib-client-connections.so \
92 ${libdir}/libcppnetlib-server-parsers.so \
93 ${libdir}/libcppnetlib-uri.so \
94 ${libdir}/libos08a20.so \
95"
96
97RDEPENDS:${PN} = "libdrm"
98
99COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
index 5b04b1e2c..b1cd3d863 100644
--- a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
+++ b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
@@ -13,9 +13,6 @@ SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH};pr
13 file://run-ptest \ 13 file://run-ptest \
14 " 14 "
15 15
16
17S = "${WORKDIR}/git"
18
19inherit pkgconfig waf use-imx-headers ptest 16inherit pkgconfig waf use-imx-headers ptest
20 17
21EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \ 18EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
diff --git a/recipes-bsp/ls2-phy/ls2-phy_git.bb b/recipes-bsp/ls2-phy/ls2-phy_git.bb
index c13a05a19..60ab5e183 100644
--- a/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -7,8 +7,6 @@ inherit deploy
7SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https" 7SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https"
8SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf" 8SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf"
9 9
10S = "${WORKDIR}/git"
11
12do_install () { 10do_install () {
13 install -d ${D}/boot 11 install -d ${D}/boot
14 cp -fr ${S}/* ${D}/boot 12 cp -fr ${S}/* ${D}/boot
diff --git a/recipes-bsp/mc-utils/mc-utils_git.bb b/recipes-bsp/mc-utils/mc-utils_git.bb
index 568096c44..9e9f8d409 100644
--- a/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -8,9 +8,7 @@ DEPENDS += "dtc-native"
8inherit deploy 8inherit deploy
9 9
10SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1" 10SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1"
11SRCREV = "8efeeac253ff780cbf1382ff40e09436d65e220d" 11SRCREV = "5ccc2688b72c4a05119a393cbe3573b5f81d10bc"
12
13S = "${WORKDIR}/git"
14 12
15MC_CFG ?= "" 13MC_CFG ?= ""
16MC_CFG:ls1088a = "ls1088a" 14MC_CFG:ls1088a = "ls1088a"
diff --git a/recipes-bsp/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb
index 17da814f8..9fc6338c4 100644
--- a/recipes-bsp/mxsldr/mxsldr_git.bb
+++ b/recipes-bsp/mxsldr/mxsldr_git.bb
@@ -13,8 +13,6 @@ SRC_URI = "git://git.denx.de/mxsldr.git;branch=master \
13 13
14PV = "0.0.0+git${SRCPV}" 14PV = "0.0.0+git${SRCPV}"
15 15
16S = "${WORKDIR}/git"
17
18inherit pkgconfig 16inherit pkgconfig
19 17
20do_compile() { 18do_compile() {
diff --git a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
index bb542e8c0..ddbb2031c 100644
--- a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
+++ b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
@@ -10,8 +10,6 @@ inherit deploy
10SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https" 10SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https"
11SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234" 11SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234"
12 12
13S = "${WORKDIR}/git"
14
15do_install () { 13do_install () {
16 install -d ${D}${nonarch_base_libdir}/firmware 14 install -d ${D}${nonarch_base_libdir}/firmware
17 install -d ${D}/boot/engine-pfe-bin 15 install -d ${D}/boot/engine-pfe-bin
diff --git a/recipes-bsp/qe-ucode/qe-ucode_git.bb b/recipes-bsp/qe-ucode/qe-ucode_git.bb
index 33648d1e2..582fb1e46 100644
--- a/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -1,14 +1,12 @@
1DESCRIPTION = "qe microcode binary" 1DESCRIPTION = "qe microcode binary"
2SECTION = "qe-ucode" 2SECTION = "qe-ucode"
3LICENSE = "NXP-Binary-EULA" 3LICENSE = "NXP-Binary-EULA"
4LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=c62f8109b4df15ca37ceeb5e4943626c" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=c62f8109b4df15ca37ceeb5e4943626c"
5 5
6inherit deploy 6inherit deploy
7 7
8SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https" 8SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https"
9SRCREV= "57401f6dff6507055558eaa6838116baa8a2fd46" 9SRCREV = "c89d7843943fd3bd52aa5f1ff7a91200a2f7f63b"
10
11S = "${WORKDIR}/git"
12 10
13do_install () { 11do_install () {
14 install -d ${D}/boot 12 install -d ${D}/boot
diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
index 5721313b2..b73dd9753 100644
--- a/recipes-bsp/rcw/rcw_git.bb
+++ b/recipes-bsp/rcw/rcw_git.bb
@@ -8,17 +8,15 @@ DEPENDS += "tcl-native"
8inherit deploy siteinfo 8inherit deploy siteinfo
9 9
10SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1" 10SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
11SRCREV = "020dcf0645959afec6705f518e8350476891ef4f" 11SRCREV = "64abe70cf0abab053c37db460c12e367e6adf7a4"
12
13S = "${WORKDIR}/git"
14 12
15export PYTHON = "${USRBINPATH}/python3" 13export PYTHON = "${USRBINPATH}/python3"
16 14
17M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}" 15M = "${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
18 16
19BOARD_TARGETS="${M}" 17BOARD_TARGETS = "${M}"
20BOARD_TARGETS:ls2088ardb="${M} ${M}_rev1.1" 18BOARD_TARGETS:ls2088ardb = "${M} ${M}_rev1.1"
21BOARD_TARGETS:ls1088ardb-pb="ls1088ardb" 19BOARD_TARGETS:ls1088ardb-pb = "ls1088ardb"
22BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2" 20BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2"
23BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2" 21BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2"
24 22
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc
index b2bea55c9..9cc6b958d 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc
+++ b/recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc
@@ -10,10 +10,10 @@ DEPENDS += "flex-native bison-native"
10 10
11SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https" 11SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https"
12 12
13SRCREV = "5b4d66dd41432d36c22bcdfa2d1ca4afc3a1c2fc" 13SRCREV = "aa4bc52d08c342df83e3c576e2c108d7c8816e0e"
14SRCBRANCH = "2024.07+fslc" 14SRCBRANCH = "2025.01+fslc"
15 15
16PV = "2024.07+fslc+git${SRCPV}" 16PV = "2025.01+fslc+git${SRCPV}"
17CVE_PRODUCT = "denx:u-boot"
17 18
18S = "${WORKDIR}/git"
19B = "${WORKDIR}/build" 19B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.07.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb
index b7e4ca760..b7e4ca760 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.07.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2024.07.bb b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb
index 4dc698219..4dc698219 100644
--- a/recipes-bsp/u-boot/u-boot-fslc_2024.07.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
index 5d49a8306..9640ba1de 100644
--- a/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
+++ b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
@@ -3,10 +3,11 @@ DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
3LICENSE = "GPL-2.0-or-later" 3LICENSE = "GPL-2.0-or-later"
4LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" 4LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5 5
6SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" 6SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH}"
7UBOOT_SRC ?= "git://github.com/nxp-imx/uboot-imx.git;protocol=https"
7SRCBRANCH = "lf_v2024.04" 8SRCBRANCH = "lf_v2024.04"
8LOCALVERSION ?= "-imx_v2024.04_6.6.23-2.0.0" 9LOCALVERSION ?= "-${SRCBRANCH}"
9SRCREV = "674440bc73e1dd483b84269cccfad89ab40af424" 10SRCREV = "e3219a5a73445219df605d1492687918d488055c"
10 11
11DEPENDS += " \ 12DEPENDS += " \
12 bc-native \ 13 bc-native \
@@ -17,7 +18,6 @@ DEPENDS += " \
17 xxd-native \ 18 xxd-native \
18" 19"
19 20
20S = "${WORKDIR}/git"
21B = "${WORKDIR}/build" 21B = "${WORKDIR}/build"
22 22
23inherit fsl-u-boot-localversion 23inherit fsl-u-boot-localversion
diff --git a/recipes-bsp/u-boot/u-boot-imx_2024.04.bb b/recipes-bsp/u-boot/u-boot-imx_2024.04.bb
index 29d835278..695987801 100644
--- a/recipes-bsp/u-boot/u-boot-imx_2024.04.bb
+++ b/recipes-bsp/u-boot/u-boot-imx_2024.04.bb
@@ -1,6 +1,6 @@
1# Copyright (C) 2013-2016 Freescale Semiconductor 1# Copyright (C) 2013-2016 Freescale Semiconductor
2# Copyright 2018 (C) O.S. Systems Software LTDA. 2# Copyright 2018 (C) O.S. Systems Software LTDA.
3# Copyright (C) 2017-2024 NXP 3# Copyright 2017-2024 NXP
4 4
5require recipes-bsp/u-boot/u-boot.inc 5require recipes-bsp/u-boot/u-boot.inc
6require u-boot-imx-common_${PV}.inc 6require u-boot-imx-common_${PV}.inc
@@ -14,6 +14,8 @@ inherit uuu_bootloader_tag
14UUU_BOOTLOADER:mx8-generic-bsp = "" 14UUU_BOOTLOADER:mx8-generic-bsp = ""
15UUU_BOOTLOADER:mx9-generic-bsp = "" 15UUU_BOOTLOADER:mx9-generic-bsp = ""
16 16
17TOOLCHAIN_OPTIONS:append = " -Wno-error=implicit-function-declaration"
18
17do_deploy:append:mx8m-generic-bsp() { 19do_deploy:append:mx8m-generic-bsp() {
18 # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary 20 # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
19 if [ -n "${UBOOT_CONFIG}" ] 21 if [ -n "${UBOOT_CONFIG}" ]
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
index c46eae331..c765cd2d7 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
@@ -15,9 +15,8 @@ LIC_FILES_CHKSUM = " \
15" 15"
16 16
17SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1" 17SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
18SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477" 18SRCREV = "1c0116f3da250c5a52858c53efb8b38c0963f477"
19 19
20S = "${WORKDIR}/git"
21B = "${WORKDIR}/build" 20B = "${WORKDIR}/build"
22PV:append = "+fslgit" 21PV:append = "+fslgit"
23LOCALVERSION = "+fsl" 22LOCALVERSION = "+fsl"
diff --git a/recipes-bsp/uefi/uefi_git.bb b/recipes-bsp/uefi/uefi_git.bb
index b001a325c..c0222a817 100644
--- a/recipes-bsp/uefi/uefi_git.bb
+++ b/recipes-bsp/uefi/uefi_git.bb
@@ -6,9 +6,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
6inherit deploy 6inherit deploy
7 7
8SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https" 8SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https"
9SRCREV = "15deb924ff063007592ee647602dd454353f5aee" 9SRCREV = "55789d536850e00c6f2284fb28eaf21712cd276b"
10
11S = "${WORKDIR}/git"
12 10
13do_install () { 11do_install () {
14 if [ -d ${B}/${MACHINE} ]; then 12 if [ -d ${B}/${MACHINE} ]; then
diff --git a/recipes-devtools/devregs/devregs_git.bb b/recipes-devtools/devregs/devregs_git.bb
index f24cb0f6e..9d2155e1f 100644
--- a/recipes-devtools/devregs/devregs_git.bb
+++ b/recipes-devtools/devregs/devregs_git.bb
@@ -8,6 +8,4 @@ SRC_URI = "git://github.com/boundarydevices/devregs.git;protocol=https;branch=ma
8 8
9PV = "1.0+${SRCPV}" 9PV = "1.0+${SRCPV}"
10 10
11S = "${WORKDIR}/git"
12
13inherit autotools 11inherit autotools
diff --git a/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb b/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
index deffd8539..c14fd955b 100644
--- a/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
+++ b/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/boundarydevices/imx_usb_loader.git;protocol=https;br
10 10
11PV = "1.0+${SRCPV}" 11PV = "1.0+${SRCPV}"
12 12
13S = "${WORKDIR}/git"
14
15do_install () { 13do_install () {
16 oe_runmake DESTDIR=${D} install 14 oe_runmake DESTDIR=${D} install
17} 15}
diff --git a/recipes-devtools/qemu/qemu-qoriq_4.2.bb b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
index 5ac774ed2..20ba6b535 100644
--- a/recipes-devtools/qemu/qemu-qoriq_4.2.bb
+++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
@@ -17,8 +17,6 @@ SRC_URI = "gitsm://github.com/nxp-qoriq/qemu;protocol=https;nobranch=1 \
17 17
18SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b" 18SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b"
19 19
20S = "${WORKDIR}/git"
21
22python() { 20python() {
23 d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', '')) 21 d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', ''))
24 pkgs = d.getVar('PACKAGES').split() 22 pkgs = d.getVar('PACKAGES').split()
diff --git a/recipes-devtools/qemu/qemu.inc b/recipes-devtools/qemu/qemu.inc
index b8b5f318f..60686bde8 100644
--- a/recipes-devtools/qemu/qemu.inc
+++ b/recipes-devtools/qemu/qemu.inc
@@ -97,7 +97,7 @@ EXTRA_OECONF = " \
97 ${PACKAGECONFIG_CONFARGS} \ 97 ${PACKAGECONFIG_CONFARGS} \
98 " 98 "
99 99
100export LIBTOOL="${HOST_SYS}-libtool" 100export LIBTOOL = "${HOST_SYS}-libtool"
101 101
102B = "${WORKDIR}/build" 102B = "${WORKDIR}/build"
103 103
diff --git a/recipes-devtools/qoriq-cst/qoriq-cst_git.bb b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
index 8d3458363..95bf4eb64 100644
--- a/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
+++ b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "utility for security boot"
2SECTION = "cst" 2SECTION = "cst"
3LICENSE = "BSD-3-Clause" 3LICENSE = "BSD-3-Clause"
4 4
5LIC_FILES_CHKSUM = "file://COPYING;md5=e959d5d617e33779d0e90ce1d9043eff" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=e959d5d617e33779d0e90ce1d9043eff"
6 6
7DEPENDS += "openssl qoriq-cst-native" 7DEPENDS += "openssl qoriq-cst-native"
8RDEPENDS:${PN} = "bash" 8RDEPENDS:${PN} = "bash"
@@ -19,9 +19,7 @@ inherit kernel-arch
19SRC_URI = "git://github.com/nxp-qoriq/cst;protocol=https;nobranch=1 \ 19SRC_URI = "git://github.com/nxp-qoriq/cst;protocol=https;nobranch=1 \
20 file://0001-tools-Mark-struct-input_field-file_field-extern.patch \ 20 file://0001-tools-Mark-struct-input_field-file_field-extern.patch \
21" 21"
22SRCREV = "af56e6c5c66dd2bc86a83b0bee8cb61b88d2120c" 22SRCREV = "e96dead3c339f6addb1600249be67e1884cdbcc5"
23
24S = "${WORKDIR}/git"
25 23
26EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"' 24EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
27CFLAGS:append = ' -Wno-deprecated-declarations' 25CFLAGS:append = ' -Wno-deprecated-declarations'
diff --git a/recipes-devtools/utp-com/utp-com_git.bb b/recipes-devtools/utp-com/utp-com_git.bb
index 85c80acbd..364c91bcc 100644
--- a/recipes-devtools/utp-com/utp-com_git.bb
+++ b/recipes-devtools/utp-com/utp-com_git.bb
@@ -11,8 +11,6 @@ SRC_URI = " \
11 11
12PV = "1.0+git${SRCPV}" 12PV = "1.0+git${SRCPV}"
13 13
14S = "${WORKDIR}/git"
15
16do_configure[noexec] = "1" 14do_configure[noexec] = "1"
17 15
18do_compile () { 16do_compile () {
diff --git a/recipes-devtools/uuu/uuu_git.bb b/recipes-devtools/uuu/uuu_git.bb
index e48698a8b..c242c1911 100644
--- a/recipes-devtools/uuu/uuu_git.bb
+++ b/recipes-devtools/uuu/uuu_git.bb
@@ -11,8 +11,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5"
11 11
12inherit cmake pkgconfig 12inherit cmake pkgconfig
13 13
14S = "${WORKDIR}/git"
15
16DEPENDS = "libusb zlib bzip2 openssl zstd libtinyxml2" 14DEPENDS = "libusb zlib bzip2 openssl zstd libtinyxml2"
17 15
18BBCLASSEXTEND = "native nativesdk" 16BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb b/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb
index 945f0879f..caaf2cd38 100644
--- a/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb
+++ b/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb
@@ -4,15 +4,15 @@ HOMEPAGE = "https://www.khronos.org/registry/spir-v"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
6 6
7SRCREV = "124a9665e464ef98b8b718d572d5f329311061eb" 7SRCREV = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3"
8SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main" 8SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main"
9PE = "1" 9PE = "1"
10# These recipes need to be updated in lockstep with each other: 10# These recipes need to be updated in lockstep with each other:
11# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 11# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
12# vulkan-validation-layers, vulkan-utility-libraries.
12# The tags versions should always be sdk-x.y.z, as this is what 13# The tags versions should always be sdk-x.y.z, as this is what
13# upstream considers a release. 14# upstream considers a release.
14UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 15UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
15S = "${WORKDIR}/git"
16 16
17inherit cmake 17inherit cmake
18 18
diff --git a/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb b/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb
index 690428829..6b0c0a3f7 100644
--- a/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb
+++ b/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb
@@ -7,15 +7,15 @@ SECTION = "graphics"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
9 9
10SRCREV = "e553b884c7c9febaa4e52334f683641fb5f196a0" 10SRCREV = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc"
11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https" 11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https"
12PE = "1" 12PE = "1"
13# These recipes need to be updated in lockstep with each other: 13# These recipes need to be updated in lockstep with each other:
14# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 14# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
15# vulkan-validation-layers, vulkan-utility-libraries.
15# The tags versions should always be sdk-x.y.z, as this is what 16# The tags versions should always be sdk-x.y.z, as this is what
16# upstream considers a release. 17# upstream considers a release.
17UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 18UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
18S = "${WORKDIR}/git"
19 19
20inherit cmake 20inherit cmake
21 21
diff --git a/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb
index 01eb14b9f..24630d0db 100644
--- a/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb
@@ -11,9 +11,7 @@ LICENSE = "Apache-2.0 & MIT"
11LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625" 11LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" 12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
13 13
14SRCREV = "85c2334e92e215cce34e8e0ed8b2dce4700f4a50" 14SRCREV = "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40"
15
16S = "${WORKDIR}/git"
17 15
18inherit cmake 16inherit cmake
19 17
@@ -21,7 +19,8 @@ FILES:${PN} += "${datadir}/vulkan"
21RDEPENDS:${PN} += "python3-core" 19RDEPENDS:${PN} += "python3-core"
22 20
23# These recipes need to be updated in lockstep with each other: 21# These recipes need to be updated in lockstep with each other:
24# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 22# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
23# vulkan-validation-layers, vulkan-utility-libraries.
25# The tags versions should always be sdk-x.y.z, as this is what 24# The tags versions should always be sdk-x.y.z, as this is what
26# upstream considers a release. 25# upstream considers a release.
27UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 26UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb
index 01cbeafa3..089b46b34 100644
--- a/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb
@@ -9,10 +9,8 @@ SECTION = "libs"
9 9
10LICENSE = "Apache-2.0" 10LICENSE = "Apache-2.0"
11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" 11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=main;protocol=https" 12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.275;protocol=https"
13SRCREV = "afdd025ead2b63b2c73d900ab128a2d3b512cdf0" 13SRCREV = "00893b9a03e526aec2c5bf487521d16dfa435229"
14
15S = "${WORKDIR}/git"
16 14
17REQUIRED_DISTRO_FEATURES = "vulkan" 15REQUIRED_DISTRO_FEATURES = "vulkan"
18 16
@@ -36,7 +34,8 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU
36RRECOMMENDS:${PN} = "mesa-vulkan-drivers" 34RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
37 35
38# These recipes need to be updated in lockstep with each other: 36# These recipes need to be updated in lockstep with each other:
39# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 37# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
38# vulkan-validation-layers, vulkan-utility-libraries.
40# The tags versions should always be sdk-x.y.z, as this is what 39# The tags versions should always be sdk-x.y.z, as this is what
41# upstream considers a release. 40# upstream considers a release.
42UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 41UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb
index 7a7edc9eb..f5fe8523d 100644
--- a/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb
@@ -7,15 +7,13 @@ SECTION = "libs"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" 8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https" 9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https"
10SRCREV = "a7da7027ca9fd0901639f02619c226da9c6036f1" 10SRCREV = "c86d42cf9eb620eeac377e3bff46ae342c5cd664"
11
12S = "${WORKDIR}/git"
13 11
14inherit cmake features_check pkgconfig 12inherit cmake features_check pkgconfig
15ANY_OF_DISTRO_FEATURES = "x11 wayland" 13ANY_OF_DISTRO_FEATURES = "x11 wayland"
16REQUIRED_DISTRO_FEATURES = "vulkan" 14REQUIRED_DISTRO_FEATURES = "vulkan"
17 15
18DEPENDS += "vulkan-headers vulkan-loader" 16DEPENDS += "vulkan-headers vulkan-loader vulkan-volk"
19 17
20EXTRA_OECMAKE = "\ 18EXTRA_OECMAKE = "\
21 -DBUILD_TESTS=OFF \ 19 -DBUILD_TESTS=OFF \
@@ -31,6 +29,7 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU
31 29
32# These recipes need to be updated in lockstep with each other: 30# These recipes need to be updated in lockstep with each other:
33# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 31# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
32# vulkan-validation-layers, vulkan-utility-libraries.
34# The tags versions should always be sdk-x.y.z, as this is what 33# The tags versions should always be sdk-x.y.z, as this is what
35# upstream considers a release. 34# upstream considers a release.
36UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 35UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb
index 1e2a0aced..3068dd184 100644
--- a/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb
@@ -8,14 +8,12 @@ SECTION = "libs"
8LICENSE = "Apache-2.0 & MIT" 8LICENSE = "Apache-2.0 & MIT"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f" 9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"
10 10
11SRC_URI = "git://git@github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=sdk-1.3.261;protocol=https" 11SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.275;protocol=https"
12SRCREV = "628cd310bef6d54b4e6b25b5ac2ed013473409d6" 12SRCREV = "780c65337e111c7385109c7b720d757a778e4fe2"
13
14S = "${WORKDIR}/git"
15 13
16REQUIRED_DISTRO_FEATURES = "vulkan" 14REQUIRED_DISTRO_FEATURES = "vulkan"
17 15
18DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang" 16DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries"
19 17
20# BUILD_TESTS - Not required for OE builds 18# BUILD_TESTS - Not required for OE builds
21# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms. 19# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms.
@@ -42,7 +40,8 @@ FILES_SOLIBSDEV = ""
42 40
43# These recipes need to be updated in lockstep with each other: 41# These recipes need to be updated in lockstep with each other:
44# glslang, vulkan-headers, vulkan-loader, vulkan-tools, 42# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
45# vulkan-validation-layers, spirv-headers, spirv-tools 43# vulkan-validation-layers, spirv-headers, spirv-tools,
44# vulkan-utility-libraries.
46# The tags versions should always be sdk-x.y.z, as this is what 45# The tags versions should always be sdk-x.y.z, as this is what
47# upstream considers a release. 46# upstream considers a release.
48UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 47UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-dpaa/eth-config/eth-config_git.bb b/recipes-dpaa/eth-config/eth-config_git.bb
index aee2e2348..858442aff 100644
--- a/recipes-dpaa/eth-config/eth-config_git.bb
+++ b/recipes-dpaa/eth-config/eth-config_git.bb
@@ -8,8 +8,6 @@ PR = "r2"
8SRC_URI = "git://github.com/nxp-qoriq/eth-config;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/eth-config;protocol=https;nobranch=1"
9SRCREV = "00fa9c6db5813735676b30b1516e30a460d61b28" 9SRCREV = "00fa9c6db5813735676b30b1516e30a460d61b28"
10 10
11S = "${WORKDIR}/git"
12
13EXTRA_OEMAKE = "D=${D}" 11EXTRA_OEMAKE = "D=${D}"
14 12
15do_install() { 13do_install() {
diff --git a/recipes-dpaa/flib/flib_git.bb b/recipes-dpaa/flib/flib_git.bb
index f1ebd87f0..b7eafe627 100644
--- a/recipes-dpaa/flib/flib_git.bb
+++ b/recipes-dpaa/flib/flib_git.bb
@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9f6d1afdf6b0f6b3ba65c25ba589ee53"
6SRC_URI = "git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1" 6SRC_URI = "git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1"
7SRCREV = "cbb31427466649c07d2ac2739a41bb42f5f6be7c" 7SRCREV = "cbb31427466649c07d2ac2739a41bb42f5f6be7c"
8 8
9S = "${WORKDIR}/git"
10
11do_install(){ 9do_install(){
12 oe_runmake install DESTDIR=${D} 10 oe_runmake install DESTDIR=${D}
13} 11}
diff --git a/recipes-dpaa/fm-ucode/fm-ucode_git.bb b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
index 22f04d012..77305958d 100644
--- a/recipes-dpaa/fm-ucode/fm-ucode_git.bb
+++ b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
@@ -10,8 +10,6 @@ inherit deploy
10SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;nobranch=1;protocol=https" 10SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;nobranch=1;protocol=https"
11SRCREV = "41d603a1ad78e0bb61365500828d9f484bf9bf10" 11SRCREV = "41d603a1ad78e0bb61365500828d9f484bf9bf10"
12 12
13S = "${WORKDIR}/git"
14
15REGLEX ?= "${MACHINE}" 13REGLEX ?= "${MACHINE}"
16REGLEX:t1023 = "t1024" 14REGLEX:t1023 = "t1024"
17REGLEX:t1040 = "t1040" 15REGLEX:t1040 = "t1040"
diff --git a/recipes-dpaa/fmlib/fmlib_git.bb b/recipes-dpaa/fmlib/fmlib_git.bb
index 71ad3df1f..02790d47b 100644
--- a/recipes-dpaa/fmlib/fmlib_git.bb
+++ b/recipes-dpaa/fmlib/fmlib_git.bb
@@ -8,8 +8,6 @@ PR = "r1"
8SRC_URI = "git://github.com/nxp-qoriq/fmlib;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/fmlib;protocol=https;nobranch=1"
9SRCREV = "9fb916f255214013aa6003496c47bab0b5add2d9" 9SRCREV = "9fb916f255214013aa6003496c47bab0b5add2d9"
10 10
11S = "${WORKDIR}/git"
12
13CFLAGS += "-fmacro-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1 \ 11CFLAGS += "-fmacro-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1 \
14 -fdebug-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1" 12 -fdebug-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1"
15 13
diff --git a/recipes-dpaa2/aiopsl/aiopsl_git.bb b/recipes-dpaa2/aiopsl/aiopsl_git.bb
index 68f7a8ded..b57e33afd 100644
--- a/recipes-dpaa2/aiopsl/aiopsl_git.bb
+++ b/recipes-dpaa2/aiopsl/aiopsl_git.bb
@@ -5,8 +5,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=faf479bdc4702d8033049f97e153f876"
5 5
6BASEDEPENDS = "" 6BASEDEPENDS = ""
7 7
8S = "${WORKDIR}/git"
9
10SRC_URI = "git://github.com/nxp-qoriq/aiopsl;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/aiopsl;protocol=https;nobranch=1"
11SRCREV = "87d83d8e99770325cc7ad9e10965c9959e7cb828" 9SRCREV = "87d83d8e99770325cc7ad9e10965c9959e7cb828"
12 10
diff --git a/recipes-dpaa2/dce/dce_git.bb b/recipes-dpaa2/dce/dce_git.bb
index 7c0ec2706..219050b00 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -7,13 +7,11 @@ SRC_URI = "git://github.com/nxp-qoriq/dce;protocol=https;nobranch=1 \
7 git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/lib/qbman_userspace \ 7 git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/lib/qbman_userspace \
8 file://0001-support-user-merge.patch \ 8 file://0001-support-user-merge.patch \
9" 9"
10SRCREV = "9db9c08379aa89f45f514f4f3f0a8e8212198758" 10SRCREV = "88ef2e8c3845532ee64cea4349fd38fb2bd5f807"
11SRCREV_qbman = "2f92993a9f34e5221d6b36c63b9e30ef703e9ac3" 11SRCREV_qbman = "2f92993a9f34e5221d6b36c63b9e30ef703e9ac3"
12 12
13SRCREV_FORMAT = "default_qbman" 13SRCREV_FORMAT = "default_qbman"
14 14
15S = "${WORKDIR}/git"
16
17EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' 15EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
18 16
19do_install () { 17do_install () {
diff --git a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
index 303aa8ff6..853dda9d7 100644
--- a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
@@ -3,8 +3,8 @@ on an AIOP Tile using MC interfaces. This application enables the user to \
3fetch status of tile, load a valid ELF file and run it on a tile and get and set \ 3fetch status of tile, load a valid ELF file and run it on a tile and get and set \
4time of day." 4time of day."
5SECTION = "dpaa2" 5SECTION = "dpaa2"
6LICENSE = "BSD" 6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987" 7LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
8 8
9SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \ 9SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \
10 file://0001-remove-libio.h.patch \ 10 file://0001-remove-libio.h.patch \
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \
12" 12"
13SRCREV = "6ead470dde043f3ca67f1ba19b313dd64ec199e1" 13SRCREV = "6ead470dde043f3ca67f1ba19b313dd64ec199e1"
14 14
15S = "${WORKDIR}/git"
16
17TARGET_CC_ARCH += "${LDFLAGS}" 15TARGET_CC_ARCH += "${LDFLAGS}"
18 16
19EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}" KERNEL_PATH="${STAGING_KERNEL_DIR}"' 17EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}" KERNEL_PATH="${STAGING_KERNEL_DIR}"'
diff --git a/recipes-dpaa2/management-complex/management-complex_10.37.0.bb b/recipes-dpaa2/management-complex/management-complex_10.39.0.bb
index d18771590..3b5ae98ed 100644
--- a/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
+++ b/recipes-dpaa2/management-complex/management-complex_10.39.0.bb
@@ -1,17 +1,16 @@
1SUMMARY = "DPAA2 Management Complex Firmware" 1SUMMARY = "DPAA2 Management Complex Firmware"
2LICENSE = "NXP-Binary-EULA" 2LICENSE = "NXP-Binary-EULA"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=481d6288552113961a835bbabceb0c33" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=0701845051a61f6012009d7d6d11b32b"
4 4
5inherit deploy 5inherit deploy
6 6
7INHIBIT_DEFAULT_DEPS = "1" 7INHIBIT_DEFAULT_DEPS = "1"
8 8
9SRC_URI = "git://github.com/nxp/qoriq-mc-binary;protocol=https;nobranch=1" 9SRC_URI = "git://github.com/nxp/qoriq-mc-binary;protocol=https;nobranch=1"
10SRCREV = "bb19f586b87b97878b4bd0d3e57da2ca40c5c69f" 10SRCREV = "7d82686272f8a60b803818bbc7c5396819ee3b06"
11
12S = "${WORKDIR}/git"
13 11
14REGLEX:ls2088a = "ls2088a" 12REGLEX:ls2088a = "ls2088a"
13REGLEX:ls2080a = "ls2080a"
15REGLEX:ls1088a = "ls1088a" 14REGLEX:ls1088a = "ls1088a"
16REGLEX:lx2160a = "lx216xa" 15REGLEX:lx2160a = "lx216xa"
17REGLEX:lx2162a = "lx216xa" 16REGLEX:lx2162a = "lx216xa"
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 1d1aeffe2..0ea40ec69 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -1,13 +1,11 @@
1SUMMARY = "DPAA2 Resource Manager Tool" 1SUMMARY = "DPAA2 Resource Manager Tool"
2LICENSE = "BSD-3-Clause | GPL-2.0-or-later" 2LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=ec8d84e9cd4de287e290275d09db27f0" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=83af78c71766dd5fb1c1c3dd64a75ee7"
4 4
5SRC_URI = "git://github.com/nxp-qoriq/restool;protocol=https;nobranch=1 \ 5SRC_URI = "git://github.com/nxp-qoriq/restool;protocol=https;nobranch=1 \
6 file://disable-manpage-generation.patch \ 6 file://disable-manpage-generation.patch \
7" 7"
8SRCREV = "46604e41f4c7e54efa62503c6b4629321b21e056" 8SRCREV = "8c45e04363bf2a984a87b24d1dac80a286dd40d8"
9
10S = "${WORKDIR}/git"
11 9
12inherit bash-completion 10inherit bash-completion
13 11
diff --git a/recipes-dpaa2/spc/spc_git.bb b/recipes-dpaa2/spc/spc_git.bb
index 2c695368e..93630a20c 100644
--- a/recipes-dpaa2/spc/spc_git.bb
+++ b/recipes-dpaa2/spc/spc_git.bb
@@ -5,9 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=163b09a1c249a6ff2b28da1ceca2e0a8"
5DEPENDS = "libxml2 fmlib tclap" 5DEPENDS = "libxml2 fmlib tclap"
6 6
7SRC_URI = "git://github.com/nxp-qoriq/spc;protocol=https;nobranch=1" 7SRC_URI = "git://github.com/nxp-qoriq/spc;protocol=https;nobranch=1"
8SRCREV = "d624b7809be48e4cf29a7bfa201028e4de1d1955" 8SRCREV = "b8d69580e5c6aeeb9f1354ee2faed6e0134eaef4"
9
10S = "${WORKDIR}/git"
11 9
12EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \ 10EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
13 FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \ 11 FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
diff --git a/recipes-extended/crconf/crconf_git.bb b/recipes-extended/crconf/crconf_git.bb
index 755365d6d..ed76351e1 100644
--- a/recipes-extended/crconf/crconf_git.bb
+++ b/recipes-extended/crconf/crconf_git.bb
@@ -8,8 +8,6 @@ EXTRA_OEMAKE = "'CC=${CC}' 'HOSTCC=${CC}' SBINDIR='${sbindir}' MANDIR='${mandir}
8SRC_URI = "git://git.code.sf.net/p/crconf/code;protocol=https;nobranch=1" 8SRC_URI = "git://git.code.sf.net/p/crconf/code;protocol=https;nobranch=1"
9SRCREV = "c2b9595d739a9515a86ff3b1980b5cfdfcc42d68" 9SRCREV = "c2b9595d739a9515a86ff3b1980b5cfdfcc42d68"
10 10
11S = "${WORKDIR}/git"
12
13do_install () { 11do_install () {
14 oe_runmake install DESTDIR=${D} 12 oe_runmake install DESTDIR=${D}
15} 13}
diff --git a/recipes-extended/dpdk/dpdk-20.11.inc b/recipes-extended/dpdk/dpdk-20.11.inc
index 90b4c405a..66bcda2ff 100644
--- a/recipes-extended/dpdk/dpdk-20.11.inc
+++ b/recipes-extended/dpdk/dpdk-20.11.inc
@@ -8,8 +8,6 @@ LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4
8SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1"
9SRCREV = "f74b8bd5ab1c6ff76e956fc202a56aea2d200270" 9SRCREV = "f74b8bd5ab1c6ff76e956fc202a56aea2d200270"
10 10
11S = "${WORKDIR}/git"
12
13COMPATIBLE_MACHINE = "(qoriq-arm64)" 11COMPATIBLE_MACHINE = "(qoriq-arm64)"
14 12
15CVE_PRODUCT = "data_plane_development_kit" 13CVE_PRODUCT = "data_plane_development_kit"
diff --git a/recipes-extended/dpdk/dpdk-module_20.11.bb b/recipes-extended/dpdk/dpdk-module_20.11.bb
index 180b140ba..585e198ea 100644
--- a/recipes-extended/dpdk/dpdk-module_20.11.bb
+++ b/recipes-extended/dpdk/dpdk-module_20.11.bb
@@ -14,7 +14,7 @@ DEPENDS += "dpdk"
14export S 14export S
15export STAGING_KERNEL_DIR 15export STAGING_KERNEL_DIR
16export STAGING_INCDIR 16export STAGING_INCDIR
17export INSTALL_MOD_DIR="dpdk" 17export INSTALL_MOD_DIR = "dpdk"
18 18
19do_configure[noexec] = "1" 19do_configure[noexec] = "1"
20 20
diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc
index f2ab1370a..eabd18650 100644
--- a/recipes-extended/dpdk/dpdk.inc
+++ b/recipes-extended/dpdk/dpdk.inc
@@ -26,8 +26,6 @@ export RTE_TARGET = "${DPDK_RTE_TARGET}"
26export RTE_OUTPUT = "${S}/${RTE_TARGET}" 26export RTE_OUTPUT = "${S}/${RTE_TARGET}"
27export MODULE_DIR = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net" 27export MODULE_DIR = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net"
28 28
29S = "${WORKDIR}/git"
30
31EXTRA_OEMAKE += 'ETHTOOL_LIB_PATH="${S}/examples/ethtool/lib/${RTE_TARGET}" RTE_SDK="${S}" \ 29EXTRA_OEMAKE += 'ETHTOOL_LIB_PATH="${S}/examples/ethtool/lib/${RTE_TARGET}" RTE_SDK="${S}" \
32 OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \ 30 OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
33 RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" EXAMPLES_BUILD_DIR="${RTE_TARGET}" \ 31 RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" EXAMPLES_BUILD_DIR="${RTE_TARGET}" \
diff --git a/recipes-extended/jailhouse/jailhouse-imx_git.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb
index e4c34d7c1..a955c8fd3 100644
--- a/recipes-extended/jailhouse/jailhouse-imx_git.bb
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -16,8 +16,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
16PROVIDES = "jailhouse" 16PROVIDES = "jailhouse"
17RPROVIDES:${PN} += "jailhouse" 17RPROVIDES:${PN} += "jailhouse"
18 18
19SRCBRANCH = "lf-6.6.23_2.0.0" 19SRCBRANCH = "lf-6.6.52_2.2.0"
20SRCREV = "ce11ba42dfa34f96aca76016a51d21e5d2539001" 20SRCREV = "44dd492a745cd8b8313fb6c7c03fb45a36d70e8a"
21 21
22IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https" 22IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https"
23SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \ 23SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \
@@ -33,7 +33,6 @@ DEPENDS = " \
33 33
34inherit module bash-completion deploy setuptools3 34inherit module bash-completion deploy setuptools3
35 35
36S = "${WORKDIR}/git"
37B = "${S}" 36B = "${S}"
38 37
39JH_ARCH = "arm64" 38JH_ARCH = "arm64"
diff --git a/recipes-extended/libpkcs11/libpkcs11_git.bb b/recipes-extended/libpkcs11/libpkcs11_git.bb
index 731b7a234..347a8ef9a 100644
--- a/recipes-extended/libpkcs11/libpkcs11_git.bb
+++ b/recipes-extended/libpkcs11/libpkcs11_git.bb
@@ -1,5 +1,5 @@
1DESCRIPTION = "PKCS library" 1DESCRIPTION = "PKCS library"
2LICENSE = "GPL-2.0-only & BSD" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=803852533e29eb1d6d5e55ad3078b625" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=803852533e29eb1d6d5e55ad3078b625"
4 4
5SRC_URI = "git://github.com/nxp-qoriq/libpkcs11;protocol=https;nobranch=1 \ 5SRC_URI = "git://github.com/nxp-qoriq/libpkcs11;protocol=https;nobranch=1 \
@@ -9,8 +9,6 @@ SRCREV = "8d85182b7a7cd393ab6dd72930f8d1b69468f741"
9 9
10DEPENDS = "openssl secure-obj" 10DEPENDS = "openssl secure-obj"
11 11
12S = "${WORKDIR}/git"
13
14WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 12WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
15export CROSS_COMPILE_HOST = "${CROSS_COMPILE}" 13export CROSS_COMPILE_HOST = "${CROSS_COMPILE}"
16export CROSS_COMPILE_TA = "${CROSS_COMPILE}" 14export CROSS_COMPILE_TA = "${CROSS_COMPILE}"
diff --git a/recipes-extended/odp/odp.inc b/recipes-extended/odp/odp.inc
index 0c90d0c57..34bd5138e 100644
--- a/recipes-extended/odp/odp.inc
+++ b/recipes-extended/odp/odp.inc
@@ -22,6 +22,5 @@ SRCREV_qbman = "75ff61a7ca6acdbdbb780161b053cbcbc990f1be"
22SRCREV_rta = "bbab28b03ae21c52ce913f8b052acf53bd24ff5d" 22SRCREV_rta = "bbab28b03ae21c52ce913f8b052acf53bd24ff5d"
23 23
24SRCREV_FORMAT = "default_qbman_rta" 24SRCREV_FORMAT = "default_qbman_rta"
25S = "${WORKDIR}/git"
26 25
27COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a|ls1088a)" 26COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a|ls1088a)"
diff --git a/recipes-extended/ofp/ofp_git.bb b/recipes-extended/ofp/ofp_git.bb
index 47e543154..0f90dc5bb 100644
--- a/recipes-extended/ofp/ofp_git.bb
+++ b/recipes-extended/ofp/ofp_git.bb
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/nxp-qoriq/ofp;protocol=https;nobranch=1"
10 10
11SRCREV = "fe66f4659f7d356f7aa73a8fb32fcf67c6cf1108" 11SRCREV = "fe66f4659f7d356f7aa73a8fb32fcf67c6cf1108"
12 12
13S = "${WORKDIR}/git"
14
15inherit autotools-brokensep pkgconfig 13inherit autotools-brokensep pkgconfig
16 14
17PACKAGE_ARCH = "${MACHINE_ARCH}" 15PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
index 20d06dd61..a21bc69cf 100644
--- a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
+++ b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
@@ -10,8 +10,6 @@ inherit python3native pkgconfig
10SRC_URI = "git://github.com/nxp-qoriq/ovs-dpdk;protocol=https;nobranch=1" 10SRC_URI = "git://github.com/nxp-qoriq/ovs-dpdk;protocol=https;nobranch=1"
11SRCREV = "f2c0744d2f68c4cd2840d6e409d7b0520e4caf99" 11SRCREV = "f2c0744d2f68c4cd2840d6e409d7b0520e4caf99"
12 12
13S = "${WORKDIR}/git"
14
15do_configure() { 13do_configure() {
16 export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR} 14 export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR}
17 ${S}/boot.sh 15 ${S}/boot.sh
diff --git a/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
index f04e1e9f5..485f763bf 100644
--- a/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
+++ b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
@@ -9,8 +9,6 @@ SRC_URI = "git://dpdk.org/git/apps/pktgen-dpdk;protocol=https;nobranch=1 \
9" 9"
10SRCREV = "3a09aa916597fb9a97ee8eec50044cbdb9c4abde" 10SRCREV = "3a09aa916597fb9a97ee8eec50044cbdb9c4abde"
11 11
12S = "${WORKDIR}/git"
13
14DPAA_VER ?= "dpaa" 12DPAA_VER ?= "dpaa"
15export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc" 13export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc"
16export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/dpdk" 14export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/dpdk"
diff --git a/recipes-extended/secure-obj/secure-obj-module_git.bb b/recipes-extended/secure-obj/secure-obj-module_git.bb
index 3866dde48..c6bbc41df 100644
--- a/recipes-extended/secure-obj/secure-obj-module_git.bb
+++ b/recipes-extended/secure-obj/secure-obj-module_git.bb
@@ -1,11 +1,11 @@
1require secure-obj.inc 1require secure-obj.inc
2 2
3LIC_FILES_CHKSUM = "file://../README;md5=82b72e88f23cded9dd23f0fb1790b8d2" 3LIC_FILES_CHKSUM = "file://../LICENSE;md5=751419260aa954499f7abaabaa882bbe"
4 4
5DEPENDS += "virtual/kernel" 5DEPENDS += "virtual/kernel"
6 6
7inherit module 7inherit module
8 8
9S = "${WORKDIR}/git/securekeydev" 9S = "${UNPACKDIR}/${BP}/securekeydev"
10 10
11EXTRA_OEMAKE += 'KERNEL_SRC="${STAGING_KERNEL_DIR}"' 11EXTRA_OEMAKE += 'KERNEL_SRC="${STAGING_KERNEL_DIR}"'
diff --git a/recipes-extended/secure-obj/secure-obj.inc b/recipes-extended/secure-obj/secure-obj.inc
index 64e4a6b71..16115ff03 100644
--- a/recipes-extended/secure-obj/secure-obj.inc
+++ b/recipes-extended/secure-obj/secure-obj.inc
@@ -1,5 +1,5 @@
1DESCRIPTION = "Secure Object" 1DESCRIPTION = "Secure Object"
2LICENSE = "BSD" 2LICENSE = "BSD-3-Clause"
3 3
4DEPENDS = "openssl optee-os-qoriq optee-client-qoriq" 4DEPENDS = "openssl optee-os-qoriq optee-client-qoriq"
5RDEPENDS:${PN} = "bash libcrypto libssl" 5RDEPENDS:${PN} = "bash libcrypto libssl"
@@ -11,7 +11,7 @@ inherit python3native
11LDFLAGS += "${TOOLCHAIN_OPTIONS}" 11LDFLAGS += "${TOOLCHAIN_OPTIONS}"
12 12
13SRC_URI = "git://github.com/nxp-qoriq/secure_obj;protocol=https;nobranch=1" 13SRC_URI = "git://github.com/nxp-qoriq/secure_obj;protocol=https;nobranch=1"
14SRCREV = "5ff1231f74b4b01744be95a3137a14ad0a483e61" 14SRCREV = "4706a6534ec09f9a46bfe305c5e49badca32b4c6"
15 15
16WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 16WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
17export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/" 17export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/"
diff --git a/recipes-extended/secure-obj/secure-obj_git.bb b/recipes-extended/secure-obj/secure-obj_git.bb
index 84ecea1ea..4d197f57c 100644
--- a/recipes-extended/secure-obj/secure-obj_git.bb
+++ b/recipes-extended/secure-obj/secure-obj_git.bb
@@ -1,9 +1,9 @@
1require secure-obj.inc 1require secure-obj.inc
2 2
3LIC_FILES_CHKSUM = "file://README;md5=82b72e88f23cded9dd23f0fb1790b8d2" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
4
5S = "${WORKDIR}/git"
6 4
5DEPENDS:remove = " python3-pycryptodomex-native"
6DEPENDS:append = " python3-cryptography-native optee-os-qoriq-tadevkit"
7RDEPENDS:{PN} += "secure-obj-module" 7RDEPENDS:{PN} += "secure-obj-module"
8 8
9WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 9WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
@@ -17,14 +17,15 @@ CFLAGS += "${TOOLCHAIN_OPTIONS}"
17 17
18do_compile() { 18do_compile() {
19 unset LDFLAGS 19 unset LDFLAGS
20 export TA_DEV_KIT_DIR="${RECIPE_SYSROOT}/usr/include/optee/export-user_ta" 20 export TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta/
21 export CROSS_COMPILE="${WRAP_TARGET_PREFIX}" 21 export CROSS_COMPILE="${WRAP_TARGET_PREFIX}"
22 export OPENSSL_PATH="${RECIPE_SYSROOT}/usr" 22 export OPENSSL_PATH="${RECIPE_SYSROOT}/usr"
23 for APP in secure_storage_ta securekey_lib secure_obj-openssl-engine; do 23 export OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules
24 for APP in secure_storage_ta securekey_lib secure_obj-openssl-engine; do
24 cd ${APP} 25 cd ${APP}
25 oe_runmake 26 oe_runmake
26 cd .. 27 cd ..
27 done 28 done
28} 29}
29 30
30do_install() { 31do_install() {
diff --git a/recipes-extended/skmm-ep/skmm-ep_git.bb b/recipes-extended/skmm-ep/skmm-ep_git.bb
index c08c94923..72638766c 100644
--- a/recipes-extended/skmm-ep/skmm-ep_git.bb
+++ b/recipes-extended/skmm-ep/skmm-ep_git.bb
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-ep;protocol=https;nobranch=
12" 12"
13SRCREV = "de6816c7d66129683bc62229b482ac3cf585d896" 13SRCREV = "de6816c7d66129683bc62229b482ac3cf585d896"
14 14
15S = "${WORKDIR}/git"
16
17EXTRA_OEMAKE = 'ARCH=${TARGET_ARCH} MACHINE=${MACHINE} EXTRA_LDFLAGS="${LDFLAGS}"' 15EXTRA_OEMAKE = 'ARCH=${TARGET_ARCH} MACHINE=${MACHINE} EXTRA_LDFLAGS="${LDFLAGS}"'
18 16
19export LIBEDIT_CFLAGS = "`pkg-config --cflags libedit`" 17export LIBEDIT_CFLAGS = "`pkg-config --cflags libedit`"
diff --git a/recipes-extended/testfloat/testfloat_2a.bb b/recipes-extended/testfloat/testfloat_2a.bb
index 60e9b864b..45e9365da 100644
--- a/recipes-extended/testfloat/testfloat_2a.bb
+++ b/recipes-extended/testfloat/testfloat_2a.bb
@@ -10,12 +10,10 @@ SRC_URI:append:qoriq-ppc = " file://SoftFloat-powerpc-1.patch \
10 file://TestFloat-powerpc-E500v2-SPE-1.patch \ 10 file://TestFloat-powerpc-E500v2-SPE-1.patch \
11 file://Yocto-replace-COMPILE_PREFIX-gcc.patch \ 11 file://Yocto-replace-COMPILE_PREFIX-gcc.patch \
12 " 12 "
13SRC_URI[TestFloat.md5sum] = "4dc889319ae1e0c5381ec511f784553a"
14SRC_URI[TestFloat.sha256sum] = "84d14aa42adefbda2ec9708b42946f7fa59f93689b042684bd027863481f8e4e" 13SRC_URI[TestFloat.sha256sum] = "84d14aa42adefbda2ec9708b42946f7fa59f93689b042684bd027863481f8e4e"
15SRC_URI[SoftFloat.md5sum] = "b4a58b5c941f1a2317e4c2500086e3fa"
16SRC_URI[SoftFloat.sha256sum] = "89d14b55113a2ba8cbda7011443ba1d298d381c89d939515d56c5f18f2febf81" 14SRC_URI[SoftFloat.sha256sum] = "89d14b55113a2ba8cbda7011443ba1d298d381c89d939515d56c5f18f2febf81"
17 15
18S = "${WORKDIR}/TestFloat-2a" 16S = "${UNPACKDIR}/TestFloat-2a"
19 17
20do_unpack2(){ 18do_unpack2(){
21 mv ${UNPACKDIR}/SoftFloat-2b ${S}/SoftFloat-2b 19 mv ${UNPACKDIR}/SoftFloat-2b ${S}/SoftFloat-2b
diff --git a/recipes-extended/tsntool/tsntool_git.bb b/recipes-extended/tsntool/tsntool_git.bb
index 2ad4a0c49..f70e64e2b 100644
--- a/recipes-extended/tsntool/tsntool_git.bb
+++ b/recipes-extended/tsntool/tsntool_git.bb
@@ -16,8 +16,6 @@ SRC_URI:append = " \
16 file://0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch \ 16 file://0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch \
17" 17"
18 18
19S = "${WORKDIR}/git"
20
21do_configure[depends] += "virtual/kernel:do_shared_workdir" 19do_configure[depends] += "virtual/kernel:do_shared_workdir"
22 20
23do_compile:prepend() { 21do_compile:prepend() {
diff --git a/recipes-fsl/mcore-demos/README b/recipes-fsl/mcore-demos/README
index 0c9944873..addd1c376 100644
--- a/recipes-fsl/mcore-demos/README
+++ b/recipes-fsl/mcore-demos/README
@@ -4,7 +4,8 @@ The M4 demo app version of each SoCs are followed:
4* 1.0.1 -- i.MX 7D 4* 1.0.1 -- i.MX 7D
5 5
6The M7 demo app version of each SoCs are followed: 6The M7 demo app version of each SoCs are followed:
7* 2.16.000 -- i.MX 8MP , 8MNULite, 8MN, i.MX95 7* 2.16.000 -- i.MX 8MP , 8MNULite, 8MN
8* 24.12.00 -- i.MX95
8 9
9The M33 demo app version of each SoCs are followed: 10The M33 demo app version of each SoCs are followed:
10* 2.16.000 -- i.MX 8ULP, i.MX 93 11* 2.16.000 -- i.MX 8ULP, i.MX 93
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb b/recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb
index 430182ae3..e1d303e3d 100644
--- a/recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb
+++ b/recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb
@@ -6,10 +6,8 @@ require imx-mcore-demos.inc
6LIC_FILES_CHKSUM:mx8ulp-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 6LIC_FILES_CHKSUM:mx8ulp-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
7LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 7LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
8 8
9SRC_URI[imx8ulp.md5sum] = "9db44ac8ae50c2ce37072c89d54bf794"
10SRC_URI[imx8ulp.sha256sum] = "2d1d48eb3f01d020917f42281581835a3c085233e9764ec845940c1e49ac317b" 9SRC_URI[imx8ulp.sha256sum] = "2d1d48eb3f01d020917f42281581835a3c085233e9764ec845940c1e49ac317b"
11 10
12SRC_URI[imx93.md5sum] = "293b097136b5c2c857057d1724b468ac"
13SRC_URI[imx93.sha256sum] = "c954b9bc32cfdea9b696fa0b02f934812054e3ab445b5dd8eb7898d427e47526" 11SRC_URI[imx93.sha256sum] = "c954b9bc32cfdea9b696fa0b02f934812054e3ab445b5dd8eb7898d427e47526"
14 12
15COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)" 13COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb b/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
index fd99c6370..489e6f8a9 100644
--- a/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
@@ -1,28 +1,13 @@
1SUMMARY = "i.MX M4 core Demo images" 1# Copyright 2017-2021 NXP
2SECTION = "app" 2# Released under the MIT license (see COPYING.MIT for the terms)
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM:mx7d-nxp-bsp = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
5 3
6inherit deploy fsl-eula-unpack 4require imx-mcore-demos.inc
7 5
8M4_SOC ?= "INVALID" 6LIC_FILES_CHKSUM:mx7d-nxp-bsp = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
9M4_SOC:mx7d-nxp-bsp = "imx7d-sabresd"
10 7
11SRC_URI = "${FSL_MIRROR}/${M4_SOC}-m4-freertos-${PV}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${SOC}-m4-freertos-${PV}.bin;fsl-eula=true"
12S = "${WORKDIR}/${M4_SOC}-m4-freertos-${PV}" 9S = "${UNPACKDIR}/${SOC}-m4-freertos-${PV}"
13 10
14SRC_URI[md5sum] = "b05b780ff3916f4953ab58ac95233c38"
15SRC_URI[sha256sum] = "cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254" 11SRC_URI[sha256sum] = "cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254"
16 12
17do_deploy () {
18 # Install the demo binaries
19 install -d ${DEPLOYDIR}
20 cp ${S}/*.bin ${DEPLOYDIR}/
21 ls ${DEPLOYDIR}/
22}
23
24addtask deploy before do_build after do_compile
25
26PACKAGE_ARCH = "${MACHINE_SOCARCH}"
27COMPATIBLE_MACHINE = "(mx7d-nxp-bsp)" 13COMPATIBLE_MACHINE = "(mx7d-nxp-bsp)"
28
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb
index 435471c8e..813b3025d 100644
--- a/recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb
@@ -7,13 +7,10 @@ LIC_FILES_CHKSUM:mx7ulp-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a54
7LIC_FILES_CHKSUM:mx8mm-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 7LIC_FILES_CHKSUM:mx8mm-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
8LIC_FILES_CHKSUM:mx8mq-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 8LIC_FILES_CHKSUM:mx8mq-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
9 9
10SRC_URI[imx7ulp.md5sum] = "f971b57a6787adf24bf1135b69847c65"
11SRC_URI[imx7ulp.sha256sum] = "1fbb26f8e0a69a2e3925e07cf0cc4a13b13e3ff6321a2ba3dc39c454c82b398b" 10SRC_URI[imx7ulp.sha256sum] = "1fbb26f8e0a69a2e3925e07cf0cc4a13b13e3ff6321a2ba3dc39c454c82b398b"
12 11
13SRC_URI[imx8mm.md5sum] = "fe3d6cba7ad25f90f4cfdf22221ddd21"
14SRC_URI[imx8mm.sha256sum] = "a335b54b797c37be05c5b4e6aeabd02099f401de907186723361d1fc25ea3f24" 12SRC_URI[imx8mm.sha256sum] = "a335b54b797c37be05c5b4e6aeabd02099f401de907186723361d1fc25ea3f24"
15 13
16SRC_URI[imx8mq.md5sum] = "e6da3b5fda929ac6989c7aa7633a9ab6"
17SRC_URI[imx8mq.sha256sum] = "09b7195ce553dae5808afcefaf6f76c79f7122ce4dd31fabd679b768607dea25" 14SRC_URI[imx8mq.sha256sum] = "09b7195ce553dae5808afcefaf6f76c79f7122ce4dd31fabd679b768607dea25"
18 15
19COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mm-nxp-bsp|mx8mq-nxp-bsp)" 16COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mm-nxp-bsp|mx8mq-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb
index 888fd647d..0c2fe9a17 100644
--- a/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb
@@ -8,13 +8,10 @@ LIC_FILES_CHKSUM:mx8qm-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833
8LIC_FILES_CHKSUM:mx8qxp-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a" 8LIC_FILES_CHKSUM:mx8qxp-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a"
9LIC_FILES_CHKSUM:mx8dx-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a" 9LIC_FILES_CHKSUM:mx8dx-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a"
10 10
11SRC_URI[imx8dxl.md5sum] = "8850c04a8af91e2bd822cecd5ec56e12"
12SRC_URI[imx8dxl.sha256sum] = "66ddba970712ed394de4034b362334a12caa5865a6afc1dfb5a897bb55b4fcf1" 11SRC_URI[imx8dxl.sha256sum] = "66ddba970712ed394de4034b362334a12caa5865a6afc1dfb5a897bb55b4fcf1"
13 12
14SRC_URI[imx8qm.md5sum] = "5912ca94847ee56a7e8b866b211b67d9"
15SRC_URI[imx8qm.sha256sum] = "c695e72b0c7f609132f5990469cf950c03e137de887bd7e24d059c51a7b499be" 13SRC_URI[imx8qm.sha256sum] = "c695e72b0c7f609132f5990469cf950c03e137de887bd7e24d059c51a7b499be"
16 14
17SRC_URI[imx8qx.md5sum] = "5bc15014f59b2b11c71299fac608be5d"
18SRC_URI[imx8qx.sha256sum] = "bbb268a30a58a86e38966122191c8aa69f427c6c1d56b0ce81e518f4d652782a" 15SRC_URI[imx8qx.sha256sum] = "bbb268a30a58a86e38966122191c8aa69f427c6c1d56b0ce81e518f4d652782a"
19 16
20COMPATIBLE_MACHINE = "(mx8dxl-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp)" 17COMPATIBLE_MACHINE = "(mx8dxl-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb
index fab57a7f7..387d6527a 100644
--- a/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb
@@ -11,16 +11,12 @@ LIC_FILES_CHKSUM:mx8mpul-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5
11 11
12LIC_FILES_CHKSUM:mx95-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 12LIC_FILES_CHKSUM:mx95-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
13 13
14SRC_URI[imx8mn.md5sum] = "b7e2733d8f6c9469b52b36cf6dad1c5e"
15SRC_URI[imx8mn.sha256sum] = "ab608d621c8d74f42514799a732414184bd22f058a8a87a0ab75147a0fd5d99c" 14SRC_URI[imx8mn.sha256sum] = "ab608d621c8d74f42514799a732414184bd22f058a8a87a0ab75147a0fd5d99c"
16 15
17SRC_URI[imx8mnddr3l.md5sum] = "c99fdb271ab42390537845a6beb15cf3"
18SRC_URI[imx8mnddr3l.sha256sum] = "9c9477db2581640395ec3bc7524f89c2c09ffd2947d9186959343a8cf764ad28" 16SRC_URI[imx8mnddr3l.sha256sum] = "9c9477db2581640395ec3bc7524f89c2c09ffd2947d9186959343a8cf764ad28"
19 17
20SRC_URI[imx8mp.md5sum] = "4260822516833e8cedec61dd5be24e3e"
21SRC_URI[imx8mp.sha256sum] = "672af1e1d8fcc1ebd12b45c6dc4cfc7abc85ea9ebbf114d15f4bfe7540e24ea1" 18SRC_URI[imx8mp.sha256sum] = "672af1e1d8fcc1ebd12b45c6dc4cfc7abc85ea9ebbf114d15f4bfe7540e24ea1"
22 19
23SRC_URI[imx95.md5sum] = "f9576f3a4fe730c111c877344ea93427"
24SRC_URI[imx95.sha256sum] = "8d394b62a4fbad8303acf43f9f8672e5d1c17f1af8f47d7665740272819c0cc1" 20SRC_URI[imx95.sha256sum] = "8d394b62a4fbad8303acf43f9f8672e5d1c17f1af8f47d7665740272819c0cc1"
25 21
26COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp|mx8mp-nxp-bsp|mx8mpul-nxp-bsp|mx95-nxp-bsp)" 22COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp|mx8mp-nxp-bsp|mx8mpul-nxp-bsp|mx95-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb b/recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb
new file mode 100644
index 000000000..17d90903a
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb
@@ -0,0 +1,10 @@
1# Copyright 2023-2024 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx95-nxp-bsp = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
7
8SRC_URI[imx95.sha256sum] = "01603b53fd01181631b71f5139a4a3e215f7e03cc531638ef4fa805a678ede3d"
9
10COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-mcore-demos.inc b/recipes-fsl/mcore-demos/imx-mcore-demos.inc
index 11621752f..9b9553fcc 100644
--- a/recipes-fsl/mcore-demos/imx-mcore-demos.inc
+++ b/recipes-fsl/mcore-demos/imx-mcore-demos.inc
@@ -9,6 +9,7 @@ inherit deploy fsl-eula-unpack
9 9
10SOC ?= "INVALID" 10SOC ?= "INVALID"
11SOC:mx7ulp-nxp-bsp = "imx7ulp" 11SOC:mx7ulp-nxp-bsp = "imx7ulp"
12SOC:mx7d-nxp-bsp = "imx7d-sabresd"
12SOC:mx8dxl-nxp-bsp = "imx8dxl" 13SOC:mx8dxl-nxp-bsp = "imx8dxl"
13SOC:mx8mm-nxp-bsp = "imx8mm" 14SOC:mx8mm-nxp-bsp = "imx8mm"
14SOC:mx8mn-nxp-bsp = "imx8mn" 15SOC:mx8mn-nxp-bsp = "imx8mn"
@@ -32,26 +33,27 @@ MCORE_TYPE:mx8ulp-nxp-bsp = "m33"
32MCORE_TYPE:mx93-nxp-bsp = "m33" 33MCORE_TYPE:mx93-nxp-bsp = "m33"
33MCORE_TYPE:mx95-nxp-bsp = "m7" 34MCORE_TYPE:mx95-nxp-bsp = "m7"
34 35
35SRC_URI = "${FSL_MIRROR}${SOC}-${MCORE_TYPE}-demo-${PV}.bin;name=${SOC};fsl-eula=true" 36SRC_URI = "${FSL_MIRROR}/${SOC}-${MCORE_TYPE}-demo-${PV}.bin;name=${SOC};fsl-eula=true"
36
37S = "${WORKDIR}/${SOC}-${MCORE_TYPE}-demo-${PV}"
38
39#SRC_URI="https://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx93-m33-demo-2.14.0.bin;fsl-eula=true;name=imx93"
40 37
38S = "${UNPACKDIR}/${SOC}-${MCORE_TYPE}-demo-${PV}"
41 39
42SCR = "SCR-${SOC}-${MCORE_TYPE}-demo.txt" 40SCR = "SCR-${SOC}-${MCORE_TYPE}-demo.txt"
43 41
42MCORE_DEMO_FILE_EXTENSION ?= "bin"
43MCORE_DEMO_FILE_EXTENSION:mx7ulp-nxp-bsp = "img"
44
44do_install () { 45do_install () {
45 install -d ${D}${nonarch_base_libdir}/firmware 46 install -d ${D}${nonarch_base_libdir}/firmware
46 install -m 0644 ${S}/*.elf ${D}${nonarch_base_libdir}/firmware 47 if ls ${S}/*.elf > /dev/null 2>&1; then
48 install -m 0644 ${S}/*.elf ${D}${nonarch_base_libdir}/firmware
49 fi
50 install -m 0644 ${S}/*.${MCORE_DEMO_FILE_EXTENSION} ${D}${nonarch_base_libdir}/firmware
47} 51}
48 52
49DEPLOY_FILE_EXT ?= "bin"
50DEPLOY_FILE_EXT:mx7ulp-nxp-bsp = "img"
51
52do_deploy () { 53do_deploy () {
53 # Install the demo binaries 54 # Install the demo binaries
54 install -m 0644 ${S}/*.${DEPLOY_FILE_EXT} ${DEPLOYDIR}/ 55 install -d ${DEPLOYDIR}/mcore-demos
56 install -m 0644 ${S}/*.${MCORE_DEMO_FILE_EXTENSION} ${DEPLOYDIR}/mcore-demos/
55} 57}
56 58
57addtask deploy after do_install 59addtask deploy after do_install
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb b/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
index 415587a82..09eac053b 100644
--- a/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
@@ -8,7 +8,6 @@ ISP_PKGS ?= ""
8ISP_PKGS:mx8mp-nxp-bsp = " \ 8ISP_PKGS:mx8mp-nxp-bsp = " \
9 isp-imx \ 9 isp-imx \
10 basler-camera \ 10 basler-camera \
11 basler-camera-dev \
12 kernel-module-isp-vvcam \ 11 kernel-module-isp-vvcam \
13" 12"
14RDEPENDS:${PN} = " \ 13RDEPENDS:${PN} = " \
diff --git a/recipes-graphics/drm/libdrm_2.4.116.imx.bb b/recipes-graphics/drm/libdrm_2.4.123.imx.bb
index ff23f35f3..e4208cff3 100644
--- a/recipes-graphics/drm/libdrm_2.4.116.imx.bb
+++ b/recipes-graphics/drm/libdrm_2.4.123.imx.bb
@@ -13,10 +13,8 @@ DEPENDS = "libpthread-stubs"
13 13
14SRC_URI = "${IMX_LIBDRM_SRC};branch=${SRCBRANCH}" 14SRC_URI = "${IMX_LIBDRM_SRC};branch=${SRCBRANCH}"
15IMX_LIBDRM_SRC ?= "git://github.com/nxp-imx/libdrm-imx.git;protocol=https" 15IMX_LIBDRM_SRC ?= "git://github.com/nxp-imx/libdrm-imx.git;protocol=https"
16SRCBRANCH = "libdrm-imx-2.4.116" 16SRCBRANCH = "libdrm-imx-2.4.123"
17SRCREV = "2f1797674f94572ae8c365c8cbffb0263337ed57" 17SRCREV = "c7c4953161a0f8f2cc7bee70284bf3263c9cfcf5"
18
19S = "${WORKDIR}/git"
20 18
21DEFAULT_PREFERENCE = "-1" 19DEFAULT_PREFERENCE = "-1"
22COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 20COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.14.bb b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb
index 23168ae16..bf0a127c9 100644
--- a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.14.bb
+++ b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb
@@ -4,28 +4,26 @@
4 4
5DESCRIPTION = "G2D library using i.MX DPU" 5DESCRIPTION = "G2D library using i.MX DPU"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 7LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
8 8
9DEPENDS = "libdrm ${LIBGAL_IMX}" 9DEPENDS = "libdrm ${LIBGAL_IMX}"
10LIBGAL_IMX = "libgal-imx" 10LIBGAL_IMX = ""
11LIBGAL_IMX:mx95-nxp-bsp = "" 11LIBGAL_IMX:imxviv = "libgal-imx"
12 12
13PROVIDES += "virtual/libg2d" 13PROVIDES += "virtual/libg2d"
14 14
15SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;fsl-eula=true;name=${IMX_SRC_URI_NAME}" 15SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;fsl-eula=true;name=${IMX_SRC_URI_NAME}"
16IMX_BIN_NAME = "${BPN}-${IMX_SRC_URI_NAME}-${PV}-${IMX_SRCREV_ABBREV}" 16IMX_BIN_NAME = "${BPN}-${IMX_SRC_URI_NAME}-${PV}-${IMX_SRCREV_ABBREV}"
17 17
18IMX_SRCREV_ABBREV = "6a00326" 18IMX_SRCREV_ABBREV = "8d2a88d"
19IMX_SRC_URI_NAME = "v1" 19IMX_SRC_URI_NAME = "v1"
20SRC_URI[v1.md5sum] = "470ad0bdef7dec171395991d47b39e2c" 20SRC_URI[v1.sha256sum] = "20325a7c6090b79e012339aed25fa4c3b760efcc32be339e389a36a15e44bdfc"
21SRC_URI[v1.sha256sum] = "4d8e4b536bd24eedfbce375a06c19ab74603291b8b5a5be36b03fbf6e016e940"
22 21
23IMX_SRCREV_ABBREV:mx95-nxp-bsp = "6a00326" 22IMX_SRCREV_ABBREV:imxmali = "8d2a88d"
24IMX_SRC_URI_NAME:mx95-nxp-bsp = "v2" 23IMX_SRC_URI_NAME:imxmali = "v2"
25SRC_URI[v2.md5sum] = "cf807c38a110763c19a12d6d595b4b09" 24SRC_URI[v2.sha256sum] = "eb7108256cb55d996c07f6941d0d4a76beaf73458494b2c902d907bc8228eeeb"
26SRC_URI[v2.sha256sum] = "1b86d4fecd5026e871da0de8ed6382c962460468d8151ae2f95b72d00bca17ee"
27 25
28S = "${WORKDIR}/${IMX_BIN_NAME}" 26S = "${UNPACKDIR}/${IMX_BIN_NAME}"
29 27
30inherit fsl-eula-unpack 28inherit fsl-eula-unpack
31 29
diff --git a/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb b/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
index 0f0c18967..1f62398fe 100644
--- a/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
+++ b/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
@@ -5,14 +5,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0858ec9c7a80c4a2cf16e4f825a2cc91"
5 5
6DEPENDS = "cairo" 6DEPENDS = "cairo"
7 7
8PV = "2.1+git${SRCPV}" 8PV = "2.3+git${SRCPV}"
9 9
10SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}" 10SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}"
11GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxp-imx/g2d-samples.git;protocol=https" 11GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxp-imx/g2d-samples.git;protocol=https"
12SRCBRANCH = "imx_2.1" 12SRCBRANCH = "imx_2.3"
13SRCREV = "431f311a41ca052902ea0d6445e74defe0a4df2d" 13SRCREV = "7d12c50c07d73650b4c97906ce917aff429238f8"
14
15S = "${WORKDIR}/git"
16 14
17inherit pkgconfig 15inherit pkgconfig
18 16
diff --git a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.6.bb b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb
index d12d9c1a8..3c8784d0f 100644
--- a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.6.bb
+++ b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb
@@ -5,19 +5,17 @@
5 5
6DESCRIPTION = "G2D library using i.MX GPU" 6DESCRIPTION = "G2D library using i.MX GPU"
7LICENSE = "Proprietary" 7LICENSE = "Proprietary"
8LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9DEPENDS = "libgal-imx" 9DEPENDS = "libgal-imx"
10PROVIDES = "virtual/libg2d" 10PROVIDES = "virtual/libg2d"
11 11
12SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true" 12SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true"
13IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}" 13IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}"
14IMX_SRCREV_ABBREV = "bc7b6a2" 14IMX_SRCREV_ABBREV = "c600d03"
15SRC_URI[aarch64.md5sum] = "4b12d0434d612b57ff4d7df690c3154f" 15SRC_URI[aarch64.sha256sum] = "e6c336c0b876efab7598a2d7817111772284487f646d5d83c400692f2cdfebe3"
16SRC_URI[aarch64.sha256sum] = "b2e4c580bf887042f479fde7c8b07c6215794d8123263d10ff0c167af7ba5918" 16SRC_URI[arm.sha256sum] = "6e1a42f2c570582b8038d1b5c86dbdcd645e75cc10a1db23e716f662d1c1329f"
17SRC_URI[arm.md5sum] = "4bead15838f47793f59cb374c10c2dd2"
18SRC_URI[arm.sha256sum] = "413610ce4730eb9adbde30c8ad4a72df3edd69d84e1154a0c29efa7f33a30663"
19 17
20S = "${WORKDIR}/${IMX_BIN_NAME}" 18S = "${UNPACKDIR}/${IMX_BIN_NAME}"
21 19
22inherit fsl-eula-unpack 20inherit fsl-eula-unpack
23 21
diff --git a/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb b/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
index 4481188b1..9fd170ad5 100644
--- a/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
+++ b/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
@@ -1,21 +1,19 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright 2017-2024 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "G2D library using i.MX PXP" 5DESCRIPTION = "G2D library using i.MX PXP"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=10c0fda810c63b052409b15a5445671a" 7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c0fb372b5d7f12181de23ef480f225f3"
8 8
9PROVIDES += "virtual/libg2d" 9PROVIDES += "virtual/libg2d"
10 10
11PV = "2.1.0+git${SRCPV}" 11PV = "2.3+git${SRCPV}"
12 12
13SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}" 13SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}"
14IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https" 14IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https"
15SRCBRANCH = "imx_2.1" 15SRCBRANCH = "imx_2.3"
16SRCREV = "edd234c4e1c58cd2453963d19155d4d5d3800d07" 16SRCREV = "f3aabbcb7977a0a17c962c62b02bc829855f8edf"
17
18S = "${WORKDIR}/git"
19 17
20inherit use-imx-headers 18inherit use-imx-headers
21 19
diff --git a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
index 7d97f4755..5dea367a9 100644
--- a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
+++ b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
@@ -9,28 +9,20 @@ SRC_URI = "git://github.com/nxp-imx/apitrace-imx.git;protocol=https;branch=imx_1
9" 9"
10SRCREV = "522cb2981289b7ba20d6dd4b4bf75097e079815b" 10SRCREV = "522cb2981289b7ba20d6dd4b4bf75097e079815b"
11 11
12S = "${WORKDIR}/git"
13
14inherit cmake pkgconfig perlnative python3native 12inherit cmake pkgconfig perlnative python3native
15 13
16PACKAGECONFIG_BACKEND:mx6-nxp-bsp = " \
17 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'waffle', \
18 bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
19 '', d), d)} \
20"
21PACKAGECONFIG_BACKEND:mx7-nxp-bsp = "${PACKAGECONFIG_BACKEND:mx6-nxp-bsp}"
22PACKAGECONFIG_BACKEND:mx8-nxp-bsp = "waffle"
23PACKAGECONFIG_BACKEND:mx95-nxp-bsp = "waffle"
24
25PACKAGECONFIG_GPU2D = ""
26PACKAGECONFIG_GPU2D:imxgpu2d = "vivante"
27PACKAGECONFIG_GPU2D:mx95-nxp-bsp = ""
28
29PACKAGECONFIG ??= " \ 14PACKAGECONFIG ??= " \
30 egl \ 15 egl \
31 ${PACKAGECONFIG_BACKEND} \ 16 ${PACKAGECONFIG_BACKEND} \
32 ${PACKAGECONFIG_GPU2D} \ 17 ${PACKAGECONFIG_GPU2D} \
33" 18"
19PACKAGECONFIG_BACKEND = " \
20 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'waffle', \
21 bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
22 '', d), d)} \
23"
24PACKAGECONFIG_GPU2D = ""
25PACKAGECONFIG_GPU2D:imxviv:imxgpu2d = "vivante"
34 26
35PACKAGECONFIG[egl] = "-DENABLE_EGL=ON,-DENABLE_EGL=OFF,virtual/egl" 27PACKAGECONFIG[egl] = "-DENABLE_EGL=ON,-DENABLE_EGL=OFF,virtual/egl"
36PACKAGECONFIG[gui] = "-DENABLE_GUI=ON,-DENABLE_GUI=OFF" 28PACKAGECONFIG[gui] = "-DENABLE_GUI=ON,-DENABLE_GUI=OFF"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
index 2d02d7abb..88081cc61 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -31,12 +31,12 @@ PROVIDES += " \
31" 31"
32EXTRA_PROVIDES = " \ 32EXTRA_PROVIDES = " \
33 ${PROVIDES_OPENCL} \ 33 ${PROVIDES_OPENCL} \
34 ${PROVIDES_OPENGLES3} \
35 ${PROVIDES_OPENVX} \ 34 ${PROVIDES_OPENVX} \
36" 35"
37EXTRA_PROVIDES:append:imxgpu3d = " \ 36EXTRA_PROVIDES:append:imxgpu3d = " \
38 virtual/libgles1 \ 37 virtual/libgles1 \
39 virtual/libgles2 \ 38 virtual/libgles2 \
39 virtual/libgles3 \
40" 40"
41EXTRA_PROVIDES:append:mx8-nxp-bsp = " \ 41EXTRA_PROVIDES:append:mx8-nxp-bsp = " \
42 virtual/libgbm \ 42 virtual/libgbm \
@@ -51,9 +51,6 @@ PROVIDES_OPENCL = " \
51PROVIDES_OPENCL:mx7-nxp-bsp = "" 51PROVIDES_OPENCL:mx7-nxp-bsp = ""
52PROVIDES_OPENCL:mx8mm-nxp-bsp = "" 52PROVIDES_OPENCL:mx8mm-nxp-bsp = ""
53 53
54PROVIDES_OPENGLES3 = ""
55PROVIDES_OPENGLES3:mx8-nxp-bsp = "virtual/libgles3"
56
57# Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus. 54# Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus.
58# However, only limited support is provided on other i.MX 8 machines 55# However, only limited support is provided on other i.MX 8 machines
59# as needed for i.MX machine learning packages. 56# as needed for i.MX machine learning packages.
@@ -63,15 +60,20 @@ PROVIDES_OPENVX:mx8mm-nxp-bsp = ""
63 60
64RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv" 61RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv"
65 62
63RPROVIDES_OPENCL = "opencl-icd-loader-dev"
64RPROVIDES_OPENCL:mx7-nxp-bsp = ""
65RPROVIDES_OPENCL:mx8mm-nxp-bsp = ""
66
67RPROVIDES:${PN}:append:imx-nxp-bsp = " ${RPROVIDES_OPENCL}"
68
66PE = "1" 69PE = "1"
67 70
68inherit fsl-eula-unpack 71inherit fsl-eula-unpack
69 72
70FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:" 73FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:"
71SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \ 74SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
72 file://imx_icd.json"
73 75
74S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" 76S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
75 77
76PACKAGECONFIG ?= "" 78PACKAGECONFIG ?= ""
77 79
@@ -181,8 +183,6 @@ IMX_SOC:mx8mq-nxp-bsp = "mx8mq"
181IMX_SOC:mx8mn-nxp-bsp = "mx8mn" 183IMX_SOC:mx8mn-nxp-bsp = "mx8mn"
182IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" 184IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp"
183 185
184LIBVULKAN_API_VERSION = "1.3.239"
185
186do_install () { 186do_install () {
187 install -d ${D}${libdir} 187 install -d ${D}${libdir}
188 install -d ${D}${includedir} 188 install -d ${D}${includedir}
@@ -250,8 +250,7 @@ do_install () {
250 rm -rf ${D}/opt/viv_samples/cl11 250 rm -rf ${D}/opt/viv_samples/cl11
251 else 251 else
252 # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader) 252 # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader)
253 install -d ${D}${sysconfdir}/OpenCL/vendors/ 253 install -Dm 0644 ${S}/gpu-core/etc/OpenCL/vendors/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
254 install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
255 254
256 if [ "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" = "" ]; then 255 if [ "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" = "" ]; then
257 rm -f ${D}${includedir}/CL/cl_viv_vx_ext.h 256 rm -f ${D}${includedir}/CL/cl_viv_vx_ext.h
@@ -274,9 +273,8 @@ do_install () {
274 rm -rf ${D}$f 273 rm -rf ${D}$f
275 done 274 done
276 else 275 else
277 install -Dm 0644 ${UNPACKDIR}/imx_icd.json ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json 276 install -Dm 0644 ${S}/gpu-core/etc/vulkan/icd.d/imx_icd.json ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
278 sed -i "s,%libdir%,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json 277 sed -i "s,/usr/lib,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
279 sed -i "s,%api_version%,${LIBVULKAN_API_VERSION}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
280 fi 278 fi
281 fi 279 fi
282 280
@@ -332,7 +330,7 @@ FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/
332INSANE_SKIP:libegl-imx += "dev-so" 330INSANE_SKIP:libegl-imx += "dev-so"
333 331
334FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" 332FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
335FILES:libgal-imx-dev = "${includedir}/HAL" 333FILES:libgal-imx-dev:remove = "${includedir}/HAL"
336RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}" 334RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
337RPROVIDES:libgal-imx += "libgal-imx" 335RPROVIDES:libgal-imx += "libgal-imx"
338RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv" 336RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv"
@@ -393,7 +391,7 @@ FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
393 ${libdir}/libLLVM_viv${SOLIBS} \ 391 ${libdir}/libLLVM_viv${SOLIBS} \
394 ${sysconfdir}/OpenCL/vendors/Vivante.icd" 392 ${sysconfdir}/OpenCL/vendors/Vivante.icd"
395FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}" 393FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
396RDEPENDS:libopencl-imx= "libclc-imx" 394RDEPENDS:libopencl-imx = "libclc-imx"
397 395
398FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}" 396FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}"
399FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc" 397FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json b/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
deleted file mode 100644
index 21d83f945..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
+++ /dev/null
@@ -1,7 +0,0 @@
1{
2 "file_format_version": "1.0.0",
3 "ICD": {
4 "library_path": "%libdir%/libvulkan_VSI.so.1",
5 "api_version": "%api_version%"
6 }
7}
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch32.bb
deleted file mode 100644
index db99b1c71..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch32.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
4
5IMX_SRCREV_ABBREV = "bc7b6a2"
6
7SRC_URI[md5sum] = "d921b6daf89eba252b0b5b59abe0d690"
8SRC_URI[sha256sum] = "cf6e42c9c9a903cd933b767d411131390d237a4b92ecad579db57d54538707f3"
9
10COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch64.bb
deleted file mode 100644
index fb73322ae..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.6-aarch64.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
4
5IMX_SRCREV_ABBREV = "bc7b6a2"
6
7SRC_URI[md5sum] = "e6ac75617944d9a9dbba90f863f07e0f"
8SRC_URI[sha256sum] = "5fe828113b9b2801b3fd60cd15eadfd0ac747e5897ef7db7fa22f80e7dd8a8e1"
9
10COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb
new file mode 100644
index 000000000..9fbb7e924
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
4
5IMX_SRCREV_ABBREV = "c600d03"
6
7SRC_URI[sha256sum] = "fe8fc231f18047b9547a038e111c08e855760190d0e9848ead22b383d793499d"
8
9COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb
new file mode 100644
index 000000000..aeed17fe8
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
4
5IMX_SRCREV_ABBREV = "c600d03"
6
7SRC_URI[sha256sum] = "82e1bb6304d2aac70c72b691239d1bb5f6738cadfa812d07196db2f580c63d29"
8
9COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/libsdl2/libsdl2_%.bbappend b/recipes-graphics/libsdl2/libsdl2_%.bbappend
index 3b2655ce7..e8c7ac161 100644
--- a/recipes-graphics/libsdl2/libsdl2_%.bbappend
+++ b/recipes-graphics/libsdl2/libsdl2_%.bbappend
@@ -1,3 +1,6 @@
1PACKAGECONFIG:append:imx-nxp-bsp = " ${PACKAGECONFIG_LIBDECOR}"
2PACKAGECONFIG_LIBDECOR ??= "libdecor"
3
1# what vivante driver does libsdl2 mean? Anyway it fails with missing functions as 4# what vivante driver does libsdl2 mean? Anyway it fails with missing functions as
2# VIVANTE_Create VIVANTE_GLES_GetProcAddress VIVANTE_GLES_UnloadLibrary ... 5# VIVANTE_Create VIVANTE_GLES_GetProcAddress VIVANTE_GLES_UnloadLibrary ...
3EXTRA_OECMAKE:append:imxgpu = " -DSDL_VIVANTE=OFF" 6EXTRA_OECMAKE:append:imxgpu = " -DSDL_VIVANTE=OFF"
diff --git a/recipes-graphics/mali/mali-imx.inc b/recipes-graphics/mali/mali-imx.inc
new file mode 100644
index 000000000..e4fafeb0b
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx.inc
@@ -0,0 +1,107 @@
1SUMMARY = "Graphics libraries and driver for i.MX Mali GPU"
2SECTION = "libs"
3DEPENDS = " \
4 libdrm \
5 vulkan-loader \
6 wayland \
7 wayland-protocols"
8PROVIDES = " \
9 virtual/egl \
10 virtual/libgbm \
11 virtual/libgles1 \
12 virtual/libgles2 \
13 virtual/libgles3"
14
15# The packaged binaries have been stripped of debug info, so disable
16# operations accordingly.
17INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
18INHIBIT_PACKAGE_STRIP = "1"
19INHIBIT_SYSROOT_STRIP = "1"
20
21PACKAGES =+ " \
22 ${PN}-libegl ${PN}-libegl-dev \
23 ${PN}-libgbm ${PN}-libgbm-dev \
24 ${PN}-libgles1 ${PN}-libgles1-dev \
25 ${PN}-libgles2 ${PN}-libgles2-dev \
26 ${PN}-libgles3 ${PN}-libgles3-dev \
27 ${PN}-libvulkan \
28 ${PN}-opencl-icd ${PN}-opencl-icd-dev"
29
30# Since libmali.so is loaded by dlopen, include it in the main package
31FILES:${PN} += " \
32 ${libdir}/libmali.so \
33 ${nonarch_base_libdir}/firmware"
34FILES_SOLIBSDEV = ""
35INSANE_SKIP:${PN} = "dev-so"
36FILES:${PN}-libegl = " \
37 ${libdir}/libEGL${SOLIBS}"
38FILES:${PN}-libgbm = " \
39 ${libdir}/libgbm${SOLIBS}"
40FILES:${PN}-libgles1 = " \
41 ${libdir}/libGLESv1_CM${SOLIBS}"
42FILES:${PN}-libgles2 = " \
43 ${libdir}/libGLESv2${SOLIBS}"
44FILES:${PN}-opencl-icd = " \
45 ${sysconfdir}/OpenCL"
46FILES:${PN}-libvulkan = " \
47 ${sysconfdir}/vulkan"
48
49FILES:${PN}-dev = " \
50 ${bindir}/malisc"
51FILES:${PN}-libegl-dev = " \
52 ${includedir}/EGL \
53 ${includedir}/KHR \
54 ${libdir}/libEGL${SOLIBSDEV} \
55 ${libdir}/pkgconfig/egl.pc"
56FILES:${PN}-libgbm-dev = " \
57 ${includedir}/gbm.h \
58 ${libdir}/libgbm${SOLIBSDEV} \
59 ${libdir}/pkgconfig/gbm.pc"
60
61# Consolidate GLES dev packages
62PACKAGES =+ "${PN}-libgles-dev"
63FILES:${PN}-libgles-dev = " \
64 ${includedir}/GLES* \
65 ${libdir}/libGLES*${SOLIBSDEV} \
66 ${libdir}/pkgconfig/gles*.pc"
67DEBIAN_NOAUTONAME:${PN}-libgles-dev = "1"
68RREPLACES:${PN}-libgles-dev = "libgles-dev"
69RPROVIDES:${PN}-libgles-dev = "libgles-dev"
70RCONFLICTS:${PN}-libgles-dev = "libgles-dev"
71ALLOW_EMPTY:${PN}-libgles1-dev = "1"
72ALLOW_EMPTY:${PN}-libgles2-dev = "1"
73ALLOW_EMPTY:${PN}-libgles3-dev = "1"
74RDEPENDS:${PN}-libgles1-dev = "${PN}-libgles-dev"
75RDEPENDS:${PN}-libgles2-dev = "${PN}-libgles-dev"
76RDEPENDS:${PN}-libgles3-dev = "${PN}-libgles-dev"
77
78FILES:${PN}-opencl-icd-dev = " \
79 ${bindir}/mali_clcc"
80
81python __anonymous() {
82
83 # Avoid Debian-renaming
84 for p in (("libegl", "libegl1" ),
85 ("libgbm", "libgbm1" ),
86 ("libgles1", "libglesv1-cm1"),
87 ("libgles2", "libglesv2-2" ),
88 ("libgles3", )):
89 fullp = "${PN}-" + p[0]
90 pkgs = "".join(' %s' % i for i in p)
91 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
92 d.appendVar("RREPLACES:" + fullp, pkgs)
93 d.appendVar("RPROVIDES:" + fullp, pkgs)
94 d.appendVar("RCONFLICTS:" + fullp, pkgs)
95 # libmali.so is loaded with dlopen, so an explicit runtime dependency is necessary
96 d.appendVar("RDEPENDS:" + fullp, "${PN}")
97
98 # For -dev, the first element is both the Debian and original name
99 fullp += "-dev"
100 pkgs = p[0] + "-dev"
101 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
102 d.appendVar("RREPLACES:" + fullp, pkgs)
103 d.appendVar("RPROVIDES:" + fullp, pkgs)
104 d.appendVar("RCONFLICTS:" + fullp, pkgs)
105}
106
107COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-graphics/mali/mali-imx_r53.0.bb b/recipes-graphics/mali/mali-imx_r53.0.bb
new file mode 100644
index 000000000..74d9d0faf
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx_r53.0.bb
@@ -0,0 +1,25 @@
1require mali-imx.inc
2
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
5
6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
7SRC_URI[sha256sum] = "67a008bc64af4f3d9ad91465af3c0c3ac90ff8dcbcdaed96036eccc62880c7a3"
8IMX_SRCREV_ABBREV = "f2226b0"
9
10S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
11
12inherit fsl-eula-unpack
13
14do_install () {
15 install -d ${D}
16 cp -r ${S}/etc ${S}/usr ${D}
17
18 # Move firmware to nonarch_base_libdir
19 if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
20 install -d ${D}${nonarch_base_libdir}
21 mv ${D}${base_libdir}/firmware ${D}${nonarch_base_libdir}
22 fi
23}
24
25PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch b/recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch
new file mode 100644
index 000000000..91b736ee7
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch
@@ -0,0 +1,59 @@
1From 400c42cda81a859bd5950567eaffe394053ccc99 Mon Sep 17 00:00:00 2001
2From: Wujian Sun <wujian.sun_1@nxp.com>
3Date: Thu, 5 Dec 2024 10:32:05 +0800
4Subject: [PATCH] YOCIMX-8300 Fix mesa-demos build break on GCC 14
5
6| ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c: In function 'main':
7| ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c:190:24: error: passing
8argument 1 of 'eglGetDisplay' from incompatible pointer type
9[-Wincompatible-pointer-types]
10| 190 | dpy = eglGetDisplay(gbm);
11| | ^~~
12| | |
13| | struct gbm_device *
14| In file included from ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c:33:
15
16Type' {aka 'struct wl_display *'} but argument is of type 'struct
17gbm_device *'
18| 143 | EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay
19(EGLNativeDisplayType display_id);
20| |
21~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
22| ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c:229:50: error: passing
23argument 3 of 'eglCreateWindowSurface' from incompatible pointer type
24[-Wincompatible-pointer-types]
25| 229 | surface = eglCreateWindowSurface(dpy, config, gs, NULL);
26| | ^~
27| | |
28| | struct
29gbm_surface *
30
31Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/demos/-/merge_requests/205]
32
33Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
34---
35 src/egl/opengl/eglkms.c | 4 ++--
36 1 file changed, 2 insertions(+), 2 deletions(-)
37
38diff --git a/src/egl/opengl/eglkms.c b/src/egl/opengl/eglkms.c
39index 832962b..57adc7b 100644
40--- a/src/egl/opengl/eglkms.c
41+++ b/src/egl/opengl/eglkms.c
42@@ -187,7 +187,7 @@ int main(int argc, char *argv[])
43 goto close_fd;
44 }
45
46- dpy = eglGetDisplay(gbm);
47+ dpy = eglGetDisplay((EGLNativeDisplayType) gbm);
48 if (dpy == EGL_NO_DISPLAY) {
49 fprintf(stderr, "eglGetDisplay() failed\n");
50 ret = -1;
51@@ -226,7 +226,7 @@ int main(int argc, char *argv[])
52 gs = gbm_surface_create(gbm, kms.mode.hdisplay, kms.mode.vdisplay,
53 GBM_BO_FORMAT_XRGB8888,
54 GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
55- surface = eglCreateWindowSurface(dpy, config, gs, NULL);
56+ surface = eglCreateWindowSurface(dpy, config, (EGLNativeWindowType) gs, NULL);
57
58 if (!eglMakeCurrent(dpy, surface, surface, ctx)) {
59 fprintf(stderr, "failed to make context current\n");
diff --git a/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch b/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch
index fa46823f1..fb9091129 100644
--- a/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch
+++ b/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch
@@ -1,4 +1,4 @@
1From cad7eb0f0487aea64c4460bd6ad95b5c9537d35a Mon Sep 17 00:00:00 2001 1From f5a6600ff8312a7c0f30273ab783c1d822749a73 Mon Sep 17 00:00:00 2001
2From: Jiyu Yang <jiyu.yang@nxp.com> 2From: Jiyu Yang <jiyu.yang@nxp.com>
3Date: Thu, 11 Apr 2024 16:30:50 +0800 3Date: Thu, 11 Apr 2024 16:30:50 +0800
4Subject: [PATCH] egl: clear backgrounds black 4Subject: [PATCH] egl: clear backgrounds black
@@ -13,18 +13,15 @@ Signed-off-by: Jiyu Yang <jiyu.yang@nxp.com>
13 1 file changed, 1 insertion(+), 1 deletion(-) 13 1 file changed, 1 insertion(+), 1 deletion(-)
14 14
15diff --git a/src/egl/opengles2/es2gears.c b/src/egl/opengles2/es2gears.c 15diff --git a/src/egl/opengles2/es2gears.c b/src/egl/opengles2/es2gears.c
16index db67f3a9..4e81afe7 100644 16index 9501f61..e421a8a 100644
17--- a/src/egl/opengles2/es2gears.c 17--- a/src/egl/opengles2/es2gears.c
18+++ b/src/egl/opengles2/es2gears.c 18+++ b/src/egl/opengles2/es2gears.c
19@@ -515,7 +515,7 @@ gears_draw(void) 19@@ -350,7 +350,7 @@ gears_draw(void)
20 GLfloat transform[16]; 20 GLfloat transform[16];
21 identity(transform); 21 mat4_identity(transform);
22 22
23- glClearColor(0.0, 0.0, 0.0, 0.0); 23- glClearColor(0.0, 0.0, 0.0, 0.0);
24+ glClearColor(0.0, 0.0, 0.0, 1.0); 24+ glClearColor(0.0, 0.0, 0.0, 1.0);
25 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 25 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
26 26
27 /* Translate and rotate the view */ 27 /* Translate and rotate the view */
28--
292.34.1
30
diff --git a/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
index 8401793cd..2e87ed155 100644
--- a/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
+++ b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
@@ -1,4 +1,4 @@
1From 757649a766f90e745f24df1d191caeef15c71399 Mon Sep 17 00:00:00 2001 1From e453ac82b6ffd8f1d0de4c8ac8fd4bab6b924958 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br> 2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Tue, 4 Jun 2013 09:28:51 -0300 3Date: Tue, 4 Jun 2013 09:28:51 -0300
4Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i 4Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i
@@ -34,7 +34,7 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
34 20 files changed, 28 insertions(+), 28 deletions(-) 34 20 files changed, 28 insertions(+), 28 deletions(-)
35 35
36diff --git a/src/demos/copypix.c b/src/demos/copypix.c 36diff --git a/src/demos/copypix.c b/src/demos/copypix.c
37index 286c5a9..041b567 100644 37index 164d8c0..2d062a7 100644
38--- a/src/demos/copypix.c 38--- a/src/demos/copypix.c
39+++ b/src/demos/copypix.c 39+++ b/src/demos/copypix.c
40@@ -54,7 +54,7 @@ static void Display( void ) 40@@ -54,7 +54,7 @@ static void Display( void )
@@ -56,7 +56,7 @@ index 286c5a9..041b567 100644
56 glPixelZoom(1, 1); 56 glPixelZoom(1, 1);
57 57
58diff --git a/src/demos/engine.c b/src/demos/engine.c 58diff --git a/src/demos/engine.c b/src/demos/engine.c
59index 928fcbb..beace4c 100644 59index 410d889..b24638a 100644
60--- a/src/demos/engine.c 60--- a/src/demos/engine.c
61+++ b/src/demos/engine.c 61+++ b/src/demos/engine.c
62@@ -971,7 +971,7 @@ Draw(void) 62@@ -971,7 +971,7 @@ Draw(void)
@@ -69,7 +69,7 @@ index 928fcbb..beace4c 100644
69 if (lit) 69 if (lit)
70 glEnable(GL_LIGHTING); 70 glEnable(GL_LIGHTING);
71diff --git a/src/demos/fogcoord.c b/src/demos/fogcoord.c 71diff --git a/src/demos/fogcoord.c b/src/demos/fogcoord.c
72index 567eec0..e833009 100644 72index ea9a3ae..ed0483f 100644
73--- a/src/demos/fogcoord.c 73--- a/src/demos/fogcoord.c
74+++ b/src/demos/fogcoord.c 74+++ b/src/demos/fogcoord.c
75@@ -68,14 +68,14 @@ PrintInfo(void) 75@@ -68,14 +68,14 @@ PrintInfo(void)
@@ -90,7 +90,7 @@ index 567eec0..e833009 100644
90 } 90 }
91 91
92diff --git a/src/glsl/shadow_sampler.c b/src/glsl/shadow_sampler.c 92diff --git a/src/glsl/shadow_sampler.c b/src/glsl/shadow_sampler.c
93index b830030..eb82d8b 100644 93index 5f0f192..16a2201 100644
94--- a/src/glsl/shadow_sampler.c 94--- a/src/glsl/shadow_sampler.c
95+++ b/src/glsl/shadow_sampler.c 95+++ b/src/glsl/shadow_sampler.c
96@@ -85,7 +85,7 @@ Redisplay(void) 96@@ -85,7 +85,7 @@ Redisplay(void)
@@ -103,7 +103,7 @@ index b830030..eb82d8b 100644
103 103
104 { 104 {
105diff --git a/src/tests/auxbuffer.c b/src/tests/auxbuffer.c 105diff --git a/src/tests/auxbuffer.c b/src/tests/auxbuffer.c
106index 5fa399a..0cd5f47 100644 106index d4f7c2d..5ff1785 100644
107--- a/src/tests/auxbuffer.c 107--- a/src/tests/auxbuffer.c
108+++ b/src/tests/auxbuffer.c 108+++ b/src/tests/auxbuffer.c
109@@ -419,7 +419,7 @@ event_loop(Display *dpy, Window win) 109@@ -419,7 +419,7 @@ event_loop(Display *dpy, Window win)
@@ -116,7 +116,7 @@ index 5fa399a..0cd5f47 100644
116 glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR); 116 glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR);
117 glEnable(GL_DEPTH_TEST); 117 glEnable(GL_DEPTH_TEST);
118diff --git a/src/tests/copypixrate.c b/src/tests/copypixrate.c 118diff --git a/src/tests/copypixrate.c b/src/tests/copypixrate.c
119index 2f64e0a..df1f9b0 100644 119index 4c12fbd..e80f3cb 100644
120--- a/src/tests/copypixrate.c 120--- a/src/tests/copypixrate.c
121+++ b/src/tests/copypixrate.c 121+++ b/src/tests/copypixrate.c
122@@ -91,7 +91,7 @@ BlitOne(void) 122@@ -91,7 +91,7 @@ BlitOne(void)
@@ -129,7 +129,7 @@ index 2f64e0a..df1f9b0 100644
129 } 129 }
130 } 130 }
131diff --git a/src/tests/drawbuffers.c b/src/tests/drawbuffers.c 131diff --git a/src/tests/drawbuffers.c b/src/tests/drawbuffers.c
132index fa2f8a7..cd5033f 100644 132index f017d25..36b241f 100644
133--- a/src/tests/drawbuffers.c 133--- a/src/tests/drawbuffers.c
134+++ b/src/tests/drawbuffers.c 134+++ b/src/tests/drawbuffers.c
135@@ -88,7 +88,7 @@ Display(void) 135@@ -88,7 +88,7 @@ Display(void)
@@ -142,7 +142,7 @@ index fa2f8a7..cd5033f 100644
142 142
143 free(buffer); 143 free(buffer);
144diff --git a/src/tests/drawbuffers2.c b/src/tests/drawbuffers2.c 144diff --git a/src/tests/drawbuffers2.c b/src/tests/drawbuffers2.c
145index 5bcf0b2..84d444b 100644 145index 0cb8d47..ac1a5aa 100644
146--- a/src/tests/drawbuffers2.c 146--- a/src/tests/drawbuffers2.c
147+++ b/src/tests/drawbuffers2.c 147+++ b/src/tests/drawbuffers2.c
148@@ -112,7 +112,7 @@ Display(void) 148@@ -112,7 +112,7 @@ Display(void)
@@ -155,7 +155,7 @@ index 5bcf0b2..84d444b 100644
155 155
156 free(buffer); 156 free(buffer);
157diff --git a/src/tests/fbotest1.c b/src/tests/fbotest1.c 157diff --git a/src/tests/fbotest1.c b/src/tests/fbotest1.c
158index 161903c..5930a6d 100644 158index 322ea30..19082b6 100644
159--- a/src/tests/fbotest1.c 159--- a/src/tests/fbotest1.c
160+++ b/src/tests/fbotest1.c 160+++ b/src/tests/fbotest1.c
161@@ -61,7 +61,7 @@ Display( void ) 161@@ -61,7 +61,7 @@ Display( void )
@@ -168,7 +168,7 @@ index 161903c..5930a6d 100644
168 168
169 free(buffer); 169 free(buffer);
170diff --git a/src/tests/fbotest2.c b/src/tests/fbotest2.c 170diff --git a/src/tests/fbotest2.c b/src/tests/fbotest2.c
171index 6ef7f12..11c867e 100644 171index 05554e4..e6a6c29 100644
172--- a/src/tests/fbotest2.c 172--- a/src/tests/fbotest2.c
173+++ b/src/tests/fbotest2.c 173+++ b/src/tests/fbotest2.c
174@@ -72,7 +72,7 @@ Display( void ) 174@@ -72,7 +72,7 @@ Display( void )
@@ -190,7 +190,7 @@ index 6ef7f12..11c867e 100644
190 190
191 free(buffer); 191 free(buffer);
192diff --git a/src/tests/fbotest3.c b/src/tests/fbotest3.c 192diff --git a/src/tests/fbotest3.c b/src/tests/fbotest3.c
193index 19f684d..e6d7710 100644 193index a3ac340..c320794 100644
194--- a/src/tests/fbotest3.c 194--- a/src/tests/fbotest3.c
195+++ b/src/tests/fbotest3.c 195+++ b/src/tests/fbotest3.c
196@@ -79,7 +79,7 @@ Display( void ) 196@@ -79,7 +79,7 @@ Display( void )
@@ -203,7 +203,7 @@ index 19f684d..e6d7710 100644
203 203
204 free(buffer); 204 free(buffer);
205diff --git a/src/tests/readrate.c b/src/tests/readrate.c 205diff --git a/src/tests/readrate.c b/src/tests/readrate.c
206index 3859cf4..81eb8a3 100644 206index 8a9a02f..9709835 100644
207--- a/src/tests/readrate.c 207--- a/src/tests/readrate.c
208+++ b/src/tests/readrate.c 208+++ b/src/tests/readrate.c
209@@ -85,7 +85,7 @@ MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo) 209@@ -85,7 +85,7 @@ MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo)
@@ -242,7 +242,7 @@ index 3859cf4..81eb8a3 100644
242 } 242 }
243 243
244diff --git a/src/tests/viewmemory.c b/src/tests/viewmemory.c 244diff --git a/src/tests/viewmemory.c b/src/tests/viewmemory.c
245index 16044b9..3584c33 100644 245index 16054b6..ff7b4eb 100644
246--- a/src/tests/viewmemory.c 246--- a/src/tests/viewmemory.c
247+++ b/src/tests/viewmemory.c 247+++ b/src/tests/viewmemory.c
248@@ -95,7 +95,7 @@ Draw(void) 248@@ -95,7 +95,7 @@ Draw(void)
@@ -255,7 +255,7 @@ index 16044b9..3584c33 100644
255 255
256 glutSwapBuffers(); 256 glutSwapBuffers();
257diff --git a/src/trivial/clear-fbo-scissor.c b/src/trivial/clear-fbo-scissor.c 257diff --git a/src/trivial/clear-fbo-scissor.c b/src/trivial/clear-fbo-scissor.c
258index a30935c..5c15200 100644 258index 2d1ee4f..6d06330 100644
259--- a/src/trivial/clear-fbo-scissor.c 259--- a/src/trivial/clear-fbo-scissor.c
260+++ b/src/trivial/clear-fbo-scissor.c 260+++ b/src/trivial/clear-fbo-scissor.c
261@@ -182,7 +182,7 @@ Draw(void) 261@@ -182,7 +182,7 @@ Draw(void)
@@ -268,7 +268,7 @@ index a30935c..5c15200 100644
268 268
269 free(buffer); 269 free(buffer);
270diff --git a/src/trivial/clear-fbo-tex.c b/src/trivial/clear-fbo-tex.c 270diff --git a/src/trivial/clear-fbo-tex.c b/src/trivial/clear-fbo-tex.c
271index de84f98..f0fbdf6 100644 271index 94534bd..6a38c4b 100644
272--- a/src/trivial/clear-fbo-tex.c 272--- a/src/trivial/clear-fbo-tex.c
273+++ b/src/trivial/clear-fbo-tex.c 273+++ b/src/trivial/clear-fbo-tex.c
274@@ -140,7 +140,7 @@ static void Draw( void ) 274@@ -140,7 +140,7 @@ static void Draw( void )
@@ -281,7 +281,7 @@ index de84f98..f0fbdf6 100644
281 281
282 free(buffer); 282 free(buffer);
283diff --git a/src/trivial/clear-fbo.c b/src/trivial/clear-fbo.c 283diff --git a/src/trivial/clear-fbo.c b/src/trivial/clear-fbo.c
284index 10d830b..3fee3e3 100644 284index 2065836..ad39401 100644
285--- a/src/trivial/clear-fbo.c 285--- a/src/trivial/clear-fbo.c
286+++ b/src/trivial/clear-fbo.c 286+++ b/src/trivial/clear-fbo.c
287@@ -116,7 +116,7 @@ Draw(void) 287@@ -116,7 +116,7 @@ Draw(void)
@@ -294,7 +294,7 @@ index 10d830b..3fee3e3 100644
294 294
295 free(buffer); 295 free(buffer);
296diff --git a/src/trivial/readpixels.c b/src/trivial/readpixels.c 296diff --git a/src/trivial/readpixels.c b/src/trivial/readpixels.c
297index ccce4ed..74e0546 100644 297index fb88570..da9030e 100644
298--- a/src/trivial/readpixels.c 298--- a/src/trivial/readpixels.c
299+++ b/src/trivial/readpixels.c 299+++ b/src/trivial/readpixels.c
300@@ -71,7 +71,7 @@ static void Draw(void) 300@@ -71,7 +71,7 @@ static void Draw(void)
@@ -307,7 +307,7 @@ index ccce4ed..74e0546 100644
307 glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image); 307 glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image);
308 free(image); 308 free(image);
309diff --git a/src/trivial/tri-fbo.c b/src/trivial/tri-fbo.c 309diff --git a/src/trivial/tri-fbo.c b/src/trivial/tri-fbo.c
310index d5800b2..dd1f21a 100644 310index 76985a9..21c0ec0 100644
311--- a/src/trivial/tri-fbo.c 311--- a/src/trivial/tri-fbo.c
312+++ b/src/trivial/tri-fbo.c 312+++ b/src/trivial/tri-fbo.c
313@@ -119,7 +119,7 @@ static void Draw( void ) 313@@ -119,7 +119,7 @@ static void Draw( void )
@@ -320,7 +320,7 @@ index d5800b2..dd1f21a 100644
320 320
321 321
322diff --git a/src/xdemos/glxsnoop.c b/src/xdemos/glxsnoop.c 322diff --git a/src/xdemos/glxsnoop.c b/src/xdemos/glxsnoop.c
323index 2215cfd..13d2b2d 100644 323index 294297a..abb32a8 100644
324--- a/src/xdemos/glxsnoop.c 324--- a/src/xdemos/glxsnoop.c
325+++ b/src/xdemos/glxsnoop.c 325+++ b/src/xdemos/glxsnoop.c
326@@ -91,7 +91,7 @@ redraw(Display *dpy, Window srcWin, Window dstWin ) 326@@ -91,7 +91,7 @@ redraw(Display *dpy, Window srcWin, Window dstWin )
@@ -350,6 +350,3 @@ index f670983..d010085 100644
350 glCopyPixels(0, 0, Width[0], Height[0], GL_COLOR); 350 glCopyPixels(0, 0, Width[0], Height[0], GL_COLOR);
351 } 351 }
352 352
353--
3541.8.1
355
diff --git a/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch b/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
index 459a6ebd4..17fb208c9 100644
--- a/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
+++ b/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
@@ -1,10 +1,18 @@
1mesa-demos: Add extension header to fix build break now that gl1 is removed 1From d152655a1421f0cdf7ce22c35a36c367c07af587 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 26 Aug 2014 14:44:17 -0500
4Subject: [PATCH] mesa-demos: Add extension header to fix build break now that
5 gl1 is removed
2 6
3Upstream-Status: Pending 7Upstream-Status: Pending
4 8
5Signed-off-by: Khem Raj <raj.khem@gmail.com> 9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 src/egl/opengles1/clear.c | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
6diff --git a/src/egl/opengles1/clear.c b/src/egl/opengles1/clear.c 14diff --git a/src/egl/opengles1/clear.c b/src/egl/opengles1/clear.c
7index 9fe1b5291e1905fd6fe572063ed707d59ce45a81..ca9954a21b5f475709dbdef07f90b900962fcbc7 100644 15index 9fe1b52..ca9954a 100644
8--- a/src/egl/opengles1/clear.c 16--- a/src/egl/opengles1/clear.c
9+++ b/src/egl/opengles1/clear.c 17+++ b/src/egl/opengles1/clear.c
10@@ -34,7 +34,7 @@ 18@@ -34,7 +34,7 @@
diff --git a/recipes-graphics/mesa/mesa-demos_%.bbappend b/recipes-graphics/mesa/mesa-demos_%.bbappend
index 1c5dd3daf..7d3e7ca1c 100644
--- a/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -3,7 +3,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
3SRC_URI:append:imxgpu = " \ 3SRC_URI:append:imxgpu = " \
4 file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \ 4 file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
5 file://fix-clear-build-break.patch \ 5 file://fix-clear-build-break.patch \
6 file://0001-egl-clear-backgrounds-black.patch" 6 file://0001-egl-clear-backgrounds-black.patch \
7 file://0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch \
8"
7 9
8REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11" 10REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11"
9 11
diff --git a/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb b/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb
index 658b28de1..23af68280 100644
--- a/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb
+++ b/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb
@@ -9,6 +9,8 @@ SRC_URI = "\
9 file://mesa-etnaviv.sh \ 9 file://mesa-etnaviv.sh \
10" 10"
11 11
12S = "${UNPACKDIR}"
13
12do_configure[noexec] = "1" 14do_configure[noexec] = "1"
13do_compile[noexec] = "1" 15do_compile[noexec] = "1"
14 16
diff --git a/recipes-graphics/mesa/mesa.bbappend b/recipes-graphics/mesa/mesa.bbappend
index 7c2e08fba..120561d19 100644
--- a/recipes-graphics/mesa/mesa.bbappend
+++ b/recipes-graphics/mesa/mesa.bbappend
@@ -19,7 +19,7 @@ python () {
19} 19}
20 20
21# Enable Etnaviv and Freedreno support 21# Enable Etnaviv and Freedreno support
22PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno" 22PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv freedreno"
23 23
24# For NXP BSP, GPU drivers don't support dri 24# For NXP BSP, GPU drivers don't support dri
25PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri" 25PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri"
diff --git a/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch b/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch
new file mode 100644
index 000000000..da738aabe
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch
@@ -0,0 +1,52 @@
1From 3448c245b15928aa5a5a3695d9271fb201eb2e3b Mon Sep 17 00:00:00 2001
2From: Yuan Tian <yuan.tian@nxp.com>
3Date: Sat, 27 Apr 2024 06:06:54 +0800
4Subject: [PATCH] LF-11869 change mali wsi layer activating order
5
6Upstream-Status: Inappropriate [i.MX specific]
7
8Signed-off-by: Yuan Tian <yuan.tian@nxp.com>
9---
10 loader/loader.c | 12 ++++++++++++
11 1 file changed, 12 insertions(+)
12
13diff --git a/loader/loader.c b/loader/loader.c
14index e646b28b4..55912c178 100644
15--- a/loader/loader.c
16+++ b/loader/loader.c
17@@ -2906,6 +2906,7 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s
18 #if !defined(_WIN32)
19 char temp_path[2048];
20 #endif
21+ bool has_wsi_layer = false;
22
23 // Now, parse the paths
24 next_file = search_path;
25@@ -2965,6 +2966,10 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s
26 name = full_path;
27
28 VkResult local_res;
29+ if(!strcmp(name,"/etc/vulkan/implicit_layer.d/VkLayer_window_system_integration.json")) {
30+ has_wsi_layer = true;
31+ continue;
32+ }
33 local_res = add_if_manifest_file(inst, name, out_files);
34
35 // Incomplete means this was not a valid data file.
36@@ -2975,6 +2980,13 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s
37 break;
38 }
39 }
40+
41+ if(has_wsi_layer) {
42+ name = "/etc/vulkan/implicit_layer.d/VkLayer_window_system_integration.json";
43+ vk_result = add_if_manifest_file(inst, name, out_files);
44+ has_wsi_layer = false;
45+ }
46+
47 loader_closedir(inst, dir_stream);
48 if (vk_result != VK_SUCCESS) {
49 goto out;
50--
512.34.1
52
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend
deleted file mode 100644
index c1a9902b7..000000000
--- a/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
1# libvulkan.so is loaded dynamically, so put it in the main package
2SOLIBS = ".so*"
3FILES_SOLIBSDEV = ""
4INSANE_SKIP:${PN} += "dev-so"
5
6# Override default mesa drivers with i.MX GPU drivers
7RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx"
8# Override default mesa drivers with i.MX GPU drivers
9RRECOMMENDS:${PN}:mx95-nxp-bsp = "mali-imx-libvulkan"
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
new file mode 100644
index 000000000..f46249215
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
@@ -0,0 +1,14 @@
1FILESEXTRAPATHS:prepend:imx-nxp-bsp := "${THISDIR}/${PN}:"
2
3SRC_URI:append:imx-nxp-bsp = " \
4 file://0001-LF-11869-change-mali-wsi-layer-activating-order.patch \
5"
6
7# libvulkan.so is loaded dynamically, so put it in the main package
8SOLIBS = ".so*"
9FILES_SOLIBSDEV = ""
10INSANE_SKIP:${PN} += "dev-so"
11
12# Override default mesa drivers with i.MX GPU drivers
13RRECOMMENDS:${PN}:imxviv = "libvulkan-imx"
14RRECOMMENDS:${PN}:imxmali = "mali-imx-libvulkan"
diff --git a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.37.imx.bb
index 131f227de..f360706be 100644
--- a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
+++ b/recipes-graphics/wayland/wayland-protocols_1.37.imx.bb
@@ -12,9 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c7b12b6702da38ca028ace54aae3d484 \
12SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH}" 12SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH}"
13WAYLAND_PROTOCOLS_SRC ?= "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https" 13WAYLAND_PROTOCOLS_SRC ?= "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https"
14SRCBRANCH = "wayland-protocols-imx-${@oe.utils.trim_version("${PV}", 2)}" 14SRCBRANCH = "wayland-protocols-imx-${@oe.utils.trim_version("${PV}", 2)}"
15SRCREV = "7ece577d467f8afb2f5a2f7fff3761a1e0ee9dad" 15SRCREV = "831a5389062e56dcb1aac4a5419e55e3002aafaf"
16
17S = "${WORKDIR}/git"
18 16
19UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 17UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
20 18
diff --git a/recipes-graphics/wayland/weston_10.0.5.imx.bb b/recipes-graphics/wayland/weston_10.0.5.imx.bb
index df2898f0a..a8440cf23 100644
--- a/recipes-graphics/wayland/weston_10.0.5.imx.bb
+++ b/recipes-graphics/wayland/weston_10.0.5.imx.bb
@@ -165,8 +165,7 @@ SRC_URI:prepend = "git://github.com/nxp-imx/weston-imx.git;protocol=https;branch
165SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch \ 165SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch \
166 file://0001-g2d-renderer.c-Include-sys-stat.h.patch" 166 file://0001-g2d-renderer.c-Include-sys-stat.h.patch"
167SRCBRANCH = "weston-imx-10.0.5" 167SRCBRANCH = "weston-imx-10.0.5"
168SRCREV = "0cc822a1e5a8faea6835a4e9259887d8792b86b4" 168SRCREV = "7129417ae04de57f9596ccf27f74ef967660a64f"
169S = "${WORKDIR}/git"
170 169
171# Disable OpenGL for parts with GPU support for 2D but not 3D 170# Disable OpenGL for parts with GPU support for 2D but not 3D
172REQUIRED_DISTRO_FEATURES = "opengl" 171REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/recipes-graphics/wayland/weston_12.0.4.imx.bb b/recipes-graphics/wayland/weston_14.0.1.imx.bb
index 87593e4bd..96bde0fe0 100644
--- a/recipes-graphics/wayland/weston_12.0.4.imx.bb
+++ b/recipes-graphics/wayland/weston_14.0.1.imx.bb
@@ -3,7 +3,7 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 92a460b55e7290ec0006365219189761f7226f7c 6# Upstream hash: 23271a1f908a223b4eb56d6034cbb1ac23da14fe
7 7
8SUMMARY = "Weston, a Wayland compositor" 8SUMMARY = "Weston, a Wayland compositor"
9DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" 9DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
@@ -14,17 +14,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
14 " 14 "
15 15
16SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \ 16SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
17 file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
17 file://weston.png \ 18 file://weston.png \
18 file://weston.desktop \ 19 file://weston.desktop \
19 file://xwayland.weston-start \ 20 file://xwayland.weston-start \
20 file://systemd-notify.weston-start \ 21 file://systemd-notify.weston-start \
21 file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
22 " 22 "
23 23
24SRC_URI[sha256sum] = "eb686a7cf00992a23b17f192fca9a887313e92c346ee35d8575196983d656b4a" 24SRC_URI[sha256sum] = "27f68d96e3b97d98daadef13a202356524924fa381418fa6716b9136ef099093"
25 25
26UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 26UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
27UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" 27UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
28 28
29inherit meson pkgconfig useradd 29inherit meson pkgconfig useradd
30 30
@@ -45,7 +45,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayla
45 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ 45 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
46 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ 46 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
47 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ 47 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
48 launcher-libseat \
49 image-jpeg \ 48 image-jpeg \
50 screenshare \ 49 screenshare \
51 shell-desktop \ 50 shell-desktop \
@@ -61,7 +60,7 @@ SIMPLECLIENTS ?= "all"
61# Compositor choices 60# Compositor choices
62# 61#
63# Weston on KMS 62# Weston on KMS
64PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev" 63PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
65# Weston on Wayland (nested Weston) 64# Weston on Wayland (nested Weston)
66PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2" 65PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
67# Weston on X11 66# Weston on X11
@@ -69,7 +68,7 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
69# Headless Weston 68# Headless Weston
70PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" 69PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
71# Weston on RDP 70# Weston on RDP
72PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp" 71PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp,freerdp"
73# VA-API desktop recorder 72# VA-API desktop recorder
74PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" 73PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
75# Weston with EGL support 74# Weston with EGL support
@@ -100,10 +99,6 @@ PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
100PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false" 99PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
101# JPEG image loading support 100# JPEG image loading support
102PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg" 101PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
103# support libseat based launch
104PACKAGECONFIG[launcher-libseat] = "-Dlauncher-libseat=true,-Dlauncher-libseat=false,seatd"
105# deprecated and superseded by libseat launcher
106PACKAGECONFIG[launcher-logind] = "-Ddeprecated-launcher-logind=true,-Ddeprecated-launcher-logind=false,"
107# screencasting via PipeWire 102# screencasting via PipeWire
108PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire" 103PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
109# VNC remote screensharing 104# VNC remote screensharing
@@ -167,13 +162,15 @@ LIC_FILES_CHKSUM += "file://LICENSE;md5=d79ee9e66bb0f95d3386a7acae780b70"
167 162
168DEFAULT_PREFERENCE = "-1" 163DEFAULT_PREFERENCE = "-1"
169 164
165DEPENDS:append = " libdisplay-info"
166
170SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz" 167SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
171SRC_URI:prepend = "${WESTON_SRC};branch=${SRCBRANCH} " 168SRC_URI:prepend = "${WESTON_SRC};branch=${SRCBRANCH} "
172WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https" 169WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https"
173SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch" 170SRCBRANCH = "weston-imx-14.0.1"
174SRCBRANCH = "weston-imx-12.0.4" 171SRCREV = "0fd5d3ab75346e525b565039a7b8bf5d9008be78"
175SRCREV = "461c49d20677cfd36d01a95dafbd9eedf2a4b09c" 172
176S = "${WORKDIR}/git" 173SRC_URI:remove = "file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch"
177 174
178PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11" 175PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
179PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}" 176PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}"
@@ -183,6 +180,9 @@ PACKAGECONFIG_G2D ??= ""
183PACKAGECONFIG_G2D:imxgpu2d ??= "imxg2d" 180PACKAGECONFIG_G2D:imxgpu2d ??= "imxg2d"
184PACKAGECONFIG_G2D:mx93-nxp-bsp ??= "imxg2d" 181PACKAGECONFIG_G2D:mx93-nxp-bsp ??= "imxg2d"
185 182
183# Remove no longer supported colord
184PACKAGECONFIG[colord] = ""
185
186# Weston with i.MX G2D renderer 186# Weston with i.MX G2D renderer
187PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d" 187PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d"
188 188
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bb
index a9705a233..1d7ee80f6 100644
--- a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb
+++ b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bb
@@ -1,6 +1,6 @@
1# This recipe copy helps keep meta-freescale master branch compatible 1# This recipe copy helps keep meta-freescale master branch compatible
2# with Yocto langdale. 2# with Yocto walnascar.
3# (From OE-Core rev: 35fdbd0ea81650a0421d50fb53989d96c5956331) 3# (From OE-Core rev: 737e612ca36bbdf415a911644eb7592cf9389846847b47fa46dc705bd754d2d7)
4 4
5SUMMARY = "XWayland is an X Server that runs under Wayland." 5SUMMARY = "XWayland is an X Server that runs under Wayland."
6DESCRIPTION = "XWayland is an X Server running as a Wayland client, \ 6DESCRIPTION = "XWayland is an X Server running as a Wayland client, \
@@ -16,22 +16,23 @@ LICENSE = "MIT"
16LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" 16LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
17 17
18SRC_URI = "https://www.x.org/archive/individual/xserver/${BP_ORIGINAL}.tar.xz" 18SRC_URI = "https://www.x.org/archive/individual/xserver/${BP_ORIGINAL}.tar.xz"
19BP_ORIGINAL = "${BPN}-23.1.1" 19BP_ORIGINAL = "${BPN}-24.1.6"
20SRC_URI[sha256sum] = "fb9461f5cb9fea5e07e91882311b0c88b43e8843b017ebac05eb5af69aa34c15" 20SRC_URI[sha256sum] = "737e612ca36bbdf415a911644eb7592cf9389846847b47fa46dc705bd754d2d7"
21S = "${WORKDIR}/${BP_ORIGINAL}" 21S = "${UNPACKDIR}/${BP_ORIGINAL}"
22 22
23UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar" 23UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
24 24
25inherit meson features_check pkgconfig 25inherit meson features_check pkgconfig
26REQUIRED_DISTRO_FEATURES = "x11 opengl" 26REQUIRED_DISTRO_FEATURES = "x11 opengl"
27 27
28DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt" 28DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt libtirpc"
29 29
30OPENGL_PKGCONFIGS = "glx glamor dri3" 30OPENGL_PKGCONFIGS = "glx glamor dri3"
31PACKAGECONFIG ??= "${XORG_CRYPTO} \ 31PACKAGECONFIG ??= "${XORG_CRYPTO} ${XWAYLAND_EI} \
32 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ 32 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
33" 33"
34PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence" 34PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence"
35PACKAGECONFIG[libdecor] = "-Dlibdecor=true,-Dlibdecor=false,libdecor"
35PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" 36PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11"
36PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" 37PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl"
37PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" 38PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
@@ -42,6 +43,10 @@ XORG_CRYPTO ??= "openssl"
42PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" 43PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
43PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" 44PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
44PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" 45PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
46XWAYLAND_EI ??= "xwayland_ei_false"
47PACKAGECONFIG[xwayland_ei_false] = "-Dxwayland_ei=false"
48PACKAGECONFIG[xwayland_ei_portal] = "-Dxwayland_ei=portal,,libei"
49PACKAGECONFIG[xwayland_ei_socket] = "-Dxwayland_ei=socket,,libei"
45 50
46do_install:append() { 51do_install:append() {
47 # remove files not needed and clashing with xserver-xorg 52 # remove files not needed and clashing with xserver-xorg
@@ -51,3 +56,7 @@ do_install:append() {
51FILES:${PN} += "${libdir}/xorg/protocol.txt" 56FILES:${PN} += "${libdir}/xorg/protocol.txt"
52 57
53RDEPENDS:${PN} += "xkbcomp" 58RDEPENDS:${PN} += "xkbcomp"
59
60CVE_STATUS_GROUPS = "CVE_STATUS_REDHAT"
61CVE_STATUS_REDHAT = "CVE-2025-26594 CVE-2025-26595 CVE-2025-26596 CVE-2025-26597 CVE-2025-26598 CVE-2025-26599 CVE-2025-26600 CVE-2025-26601"
62CVE_STATUS_REDHAT[status] = "fixed-version: these are tracked as versionless redhat CVEs in NVD DB, fixed in 24.1.6"
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bbappend
index f71ba16c3..d8f5bdde5 100644
--- a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
+++ b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bbappend
@@ -6,10 +6,8 @@ SRC_URI:append:imxgpu = " \
6 6
7OPENGL_PKGCONFIGS:remove:imxgpu = "${OPENGL_PKGCONFIGS_REMOVE_IMXGPU}" 7OPENGL_PKGCONFIGS:remove:imxgpu = "${OPENGL_PKGCONFIGS_REMOVE_IMXGPU}"
8OPENGL_PKGCONFIGS_REMOVE_IMXGPU = "" 8OPENGL_PKGCONFIGS_REMOVE_IMXGPU = ""
9OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx6-nxp-bsp = "glamor glx" 9OPENGL_PKGCONFIGS_REMOVE_IMXGPU:imx-nxp-bsp = "glamor glx"
10OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx7-nxp-bsp = "glamor glx"
11OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx" 10OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx"
12OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx9-nxp-bsp = "glamor glx"
13 11
14# links with imx-gpu libs which are pre-built for glibc 12# links with imx-gpu libs which are pre-built for glibc
15# gcompat will address it during runtime 13# gcompat will address it during runtime
@@ -17,4 +15,4 @@ LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
17 15
18RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat" 16RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat"
19 17
20PACKAGE_ARCH = "${MACHINE_SOCARCH}" 18PACKAGE_ARCH:imxgpu = "${MACHINE_SOCARCH}"
diff --git a/recipes-kernel/ceetm/ceetm_git.bb b/recipes-kernel/ceetm/ceetm_git.bb
index 1059e0061..947a31280 100644
--- a/recipes-kernel/ceetm/ceetm_git.bb
+++ b/recipes-kernel/ceetm/ceetm_git.bb
@@ -9,11 +9,9 @@ SRC_URI:append = " file://0001-Makefile-update-CFLAGS.patch \
9" 9"
10DEPENDS = "iproute2" 10DEPENDS = "iproute2"
11 11
12S = "${WORKDIR}/git" 12export IPROUTE2_DIR = "${STAGING_DIR_TARGET}"
13
14export IPROUTE2_DIR="${STAGING_DIR_TARGET}"
15WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 13WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
16export CROSS_COMPILE="${WRAP_TARGET_PREFIX}" 14export CROSS_COMPILE = "${WRAP_TARGET_PREFIX}"
17 15
18LDFLAGS += "${TOOLCHAIN_OPTIONS}" 16LDFLAGS += "${TOOLCHAIN_OPTIONS}"
19 17
diff --git a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
index 553e2013c..054cb1fb9 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
@@ -7,8 +7,6 @@ inherit module
7SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/auto-resp;branch=nxp/sdk-v2.0.x;protocol=https" 7SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/auto-resp;branch=nxp/sdk-v2.0.x;protocol=https"
8SRCREV = "9a74743167dcfcfbca5056eedbff9a52337c9712" 8SRCREV = "9a74743167dcfcfbca5056eedbff9a52337c9712"
9 9
10S = "${WORKDIR}/git"
11
12EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} SYSROOT=${STAGING_DIR_TARGET}" 10EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} SYSROOT=${STAGING_DIR_TARGET}"
13export KERNEL_PATH 11export KERNEL_PATH
14 12
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
index 13793132a..053239365 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
@@ -12,8 +12,6 @@ PV .= "+git${SRCPV}"
12SRCREV = "4d035200e7b15d2713d49979a1d05f201b92cf4c" 12SRCREV = "4d035200e7b15d2713d49979a1d05f201b92cf4c"
13SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https;branch=master" 13SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https;branch=master"
14 14
15S = "${WORKDIR}/git"
16
17inherit module 15inherit module
18 16
19KERNEL_MODULE_AUTOLOAD = "galcore" 17KERNEL_MODULE_AUTOLOAD = "galcore"
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb
index e48d72585..f55ca7084 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb
@@ -7,14 +7,14 @@ allowing flexibility to use a newer graphics release with an older kernel."
7LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" 8LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
9 9
10SRC_URI = "${KERNEL_SRC};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \ 10SRC_URI = "${KERNEL_SRC};subpath=drivers/mxc/gpu-viv;destsuffix=${S}/src \
11 file://Add-makefile.patch" 11 file://Add-makefile.patch"
12KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" 12KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
13SRCBRANCH = "lf-6.6.y" 13SRCBRANCH = "lf-6.12.y"
14LOCALVERSION = "-6.6.3-1.0.0" 14LOCALVERSION = "-6.12.3-1.0.0"
15SRCREV = "3571388e9660f96b65b5fdcc093cc973ee502949" 15SRCREV = "d8c9f00d41b313a1ac122530524a62604c6871c9"
16 16
17S = "${WORKDIR}/git" 17S = "${UNPACKDIR}/${BP}"
18 18
19inherit module 19inherit module
20 20
diff --git a/recipes-kernel/kernel-modules/kernel-module-ipc.inc b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
index d2316fe00..50d8cca62 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ipc.inc
+++ b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
@@ -8,8 +8,6 @@ inherit module qoriq_build_64bit_kernel
8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ipc;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ipc;protocol=https;nobranch=1"
9SRCREV = "74d662707558290f070f9589177db730444bc435" 9SRCREV = "74d662707558290f070f9589177db730444bc435"
10 10
11S = "${WORKDIR}/git"
12
13do_configure[depends] += "virtual/kernel:do_shared_workdir" 11do_configure[depends] += "virtual/kernel:do_shared_workdir"
14do_compile:prepend () { 12do_compile:prepend () {
15 cd ${S}/kernel 13 cd ${S}/kernel
diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb
deleted file mode 100644
index 55a4bedad..000000000
--- a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1# Copyright 2020-2023 NXP
2
3DESCRIPTION = "Kernel loadable module for ISP"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://${S}/../LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
6
7SRC_URI = "${ISP_KERNEL_SRC};branch=${SRCBRANCH}"
8ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https"
9SRCBRANCH = "lf-6.6.y_2.0.0"
10SRCREV = "ab77b0521615d3f279263ba67439aed887d525d7"
11
12S = "${WORKDIR}/git/vvcam/v4l2"
13
14inherit module
15
16DEBUG_PREFIX_MAP:prepend = " \
17 -fmacro-prefix-map=${WORKDIR}/git/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
18 -fdebug-prefix-map=${WORKDIR}/git/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} "
19
20COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb
new file mode 100644
index 000000000..62dd737cb
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb
@@ -0,0 +1,22 @@
1# Copyright (C) 2020-2023 NXP
2
3DESCRIPTION = "Kernel loadable module for ISP"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://${S}/../LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
6
7SRC_URI = "${ISP_KERNEL_SRC};branch=${SRCBRANCH}"
8ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https"
9SRCBRANCH = "lf-6.12.y_1.0.0"
10SRCREV = "78d717bb22819df9d988ef1b4e3cca1acf61095d"
11
12S = "${UNPACKDIR}/${BP}/vvcam/v4l2"
13
14inherit module
15
16MODULES_MODULE_SYMVERS_LOCATION = "dwe"
17
18DEBUG_PREFIX_MAP:prepend = " \
19 -fmacro-prefix-map=${UNPACKDIR}/${BP}/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
20 -fdebug-prefix-map=${UNPACKDIR}/${BP}/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} "
21
22COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
index ba1561618..9c5ce8f17 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
@@ -10,8 +10,6 @@ inherit module autotools-brokensep
10SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ls-dbg;branch=nxp/master;protocol=https" 10SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ls-dbg;branch=nxp/master;protocol=https"
11SRCREV = "40501f6659e880d38508cdd34a4df2d348d1c68e" 11SRCREV = "40501f6659e880d38508cdd34a4df2d348d1c68e"
12 12
13S = "${WORKDIR}/git"
14
15EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_DIR}" 13EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_DIR}"
16EXTRA_OEMAKE += 'SYSROOT="${D}"' 14EXTRA_OEMAKE += 'SYSROOT="${D}"'
17 15
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch
new file mode 100644
index 000000000..72e75fd57
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch
@@ -0,0 +1,33 @@
1From f6079560bd0010a7f34bd18fec8fab4df65b22ea Mon Sep 17 00:00:00 2001
2From: Vitor Soares <vitor.soares@toradex.com>
3Date: Wed, 30 Apr 2025 15:12:06 +0100
4Subject: [PATCH] mlinux: moal_main: lower PRINTM_MMSG() log level to KERN_INFO
5
6Currently, the PRINTM_MMSG macro uses KERN_ALERT for printing messages.
7KERN_ALERT is intended for critical conditions requiring immediate
8attention (e.g., hardware failure), and using it for normal debug output
9is misleading and can clutter system logs.
10
11This patch lowers the log level to KERN_INFO, which is more appropriate
12for informational messages that are not indicative of system-critical
13failures.
14
15Upstream-Status: Inappropriate [upstream not accepting patches]
16Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
17---
18 mlinux/moal_main.h | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/mlinux/moal_main.h b/mlinux/moal_main.h
22index 4328652..27121e0 100644
23--- a/mlinux/moal_main.h
24+++ b/mlinux/moal_main.h
25@@ -3529,7 +3529,7 @@ extern t_u32 drvdbg;
26 do { \
27 woal_print(MMSG, msg); \
28 if (drvdbg & MMSG) \
29- printk(KERN_ALERT msg); \
30+ printk(KERN_INFO msg); \
31 } while (0)
32
33 static inline void woal_print(t_u32 level, char *fmt, ...)
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
index 453fdd48c..70386dc0d 100644
--- a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
@@ -1,4 +1,4 @@
1SUMMARY = "NXP Wi-Fi driver for module 88w8801/8987/8997/9098 IW416/612" 1SUMMARY = "NXP Wi-Fi driver for module 88w8801/8987/8997/9098 IW416/610/612"
2LICENSE = "GPL-2.0-only" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=ab04ac0f249af12befccb94447c08b77" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=ab04ac0f249af12befccb94447c08b77"
4 4
@@ -8,15 +8,14 @@ RREPLACES:${PN} = "kernel-module-nxp89xx"
8RPROVIDES:${PN} = "kernel-module-nxp89xx" 8RPROVIDES:${PN} = "kernel-module-nxp89xx"
9RCONFLICTS:${PN} = "kernel-module-nxp89xx" 9RCONFLICTS:${PN} = "kernel-module-nxp89xx"
10 10
11SRCBRANCH = "lf-6.6.23_2.0.0" 11SRCBRANCH = "lf-6.12.3_1.0.0"
12MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https" 12MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https"
13SRC_URI = "${MRVL_SRC};branch=${SRCBRANCH}" 13SRC_URI = " \
14SRCREV = "88372772badbf30152b3ad12ae251dc567095cab" 14 ${MRVL_SRC};branch=${SRCBRANCH} \
15 15 file://mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch \
16S = "${WORKDIR}/git" 16"
17SRCREV = "0396cfb38ad73a3d587cd0f8c139b47801e70891"
17 18
18inherit module 19inherit module
19 20
20EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR} -C ${STAGING_KERNEL_BUILDDIR} M=${S}" 21EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR} -C ${STAGING_KERNEL_BUILDDIR} M=${S}"
21
22COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb b/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
index efccc286d..e7ae8556e 100644
--- a/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
@@ -7,6 +7,6 @@ SRCREV = "0f31fbcbe9ab1ab9c424da34f70c82314b16f8de"
7 7
8inherit module 8inherit module
9 9
10S = "${WORKDIR}/git/uio-driver" 10S = "${UNPACKDIR}/${BP}/uio-driver"
11 11
12COMPATIBLE_MACHINE = "(t1040|t1042)" 12COMPATIBLE_MACHINE = "(t1040|t1042)"
diff --git a/recipes-kernel/linux/linux-fslc-imx_6.6.bb b/recipes-kernel/linux/linux-fslc-imx_6.12.bb
index 4810ca11f..ef87e8146 100644
--- a/recipes-kernel/linux/linux-fslc-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.12.bb
@@ -28,20 +28,38 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
28# ------------------------------------------------------------------------------ 28# ------------------------------------------------------------------------------
29# 1. Stable (tag or SHA(s)) 29# 1. Stable (tag or SHA(s))
30# ------------------------------------------------------------------------------ 30# ------------------------------------------------------------------------------
31# tag: v6.6.23 31# tag: v6.12.3
32# 32#
33# ------------------------------------------------------------------------------ 33# ------------------------------------------------------------------------------
34# 2. NXP-specific (tag or SHA(s)) 34# 2. NXP-specific (tag or SHA(s))
35# ------------------------------------------------------------------------------ 35# ------------------------------------------------------------------------------
36# tag: lf-6.6.3-1.0.00 36# tag: lf-6.12.3-1.0.0
37# 37#
38# ------------------------------------------------------------------------------ 38# ------------------------------------------------------------------------------
39# 3. Critical patches (SHA(s)) 39# 3. Critical patches (SHA(s))
40# ------------------------------------------------------------------------------ 40# ------------------------------------------------------------------------------
41# - f67cb9a5b4fb7 Revert "net: stmmac: fix FPE events losing" 41# The list includes well-known commits not yet upstreamed. Reverts address merge
42# - 1918c2eb8b07f Revert "dmaengine: fsl-edma: fix DMA channel leak in eDMAv4" 42# conflicts, prioritizing NXP BSP source code as the latest vendor updates.
43# - 42289407ee38f Revert "dmaengine: fsl-edma: Add judgment on enabling round robin arbitration" 43# Additional commits may exist to better acommodate yocto builds.
44# - 952f79923f055 Revert "dmaengine: fsl-edma: Do not suspend and resume the masked dma channel when the system is sleeping" 44#
45# $ git log --oneline --no-merges v6.12.34.. ^mainline/linux-6.12.y ^NXP/lf-6.12.y
46# - 8d94e52076a1 Revert "firmware: arm_scmi: Fix i.MX build dependency"
47# - adefe4ecd9c6 Revert "PCI: imx6: Fix suspend/resume support on i.MX6QDL"
48# - 2837cecae149 imx8mp-olimex.dts: CSI GPIO pins
49# - 29efe53139ac hwrng: optee: support generic crypto
50# - 7f80ce9b7c82 arm64: dts: imx8mq: drop cpu-idle-states
51# - 5e3b6ecf85c4 of: enable using OF_DYNAMIC without OF_UNITTEST
52# - 1bd794e571f6 gpu: drm: cadence: select hdmi helper
53# - d74361dc9bdc imx:dts:imx8mm-evkb: fix the pmic name to avoid duplicated label error
54# - 90900e871607 arm64: dts: imx8mm-evk-qca-wifi: enable support for bluetooth
55# - 24ef2924dd5f drm: of: Fix build without CONFIG_OF
56# - a97fe216ede5 i2c: imx: Remove unnecessary clock reconfiguration
57# - 93e7f87e7bc6 drm/imx: lcdifv3: Fix videomode settings
58# - ff2397021b0d clk: imx: imx8qm: add more resources to whitelist
59# - e0fc64f7a2f8 arm64: dts: imx8: img: add #address-cells and #size-cells to I2C MIPI CSI nodes
60# - 98b777bfa849 arm64: dts: imx8qm: add missing imx8-ss-cm40.dtsi include
61# - 2d0aefc287a7 arm64: imx_v8_defconfig: Enable CONFIG_GPIO_VF610
62# - 44aadbd00c61 imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND
45# 63#
46# NOTE to upgraders: 64# NOTE to upgraders:
47# This recipe should NOT collect individual patches, they should be applied to 65# This recipe should NOT collect individual patches, they should be applied to
@@ -51,16 +69,16 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
51 69
52require linux-imx.inc 70require linux-imx.inc
53 71
54KBRANCH = "6.6-2.0.x-imx" 72KBRANCH = "6.12-1.0.x-imx"
55SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" 73SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
56SRCREV = "dd280fd310dd5fabbff7393175ee9d7a6aea6b34" 74SRCREV = "c63da44a120c9ad720877a74f0c94e2d9b08cab1"
57 75
58# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 76# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
59# required by kernel-yocto.bbclass. 77# required by kernel-yocto.bbclass.
60# 78#
61# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 79# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
62# should be updated once patchlevel is merged. 80# should be updated once patchlevel is merged.
63LINUX_VERSION = "6.6.23" 81LINUX_VERSION = "6.12.34"
64 82
65KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 83KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
66KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 84KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
@@ -68,7 +86,7 @@ KBUILD_DEFCONFIG:mx8-generic-bsp = "imx_v8_defconfig"
68KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig" 86KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig"
69 87
70# Local version indicates the branch name in the NXP kernel tree where patches are collected from. 88# Local version indicates the branch name in the NXP kernel tree where patches are collected from.
71LOCALVERSION = "-lf-6.6.y" 89LOCALVERSION = "-lf-6.12.y"
72 90
73DEFAULT_PREFERENCE = "1" 91DEFAULT_PREFERENCE = "1"
74 92
diff --git a/recipes-kernel/linux/linux-fslc-lts_6.1.bb b/recipes-kernel/linux/linux-fslc-lts_6.1.bb
index 8e1bab4be..ae1e71b18 100644
--- a/recipes-kernel/linux/linux-fslc-lts_6.1.bb
+++ b/recipes-kernel/linux/linux-fslc-lts_6.1.bb
@@ -21,10 +21,10 @@ SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=
21# 21#
22# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 22# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
23# should be updated once patchlevel is merged. 23# should be updated once patchlevel is merged.
24LINUX_VERSION = "6.1.72" 24LINUX_VERSION = "6.1.111"
25 25
26KBRANCH = "6.1.x+fslc" 26KBRANCH = "6.1.x+fslc"
27SRCREV = "b80c9dede70132da3ae7feb949fe0803aad3db24" 27SRCREV = "195925841506cd58552d73ebabadd08d6016e4c6"
28 28
29KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 29KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
30KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 30KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-fslc-lts_6.6.bb b/recipes-kernel/linux/linux-fslc-lts_6.6.bb
new file mode 100644
index 000000000..cc067262a
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc-lts_6.6.bb
@@ -0,0 +1,37 @@
1# Copyright (C) 2012-2024 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3#
4# SPDX-License-Identifier: MIT
5#
6
7SUMMARY = "FSL Community BSP Linux LTS based kernel with backported features and fixes"
8DESCRIPTION = "Linux kernel based on LTS kernel used by FSL Community BSP in order to \
9provide support for some backported features and fixes, or because it was applied in upstream \
10and will not become part of a LTS version, or because it is not applicable for \
11upstreaming in any form."
12
13require linux-imx.inc
14
15SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
16
17# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
18# required by kernel-yocto.bbclass.
19#
20# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
21# should be updated once patchlevel is merged.
22LINUX_VERSION = "6.6.52"
23
24KBRANCH = "6.6.x+fslc"
25SRCREV = "3768fbd9dd8e0da9e7a24366b6a65a7f8ca25986"
26
27KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
28KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
29KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v6_v7_defconfig"
30KBUILD_DEFCONFIG:mx8-generic-bsp = "defconfig"
31KBUILD_DEFCONFIG:mx9-generic-bsp = "defconfig"
32KBUILD_DEFCONFIG:mxs-generic-bsp = "mxs_defconfig"
33KBUILD_DEFCONFIG:vf-generic-bsp = "imx_v6_v7_defconfig"
34
35LOCALVERSION = "-fslc"
36
37COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc_6.6.bb b/recipes-kernel/linux/linux-fslc_6.12.bb
index 1919eacdf..8b66b82d4 100644
--- a/recipes-kernel/linux/linux-fslc_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc_6.12.bb
@@ -14,15 +14,22 @@ require linux-imx.inc
14 14
15SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" 15SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
16 16
17DEPENDS += " \
18 coreutils-native \
19"
20
17# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 21# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
18# required by kernel-yocto.bbclass. 22# required by kernel-yocto.bbclass.
19# 23#
20# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 24# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
21# should be updated once patchlevel is merged. 25# should be updated once patchlevel is merged.
22LINUX_VERSION = "6.6.50" 26#
27# Linux kernel stable 6.12.34 changelog:
28# https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.34
29LINUX_VERSION = "6.12.34"
23 30
24KBRANCH = "6.6.x+fslc" 31KBRANCH = "6.12.x+fslc"
25SRCREV = "2473dfed9007471b503efe1f7de74d63eaf4c699" 32SRCREV = "e92f5b7050c74e8052f071fd2f1d233d9a4b2f30"
26 33
27KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 34KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
28KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig" 35KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-imx-headers/0001-video-fbdev-mxc-make-uapi-ipu.h-pxp_dma.h-compatible.patch b/recipes-kernel/linux/linux-imx-headers/0001-video-fbdev-mxc-make-uapi-ipu.h-pxp_dma.h-compatible.patch
new file mode 100644
index 000000000..1750d6247
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-headers/0001-video-fbdev-mxc-make-uapi-ipu.h-pxp_dma.h-compatible.patch
@@ -0,0 +1,54 @@
1From a5bcb18b42cfc0485397da9f48be6a73de86dfac Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Sat, 10 May 2025 14:21:35 +0200
4Subject: [PATCH] video: fbdev: mxc: make uapi ipu.h, pxp_dma.h compatible with
5 c23 standard
6
7In C23 standard bool, false, true are reserved keywords.
8Make ipu.h, pxp_dma.h uapi include file compatible with C23 standard.
9
10Upstream-Status: Pending
11Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
12---
13 include/uapi/linux/ipu.h | 4 ++++
14 include/uapi/linux/pxp_dma.h | 4 ++++
15 2 files changed, 8 insertions(+)
16
17diff --git a/include/uapi/linux/ipu.h b/include/uapi/linux/ipu.h
18index c92f292bcc9d..a7b60730bbd4 100644
19--- a/include/uapi/linux/ipu.h
20+++ b/include/uapi/linux/ipu.h
21@@ -29,9 +29,13 @@
22 #include <linux/videodev2.h>
23
24 #ifndef __KERNEL__
25+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
26+/* bool, true and false are keywords. */
27+#else
28 #ifndef __cplusplus
29 typedef unsigned char bool;
30 #endif
31+#endif
32 #define irqreturn_t int
33 #define dma_addr_t int
34 #define uint32_t unsigned int
35diff --git a/include/uapi/linux/pxp_dma.h b/include/uapi/linux/pxp_dma.h
36index 9b5228504095..e2deff07516d 100644
37--- a/include/uapi/linux/pxp_dma.h
38+++ b/include/uapi/linux/pxp_dma.h
39@@ -25,8 +25,12 @@
40
41 #ifndef __KERNEL__
42 typedef unsigned long dma_addr_t;
43+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
44+/* bool, true and false are keywords. */
45+#else
46 typedef unsigned char bool;
47 #endif
48+#endif
49
50 /* PXP Pixel format definitions */
51 /* Four-character-code (FOURCC) */
52--
532.42.0
54
diff --git a/recipes-kernel/linux/linux-imx-headers_6.6.bb b/recipes-kernel/linux/linux-imx-headers_6.12.bb
index 65634ac91..2f5ba04ee 100644
--- a/recipes-kernel/linux/linux-imx-headers_6.6.bb
+++ b/recipes-kernel/linux/linux-imx-headers_6.12.bb
@@ -7,12 +7,13 @@ New headers are installed in ${includedir}/imx."
7LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" 8LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
9 9
10SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" 10SRC_URI = " \
11SRCBRANCH = "lf-6.6.y" 11 git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH} \
12LOCALVERSION = "-6.6.23-2.0.0" 12 file://0001-video-fbdev-mxc-make-uapi-ipu.h-pxp_dma.h-compatible.patch \
13SRCREV = "b586a521770e508d1d440ccb085c7696b9d6d387" 13"
14 14SRCBRANCH = "lf-6.12.y"
15S = "${WORKDIR}/git" 15LOCALVERSION = "-lts-${SRCBRANCH}"
16SRCREV = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"
16 17
17do_configure[noexec] = "1" 18do_configure[noexec] = "1"
18 19
@@ -24,7 +25,6 @@ IMX_UAPI_HEADERS = " \
24 hx280enc.h \ 25 hx280enc.h \
25 ipu.h \ 26 ipu.h \
26 imx_vpu.h \ 27 imx_vpu.h \
27 mxc_asrc.h \
28 mxc_dcic.h \ 28 mxc_dcic.h \
29 mxc_mlb.h \ 29 mxc_mlb.h \
30 mxc_sim_interface.h \ 30 mxc_sim_interface.h \
@@ -36,6 +36,11 @@ IMX_UAPI_HEADERS = " \
36 videodev2.h \ 36 videodev2.h \
37" 37"
38 38
39IMX_UAPI_HEADERS_SOUND = " \
40 sound/compress_offload.h \
41 sound/compress_params.h \
42"
43
39do_install() { 44do_install() {
40 # We install all headers inside of B so we can copy only the 45 # We install all headers inside of B so we can copy only the
41 # i.MX-specific ones, and there is no risk of a new header to be 46 # i.MX-specific ones, and there is no risk of a new header to be
@@ -57,6 +62,11 @@ do_install() {
57 install -D -m 0644 ${B}${includedir}/linux/$h \ 62 install -D -m 0644 ${B}${includedir}/linux/$h \
58 ${D}${includedir}/imx/linux/$h 63 ${D}${includedir}/imx/linux/$h
59 done 64 done
65 install -d ${D}${includedir}/imx/linux/sound
66 for h in ${IMX_UAPI_HEADERS_SOUND}; do
67 install -D -m 0644 ${B}${includedir}/$h \
68 ${D}${includedir}/imx/$h
69 done
60} 70}
61 71
62# Allow to build empty main package, this is required in order for -dev package 72# Allow to build empty main package, this is required in order for -dev package
diff --git a/recipes-kernel/linux/linux-imx.inc b/recipes-kernel/linux/linux-imx.inc
index 34d50cfc0..521bd7948 100644
--- a/recipes-kernel/linux/linux-imx.inc
+++ b/recipes-kernel/linux/linux-imx.inc
@@ -19,8 +19,6 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
19 19
20SRC_URI = "git://github.com/nxp-imx/linux-imx;protocol=https;branch=${SRCBRANCH}" 20SRC_URI = "git://github.com/nxp-imx/linux-imx;protocol=https;branch=${SRCBRANCH}"
21 21
22S = "${WORKDIR}/git"
23
24# Tell to kernel class that we would like to use our defconfig to configure the kernel. 22# Tell to kernel class that we would like to use our defconfig to configure the kernel.
25# Otherwise, the --allnoconfig would be used per default which leads to mis-configured 23# Otherwise, the --allnoconfig would be used per default which leads to mis-configured
26# kernel. 24# kernel.
@@ -33,7 +31,7 @@ S = "${WORKDIR}/git"
33# specified, and should be restored with their defaults, not set to 'n'. 31# specified, and should be restored with their defaults, not set to 'n'.
34# To properly expand a defconfig like this, we need to specify: KCONFIG_MODE="--alldefconfig" 32# To properly expand a defconfig like this, we need to specify: KCONFIG_MODE="--alldefconfig"
35# in the kernel recipe include. 33# in the kernel recipe include.
36KCONFIG_MODE="--alldefconfig" 34KCONFIG_MODE = "--alldefconfig"
37 35
38# We need to pass it as param since kernel might support more then one 36# We need to pass it as param since kernel might support more then one
39# machine, with different entry points 37# machine, with different entry points
diff --git a/recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch b/recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch
deleted file mode 100644
index 2933c40e3..000000000
--- a/recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1From 5ef6dc08cfde240b8c748733759185646e654570 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
3Date: Wed, 13 Mar 2024 22:19:56 +0100
4Subject: [PATCH] lib/build_OID_registry: don't mention the full path of the
5 script in output
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10This change strips the full path of the script generating
11lib/oid_registry_data.c to just lib/build_OID_registry. The motivation
12for this change is Yocto emitting a build warning
13
14 File /usr/src/debug/linux-lxatac/6.7-r0/lib/oid_registry_data.c in package linux-lxatac-src contains reference to TMPDIR [buildpaths]
15
16So this change brings us one step closer to make the build result
17reproducible independent of the build path.
18
19Upstream-Status: Backport [https://github.com/torvalds/linux/commit/5ef6dc08cfde240b8c748733759185646e654570]
20
21Link: https://lkml.kernel.org/r/20240313211957.884561-2-u.kleine-koenig@pengutronix.de
22Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
23Cc: Masahiro Yamada <masahiroy@kernel.org>
24Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
25Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26---
27 lib/build_OID_registry | 5 ++++-
28 1 file changed, 4 insertions(+), 1 deletion(-)
29
30diff --git a/lib/build_OID_registry b/lib/build_OID_registry
31index d7fc32ea8ac2..56d8bafeb848 100755
32--- a/lib/build_OID_registry
33+++ b/lib/build_OID_registry
34@@ -8,6 +8,7 @@
35 #
36
37 use strict;
38+use Cwd qw(abs_path);
39
40 my @names = ();
41 my @oids = ();
42@@ -17,6 +18,8 @@ if ($#ARGV != 1) {
43 exit(2);
44 }
45
46+my $abs_srctree = abs_path($ENV{'srctree'});
47+
48 #
49 # Open the file to read from
50 #
51@@ -35,7 +38,7 @@ close IN_FILE || die;
52 #
53 open C_FILE, ">$ARGV[1]" or die;
54 print C_FILE "/*\n";
55-print C_FILE " * Automatically generated by ", $0, ". Do not edit\n";
56+print C_FILE " * Automatically generated by ", $0 =~ s#^\Q$abs_srctree/\E##r, ". Do not edit\n";
57 print C_FILE " */\n";
58
59 #
60--
612.34.1
62
diff --git a/recipes-kernel/linux/linux-imx/0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch b/recipes-kernel/linux/linux-imx/0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch
deleted file mode 100644
index dbeae5150..000000000
--- a/recipes-kernel/linux/linux-imx/0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch
+++ /dev/null
@@ -1,70 +0,0 @@
1From 3bd85c6c97b2d232638594bf828de62083fe3389 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
3Date: Mon, 11 Mar 2024 12:30:18 +0100
4Subject: [PATCH] tty: vt: conmakehash: Don't mention the full path of the
5 input in output
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10This change strips $abs_srctree of the input file containing the
11character mapping table in the generated output. The motivation for this
12change is Yocto emitting a build warning
13
14 WARNING: linux-lxatac-6.7-r0 do_package_qa: QA Issue: File /usr/src/debug/linux-lxatac/6.7-r0/drivers/tty/vt/consolemap_deftbl.c in package linux-lxatac-src contains reference to TMPDIR
15
16So this change brings us one step closer to make the build result
17reproducible independent of the build path.
18
19Upstream-Status: Backport [https://github.com/torvalds/linux/commit/3bd85c6c97b2d232638594bf828de62083fe3389]
20
21Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
22Link: https://lore.kernel.org/r/20240311113017.483101-2-u.kleine-koenig@pengutronix.de
23Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
24---
25 drivers/tty/vt/conmakehash.c | 15 +++++++++++++--
26 1 file changed, 13 insertions(+), 2 deletions(-)
27
28diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c
29index cddd789fe46e..dc2177fec715 100644
30--- a/drivers/tty/vt/conmakehash.c
31+++ b/drivers/tty/vt/conmakehash.c
32@@ -76,7 +76,8 @@ static void addpair(int fp, int un)
33 int main(int argc, char *argv[])
34 {
35 FILE *ctbl;
36- char *tblname;
37+ const char *tblname, *rel_tblname;
38+ const char *abs_srctree;
39 char buffer[65536];
40 int fontlen;
41 int i, nuni, nent;
42@@ -101,6 +102,16 @@ int main(int argc, char *argv[])
43 }
44 }
45
46+ abs_srctree = getenv("abs_srctree");
47+ if (abs_srctree && !strncmp(abs_srctree, tblname, strlen(abs_srctree)))
48+ {
49+ rel_tblname = tblname + strlen(abs_srctree);
50+ while (*rel_tblname == '/')
51+ ++rel_tblname;
52+ }
53+ else
54+ rel_tblname = tblname;
55+
56 /* For now we assume the default font is always 256 characters. */
57 fontlen = 256;
58
59@@ -253,7 +264,7 @@ int main(int argc, char *argv[])
60 #include <linux/types.h>\n\
61 \n\
62 u8 dfont_unicount[%d] = \n\
63-{\n\t", argv[1], fontlen);
64+{\n\t", rel_tblname, fontlen);
65
66 for ( i = 0 ; i < fontlen ; i++ )
67 {
68--
692.34.1
70
diff --git a/recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch b/recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch
deleted file mode 100644
index b9ec1be3a..000000000
--- a/recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From fb3b9c2d217f1f51fffe19fc0f4eaf55e2d4ea4f Mon Sep 17 00:00:00 2001
2From: Lucas Stach <l.stach@pengutronix.de>
3Date: Wed, 10 Apr 2024 15:41:21 +0200
4Subject: [PATCH 6/6] video: logo: Drop full path of the input filename in
5 generated file
6
7Avoid this Yocto build warning to make build reproducible:
8
9 WARNING: linux-foo-6.8-r0 do_package_qa: QA Issue:
10 File /usr/src/debug/linux-foo/6.8-r0/drivers/video/logo/logo_linux_clut224.c
11 in package linux-foo-src contains reference to TMPDIR
12
13Helge modified the patch to drop the whole line.
14
15Upstream-Status: Backport [https://github.com/torvalds/linux/commit/fb3b9c2d217f1f51fffe19fc0f4eaf55e2d4ea4f]
16
17Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
18Signed-off-by: Helge Deller <deller@gmx.de>
19---
20 drivers/video/logo/pnmtologo.c | 2 --
21 1 file changed, 2 deletions(-)
22
23diff --git a/drivers/video/logo/pnmtologo.c b/drivers/video/logo/pnmtologo.c
24index 2434a25afb64..8080c4d9c4a2 100644
25--- a/drivers/video/logo/pnmtologo.c
26+++ b/drivers/video/logo/pnmtologo.c
27@@ -235,8 +235,6 @@ static void write_header(void)
28 fputs("/*\n", out);
29 fputs(" * DO NOT EDIT THIS FILE!\n", out);
30 fputs(" *\n", out);
31- fprintf(out, " * It was automatically generated from %s\n", filename);
32- fputs(" *\n", out);
33 fprintf(out, " * Linux logo %s\n", logoname);
34 fputs(" */\n\n", out);
35 fputs("#include <linux/linux_logo.h>\n\n", out);
36--
372.34.1
38
diff --git a/recipes-kernel/linux/linux-imx_6.6.bb b/recipes-kernel/linux/linux-imx_6.12.bb
index b90b40d33..05d9c4ea6 100644
--- a/recipes-kernel/linux/linux-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-imx_6.12.bb
@@ -12,22 +12,16 @@ i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU
12 12
13require recipes-kernel/linux/linux-imx.inc 13require recipes-kernel/linux/linux-imx.inc
14 14
15SRCBRANCH = "lf-6.6.y" 15SRCBRANCH = "lf-6.12.y"
16LOCALVERSION = "-6.6.23-2.0.0" 16LOCALVERSION = "-6.12.3-1.1.0"
17SRCREV = "b586a521770e508d1d440ccb085c7696b9d6d387" 17SRCREV = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"
18
19SRC_URI += " \
20 file://0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch \
21 file://0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch \
22 file://0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch \
23"
24 18
25# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 19# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
26# required by kernel-yocto.bbclass. 20# required by kernel-yocto.bbclass.
27# 21#
28# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 22# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
29# should be updated once patchlevel is merged. 23# should be updated once patchlevel is merged.
30LINUX_VERSION = "6.6.23" 24LINUX_VERSION = "6.12.3"
31 25
32KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 26KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
33KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 27KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-qoriq.inc b/recipes-kernel/linux/linux-qoriq.inc
index 5d28ae84a..7243a345c 100644
--- a/recipes-kernel/linux/linux-qoriq.inc
+++ b/recipes-kernel/linux/linux-qoriq.inc
@@ -5,8 +5,6 @@ SUMMARY = "Linux Kernel for NXP QorIQ platforms"
5SECTION = "kernel" 5SECTION = "kernel"
6LICENSE = "GPL-2.0-only" 6LICENSE = "GPL-2.0-only"
7 7
8S = "${WORKDIR}/git"
9
10DEPENDS:append = " libgcc" 8DEPENDS:append = " libgcc"
11# not put Images into /boot of rootfs, install kernel-image if needed 9# not put Images into /boot of rootfs, install kernel-image if needed
12RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" 10RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
@@ -44,13 +42,13 @@ do_merge_delta_config() {
44 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do 42 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do
45 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then 43 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then
46 oe_runmake -C ${S} O=${B} ${deltacfg} 44 oe_runmake -C ${S} O=${B} ${deltacfg}
47 elif [ -f "${WORKDIR}/${deltacfg}" ]; then 45 elif [ -f "${UNPACKDIR}/${deltacfg}" ]; then
48 ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} 46 ${S}/scripts/kconfig/merge_config.sh -m .config ${UNPACKDIR}/${deltacfg}
49 elif [ -f "${deltacfg}" ]; then 47 elif [ -f "${deltacfg}" ]; then
50 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} 48 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg}
51 fi 49 fi
52 done 50 done
53 cp .config ${WORKDIR}/defconfig 51 cp .config ${UNPACKDIR}/defconfig
54} 52}
55addtask merge_delta_config before do_kernel_localversion after do_patch 53addtask merge_delta_config before do_kernel_localversion after do_patch
56 54
diff --git a/recipes-kernel/skmm-host/skmm-host_git.bb b/recipes-kernel/skmm-host/skmm-host_git.bb
index 9e75f5efb..cc226bd9a 100644
--- a/recipes-kernel/skmm-host/skmm-host_git.bb
+++ b/recipes-kernel/skmm-host/skmm-host_git.bb
@@ -8,9 +8,7 @@ inherit module qoriq_build_64bit_kernel
8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-host;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-host;protocol=https;nobranch=1"
9SRCREV = "d5912ebdb8d3b29b1e2df52710e8821d1ce3eb80" 9SRCREV = "d5912ebdb8d3b29b1e2df52710e8821d1ce3eb80"
10 10
11S = "${WORKDIR}/git" 11EXTRA_OEMAKE = 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
12
13EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
14 12
15FILES:${PN} += "/etc/skmm/ /usr/bin/" 13FILES:${PN} += "/etc/skmm/ /usr/bin/"
16 14
diff --git a/recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb b/recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb
new file mode 100644
index 000000000..ae762cb9a
--- /dev/null
+++ b/recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb
@@ -0,0 +1,36 @@
1SUMMARY = "The Linux driver stack for Arm(R) Ethos(TM)-U NPU"
2DESCRIPTION = "The Linux driver stack for Arm(R) Ethos(TM)-U provides \
3an example of how a rich operating system like Linux can dispatch \
4inferences to an Arm Cortex(R)-M subsystem, consisting of an Arm \
5Cortex-M of choice and an Arm Ethos-U NPU."
6LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e"
8
9DEPENDS = "flatbuffers python3-pybind11 python3-pybind11-native"
10
11SRC_URI = "${ETHOS_U_SRC};branch=${SRCBRANCH}"
12ETHOS_U_SRC ?= "git://github.com/nxp-imx/ethos-u-driver-stack-imx.git;protocol=https"
13SRCBRANCH = "lf-6.12.3_1.0.0"
14SRCREV = "a80c51d77c91f1a8266afc5d8056fb981de4b504"
15
16inherit cmake setuptools3
17
18SETUPTOOLS_BUILD_ARGS = "build_ext --library-dirs ${B}/driver_library"
19
20do_configure() {
21 cmake_do_configure
22}
23
24do_compile () {
25 cmake_do_compile
26 setuptools3_do_compile
27}
28
29do_install () {
30 cmake_do_install
31 setuptools3_do_install
32}
33
34RDEPENDS:${PN} = "flatbuffers python3-numpy python3-pillow"
35
36COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
diff --git a/recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb b/recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb
new file mode 100644
index 000000000..1f16dce90
--- /dev/null
+++ b/recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb
@@ -0,0 +1,28 @@
1SUMMARY = "The firmware of Cortex(R)-M33 for Arm(R) Ethos(TM)-U NPU"
2DESCRIPTION = "The firmware of Cortex(R)-M33 for Arm(R) Ethos(TM)-U NPU"
3LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-3-Clause"
4LIC_FILES_CHKSUM = "\
5 file://LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e \
6 file://LICENSE-GPL-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://LICENSE-BSD-3.txt;md5=0858ec9c7a80c4a2cf16e4f825a2cc91 \
8"
9
10SRC_URI = "${ETHOS_U_FIRMWARE_SRC};branch=${SRCBRANCH}"
11ETHOS_U_FIRMWARE_SRC ?= "git://github.com/nxp-imx/ethos-u-firmware.git;protocol=https"
12SRCBRANCH = "lf-6.12.3_1.0.0"
13SRCREV = "3dbedc11bd2a4ba56af9fbe9d285b5bf13f1a088"
14
15ETHOS_U_FIRMWARE = "ethosu_firmware"
16ETHOS_U_FIRMWARE:imx93-9x9-lpddr4-qsb = "ethosu_firmware_9x9"
17ETHOS_U_FIRMWARE:imx93-11x11-lpddr4x-evk = "ethosu_firmware_11x11"
18ETHOS_U_FIRMWARE:imx93-14x14-lpddr4x-evk = "ethosu_firmware_14x14"
19
20do_install () {
21 install -d ${D}${nonarch_base_libdir}/firmware
22 install -m 0644 ${S}/${ETHOS_U_FIRMWARE} ${D}${nonarch_base_libdir}/firmware/ethosu_firmware
23}
24
25FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
26INSANE_SKIP:${PN} = "arch"
27
28COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
index 7d20c6782..7ae8b8fef 100644
--- a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
@@ -1,4 +1,4 @@
1From 49a7eac8e02c33cae8a168e6d22d9ff8aaf86d44 Mon Sep 17 00:00:00 2001 1From 3fa81ebaf8bac6b167776888ae26c6c140d8aebc Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <b02247@freescale.com> 2From: Shengjiu Wang <b02247@freescale.com>
3Date: Thu, 5 Jun 2014 17:37:47 +0800 3Date: Thu, 5 Jun 2014 17:37:47 +0800
4Subject: [PATCH] add conf for multichannel support in imx 4Subject: [PATCH] add conf for multichannel support in imx
@@ -6,19 +6,18 @@ Subject: [PATCH] add conf for multichannel support in imx
6Upstream-Status: Inappropriate [platform specific] 6Upstream-Status: Inappropriate [platform specific]
7 7
8Signed-off-by: Shengjiu Wang <b02247@freescale.com> 8Signed-off-by: Shengjiu Wang <b02247@freescale.com>
9
10--- 9---
11 src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++ 10 src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++
12 src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++ 11 src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++
13 src/conf/cards/Makefile.am | 4 +- 12 src/conf/cards/Makefile.am | 2 +
14 src/conf/cards/aliases.conf | 2 + 13 src/conf/cards/aliases.conf | 2 +
15 4 files changed, 166 insertions(+), 1 deletion(-) 14 4 files changed, 165 insertions(+)
16 create mode 100644 src/conf/cards/CS42888.conf 15 create mode 100644 src/conf/cards/CS42888.conf
17 create mode 100644 src/conf/cards/IMX-HDMI.conf 16 create mode 100644 src/conf/cards/IMX-HDMI.conf
18 17
19diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf 18diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf
20new file mode 100644 19new file mode 100644
21index 0000000..671a284 20index 000000000000..671a2845894b
22--- /dev/null 21--- /dev/null
23+++ b/src/conf/cards/CS42888.conf 22+++ b/src/conf/cards/CS42888.conf
24@@ -0,0 +1,94 @@ 23@@ -0,0 +1,94 @@
@@ -118,7 +117,7 @@ index 0000000..671a284
118+# vim: ft=alsaconf 117+# vim: ft=alsaconf
119diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf 118diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf
120new file mode 100644 119new file mode 100644
121index 0000000..a51509e 120index 000000000000..a51509e8ad5a
122--- /dev/null 121--- /dev/null
123+++ b/src/conf/cards/IMX-HDMI.conf 122+++ b/src/conf/cards/IMX-HDMI.conf
124@@ -0,0 +1,67 @@ 123@@ -0,0 +1,67 @@
@@ -190,22 +189,20 @@ index 0000000..a51509e
190+ 189+
191+# vim: ft=alsaconf 190+# vim: ft=alsaconf
192diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 191diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
193index 00999f0..fbf0697 100644 192index f387cf4197da..cbd2cd04227d 100644
194--- a/src/conf/cards/Makefile.am 193--- a/src/conf/cards/Makefile.am
195+++ b/src/conf/cards/Makefile.am 194+++ b/src/conf/cards/Makefile.am
196@@ -58,7 +58,9 @@ cfg_files = aliases.conf \ 195@@ -1,6 +1,8 @@
197 VIA8237.conf \ 196 alsaconfigdir = @ALSA_CONFIG_DIR@
198 VX222.conf \ 197 alsadir = $(alsaconfigdir)/cards
199 VXPocket.conf \ 198 cfg_files = aliases.conf \
200- VXPocket440.conf
201+ VXPocket440.conf \
202+ CS42888.conf \ 199+ CS42888.conf \
203+ IMX-HDMI.conf 200+ IMX-HDMI.conf \
204 201 AACI.conf \
205 if BUILD_ALISP 202 ATIIXP.conf \
206 cfg_files += aliases.alisp 203 ATIIXP-SPDMA.conf \
207diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 204diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
208index 7e352f7..a9e6d76 100644 205index a54824ae636b..0aa874d7434f 100644
209--- a/src/conf/cards/aliases.conf 206--- a/src/conf/cards/aliases.conf
210+++ b/src/conf/cards/aliases.conf 207+++ b/src/conf/cards/aliases.conf
211@@ -57,6 +57,8 @@ CMI8786 cards.CMI8788 208@@ -57,6 +57,8 @@ CMI8786 cards.CMI8788
@@ -217,3 +214,6 @@ index 7e352f7..a9e6d76 100644
217 214
218 <confdir:ctl/default.conf> 215 <confdir:ctl/default.conf>
219 <confdir:pcm/default.conf> 216 <confdir:pcm/default.conf>
217--
2182.42.0
219
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch b/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
index 5ec0d2e99..193d507eb 100644
--- a/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
@@ -1,4 +1,4 @@
1From aa4f56c3c952269c36464cc0da9db5a1381648fa Mon Sep 17 00:00:00 2001 1From 3950e1ae36ca53a67b7248137e6033e7e99f79a3 Mon Sep 17 00:00:00 2001
2From: Jaroslav Kysela <perex@perex.cz> 2From: Jaroslav Kysela <perex@perex.cz>
3Date: Wed, 9 Nov 2022 08:11:42 +0100 3Date: Wed, 9 Nov 2022 08:11:42 +0100
4Subject: [PATCH] pcm: rate - fix the crash in 4Subject: [PATCH] pcm: rate - fix the crash in
@@ -24,10 +24,10 @@ Signed-off-by: Jaroslav Kysela <perex@perex.cz>
24 1 file changed, 1 insertion(+), 1 deletion(-) 24 1 file changed, 1 insertion(+), 1 deletion(-)
25 25
26diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c 26diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c
27index 6bb90b8b..ec64604c 100644 27index 9d7e233e8437..d58789eca73b 100644
28--- a/src/pcm/pcm_plugin.c 28--- a/src/pcm/pcm_plugin.c
29+++ b/src/pcm/pcm_plugin.c 29+++ b/src/pcm/pcm_plugin.c
30@@ -622,7 +622,7 @@ int snd_pcm_plugin_may_wait_for_avail_min_conv( 30@@ -626,7 +626,7 @@ int snd_pcm_plugin_may_wait_for_avail_min_conv(
31 * This code is also used by extplug, but extplug does not allow to alter the sampling rate. 31 * This code is also used by extplug, but extplug does not allow to alter the sampling rate.
32 */ 32 */
33 if (conv) 33 if (conv)
@@ -37,5 +37,5 @@ index 6bb90b8b..ec64604c 100644
37 if (slave->avail_min != needed_slave_avail_min) { 37 if (slave->avail_min != needed_slave_avail_min) {
38 snd_pcm_sw_params_t *swparams; 38 snd_pcm_sw_params_t *swparams;
39-- 39--
402.34.1 402.42.0
41 41
diff --git a/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch b/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
index b25aa910e..51e199821 100644
--- a/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
@@ -1,4 +1,4 @@
1From d78b7e2b964c9713c2e9889f4ec85922528ba971 Mon Sep 17 00:00:00 2001 1From 92d2b7d91bc1ec4068ee9371753bb24ad1108827 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com> 2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Wed, 31 Jan 2018 15:06:53 +0800 3Date: Wed, 31 Jan 2018 15:06:53 +0800
4Subject: [PATCH] add ak4458 conf for multichannel support 4Subject: [PATCH] add ak4458 conf for multichannel support
@@ -12,17 +12,16 @@ maximum 8 channels, but ak4458 may support 16 channels
12Upstream-Status: Inappropriate [i.MX specific] 12Upstream-Status: Inappropriate [i.MX specific]
13 13
14Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> 14Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
15
16--- 15---
17 src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++ 16 src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++
18 src/conf/cards/Makefile.am | 3 +- 17 src/conf/cards/Makefile.am | 1 +
19 src/conf/cards/aliases.conf | 1 + 18 src/conf/cards/aliases.conf | 1 +
20 3 files changed, 77 insertions(+), 1 deletion(-) 19 3 files changed, 76 insertions(+)
21 create mode 100644 src/conf/cards/AK4458.conf 20 create mode 100644 src/conf/cards/AK4458.conf
22 21
23diff --git a/src/conf/cards/AK4458.conf b/src/conf/cards/AK4458.conf 22diff --git a/src/conf/cards/AK4458.conf b/src/conf/cards/AK4458.conf
24new file mode 100644 23new file mode 100644
25index 0000000..3b5b195 24index 000000000000..3b5b195f2ca0
26--- /dev/null 25--- /dev/null
27+++ b/src/conf/cards/AK4458.conf 26+++ b/src/conf/cards/AK4458.conf
28@@ -0,0 +1,74 @@ 27@@ -0,0 +1,74 @@
@@ -101,21 +100,19 @@ index 0000000..3b5b195
101+ slave.channels 8 100+ slave.channels 8
102+} 101+}
103diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 102diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
104index fbf0697..34fa5a3 100644 103index cbd2cd04227d..3c29bd65d341 100644
105--- a/src/conf/cards/Makefile.am 104--- a/src/conf/cards/Makefile.am
106+++ b/src/conf/cards/Makefile.am 105+++ b/src/conf/cards/Makefile.am
107@@ -60,7 +60,8 @@ cfg_files = aliases.conf \ 106@@ -3,6 +3,7 @@ alsadir = $(alsaconfigdir)/cards
108 VXPocket.conf \ 107 cfg_files = aliases.conf \
109 VXPocket440.conf \
110 CS42888.conf \ 108 CS42888.conf \
111- IMX-HDMI.conf 109 IMX-HDMI.conf \
112+ IMX-HDMI.conf \ 110+ AK4458.conf \
113+ AK4458.conf 111 AACI.conf \
114 112 ATIIXP.conf \
115 if BUILD_ALISP 113 ATIIXP-SPDMA.conf \
116 cfg_files += aliases.alisp
117diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 114diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
118index a9e6d76..2f0a22a 100644 115index 0aa874d7434f..dda71d99916e 100644
119--- a/src/conf/cards/aliases.conf 116--- a/src/conf/cards/aliases.conf
120+++ b/src/conf/cards/aliases.conf 117+++ b/src/conf/cards/aliases.conf
121@@ -59,6 +59,7 @@ pistachio cards.pistachio-card 118@@ -59,6 +59,7 @@ pistachio cards.pistachio-card
@@ -126,3 +123,6 @@ index a9e6d76..2f0a22a 100644
126 123
127 <confdir:ctl/default.conf> 124 <confdir:ctl/default.conf>
128 <confdir:pcm/default.conf> 125 <confdir:pcm/default.conf>
126--
1272.42.0
128
diff --git a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
index 1f558185d..db76eb749 100644
--- a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
@@ -1,4 +1,4 @@
1From 36aae65dc913e1ebe72366d7ae361897d465e88d Mon Sep 17 00:00:00 2001 1From faa9791070520f8d5e7060e5668efd1302c86c66 Mon Sep 17 00:00:00 2001
2From: Viorel Suman <viorel.suman@nxp.com> 2From: Viorel Suman <viorel.suman@nxp.com>
3Date: Mon, 9 Mar 2020 14:25:46 +0200 3Date: Mon, 9 Mar 2020 14:25:46 +0200
4Subject: [PATCH] add conf for iMX XCVR sound card 4Subject: [PATCH] add conf for iMX XCVR sound card
@@ -6,17 +6,16 @@ Subject: [PATCH] add conf for iMX XCVR sound card
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
8Signed-off-by: Viorel Suman <viorel.suman@nxp.com> 8Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
9
10--- 9---
11 src/conf/cards/IMX-XCVR.conf | 39 ++++++++++++++++++++++++++++++++++++ 10 src/conf/cards/IMX-XCVR.conf | 39 ++++++++++++++++++++++++++++++++++++
12 src/conf/cards/Makefile.am | 3 ++- 11 src/conf/cards/Makefile.am | 1 +
13 src/conf/cards/aliases.conf | 1 + 12 src/conf/cards/aliases.conf | 1 +
14 3 files changed, 42 insertions(+), 1 deletion(-) 13 3 files changed, 41 insertions(+)
15 create mode 100755 src/conf/cards/IMX-XCVR.conf 14 create mode 100755 src/conf/cards/IMX-XCVR.conf
16 15
17diff --git a/src/conf/cards/IMX-XCVR.conf b/src/conf/cards/IMX-XCVR.conf 16diff --git a/src/conf/cards/IMX-XCVR.conf b/src/conf/cards/IMX-XCVR.conf
18new file mode 100755 17new file mode 100755
19index 0000000..009000c 18index 000000000000..009000c63a19
20--- /dev/null 19--- /dev/null
21+++ b/src/conf/cards/IMX-XCVR.conf 20+++ b/src/conf/cards/IMX-XCVR.conf
22@@ -0,0 +1,39 @@ 21@@ -0,0 +1,39 @@
@@ -60,21 +59,19 @@ index 0000000..009000c
60+ preamble.y 0x3 59+ preamble.y 0x3
61+} 60+}
62diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 61diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
63index 34fa5a3..70b9bab 100644 62index 3c29bd65d341..4502919e3bec 100644
64--- a/src/conf/cards/Makefile.am 63--- a/src/conf/cards/Makefile.am
65+++ b/src/conf/cards/Makefile.am 64+++ b/src/conf/cards/Makefile.am
66@@ -61,7 +61,8 @@ cfg_files = aliases.conf \ 65@@ -4,6 +4,7 @@ cfg_files = aliases.conf \
67 VXPocket440.conf \
68 CS42888.conf \ 66 CS42888.conf \
69 IMX-HDMI.conf \ 67 IMX-HDMI.conf \
70- AK4458.conf 68 AK4458.conf \
71+ AK4458.conf \ 69+ IMX-XCVR.conf \
72+ IMX-XCVR.conf 70 AACI.conf \
73 71 ATIIXP.conf \
74 if BUILD_ALISP 72 ATIIXP-SPDMA.conf \
75 cfg_files += aliases.alisp
76diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 73diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
77index 2f0a22a..e824145 100644 74index dda71d99916e..6dab14855f25 100644
78--- a/src/conf/cards/aliases.conf 75--- a/src/conf/cards/aliases.conf
79+++ b/src/conf/cards/aliases.conf 76+++ b/src/conf/cards/aliases.conf
80@@ -60,6 +60,7 @@ VC4-HDMI cards.vc4-hdmi 77@@ -60,6 +60,7 @@ VC4-HDMI cards.vc4-hdmi
@@ -85,3 +82,6 @@ index 2f0a22a..e824145 100644
85 82
86 <confdir:ctl/default.conf> 83 <confdir:ctl/default.conf>
87 <confdir:pcm/default.conf> 84 <confdir:pcm/default.conf>
85--
862.42.0
87
diff --git a/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch b/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
index 64e15be4a..fa71078e4 100644
--- a/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
@@ -1,107 +1,109 @@
1From 97d5e09a4166b45c567026e51b8a25ef5d7d587d Mon Sep 17 00:00:00 2001 1From 38d84440a7bec9e26380f08f050b2ada772b822e Mon Sep 17 00:00:00 2001
2From: Chancel Liu <chancel.liu@nxp.com> 2From: Chancel Liu <chancel.liu@nxp.com>
3Date: Fri, 29 Jul 2022 16:12:37 +0800 3Date: Fri, 29 Jul 2022 16:12:37 +0800
4Subject: [PATCH] add conf for imx-cs42448 sound card 4Subject: [PATCH] add conf for imx-cs42448 sound card
5 5MIME-Version: 1.0
6Upstream-Status: Inappropriate [i.MX specific] 6Content-Type: text/plain; charset=UTF-8
7 7Content-Transfer-Encoding: 8bit
8Signed-off-by: Chancel Liu <chancel.liu@nxp.com> 8
9--- 9Upstream-Status: Inappropriate [i.MX specific]
10 src/conf/cards/CS42448.conf | 58 +++++++++++++++++++++++++++++++++++++ 10
11 src/conf/cards/Makefile.am | 3 +- 11Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
12 src/conf/cards/aliases.conf | 1 + 12---
13 3 files changed, 61 insertions(+), 1 deletion(-) 13 src/conf/cards/CS42448.conf | 58 +++++++++++++++++++++++++++++++++++++
14 create mode 100644 src/conf/cards/CS42448.conf 14 src/conf/cards/Makefile.am | 1 +
15 15 src/conf/cards/aliases.conf | 1 +
16diff --git a/src/conf/cards/CS42448.conf b/src/conf/cards/CS42448.conf 16 3 files changed, 60 insertions(+)
17new file mode 100644 17 create mode 100644 src/conf/cards/CS42448.conf
18index 00000000..28ba5c48 18
19--- /dev/null 19diff --git a/src/conf/cards/CS42448.conf b/src/conf/cards/CS42448.conf
20+++ b/src/conf/cards/CS42448.conf 20new file mode 100644
21@@ -0,0 +1,58 @@ 21index 000000000000..28ba5c485837
22+# 22--- /dev/null
23+# Configuration for the CS42448 chip 23+++ b/src/conf/cards/CS42448.conf
24+# 24@@ -0,0 +1,58 @@
25+ 25+#
26+# default with dmix & dsnoop 26+# Configuration for the CS42448 chip
27+CS42448.pcm.default { 27+#
28+ @args [ CARD ] 28+
29+ @args.CARD { 29+# default with dmix & dsnoop
30+ type string 30+CS42448.pcm.default {
31+ } 31+ @args [ CARD ]
32+ type asym 32+ @args.CARD {
33+ playback.pcm { 33+ type string
34+ type plug 34+ }
35+ slave.pcm { 35+ type asym
36+ @func concat 36+ playback.pcm {
37+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] 37+ type plug
38+ } 38+ slave.pcm {
39+ } 39+ @func concat
40+ capture.pcm { 40+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
41+ type plug 41+ }
42+ slave.pcm { 42+ }
43+ @func concat 43+ capture.pcm {
44+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] 44+ type plug
45+ } 45+ slave.pcm {
46+ } 46+ @func concat
47+} 47+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
48+ 48+ }
49+<confdir:pcm/surround51.conf> 49+ }
50+ 50+}
51+CS42448.pcm.surround51.0 { 51+
52+ @args [ CARD ] 52+<confdir:pcm/surround51.conf>
53+ @args.CARD { 53+
54+ type string 54+CS42448.pcm.surround51.0 {
55+ } 55+ @args [ CARD ]
56+ type plug 56+ @args.CARD {
57+ slave.pcm { 57+ type string
58+ type hw 58+ }
59+ card $CARD 59+ type plug
60+ } 60+ slave.pcm {
61+ slave.channels 6 61+ type hw
62+} 62+ card $CARD
63+ 63+ }
64+<confdir:pcm/surround71.conf> 64+ slave.channels 6
65+ 65+}
66+CS42448.pcm.surround71.0 { 66+
67+ @args [ CARD ] 67+<confdir:pcm/surround71.conf>
68+ @args.CARD { 68+
69+ type string 69+CS42448.pcm.surround71.0 {
70+ } 70+ @args [ CARD ]
71+ type plug 71+ @args.CARD {
72+ slave.pcm { 72+ type string
73+ type hw 73+ }
74+ card $CARD 74+ type plug
75+ } 75+ slave.pcm {
76+ slave.channels 8 76+ type hw
77+} 77+ card $CARD
78+ 78+ }
79+# vim: ft=alsaconf 79+ slave.channels 8
80diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 80+}
81index 70b9bab3..6aba20b4 100644 81+
82--- a/src/conf/cards/Makefile.am 82+# vim: ft=alsaconf
83+++ b/src/conf/cards/Makefile.am 83diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
84@@ -62,7 +62,8 @@ cfg_files = aliases.conf \ 84index 4502919e3bec..da2def3a9498 100644
85 CS42888.conf \ 85--- a/src/conf/cards/Makefile.am
86 IMX-HDMI.conf \ 86+++ b/src/conf/cards/Makefile.am
87 AK4458.conf \ 87@@ -5,6 +5,7 @@ cfg_files = aliases.conf \
88- IMX-XCVR.conf 88 IMX-HDMI.conf \
89+ IMX-XCVR.conf \ 89 AK4458.conf \
90+ CS42448.conf 90 IMX-XCVR.conf \
91 91+ CS42448.conf \
92 if BUILD_ALISP 92 AACI.conf \
93 cfg_files += aliases.alisp 93 ATIIXP.conf \
94diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 94 ATIIXP-SPDMA.conf \
95index e824145d..a40d3731 100644 95diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
96--- a/src/conf/cards/aliases.conf 96index 6dab14855f25..554db846f8e5 100644
97+++ b/src/conf/cards/aliases.conf 97--- a/src/conf/cards/aliases.conf
98@@ -61,6 +61,7 @@ imx-cs42888 cards.CS42888 98+++ b/src/conf/cards/aliases.conf
99 imx-hdmi-soc cards.IMX-HDMI 99@@ -61,6 +61,7 @@ imx-cs42888 cards.CS42888
100 ak4458-audio cards.AK4458 100 imx-hdmi-soc cards.IMX-HDMI
101 imx-audio-xcvr cards.IMX-XCVR 101 ak4458-audio cards.AK4458
102+imx-cs42448 cards.CS42448 102 imx-audio-xcvr cards.IMX-XCVR
103 103+imx-cs42448 cards.CS42448
104 <confdir:ctl/default.conf> 104
105 <confdir:pcm/default.conf> 105 <confdir:ctl/default.conf>
106-- 106 <confdir:pcm/default.conf>
1072.17.1 107--
1082.42.0
109
diff --git a/recipes-multimedia/alsa/alsa-lib_%.bbappend b/recipes-multimedia/alsa/alsa-lib_%.bbappend
index 65498aed1..230cf0957 100644
--- a/recipes-multimedia/alsa/alsa-lib_%.bbappend
+++ b/recipes-multimedia/alsa/alsa-lib_%.bbappend
@@ -10,6 +10,3 @@ IMX_PATCH = " \
10SRC_URI:append:imx-nxp-bsp = "${IMX_PATCH}" 10SRC_URI:append:imx-nxp-bsp = "${IMX_PATCH}"
11 11
12PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}" 12PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}"
13
14GLIBC_64BIT_TIME_FLAGS = ""
15INSANE_SKIP:append = " 32bit-time"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
index b05c3a48c..e87a47020 100644
--- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
+++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -1,5 +1,5 @@
1# Copyright 2013-2016 Freescale Semiconductor 1# Copyright 2013-2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright 2017-2024 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "Freescale alsa-lib plugins" 5DESCRIPTION = "Freescale alsa-lib plugins"
@@ -20,10 +20,8 @@ inherit autotools pkgconfig use-imx-headers
20PV = "1.0.26+${SRCPV}" 20PV = "1.0.26+${SRCPV}"
21 21
22SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}" 22SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
23SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 23SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
24SRCREV = "b2ba082e70333f187972ee4e85f63f9d2f608331" 24SRCREV = "eaf0900662d6381bcc433165219280cca1752890"
25
26S = "${WORKDIR}/git"
27 25
28CFLAGS:append = " -I${STAGING_INCDIR_IMX}" 26CFLAGS:append = " -I${STAGING_INCDIR_IMX}"
29 27
diff --git a/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
new file mode 100644
index 000000000..828c87dc9
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
@@ -0,0 +1,37 @@
1From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 17 Aug 2017 11:07:02 +0300
4Subject: [PATCH] Make player examples installable
5
6Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
7Upstream-Status: Denied [Upstream considers these code examples, for now a least]
8
9https://bugzilla.gnome.org/show_bug.cgi?id=777827
10
11---
12 playback/player/gst-play/meson.build | 1 +
13 playback/player/gtk/meson.build | 1 +
14 2 files changed, 2 insertions(+)
15
16Index: gst-examples/playback/player/gst-play/meson.build
17===================================================================
18--- gst-examples.orig/playback/player/gst-play/meson.build
19+++ gst-examples/playback/player/gst-play/meson.build
20@@ -2,5 +2,6 @@ executable('gst-play',
21 ['gst-play.c',
22 'gst-play-kb.c',
23 'gst-play-kb.h'],
24+ install: true,
25 dependencies : [gst_dep, dependency('gstreamer-play-1.0'), m_dep])
26
27Index: gst-examples/playback/player/gtk/meson.build
28===================================================================
29--- gst-examples.orig/playback/player/gtk/meson.build
30+++ gst-examples/playback/player/gtk/meson.build
31@@ -20,5 +20,6 @@ if gtk_dep.found()
32 'gtk-video-renderer.h',
33 'gtk-video-renderer.c'],
34 c_args : extra_c_args,
35+ install: true,
36 dependencies : [gst_dep, gsttag_dep, gstplay_dep, gtk_dep, x11_dep])
37 endif
diff --git a/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
new file mode 100644
index 000000000..d165e5d91
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
@@ -0,0 +1,10 @@
1[Desktop Entry]
2Name=Media Player
3Comment=Basic media player
4Icon=video-player
5TryExec=gtk-play
6Exec=gtk-play
7StartupNotify=true
8Terminal=false
9Type=Application
10Categories=GTK;AudioVideo;
diff --git a/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb
new file mode 100644
index 000000000..9db0051a1
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb
@@ -0,0 +1,38 @@
1# This builds an older version which is compatible with the gstreamer NXP fork 1.24.7.imx,
2# thus the version is appended with '.imx'
3
4SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
5DESCRIPTION = "GStreamer example applications."
6HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples"
7BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
8LICENSE = "LGPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
10
11DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 json-glib glib-2.0-native"
12
13SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gstreamer.git;protocol=https;branch=1.24 \
14 file://0001-Make-player-examples-installable.patch \
15 file://gst-player.desktop \
16 "
17
18SRCREV = "0f1e984e41ce8d6d0758265d35e8b10d5815fde2"
19
20S = "${UNPACKDIR}/${BP}/subprojects/gst-examples"
21
22inherit meson pkgconfig features_check
23
24UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
25
26ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
27
28do_install:append() {
29 install -m 0644 -D ${UNPACKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
30}
31
32RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback"
33RRECOMMENDS:${PN} = "gstreamer1.0-plugins-base-meta \
34 gstreamer1.0-plugins-good-meta \
35 gstreamer1.0-plugins-bad-meta \
36 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-libav", "", d)} \
37 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
38RPROVIDES:${PN} += "gst-player gst-player-bin"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb
index ab542cb53..bf61d4192 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb
@@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
12 " 12 "
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz" 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz"
15SRC_URI[sha256sum] = "ab775d5b9a7c84176b29822b68c7a34731280039a20b7db5eb639eddd1466178" 15SRC_URI[sha256sum] = "c3e4179ba183c2d3101edf87ff70dd07e728c766a5fee34e6ecded76ca5802df"
16 16
17S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}" 17S = "${UNPACKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
18 18
19DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" 19DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
20 20
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch
deleted file mode 100644
index d4fd8cf3c..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From 784881b9bffaa768c3a1e9cb3d8eead7b4ca356a Mon Sep 17 00:00:00 2001
2From: Hiago De Franco <hiago.franco@toradex.com>
3Date: Thu, 12 Sep 2024 18:44:14 +0200
4Subject: [PATCH] autovideoconvert: add imxvideoconvert_g2d
5
6On i.MX8 platform, autovideoconvert defaults to CPU-based processing as
7imxvideoconvert_g2d is not included as a listed filter, resulting in
8poor video playback performance.
9
10Add imxvideoconvert_g2d to improve performance by utilizing hardware
11acceleration.
12
13Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-bad/pull/2]
14Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
15---
16 gst/autoconvert/gstautovideoconvert.c | 7 +++++++
17 1 file changed, 7 insertions(+)
18
19diff --git a/gst/autoconvert/gstautovideoconvert.c b/gst/autoconvert/gstautovideoconvert.c
20index cf5468316cd5..b91bd1556c37 100644
21--- a/gst/autoconvert/gstautovideoconvert.c
22+++ b/gst/autoconvert/gstautovideoconvert.c
23@@ -85,6 +85,13 @@ gst_auto_video_convert_init (GstAutoVideoConvert * autovideoconvert)
24 .filters = { NULL },
25 .rank = GST_RANK_SECONDARY,
26 },
27+ {
28+ .first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
29+ .colorspace_converters = { "imxvideoconvert_g2d", NULL },
30+ .last_elements = { NULL, },
31+ .filters = { NULL },
32+ .rank = GST_RANK_PRIMARY + 1,
33+ },
34 {
35 .first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
36 .colorspace_converters = { "videoconvertscale", NULL },
37--
382.39.2
39
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
index c53025b75..7aa22436c 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
@@ -178,9 +178,7 @@ FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
178 178
179DEFAULT_PREFERENCE = "-1" 179DEFAULT_PREFERENCE = "-1"
180 180
181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c" 181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
182
183DEPENDS:append:imxgpu2d = " virtual/libg2d"
184 182
185SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ 183SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
186 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ 184 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
@@ -188,12 +186,11 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plug
188 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 186 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
189 " 187 "
190SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
191SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch"
192GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" 189GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
193SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 190SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
194SRCREV = "869cef4efbc004c795392d274e617f2dfa71ac98" 191SRCREV = "7bb1254fcb0a0dcb1ecb4ac21efbc5068151943d"
195 192
196S = "${WORKDIR}/git" 193S = "${UNPACKDIR}/${BP}"
197 194
198inherit use-imx-headers 195inherit use-imx-headers
199 196
@@ -214,13 +211,6 @@ PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
214PACKAGECONFIG[g2d] = ",,virtual/libg2d" 211PACKAGECONFIG[g2d] = ",,virtual/libg2d"
215PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress" 212PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
216 213
217# GCC-14 otherwise errors out
218CFLAGS += " \
219 -Wno-error=implicit-function-declaration \
220 -Wno-error=incompatible-pointer-types \
221 -Wno-error=return-mismatch \
222 -Wno-error=int-conversion \
223"
224EXTRA_OEMESON += " \ 214EXTRA_OEMESON += " \
225 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 215 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
226" 216"
@@ -230,7 +220,4 @@ EXTRA_OEMESON:remove = " \
230" 220"
231 221
232COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 222COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
233# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE
234#
235TOOLCHAIN = "gcc"
236########### End of i.MX overrides ######### 223########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
index 348a30dc5..ed6e02435 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
@@ -118,10 +118,10 @@ SRC_URI:remove = " \
118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
119 119
120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" 120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
121SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 121SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
122SRCREV = "1c9913d7ce81c43cbf756158a35f61dbeee19ea3" 122SRCREV = "858ae5a1fb2bd2692ca7ebbd5bde2eee14e1842d"
123 123
124S = "${WORKDIR}/git" 124S = "${UNPACKDIR}/${BP}"
125 125
126inherit use-imx-headers 126inherit use-imx-headers
127 127
@@ -135,8 +135,6 @@ PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
135PACKAGECONFIG[g2d] = ",,virtual/libg2d" 135PACKAGECONFIG[g2d] = ",,virtual/libg2d"
136PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" 136PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
137 137
138# GCC-14 otherwise errors out
139CFLAGS += "-Wno-error=incompatible-pointer-types"
140EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" 138EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
141 139
142# links with imx-gpu libs which are pre-built for glibc 140# links with imx-gpu libs which are pre-built for glibc
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend
index a834192eb..528d7e1a3 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.%.bbappend
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend
@@ -13,5 +13,5 @@ PACKAGECONFIG_GL:use-mainline-bsp = \
13# does not depend on the viv-fb feature. It used to, but that was actually a bug 13# does not depend on the viv-fb feature. It used to, but that was actually a bug
14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is 14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".) 15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
16PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb " 16PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb"
17PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb " 17PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
index 5d5a2425c..28044ccd1 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
@@ -94,11 +94,11 @@ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
94DEFAULT_PREFERENCE = "-1" 94DEFAULT_PREFERENCE = "-1"
95 95
96LIC_FILES_CHKSUM = " \ 96LIC_FILES_CHKSUM = " \
97 file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 97 file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \ 98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
99" 99"
100# Enable pulsesink in gstreamer 100# Enable pulsesink in gstreamer
101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" 101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', ' pulseaudio', '', d)}"
102 102
103# fb implementation of v4l2 uses libdrm 103# fb implementation of v4l2 uses libdrm
104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" 104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
@@ -111,21 +111,10 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plu
111 111
112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " 112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" 113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
114SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 114SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
115SRCREV = "50535da48c564bd3a46b2e39e0a3a97cf7e86df3" 115SRCREV = "626a972e9ef448f1017cfad07a3486a0fb340a0d"
116 116
117# set 32bit compile timer for 32-bit platform 117S = "${UNPACKDIR}/${BP}"
118GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
119GLIBC_64BIT_TIME_FLAGS:mx7-nxp-bsp = ""
120INSANE_SKIP:mx6-nxp-bsp:append = " 32bit-time"
121INSANE_SKIP:mx7-nxp-bsp:append = " 32bit-time"
122
123# GCC-14 otherwise errors out
124CFLAGS += " \
125 -Wno-error=implicit-function-declaration \
126 -Wno-error=incompatible-pointer-types \
127"
128S = "${WORKDIR}/git"
129 118
130COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 119COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
131 120
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
index f09a5bc77..cc2cedfd5 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
@@ -18,8 +18,6 @@ SRCBRANCH ?= "master"
18SRCREV = "ce4f86e60f12c56574f727f3317fa8aa30a11387" 18SRCREV = "ce4f86e60f12c56574f727f3317fa8aa30a11387"
19SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https" 19SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
20 20
21S = "${WORKDIR}/git"
22
23inherit pkgconfig meson use-imx-headers 21inherit pkgconfig meson use-imx-headers
24 22
25# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU. 23# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb
index 55bb975b4..23b8c72cb 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb
@@ -16,7 +16,7 @@ SRC_URI = " \
16 " 16 "
17SRC_URI[sha256sum] = "c5d1cbdf71ab0c675bca236f70edfa1feb3f813fd4bfff563308f466d8805ca5" 17SRC_URI[sha256sum] = "c5d1cbdf71ab0c675bca236f70edfa1feb3f813fd4bfff563308f466d8805ca5"
18 18
19S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}" 19S = "${UNPACKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
20 20
21DEPENDS += "gstreamer1.0-plugins-base" 21DEPENDS += "gstreamer1.0-plugins-base"
22 22
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb
index 0ba9a1aea..cac54e88a 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb
@@ -18,7 +18,7 @@ RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
18 18
19PNREAL = "gst-python" 19PNREAL = "gst-python"
20 20
21S = "${WORKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}" 21S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}"
22 22
23EXTRA_OEMESON += "\ 23EXTRA_OEMESON += "\
24 -Dtests=disabled \ 24 -Dtests=disabled \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb
index c866d2332..58255b992 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_
12 12
13SRC_URI[sha256sum] = "5b0fa6b12ba95b1d336a4b274cbe19e982aa3e6819f1d97bfd8e0102b103ed9b" 13SRC_URI[sha256sum] = "5b0fa6b12ba95b1d336a4b274cbe19e982aa3e6819f1d97bfd8e0102b103ed9b"
14 14
15S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}" 15S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
16 16
17inherit meson pkgconfig upstream-version-is-even gobject-introspection 17inherit meson pkgconfig upstream-version-is-even gobject-introspection
18 18
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb
index dde7b5b1d..3993730ec 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-1.24.0.tar.
13 13
14SRC_URI[sha256sum] = "6b1f3b91ca65dedc67dc67a25dc1d1e464f11825a27ab9c7ac7c1bda67f03596" 14SRC_URI[sha256sum] = "6b1f3b91ca65dedc67dc67a25dc1d1e464f11825a27ab9c7ac7c1bda67f03596"
15 15
16S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}" 16S = "${UNPACKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" 17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
18 18
19inherit meson pkgconfig features_check upstream-version-is-even 19inherit meson pkgconfig features_check upstream-version-is-even
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
deleted file mode 100644
index 1b9278db0..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH] tests: respect the idententaion used in meson
5
6Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
7
8Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
9
10---
11 tests/check/meson.build | 10 +++++-----
12 1 file changed, 5 insertions(+), 5 deletions(-)
13
14diff --git a/tests/check/meson.build b/tests/check/meson.build
15index 9787b0a..16caac7 100644
16--- a/tests/check/meson.build
17+++ b/tests/check/meson.build
18@@ -145,11 +145,11 @@ foreach t : core_tests
19
20 if not skip_test
21 exe = executable(test_name, fname,
22- c_args : gst_c_args + test_defines,
23- cpp_args : gst_c_args + test_defines,
24- include_directories : [configinc],
25- link_with : link_with_libs,
26- dependencies : gst_deps + test_deps,
27+ c_args : gst_c_args + test_defines,
28+ cpp_args : gst_c_args + test_defines,
29+ include_directories : [configinc],
30+ link_with : link_with_libs,
31+ dependencies : gst_deps + test_deps,
32 )
33
34 env = environment()
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
deleted file mode 100644
index 456f07626..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
+++ /dev/null
@@ -1,109 +0,0 @@
1From 330e15374bb30ac29ee72c4b3de79c17b1157112 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH] tests: add support for install the tests
5
6This will provide to run the tests using the gnome-desktop-testing [1]
7
8[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13
14---
15 meson.build | 4 ++++
16 meson_options.txt | 1 +
17 tests/check/meson.build | 21 ++++++++++++++++++++-
18 tests/check/template.test.in | 3 +++
19 4 files changed, 28 insertions(+), 1 deletion(-)
20 create mode 100644 tests/check/template.test.in
21
22diff --git a/meson.build b/meson.build
23index 540d6d290e10..0267f22a79ea 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -624,6 +624,10 @@ if bashcomp_dep.found()
27 endif
28 endif
29
30+installed_tests_enabled = get_option('installed_tests')
31+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
32+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
33+
34 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
35
36 pkgconfig = import('pkgconfig')
37diff --git a/meson_options.txt b/meson_options.txt
38index 340fb5801d02..5b87f68e8d7f 100644
39--- a/meson_options.txt
40+++ b/meson_options.txt
41@@ -16,6 +16,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
42 option('memory-alignment', type: 'combo',
43 choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
44 value: 'malloc')
45+option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests')
46
47 # Feature options
48 option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
49diff --git a/tests/check/meson.build b/tests/check/meson.build
50index e9501feb2af5..fd5a99611e3d 100644
51--- a/tests/check/meson.build
52+++ b/tests/check/meson.build
53@@ -125,10 +125,16 @@ test_defines = [
54 '-UG_DISABLE_ASSERT',
55 '-UG_DISABLE_CAST_CHECKS',
56 '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
57- '-DTESTFILE="' + fsmod.as_posix(meson.current_source_dir()) + '/meson.build"',
58 '-DGST_DISABLE_DEPRECATED',
59 ]
60
61+testfile = meson.current_source_dir() + '/meson.build'
62+if installed_tests_enabled
63+ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile')
64+ testfile = installed_tests_metadir + '/testfile'
65+endif
66+test_defines += '-DTESTFILE="@0@"'.format(testfile)
67+
68 # sanity checking
69 if get_option('check').disabled()
70 if get_option('tests').enabled()
71@@ -151,6 +157,8 @@ foreach t : core_tests
72 include_directories : [configinc],
73 link_with : link_with_libs,
74 dependencies : gst_deps + test_deps,
75+ install_dir: installed_tests_execdir,
76+ install: installed_tests_enabled,
77 )
78
79 env = environment()
80@@ -161,6 +169,17 @@ foreach t : core_tests
81 env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
82 env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
83 env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
84+ if installed_tests_enabled
85+ test_conf = configuration_data()
86+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
87+ test_conf.set('program', test_name)
88+ configure_file(
89+ input: 'template.test.in',
90+ output: test_name + '.test',
91+ install_dir: installed_tests_metadir,
92+ configuration: test_conf
93+ )
94+ endif
95
96 test(test_name, exe, env: env, timeout : 3 * 60)
97 endif
98diff --git a/tests/check/template.test.in b/tests/check/template.test.in
99new file mode 100644
100index 000000000000..f701627f87a6
101--- /dev/null
102+++ b/tests/check/template.test.in
103@@ -0,0 +1,3 @@
104+[Test]
105+Type=session
106+Exec=@installed_tests_dir@/@program@
107--
1082.39.2
109
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
deleted file mode 100644
index 83f3870c4..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From 1f13b802bdb1c1e414c70f770dc164c80e0dcd57 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 24 Apr 2021 10:34:47 +0100
4Subject: [PATCH 3/4] tests: use a dictionaries for environment
5
6meson environment() can't be passed to configure_file and it is needed for installed_tests,
7use a dictionary as this is simplest solution to install the environment.
8
9Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
10
11Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
12---
13 tests/check/meson.build | 22 ++++++++++++++--------
14 1 file changed, 14 insertions(+), 8 deletions(-)
15
16diff --git a/tests/check/meson.build b/tests/check/meson.build
17index fd5a99611e3d..330abaaeadd5 100644
18--- a/tests/check/meson.build
19+++ b/tests/check/meson.build
20@@ -161,14 +161,20 @@ foreach t : core_tests
21 install: installed_tests_enabled,
22 )
23
24- env = environment()
25- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
26- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
27- env.set('GST_STATE_IGNORE_ELEMENTS', '')
28- env.set('CK_DEFAULT_TIMEOUT', '20')
29- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
30- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
31- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
32+ # meson environment object can't be passed to configure_file and
33+ # installed tests uses configure_file to install the environment.
34+ # use a dictionary as this is the simplest solution
35+ # to install the environment.
36+ env = {
37+ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(),
38+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
39+ 'GST_STATE_IGNORE_ELEMENTS': '',
40+ 'CK_DEFAULT_TIMEOUT': '20',
41+ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name),
42+ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner',
43+ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer',
44+ }
45+
46 if installed_tests_enabled
47 test_conf = configuration_data()
48 test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
49--
502.39.2
51
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
deleted file mode 100644
index 0a312389e..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1From 616c489d4ff1e7ed878bc3760180ba994fbd1974 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 2 May 2021 01:58:01 +0100
4Subject: [PATCH 4/4] tests: add helper script to run the installed_tests
5
6- this is a bash script that will run the installed_tests
7with some of the environment variables used in the meson
8testing framework.
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13---
14 tests/check/meson.build | 17 +++++++++++++++++
15 tests/check/template.sh.in | 9 +++++++++
16 tests/check/template.test.in | 2 +-
17 3 files changed, 27 insertions(+), 1 deletion(-)
18 create mode 100644 tests/check/template.sh.in
19
20diff --git a/tests/check/meson.build b/tests/check/meson.build
21index 330abaaeadd5..5d383b14dc29 100644
22--- a/tests/check/meson.build
23+++ b/tests/check/meson.build
24@@ -185,6 +185,23 @@ foreach t : core_tests
25 install_dir: installed_tests_metadir,
26 configuration: test_conf
27 )
28+
29+ # All the tests will be deployed on the target machine and
30+ # we use the home folder ~ for the registry which will then expand at runtime.
31+ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly
32+ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry
33+ # that is useful for debug propose of the tests itself.
34+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
35+
36+ # Set the full path for the test it self.
37+ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)}
38+
39+ configure_file(
40+ input : 'template.sh.in',
41+ output: test_name + '.sh',
42+ install_dir: installed_tests_execdir,
43+ configuration : env,
44+ )
45 endif
46
47 test(test_name, exe, env: env, timeout : 3 * 60)
48diff --git a/tests/check/template.sh.in b/tests/check/template.sh.in
49new file mode 100644
50index 000000000000..cf7d31b0ea5f
51--- /dev/null
52+++ b/tests/check/template.sh.in
53@@ -0,0 +1,9 @@
54+#!/bin/sh
55+
56+set -ax
57+
58+CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@"
59+GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@"
60+GST_REGISTRY=@GST_REGISTRY@
61+GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@"
62+exec @TEST@
63diff --git a/tests/check/template.test.in b/tests/check/template.test.in
64index f701627f87a6..b74ef6ad732a 100644
65--- a/tests/check/template.test.in
66+++ b/tests/check/template.test.in
67@@ -1,3 +1,3 @@
68 [Test]
69 Type=session
70-Exec=@installed_tests_dir@/@program@
71+Exec=@installed_tests_dir@/@program@.sh
72--
732.39.2
74
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
index 33b3c65c1..a5fc88444 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
@@ -26,8 +26,8 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x
26 file://run-ptest \ 26 file://run-ptest \
27 file://0001-tests-respect-the-idententaion-used-in-meson.patch \ 27 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
28 file://0002-tests-add-support-for-install-the-tests.patch \ 28 file://0002-tests-add-support-for-install-the-tests.patch \
29 file://0003-tests-use-a-dictionaries-for-environment.patch \ 29 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch \ 30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
31 " 31 "
32SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61" 32SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
33 33
@@ -92,13 +92,20 @@ LIC_FILES_CHKSUM = " \
92" 92"
93 93
94# Use i.MX fork of GST for customizations 94# Use i.MX fork of GST for customizations
95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" 95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
96 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
97 file://0002-tests-add-support-for-install-the-tests.patch \
98 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
99 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
100"
96SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 101SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
97GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" 102GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
98SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 103SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
99SRCREV = "753c7b4471d14befd1b7c9cd3fa9af9f10ab4a08" 104SRCREV = "e0d37a7d773a502956f54eced8cd701ec7fa5ff5"
105
106S = "${UNPACKDIR}/${BP}"
100 107
101S = "${WORKDIR}/git" 108PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled"
102 109
103COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 110COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
104 111
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch
deleted file mode 100644
index 5a58a5a67..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From bda3461b0b6493f3e04910e82e6e530a64af26b1 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Mon, 24 Jul 2023 12:09:34 -0700
4Subject: [PATCH] meson: Undef _TIME_BITS along with _FILE_OFFSET_BITS
5
6On gcc 13, _TIME_BITS is set to 64 and causes failure with the undef of
7_FILE_OFFSET_BITS:
8```
9/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
10 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
11 | ^~~~~
12```
13
14Upstream-Status: Pending
15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
16---
17 meson.build | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/meson.build b/meson.build
21index 7ec5c70..64b2930 100644
22--- a/meson.build
23+++ b/meson.build
24@@ -24,6 +24,7 @@ gst_dep = dependency('gstreamer-' + api_version, version : gst_req)
25 #meson automaticaly add _FILE_OFFSET_BITS=64 to gcc, this will make ipu test
26 #case fail when do mmap on 6q, autoconf didn't add this define, so undef it
27 add_project_arguments('-U_FILE_OFFSET_BITS', language: 'c')
28+add_project_arguments('-U_TIME_BITS', language: 'c')
29
30 #below two marcos are defined in autoconf
31 add_project_arguments ('-DARM', language: 'c')
32--
332.25.1
34
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
index d5ba00ed2..d7ac9b474 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -24,7 +24,9 @@ DEPENDS:append:imxvpu = " imx-vpuwrap"
24DEPENDS:append:imxfbdev:imxgpu = " libdrm" 24DEPENDS:append:imxfbdev:imxgpu = " libdrm"
25DEPENDS_IMXGPU = "" 25DEPENDS_IMXGPU = ""
26DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}" 26DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}"
27DEPENDS_IMX_OPENCL_CONVERTER = "" 27DEPENDS_IMX_OPENCL_CONVERTER = "imx-opencl-converter"
28DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
28DEPENDS_IMX_OPENCL_CONVERTER:mx8-nxp-bsp = "imx-opencl-converter" 30DEPENDS_IMX_OPENCL_CONVERTER:mx8-nxp-bsp = "imx-opencl-converter"
29DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" 31DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
30DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter" 32DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter"
@@ -34,15 +36,11 @@ RREPLACES:${PN} = "gst1.0-fsl-plugin"
34RPROVIDES:${PN} = "gst1.0-fsl-plugin" 36RPROVIDES:${PN} = "gst1.0-fsl-plugin"
35RCONFLICTS:${PN} = "gst1.0-fsl-plugin" 37RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
36 38
37PV = "4.9.0+git${SRCPV}" 39PV = "4.9.3+git${SRCPV}"
38 40
39SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \ 41SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
40 file://0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch \ 42SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
41 " 43SRCREV = "370510ef8137874339df18a2a35ec1d04d98fa0b"
42SRCBRANCH = "MM_04.09.00_2405_L6.6.y"
43SRCREV = "c3049a137f79e4eabc98785aefcd217ebcde9e96"
44
45S = "${WORKDIR}/git"
46 44
47inherit meson pkgconfig use-imx-headers 45inherit meson pkgconfig use-imx-headers
48 46
@@ -51,20 +49,11 @@ PLATFORM:mx6sl-nxp-bsp = "MX6SL"
51PLATFORM:mx6sx-nxp-bsp = "MX6SX" 49PLATFORM:mx6sx-nxp-bsp = "MX6SX"
52PLATFORM:mx6ul-nxp-bsp = "MX6UL" 50PLATFORM:mx6ul-nxp-bsp = "MX6UL"
53PLATFORM:mx6sll-nxp-bsp = "MX6SLL" 51PLATFORM:mx6sll-nxp-bsp = "MX6SLL"
54PLATFORM:mx7-nxp-bsp= "MX7D" 52PLATFORM:mx7-nxp-bsp = "MX7D"
55PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" 53PLATFORM:mx7ulp-nxp-bsp = "MX7ULP"
56PLATFORM:mx8-nxp-bsp = "MX8" 54PLATFORM:mx8-nxp-bsp = "MX8"
57PLATFORM:mx9-nxp-bsp = "MX9" 55PLATFORM:mx9-nxp-bsp = "MX9"
58 56
59CFLAGS:append:toolchain-clang = " -Wno-implicit-int -Wno-int-conversion -Wno-incompatible-function-pointer-types"
60# GCC-14 otherwise errors out
61CFLAGS += " \
62 -Wno-error=int-conversion \
63 -Wno-error=incompatible-pointer-types \
64 -Wno-error=return-mismatch \
65 -Wno-error=implicit-function-declaration \
66"
67
68# Todo add a mechanism to map possible build targets 57# Todo add a mechanism to map possible build targets
69EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ 58EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
70 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 59 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
diff --git a/recipes-multimedia/imx-codec/imx-codec_4.9.0.bb b/recipes-multimedia/imx-codec/imx-codec_4.9.3.bb
index 761345ce7..5e42e6928 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.9.0.bb
+++ b/recipes-multimedia/imx-codec/imx-codec_4.9.3.bb
@@ -1,21 +1,24 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor 1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017 NXP-2023 2# Copyright (C) 2017-2024 NXP
3# Copyright 2018 (C) O.S. Systems Software LTDA. 3# Copyright 2018 (C) O.S. Systems Software LTDA.
4# Released under the MIT license (see COPYING.MIT for the terms) 4# Released under the MIT license (see COPYING.MIT for the terms)
5
5DESCRIPTION = "Freescale Multimedia codec libs" 6DESCRIPTION = "Freescale Multimedia codec libs"
6LICENSE = "Proprietary" 7LICENSE = "Proprietary"
7SECTION = "multimedia" 8SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 9LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9 10
10# Backward compatibility 11# Backward compatibility
11PROVIDES += "libfslcodec" 12PROVIDES += "libfslcodec"
12 13
13SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 14SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
14SRC_URI[md5sum] = "2208aa871e51aacf1910c59c24694572" 15SRC_URI[sha256sum] = "61b40623e1c2322f1ba85da57ab6949f749d02b3b5cbc2b1ef583a99b59e8968"
15SRC_URI[sha256sum] = "1a41a3cad9e0f4baa904fcec896105d3474e18d13f169dad1172d5691fc11c9a" 16IMX_SRCREV_ABBREV = "394336b"
16 17
17inherit fsl-eula-unpack autotools pkgconfig 18inherit fsl-eula-unpack autotools pkgconfig
18 19
20S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
21
19PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}" 22PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}"
20# Support Chips&Media VPU only 23# Support Chips&Media VPU only
21PACKAGECONFIG_VPU = "" 24PACKAGECONFIG_VPU = ""
@@ -60,7 +63,7 @@ do_package_qa[prefuncs] += "__set_insane_skip"
60 63
61python __split_libfslcodec_plugins() { 64python __split_libfslcodec_plugins() {
62 codecdir = bb.data.expand('${libdir}', d) 65 codecdir = bb.data.expand('${libdir}', d)
63 do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', 66 do_split_packages(d, codecdir, r'^lib_([^_]*).*_arm.*_elinux\.so\..*',
64 aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', 67 aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
65 output_pattern='imx-codec-%s', 68 output_pattern='imx-codec-%s',
66 description='Freescale i.MX Codec (%s)', 69 description='Freescale i.MX Codec (%s)',
diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb
index 87cc0b302..d9986456a 100644
--- a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb
+++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb
@@ -8,7 +8,6 @@ inherit fsl-eula-unpack autotools pkgconfig
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
10 10
11SRC_URI[md5sum] = "4250b61f23f49de9500ea8208f6e2be9"
12SRC_URI[sha256sum] = "fa30f3e1b13e570d7c6f0a5f335c11fc3c6336a266fd3a4941e27c4c2a5b13d3" 11SRC_URI[sha256sum] = "fa30f3e1b13e570d7c6f0a5f335c11fc3c6336a266fd3a4941e27c4c2a5b13d3"
13 12
14EXTRA_OECONF:append:mx8qm-nxp-bsp = " --enable-imx8qmqxp" 13EXTRA_OECONF:append:mx8qm-nxp-bsp = " --enable-imx8qmqxp"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.1.8.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb
index d260c8167..96656f85b 100644
--- a/recipes-multimedia/imx-dsp/imx-dsp_2.1.8.bb
+++ b/recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb
@@ -1,16 +1,17 @@
1# Copyright 2017-2023 NXP 1# Copyright 2017-2022,2024 NXP
2 2
3DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries" 3DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6
7 6
8inherit fsl-eula-unpack autotools pkgconfig 7inherit fsl-eula-unpack autotools pkgconfig
9 8
10SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 9IMX_SRCREV_ABBREV = "ea4fe3f"
10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11
12S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
11 13
12SRC_URI[md5sum] = "6699e619f941cfa2e2b99cc2a99b7575" 14SRC_URI[sha256sum] = "fc6e6a7c2417730b39eeddc26606c3d58a8f5d0a1521f44bbbd505657046858b"
13SRC_URI[sha256sum] = "5d42c8f39fb36bcc48e9f0c4caffd125b89c257fa8eccb3b61608bc690a16462"
14 15
15EXTRA_OECONF = " \ 16EXTRA_OECONF = " \
16 -datadir=${base_libdir}/firmware \ 17 -datadir=${base_libdir}/firmware \
diff --git a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
index 48be837a9..9655b1f7d 100644
--- a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
+++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
@@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
6 6
7SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
8 8
9SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1"
10SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a" 9SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
11 10
12inherit fsl-eula-unpack autotools pkgconfig 11inherit fsl-eula-unpack autotools pkgconfig
diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.4.0.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb
index 86bab3fce..84f3ee6aa 100644
--- a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.4.0.bb
+++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb
@@ -1,17 +1,16 @@
1# Copyright 2023 NXP 1# Copyright 2023-2024 NXP
2DESCRIPTION = "NXP Multimedia opencl converter lib" 2DESCRIPTION = "NXP Multimedia opencl converter lib"
3LICENSE = "Proprietary" 3LICENSE = "Proprietary"
4SECTION = "multimedia" 4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6DEPENDS = "virtual/opencl-icd" 6DEPENDS = "virtual/opencl-icd"
7 7
8SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
9IMX_SRCREV_ABBREV = "efe25d6" 9IMX_SRCREV_ABBREV = "ad0094a"
10 10
11SRC_URI[md5sum] = "daa99b8615ca08280833bb80bc52c9be" 11SRC_URI[sha256sum] = "d23ad4234f34ffcfb37d77c91345b935894937913a68995223d2f9f421eade46"
12SRC_URI[sha256sum] = "1717f7fe64b260156b8d5b353add5edb7bc0217dd3847ac641601d4a59494f08"
13 12
14S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 13S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
15inherit fsl-eula-unpack autotools pkgconfig meson 14inherit fsl-eula-unpack autotools pkgconfig meson
16 15
17FILES:${PN} += "${datadir}/" 16FILES:${PN} += "${datadir}/"
diff --git a/recipes-multimedia/imx-parser/imx-parser_4.9.0.bb b/recipes-multimedia/imx-parser/imx-parser_4.9.3.bb
index 4bbf6dfb6..d770b66ea 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.9.0.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.9.3.bb
@@ -5,7 +5,7 @@
5DESCRIPTION = "Freescale Multimedia parser libs" 5DESCRIPTION = "Freescale Multimedia parser libs"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9 9
10# For backwards compatibility 10# For backwards compatibility
11PROVIDES += "libfslparser" 11PROVIDES += "libfslparser"
@@ -13,9 +13,11 @@ RREPLACES:${PN} = "libfslparser"
13RPROVIDES:${PN} = "libfslparser" 13RPROVIDES:${PN} = "libfslparser"
14RCONFLICTS:${PN} = "libfslparser" 14RCONFLICTS:${PN} = "libfslparser"
15 15
16SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 16SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
17SRC_URI[md5sum] = "700b4cf3ba547dc740a064787f528af0" 17IMX_SRCREV_ABBREV = "c296eb2"
18SRC_URI[sha256sum] = "2f0fc3955f824936c359b3cb738549213823b0c366b2362bba593058da745677" 18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
19
20SRC_URI[sha256sum] = "997a7f79f291ef4b3c8dd3ba6f2f32c430c63feb4bb29d923f71da0d1ccf20a9"
19 21
20inherit fsl-eula-unpack autotools pkgconfig 22inherit fsl-eula-unpack autotools pkgconfig
21 23
diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
index 2b62b2443..68919ac83 100644
--- a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
+++ b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
@@ -6,7 +6,6 @@ SECTION = "multimedia"
6LIC_FILES_CHKSUM = "file://COPYING;md5=63a38e9f392d8813d6f1f4d0d6fbe657" 6LIC_FILES_CHKSUM = "file://COPYING;md5=63a38e9f392d8813d6f1f4d0d6fbe657"
7 7
8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
9SRC_URI[md5sum] = "cbd5af6e9019db789c03c2d05a8bb444"
10SRC_URI[sha256sum] = "f778a7b785fc500df5573f5b810a190ddc561267b47ca54b9ddf4ae12571cfe3" 9SRC_URI[sha256sum] = "f778a7b785fc500df5573f5b810a190ddc561267b47ca54b9ddf4ae12571cfe3"
11 10
12inherit fsl-eula-unpack autotools pkgconfig 11inherit fsl-eula-unpack autotools pkgconfig
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_VCencoder-add-sys-time.h-for-gett.patch b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_VCencoder-add-sys-time.h-for-gett.patch
deleted file mode 100644
index ab8b50de4..000000000
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_VCencoder-add-sys-time.h-for-gett.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From a57daf8f58cf69be06de8ebc9eab3a3077143760 Mon Sep 17 00:00:00 2001
2From: Hiago De Franco <hiago.franco@toradex.com>
3Date: Fri, 26 Jul 2024 14:43:55 -0300
4Subject: [PATCH] vpu_wrapper_hantro_VCencoder: add sys/time.h for gettimeofday
5
6Fixes:
7| ../git/vpu_wrapper_hantro_VCencoder.c:1965:5: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
8| 1965 | gettimeofday (&pObj->tvBegin, NULL);
9| | ^~~~~~~~~~~~
10
11Upstream-Status: Submitted [https://github.com/nxp-imx/imx-vpuwrap/pull/2]
12Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
13---
14 vpu_wrapper_hantro_VCencoder.c | 1 +
15 1 file changed, 1 insertion(+)
16
17diff --git a/vpu_wrapper_hantro_VCencoder.c b/vpu_wrapper_hantro_VCencoder.c
18index efae31a77ca4..6185cfc067d1 100755
19--- a/vpu_wrapper_hantro_VCencoder.c
20+++ b/vpu_wrapper_hantro_VCencoder.c
21@@ -17,6 +17,7 @@
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <string.h>
25+#include <sys/time.h>
26 #include <time.h>
27 #include <math.h>
28 #include <fcntl.h>
29--
302.39.2
31
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-add-sys-time.h-for-gettim.patch b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch
index cbf37417e..74ea5206c 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-add-sys-time.h-for-gettim.patch
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch
@@ -1,10 +1,13 @@
1From 482c639a0da4b093cfc029009604e9653ced33c4 Mon Sep 17 00:00:00 2001 1From a3c2f61649afd05e4bab457370f0b32d7644505c Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com> 2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Thu, 13 Jun 2024 07:15:12 +0000 3Date: Mon, 3 Mar 2025 08:24:51 +0000
4Subject: [PATCH] vpu_wrapper_hantro_encoder: add sys/time.h for gettimeofday 4Subject: [PATCH] vpu_wrapper_hantro_encoder: fix missing include
5 5
6Fixes: 6gettimeofday is declared in sys/time.h. Add the include.
7
8Fixes the build error:
7| ../git/vpu_wrapper_hantro_encoder.c:953:3: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration] 9| ../git/vpu_wrapper_hantro_encoder.c:953:3: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
10| 953 | gettimeofday (&pObj->tvEnd, NULL);
8 11
9Upstream-Status: Pending 12Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> 13Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
@@ -13,17 +16,17 @@ Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
13 1 file changed, 1 insertion(+) 16 1 file changed, 1 insertion(+)
14 17
15diff --git a/vpu_wrapper_hantro_encoder.c b/vpu_wrapper_hantro_encoder.c 18diff --git a/vpu_wrapper_hantro_encoder.c b/vpu_wrapper_hantro_encoder.c
16index 3819c389320c..635c98bf1f19 100755 19index 3819c389320c..a0bdb2f4f6c0 100755
17--- a/vpu_wrapper_hantro_encoder.c 20--- a/vpu_wrapper_hantro_encoder.c
18+++ b/vpu_wrapper_hantro_encoder.c 21+++ b/vpu_wrapper_hantro_encoder.c
19@@ -24,6 +24,7 @@ 22@@ -25,6 +25,7 @@
20 #include <stdlib.h>
21 #include <string.h> 23 #include <string.h>
22 #include <time.h> 24 #include <time.h>
23+#include <sys/time.h>
24 #include <semaphore.h> 25 #include <semaphore.h>
26+#include <sys/time.h>
25 27
26 #include "headers/OMX_Video.h" 28 #include "headers/OMX_Video.h"
29 #include "headers/OMX_VideoExt.h"
27-- 30--
282.42.0 312.42.0
29 32
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index f7a8e3521..39729f712 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -1,27 +1,26 @@
1# Copyright (C) 2013-2016 Freescale Semiconductor 1# Copyright (C) 2013-2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright (C) 2017-2023 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "Freescale Multimedia VPU wrapper" 5DESCRIPTION = "Freescale Multimedia VPU wrapper"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9 9
10DEPENDS = "virtual/imxvpu" 10DEPENDS = "virtual/imxvpu"
11DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" 11DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
12 12
13SRC_URI = " \ 13SRC_URI = " \
14 git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH} \ 14 git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH} \
15 file://0001-vpu_wrapper_hantro_encoder-add-sys-time.h-for-gettim.patch \ 15 file://0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch \
16 file://0001-vpu_wrapper_hantro_VCencoder-add-sys-time.h-for-gett.patch \
17" 16"
18SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 17SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
19SRCREV = "73093da30dc4053c9f69813a6447091bfca5429b" 18SRCREV = "d8703ee3245797111ad21c52982efa8b6db33241"
20
21S = "${WORKDIR}/git"
22 19
23inherit autotools pkgconfig 20inherit autotools pkgconfig
24 21
22CFLAGS += " -Wno-error=implicit-function-declaration"
23
25do_install:append() { 24do_install:append() {
26 # FIXME: Drop examples for now 25 # FIXME: Drop examples for now
27 rm -r ${D}${datadir} 26 rm -r ${D}${datadir}
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb
index eef96e56e..cce4e56ad 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb
@@ -11,12 +11,10 @@ DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
11PV .= "+git${SRCPV}" 11PV .= "+git${SRCPV}"
12 12
13SRCBRANCH ?= "master" 13SRCBRANCH ?= "master"
14SRCREV = "8639837a246f8d85fba8a707c130239aeabc0a19" 14SRCREV = "37095a854aa176bb763a25ce98ceb6a787501271"
15SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" 15SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
16 16
17S = "${WORKDIR}/git" 17inherit waf pkgconfig use-imx-headers python3native
18
19inherit waf pkgconfig use-imx-headers
20 18
21IMX_PLATFORM:mx6-nxp-bsp = "imx6" 19IMX_PLATFORM:mx6-nxp-bsp = "imx6"
22IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m" 20IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m"
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
index e3a051937..55063db18 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
@@ -12,9 +12,7 @@ SRCBRANCH ?= "v1"
12SRCREV = "3a1ee3a54fe93813868d38c3d32ea065b59e227e" 12SRCREV = "3a1ee3a54fe93813868d38c3d32ea065b59e227e"
13SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" 13SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
14 14
15S = "${WORKDIR}/git" 15inherit waf pkgconfig python3native
16
17inherit waf pkgconfig
18 16
19COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)" 17COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
20 18
diff --git a/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch b/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch
deleted file mode 100755
index 78ff6989c..000000000
--- a/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch
+++ /dev/null
@@ -1,1002 +0,0 @@
1From 16f6b7a5baec41f18fde75fd311fb988e3c31810 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Fri, 13 Jul 2018 18:13:24 +0800
4Subject: [PATCH] tinycompress: Add id3 decoding
5
6Upstream-Status: Pending
7Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
8---
9 include/tinycompress/id3_tag_decode.h | 198 +++++++++++
10 src/utils/Makefile.am | 2 +-
11 src/utils/cplay.c | 88 +++++
12 src/utils/id3_tag_decode.c | 642 ++++++++++++++++++++++++++++++++++
13 4 files changed, 929 insertions(+), 1 deletion(-)
14 create mode 100644 include/tinycompress/id3_tag_decode.h
15 create mode 100644 src/utils/id3_tag_decode.c
16
17diff --git a/include/tinycompress/id3_tag_decode.h b/include/tinycompress/id3_tag_decode.h
18new file mode 100644
19index 0000000..1a911d7
20--- /dev/null
21+++ b/include/tinycompress/id3_tag_decode.h
22@@ -0,0 +1,198 @@
23+/*
24+ * Copyright (c) 2006-2017 Cadence Design Systems, Inc.
25+ * Copyright 2018 NXP
26+ *
27+ * Permission is hereby granted, free of charge, to any person obtaining
28+ * a copy of this software and associated documentation files (the
29+ * "Software"), to deal in the Software without restriction, including
30+ * without limitation the rights to use, copy, modify, merge, publish,
31+ * distribute, sublicense, and/or sell copies of the Software, and to
32+ * permit persons to whom the Software is furnished to do so, subject to
33+ * the following conditions:
34+ *
35+ * The above copyright notice and this permission notice shall be included
36+ * in all copies or substantial portions of the Software.
37+ *
38+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
40+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
41+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
42+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
43+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
44+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
45+ */
46+
47+/******************************************************************
48+ * file name : id3_tag_decode.h
49+ *
50+ * description : stores typedefs of structures specific to MP3 tag
51+ *
52+ * revision history:
53+ * 29 04 2004 DK creation
54+ *****************************************************************/
55+
56+#ifndef ID3_TAG_DECODE_H
57+#define ID3_TAG_DECODE_H
58+
59+typedef signed char WORD8;
60+typedef signed char * pWORD8;
61+typedef unsigned char UWORD8;
62+typedef unsigned char * pUWORD8;
63+
64+typedef signed short WORD16;
65+typedef signed short * pWORD16;
66+typedef unsigned short UWORD16;
67+typedef unsigned short * pUWORD16;
68+
69+typedef signed int WORD24;
70+typedef signed int * pWORD24;
71+typedef unsigned int UWORD24;
72+typedef unsigned int * pUWORD24;
73+
74+typedef signed int WORD32;
75+typedef signed int * pWORD32;
76+typedef unsigned int UWORD32;
77+typedef unsigned int * pUWORD32;
78+
79+typedef void VOID;
80+typedef void * pVOID;
81+
82+typedef signed int BOOL;
83+typedef unsigned int UBOOL;
84+typedef signed int FLAG;
85+typedef unsigned int UFLAG;
86+typedef signed int LOOPIDX;
87+typedef unsigned int ULOOPIDX;
88+typedef signed int WORD;
89+typedef unsigned int UWORD;
90+
91+#define MAX_TAG_FRAME_SIZE 100
92+
93+#define ID3V1 (0x544147) /* 0x544147 is TAG in WORD8 */
94+
95+#define ID3V2 (0x494433) /* 0x494433 is ID3 in WORD8 */
96+
97+/*
98+ * structure corresponding to ID3 tag v1 header.
99+ * this structure has all the field corresponding to ID3 tag v1 header.
100+ */
101+
102+typedef struct {
103+ WORD32 tag; // 3 bytes
104+
105+ WORD16 version; // 2 bytes
106+
107+ WORD8 flag; //1 byte
108+
109+ WORD32 size; //4 bytes
110+
111+} id3_v2_header_struct;
112+
113+/* structure which will store the frame data and
114+ * also put a limit max data to be stored
115+ */
116+typedef struct {
117+ WORD8 frame_data[MAX_TAG_FRAME_SIZE];
118+
119+ WORD32 max_size; //4 bytes
120+
121+ WORD16 tag_present;
122+
123+ WORD16 exceeds_buffer_size;
124+
125+} id3_v2_frame_struct;
126+
127+/*
128+ * structure corresponding to ID3 tag v2.
129+ * this structure has some of the field corresponding to ID3 tag v2.
130+ * if user wants to read some more tag information from
131+ * the MP3 file, he can add that field in this structure and pass address
132+ * of that element to get_inf function in id3_tag_decode.c under the
133+ * corresponding field frame header. few fields which are needed are already
134+ * populated by reading from the TAG header.
135+ */
136+typedef struct {
137+ id3_v2_frame_struct album_movie_show_title;
138+
139+ id3_v2_frame_struct composer_name;
140+
141+ id3_v2_frame_struct content_type;
142+
143+ id3_v2_frame_struct encoded_by;
144+
145+ id3_v2_frame_struct lyricist_text_writer;
146+
147+ id3_v2_frame_struct content_group_description;
148+
149+ id3_v2_frame_struct title_songname_content_description;
150+
151+ id3_v2_frame_struct medxa_type;
152+
153+ id3_v2_frame_struct original_album_movie_show_title;
154+
155+ id3_v2_frame_struct original_filename;
156+
157+ id3_v2_frame_struct original_lyricist_text_writer;
158+
159+ id3_v2_frame_struct original_artist_performer;
160+
161+ id3_v2_frame_struct file_owner_licensee;
162+
163+ id3_v2_frame_struct lead_performer_soloist;
164+
165+ id3_v2_frame_struct publisher;
166+
167+ id3_v2_frame_struct private_frame;
168+
169+ id3_v2_frame_struct other_info;
170+
171+ id3_v2_header_struct id3_v2_header;
172+
173+ WORD32 header_end;
174+
175+ WORD32 bytes_consumed;
176+
177+} id3v2_struct;
178+
179+/*
180+ * structure corresponding to ID3 tag v1.
181+ * this structure has all the field corresponding to ID3 tag v1.
182+ */
183+typedef struct {
184+ WORD8 song_title[30]; //30 word8acters
185+
186+ WORD8 artist[30]; //30 word8acters
187+
188+ WORD8 album[30]; //30 word8acters
189+
190+ WORD8 year[4]; //4 word8acters
191+
192+ WORD8 comment[30]; //30 word8acters
193+
194+ WORD8 genre[1]; //1 byte
195+
196+} id3v1_struct;
197+
198+WORD32 get_info(const char *inp_buffer,
199+ unsigned int avail_inp,
200+ WORD32 tag_size,
201+ id3_v2_frame_struct *dest);
202+
203+WORD32 search_id3_v2(UWORD8 *buffer);
204+
205+WORD32 decode_id3_v2(const char *const buffer,
206+ id3v2_struct *id3v2,
207+ WORD32 continue_flag,
208+ WORD32 insize);
209+
210+WORD32 get_id3_v2_bytes(UWORD8 *buffer);
211+
212+WORD32 get_v1_info(UWORD8 *buffer, id3v1_struct *id3v1);
213+
214+WORD32 search_id3_v1(UWORD8 *buffer);
215+
216+WORD32 decode_id3_v1(UWORD8 *buffer, id3v1_struct *id3v1);
217+
218+void init_id3v2_field(id3v2_struct *id3v2);
219+
220+#endif
221diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am
222index 1b996d4..e813689 100644
223--- a/src/utils/Makefile.am
224+++ b/src/utils/Makefile.am
225@@ -1,6 +1,6 @@
226 bin_PROGRAMS = cplay crecord
227
228-cplay_SOURCES = cplay.c
229+cplay_SOURCES = cplay.c id3_tag_decode.c
230 crecord_SOURCES = crecord.c
231
232 cplay_CFLAGS = -I$(top_srcdir)/include
233diff --git a/src/utils/cplay.c b/src/utils/cplay.c
234index 87863a3..2a52b52 100644
235--- a/src/utils/cplay.c
236+++ b/src/utils/cplay.c
237@@ -72,6 +72,7 @@
238 #include "sound/compress_params.h"
239 #include "tinycompress/tinycompress.h"
240 #include "tinycompress/tinymp3.h"
241+#include "tinycompress/id3_tag_decode.h"
242
243 static int verbose;
244 static const unsigned int DEFAULT_CODEC_ID = SND_AUDIOCODEC_PCM;
245@@ -245,12 +246,97 @@ int main(int argc, char **argv)
246 exit(EXIT_SUCCESS);
247 }
248
249+void shift_buffer(char *buf, int buf_size, int bytes_consumed)
250+{
251+ int i;
252+
253+ if (bytes_consumed <= 0)
254+ return;
255+
256+ for (i = 0; i < buf_size - bytes_consumed; i++)
257+ buf[i] = buf[i + bytes_consumed];
258+}
259+
260+void parse_id3(FILE *file, int *offset) {
261+ /* ID3 tag specific declarations */
262+ unsigned char id3_buf[128];
263+ unsigned char id3v2_buf[4096];
264+ signed int id3_v1_found = 0, id3_v1_decoded = 0;
265+ signed int id3_v2_found = 0, id3_v2_complete = 0;
266+ signed int i_bytes_consumed = 0;
267+ signed int i_fread_bytes;
268+ id3v1_struct id3v1;
269+ id3v2_struct id3v2;
270+
271+ {
272+ fseek(file, -128, SEEK_END);
273+ fread(id3_buf, 1, 128, file);
274+
275+ /* search for ID3V1 */
276+ id3_v1_found = search_id3_v1(id3_buf + 0);
277+ if (id3_v1_found) {
278+ /* if ID3V1 is found, decode ID3V1 */
279+ decode_id3_v1(id3_buf + 3, &id3v1);
280+ id3_v1_decoded = 1;
281+ }
282+ fseek(file, 0, SEEK_SET);
283+ }
284+
285+ {
286+ signed int flag = 0;
287+ signed int continue_flag = 0;
288+
289+ i_fread_bytes = fread(id3v2_buf,
290+ sizeof(char), 0x1000, file);
291+
292+ /* search for ID3V2 */
293+ id3_v2_found =
294+ search_id3_v2(id3v2_buf);
295+
296+ if (id3_v2_found) {
297+ /* initialise the max fields */
298+ init_id3v2_field(&id3v2);
299+
300+ while (!id3_v2_complete && id3_v2_found) {
301+ /* if ID3V2 is found, decode ID3V2 */
302+ id3_v2_complete = decode_id3_v2((const char *const)id3v2_buf,
303+ &id3v2, continue_flag, i_fread_bytes);
304+
305+ if (!id3_v2_complete) {
306+ continue_flag = 1;
307+ i_bytes_consumed = id3v2.bytes_consumed;
308+
309+ fseek(file, i_bytes_consumed, SEEK_SET);
310+
311+ i_fread_bytes = fread(id3v2_buf,
312+ sizeof(unsigned char), 0x1000, file);
313+ if (i_fread_bytes <= 0) {
314+ return;
315+ }
316+ }
317+ }
318+
319+ if (id3_v2_complete) {
320+ i_bytes_consumed = id3v2.bytes_consumed;
321+ fseek(file, i_bytes_consumed, SEEK_SET);
322+ }
323+ }
324+ }
325+
326+ *offset = i_bytes_consumed;
327+}
328+
329 void get_codec_mp3(FILE *file, struct compr_config *config,
330 struct snd_codec *codec)
331 {
332 size_t read;
333 struct mp3_header header;
334 unsigned int channels, rate, bits;
335+ int offset = 0;
336+
337+ parse_id3(file, &offset);
338+
339+ fseek(file, offset, SEEK_SET);
340
341 read = fread(&header, 1, sizeof(header), file);
342 if (read != sizeof(header)) {
343@@ -279,6 +365,8 @@ void get_codec_mp3(FILE *file, struct compr_config *config,
344 codec->level = 0;
345 codec->ch_mode = 0;
346 codec->format = 0;
347+
348+ fseek(file, offset, SEEK_SET);
349 }
350
351 void get_codec_iec(FILE *file, struct compr_config *config,
352diff --git a/src/utils/id3_tag_decode.c b/src/utils/id3_tag_decode.c
353new file mode 100644
354index 0000000..393967a
355--- /dev/null
356+++ b/src/utils/id3_tag_decode.c
357@@ -0,0 +1,642 @@
358+/*
359+ * Copyright (c) 2006-2017 Cadence Design Systems, Inc.
360+ * Copyright 2018 NXP
361+ *
362+ * Permission is hereby granted, free of charge, to any person obtaining
363+ * a copy of this software and associated documentation files (the
364+ * "Software"), to deal in the Software without restriction, including
365+ * without limitation the rights to use, copy, modify, merge, publish,
366+ * distribute, sublicense, and/or sell copies of the Software, and to
367+ * permit persons to whom the Software is furnished to do so, subject to
368+ * the following conditions:
369+ *
370+ * The above copyright notice and this permission notice shall be included
371+ * in all copies or substantial portions of the Software.
372+ *
373+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
374+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
375+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
376+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
377+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
378+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
379+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
380+ */
381+#include <ctype.h>
382+#include "tinycompress/id3_tag_decode.h"
383+
384+#define CHAR4(c1, c2, c3, c4) \
385+ (int)(((unsigned char)(c1) << 24) | \
386+ ((unsigned char)(c2) << 16) | \
387+ ((unsigned char)(c3) << 8) | \
388+ ((unsigned char)c4))
389+
390+#ifndef MSVC_BUILD
391+unsigned int umin(unsigned int a, unsigned int b)
392+{
393+ return (a < b ? a : b);
394+}
395+
396+#else
397+unsigned int umin(unsigned int a, unsigned int b)
398+{
399+ return (a < b ? a : b);
400+}
401+#endif
402+
403+/***********************************************************
404+ * function name : display
405+ *
406+ * description : display ID3 tag contents.
407+ *
408+ * arguments : input parameters
409+ *
410+ * values returned : 0
411+ ***********************************************************/
412+
413+static void display2(const id3_v2_frame_struct * const src,
414+ int size,
415+ const char * const disp)
416+{
417+ int j;
418+
419+
420+ for (j = 0; j < size; j++) {
421+ int c = src->frame_data[j];
422+
423+ if (c) {
424+ if (!isprint(c))
425+ break;
426+ }
427+ }
428+}
429+
430+static VOID display1(WORD8 src[], WORD32 size, WORD8 disp[])
431+{
432+ WORD32 j;
433+
434+ for (j = 0; j < size ; j++) {
435+ int c = src[j];
436+
437+ if (c) {
438+ if (!isprint(c))
439+ break;
440+ }
441+ }
442+}
443+
444+/*****************************************************************
445+ * function name : init_id3_header
446+ *
447+ * description : initialise the max filed size of teh farem.
448+ *
449+ * arguments : input parameters
450+ *
451+ * values returned : 0
452+ ****************************************************************/
453+
454+VOID init_id3v2_field(id3v2_struct *id3v2)
455+{
456+ id3v2->album_movie_show_title.max_size = MAX_TAG_FRAME_SIZE;
457+ id3v2->composer_name.max_size = MAX_TAG_FRAME_SIZE;
458+ id3v2->content_type.max_size = MAX_TAG_FRAME_SIZE;
459+ id3v2->encoded_by.max_size = MAX_TAG_FRAME_SIZE;
460+ id3v2->lyricist_text_writer.max_size = MAX_TAG_FRAME_SIZE;
461+ id3v2->content_group_description.max_size = MAX_TAG_FRAME_SIZE;
462+ id3v2->title_songname_content_description.max_size = MAX_TAG_FRAME_SIZE;
463+ id3v2->medxa_type.max_size = MAX_TAG_FRAME_SIZE;
464+ id3v2->original_album_movie_show_title.max_size = MAX_TAG_FRAME_SIZE;
465+ id3v2->original_filename.max_size = MAX_TAG_FRAME_SIZE;
466+ id3v2->original_lyricist_text_writer.max_size = MAX_TAG_FRAME_SIZE;
467+ id3v2->original_artist_performer.max_size = MAX_TAG_FRAME_SIZE;
468+ id3v2->file_owner_licensee.max_size = MAX_TAG_FRAME_SIZE;
469+ id3v2->lead_performer_soloist.max_size = MAX_TAG_FRAME_SIZE;
470+ id3v2->publisher.max_size = MAX_TAG_FRAME_SIZE;
471+ id3v2->private_frame.max_size = MAX_TAG_FRAME_SIZE;
472+ id3v2->other_info.max_size = MAX_TAG_FRAME_SIZE;
473+
474+ /* resetting the flag to indicate presese of frame */
475+ id3v2->album_movie_show_title.tag_present = 0;
476+ id3v2->composer_name.tag_present = 0;
477+ id3v2->content_type.tag_present = 0;
478+ id3v2->encoded_by.tag_present = 0;
479+ id3v2->lyricist_text_writer.tag_present = 0;
480+ id3v2->content_group_description.tag_present = 0;
481+ id3v2->title_songname_content_description.tag_present = 0;
482+ id3v2->medxa_type.tag_present = 0;
483+ id3v2->original_album_movie_show_title.tag_present = 0;
484+ id3v2->original_filename.tag_present = 0;
485+ id3v2->original_lyricist_text_writer.tag_present = 0;
486+ id3v2->original_artist_performer.tag_present = 0;
487+ id3v2->file_owner_licensee.tag_present = 0;
488+ id3v2->lead_performer_soloist.tag_present = 0;
489+ id3v2->publisher.tag_present = 0;
490+ id3v2->private_frame.tag_present = 0;
491+ id3v2->other_info.tag_present = 0;
492+
493+ /* resetting the flag which indicates that size of the frame has
494+ * exceeded the max buffer size
495+ */
496+ id3v2->album_movie_show_title.exceeds_buffer_size = 0;
497+ id3v2->composer_name.exceeds_buffer_size = 0;
498+ id3v2->content_type.exceeds_buffer_size = 0;
499+ id3v2->encoded_by.exceeds_buffer_size = 0;
500+ id3v2->lyricist_text_writer.exceeds_buffer_size = 0;
501+ id3v2->content_group_description.exceeds_buffer_size = 0;
502+ id3v2->title_songname_content_description.exceeds_buffer_size = 0;
503+ id3v2->medxa_type.exceeds_buffer_size = 0;
504+ id3v2->original_album_movie_show_title.exceeds_buffer_size = 0;
505+ id3v2->original_filename.exceeds_buffer_size = 0;
506+ id3v2->original_lyricist_text_writer.exceeds_buffer_size = 0;
507+ id3v2->original_artist_performer.exceeds_buffer_size = 0;
508+ id3v2->file_owner_licensee.exceeds_buffer_size = 0;
509+ id3v2->lead_performer_soloist.exceeds_buffer_size = 0;
510+ id3v2->publisher.exceeds_buffer_size = 0;
511+ id3v2->private_frame.exceeds_buffer_size = 0;
512+ id3v2->other_info.exceeds_buffer_size = 0;
513+
514+ id3v2->bytes_consumed = 0;
515+ id3v2->header_end = 0;
516+}
517+
518+/***************************************************************
519+ * function name : search_id3_v2
520+ *
521+ * description : finds if ID3V2 starts at the start of given buffer.
522+ *
523+ * arguments : input parameters
524+ * buffer input buffer
525+ *
526+ * values returned : FLAG 1: ID3 found 0: ID3 not found
527+ ***************************************************************/
528+WORD32 search_id3_v2(UWORD8 *buffer)
529+{
530+ UWORD32 temp;
531+
532+ temp = buffer[0] << 16;
533+ temp |= buffer[1] << 8;
534+ temp |= buffer[2];
535+
536+ if (temp == ID3V2)
537+ return 1; /* ID3 found */
538+
539+ return 0; /* ID3 not found */
540+}
541+
542+/**************************************************************
543+ * function name : search_id3_v1
544+ *
545+ * description : finds if ID3V1 starts at the start of given buffer.
546+ *
547+ * arguments : input parameters
548+ * buffer input buffer
549+ *
550+ * values returned : FLAG 1: ID3 found 0: ID3 not found
551+ **************************************************************/
552+WORD32 search_id3_v1(UWORD8 *buffer)
553+{
554+ UWORD32 temp;
555+
556+ temp = buffer[0] << 16;
557+ temp |= buffer[1] << 8;
558+ temp |= buffer[2];
559+
560+ if (temp == ID3V1)
561+ return 1; /* ID3 found */
562+
563+ return 0; /* ID3 not found */
564+}
565+
566+/***************************************************************
567+ * function name : decode_id3_v1
568+ *
569+ * description : decodes ID3V1 tag.
570+ *
571+ * arguments : input parameters
572+ * buffer input buffer
573+ * id3v1 structure
574+ *
575+ * values returned : bytes consumed
576+ **************************************************************/
577+WORD32 decode_id3_v1(UWORD8 *buffer, id3v1_struct *id3v1)
578+{
579+ WORD32 bytes_consumed = 0;
580+ short tag_type;
581+
582+ /* setting the tag type */
583+ tag_type = 1;
584+
585+ bytes_consumed = get_v1_info(buffer, id3v1);
586+
587+ return bytes_consumed;
588+}
589+
590+/***********************************************************
591+ * function name : get_v1_info
592+ *
593+ * description : gets ID3V1 information fields.
594+ *
595+ * arguments : input parameters
596+ * buffer input buffer
597+ * id3v1 structure
598+ *
599+ * values returned : bytes consumed
600+ ***********************************************************/
601+WORD32 get_v1_info(UWORD8 *buffer, id3v1_struct *id3v1)
602+{
603+ WORD32 i;
604+ WORD32 bytes_consumed = 0;
605+
606+ /* get song_title */
607+ for (i = 0; i < 30; i++)
608+ id3v1->song_title[i] = buffer[i];
609+
610+ buffer += 30;
611+ bytes_consumed += 30;
612+ display1(id3v1->song_title, 30, (WORD8 *)"song_title : ");
613+
614+ /* get artist */
615+ for (i = 0; i < 30; i++)
616+ id3v1->artist[i] = buffer[i];
617+
618+ buffer += 30;
619+ bytes_consumed += 30;
620+ display1(id3v1->artist, 30, (WORD8 *)"artist : ");
621+
622+ /* get album */
623+ for (i = 0; i < 30; i++)
624+ id3v1->album[i] = buffer[i];
625+
626+ buffer += 30;
627+ bytes_consumed += 30;
628+ display1(id3v1->album, 30, (WORD8 *)"album : ");
629+
630+ /* get year */
631+ for (i = 0; i < 4; i++)
632+ id3v1->year[i] = buffer[i];
633+
634+ buffer += 4;
635+ bytes_consumed += 4;
636+ display1(id3v1->year, 4, (WORD8 *)"year : ");
637+
638+ /* get comment */
639+ for (i = 0; i < 30; i++)
640+ id3v1->comment[i] = buffer[i];
641+
642+ buffer += 30;
643+ bytes_consumed += 30;
644+ display1(id3v1->comment, 30, (WORD8 *)"comment : ");
645+
646+ /* get genre */
647+ for (i = 0; i < 1; i++)
648+ id3v1->genre[i] = buffer[i];
649+
650+ buffer += 1;
651+ bytes_consumed += 1;
652+
653+ return bytes_consumed;
654+}
655+
656+/*****************************************************
657+ * function name : decode_id3_v2
658+ *
659+ * description : decodes ID3V2 tag.
660+ *
661+ * arguments : input parameters
662+ * buffer input buffer
663+ * id3v2 structure
664+ * continue_flag FLAG to indicate whether
665+ * it is first call or not
666+ * insize input buffer size
667+ *
668+ * values returned : bytes consumed
669+ ******************************************************/
670+WORD32 decode_id3_v2(const char *const buffer,
671+ id3v2_struct *const id3v2,
672+ WORD32 continue_flag,
673+ WORD32 insize)
674+{
675+ UWORD32 size = 0, flag;
676+ WORD32 i, buf_update_val;
677+ UWORD8 buf[4], frame_header[10], id3_buffer[10];
678+ WORD8 *bitstream_ptr;
679+ short tag_type;
680+
681+ WORD32 bytes_consumed = 0;
682+
683+ if (id3v2->header_end == 1) {
684+ id3v2->bytes_consumed += insize;
685+ if (id3v2->bytes_consumed < id3v2->id3_v2_header.size)
686+ return 0;
687+
688+ id3v2->bytes_consumed = (id3v2->id3_v2_header.size + 10);
689+ return 1;
690+ }
691+
692+ bitstream_ptr = (WORD8 *)id3_buffer;
693+
694+ if (!continue_flag) {
695+ bytes_consumed += 3;
696+ /* setting the tag type */
697+ tag_type = 2;
698+ id3v2->id3_v2_header.version = buffer[bytes_consumed + 0] << 8;
699+ id3v2->id3_v2_header.version |= buffer[bytes_consumed + 1];
700+ id3v2->id3_v2_header.flag = buffer[bytes_consumed + 2];
701+
702+ /* making the msb of each byte zero */
703+ buf[0] = buffer[bytes_consumed + 6] & 0x7f;
704+ buf[1] = buffer[bytes_consumed + 5] & 0x7f;
705+ buf[2] = buffer[bytes_consumed + 4] & 0x7f;
706+ buf[3] = buffer[bytes_consumed + 3] & 0x7f;
707+
708+ bytes_consumed += 7;
709+
710+ /* concatenation the bytes after making
711+ * 7th bit zero to get 28 bits size
712+ */
713+ size = buf[0];
714+ size |= (buf[1] << 7);
715+ size |= (buf[2] << 14);
716+ size |= (buf[3] << 21);
717+ /* storing the size */
718+ id3v2->id3_v2_header.size = size;
719+
720+ /* check for extended header */
721+ if (id3v2->id3_v2_header.flag & 0x20) {
722+ for (i = 0; i < 10; i++)
723+ bitstream_ptr[i] = buffer[bytes_consumed + i];
724+
725+ i = 0;
726+ bytes_consumed += 10;
727+
728+ size = bitstream_ptr[i++] << 24;
729+ size |= bitstream_ptr[i++] << 16;
730+ size |= bitstream_ptr[i++] << 8;
731+ size |= bitstream_ptr[i++];
732+
733+ /* two bytes for flag */
734+ i += 2;
735+ {
736+ UWORD32 padding_size;
737+
738+ padding_size = bitstream_ptr[i++] << 24;
739+ padding_size |= bitstream_ptr[i++] << 16;
740+ padding_size |= bitstream_ptr[i++] << 8;
741+ padding_size |= bitstream_ptr[i++];
742+
743+ /* skipping the padding and frame size
744+ * number of bytes
745+ */
746+ bytes_consumed += (padding_size + size);
747+ }
748+ }
749+ }
750+
751+ while (id3v2->header_end != 1) {
752+ char *key;
753+ id3_v2_frame_struct *value;
754+ unsigned int avail_inp;
755+
756+ /* reading the 10 bytes to get the frame header */
757+
758+ for (i = 0; i < 10; i++)
759+ frame_header[i] = buffer[bytes_consumed + i];
760+ bytes_consumed += 10;
761+
762+ /* getting the size from the header */
763+ size = frame_header[4] << 24;
764+ size |= frame_header[5] << 16;
765+ size |= frame_header[6] << 8;
766+ size |= frame_header[7];
767+
768+ /* decoding the flag, currently not used */
769+ flag = frame_header[8] << 8;
770+ flag |= frame_header[9];
771+
772+ avail_inp = insize - bytes_consumed;
773+
774+ /* switching to the frame type */
775+ switch (CHAR4(frame_header[0],
776+ frame_header[1],
777+ frame_header[2],
778+ frame_header[3])) {
779+ case CHAR4('A', 'E', 'N', 'C'):
780+ case CHAR4('A', 'P', 'I', 'C'):
781+ case CHAR4('C', 'O', 'M', 'M'):
782+ case CHAR4('C', 'O', 'M', 'R'):
783+ case CHAR4('E', 'N', 'C', 'R'):
784+ case CHAR4('E', 'Q', 'U', 'A'):
785+ case CHAR4('E', 'T', 'C', 'O'):
786+ case CHAR4('G', 'E', 'O', 'B'):
787+ case CHAR4('G', 'R', 'I', 'D'):
788+ case CHAR4('I', 'P', 'L', 'S'):
789+ case CHAR4('L', 'I', 'N', 'K'):
790+ case CHAR4('M', 'C', 'D', 'I'):
791+ case CHAR4('M', 'L', 'L', 'T'):
792+ case CHAR4('O', 'W', 'N', 'E'):
793+ case CHAR4('P', 'C', 'N', 'T'):
794+ case CHAR4('P', 'O', 'P', 'M'):
795+ case CHAR4('P', 'O', 'S', 'S'):
796+ case CHAR4('R', 'B', 'U', 'F'):
797+ case CHAR4('R', 'V', 'A', 'D'):
798+ case CHAR4('R', 'V', 'R', 'B'):
799+ case CHAR4('S', 'Y', 'L', 'T'):
800+ case CHAR4('S', 'Y', 'T', 'C'):
801+ case CHAR4('T', 'B', 'P', 'M'):
802+ case CHAR4('T', 'C', 'O', 'P'):
803+ case CHAR4('T', 'D', 'A', 'T'):
804+ case CHAR4('T', 'D', 'L', 'Y'):
805+ case CHAR4('T', 'F', 'L', 'T'):
806+ case CHAR4('T', 'I', 'M', 'E'):
807+ case CHAR4('T', 'K', 'E', 'Y'):
808+ case CHAR4('T', 'L', 'A', 'N'):
809+ case CHAR4('T', 'L', 'E', 'N'):
810+ case CHAR4('T', 'M', 'E', 'D'):
811+ case CHAR4('T', 'O', 'F', 'N'):
812+ case CHAR4('T', 'O', 'L', 'Y'):
813+ case CHAR4('T', 'O', 'R', 'Y'):
814+ case CHAR4('T', 'P', 'E', '2'):
815+ case CHAR4('T', 'P', 'E', '3'):
816+ case CHAR4('T', 'P', 'E', '4'):
817+ case CHAR4('T', 'P', 'O', 'S'):
818+ case CHAR4('T', 'R', 'C', 'K'):
819+ case CHAR4('T', 'R', 'D', 'A'):
820+ case CHAR4('T', 'R', 'S', 'N'):
821+ case CHAR4('T', 'R', 'S', 'O'):
822+ case CHAR4('T', 'S', 'I', 'Z'):
823+ case CHAR4('T', 'S', 'R', 'C'):
824+ case CHAR4('T', 'S', 'S', 'E'):
825+ case CHAR4('T', 'Y', 'E', 'R'):
826+ case CHAR4('T', 'X', 'X', 'X'):
827+ case CHAR4('U', 'F', 'I', 'D'):
828+ case CHAR4('U', 'S', 'E', 'R'):
829+ case CHAR4('U', 'S', 'L', 'T'):
830+ case CHAR4('W', 'C', 'O', 'M'):
831+ case CHAR4('W', 'C', 'O', 'P'):
832+ case CHAR4('W', 'O', 'A', 'F'):
833+ case CHAR4('W', 'O', 'A', 'R'):
834+ case CHAR4('W', 'O', 'A', 'S'):
835+ case CHAR4('W', 'O', 'R', 'S'):
836+ case CHAR4('W', 'P', 'A', 'Y'):
837+ case CHAR4('W', 'P', 'U', 'B'):
838+ case CHAR4('W', 'X', 'X', 'X'):
839+ case CHAR4('T', 'I', 'T', '3'):
840+ key = "other_info : ";
841+ value = &id3v2->other_info;
842+ break;
843+ case CHAR4('P', 'R', 'I', 'V'):
844+ key = "private_frame : ";
845+ value = &id3v2->private_frame;
846+ break;
847+ case CHAR4('T', 'A', 'L', 'B'):
848+ key = "album_movie_show_title : ";
849+ value = &id3v2->album_movie_show_title;
850+ break;
851+ case CHAR4('T', 'C', 'O', 'M'):
852+ key = "composer_name : ";
853+ value = &id3v2->composer_name;
854+ break;
855+ case CHAR4('T', 'C', 'O', 'N'):
856+ key = "content_type : ";
857+ value = &id3v2->content_type;
858+ break;
859+ case CHAR4('T', 'E', 'N', 'C'):
860+ key = "encoded_by : ";
861+ value = &id3v2->encoded_by;
862+ break;
863+ case CHAR4('T', 'E', 'X', 'T'):
864+ key = "lyricist_text_writer : ";
865+ value = &id3v2->lyricist_text_writer;
866+ break;
867+ case CHAR4('T', 'I', 'T', '1'):
868+ key = "content_group_description : ";
869+ value = &id3v2->content_group_description;
870+ break;
871+ case CHAR4('T', 'I', 'T', '2'):
872+ key = "title_songname_content_description : ";
873+ value = &id3v2->title_songname_content_description;
874+ break;
875+ case CHAR4('T', 'O', 'A', 'L'):
876+ key = "original_album_movie_show_title : ";
877+ value = &id3v2->original_album_movie_show_title;
878+ break;
879+ case CHAR4('T', 'O', 'P', 'E'):
880+ key = "original_artist_performer : ";
881+ value = &id3v2->original_artist_performer;
882+ break;
883+ case CHAR4('T', 'O', 'W', 'N'):
884+ key = "file_owner_licensee : ";
885+ value = &id3v2->file_owner_licensee;
886+ break;
887+ case CHAR4('T', 'P', 'E', '1'):
888+ key = "lead_performer_soloist : ";
889+ value = &id3v2->lead_performer_soloist;
890+ break;
891+ case CHAR4('T', 'P', 'U', 'B'):
892+ key = "publisher : ";
893+ value = &id3v2->publisher;
894+ break;
895+ default:
896+ /* skipping the read 10 bytes */
897+ buf_update_val = -10;
898+ id3v2->header_end = 1;
899+ value = 0;
900+ key = 0;
901+ break;
902+ }
903+
904+ if (value != 0)
905+ buf_update_val = get_info(&buffer[bytes_consumed],
906+ avail_inp, size, value);
907+
908+ /* Negative value for buf_update_val means one of two things:
909+ * 1. The default case happened and we're done with ID3V2 tag
910+ * frames, or
911+ * 2. get_info() returned -1 to indicate that more input is
912+ * required to decode this frame of the tag.
913+ */
914+ if (buf_update_val >= 0)
915+ display2(value,
916+ umin(value->max_size, buf_update_val), key);
917+
918+ if (buf_update_val == -1) {
919+ id3v2->bytes_consumed += bytes_consumed;
920+ return 1;
921+ }
922+
923+ bytes_consumed += buf_update_val;
924+
925+ /* Is there enough input left (10 bytes) to begin
926+ * decoding another frame? If not, bag out temporarily
927+ * now. The caller will refill our input buffer and
928+ * call us again with continue_flag == 1.
929+ */
930+ if (insize - bytes_consumed < 10) {
931+ id3v2->bytes_consumed += bytes_consumed;
932+ return 0; /* not completely decoded */
933+ }
934+ }
935+
936+ id3v2->bytes_consumed += bytes_consumed;
937+ if ((id3v2->bytes_consumed + 10) < id3v2->id3_v2_header.size)
938+ return 0; /* not completely decoded */
939+
940+ return 1; /* completely decoded */
941+}
942+
943+/*******************************************************
944+ * function name : get_id3_v2_bytes
945+ *
946+ * description : tells the size of ID3V2 tag.
947+ *
948+ * arguments : input parameters
949+ * buffer input buffer
950+ *
951+ * values returned : bytes consumed
952+ ********************************************************/
953+WORD32 get_id3_v2_bytes(UWORD8 *buffer)
954+{
955+ WORD32 size;
956+
957+ /* making the msb of each byte zero */
958+ size = (buffer[9] & 0x7f);
959+ size |= ((buffer[8] & 0x7f) << 7);
960+ size |= ((buffer[7] & 0x7f) << 14);
961+ size |= ((buffer[6] & 0x7f) << 21);
962+
963+ return (size + 10);
964+}
965+
966+/****************************************************
967+ * function name : get_info
968+ *
969+ * description : read the frame information from the input buffer.
970+ *
971+ * arguments : input parameters
972+ *
973+ * values returned : update value for buffer
974+ ****************************************************/
975+WORD32 get_info(const char *inp_buffer,
976+ unsigned int avail_inp,
977+ WORD32 tag_size,
978+ id3_v2_frame_struct *dest)
979+{
980+ WORD32 j;
981+
982+ /* setting the tag to indicate the presence of frame */
983+ dest->tag_present = 1;
984+ /* If there isn't enough input available, we punt back to the top
985+ * level and ask for more.
986+ */
987+ if (avail_inp < umin(tag_size, dest->max_size))
988+ return -1;
989+
990+ if (dest->max_size >= tag_size) {
991+ for (j = 0; j < tag_size ; j++)
992+ dest->frame_data[j] = inp_buffer[j];
993+ } else {
994+ dest->exceeds_buffer_size = 1;
995+ for (j = 0; j < dest->max_size ; j++)
996+ dest->frame_data[j] = inp_buffer[j];
997+ }
998+ return tag_size;
999+}
1000--
10012.7.4
1002
diff --git a/recipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch b/recipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch
deleted file mode 100755
index 795447118..000000000
--- a/recipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch
+++ /dev/null
@@ -1,215 +0,0 @@
1From 4d4bc0a958fe254531920095fbabc241aad88113 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Tue, 28 Jul 2020 13:00:36 +0800
4Subject: [PATCH] cplay: Support wave file
5
6The supported format is mono/stereo, S16_LE/S32_LE, 8kHz-192kHz.
7Command is:
8cplay -c x -I PCM test.wav
9
10Upstream-Status: Inappropriate [i.MX specific]
11Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
12---
13 include/tinycompress/wave_formats.h | 51 +++++++++++++
14 src/utils/cplay.c | 107 ++++++++++++++++++++++++++++
15 2 files changed, 158 insertions(+)
16 create mode 100644 include/tinycompress/wave_formats.h
17
18--- /dev/null
19+++ b/include/tinycompress/wave_formats.h
20@@ -0,0 +1,53 @@
21+#ifndef WAVE_FORMATS_H
22+#define WAVE_FORMATS_H 1
23+
24+#include <sys/types.h>
25+
26+#define COMPOSE_ID(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d)<<24))
27+
28+#define WAV_RIFF COMPOSE_ID('R','I','F','F')
29+#define WAV_RIFX COMPOSE_ID('R','I','F','X')
30+#define WAV_WAVE COMPOSE_ID('W','A','V','E')
31+#define WAV_FMT COMPOSE_ID('f','m','t',' ')
32+#define WAV_DATA COMPOSE_ID('d','a','t','a')
33+
34+/* WAVE fmt block constants from Microsoft mmreg.h header */
35+#define WAV_FMT_PCM 0x0001
36+#define WAV_FMT_IEEE_FLOAT 0x0003
37+#define WAV_FMT_DOLBY_AC3_SPDIF 0x0092
38+#define WAV_FMT_EXTENSIBLE 0xfffe
39+
40+/* Used with WAV_FMT_EXTENSIBLE format */
41+#define WAV_GUID_TAG "\x00\x00\x00\x00\x10\x00\x80\x00\x00\xAA\x00\x38\x9B\x71"
42+
43+typedef struct {
44+ u_int magic; /* 'RIFF' */
45+ u_int length; /* filelen */
46+ u_int type; /* 'WAVE' */
47+} WaveHeader;
48+
49+typedef struct {
50+ u_short format; /* see WAV_FMT_* */
51+ u_short channels;
52+ u_int sample_fq; /* frequence of sample */
53+ u_int byte_p_sec;
54+ u_short byte_p_spl; /* samplesize; 1 or 2 bytes */
55+ u_short bit_p_spl; /* 8, 12 or 16 bit */
56+} WaveFmtBody;
57+
58+typedef struct {
59+ WaveFmtBody format;
60+ u_short ext_size;
61+ u_short bit_p_spl;
62+ u_int channel_mask;
63+ u_short guid_format; /* WAV_FMT_* */
64+ u_char guid_tag[14]; /* WAV_GUID_TAG */
65+} WaveFmtExtensibleBody;
66+
67+typedef struct {
68+ u_int type; /* 'data' */
69+ u_int length; /* samplecount */
70+} WaveChunkHeader;
71+
72+
73+#endif /* FORMATS */
74--- a/src/utils/cplay.c
75+++ b/src/utils/cplay.c
76@@ -1,4 +1,6 @@
77 /*
78+ * Copyright 2020 NXP
79+ *
80 * This file is provided under a dual BSD/LGPLv2.1 license. When using or
81 * redistributing this file, you may do so under either license.
82 *
83@@ -73,6 +75,8 @@
84 #include "tinycompress/tinycompress.h"
85 #include "tinycompress/tinymp3.h"
86 #include "tinycompress/id3_tag_decode.h"
87+#include "tinycompress/wave_formats.h"
88+#include <alsa/asoundlib.h>
89
90 static int verbose;
91 static const unsigned int DEFAULT_CODEC_ID = SND_AUDIOCODEC_PCM;
92@@ -166,6 +170,77 @@ static int parse_mp3_header(struct mp3_h
93 return 0;
94 }
95
96+static int parse_wav_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate,
97+ unsigned int *format) {
98+ WaveHeader wave_header;
99+ WaveChunkHeader chunk_header;
100+ WaveFmtBody fmt_body;
101+ int more_chunks = 1;
102+
103+ fread(&wave_header, sizeof(WaveHeader), 1, file);
104+ if ((wave_header.magic != WAV_RIFF) ||
105+ (wave_header.type != WAV_WAVE)) {
106+ fprintf(stderr, "Error: it is not a riff/wave file\n");
107+ return -1;
108+ }
109+
110+ do {
111+ fread(&chunk_header, sizeof(WaveChunkHeader), 1, file);
112+ switch (chunk_header.type) {
113+ case WAV_FMT:
114+ fread(&fmt_body, sizeof(WaveFmtBody), 1, file);
115+ /* If the format header is larger, skip the rest */
116+ if (chunk_header.length > sizeof(WaveFmtBody))
117+ fseek(file, chunk_header.length - sizeof(WaveFmtBody), SEEK_CUR);
118+
119+ *num_channels = fmt_body.channels;
120+ *sample_rate = fmt_body.sample_fq;
121+
122+ switch (fmt_body.bit_p_spl) {
123+ case 8:
124+ *format = SND_PCM_FORMAT_U8;
125+ break;
126+ case 16:
127+ *format = SND_PCM_FORMAT_S16_LE;
128+ break;
129+ case 24:
130+ switch (fmt_body.byte_p_spl / fmt_body.channels) {
131+ case 3:
132+ *format = SND_PCM_FORMAT_S24_3LE;
133+ break;
134+ case 4:
135+ *format = SND_PCM_FORMAT_S24_LE;
136+ break;
137+ default:
138+ fprintf(stderr, "format error\n");
139+ return -1;
140+ }
141+ break;
142+ case 32:
143+ if (fmt_body.format == WAV_FMT_PCM) {
144+ *format = SND_PCM_FORMAT_S32_LE;
145+ } else if (fmt_body.format == WAV_FMT_IEEE_FLOAT) {
146+ *format = SND_PCM_FORMAT_FLOAT_LE;
147+ }
148+ break;
149+ default:
150+ fprintf(stderr, "format error\n");
151+ return -1;
152+ }
153+ break;
154+ case WAV_DATA:
155+ /* Stop looking for chunks */
156+ more_chunks = 0;
157+ break;
158+ default:
159+ /* Unknown chunk, skip bytes */
160+ fseek(file, chunk_header.length, SEEK_CUR);
161+ }
162+ } while (more_chunks);
163+
164+ return 0;
165+}
166+
167 static int print_time(struct compress *compress)
168 {
169 unsigned int avail;
170@@ -385,6 +460,35 @@ void get_codec_iec(FILE *file, struct co
171 codec->format = 0;
172 }
173
174+void get_codec_pcm(FILE *file, struct compr_config *config,
175+ struct snd_codec *codec)
176+{
177+ unsigned int channels, rate, format;
178+
179+ if (parse_wav_header(file, &channels, &rate, &format) == -1) {
180+ fclose(file);
181+ exit(EXIT_FAILURE);
182+ }
183+
184+ if (channels > 2 || (format != SND_PCM_FORMAT_S16_LE && format != SND_PCM_FORMAT_S32_LE) ||
185+ rate > 192000) {
186+ fprintf(stderr, "unsupported wave file\n");
187+ fclose(file);
188+ exit(EXIT_FAILURE);
189+ }
190+
191+ codec->id = SND_AUDIOCODEC_PCM;
192+ codec->ch_in = channels;
193+ codec->ch_out = channels;
194+ codec->sample_rate = rate;
195+ codec->bit_rate = 0;
196+ codec->rate_control = 0;
197+ codec->profile = SND_AUDIOPROFILE_PCM;
198+ codec->level = 0;
199+ codec->ch_mode = 0;
200+ codec->format = format;
201+}
202+
203 void play_samples(char *name, unsigned int card, unsigned int device,
204 unsigned long buffer_size, unsigned int frag,
205 unsigned long codec_id)
206@@ -411,6 +515,9 @@ void play_samples(char *name, unsigned i
207 case SND_AUDIOCODEC_IEC61937:
208 get_codec_iec(file, &config, &codec);
209 break;
210+ case SND_AUDIOCODEC_PCM:
211+ get_codec_pcm(file, &config, &codec);
212+ break;
213 default:
214 fprintf(stderr, "codec ID %ld is not supported\n", codec_id);
215 exit(EXIT_FAILURE);
diff --git a/recipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch b/recipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch
deleted file mode 100755
index 7d8492b7d..000000000
--- a/recipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch
+++ /dev/null
@@ -1,146 +0,0 @@
1From 6f778c21ee357a662cdd758cff578a3e4b85eedf Mon Sep 17 00:00:00 2001
2From: Zhang Peng <peng.zhang_8@nxp.com>
3Date: Tue, 4 Aug 2020 15:29:29 +0800
4Subject: [PATCH] cplay: Add pause feature
5
6Add option: -p pause
7
8Upstream-Status: Inappropriate [i.MX specific]
9Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
10---
11 src/utils/cplay.c | 56 +++++++++++++++++++++++++++++++++++++++++++----
12 1 file changed, 52 insertions(+), 4 deletions(-)
13
14diff --git a/src/utils/cplay.c b/src/utils/cplay.c
15index 8882f4d..8e3dcbb 100644
16--- a/src/utils/cplay.c
17+++ b/src/utils/cplay.c
18@@ -117,6 +117,9 @@ static void usage(void)
19 "-f\tfragments\n\n"
20 "-v\tverbose mode\n"
21 "-h\tPrints this help list\n\n"
22+ "-p\tpause\n"
23+ "-m\tpause blocks\n"
24+ "-n\tpause time duration\n"
25 "Example:\n"
26 "\tcplay -c 1 -d 2 test.mp3\n"
27 "\tcplay -f 5 test.mp3\n\n"
28@@ -133,7 +136,8 @@ static void usage(void)
29
30 void play_samples(char *name, unsigned int card, unsigned int device,
31 unsigned long buffer_size, unsigned int frag,
32- unsigned long codec_id);
33+ unsigned long codec_id, int pause_count, int pause_block,
34+ int pause_duration);
35
36 struct mp3_header {
37 uint16_t sync;
38@@ -262,12 +266,15 @@ int main(int argc, char **argv)
39 int c, i;
40 unsigned int card = 0, device = 0, frag = 0;
41 unsigned int codec_id = SND_AUDIOCODEC_MP3;
42+ int pause_count = 0;
43+ int pause_block = 6;
44+ int pause_duration = 10;
45
46 if (argc < 2)
47 usage();
48
49 verbose = 0;
50- while ((c = getopt(argc, argv, "hvb:f:c:d:I:")) != -1) {
51+ while ((c = getopt(argc, argv, "hvb:f:c:d:I:p:m:n:")) != -1) {
52 switch (c) {
53 case 'h':
54 usage();
55@@ -306,6 +313,23 @@ int main(int argc, char **argv)
56 case 'v':
57 verbose = 1;
58 break;
59+ case 'p':
60+ pause_count = strtol(optarg, NULL, 10);
61+ break;
62+ case 'm':
63+ pause_block = strtol(optarg, NULL, 10);
64+ if (pause_duration < 0) {
65+ printf("Set wrong paramter! Set duration default 6.\n");
66+ pause_duration = 6;
67+ }
68+ break;
69+ case 'n':
70+ pause_duration = strtol(optarg, NULL, 10);
71+ if (pause_duration < 0) {
72+ printf("Set wrong paramter! Set duration default 10.\n");
73+ pause_duration = 10;
74+ }
75+ break;
76 default:
77 exit(EXIT_FAILURE);
78 }
79@@ -315,7 +339,7 @@ int main(int argc, char **argv)
80
81 file = argv[optind];
82
83- play_samples(file, card, device, buffer_size, frag, codec_id);
84+ play_samples(file, card, device, buffer_size, frag, codec_id, pause_count, pause_block, pause_duration);
85
86 fprintf(stderr, "Finish Playing.... Close Normally\n");
87 exit(EXIT_SUCCESS);
88@@ -491,7 +515,8 @@ void get_codec_pcm(FILE *file, struct compr_config *config,
89
90 void play_samples(char *name, unsigned int card, unsigned int device,
91 unsigned long buffer_size, unsigned int frag,
92- unsigned long codec_id)
93+ unsigned long codec_id, int pause_count, int pause_block,
94+ int pause_duration)
95 {
96 struct compr_config config;
97 struct snd_codec codec;
98@@ -499,6 +524,7 @@ void play_samples(char *name, unsigned int card, unsigned int device,
99 FILE *file;
100 char *buffer;
101 int size, num_read, wrote;
102+ int write_count = 0;
103
104 if (verbose)
105 printf("%s: entry\n", __func__);
106@@ -574,6 +600,13 @@ void play_samples(char *name, unsigned int card, unsigned int device,
107 if (verbose)
108 printf("%s: You should hear audio NOW!!!\n", __func__);
109
110+ if (pause_count > 0) {
111+ printf("sleep...\n");
112+ compress_pause(compress);
113+ sleep(pause_duration);
114+ compress_resume(compress);
115+ }
116+
117 do {
118 num_read = fread(buffer, 1, size, file);
119 if (num_read > 0) {
120@@ -592,8 +625,23 @@ void play_samples(char *name, unsigned int card, unsigned int device,
121 printf("%s: wrote %d\n", __func__, wrote);
122 }
123 }
124+ write_count++;
125+ if ((pause_count > 0) && (write_count % pause_block == 0)) {
126+ printf("pause...\n");
127+ compress_pause(compress);
128+ sleep(pause_duration);
129+ printf("pause release...\n");
130+ compress_resume(compress);
131+ pause_count--;
132+ }
133 } while (num_read > 0);
134
135+ if (pause_count > 0) {
136+ compress_pause(compress);
137+ sleep(5);
138+ compress_resume(compress);
139+ }
140+
141 if (verbose)
142 printf("%s: exit success\n", __func__);
143 /* issue drain if it supports */
144--
1452.17.1
146
diff --git a/recipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch b/recipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch
deleted file mode 100755
index dfedd186a..000000000
--- a/recipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From a2892bf5db7520689fa9cb1d1589fa804bd9dc1a Mon Sep 17 00:00:00 2001
2From: Bing Song <bing.song@nxp.com>
3Date: Tue, 18 Aug 2020 15:26:51 +0800
4Subject: [PATCH] tinycompress: pass NULL buffer with 0 size to driver.
5
6The NULL buffer with 0 size to indecate driver drain input data with
7non-block mode. The defaul drain is block mode.
8
9Upstream-Status: Inappropriate [i.MX specific]
10Signed-off-by: Bing Song <bing.song@nxp.com>
11---
12 src/lib/compress.c | 5 +++--
13 1 file changed, 3 insertions(+), 2 deletions(-)
14
15diff --git a/src/lib/compress.c b/src/lib/compress.c
16index bba4fcf..d66df0b 100644
17--- a/src/lib/compress.c
18+++ b/src/lib/compress.c
19@@ -315,7 +315,8 @@ int compress_write(struct compress *compress, const void *buf, unsigned int size
20 fds.events = POLLOUT;
21
22 /*TODO: treat auto start here first */
23- while (size) {
24+ /* NULL buffer with 0 size for non-block drain */
25+ do {
26 if (ioctl(compress->fd, SNDRV_COMPRESS_AVAIL, &avail))
27 return oops(compress, errno, "cannot get avail");
28
29@@ -357,7 +358,7 @@ int compress_write(struct compress *compress, const void *buf, unsigned int size
30 size -= written;
31 cbuf += written;
32 total += written;
33- }
34+ } while (size);
35 return total;
36 }
37
38--
392.17.1
40
diff --git a/recipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch b/recipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch
deleted file mode 100755
index 2f36551ab..000000000
--- a/recipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch
+++ /dev/null
@@ -1,251 +0,0 @@
1From 2912f8573cea25fbd38ac7a8b68af2ea6a05e599 Mon Sep 17 00:00:00 2001
2From: Zhang Peng <peng.zhang_8@nxp.com>
3Date: Wed, 28 Oct 2020 19:08:53 +0800
4Subject: [PATCH] cplay: Support aac streams
5
6Support run aac format streams for cplay.
7
8Upstream-Status: Inappropriate [i.MX specific]
9Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
10---
11 src/utils/cplay.c | 210 ++++++++++++++++++++++++++++++++++++++++++++++
12 1 file changed, 210 insertions(+)
13
14diff --git a/src/utils/cplay.c b/src/utils/cplay.c
15index 8e3dcbb..2a1464a 100644
16--- a/src/utils/cplay.c
17+++ b/src/utils/cplay.c
18@@ -245,6 +245,190 @@ static int parse_wav_header(FILE *file, unsigned int *num_channels, unsigned int
19 return 0;
20 }
21
22+int find_adts_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate, unsigned int *format)
23+{
24+ int ret;
25+ unsigned char buf[5];
26+
27+ ret = fread(buf, sizeof(buf), 1, file);
28+ if (ret < 0) {
29+ fprintf(stderr, "open file error: %d\n", ret);
30+ return 0;
31+ }
32+ fseek(file, 0, SEEK_SET);
33+
34+ if ((buf[0] != 0xff) || (buf[1] & 0xf0 != 0xf0))
35+ return 0;
36+ /* mpeg id */
37+ switch (buf[1]>>3 & 0x1) {
38+ case 0x0:
39+ *format = SND_AUDIOSTREAMFORMAT_MP4ADTS;
40+ break;
41+ case 0x1:
42+ *format = SND_AUDIOSTREAMFORMAT_MP2ADTS;
43+ break;
44+ default:
45+ fprintf(stderr, "can't find stream format\n");
46+ break;
47+ }
48+ /* sample_rate */
49+ switch (buf[2]>>2 & 0xf) {
50+ case 0x0:
51+ *sample_rate = 96000;
52+ break;
53+ case 0x1:
54+ *sample_rate = 88200;
55+ break;
56+ case 0x2:
57+ *sample_rate = 64000;
58+ break;
59+ case 0x3:
60+ *sample_rate = 48000;
61+ break;
62+ case 0x4:
63+ *sample_rate = 44100;
64+ break;
65+ case 0x5:
66+ *sample_rate = 32000;
67+ break;
68+ case 0x6:
69+ *sample_rate = 24000;
70+ break;
71+ case 0x7:
72+ *sample_rate = 22050;
73+ break;
74+ case 0x8:
75+ *sample_rate = 16000;
76+ break;
77+ case 0x9:
78+ *sample_rate = 12000;
79+ break;
80+ case 0xa:
81+ *sample_rate = 11025;
82+ break;
83+ case 0xb:
84+ *sample_rate = 8000;
85+ break;
86+ case 0xc:
87+ *sample_rate = 7350;
88+ break;
89+ default:
90+ break;
91+ }
92+ /* channel */
93+ switch (((buf[2]&0x1) << 2) | (buf[3]>>6)) {
94+ case 1:
95+ *num_channels = 1;
96+ break;
97+ case 2:
98+ *num_channels = 2;
99+ break;
100+ case 3:
101+ *num_channels = 3;
102+ break;
103+ case 4:
104+ *num_channels = 4;
105+ break;
106+ case 5:
107+ *num_channels = 5;
108+ break;
109+ case 6:
110+ *num_channels = 6;
111+ break;
112+ case 7:
113+ *num_channels = 7;
114+ break;
115+ default:
116+ break;
117+ }
118+ return 1;
119+}
120+
121+static const int aac_sample_rates[] = { 96000, 88200, 64000, 48000, 44100,
122+ 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350
123+};
124+
125+#define MAX_SR_NUM sizeof(aac_sample_rates)/sizeof(aac_sample_rates[0])
126+
127+static int get_sample_rate_from_index(int sr_index)
128+{
129+ if (sr_index >= 0 && sr_index < MAX_SR_NUM)
130+ return aac_sample_rates[sr_index];
131+
132+ return 0;
133+}
134+
135+int find_adif_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate, unsigned int *format)
136+{
137+ int ret;
138+ unsigned char adif_id[4];
139+ unsigned char adif_header[20];
140+ int bitstream_type;
141+ int bitrate;
142+ int object_type;
143+ int sr_index;
144+ int skip_size = 0;
145+
146+ ret = fread(adif_id, sizeof(unsigned char), 4, file);
147+ if (ret < 0) {
148+ fprintf(stderr, "read data from file err: %d\n", ret);
149+ return 0;
150+ }
151+ /* adif id */
152+ if ((adif_id[0] != 0x41) || (adif_id[1] != 0x44) ||
153+ (adif_id[2] != 0x49) || (adif_id[3] != 0x46))
154+ return 0;
155+
156+ fread(adif_header, sizeof(unsigned char), 20, file);
157+
158+ /* copyright string */
159+ if (adif_header[0] & 0x80)
160+ skip_size = 9;
161+
162+ bitstream_type = adif_header[0 + skip_size] & 0x10;
163+ bitrate =
164+ ((unsigned int) (adif_header[0 + skip_size] & 0x0f) << 19) |
165+ ((unsigned int) adif_header[1 + skip_size] << 11) |
166+ ((unsigned int) adif_header[2 + skip_size] << 3) |
167+ ((unsigned int) adif_header[3 + skip_size] & 0xe0);
168+
169+ if (bitstream_type == 0) {
170+ object_type = ((adif_header[6 + skip_size] & 0x01) << 1) |
171+ ((adif_header[7 + skip_size] & 0x80) >> 7);
172+ sr_index = (adif_header[7 + skip_size] & 0x78) >> 3;
173+ }
174+ /* VBR */
175+ else {
176+ object_type = (adif_header[4 + skip_size] & 0x18) >> 3;
177+ sr_index = ((adif_header[4 + skip_size] & 0x07) << 1) |
178+ ((adif_header[5 + skip_size] & 0x80) >> 7);
179+ }
180+
181+ /* sample rate */
182+ *sample_rate = get_sample_rate_from_index(sr_index);
183+
184+ /* FIXME: assume channels is 2 */
185+ *num_channels = 2;
186+
187+ *format = SND_AUDIOSTREAMFORMAT_ADIF;
188+ fseek(file, 0, SEEK_SET);
189+ return 1;
190+}
191+
192+static int parse_aac_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate, unsigned int *format)
193+{
194+ if (find_adts_header(file, num_channels, sample_rate, format))
195+ return 1;
196+ else if (find_adif_header(file, num_channels, sample_rate, format))
197+ return 1;
198+ else {
199+ fprintf(stderr, "can't find streams format\n");
200+ return 0;
201+ }
202+
203+ return 1;
204+}
205+
206 static int print_time(struct compress *compress)
207 {
208 unsigned int avail;
209@@ -513,6 +697,29 @@ void get_codec_pcm(FILE *file, struct compr_config *config,
210 codec->format = format;
211 }
212
213+void get_codec_aac(FILE *file, struct compr_config *config,
214+ struct snd_codec *codec)
215+{
216+ unsigned int channels, rate, format;
217+
218+ if (parse_aac_header(file, &channels, &rate, &format) == 0) {
219+ fclose(file);
220+ exit(EXIT_FAILURE);
221+ };
222+ fseek(file, 0, SEEK_SET);
223+
224+ codec->id = SND_AUDIOCODEC_AAC;
225+ codec->ch_in = channels;
226+ codec->ch_out = channels;
227+ codec->sample_rate = rate;
228+ codec->bit_rate = 0;
229+ codec->rate_control = 0;
230+ codec->profile = SND_AUDIOPROFILE_AAC;
231+ codec->level = 0;
232+ codec->ch_mode = 0;
233+ codec->format = format;
234+
235+}
236 void play_samples(char *name, unsigned int card, unsigned int device,
237 unsigned long buffer_size, unsigned int frag,
238 unsigned long codec_id, int pause_count, int pause_block,
239@@ -544,6 +751,9 @@ void play_samples(char *name, unsigned int card, unsigned int device,
240 case SND_AUDIOCODEC_PCM:
241 get_codec_pcm(file, &config, &codec);
242 break;
243+ case SND_AUDIOCODEC_AAC:
244+ get_codec_aac(file, &config, &codec);
245+ break;
246 default:
247 fprintf(stderr, "codec ID %ld is not supported\n", codec_id);
248 exit(EXIT_FAILURE);
249--
2502.17.1
251
diff --git a/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb b/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
deleted file mode 100644
index 5cad5ba67..000000000
--- a/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1DESCRIPTION = "A library to handle compressed formats like MP3 etc."
2LICENSE = "LGPL-2.1-only | BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://COPYING;md5=cf9105c1a2d4405cbe04bbe3367373a0"
4DEPENDS = "alsa-lib"
5
6SRC_URI = "git://git.alsa-project.org/http/tinycompress.git;protocol=https;branch=master \
7 file://0001-tinycompress-Add-id3-decoding.patch \
8 file://0002-cplay-Support-wave-file.patch \
9 file://0003-cplay-Add-pause-feature.patch \
10 file://0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch \
11 file://0005-cplay-Support-aac-streams.patch \
12"
13SRCREV = "995f2ed91045dad8c20485ab1a64727d22cd92e5"
14S = "${WORKDIR}/git"
15
16inherit autotools pkgconfig
diff --git a/recipes-multimedia/tinycompress/tinycompress_1.2.5.bb b/recipes-multimedia/tinycompress/tinycompress_1.2.5.bb
new file mode 100644
index 000000000..48edf0769
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress_1.2.5.bb
@@ -0,0 +1,16 @@
1DESCRIPTION = "A library to handle compressed formats like MP3 etc."
2LICENSE = "LGPL-2.1-only | BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://COPYING;md5=cf9105c1a2d4405cbe04bbe3367373a0"
4DEPENDS = "alsa-lib"
5
6inherit autotools pkgconfig
7
8PV .= "+git"
9
10SRC_URI = "git://github.com/alsa-project/tinycompress.git;protocol=https;branch=master \
11"
12SRCREV = "f3ba6e5c2126f2fb07e3d890f990d50c3e204e67"
13
14EXTRA_OECONF:append = " --enable-pcm"
15
16inherit autotools pkgconfig
diff --git a/recipes-security/optee-imx/optee-client-fslc-imx.inc b/recipes-security/optee-imx/optee-client-fslc-imx.inc
index 60e9e1fa5..7aeff9fd5 100644
--- a/recipes-security/optee-imx/optee-client-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-client-fslc-imx.inc
@@ -1,7 +1,36 @@
1# Copyright 2017-2024 NXP 1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-client-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
2 3
3require optee-client-fslc.inc 4require optee-client-fslc.inc
4 5
5SRC_URI += "git://github.com/nxp-imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH}" 6DEPENDS += "util-linux-libuuid"
6 7
7COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
9SRC_URI:remove = "git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https"
10SRC_URI:prepend = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} "
11OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https"
12
13inherit pkgconfig
14
15EXTRA_OECMAKE += "-DCFG_TEE_CLIENT_LOAD_PATH=${nonarch_base_libdir}"
16
17# Copy the udev rule from the libts recipe for starting tee-supplicant@.service
18SRC_URI += "file://tee-udev.rules"
19# Unix group name for dev/tee* ownership.
20TEE_GROUP_NAME ?= "teeclnt"
21do_install:append () {
22 if ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', 'false', 'true', d)}; then
23 install -d ${D}${nonarch_base_libdir}/udev/rules.d/
24 install -m 755 ${UNPACKDIR}/tee-udev.rules ${D}${nonarch_base_libdir}/udev/rules.d/
25 sed -i -e "s/teeclnt/${TEE_GROUP_NAME}/" ${D}${nonarch_base_libdir}/udev/rules.d/tee-udev.rules
26 fi
27
28 if [ "${libdir}" != "${nonarch_base_libdir}" ]; then
29 rm -rf ${D}${libdir}/systemd
30 fi
31}
32inherit ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', '', 'useradd', d)}
33USERADD_PACKAGES = "${PN}"
34GROUPADD_PARAM:${PN} = "--system ${TEE_GROUP_NAME}"
35
36FILES:${PN} += "${libdir}/* ${includedir}/*"
diff --git a/recipes-security/optee-imx/optee-client-fslc.inc b/recipes-security/optee-imx/optee-client-fslc.inc
index f55f0ab24..2c1a0f450 100644
--- a/recipes-security/optee-imx/optee-client-fslc.inc
+++ b/recipes-security/optee-imx/optee-client-fslc.inc
@@ -1,42 +1,41 @@
1# Copyright 2017-2024 NXP 1# Copied from meta-arm/recipes-security/optee/optee-client.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE Client API"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE Client libs"
4HOMEPAGE = "http://www.optee.org/"
5LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
7 10
8SRC_URI = "file://tee-supplicant.service" 11inherit systemd update-rc.d cmake
9
10S = "${WORKDIR}/git"
11B = "${WORKDIR}/build"
12
13inherit python3native systemd features_check pkgconfig
14
15DEPENDS = "util-linux-libuuid"
16
17REQUIRED_MACHINE_FEATURES = "optee"
18 12
19SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" 13SRC_URI = " \
20 14 git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https \
21EXTRA_OEMAKE = " \ 15 file://tee-supplicant@.service \
22 -C ${S} O=${B} \ 16 file://tee-supplicant.sh \
23" 17"
24 18
25do_install () { 19UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
26 oe_runmake -C ${S} install
27 20
28 install -D -p -m0644 ${B}/export/usr/lib/libteec.so.2.0.0 ${D}${libdir}/libteec.so.2.0.0 21EXTRA_OECMAKE = " \
29 ln -sf libteec.so.2.0.0 ${D}${libdir}/libteec.so.2 22 -DBUILD_SHARED_LIBS=ON \
30 ln -sf libteec.so.2.0.0 ${D}${libdir}/libteec.so 23 -DCFG_TEE_FS_PARENT_PATH='${localstatedir}/lib/tee' \
24"
25EXTRA_OECMAKE:append:toolchain-clang = " -DCFG_WERROR=0"
31 26
32 install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0 27do_install:append() {
33 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0 28 install -D -p -m0644 ${UNPACKDIR}/tee-supplicant@.service ${D}${systemd_system_unitdir}/tee-supplicant@.service
34 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so 29 install -D -p -m0755 ${UNPACKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
35 30
36 install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant 31 sed -i -e s:@sysconfdir@:${sysconfdir}:g \
32 -e s:@sbindir@:${sbindir}:g \
33 ${D}${systemd_system_unitdir}/tee-supplicant@.service \
34 ${D}${sysconfdir}/init.d/tee-supplicant
35}
37 36
38 cp -a ${B}/export/usr/include ${D}${includedir} 37SYSTEMD_SERVICE:${PN} = "tee-supplicant@.service"
39 38
40 sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${UNPACKDIR}/tee-supplicant.service 39INITSCRIPT_PACKAGES = "${PN}"
41 install -D -p -m0644 ${UNPACKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service 40INITSCRIPT_NAME:${PN} = "tee-supplicant"
42} 41INITSCRIPT_PARAMS:${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant.service b/recipes-security/optee-imx/optee-client/tee-supplicant.service
deleted file mode 100644
index 0e2b4f6ba..000000000
--- a/recipes-security/optee-imx/optee-client/tee-supplicant.service
+++ /dev/null
@@ -1,11 +0,0 @@
1[Unit]
2Description=TEE Supplicant
3
4[Service]
5User=root
6EnvironmentFile=-/etc/default/tee-supplicant
7ExecStart=/usr/bin/tee-supplicant $OPTARGS
8
9[Install]
10WantedBy=basic.target
11
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant.sh b/recipes-security/optee-imx/optee-client/tee-supplicant.sh
new file mode 100644
index 000000000..b4d219502
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-supplicant.sh
@@ -0,0 +1,46 @@
1#!/bin/sh
2
3# Source function library
4. /etc/init.d/functions
5
6NAME=tee-supplicant
7PATH=/sbin:/bin:/usr/sbin:/usr/bin
8DESC="OP-TEE Supplicant"
9
10DAEMON=@sbindir@/$NAME
11
12test -f $DAEMON || exit 0
13
14test -f @sysconfdir@/default/$NAME && . @sysconfdir@/default/$NAME
15test -f @sysconfdir@/default/rcS && . @sysconfdir@/default/rcS
16
17SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- -d $OPTARGS"
18
19set -e
20
21case $1 in
22 start)
23 echo -n "Starting $DESC: "
24 start-stop-daemon --start $SSD_OPTIONS
25 echo "${DAEMON##*/}."
26 ;;
27 stop)
28 echo -n "Stopping $DESC: "
29 start-stop-daemon --stop $SSD_OPTIONS
30 echo "${DAEMON##*/}."
31 ;;
32 restart|force-reload)
33 $0 stop
34 sleep 1
35 $0 start
36 ;;
37 status)
38 status ${DAEMON} || exit $?
39 ;;
40 *)
41 echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
42 exit 1
43 ;;
44esac
45
46exit 0
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant@.service b/recipes-security/optee-imx/optee-client/tee-supplicant@.service
new file mode 100644
index 000000000..72c0b9aa5
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-supplicant@.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=TEE Supplicant on %i
3
4[Service]
5User=root
6EnvironmentFile=-@sysconfdir@/default/tee-supplicant
7ExecStart=@sbindir@/tee-supplicant $OPTARGS
8
9[Install]
10WantedBy=basic.target
diff --git a/recipes-security/optee-imx/optee-client/tee-udev.rules b/recipes-security/optee-imx/optee-client/tee-udev.rules
new file mode 100644
index 000000000..43fafd8c9
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-udev.rules
@@ -0,0 +1,7 @@
1# tee devices can only be accessed by the teeclnt group members
2KERNEL=="tee[0-9]*", TAG+="systemd", MODE="0660", GROUP="teeclnt"
3
4# If a /dev/teepriv[0-9]* device is detected, start an instance of
5# tee-supplicant.service with the device name as parameter
6KERNEL=="teepriv[0-9]*", MODE="0660", OWNER="root", GROUP="tee", \
7 TAG+="systemd", ENV{SYSTEMD_WANTS}+="tee-supplicant@%k.service"
diff --git a/recipes-security/optee-imx/optee-client_4.2.0.imx.bb b/recipes-security/optee-imx/optee-client_4.2.0.imx.bb
deleted file mode 100644
index 64b49b752..000000000
--- a/recipes-security/optee-imx/optee-client_4.2.0.imx.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.23_2.0.0"
4SRCREV = "3eac340a781c00ccd61b151b0e9c22a8c6e9f9f0"
5
6DEPENDS += "util-linux"
7EXTRA_OEMAKE += "PKG_CONFIG=pkg-config"
diff --git a/recipes-security/optee-imx/optee-client_4.4.0.imx.bb b/recipes-security/optee-imx/optee-client_4.4.0.imx.bb
new file mode 100644
index 000000000..322f998fc
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client_4.4.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.52_2.2.0"
4SRCREV = "d221676a58b305bddbf97db00395205b3038de8e"
diff --git a/recipes-security/optee-imx/optee-fslc.inc b/recipes-security/optee-imx/optee-fslc.inc
index 6c96dc2bc..c89746dc4 100644
--- a/recipes-security/optee-imx/optee-fslc.inc
+++ b/recipes-security/optee-imx/optee-fslc.inc
@@ -1,26 +1,40 @@
1HOMEPAGE = "http://www.optee.org/" 1# Copied from meta-arm/recipes-security/optee/optee.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
2 3
3inherit python3native features_check 4UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
4 5
5REQUIRED_MACHINE_FEATURES = "optee" 6COMPATIBLE_MACHINE ?= "invalid"
7COMPATIBLE_MACHINE:qemuarm64 ?= "qemuarm64"
8COMPATIBLE_MACHINE:qemuarm ?= "qemuarm"
9# Please add supported machines below or set it in .bbappend or .conf
6 10
7DEPENDS = "python3-cryptography-native" 11OPTEEMACHINE ?= "${MACHINE}"
12OPTEEMACHINE:aarch64:qemuall ?= "vexpress-qemu_armv8a"
13OPTEEMACHINE:arm:qemuall ?= "vexpress-qemu_virt"
8 14
9S = "${WORKDIR}/git" 15OPTEE_ARCH = "null"
10B = "${WORKDIR}/build" 16OPTEE_ARCH:arm = "arm32"
11
12OPTEE_ARCH:arm = "arm32"
13OPTEE_ARCH:aarch64 = "arm64" 17OPTEE_ARCH:aarch64 = "arm64"
18OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
19
20OPTEE_TOOLCHAIN = "${@d.getVar('TOOLCHAIN') or 'gcc'}"
21OPTEE_COMPILER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "clang-layer", "${OPTEE_TOOLCHAIN}", "gcc", d)}"
14 22
15COMPILER ?= "gcc" 23# Set here but not passed to EXTRA_OEMAKE by default as that breaks
16COMPILER:toolchain-clang = "clang" 24# the optee-os build
25TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
26
27EXTRA_OEMAKE += "V=1 \
28 LIBGCC_LOCATE_CFLAGS='${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
29 COMPILER=${OPTEE_COMPILER} \
30 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${prefix} \
31 TEEC_EXPORT=${STAGING_DIR_HOST}${prefix} \
32 "
33# python3-cryptography needs the legacy provider, so set OPENSSL_MODULES to the
34# right path until this is relocated automatically.
35export OPENSSL_MODULES = "${STAGING_LIBDIR_NATIVE}/ossl-modules"
17 36
18CFLAGS += "--sysroot=${STAGING_DIR_HOST}" 37CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
19CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" 38
20 39# See the rationale in https://github.com/f-secure-foundry/advisories/blob/master/Security_Advisory-Ref_FSC-HWSEC-VR2021-0001-OP-TEE_TrustZone_bypass.txt.
21EXTRA_OEMAKE = " \ 40CVE_STATUS[CVE-2021-36133] = "disputed: devices shipped open for development purposes"
22 COMPILER=${COMPILER} \
23 OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \
24 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \
25 -C ${S} O=${B} \
26"
diff --git a/recipes-security/optee-imx/optee-os-common-fslc-imx.inc b/recipes-security/optee-imx/optee-os-common-fslc-imx.inc
new file mode 100644
index 000000000..941182fe9
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-common-fslc-imx.inc
@@ -0,0 +1,62 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-common-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-os-fslc.inc
5
6DEPENDS:append:arm = "u-boot-mkimage-native"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:"
9
10SRC_URI:remove = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
11SRC_URI:prepend = "${OPTEE_OS_SRC};branch=${SRCBRANCH} "
12SRC_URI:append = " file://0007-allow-setting-sysroot-for-clang.patch"
13SRC_URI:remove = "file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
14 file://0002-optee-enable-clang-support.patch \
15 file://0003-core-link-add-no-warn-rwx-segments.patch"
16
17OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https"
18
19inherit features_check
20
21REQUIRED_MACHINE_FEATURES = "optee"
22
23OPTEEMACHINE = "imx-${@d.getVar('MACHINE')[1:]}"
24OPTEEMACHINE:imx6qpdlsolox = "imx-mx6qsabresd"
25OPTEEMACHINE:mx6ul-nxp-bsp = "imx-mx6ulevk"
26OPTEEMACHINE:mx6ull-nxp-bsp = "imx-mx6ullevk"
27OPTEEMACHINE:mx6ulz-nxp-bsp = "imx-mx6ulzevk"
28OPTEEMACHINE:mx8mq-nxp-bsp = "imx-mx8mqevk"
29OPTEEMACHINE:mx8mm-nxp-bsp = "imx-mx8mmevk"
30OPTEEMACHINE:mx8mn-nxp-bsp = "imx-mx8mnevk"
31OPTEEMACHINE:mx8mp-nxp-bsp = "imx-mx8mpevk"
32OPTEEMACHINE:mx8mpul-nxp-bsp = "imx-mx8mpevk"
33OPTEEMACHINE:mx8qm-nxp-bsp = "imx-mx8qmmek"
34OPTEEMACHINE:mx8qxp-nxp-bsp = "imx-mx8qxpmek"
35OPTEEMACHINE:mx8dx-nxp-bsp = "imx-mx8dxmek"
36OPTEEMACHINE:mx8dxl-nxp-bsp = "imx-mx8dxlevk"
37OPTEEMACHINE:mx8mnul-nxp-bsp = "imx-mx8mnevk"
38OPTEEMACHINE:mx8ulp-nxp-bsp = "imx-mx8ulpevk"
39OPTEEMACHINE:mx91-nxp-bsp = "imx-mx91evk"
40OPTEEMACHINE:mx93-nxp-bsp = "imx-mx93evk"
41OPTEEMACHINE:mx95-nxp-bsp = "imx-mx95evk"
42
43# Strip the leading imx-
44PLATFORM_FLAVOR = "${@d.getVar('OPTEEMACHINE')[4:]}"
45
46EXTRA_OEMAKE:append = " \
47 CFG_TEE_TA_LOG_LEVEL=0 \
48 CFG_TEE_CORE_LOG_LEVEL=0 \
49"
50
51EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \
52 CFG_CORE_LARGE_PHYS_ADDR=y \
53 CFG_CORE_ARM64_PA_BITS=36 \
54 CFG_DDR_SIZE=0x100000000 \
55 CFG_TZDRAM_START=0xfe000000 \
56"
57
58EXTRA_OEMAKE:append:imx8dxlb0-fips-lpddr4-evk = " \
59 CFG_NXP_CAAM=n \
60"
61
62COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-os-fslc-imx.inc b/recipes-security/optee-imx/optee-os-fslc-imx.inc
index 6b72e8277..5fe6a75a5 100644
--- a/recipes-security/optee-imx/optee-os-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-os-fslc-imx.inc
@@ -1,26 +1,26 @@
1require optee-os-fslc.inc 1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
2 3
3SRC_URI = "git://github.com/nxp-imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH}" 4require optee-os-common-fslc-imx.inc
4 5
5# The platform flavor corresponds to the Yocto machine without the leading 'i'. 6do_compile:arm() {
6PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" 7 oe_runmake -C ${S} all uTee
7PLATFORM_FLAVOR:imx6qdlsabresd = "mx6qsabresd" 8}
8PLATFORM_FLAVOR:imx6qdlsabreauto = "mx6qsabreauto"
9PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd"
10PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk"
11PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk"
12PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk"
13PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk"
14PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk"
15PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk"
16PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk"
17PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk"
18PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk"
19PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek"
20PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek"
21PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek"
22PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk"
23PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk"
24PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk"
25 9
26COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 10do_install:append () {
11 # Install embedded TAs
12 install -d ${D}${nonarch_base_libdir}/optee_armtz/
13 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
14}
15
16do_deploy:append() {
17 cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/${MLPREFIX}optee/tee.${PLATFORM_FLAVOR}.bin
18 ln -sf ${MLPREFIX}optee/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin
19}
20
21do_deploy:append:arm() {
22 cp ${B}/core/uTee ${DEPLOYDIR}/${MLPREFIX}optee/uTee-${OPTEE_BIN_EXT}
23 ln -sf ${MLPREFIX}optee/uTee-${OPTEE_BIN_EXT} ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
24}
25
26FILES:${PN} += "${nonarch_base_libdir}/optee_armtz"
diff --git a/recipes-security/optee-imx/optee-os-fslc.inc b/recipes-security/optee-imx/optee-os-fslc.inc
index b91a55311..56c0f3e12 100644
--- a/recipes-security/optee-imx/optee-os-fslc.inc
+++ b/recipes-security/optee-imx/optee-os-fslc.inc
@@ -1,87 +1,85 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-arm/recipes-security/optee/optee-os.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE Trusted OS"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE OS"
4DESCRIPTION = "OPTEE OS"
5LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
7 10
11inherit deploy python3native
8require optee-fslc.inc 12require optee-fslc.inc
9 13
10DEPENDS += "python3-pyelftools-native u-boot-mkimage-native" 14CVE_PRODUCT = "linaro:op-tee op-tee:op-tee_os"
15
16DEPENDS = "python3-pyelftools-native python3-cryptography-native"
17
11DEPENDS:append:toolchain-clang = " compiler-rt" 18DEPENDS:append:toolchain-clang = " compiler-rt"
12 19
13inherit deploy autotools 20SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
14 21
15# Optee-os can be built for 32 bits and 64 bits at the same time 22B = "${WORKDIR}/build"
16# as long as the compilers are correctly defined.
17# For 64bits, CROSS_COMPILE64 must be set
18# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that
19# any 32 or 64 bits builds will pass
20EXTRA_OEMAKE += " \
21 PLATFORM=imx-${PLATFORM_FLAVOR} \
22 CROSS_COMPILE=${HOST_PREFIX} \
23 CROSS_COMPILE64=${HOST_PREFIX} \
24 CFLAGS32=--sysroot=${STAGING_DIR_HOST} \
25 CFLAGS64=--sysroot=${STAGING_DIR_HOST} \
26 CFG_TEE_TA_LOG_LEVEL=0 \
27 CFG_TEE_CORE_LOG_LEVEL=0 \
28"
29 23
30EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \ 24EXTRA_OEMAKE += " \
31 CFG_CORE_LARGE_PHYS_ADDR=y \ 25 PLATFORM=${OPTEEMACHINE} \
32 CFG_CORE_ARM64_PA_BITS=36 \ 26 CFG_${OPTEE_CORE}_core=y \
33 CFG_DDR_SIZE=0x100000000 \ 27 CROSS_COMPILE_core=${HOST_PREFIX} \
34 CFG_TZDRAM_START=0xfe000000 \ 28 CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
29 NOWERROR=1 \
30 ta-targets=ta_${OPTEE_ARCH} \
31 O=${B} \
35" 32"
33EXTRA_OEMAKE += " HOST_PREFIX=${HOST_PREFIX}"
34EXTRA_OEMAKE += " CROSS_COMPILE64=${HOST_PREFIX}"
36 35
37LDFLAGS[unexport] = "1" 36LDFLAGS[unexport] = "1"
38CPPFLAGS[unexport] = "1" 37CPPFLAGS[unexport] = "1"
39AS[unexport] = "1" 38AS[unexport] = "1"
40LD[unexport] = "1" 39LD[unexport] = "1"
41 40
42do_configure[noexec] = "1"
43
44do_compile:prepend() { 41do_compile:prepend() {
45 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name) 42 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name)
46} 43}
47 44
48do_compile:arm () { 45do_compile() {
49 oe_runmake all uTee 46 oe_runmake -C ${S} all
50}
51
52do_compile:aarch64 () {
53 oe_runmake all
54} 47}
55do_compile[cleandirs] = "${B}" 48do_compile[cleandirs] = "${B}"
56 49
57do_deploy () { 50do_install() {
58 install -d ${DEPLOYDIR} 51 #install core in firmware
59 cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin 52 install -d ${D}${nonarch_base_libdir}/firmware/
60 ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin 53 install -m 644 ${B}/core/*.bin ${B}/core/tee.elf ${D}${nonarch_base_libdir}/firmware/
61}
62 54
63do_deploy:append:arm () { 55 #install tas in optee_armtz
64 cp ${B}/core/uTee ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} 56 install -d ${D}${nonarch_base_libdir}/optee_armtz/
57 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz
65} 58}
66 59
67do_install () { 60PACKAGE_ARCH = "${MACHINE_ARCH}"
68 install -d ${D}${nonarch_base_libdir}/firmware/
69 install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
70 61
71 # Install embedded TAs 62do_deploy() {
72 install -d ${D}${nonarch_base_libdir}/optee_armtz/ 63 install -d ${DEPLOYDIR}/${MLPREFIX}optee
73 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ 64 install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/${MLPREFIX}optee
74 65
75 # Install the TA devkit 66 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
76 install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ 67 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
77 cp -aR ${B}/export-ta_${OPTEE_ARCH}/* \
78 ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
79} 68}
80 69
81addtask deploy after do_compile before do_install 70addtask deploy before do_build after do_install
82 71
83FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/" 72SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
84FILES:${PN}-staticdev = "${includedir}/optee/" 73
85RDEPENDS:${PN}-dev += "${PN}-staticdev" 74PACKAGES += "${PN}-ta"
75FILES:${PN} = "${nonarch_base_libdir}/firmware/"
76FILES:${PN}-ta = "${nonarch_base_libdir}/optee_armtz/*"
77
78
79# note: "textrel" is not triggered on all archs
80INSANE_SKIP:${PN} = "textrel"
81# Build paths are currently embedded
82INSANE_SKIP:${PN} += "buildpaths"
83INSANE_SKIP:${PN}-dev = "staticdev"
84INHIBIT_PACKAGE_STRIP = "1"
86 85
87PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
new file mode 100644
index 000000000..18cf9a374
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
@@ -0,0 +1,27 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-tadevkit-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-os-common-fslc-imx.inc
5
6SUMMARY = "OP-TEE Trusted OS TA devkit"
7DESCRIPTION = "OP-TEE TA devkit for build TAs"
8HOMEPAGE = "https://www.op-tee.org/"
9
10DEPENDS += "python3-pycryptodome-native"
11
12do_install() {
13 #install TA devkit
14 install -d ${D}${includedir}/optee/export-user_ta/
15 for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
16 cp -aR $f ${D}${includedir}/optee/export-user_ta/
17 done
18}
19
20do_deploy() {
21 echo "Do not inherit do_deploy from optee-os."
22}
23
24FILES:${PN} = "${includedir}/optee/"
25
26# Build paths are currently embedded
27INSANE_SKIP:${PN}-dev += "buildpaths"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb b/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb
new file mode 100644
index 000000000..bb2e2cf6b
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-os-tadevkit-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.52_2.2.0"
4SRCREV = "60beb308810f9561a67fdb435388a64c85eb6dcb"
diff --git a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch b/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
deleted file mode 100644
index 54fbe5419..000000000
--- a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
+++ /dev/null
@@ -1,245 +0,0 @@
1From ef83625c9a5f50610e25aa860c4b9c5e64723a66 Mon Sep 17 00:00:00 2001
2From: Emekcan Aras <emekcan.aras@arm.com>
3Date: Wed, 21 Dec 2022 10:55:58 +0000
4Subject: [PATCH 1/4] core: Define section attributes for clang
5
6Clang's attribute section is not same as gcc, here we need to add flags
7to sections so they can be eventually collected by linker into final
8output segments. Only way to do so with clang is to use
9
10pragma clang section ...
11
12The behavious is described here [1], this allows us to define names bss
13sections. This was not an issue until clang-15 where LLD linker starts
14to detect the section flags before merging them and throws the following
15errors
16
17| ld.lld: error: section type mismatch for .nozi.kdata_page
18| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
19| >>> output section .nozi: SHT_NOBITS
20|
21| ld.lld: error: section type mismatch for .nozi.mmu.l2
22| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
23| >>> output section .nozi: SHT_NOBITS
24
25These sections should be carrying SHT_NOBITS but so far it was not
26possible to do so, this patch tries to use clangs pragma to get this
27going and match the functionality with gcc.
28
29[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
30
31Upstream-Status: Pending
32Signed-off-by: Khem Raj <raj.khem@gmail.com>
33Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
34---
35
36 core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
37 core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++----
38 core/arch/arm/mm/core_mmu_v7.c | 36 +++++++++++++++++++++++++++++---
39 core/kernel/thread.c | 13 +++++++++++-
40 core/mm/pgt_cache.c | 12 ++++++++++-
41 5 files changed, 104 insertions(+), 11 deletions(-)
42
43diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
44index 66833b3a0..b3eb9cf9a 100644
45--- a/core/arch/arm/kernel/thread.c
46+++ b/core/arch/arm/kernel/thread.c
47@@ -45,15 +45,30 @@ static size_t thread_user_kcode_size __nex_bss;
48 #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
49 defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
50 long thread_user_kdata_sp_offset __nex_bss;
51+#ifdef __clang__
52+#ifndef CFG_VIRTUALIZATION
53+#pragma clang section bss=".nozi.kdata_page"
54+#else
55+#pragma clang section bss=".nex_nozi.kdata_page"
56+#endif
57+#endif
58 static uint8_t thread_user_kdata_page[
59 ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
60 SMALL_PAGE_SIZE)]
61 __aligned(SMALL_PAGE_SIZE)
62+#ifndef __clang__
63 #ifndef CFG_NS_VIRTUALIZATION
64- __section(".nozi.kdata_page");
65+ __section(".nozi.kdata_page")
66 #else
67- __section(".nex_nozi.kdata_page");
68+ __section(".nex_nozi.kdata_page")
69 #endif
70+#endif
71+ ;
72+#endif
73+
74+/* reset BSS section to default ( .bss ) */
75+#ifdef __clang__
76+#pragma clang section bss=""
77 #endif
78
79 #ifdef ARM32
80diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
81index 4c8b85e39..1885e1d3f 100644
82--- a/core/arch/arm/mm/core_mmu_lpae.c
83+++ b/core/arch/arm/mm/core_mmu_lpae.c
84@@ -234,19 +234,46 @@ typedef uint16_t l1_idx_t;
85 typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
86 typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
87
88+#ifdef __clang__
89+#pragma clang section bss=".nozi.mmu.base_table"
90+#endif
91 static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
92 __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
93- __section(".nozi.mmu.base_table");
94+#ifndef __clang__
95+ __section(".nozi.mmu.base_table")
96+#endif
97+;
98+#ifdef __clang__
99+#pragma clang section bss=""
100+#endif
101
102+#ifdef __clang__
103+#pragma clang section bss=".nozi.mmu.l2"
104+#endif
105 static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
106- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
107+ __aligned(XLAT_TABLE_SIZE)
108+#ifndef __clang__
109+ __section(".nozi.mmu.l2")
110+#endif
111+;
112+#ifdef __clang__
113+#pragma clang section bss=""
114+#endif
115
116 #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
117
118+#ifdef __clang__
119+#pragma clang section bss=".nozi.mmu.l2"
120+#endif
121 /* MMU L2 table for TAs, one for each thread */
122 static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
123- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
124-
125+#ifndef __clang__
126+ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
127+#endif
128+;
129+#ifdef __clang__
130+#pragma clang section bss=""
131+#endif
132 /*
133 * TAs page table entry inside a level 1 page table.
134 *
135diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c
136index 61e703da8..1960c08ca 100644
137--- a/core/arch/arm/mm/core_mmu_v7.c
138+++ b/core/arch/arm/mm/core_mmu_v7.c
139@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES];
140 typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
141 typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
142
143+#ifdef __clang__
144+#pragma clang section bss=".nozi.mmu.l1"
145+#endif
146 static l1_xlat_tbl_t main_mmu_l1_ttb
147- __aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
148+ __aligned(L1_ALIGNMENT)
149+#ifndef __clang__
150+ __section(".nozi.mmu.l1")
151+#endif
152+;
153+#ifdef __clang__
154+#pragma clang section bss=""
155+#endif
156
157 /* L2 MMU tables */
158+#ifdef __clang__
159+#pragma clang section bss=".nozi.mmu.l2"
160+#endif
161 static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
162- __aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
163+ __aligned(L2_ALIGNMENT)
164+#ifndef __clang__
165+ __section(".nozi.mmu.l2")
166+#endif
167+;
168+#ifdef __clang__
169+#pragma clang section bss=""
170+#endif
171
172 /* MMU L1 table for TAs, one for each thread */
173+#ifdef __clang__
174+#pragma clang section bss=".nozi.mmu.ul1"
175+#endif
176 static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
177- __aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
178+ __aligned(UL1_ALIGNMENT)
179+#ifndef __clang__
180+ __section(".nozi.mmu.ul1")
181+#endif
182+;
183+#ifdef __clang__
184+#pragma clang section bss=""
185+#endif
186
187 struct mmu_partition {
188 l1_xlat_tbl_t *l1_table;
189diff --git a/core/kernel/thread.c b/core/kernel/thread.c
190index 2a1f22dce..5516b6771 100644
191--- a/core/kernel/thread.c
192+++ b/core/kernel/thread.c
193@@ -39,13 +39,24 @@ static uint32_t end_canary_value = 0xababab00;
194 name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
195 #endif
196
197+#define DO_PRAGMA(x) _Pragma (#x)
198+
199+#ifdef __clang__
200+#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
201+DO_PRAGMA (clang section bss=".nozi_stack." #name) \
202+linkage uint32_t name[num_stacks] \
203+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
204+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
205+ __attribute__((aligned(STACK_ALIGNMENT))); \
206+DO_PRAGMA(clang section bss="")
207+#else
208 #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
209 linkage uint32_t name[num_stacks] \
210 [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
211 STACK_ALIGNMENT) / sizeof(uint32_t)] \
212 __attribute__((section(".nozi_stack." # name), \
213 aligned(STACK_ALIGNMENT)))
214-
215+#endif
216 #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
217
218 DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE,
219diff --git a/core/mm/pgt_cache.c b/core/mm/pgt_cache.c
220index 79553c6d2..b9efdf427 100644
221--- a/core/mm/pgt_cache.c
222+++ b/core/mm/pgt_cache.c
223@@ -410,8 +410,18 @@ void pgt_init(void)
224 * has a large alignment, while .bss has a small alignment. The current
225 * link script is optimized for small alignment in .bss
226 */
227+#ifdef __clang__
228+#pragma clang section bss=".nozi.mmu.l2"
229+#endif
230 static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
231- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
232+ __aligned(PGT_SIZE)
233+#ifndef __clang__
234+ __section(".nozi.pgt_cache")
235+#endif
236+ ;
237+#ifdef __clang__
238+#pragma clang section bss=""
239+#endif
240 size_t n;
241
242 for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
243--
2442.43.2
245
diff --git a/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch b/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch
deleted file mode 100644
index 1c5753c7f..000000000
--- a/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch
+++ /dev/null
@@ -1,133 +0,0 @@
1From 6f738803a59613ec4a683ddbc1747ebffd75a4e6 Mon Sep 17 00:00:00 2001
2From: Jerome Forissier <jerome.forissier@linaro.org>
3Date: Tue, 23 Aug 2022 12:31:46 +0000
4Subject: [PATCH 3/4] arm32: libutils, libutee, ta: add .note.GNU-stack section
5 to
6
7 .S files
8
9When building for arm32 with GNU binutils 2.39, the linker outputs
10warnings when linking Trusted Applications:
11
12 arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
13 arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
14
15We could silence the warning by adding the '-z execstack' option to the
16TA link flags, like we did in the parent commit for the TEE core and
17ldelf. Indeed, ldelf always allocates a non-executable piece of memory
18for the TA to use as a stack.
19
20However it seems preferable to comply with the common ELF practices in
21this case. A better fix is therefore to add the missing .note.GNU-stack
22sections in the assembler files.
23
24Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
25
26Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
27Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
28Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
29---
30
31 lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
32 lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
33 lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
34 lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
35 lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
36 lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
37 ta/arch/arm/ta_entry_a32.S | 2 ++
38 7 files changed, 14 insertions(+)
39
40diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
41index 2dea83ab8..668b65a86 100644
42--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
43+++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
44@@ -9,6 +9,8 @@
45
46 .section .note.GNU-stack,"",%progbits
47
48+ .section .note.GNU-stack,"",%progbits
49+
50 .section .text
51 .balign 4
52 .code 32
53diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
54index 2be73ffad..87ddf1065 100644
55--- a/lib/libutils/ext/arch/arm/atomic_a32.S
56+++ b/lib/libutils/ext/arch/arm/atomic_a32.S
57@@ -7,6 +7,8 @@
58
59 .section .note.GNU-stack,"",%progbits
60
61+ .section .note.GNU-stack,"",%progbits
62+
63 /* uint32_t atomic_inc32(uint32_t *v); */
64 FUNC atomic_inc32 , :
65 ldrex r1, [r0]
66diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
67index 54dc3c02d..2f24632b8 100644
68--- a/lib/libutils/ext/arch/arm/mcount_a32.S
69+++ b/lib/libutils/ext/arch/arm/mcount_a32.S
70@@ -9,6 +9,8 @@
71
72 .section .note.GNU-stack,"",%progbits
73
74+ .section .note.GNU-stack,"",%progbits
75+
76 /*
77 * Convert return address to call site address by subtracting the size of the
78 * mcount call instruction (blx __gnu_mcount_nc).
79diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
80index 37ae9ec6f..bc6c48b1a 100644
81--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
82+++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
83@@ -7,6 +7,8 @@
84
85 .section .note.GNU-stack,"",%progbits
86
87+ .section .note.GNU-stack,"",%progbits
88+
89 /*
90 * signed ret_idivmod_values(signed quot, signed rem);
91 * return quotient and remaining the EABI way (regs r0,r1)
92diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
93index 5c3353e2c..9fb5e0283 100644
94--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
95+++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
96@@ -7,6 +7,8 @@
97
98 .section .note.GNU-stack,"",%progbits
99
100+ .section .note.GNU-stack,"",%progbits
101+
102 /*
103 * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
104 */
105diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
106index f8a0b70df..37d7cb88e 100644
107--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
108+++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
109@@ -53,6 +53,8 @@
110
111 .section .note.GNU-stack,"",%progbits
112
113+ .section .note.GNU-stack,"",%progbits
114+
115 /* Arm/Thumb interworking support:
116
117 The interworking scheme expects functions to use a BX instruction
118diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
119index cd9a12f9d..ccdc19928 100644
120--- a/ta/arch/arm/ta_entry_a32.S
121+++ b/ta/arch/arm/ta_entry_a32.S
122@@ -7,6 +7,8 @@
123
124 .section .note.GNU-stack,"",%progbits
125
126+ .section .note.GNU-stack,"",%progbits
127+
128 /*
129 * This function is the bottom of the user call stack. Mark it as such so that
130 * the unwinding code won't try to go further down.
131--
1322.43.2
133
diff --git a/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch b/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch
deleted file mode 100644
index f32b2284f..000000000
--- a/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From a63f82f74e015eb662242cdb51ef814e3f576829 Mon Sep 17 00:00:00 2001
2From: Jerome Forissier <jerome.forissier@linaro.org>
3Date: Fri, 5 Aug 2022 09:48:03 +0200
4Subject: [PATCH 4/4] core: link: add --no-warn-rwx-segments
5
6Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
7Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5474]
8
9binutils ld.bfd generates one RWX LOAD segment by merging several sections
10with mixed R/W/X attributes (.text, .rodata, .data). After version 2.38 it
11also warns by default when that happens [1], which breaks the build due to
12--fatal-warnings. The RWX segment is not a problem for the TEE core, since
13that information is not used to set memory permissions. Therefore, silence
14the warning.
15
16Link: [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
17Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448
18Reported-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
19Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
20Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
21Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
22---
23
24 core/arch/arm/kernel/link.mk | 6 ++++--
25 1 file changed, 4 insertions(+), 2 deletions(-)
26
27diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
28index 49e9f4fa1..9e1cc172f 100644
29--- a/core/arch/arm/kernel/link.mk
30+++ b/core/arch/arm/kernel/link.mk
31@@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment
32 link-ldflags += --fatal-warnings
33 link-ldflags += --gc-sections
34 link-ldflags += $(link-ldflags-common)
35+link-ldflags += $(call ld-option,--no-warn-rwx-segments)
36
37 link-ldadd = $(LDADD)
38 link-ldadd += $(ldflags-external)
39@@ -61,6 +62,7 @@ link-script-cppflags := \
40 $(cppflagscore))
41
42 ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
43+ $(call ld-option,--no-warn-rwx-segments) \
44 $(link-ldflags-common) \
45 $(link-objs) $(link-ldadd) $(libgcccore)
46 cleanfiles += $(link-out-dir)/all_objs.o
47@@ -75,7 +77,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
48 $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
49
50 unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
51- $(link-ldflags-common)
52+ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
53 unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
54 cleanfiles += $(link-out-dir)/unpaged.o
55 $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
56@@ -104,7 +106,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
57 $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
58
59 init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
60- $(link-ldflags-common)
61+ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
62 init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
63 $(libgcccore)
64 cleanfiles += $(link-out-dir)/init.o
65--
662.43.2
67
diff --git a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch b/recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch
index dbc53542e..067ba6ebf 100644
--- a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch
+++ b/recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch
@@ -1,7 +1,7 @@
1From 2ba573c9763329fbfdfacc8393d565ab747cac4d Mon Sep 17 00:00:00 2001 1From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001
2From: Brett Warren <brett.warren@arm.com> 2From: Brett Warren <brett.warren@arm.com>
3Date: Wed, 23 Sep 2020 09:27:34 +0100 3Date: Wed, 23 Sep 2020 09:27:34 +0100
4Subject: [PATCH 2/4] optee: enable clang support 4Subject: [PATCH] optee: enable clang support
5 5
6When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used 6When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
7to provide a sysroot wasn't included, which results in not locating 7to provide a sysroot wasn't included, which results in not locating
@@ -10,17 +10,16 @@ compiler-rt. This is mitigated by including the variable as ammended.
10Upstream-Status: Pending 10Upstream-Status: Pending
11ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 11ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
12Signed-off-by: Brett Warren <brett.warren@arm.com> 12Signed-off-by: Brett Warren <brett.warren@arm.com>
13Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
14---
15 13
14---
16 mk/clang.mk | 2 +- 15 mk/clang.mk | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
18 17
19diff --git a/mk/clang.mk b/mk/clang.mk 18diff --git a/mk/clang.mk b/mk/clang.mk
20index a045beee8..1ebe2f702 100644 19index c141a3f2..7d067cc0 100644
21--- a/mk/clang.mk 20--- a/mk/clang.mk
22+++ b/mk/clang.mk 21+++ b/mk/clang.mk
23@@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \ 22@@ -27,7 +27,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
24 23
25 # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of 24 # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
26 # libgcc for clang 25 # libgcc for clang
@@ -29,6 +28,3 @@ index a045beee8..1ebe2f702 100644
29 -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) 28 -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
30 29
31 # Core ASLR relies on the executable being ready to run from its preferred load 30 # Core ASLR relies on the executable being ready to run from its preferred load
32--
332.43.2
34
diff --git a/recipes-security/optee-imx/optee-os_4.2.0.imx.bb b/recipes-security/optee-imx/optee-os_4.2.0.imx.bb
deleted file mode 100644
index 96948bc7b..000000000
--- a/recipes-security/optee-imx/optee-os_4.2.0.imx.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1# Copyright 2017-2024 NXP
2
3require optee-os-fslc-imx.inc
4
5SRC_URI += " \
6 file://0001-core-Define-section-attributes-for-clang.patch \
7 file://0002-optee-enable-clang-support.patch \
8 file://0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch \
9 file://0004-core-link-add-no-warn-rwx-segments.patch \
10"
11SRCBRANCH = "lf-6.6.23_2.0.0"
12SRCREV = "c6be5b572452a2808d1a34588fd10e71715e23cf"
diff --git a/recipes-security/optee-imx/optee-os_4.4.0.imx.bb b/recipes-security/optee-imx/optee-os_4.4.0.imx.bb
new file mode 100644
index 000000000..dc6d3901d
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os_4.4.0.imx.bb
@@ -0,0 +1,6 @@
1# Copyright 2017-2024 NXP
2
3require optee-os-fslc-imx.inc
4
5SRCBRANCH = "lf-6.6.52_2.2.0"
6SRCREV = "60beb308810f9561a67fdb435388a64c85eb6dcb"
diff --git a/recipes-security/optee-imx/optee-test-fslc-imx.inc b/recipes-security/optee-imx/optee-test-fslc-imx.inc
new file mode 100644
index 000000000..ab16fd221
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test-fslc-imx.inc
@@ -0,0 +1,18 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-test-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-test-fslc.inc
5
6DEPENDS += "openssl"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-test:"
9
10SRC_URI:remove = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https"
11SRC_URI:prepend = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} "
12
13OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https"
14
15EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}"
16CFLAGS:append:libc-musl = " -Wno-error=deprecated-declarations"
17
18COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test-fslc.inc b/recipes-security/optee-imx/optee-test-fslc.inc
index e0c133a7c..ed64c87f8 100644
--- a/recipes-security/optee-imx/optee-test-fslc.inc
+++ b/recipes-security/optee-imx/optee-test-fslc.inc
@@ -1,38 +1,64 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-arm/recipes-security/optee/optee-test.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE sanity testsuite"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE test"
4LICENSE = "BSD-2-Clause & GPL-2.0-only" 8LICENSE = "BSD-2-Clause & GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" 9LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
6 10
11inherit python3native ptest
12inherit deploy
7require optee-fslc.inc 13require optee-fslc.inc
8 14
9DEPENDS += "optee-os optee-client openssl" 15DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl"
16
17SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \
18 file://run-ptest \
19 "
20
21B = "${WORKDIR}/build"
10 22
11EXTRA_OEMAKE += " \ 23EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
12 TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \ 24 OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR} \
13 CROSS_COMPILE_HOST=${HOST_PREFIX} \ 25 CROSS_COMPILE_HOST=${HOST_PREFIX} \
14 CROSS_COMPILE_TA=${HOST_PREFIX} \ 26 CROSS_COMPILE_TA=${HOST_PREFIX} \
15 CROSS_COMPILE=${HOST_PREFIX} \ 27 O=${B} \
16" 28 "
29
30CFLAGS += "-Wno-error=deprecated-declarations"
17 31
18do_compile() { 32do_compile() {
19 oe_runmake all 33 cd ${S}
34 # Top level makefile doesn't seem to handle parallel make gracefully
35 oe_runmake xtest
36 oe_runmake ta
37 oe_runmake test_plugin
20} 38}
21do_compile[cleandirs] = "${B}" 39do_compile[cleandirs] = "${B}"
22 40
23do_install () { 41do_install () {
24 install -d ${D}${bindir} 42 install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
25 install ${B}/xtest/xtest ${D}${bindir}
26 43
27 install -d ${D}${nonarch_base_libdir}/optee_armtz 44 # install path should match the value set in optee-client/tee-supplicant
28 find ${B}/ta -name '*.ta' | while read name; do 45 # default TEEC_LOAD_PATH is /lib
29 install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/ 46 mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
30 done 47 install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
48 mkdir -p ${D}${libdir}/tee-supplicant/plugins
49 install -D -p -m0444 ${B}/supp_plugin/*.plugin ${D}${libdir}/tee-supplicant/plugins/
50}
31 51
32 install -d ${D}${libdir}/tee-supplicant/plugins/ 52do_deploy () {
33 install ${B}/supp_plugin/*plugin ${D}${libdir}/tee-supplicant/plugins/ 53 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
54 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
34} 55}
35 56
36FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" 57addtask deploy before do_build after do_install
58
59FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ \
60 ${libdir}/tee-supplicant/plugins/ \
61 "
37 62
38RDEPENDS:${PN} = "optee-os" 63# Imports machine specific configs from staging to build
64PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-test/run-ptest b/recipes-security/optee-imx/optee-test/run-ptest
new file mode 100644
index 000000000..ba88c14d3
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test/run-ptest
@@ -0,0 +1,52 @@
1#!/bin/sh
2xtest | awk '
3
4 # Escapes the special characters in a string so that, when
5 # included in a regex, it represents a literal match
6 function regx_escape_literal(str, ret) {
7 ret = str
8 gsub(/[\[\]\^\$\.\*\?\+\{\}\\\(\)\|]/ , "\\\\&", str)
9 return str
10 }
11
12 # Returns the simple test formatted name
13 function name(n, ret) {
14 ret = n
15 gsub(/\./, " ", ret)
16 return ret
17 }
18
19 # Returns the simple test formatted result
20 function result(res) {
21 if(res ~ /OK/) {
22 return "PASS"
23 } else if(res ~ /FAILED/) {
24 return "FAIL"
25 }
26 }
27
28 function parse(name, description, has_subtests, result_line) {
29 has_subtests = 0
30
31 # Consume every line up to the result line
32 result_line = " " regx_escape_literal(name) " (OK|FAILED)"
33 do {
34 getline
35
36 # If this is a subtest (denoted by an "o" bullet) then subparse
37 if($0 ~ /^o /) {
38 parse($2, description " : " substr($0, index($0, $3)))
39 has_subtests = 1
40 }
41 } while ($0 !~ result_line)
42
43 # Only print the results for the deepest nested subtests
44 if(!has_subtests) {
45 print result($2) ": " name(name) " - " description
46 }
47 }
48
49 # Start parsing at the beginning of every test (denoted by a "*" bullet)
50 /^\* / { parse($2, substr($0, index($0, $3))) }
51
52'
diff --git a/recipes-security/optee-imx/optee-test_4.2.0.imx.bb b/recipes-security/optee-imx/optee-test_4.2.0.imx.bb
deleted file mode 100644
index aa8444fba..000000000
--- a/recipes-security/optee-imx/optee-test_4.2.0.imx.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1# Copyright 2017-2024 NXP
2
3require optee-test-fslc.inc
4
5SRC_URI = "git://github.com/nxp-imx/imx-optee-test.git;protocol=https;branch=${SRCBRANCH}"
6
7SRCBRANCH = "lf-6.6.23_2.0.0"
8SRCREV = "07682f1b1b41ec0bfa507286979b36ab8d344a96"
9
10COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test_4.4.0.imx.bb b/recipes-security/optee-imx/optee-test_4.4.0.imx.bb
new file mode 100644
index 000000000..b4ac12714
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test_4.4.0.imx.bb
@@ -0,0 +1,13 @@
1# Copyright 2017-2024 NXP
2
3require optee-test-fslc-imx.inc
4
5# The BSD and GPL license files are now included in the source
6# https://github.com/OP-TEE/optee_test/commit/a748f5fcd9ec8a574dc86a5aa56d05bc6ac174e7
7LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8fa504109e4cd7ea575bc49ea4be560 \
8 file://LICENSE-BSD;md5=dca16d6efa93b55d0fd662ae5cd6feeb \
9 file://LICENSE-GPL;md5=10e86b5d2a6cb0e2b9dcfdd26a9ac58d"
10
11
12SRCBRANCH = "lf-6.6.52_2.2.0"
13SRCREV = "dafc98ed8364d7281a9a7f0788dd0a2067844a59"
diff --git a/recipes-security/optee-qoriq/optee-client.nxp.inc b/recipes-security/optee-qoriq/optee-client.nxp.inc
index c3933a243..a7e51a29d 100644
--- a/recipes-security/optee-qoriq/optee-client.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-client.nxp.inc
@@ -13,7 +13,6 @@ SRCREV = "7c9c423d00e96bf51debd5fe10fd70dce83be5cc"
13FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:" 13FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
14SRC_URI += "file://tee-supplicant.service" 14SRC_URI += "file://tee-supplicant.service"
15 15
16S = "${WORKDIR}/git"
17B = "${WORKDIR}/build" 16B = "${WORKDIR}/build"
18 17
19OPTEE_ARCH ?= "arm32" 18OPTEE_ARCH ?= "arm32"
diff --git a/recipes-security/optee-qoriq/optee-os.nxp.inc b/recipes-security/optee-qoriq/optee-os.nxp.inc
index 5b90b937c..989da06d7 100644
--- a/recipes-security/optee-qoriq/optee-os.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-os.nxp.inc
@@ -12,7 +12,6 @@ DEPENDS = "python3-pycryptodome-native python3-pyelftools-native python3-pycrypt
12SRC_URI = "git://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1" 12SRC_URI = "git://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1"
13SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e" 13SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e"
14 14
15S = "${WORKDIR}/git"
16B = "${WORKDIR}/build.${PLATFORM_FLAVOR}" 15B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
17 16
18PLATFORM_FLAVOR ?= "${MACHINE}" 17PLATFORM_FLAVOR ?= "${MACHINE}"
diff --git a/recipes-security/optee-qoriq/optee-test.nxp.inc b/recipes-security/optee-qoriq/optee-test.nxp.inc
index 14a42ac5a..17108ff38 100644
--- a/recipes-security/optee-qoriq/optee-test.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-test.nxp.inc
@@ -12,7 +12,6 @@ inherit python3native cmake
12SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1" 12SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1"
13SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad" 13SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad"
14 14
15S = "${WORKDIR}/git"
16B = "${WORKDIR}/build" 15B = "${WORKDIR}/build"
17 16
18TA_DEV_KIT_DIR ?= "${STAGING_INCDIR}/optee/export-user_ta" 17TA_DEV_KIT_DIR ?= "${STAGING_INCDIR}/optee/export-user_ta"
diff --git a/recipes-security/smw/keyctl-caam_git.bb b/recipes-security/smw/keyctl-caam_git.bb
index 25a5f656a..66ff7ecb0 100644
--- a/recipes-security/smw/keyctl-caam_git.bb
+++ b/recipes-security/smw/keyctl-caam_git.bb
@@ -11,8 +11,6 @@ SRC_URI = "git://github.com/nxp-imx/keyctl_caam.git;protocol=https;branch=${SRCB
11 11
12SRCREV = "81dc06cdb9c4d0d4ba10459d85af9a8603774948" 12SRCREV = "81dc06cdb9c4d0d4ba10459d85af9a8603774948"
13 13
14S = "${WORKDIR}/git"
15
16TARGET_CC_ARCH += "${LDFLAGS}" 14TARGET_CC_ARCH += "${LDFLAGS}"
17 15
18do_install () { 16do_install () {
diff --git a/recipes-security/smw/smw_git.bb b/recipes-security/smw/smw_git.bb
index 3f77ad06b..dbb59d2f3 100644
--- a/recipes-security/smw/smw_git.bb
+++ b/recipes-security/smw/smw_git.bb
@@ -19,7 +19,7 @@ SRC_URI = "git://github.com/nxp-imx/imx-smw.git;protocol=https;branch=release/ve
19SRCREV_smw = "f0570b3e8cb5f68d54edc4f9dd7cb984f6f604ed" 19SRCREV_smw = "f0570b3e8cb5f68d54edc4f9dd7cb984f6f604ed"
20SRCREV_psa = "463cb95ada820bc6f758d50066cf8c0ed5cc3a02" 20SRCREV_psa = "463cb95ada820bc6f758d50066cf8c0ed5cc3a02"
21SRCREV_FORMAT = "smw_psa" 21SRCREV_FORMAT = "smw_psa"
22S = "${WORKDIR}/git/smw" 22S = "${UNPACKDIR}/git/smw"
23 23
24inherit cmake python3native 24inherit cmake python3native
25 25
@@ -35,7 +35,7 @@ OPTEE_OS_TA_EXPORT_DIR:aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64"
35OPTEE_OS_TA_EXPORT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32" 35OPTEE_OS_TA_EXPORT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32"
36 36
37# Needs to sign OPTEE TAs 37# Needs to sign OPTEE TAs
38export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules" 38export OPENSSL_MODULES = "${STAGING_LIBDIR_NATIVE}/ossl-modules"
39 39
40EXTRA_OECMAKE = " \ 40EXTRA_OECMAKE = " \
41 -DTA_DEV_KIT_ROOT=${OPTEE_OS_TA_EXPORT_DIR} \ 41 -DTA_DEV_KIT_ROOT=${OPTEE_OS_TA_EXPORT_DIR} \
diff --git a/recipes-support/opencv/opencv_4.6.0.imx.bb b/recipes-support/opencv/opencv_4.6.0.imx.bb
index 6d13d107a..8a0ca2c1f 100644
--- a/recipes-support/opencv/opencv_4.6.0.imx.bb
+++ b/recipes-support/opencv/opencv_4.6.0.imx.bb
@@ -47,12 +47,12 @@ IPP_MD5 = "${@ipp_md5sum(d)}"
47 47
48SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" 48SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
49SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \ 49SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \
50 git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=master;protocol=https \ 50 git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=master;protocol=https \
51 git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=git/ipp;name=ipp;protocol=https \ 51 git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/ipp;name=ipp;protocol=https \
52 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \ 52 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/boostdesc;name=boostdesc;protocol=https \
53 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \ 53 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vgg;name=vgg;protocol=https \
54 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \ 54 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/face;name=face;protocol=https \
55 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \ 55 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/wechat_qrcode;name=wechat-qrcode;protocol=https \
56 file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ 56 file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
57 file://0003-To-fix-errors-as-following.patch \ 57 file://0003-To-fix-errors-as-following.patch \
58 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ 58 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
@@ -64,11 +64,9 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol
64 " 64 "
65SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" 65SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
66 66
67S = "${WORKDIR}/git"
68
69# OpenCV wants to download more files during configure. We download these in 67# OpenCV wants to download more files during configure. We download these in
70# do_fetch and construct a source cache in the format it expects 68# do_fetch and construct a source cache in the format it expects
71OPENCV_DLDIR = "${WORKDIR}/downloads" 69OPENCV_DLDIR = "${UNPACKDIR}/downloads"
72 70
73do_unpack_extra() { 71do_unpack_extra() {
74 tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S} 72 tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S}
@@ -145,7 +143,7 @@ PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtu
145PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," 143PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
146PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," 144PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
147PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," 145PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
148PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," 146PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/_core/include,,python3-numpy,"
149PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," 147PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
150PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," 148PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
151PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,," 149PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
@@ -158,11 +156,11 @@ inherit pkgconfig cmake
158inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)} 156inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)}
159inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} 157inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
160 158
161export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" 159export PYTHON_CSPEC = "-I${STAGING_INCDIR}/${PYTHON_DIR}"
162export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" 160export PYTHON = "${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
163export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" 161export ORACLE_JAVA_HOME = "${STAGING_DIR_NATIVE}/usr/bin/java"
164export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" 162export JAVA_HOME = "${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
165export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" 163export ANT_DIR = "${STAGING_DIR_NATIVE}/usr/share/ant/"
166 164
167TARGET_CC_ARCH += "-I${S}/include " 165TARGET_CC_ARCH += "-I${S}/include "
168 166
@@ -268,7 +266,7 @@ SRCREV_opencv = "d3440df40a6e90cd1d2a1b729bcbc16aa4d42f5d"
268# Add opencv_extra 266# Add opencv_extra
269SRC_URI += " \ 267SRC_URI += " \
270 git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \ 268 git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \
271 file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \ 269 file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=${UNPACKDIR}/extra \
272" 270"
273SRCREV_FORMAT:append = "_extra" 271SRCREV_FORMAT:append = "_extra"
274SRCREV_extra = "936854e2b666853d6d0732a8eabc2d699f4fa3d8" 272SRCREV_extra = "936854e2b666853d6d0732a8eabc2d699f4fa3d8"
@@ -293,7 +291,7 @@ PACKAGECONFIG_OPENCL:mx8mnul-nxp-bsp = ""
293PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx," 291PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx,"
294PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native," 292PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native,"
295PACKAGECONFIG[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native," 293PACKAGECONFIG[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native,"
296PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF," 294PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${UNPACKDIR}/extra/testdata, -DINSTALL_TESTS=OFF,"
297PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx" 295PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx"
298 296
299# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6 297# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6
@@ -302,10 +300,12 @@ EXTRA_OECMAKE:append = " -DBUILD_opencv_cvv=OFF"
302 300
303do_install:append() { 301do_install:append() {
304 ln -sf opencv4/opencv2 ${D}${includedir}/opencv2 302 ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
305 install -d ${D}${datadir}/OpenCV/samples/data 303 if ${@bb.utils.contains('PACKAGECONFIG', 'samples', 'true', 'false', d)}; then
306 cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data 304 install -d ${D}${datadir}/OpenCV/samples/data
307 install -d ${D}${datadir}/OpenCV/samples/bin/ 305 cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data
308 cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/ 306 install -d ${D}${datadir}/OpenCV/samples/bin/
307 cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/
308 fi
309 if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then 309 if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then
310 cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/ 310 cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/
311 fi 311 fi
diff --git a/scripts/generate-license-file b/scripts/generate-license-file
new file mode 100755
index 000000000..02b45ab30
--- /dev/null
+++ b/scripts/generate-license-file
@@ -0,0 +1,20 @@
1#!/bin/bash
2
3export LC_ALL=C
4
5# Create or clear the LICENSE file
6echo "# License Information" > LICENSE
7echo "" >> LICENSE
8echo "This file lists all licenses used by recipes in the meta-freescale layer." >> LICENSE
9echo "" >> LICENSE
10
11# Find all .bb and .inc files and extract license information
12find . -type f \( -name "*.bb" -o -name "*.inc" \) | sort | while read -r file; do
13 # Extract the license line from each recipe file, if it exists
14 license_line=$(grep -i "^LICENSE" "$file")
15 if [ -n "$license_line" ]; then
16 echo "$file: $license_line" >> LICENSE
17 fi
18done
19
20echo "LICENSE file has been generated and updated with current recipe licenses."
diff --git a/wic/imx-imx-boot-bootpart.wks.in b/wic/imx-imx-boot-bootpart.wks.in
index 20af7a6ad..46a2a0a68 100644
--- a/wic/imx-imx-boot-bootpart.wks.in
+++ b/wic/imx-imx-boot-bootpart.wks.in
@@ -10,11 +10,11 @@
10# - ---------- -------------- -------------- 10# - ---------- -------------- --------------
11# ^ ^ ^ ^ ^ 11# ^ ^ ^ ^ ^
12# | | | | | 12# | | | | |
13# 0 | 8MiB 72MiB 72MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 13# 0 | 8MiB 264MiB 264MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
14# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual 14# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual
15# 15#
16part u-boot --source rawcopy --sourceparams="file=imx-boot.tagged" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK} 16part u-boot --source rawcopy --sourceparams="file=imx-boot.tagged" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK}
17part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 8192 --size 64 17part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 8192 --fixed-size 256
18part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192 18part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192
19 19
20bootloader --ptable msdos 20bootloader --ptable msdos