summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/update-license-file.yml47
-rw-r--r--EULA110
-rw-r--r--LICENSE175
-rw-r--r--classes/fsl-eula-unpack.bbclass12
-rw-r--r--classes/imx-boot-container.bbclass13
-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.conf96
-rw-r--r--conf/machine/include/imx-base.inc163
-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.bb14
-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.12.inc (renamed from recipes-bsp/atf/qoriq-atf-2.6.inc)7
-rw-r--r--recipes-bsp/atf/qoriq-atf-tools_2.12.bb (renamed from recipes-bsp/atf/qoriq-atf-tools_2.6.bb)0
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.12.bb (renamed from recipes-bsp/atf/qoriq-atf_2.6.bb)9
-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_0.1.2.bb43
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.bb42
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.28.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.24.inc)11
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.28.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)75
-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.28.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.12.bb (renamed from recipes-bsp/imx-atf/imx-atf_2.10.bb)17
-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.bb9
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_git.bb12
-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.2.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/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch32
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0002-appshell-cmake-bump-min-version-to-3.5.patch134
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0003-appshell-cmake-drop-deprecated-use-of-target_link_li.patch37
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0004-units-targets.cmake-fix-check-if-a-target-exists.patch51
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0005-units-cmake-fix-use-of-add_dependencies.patch36
-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.2.bb102
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb7
-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.bb12
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb (renamed from recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb)63
-rw-r--r--recipes-bsp/uefi/uefi_git.bb4
-rw-r--r--recipes-core/udev/udev-rules-imx/10-imx.rules3
-rw-r--r--recipes-core/udev/udev-rules-qoriq/73-fsl-dpaa-persistent-networking.rules9
-rw-r--r--recipes-core/udev/udev-rules-qoriq/74-ls1046a-xfi2-networking.rules4
-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.bb4
-rw-r--r--recipes-devtools/qemu/qemu.inc2
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch43
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst_git.bb12
-rw-r--r--recipes-devtools/utp-com/utp-com_git.bb2
-rw-r--r--recipes-devtools/uuu/uuu-bin_1.5.233.bb (renamed from recipes-devtools/uuu/uuu-bin_1.5.165.bb)17
-rw-r--r--recipes-devtools/uuu/uuu_git.bb6
-rw-r--r--recipes-downgrade/glslang/glslang/0001-generate-glslang-pkg-config.patch46
-rw-r--r--recipes-downgrade/glslang/glslang/0002-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch33
-rw-r--r--recipes-downgrade/glslang/glslang_1.3.275.0.imx.bb36
-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.bb4
-rw-r--r--recipes-dpaa2/aiopsl/aiopsl_git.bb2
-rw-r--r--recipes-dpaa2/dce/dce_git.bb6
-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/files/disable-manpage-generation.patch26
-rw-r--r--recipes-dpaa2/restool/restool_git.bb10
-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/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch113
-rw-r--r--recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch34
-rw-r--r--recipes-extended/jailhouse/jailhouse-imx_git.bb17
-rw-r--r--recipes-extended/libpkcs11/libpkcs11_git.bb4
-rw-r--r--recipes-extended/odp/odp.inc5
-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/README9
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb15
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_25.03.00.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_25.06.00.bb11
-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.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb3
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_25.03.00.bb13
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb26
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_25.03.00.bb19
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_25.06.00.bb11
-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.4.0.0.bb (renamed from recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.14.bb)22
-rw-r--r--recipes-graphics/imx-g2d/imx-g2d-samples_git.bb11
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.2.bb (renamed from recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.6.bb)14
-rw-r--r--recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb18
-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.inc34
-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.2-aarch32.bb9
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch64.bb9
-rw-r--r--recipes-graphics/libsdl2/libsdl2_%.bbappend3
-rw-r--r--recipes-graphics/mali/mali-imx.inc109
-rw-r--r--recipes-graphics/mali/mali-imx_r54.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.bbappend6
-rw-r--r--recipes-graphics/mesa/mesa/0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch47
-rw-r--r--recipes-graphics/mesa/mesa/0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch33
-rw-r--r--recipes-graphics/piglit/piglit/0001-tests-Fix-cl-test-Include-Directories-error-Error-0-.patch30
-rw-r--r--recipes-graphics/piglit/piglit/0002-cl-Add-mutually-exclusive-memory-flags-for-CL_MEM_KE.patch42
-rw-r--r--recipes-graphics/piglit/piglit_%.bbappend23
-rw-r--r--recipes-graphics/vulkan/vulkan-loader-1.3.275.0.imx/0001-LF-11869-change-mali-wsi-layer-activating-order.patch52
-rw-r--r--recipes-graphics/vulkan/vulkan-loader-1.4.328.1/0001-LF-11869-change-mali-wsi-layer-activating-order.patch49
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_%.bbappend10
-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.bbappend1
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.4.328.1.bbappend1
-rw-r--r--recipes-graphics/vulkan/vulkan-wsi-layer/0001-MGS-6801-ccc-vkmark-on-wayland.patch30
-rw-r--r--recipes-graphics/vulkan/vulkan-wsi-layer/0002-MGS-6823-nxp-Add-support-of-VK_COMPOSITE_ALPHA_OPAQU.patch243
-rw-r--r--recipes-graphics/vulkan/vulkan-wsi-layer/0003-Update-minimum-version-of-CMake.patch32
-rw-r--r--recipes-graphics/vulkan/vulkan-wsi-layer_git.bb54
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.41.imx.bb (renamed from recipes-graphics/wayland/wayland-protocols_1.32.imx.bb)12
-rw-r--r--recipes-graphics/wayland/weston_10.0.5.imx.bb9
-rw-r--r--recipes-graphics/wayland/weston_14.0.2.imx.bb (renamed from recipes-graphics/wayland/weston_12.0.4.imx.bb)43
-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.2.bb (renamed from recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb)14
-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.1.bb20
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.2.bb23
-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)36
-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)26
-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)16
-rw-r--r--recipes-kernel/linux/linux-qoriq.inc22
-rw-r--r--recipes-kernel/linux/linux-qoriq_5.10.bb8
-rw-r--r--recipes-kernel/linux/linux-qoriq_6.12.bb9
-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-devtools/0001-connect-has-a-different-signature-on-musl.patch2
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb (renamed from recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb)11
-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/ffmpeg-6.0.patch49
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.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.26.0.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.26.0.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.26.0.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.26.0.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.26.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb)5
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-Fix-missing-python_opt.patch47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb)11
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb)4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb)6
-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.26.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb)21
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch35
-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.bb34
-rw-r--r--recipes-multimedia/imx-codec/imx-codec_4.10.0.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.bb22
-rw-r--r--recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.2.bb25
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.8.0.bb (renamed from recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.4.0.bb)13
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.10.0.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-add-sys-time.h-for-gettim.patch29
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb18
-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
-rw-r--r--recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb41
-rw-r--r--recipes-multimedia/nxp-afe/nxp-afe_git.bb35
-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.inc16
-rw-r--r--recipes-security/optee-imx/optee-client-fslc.inc76
-rw-r--r--recipes-security/optee-imx/optee-client/0001-tee-supplicant-Fix-non-arch-service-unit-install-pat.patch35
-rw-r--r--recipes-security/optee-imx/optee-client/optee-udev.rules6
-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.6.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-fslc.inc52
-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.inc105
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc24
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit_4.6.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.6.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.inc69
-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.6.0.imx.bb13
-rw-r--r--recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb5
-rw-r--r--recipes-security/optee-qoriq/optee-client-qoriq_4.6.0.bb4
-rw-r--r--recipes-security/optee-qoriq/optee-client.nxp.inc59
-rw-r--r--recipes-security/optee-qoriq/optee-client/tee-supplicant.service11
-rw-r--r--recipes-security/optee-qoriq/optee-os-qoriq-tadevkit_4.6.0.bb24
-rw-r--r--recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb28
-rw-r--r--recipes-security/optee-qoriq/optee-os-qoriq_4.6.0.bb21
-rw-r--r--recipes-security/optee-qoriq/optee-os.nxp.inc87
-rw-r--r--recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb13
-rw-r--r--recipes-security/optee-qoriq/optee-test-qoriq_4.6.0.bb10
-rw-r--r--recipes-security/optee-qoriq/optee-test.nxp.inc66
-rw-r--r--recipes-security/smw/keyctl-caam_git.bb4
-rw-r--r--recipes-security/smw/smw_git.bb4
-rw-r--r--recipes-support/opencv/opencv_4.6.0.imx.bb44
-rwxr-xr-xscripts/generate-license-file20
-rw-r--r--wic/imx-imx-boot-bootpart.wks.in4
359 files changed, 6107 insertions, 4964 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..5a03801a9 100644
--- a/EULA
+++ b/EULA
@@ -1,4 +1,4 @@
1LA_OPT_NXP_Software_License v56 April 2024 1LA_OPT_NXP_Software_License v62 May 2025
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
@@ -157,6 +157,8 @@ of the Licensed Software to anyone other than NXP. You may advise NXP of any
157results obtained from your use of the Licensed Software, including any problems 157results obtained from your use of the Licensed Software, including any problems
158or suggested improvements thereof, and NXP retains the right to use such 158or suggested improvements thereof, and NXP retains the right to use such
159results and related information in any manner it deems appropriate. 159results and related information in any manner it deems appropriate.
1603.9. Licensee may not use the Licensed Software as data or training
161input to any artificial intelligence models or machine learning algorithms.
1604. OPEN SOURCE. Open source software included in the Licensed 1624. OPEN SOURCE. Open source software included in the Licensed
161Software is not licensed under the terms of this Agreement but is instead 163Software is not licensed under the terms of this Agreement but is instead
162licensed under the terms of the applicable open source license(s), such as the 164licensed under the terms of the applicable open source license(s), such as the
@@ -222,9 +224,10 @@ to you.
222disclaims any warranty for the Licensed Software. The Licensed Software is 224disclaims any warranty for the Licensed Software. The Licensed Software is
223provided "AS IS", without warranty of any kind, either express or implied, 225provided "AS IS", without warranty of any kind, either express or implied,
224including without limitation the implied warranties of merchantability, fitness 226including without limitation the implied warranties of merchantability, fitness
225for a particular purpose, or non-infringement. You assume the entire risk 227for a particular purpose, non-infringement, or any warranty that the Licensed
226arising out of the use or performance of the licensed software, or any systems 228Software is free from vulnerabilities. You assume the entire risk arising out
227you design using the licensed software (if any). 229of the use or performance of the licensed software, or any systems you design
230using the licensed software (if any).
22810. INDEMNITY. You agree to fully defend and indemnify NXP from all 23110. INDEMNITY. You agree to fully defend and indemnify NXP from all
229claims, liabilities, and costs (including reasonable attorney’s fees) related 232claims, liabilities, and costs (including reasonable attorney’s fees) related
230to (1) your use (including your subcontractor’s or distributee’s use, if 233to (1) your use (including your subcontractor’s or distributee’s use, if
@@ -242,21 +245,52 @@ 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 245WITH 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 246THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED
244SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED. 247SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
24512. EXPORT COMPLIANCE. Each party shall comply with all applicable 248
246export and import control laws and regulations including but not limited to the 24912. EXPORT COMPLIANCE.
247US Export Administration Regulation (including restrictions on certain military 25012.1 Each party shall comply with all applicable export and import control
248end uses and military end users as specified in Section 15 C.F.R. § 744.21 and 251laws and regulations including but not limited to the US Export Administration
249prohibited party lists issued by other federal governments), Catch-all 252Regulation (including restrictions on certain military end uses and military
250regulations and all national and international embargoes. Each party further 253end users as specified in Section 15 C.F.R. § 744.21 and prohibited party
251agrees that it will not knowingly transfer, divert, export or re-export, 254lists issued by other federal governments), Catch-all regulations and all
252directly or indirectly, any product, software, including software source code, 255national and international embargoes. Each party further agrees that it will
253or technology restricted by such regulations or by other applicable national 256not knowingly transfer, divert, export or re-export, directly or indirectly,
254regulations, received from the other party under this Agreement, or any direct 257any product, software, including software source code, or technology restricted
255product of such software or technical data to any person, firm, entity, country 258by such regulations or by other applicable national regulations, received from
256or destination to which such transfer, diversion, export or re-export is 259the other party under this Agreement, or any direct product of such software or
257restricted or prohibited, without obtaining prior written authorization from 260technical data to any person, firm, entity, country or destination to which
258the applicable competent government authorities to the extent required by those 261such transfer, diversion, export or re-export is restricted or prohibited,
259laws. 262without obtaining prior written authorization from the applicable competent
263government authorities to the extent required by those laws.
26412.2 Prohibition of Export to Russian Federation
265
266(a) With respect to activity that falls under the scope of Article 12g,
26712ga of Council Regulation (EU) No 833/2014, or Council Regulation (EU) No
268765/2006 (as the case requires), you (a) will not sell, export or re-export,
269directly or indirectly any item, and (b) will not sell, license or sublicense
270any intellectual property rights or trade secrets, to the Russian Federation or
271Belarus, or for use in the Russian Federation or Belarus.
272
273(b) You will ensure that the purpose of paragraph (a) above is not
274frustrated by any third parties further down the commercial chain, including by
275either resellers, sublicensees, or both.
276
277(c) You will set up and maintain an adequate monitoring mechanism to detect
278conduct by any third parties further down the commercial chain, including by
279either resellers, sublicensees, or both, that would frustrate the purpose of
280paragraph (a).
281
282(d) Any violation of paragraphs (a), (b) or (c) will constitute a material
283breach of this Agreement, and NXP will be entitled to seek appropriate
284remedies, including, but not limited to: (i) termination of these Terms; (ii)
285suspension of any of its business relationships with you, youraffiliates or
286both, until the breach of paragraph (a) above is remedied, and (iii) a plan to
287remedy the breach.
288
289(e) You will immediately inform NXP about any problems in applying
290paragraphs (a), (b) or (c), above, including any relevant activities by third
291parties that could frustrate the purpose of paragraph (a). You will make
292available to NXPinformation concerning compliance with the obligations under
293paragraphs (a), (b) and (c) within 2 weeks of the request for information.
26013. GOVERNMENT CONTRACT COMPLIANCE 29413. GOVERNMENT CONTRACT COMPLIANCE
26113.1. If you sell Authorized Systems directly to any government or public 29513.1. If you sell Authorized Systems directly to any government or public
262entity, including U.S., state, local, foreign or international governments or 296entity, including U.S., state, local, foreign or international governments or
@@ -403,7 +437,7 @@ directly from AGGIOS, Inc.
403 437
404Airbiquity Inc.: The Airbiquity software may only be used in object code and 438Airbiquity Inc.: The Airbiquity software may only be used in object code and
405Licensee may not sublicense the Airbiquity software to any third party. 439Licensee may not sublicense the Airbiquity software to any third party.
406Licensee’s license to use the Airbiquity software expires on June 30, 2024. 440Licensee’s license to use the Airbiquity software expires on June 30, 2026.
407 441
408Amazon: Use of the Amazon software constitutes your acceptance of the terms of 442Amazon: Use of the Amazon software constitutes your acceptance of the terms of
409the Amazon Program Materials License Agreement (including the AVS Component 443the Amazon Program Materials License Agreement (including the AVS Component
@@ -542,7 +576,7 @@ provide Fraunhofer your name and contact information.
542 576
543Future Technology Devices International Ltd.: Future Technology Devices 577Future Technology Devices International Ltd.: Future Technology Devices
544International software must be used consistent with the terms found here: 578International software must be used consistent with the terms found here:
545http://www.ftdichip.com/Drivers/FTDriverLicenceTerms.htm 579https://ftdichip.com/driver-licence-terms-details/
546 580
547Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is 581Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is
548limited to evaluation and demonstration only. Permitted distributions must be 582limited to evaluation and demonstration only. Permitted distributions must be
@@ -603,10 +637,17 @@ Licensed Software includes proprietary software of MindTree in source code
603format, Licensee may make modifications and create derivative works only to the 637format, Licensee may make modifications and create derivative works only to the
604extent necessary for debugging of the Licensed Software. 638extent necessary for debugging of the Licensed Software.
605 639
606MM SOLUTIONS AD: Use of MM SOLUTIONS AEC (Auto Exposure Control) and AWB (Auto 640MM SOLUTIONS EAD: Use of the following MM SOLUTIONS software is limited to use
607White Balance) software is limited to demonstration, testing, and evaluation 641in conjuncture with NXP Products that have the Imaging Subsystem Processor
608only. In no event may Licensee distribute or sublicense the MM SOLUTIONS 642(ISP) enabled (fusing configuration), as indicated in the applicable data
609software. Further rights must be obtained directly from MM SOLUTIONS. 643sheet: (i) MMS Tuning Tool; (ii) Camera Development Kit (uGuzzi); (iii) and
644additional Camera Software. For the purposes of this Agreement, “Camera
645Software” means: (a) AEC (Auto Exposure Control); (b) AWB (Auto White
646Balance), (c) Auto Focus; (d) Wide Dynamic Range; (e) LED Flicker Mitigation;
647and (f) Multi-Camera Harmonization. In no event may Licensee distribute or
648sublicense the MM SOLUTIONS software, unless otherwise licensed to do so by
649issuance of the distribution rights under Section 2.3 of the Agreement. Any
650further rights must be obtained directly from MM SOLUTIONS directly.
610 651
611MPEG LA: Use of MPEG LA audio or video codec technology is limited to 652MPEG LA: Use of MPEG LA audio or video codec technology is limited to
612evaluation and demonstration only. Permitted distributions must be similarly 653evaluation and demonstration only. Permitted distributions must be similarly
@@ -617,10 +658,19 @@ Licensee under any circumstance, even by a signed written amendment to this
617Agreement. 658Agreement.
618 659
619NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to 660NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to
620Intent, and Conversa may be used for evaluation or demonstration purposes only. 661Intent, and Conversa are subject to the terms of Section 2.2 only. Any
621Any commercial distribution rights are subject to a separate royalty agreement 662commercial distribution rights are subject to a separate royalty agreement
622obtained from NXP. 663obtained from NXP.
623 664
665Together with the voice communication algorithm Conversa Licensee may get a
666tuning tool from DevExpress and/or Lightning Chart in form of certain libraries
667noted as ([name].dll) (“Tool”). Conversa as well as the Tool may only be
668used by Licensee internally during testing, evaluation or product development
669solely for tuning purposes of Licensee’s products in connection with
670Conversa. Any use of Conversa or the Tool outside the scope of this license is
671strictly prohibited, distributing the Libraries in any form. Licensee may use
672Conversa in connection with its products only following the execution of a
673separate royalty agreement with NXP.
624NXP Wireless Charging Library: License to the Software is limited to use in 674NXP Wireless Charging Library: License to the Software is limited to use in
625inductive coupling or wireless charging applications 675inductive coupling or wireless charging applications
626 676
@@ -767,3 +817,9 @@ upon notice.
767 817
768Vivante: Distribution of Vivante software must be a part of, or embedded 818Vivante: Distribution of Vivante software must be a part of, or embedded
769within, Authorized Systems that include a Vivante Graphics Processing Unit. 819within, Authorized Systems that include a Vivante Graphics Processing Unit.
820
821Wittenstein: Your use of the SafeRTOS v9.x and Networking Stack, in object
822form, is limited to your internal testing, evaluation, feedback and development
823specifically for use with an NXP Product. Licensee’s license to use and
824supply the software to you expires on June 25, 2026. Further rights must be
825obtained directly from Wittenstein.
diff --git a/LICENSE b/LICENSE
index 17964fe56..f671872ae 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,12 +1,167 @@
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 = "BSD-3-Clause"
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.12.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.2.bb: LICENSE = "Proprietary"
13./recipes-bsp/firmware-imx/firmware-imx-8.28.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.12.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.2.bb: LICENSE = "Proprietary"
36./recipes-bsp/isp-imx/isp-imx_4.2.2.25.2.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_2025.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.233.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-or-later"
56./recipes-devtools/uuu/uuu_git.bb: LICENSE = "BSD-3-Clause"
57./recipes-downgrade/glslang/glslang_1.3.275.0.imx.bb: LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
58./recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb: LICENSE = "MIT"
59./recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
60./recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT"
61./recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
62./recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
63./recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT"
64./recipes-dpaa/eth-config/eth-config_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
65./recipes-dpaa/flib/flib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
66./recipes-dpaa/fm-ucode/fm-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
67./recipes-dpaa/fmlib/fmlib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
68./recipes-dpaa2/aiopsl/aiopsl_git.bb: LICENSE = "BSD-3-Clause"
69./recipes-dpaa2/dce/dce_git.bb: LICENSE = "BSD-3-Clause"
70./recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb: LICENSE = "BSD-3-Clause"
71./recipes-dpaa2/management-complex/management-complex_10.39.0.bb: LICENSE = "NXP-Binary-EULA"
72./recipes-dpaa2/restool/restool_git.bb: LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
73./recipes-dpaa2/spc/spc_git.bb: LICENSE = "MIT"
74./recipes-extended/crconf/crconf_git.bb: LICENSE = "GPL-2.0-only"
75./recipes-extended/dpdk/dpdk-20.11.inc: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
76./recipes-extended/dpdk/dpdk_19.11-20.12.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
77./recipes-extended/jailhouse/jailhouse-imx_git.bb: LICENSE = "GPL-2.0-only"
78./recipes-extended/libpkcs11/libpkcs11_git.bb: LICENSE = "GPL-2.0-only"
79./recipes-extended/merge-files/merge-files_1.0.bb: LICENSE = "MIT"
80./recipes-extended/odp/odp.inc: LICENSE = "BSD-3-Clause"
81./recipes-extended/ofp/ofp_git.bb: LICENSE = "BSD-3-Clause"
82./recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb: LICENSE = "BSD"
83./recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb: LICENSE = "BSD"
84./recipes-extended/secure-obj/secure-obj.inc: LICENSE = "BSD-3-Clause"
85./recipes-extended/skmm-ep/skmm-ep_git.bb: LICENSE = "BSD & GPL-2.0-only"
86./recipes-extended/testfloat/testfloat_2a.bb: LICENSE = "TestFloat"
87./recipes-extended/tsntool/tsntool_git.bb: LICENSE = "GPL-2.0-only"
88./recipes-fsl/images/fsl-image-mfgtool-initramfs.bb: LICENSE = "MIT"
89./recipes-fsl/mcore-demos/imx-mcore-demos.inc: LICENSE = "Proprietary"
90./recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb: LICENSE = "MIT"
91./recipes-graphics/drm/libdrm_2.4.123.imx.bb: LICENSE = "MIT"
92./recipes-graphics/imx-g2d/imx-dpu-g2d_2.4.0.0.bb: LICENSE = "Proprietary"
93./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause"
94./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.2.bb: LICENSE = "Proprietary"
95./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary"
96./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT"
97./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary"
98./recipes-graphics/mali/mali-imx_r54.0.bb: LICENSE = "Proprietary"
99./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT"
100./recipes-graphics/vulkan/vulkan-wsi-layer_git.bb: LICENSE = "MIT"
101./recipes-graphics/wayland/wayland-protocols_1.41.imx.bb: LICENSE = "MIT"
102./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT"
103./recipes-graphics/wayland/weston_14.0.2.imx.bb: LICENSE = "MIT"
104./recipes-graphics/xwayland/xwayland_24.1.6.imx.bb: LICENSE = "MIT"
105./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only"
106./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD"
107./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb: LICENSE = "GPL-2.0-only"
108./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.2.bb: LICENSE = "GPL-2.0-only"
109./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD"
110./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.2.bb: LICENSE = "GPL-2.0-only"
111./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later"
112./recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb: LICENSE = "GPL-2.0-only"
113./recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb: LICENSE = "GPL-2.0-only"
114./recipes-kernel/linux/linux-imx-headers_6.12.bb: LICENSE = "GPL-2.0-only"
115./recipes-kernel/linux/linux-imx.inc: LICENSE = "GPL-2.0-only"
116./recipes-kernel/linux/linux-qoriq.inc: LICENSE = "GPL-2.0-only"
117./recipes-kernel/skmm-host/skmm-host_git.bb: LICENSE = "BSD & GPL-2.0-or-later"
118./recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb: LICENSE = "Apache-2.0"
119./recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb: LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-3-Clause"
120./recipes-multimedia/alsa/imx-alsa-plugins_git.bb: LICENSE = "GPL-2.0-only"
121./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"
122LICENSE:${PN} = "GPL-2.0-or-later"
123LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
124LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
125LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
126LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
127LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
128LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
129LICENSE:libpostproc = "GPL-2.0-or-later"
130LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
131LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
132LICENSE_FLAGS = "commercial"
133./recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
134./recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb: LICENSE = "LGPL-2.0-or-later"
135./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.imx.bb: LICENSE_FLAGS = "commercial"
136LICENSE = "LGPL-2.1-or-later"
137./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
138./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
139./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
140./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later"
141./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
142LICENSE_FLAGS = "commercial"
143./recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
144./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
145./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
146./recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
147./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
148./recipes-multimedia/imx-codec/imx-codec_4.10.0.bb: LICENSE = "Proprietary"
149./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary"
150./recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb: LICENSE = "Proprietary"
151./recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.2.bb: LICENSE = "Proprietary"
152./recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.8.0.bb: LICENSE = "Proprietary"
153./recipes-multimedia/imx-parser/imx-parser_4.10.0.bb: LICENSE = "Proprietary"
154./recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb: LICENSE = "Proprietary"
155./recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb: LICENSE = "Proprietary"
156./recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb: LICENSE = "LGPL-2.1-only"
157./recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb: LICENSE = "LGPL-2.1-only"
158./recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb: LICENSE = "Proprietary"
159./recipes-multimedia/nxp-afe/nxp-afe_git.bb: LICENSE = "BSD-3-Clause"
160./recipes-multimedia/tinycompress/tinycompress_1.2.5.bb: LICENSE = "LGPL-2.1-only | BSD-3-Clause"
161./recipes-security/optee-imx/optee-client-fslc.inc: LICENSE = "BSD-2-Clause"
162./recipes-security/optee-imx/optee-os-fslc.inc: LICENSE = "BSD-2-Clause"
163./recipes-security/optee-imx/optee-test-fslc.inc: LICENSE = "BSD-2-Clause & GPL-2.0-only"
164./recipes-security/smw/keyctl-caam_git.bb: LICENSE = "BSD-3-Clause"
165./recipes-security/smw/smw_git.bb: LICENSE = "BSD-3-Clause"
166LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
167./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..f8861cd14 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -60,6 +60,10 @@ 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"
65FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V60 = "cf2070b16b9d4acf60a98e8cbc32a25a"
66FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V62 = "a93b654673e1bc8398ed1f30e0813359"
63 67
64FSL_EULA_FILE_MD5SUMS = " \ 68FSL_EULA_FILE_MD5SUMS = " \
65 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \ 69 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
@@ -116,11 +120,15 @@ FSL_EULA_FILE_MD5SUMS = " \
116 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \ 120 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \
117 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \ 121 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \
118 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \ 122 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \
123 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57} \
124 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58} \
125 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V60} \
126 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V62} \
119" 127"
120 128
121# The checksum for the EULA in the layer 129# The checksum for the EULA in the layer
122FSL_EULA_FILE_MD5SUM ?= \ 130FSL_EULA_FILE_MD5SUM ?= \
123 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56}" 131 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V62}"
124 132
125LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" 133LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
126LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" 134LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
@@ -162,7 +170,7 @@ python fsl_bin_do_unpack() {
162 170
163 localdata = bb.data.createCopy(d) 171 localdata = bb.data.createCopy(d)
164 172
165 rootdir = localdata.getVar('WORKDIR', True) 173 rootdir = localdata.getVar('UNPACKDIR', True)
166 fetcher = bb.fetch2.Fetch(src_uri, localdata) 174 fetcher = bb.fetch2.Fetch(src_uri, localdata)
167 175
168 found = 0 176 found = 0
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass
index b0d3dc1fb..7c9f34927 100644
--- a/classes/imx-boot-container.bbclass
+++ b/classes/imx-boot-container.bbclass
@@ -52,17 +52,21 @@ do_resolve_and_populate_binaries() {
52 for config in ${UBOOT_MACHINE}; do 52 for config in ${UBOOT_MACHINE}; do
53 i=$(expr $i + 1); 53 i=$(expr $i + 1);
54 for type in ${UBOOT_CONFIG}; do 54 for type in ${UBOOT_CONFIG}; do
55 builddir="${config}-${type}"
55 j=$(expr $j + 1); 56 j=$(expr $j + 1);
56 if [ $j -eq $i ]; then 57 if [ $j -eq $i ]; then
57 for firmware in ${IMX_BOOT_CONTAINER_FIRMWARE}; do 58 for firmware in ${IMX_BOOT_CONTAINER_FIRMWARE}; do
58 bbnote "Copy firmware: ${firmware} from ${DEPLOY_DIR_IMAGE} -> ${B}/${config}/" 59 bbnote "Copy firmware: ${firmware} from ${DEPLOY_DIR_IMAGE} -> ${B}/${builddir}/"
59 cp ${DEPLOY_DIR_IMAGE}/${firmware} ${B}/${config}/ 60 cp ${DEPLOY_DIR_IMAGE}/${firmware} ${B}/${builddir}/
60 done 61 done
61 if [ -n "${ATF_MACHINE_NAME}" ]; then 62 if [ -n "${ATF_MACHINE_NAME}" ]; then
62 cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${B}/${config}/bl31.bin 63 cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${B}/${builddir}/bl31.bin
63 else 64 else
64 bberror "ATF binary is undefined, result binary would be unusable!" 65 bberror "ATF binary is undefined, result binary would be unusable!"
65 fi 66 fi
67 if [ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '1' , '0' , d)}" = "1" ] ; then
68 cp ${DEPLOY_DIR_IMAGE}/${OPTEE_BOOT_IMAGE} ${B}/${builddir}/
69 fi
66 fi 70 fi
67 done 71 done
68 unset j 72 unset j
@@ -87,10 +91,11 @@ do_deploy:append() {
87 for config in ${UBOOT_MACHINE}; do 91 for config in ${UBOOT_MACHINE}; do
88 i=$(expr $i + 1); 92 i=$(expr $i + 1);
89 for type in ${UBOOT_CONFIG}; do 93 for type in ${UBOOT_CONFIG}; do
94 builddir="${config}-${type}"
90 j=$(expr $j + 1); 95 j=$(expr $j + 1);
91 if [ $j -eq $i ] 96 if [ $j -eq $i ]
92 then 97 then
93 install -m 0644 ${B}/${config}/flash.bin ${DEPLOYDIR}/flash.bin-${MACHINE}-${type} 98 install -m 0644 ${B}/${builddir}/flash.bin ${DEPLOYDIR}/flash.bin-${MACHINE}-${type}
94 # When there's more than one word in UBOOT_CONFIG, 99 # When there's more than one word in UBOOT_CONFIG,
95 # the first UBOOT_CONFIG listed will be the imx-boot binary 100 # the first UBOOT_CONFIG listed will be the imx-boot binary
96 if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then 101 if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then
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..5ae9ac665
--- /dev/null
+++ b/conf/machine/imx95-19x19-verdin.conf
@@ -0,0 +1,96 @@
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
11# iMX95 Verdin EVK V1.1E is the first revision with a B0 SoC,
12# older versions require A0/A1 support, set with the below variable
13#IMX_SOC_REV:${MACHINE} = "A0"
14# When building for A0/A1 iMX95 SoCs, set OEI_DDRCONFIG accordingly
15OEI_DDRCONFIG = "${@'XIMX95LPD5EVK19_6400mbps_train_timing_a1' if d.getVar('IMX_SOC_REV')[0] == 'A' else ''}"
16
17KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin"
18
19KERNEL_DEVICETREE:append:use-nxp-bsp = " \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535.dtbo \
22 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535-ap1302.dtb \
23 freescale/${KERNEL_DEVICETREE_BASENAME}-ap1302.dtb \
24 freescale/${KERNEL_DEVICETREE_BASENAME}-ap1302.dtbo \
25 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
26 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912.dtb \
27 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912.dtbo \
28 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912-ap1302.dtb \
29 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc.dtb \
30 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc.dtbo \
31 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc-ap1302.dtb \
32 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20.dtb \
33 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20.dtbo \
34 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20-combo.dtb \
35 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20-isp-lt8912.dtb \
36 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10.dtb \
37 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10.dtbo \
38 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10-isp-lt8912.dtb \
39 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s.dtb \
40 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s.dtbo \
41 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-combo.dtb \
42 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-isp-lt8912.dtb \
43 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-isp-lvds-dual.dtb \
44 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-dsi.dtb \
45 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-dsi.dtbo \
46 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-lvds.dtb \
47 freescale/${KERNEL_DEVICETREE_BASENAME}-rm692c9.dtb \
48 freescale/${KERNEL_DEVICETREE_BASENAME}-rm692c9.dtbo \
49 freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
50 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
51 freescale/${KERNEL_DEVICETREE_BASENAME}-ti-serdes.dtb \
52 freescale/${KERNEL_DEVICETREE_BASENAME}-ti-serdes.dtbo \
53"
54
55UBOOT_CONFIG_BASENAME = "imx95_19x19_verdin"
56
57UBOOT_CONFIG ??= "sd"
58UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig"
59UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
60
61IMXBOOT_TARGETS = "flash_a55"
62
63IMXBOOT_TARGETS_BASENAME = "flash"
64OEI_BOARD = "mx95lp5"
65DDR_TYPE = "lpddr5"
66
67LPDDR_FW_VERSION = "_v202409"
68DDR_FIRMWARE_NAME = " \
69 lpddr5_dmem${LPDDR_FW_VERSION}.bin \
70 lpddr5_dmem_qb${LPDDR_FW_VERSION}.bin \
71 lpddr5_imem${LPDDR_FW_VERSION}.bin \
72 lpddr5_imem_qb${LPDDR_FW_VERSION}.bin \
73"
74
75IMXBOOT_VARIANT = ""
76M4_DEFAULT_IMAGE_MX95:imx-nxp-bsp = "imx95-verdin-evk_m7_TCM_power_mode_switch.bin"
77
78WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
79IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
80 mcore-demos/imx95-verdin-evk_m7_TCM_power_mode_switch.bin \
81 mcore-demos/imx95-verdin-evk_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
82 mcore-demos/imx95-verdin-evk_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
83 mcore-demos/imx95-verdin-evk_m7_TCM_sai_low_power_audio.bin \
84 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'xen', '', d)} \
85"
86
87#IMXBOOT_VARIANT = ""
88
89# The System Manager Firmware Name corresponds to a particular binary implementation
90# in the Yocto deploy folder. The name is comprised of the Firmware Basename and the
91# default system manager Config name, e.g., m33_image-mx95evk.bin and
92# m33_image-mx95evk_fusa.bin for the standard BSP version and FuSa version, respectively
93# The System Manager Firmware Basename is an alias used by imx-boot instead of using
94# a unique name for each implementation, e.g., m33_image.bin for i.MX 95
95SYSTEM_MANAGER_FIRMWARE_BASENAME ?= "m33_image"
96SYSTEM_MANAGER_FIRMWARE_NAME ?= "m33_image-mx95evk"
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index b127cee45..19584fa36 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
@@ -181,6 +185,7 @@ IMX_SOC_REV:mx8ulp-generic-bsp ??= \
181 "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \ 185 "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \
182 'A2', d)}" 186 'A2', d)}"
183IMX_SOC_REV:mx93-generic-bsp ??= "A1" 187IMX_SOC_REV:mx93-generic-bsp ??= "A1"
188IMX_SOC_REV:mx95-generic-bsp ??= "B0"
184 189
185IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}" 190IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}"
186IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}" 191IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
@@ -189,12 +194,12 @@ IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
189### NXP BSP specific overrides 194### NXP BSP specific overrides
190####### 195#######
191 196
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" 197MACHINEOVERRIDES_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" 198MACHINEOVERRIDES_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 199
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" 200MACHINEOVERRIDES_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 201
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" 202MACHINEOVERRIDES_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" 203MACHINEOVERRIDES_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 204
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" 205MACHINEOVERRIDES_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 +207,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" 207MACHINEOVERRIDES_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 208
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" 209MACHINEOVERRIDES_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" 210MACHINEOVERRIDES_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 211
207MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp" 212MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp"
208 213
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" 214MACHINEOVERRIDES_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 215
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" 216MACHINEOVERRIDES_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" 217MACHINEOVERRIDES_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" 218MACHINEOVERRIDES_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" 219MACHINEOVERRIDES_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" 220MACHINEOVERRIDES_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 221
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" 222MACHINEOVERRIDES_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" 223MACHINEOVERRIDES_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" 224MACHINEOVERRIDES_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 225
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" 226MACHINEOVERRIDES_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 227
228MACHINEOVERRIDES_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" 229MACHINEOVERRIDES_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"
230MACHINEOVERRIDES_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 231
225####### 232#######
226### Mainline BSP specific overrides 233### Mainline BSP specific overrides
@@ -263,7 +270,9 @@ MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
263 270
264MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp" 271MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp"
265 272
273MACHINEOVERRIDES_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" 274MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp"
275MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-mainline-bsp"
267 276
268MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ 277MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
269 mx6 \ 278 mx6 \
@@ -294,7 +303,9 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
294 mx8dx \ 303 mx8dx \
295 mx8dxl \ 304 mx8dxl \
296 mx8ulp \ 305 mx8ulp \
306 mx91 \
297 mx93 \ 307 mx93 \
308 mx95 \
298" 309"
299 310
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'." 311MACHINEOVERRIDES_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 +316,7 @@ MACHINE_SOCARCH_SUFFIX:mx6q-nxp-bsp = "-mx6qdl"
305MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl" 316MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl"
306MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx" 317MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx"
307MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl" 318MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl"
308MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp= "-mx6sll" 319MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp = "-mx6sll"
309MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d" 320MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d"
310MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp" 321MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp"
311MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf" 322MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf"
@@ -322,7 +333,9 @@ MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
322MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8" 333MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
323MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl" 334MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
324MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp" 335MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
336MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91"
325MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93" 337MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
338MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95"
326 339
327# For Mainline we use a single SoC suffix as we don't have different build options 340# For Mainline we use a single SoC suffix as we don't have different build options
328MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx" 341MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx"
@@ -349,7 +362,7 @@ MACHINE_SOCARCH_FILTER:append:imxgpu = " \
349 virtual/egl \ 362 virtual/egl \
350 virtual/libopenvg \ 363 virtual/libopenvg \
351 virtual/mesa \ 364 virtual/mesa \
352 virtual/opencl-icd \ 365 virtual/libopencl1 \
353 libdrm \ 366 libdrm \
354 cairo \ 367 cairo \
355 libgal-imx \ 368 libgal-imx \
@@ -399,7 +412,11 @@ IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware
399IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files" 412IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
400IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" 413IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
401IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx" 414IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx"
415IMX_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" 416IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
417PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager"
418PREFERRED_PROVIDER_virtual/imx-oei ??= "imx-oei"
419IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei"
403 420
404# Firmware 421# Firmware
405MACHINE_FIRMWARE ?= "" 422MACHINE_FIRMWARE ?= ""
@@ -420,6 +437,7 @@ MACHINE_FIRMWARE:append:mx8mp-generic-bsp = " linux-firmware-imx-sdma-imx7d f
420MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d" 437MACHINE_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" 438MACHINE_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" 439MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
440MACHINE_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" 441MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
424 442
425MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}" 443MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
@@ -510,28 +528,20 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
510MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" 528MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
511 529
512# GStreamer forked recipes 530# GStreamer forked recipes
513PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.0.imx" 531PREFERRED_VERSION_gstreamer1.0:imx-nxp-bsp ??= "1.26.0.imx"
514PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.0.imx" 532PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-nxp-bsp ??= "1.26.0.imx"
515PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.0.imx" 533PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-nxp-bsp ??= "1.26.0.imx"
516PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.0.imx" 534PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-nxp-bsp ??= "1.26.0.imx"
517PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.0.imx" 535
518PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.0.imx"
519PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.0.imx"
520PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.0.imx"
521 536
522# GStreamer copied recipes 537# GStreamer copied recipes
523PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx" 538PREFERRED_VERSION_gst-devtools:imx-nxp-bsp ??= "1.26.0.imx"
524PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.0.imx" 539PREFERRED_VERSION_gst-examples:imx-nxp-bsp ??= "1.24.7.imx"
525PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx" 540PREFERRED_VERSION_gstreamer1.0-libav:imx-nxp-bsp ??= "1.26.0.imx"
526PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx" 541PREFERRED_VERSION_gstreamer1.0-plugins-ugly:imx-nxp-bsp ??= "1.26.0.imx"
527PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx" 542PREFERRED_VERSION_gstreamer1.0-python:imx-nxp-bsp ??= "1.26.0.imx"
528PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx" 543PREFERRED_VERSION_gstreamer1.0-rtsp-server:imx-nxp-bsp ??= "1.26.0.imx"
529PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx" 544PREFERRED_VERSION_gstreamer1.0-vaapi:imx-nxp-bsp ??= "1.26.0.imx"
530PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.0.imx"
531PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx"
532PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx"
533PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx"
534PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.24.0.imx"
535 545
536# GStreamer downgrade ffmpeg 546# GStreamer downgrade ffmpeg
537PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" 547PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
@@ -546,61 +556,66 @@ SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
546# 1 - machine has Vivante GPU driver support 556# 1 - machine has Vivante GPU driver support
547MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" 557MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}"
548 558
549# Graphics libraries 559# Override graphics for i.MX GPU
550PREFERRED_PROVIDER_virtual/egl ?= "mesa" 560IMXGPU_GRAPHICS_PROVIDER:imxviv ?= "imx-gpu-viv"
551PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 561IMXGPU_GRAPHICS_PROVIDER:imxmali ?= "mali-imx"
552PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 562
553PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 563PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "${IMXGPU_GRAPHICS_PROVIDER}"
554 564PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
555PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "imx-gpu-viv" 565PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl"
556PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl" 566PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
557PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl" 567PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
558PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "imx-gpu-viv" 568PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
559PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv" 569
560PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv" 570# The Vivante OpenCL implementation doesn't work with the standard headers and loader
561PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" 571PREFERRED_PROVIDER_opencl-clhpp:imxviv ?= "imx-gpu-viv"
562PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d" 572PREFERRED_PROVIDER_opencl-headers:imxviv ?= "imx-gpu-viv"
573PREFERRED_PROVIDER_opencl-icd-loader:imxviv ?= "imx-gpu-viv"
574PREFERRED_PROVIDER_virtual/libopencl1:imxviv ?= "imx-gpu-viv"
575
576PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
577PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
563PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" 578PREFERRED_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 579
569PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.4.imx" 580# Set preferred Vulkan ICD runtime
581PREFERRED_RPROVIDER_virtual-vulkan-icd ?= "mesa"
582PREFERRED_RPROVIDER_virtual-vulkan-icd:imxviv ?= "libvulkan-imx"
583PREFERRED_RPROVIDER_virtual-vulkan-icd:imxmali ?= "mali-imx-libvulkan"
584
585PREFERRED_VERSION_weston:imx-nxp-bsp ??= "14.0.2.imx"
570# i.MX 6 & 7 stay on weston 10.0 for fbdev 586# i.MX 6 & 7 stay on weston 10.0 for fbdev
571PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx" 587PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx"
572PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx" 588PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx"
573PREFERRED_VERSION_weston:imx-mainline-bsp = "" 589PREFERRED_VERSION_weston:imx-mainline-bsp = ""
574 590
575PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.32.imx" 591PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.41.imx"
576 592
577PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx" 593PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "24.1.6.imx"
578 594
579# Use i.MX libdrm Version 595# Use i.MX libdrm Version
580PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.116.imx" 596PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.123.imx"
581 597
582PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.261.1.imx" 598PREFERRED_VERSION_glslang:imxvulkan ??= "1.3.275.0.imx"
583PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.261.1.imx" 599PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.275.0.imx"
584PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.261.1.imx" 600PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.275.0.imx"
585PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.261.1.imx" 601PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.275.0.imx"
586PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.261.1.imx" 602PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.275.0.imx"
587PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.261.1.imx" 603PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.275.0.imx"
604PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx"
588 605
589# Use i.MX optee Version 606# Use i.MX optee Version
590PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.2.0.imx" 607PREFERRED_VERSION_optee-os:imx-nxp-bsp ??= "4.6.0.imx"
591PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.2.0.imx" 608PREFERRED_VERSION_optee-client:imx-nxp-bsp ??= "4.6.0.imx"
592PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.2.0.imx" 609PREFERRED_VERSION_optee-test:imx-nxp-bsp ??= "4.6.0.imx"
593PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.2.0.imx" 610PREFERRED_VERSION_optee-os-tadevkit:imx-nxp-bsp ??= "4.6.0.imx"
594PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.2.0.imx"
595PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.2.0.imx"
596 611
597# Use i.MX opencv Version 612# Use i.MX opencv Version
598PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" 613PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx"
599PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx" 614PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx"
600 615
601# Handle default kernel 616# Handle default kernel
602IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc" 617IMX_DEFAULT_KERNEL:imx-mainline-bsp ??= "linux-fslc"
603IMX_DEFAULT_KERNEL:imx-nxp-bsp = "linux-fslc-imx" 618IMX_DEFAULT_KERNEL:imx-nxp-bsp ??= "linux-fslc-imx"
604 619
605PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}" 620PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
606 621
@@ -619,7 +634,7 @@ IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
619 634
620IMAGE_BOOT_FILES ?= " \ 635IMAGE_BOOT_FILES ?= " \
621 ${KERNEL_IMAGETYPE} \ 636 ${KERNEL_IMAGETYPE} \
622 ${@make_dtb_boot_files(d)} \ 637 ${@bb.utils.contains('KERNEL_IMAGETYPE', 'fitImage', '', '${@make_dtb_boot_files(d)}', d)} \
623 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \ 638 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \
624" 639"
625 640
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..33ec90349 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
@@ -1,7 +1,7 @@
1SUMMARY = "i.MX Optional Execution Image" 1SUMMARY = "i.MX Optional Execution Image"
2 2
3LICENSE = "GPL-2.0-only" 3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=59530bdf33659b29e73d4adb9f9f6552" 4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619"
5 5
6INHIBIT_DEFAULT_DEPS = "1" 6INHIBIT_DEFAULT_DEPS = "1"
7DEPENDS = "gcc-arm-none-eabi-native" 7DEPENDS = "gcc-arm-none-eabi-native"
@@ -9,9 +9,7 @@ DEPENDS = "gcc-arm-none-eabi-native"
9SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}" 9SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}"
10IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https" 10IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https"
11SRCBRANCH = "master" 11SRCBRANCH = "master"
12SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678" 12SRCREV = "ca91ce798b2f3a2a0bab8c0f835f4bea88c9b080"
13
14S = "${WORKDIR}/git"
15 13
16inherit deploy 14inherit deploy
17 15
@@ -21,6 +19,7 @@ OEI_CONFIGS ?= "UNDEFINED"
21OEI_CORE ?= "UNDEFINED" 19OEI_CORE ?= "UNDEFINED"
22OEI_SOC ?= "UNDEFINED" 20OEI_SOC ?= "UNDEFINED"
23OEI_BOARD ?= "UNDEFINED" 21OEI_BOARD ?= "UNDEFINED"
22OEI_DDRCONFIG ?= ""
24 23
25LDFLAGS[unexport] = "1" 24LDFLAGS[unexport] = "1"
26 25
@@ -29,6 +28,9 @@ EXTRA_OEMAKE = "\
29 DEBUG=1 \ 28 DEBUG=1 \
30 OEI_CROSS_COMPILE=arm-none-eabi-" 29 OEI_CROSS_COMPILE=arm-none-eabi-"
31 30
31EXTRA_OEMAKE:append:mx95-generic-bsp = " r=${IMX_SOC_REV}"
32EXTRA_OEMAKE:append = " ${@' DDR_CONFIG=${OEI_DDRCONFIG}' if d.getVar('OEI_DDRCONFIG') else ''}"
33
32do_configure() { 34do_configure() {
33 for oei_config in ${OEI_CONFIGS}; do 35 for oei_config in ${OEI_CONFIGS}; do
34 oe_runmake clean oei=$oei_config 36 oe_runmake clean oei=$oei_config
@@ -56,4 +58,6 @@ do_deploy() {
56FILES:${PN} = "/firmware" 58FILES:${PN} = "/firmware"
57SYSROOT_DIRS += "/firmware" 59SYSROOT_DIRS += "/firmware"
58 60
61PROVIDES += "virtual/imx-oei"
62
59COMPATIBLE_MACHINE = "(mx95-generic-bsp)" 63COMPATIBLE_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..1d23a22cd
--- /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=1 \
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.12.inc
index d5ef5e75e..a025401e0 100644
--- a/recipes-bsp/atf/qoriq-atf-2.6.inc
+++ b/recipes-bsp/atf/qoriq-atf-2.12.inc
@@ -3,10 +3,7 @@ DESCRIPTION = "ARM Trusted Firmware"
3LICENSE = "BSD-3-Clause" 3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" 4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5 5
6ATF_BRANCH ?= "lf_v2.6" 6ATF_BRANCH ?= "lf_v2.12"
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 = "6ddd57019494cabfca5065368349109c37f2cc9f"
10
11S = "${WORKDIR}/git"
12
diff --git a/recipes-bsp/atf/qoriq-atf-tools_2.6.bb b/recipes-bsp/atf/qoriq-atf-tools_2.12.bb
index 2c1db306c..2c1db306c 100644
--- a/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
+++ b/recipes-bsp/atf/qoriq-atf-tools_2.12.bb
diff --git a/recipes-bsp/atf/qoriq-atf_2.6.bb b/recipes-bsp/atf/qoriq-atf_2.12.bb
index 5ae2ed9d1..4eb7be9d3 100644
--- a/recipes-bsp/atf/qoriq-atf_2.6.bb
+++ b/recipes-bsp/atf/qoriq-atf_2.12.bb
@@ -7,9 +7,8 @@ do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
7 7
8PV:append = "+${SRCPV}" 8PV:append = "+${SRCPV}"
9 9
10SRC_URI += "git://github.com/ARMmbed/mbedtls;protocol=https;nobranch=1;destsuffix=git/mbedtls;name=mbedtls \ 10SRC_URI += "git://github.com/ARMmbed/mbedtls;protocol=https;nobranch=1;destsuffix=${S}/mbedtls;name=mbedtls \
11 git://github.com/nxp/ddr-phy-binary;protocol=https;nobranch=1;destsuffix=git/ddr-phy-binary;name=ddr \ 11 git://github.com/nxp/ddr-phy-binary;protocol=https;nobranch=1;destsuffix=${S}/ddr-phy-binary;name=ddr \
12 file://tf-a-tests-no-warn-rwx-segments.patch \
13" 12"
14SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708" 13SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708"
15SRCREV_ddr = "fbc036b88acb6c06ffed02c898cbae9856ec75ba" 14SRCREV_ddr = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
@@ -51,8 +50,8 @@ FIP_DDR:lx2160a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr',
51FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}" 50FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
52 51
53# requires CROSS_COMPILE set by hand as there is no configure script 52# requires CROSS_COMPILE set by hand as there is no configure script
54export CROSS_COMPILE="${TARGET_PREFIX}" 53export CROSS_COMPILE = "${TARGET_PREFIX}"
55export ARCH="arm64" 54export ARCH = "arm64"
56 55
57# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is 56# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
58# a standalone application 57# 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_0.1.2.bb
deleted file mode 100644
index f97d21ad9..000000000
--- a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.2.bb
+++ /dev/null
@@ -1,43 +0,0 @@
1# Copyright 2021-2023 NXP
2SUMMARY = "NXP i.MX ELE firmware"
3DESCRIPTION = "EdgeLock Enclave firmware for i.MX series SoCs"
4SECTION = "base"
5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
7
8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
9
10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "4ed450a"
12SRC_URI[md5sum] = "1359bc7d378bddfe1d8479eba05b05ec"
13SRC_URI[sha256sum] = "d858fcbb47482a898a1af5fe5f3f8be53bb21fac793b33e9bcdfd2b4dda79d3c"
14
15S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
16
17do_compile[noexec] = "1"
18
19do_install() {
20 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
21 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
22 if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then
23 install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
24 fi
25}
26
27do_deploy () {
28 # Deploy the related firmware to be package by imx-boot
29 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
30}
31addtask deploy after do_install before do_build
32
33PACKAGES += "${PN}-ext"
34
35ALLOW_EMPTY:${PN}-ext = "1"
36
37FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}"
38FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}"
39
40RREPLACES:${PN} = "firmware-sentinel"
41RPROVIDES:${PN} = "firmware-sentinel"
42
43COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.bb
new file mode 100644
index 000000000..f776e463d
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.bb
@@ -0,0 +1,42 @@
1# Copyright 2021-2025 NXP
2SUMMARY = "NXP i.MX ELE firmware"
3DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs"
4SECTION = "base"
5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
7
8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
9
10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "89161a8"
12SRC_URI[sha256sum] = "2d29f0a4de3662ba15f6a7d9069702d4eaed415d96a17f29d5b127f2c6fdd634"
13
14S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
15
16do_compile[noexec] = "1"
17
18do_install() {
19 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
20 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
21 if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then
22 install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
23 fi
24}
25
26do_deploy () {
27 # Deploy the related firmware to be packaged by imx-boot
28 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
29}
30addtask deploy after do_install before do_build
31
32PACKAGES += "${PN}-ext"
33
34ALLOW_EMPTY:${PN}-ext = "1"
35
36FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}"
37FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}"
38
39RREPLACES:${PN} = "firmware-sentinel"
40RPROVIDES:${PN} = "firmware-sentinel"
41
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.28.inc
index 9e9d10dc6..db8a78528 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.24.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.28.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-2025 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=a93b654673e1bc8398ed1f30e0813359"
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 = "994fa14"
12SRC_URI[md5sum] = "440b125e897614d77fac663d90bcffc8" 12SRC_URI[sha256sum] = "55996f340e87825685a00cd309901189066ec9545ee607734f942c3cde4d69dc"
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.28.bb
index 489174d01..2cd449165 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.24.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.28.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-2025 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..51e8b69e4 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-2025 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,19 @@ 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=a93b654673e1bc8398ed1f30e0813359"
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.20_2.0.0"
14SRCREV = "7e038c6afba3118bcee91608764ac3c633bce0c4" 14SRCREV = "d31ea8aaba67e188ba0071a90da0364e3946c83a"
15 15
16S = "${WORKDIR}/git"
17 16
18inherit allarch 17inherit allarch
19 18
20CLEANBROKEN = "1" 19CLEANBROKEN = "1"
21ALLOW_EMPTY:${PN} = "1" 20ALLOW_EMPTY:${PN} = "1"
21ALLOW_EMPTY:${PN}-all-sdio = "1"
22ALLOW_EMPTY:${PN}-all-pcie = "1"
22 23
23do_compile() { 24do_compile() {
24 : 25 :
@@ -44,7 +45,16 @@ do_install() {
44 45
45 oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp 46 oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp
46 47
48 # Upstream SDIO8997 and IW416 driver firmwares are located on mrvl folder
49 install -d ${D}${nonarch_base_libdir}/firmware/mrvl
50 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin
51 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin
47 52
53 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sd9098_wlan_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdio9098_wlan_v1.bin
54 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduart9098_combo_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart9098_combo_v1.bin
55 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sd8997_wlan_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdio8997_wlan_v4.bin
56 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin
57 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduartiw416_combo.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin
48} 58}
49 59
50PACKAGES =+ " \ 60PACKAGES =+ " \
@@ -58,7 +68,10 @@ PACKAGES =+ " \
58 ${PN}-nxp9098-pcie \ 68 ${PN}-nxp9098-pcie \
59 ${PN}-nxp9098-common \ 69 ${PN}-nxp9098-common \
60 ${PN}-nxp9098-sdio \ 70 ${PN}-nxp9098-sdio \
71 ${PN}-nxpaw693-pcie \
61 ${PN}-nxpiw416-sdio \ 72 ${PN}-nxpiw416-sdio \
73 ${PN}-nxpiw610-sdio \
74 ${PN}-nxpiw610-usb \
62 ${PN}-nxpiw612-sdio \ 75 ${PN}-nxpiw612-sdio \
63" 76"
64 77
@@ -88,7 +101,7 @@ RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
88FILES:${PN}-nxp8997-common = " \ 101FILES:${PN}-nxp8997-common = " \
89 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \ 102 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \
90 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \ 103 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \
91 ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \ 104 ${nonarch_base_libdir}/firmware/nxp/uart8997_bt_v4.bin \
92" 105"
93RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common" 106RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common"
94RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" 107RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
@@ -104,7 +117,8 @@ RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
104RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" 117RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
105 118
106FILES:${PN}-nxp8997-sdio = " \ 119FILES:${PN}-nxp8997-sdio = " \
107 ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \ 120 ${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
121 ${nonarch_base_libdir}/firmware/nxp/sd*8997* \
108" 122"
109RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common" 123RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
110RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" 124RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
@@ -114,7 +128,7 @@ RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
114FILES:${PN}-nxp9098-common = " \ 128FILES:${PN}-nxp9098-common = " \
115 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \ 129 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \
116 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \ 130 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \
117 ${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin \ 131 ${nonarch_base_libdir}/firmware/nxp/uart9098_bt_v1.bin \
118" 132"
119RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common" 133RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common"
120RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" 134RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
@@ -130,7 +144,7 @@ RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
130RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" 144RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
131 145
132FILES:${PN}-nxp9098-sdio = " \ 146FILES:${PN}-nxp9098-sdio = " \
133 ${nonarch_base_libdir}/firmware/nxp/sdio*9098* \ 147 ${nonarch_base_libdir}/firmware/nxp/sd*9098* \
134" 148"
135RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common" 149RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
136RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 150RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
@@ -138,6 +152,7 @@ RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
138RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 152RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
139 153
140FILES:${PN}-nxpiw416-sdio = " \ 154FILES:${PN}-nxpiw416-sdio = " \
155 ${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin \
141 ${nonarch_base_libdir}/firmware/nxp/*iw416* \ 156 ${nonarch_base_libdir}/firmware/nxp/*iw416* \
142" 157"
143RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common" 158RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
@@ -145,6 +160,23 @@ RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
145RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" 160RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
146RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" 161RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
147 162
163FILES:${PN}-nxpiw610-sdio += " \
164 ${nonarch_base_libdir}/firmware/nxp/sd_iw610.bin.se \
165 ${nonarch_base_libdir}/firmware/nxp/sduart_iw610.bin.se \
166 ${nonarch_base_libdir}/firmware/nxp/sduartspi_iw610.bin.se \
167 ${nonarch_base_libdir}/firmware/nxp/uart_iw610_bt.bin.se \
168 ${nonarch_base_libdir}/firmware/nxp/uartspi_iw610.bin.se \
169"
170RDEPENDS:${PN}-nxpiw610-sdio += "${PN}-nxp-common"
171RPROVIDES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
172RREPLACES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
173RCONFLICTS:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
174
175FILES:${PN}-nxpiw610-usb += " \
176 ${nonarch_base_libdir}/firmware/nxp/usb*_iw610.bin.se \
177"
178RDEPENDS:${PN}-nxpiw610-usb += "${PN}-nxp-common"
179
148FILES:${PN}-nxpiw612-sdio = " \ 180FILES:${PN}-nxpiw612-sdio = " \
149 ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \ 181 ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
150 ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \ 182 ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \
@@ -157,4 +189,27 @@ RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
157RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 189RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
158RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 190RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
159 191
160COMPATIBLE_MACHINE = "(imx-generic-bsp)" 192FILES:${PN}-nxpaw693-pcie += " \
193 ${nonarch_base_libdir}/firmware/nxp/pcie*aw693* \
194 ${nonarch_base_libdir}/firmware/nxp/uart*aw693* \
195"
196RDEPENDS:${PN}-nxpaw693-pcie += "${PN}-nxp-common"
197
198RDEPENDS:${PN}-all-sdio = " \
199 ${PN}-nxp8801-sdio \
200 ${PN}-nxp8987-sdio \
201 ${PN}-nxp9098-sdio \
202 ${PN}-nxpiw416-sdio \
203 ${PN}-nxpiw610-sdio \
204 ${PN}-nxpiw612-sdio \
205"
206
207RDEPENDS:${PN}-all-pcie = " \
208 ${PN}-nxp8997-pcie \
209 ${PN}-nxp9098-pcie \
210 ${PN}-nxpaw693-pcie \
211"
212
213RDEPENDS:${PN}-all-usb = " \
214 ${PN}-nxpiw610-usb \
215"
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.28.bb
index 246198596..4c0d51c8a 100644
--- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.28.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2018-2023 NXP 1# Copyright (C) 2018-2025 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.12.bb
index 14ed12523..ba494594f 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.10.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.12.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2017-2024 NXP 1# Copyright (C) 2017-2025 NXP
2 2
3DESCRIPTION = "i.MX ARM Trusted Firmware" 3DESCRIPTION = "i.MX ARM Trusted Firmware"
4SECTION = "BSP" 4SECTION = "BSP"
@@ -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} \
11SRCBRANCH = "lf_v2.10" 11 file://0001-imx93-trdc-Fix-header-guard.patch"
12SRCREV = "49143a1701d9ccd3239e3f95f3042897ca889ea8" 12SRCBRANCH = "lf_v2.12"
13 13SRCREV = "6ddd57019494cabfca5065368349109c37f2cc9f"
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..5cf1b5744 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.20_2.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..a14d98241 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.20_2.0.0"
9SRCREV = "ca5d6b2d3fd9ab15825b97f7ef6f1ce9a8644966" 9SRCREV = "4c2e5b25232f5aa003976ddca9d1d2fb9667beb1"
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..3dd6153a0 100644
--- a/recipes-bsp/imx-test/imx-test_git.bb
+++ b/recipes-bsp/imx-test/imx-test_git.bb
@@ -14,16 +14,15 @@ DEPENDS:append:mx6-nxp-bsp = " imx-lib"
14DEPENDS:append:mx7-nxp-bsp = " imx-lib" 14DEPENDS:append:mx7-nxp-bsp = " imx-lib"
15DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" 15DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
16DEPENDS:append:mx93-nxp-bsp = " imx-lib" 16DEPENDS:append:mx93-nxp-bsp = " imx-lib"
17DEPENDS:append:mx943-nxp-bsp = " imx-lib"
17 18
18PE = "1" 19PE = "1"
19PV = "7.0+${SRCPV}" 20PV = "7.0+${SRCPV}"
20 21
21SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \ 22SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
22 file://memtool_profile" 23 file://memtool_profile"
23SRCBRANCH = "lf-6.6.3_1.0.0" 24SRCBRANCH = "lf-6.12.20_2.0.0"
24SRCREV = "8a1fa37664a1e470cf86f1185c08e265e4602a9b" 25SRCREV = "38f9cf1f08bb6fcdd6aaf9191e0b53f02e02537b"
25
26S = "${WORKDIR}/git"
27 26
28inherit module-base use-imx-headers 27inherit module-base use-imx-headers
29 28
@@ -40,7 +39,9 @@ PLATFORM:mx7d-nxp-bsp = "IMX7D"
40PLATFORM:mx7ulp-nxp-bsp = "IMX7D" 39PLATFORM:mx7ulp-nxp-bsp = "IMX7D"
41PLATFORM:mx8-nxp-bsp = "IMX8" 40PLATFORM:mx8-nxp-bsp = "IMX8"
42PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" 41PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
42PLATFORM:mx91-nxp-bsp = "IMX8"
43PLATFORM:mx93-nxp-bsp = "IMX8ULP" 43PLATFORM:mx93-nxp-bsp = "IMX8ULP"
44PLATFORM:mx943-nxp-bsp = "IMX8ULP"
44PLATFORM:mx95-nxp-bsp = "IMX8" 45PLATFORM:mx95-nxp-bsp = "IMX8"
45 46
46PARALLEL_MAKE = "-j 1" 47PARALLEL_MAKE = "-j 1"
diff --git a/recipes-bsp/imx-uuc/imx-uuc_git.bb b/recipes-bsp/imx-uuc/imx-uuc_git.bb
index 49fc15581..54997ae37 100644
--- a/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -1,20 +1,20 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright (C) 2017-2019,2024 NXP 2# Copyright (C) 2017-2019,2024-2025 NXP
3SUMMARY = "A Daemon wait for NXP mfgtools host's command" 3SUMMARY = "A Daemon wait for NXP mfgtools host's command"
4SECTION = "base" 4SECTION = "base"
5DEPENDS = "virtual/kernel dosfstools-native" 5DEPENDS = "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/nxp-imx/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.2.bb
index 0ab440748..012e1f2b7 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.2.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=a93b654673e1bc8398ed1f30e0813359"
6
7IMX_SRCREV_ABBREV = "dd86758"
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] = "aa86adeb0c53c3306f7e1c004ffa78ebb7db3e9136c78759e4029b4b5e1b1a64"
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/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch b/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch
new file mode 100644
index 000000000..617abde6f
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch
@@ -0,0 +1,32 @@
1From d24c74528fefd1316f1633f0a7f1a5acea40454f Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Thu, 19 Jan 2023 15:51:24 +0000
4Subject: [PATCH 1/5] isp-imx: start_isp: don't report error if no camera is
5 configured
6
7The script currently returns '6' when no known camera is configured
8in the device tree. The end result is that the systemd imx8-isp.service
9goes to the failed state.
10Return '0' in that case as obviously the device tree doesn't have a
11camera configured and the service is not needed.
12
13Upstream-Status: Pending
14Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
15---
16 imx/start_isp.sh | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/imx/start_isp.sh b/imx/start_isp.sh
20index d544b4ca2a57..22e7783437d6 100755
21--- a/imx/start_isp.sh
22+++ b/imx/start_isp.sh
23@@ -72,5 +72,5 @@ elif [ $NR_DEVICE_TREE_OS08A20 -eq 2 ]; then
24 else
25 # no device tree found exit with code no device or address
26 echo "No device tree found for Basler camera or os08a20, check dtb file!" >&2
27- exit 6
28+ exit 0
29 fi
30--
312.42.0
32
diff --git a/recipes-bsp/isp-imx/isp-imx/0002-appshell-cmake-bump-min-version-to-3.5.patch b/recipes-bsp/isp-imx/isp-imx/0002-appshell-cmake-bump-min-version-to-3.5.patch
new file mode 100644
index 000000000..38b3b6b02
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0002-appshell-cmake-bump-min-version-to-3.5.patch
@@ -0,0 +1,134 @@
1From 5b69b60bd4d0d5ed1474c6457561d48cdbabc778 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Fri, 25 Jul 2025 09:19:58 +0000
4Subject: [PATCH 2/5] appshell: cmake: bump min version to 3.5
5
6CMake 4 no longer supports min version set to before 3.5
7
8| CMake Error at CMakeLists.txt:28 (cmake_minimum_required):
9| Compatibility with CMake < 3.5 has been removed from CMake.
10
11Upstream-Status: Pending
12Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
13---
14 appshell/CMakeLists.txt | 2 +-
15 appshell/display/CMakeLists.txt | 2 +-
16 appshell/display/wayland-client/CMakeLists.txt | 2 +-
17 appshell/v4l_drm_test/CMakeLists.txt | 2 +-
18 appshell/vvext/CMakeLists.txt | 2 +-
19 appshell/yuv/CMakeLists.txt | 2 +-
20 units/CMakeLists.txt | 2 +-
21 units/isi/CMakeLists.txt | 2 +-
22 units/isi/drv/OS08a20/CMakeLists.txt | 2 +-
23 units/isi/drv/OS08a20/calib/CMakeLists.txt | 2 +-
24 10 files changed, 10 insertions(+), 10 deletions(-)
25
26diff --git a/appshell/CMakeLists.txt b/appshell/CMakeLists.txt
27index 22092ce975b5..cf14e254c812 100644
28--- a/appshell/CMakeLists.txt
29+++ b/appshell/CMakeLists.txt
30@@ -25,7 +25,7 @@
31 # *****************************************************************************/
32
33
34-cmake_minimum_required(VERSION 3.1.0)
35+cmake_minimum_required(VERSION 3.5.0)
36 project(ISP_APP_SHELL)
37
38 if(DEFINED QTLESS)
39diff --git a/appshell/display/CMakeLists.txt b/appshell/display/CMakeLists.txt
40index 491f086adf55..458a46b165b4 100755
41--- a/appshell/display/CMakeLists.txt
42+++ b/appshell/display/CMakeLists.txt
43@@ -1,4 +1,4 @@
44-cmake_minimum_required(VERSION 2.6)
45+cmake_minimum_required(VERSION 3.6)
46
47 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC")
48
49diff --git a/appshell/display/wayland-client/CMakeLists.txt b/appshell/display/wayland-client/CMakeLists.txt
50index 78247528b0e4..0639d79d8346 100644
51--- a/appshell/display/wayland-client/CMakeLists.txt
52+++ b/appshell/display/wayland-client/CMakeLists.txt
53@@ -1,4 +1,4 @@
54-cmake_minimum_required(VERSION 2.6)
55+cmake_minimum_required(VERSION 3.6)
56
57 set(WAYLAND_XML_PRIFIX ${SDKTARGETSYSROOT}/usr/share/wayland-protocols)
58 set(GEN_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/display/wayland-client)
59diff --git a/appshell/v4l_drm_test/CMakeLists.txt b/appshell/v4l_drm_test/CMakeLists.txt
60index cf4685c84204..309e5d465e99 100755
61--- a/appshell/v4l_drm_test/CMakeLists.txt
62+++ b/appshell/v4l_drm_test/CMakeLists.txt
63@@ -1,4 +1,4 @@
64-cmake_minimum_required(VERSION 2.6)
65+cmake_minimum_required(VERSION 3.5)
66
67 project(ISP_V4L_DRM_TEST)
68 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
69diff --git a/appshell/vvext/CMakeLists.txt b/appshell/vvext/CMakeLists.txt
70index a5d6c12929fa..63c1eb5f7073 100755
71--- a/appshell/vvext/CMakeLists.txt
72+++ b/appshell/vvext/CMakeLists.txt
73@@ -1,4 +1,4 @@
74-cmake_minimum_required(VERSION 2.6)
75+cmake_minimum_required(VERSION 3.5)
76
77 project(ISP_V4L_DRM_TEST)
78 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
79diff --git a/appshell/yuv/CMakeLists.txt b/appshell/yuv/CMakeLists.txt
80index 131766fcb5d4..0f3591918e08 100755
81--- a/appshell/yuv/CMakeLists.txt
82+++ b/appshell/yuv/CMakeLists.txt
83@@ -1,4 +1,4 @@
84-cmake_minimum_required(VERSION 2.6)
85+cmake_minimum_required(VERSION 3.5)
86 set (CMAKE_CXX_FLAGS_DEBUG "")
87 set (CMAKE_C_FLAGS_DEBUG "")
88
89diff --git a/units/CMakeLists.txt b/units/CMakeLists.txt
90index 37fa65ed4ea8..10abbef1c16c 100755
91--- a/units/CMakeLists.txt
92+++ b/units/CMakeLists.txt
93@@ -24,7 +24,7 @@
94 # *
95 # *****************************************************************************/
96
97-cmake_minimum_required(VERSION 3.1.0)
98+cmake_minimum_required(VERSION 3.5.0)
99 project(ISPcore_SW_STACK)
100 if( NOT DEFINED APPSHELL_TOP_COMPILE)
101
102diff --git a/units/isi/CMakeLists.txt b/units/isi/CMakeLists.txt
103index a91699b4a1a5..ea01aa7d9424 100755
104--- a/units/isi/CMakeLists.txt
105+++ b/units/isi/CMakeLists.txt
106@@ -1,4 +1,4 @@
107-cmake_minimum_required(VERSION 2.6)
108+cmake_minimum_required(VERSION 3.5)
109
110 # define module name
111 set (module isi)
112diff --git a/units/isi/drv/OS08a20/CMakeLists.txt b/units/isi/drv/OS08a20/CMakeLists.txt
113index d27dc97f7945..12c6e9ef993a 100755
114--- a/units/isi/drv/OS08a20/CMakeLists.txt
115+++ b/units/isi/drv/OS08a20/CMakeLists.txt
116@@ -1,4 +1,4 @@
117-cmake_minimum_required(VERSION 2.6)
118+cmake_minimum_required(VERSION 3.5)
119
120 # define module name & interface version
121 set (module os08a20)
122diff --git a/units/isi/drv/OS08a20/calib/CMakeLists.txt b/units/isi/drv/OS08a20/calib/CMakeLists.txt
123index b44b08248135..18119086b967 100755
124--- a/units/isi/drv/OS08a20/calib/CMakeLists.txt
125+++ b/units/isi/drv/OS08a20/calib/CMakeLists.txt
126@@ -1,4 +1,4 @@
127-cmake_minimum_required(VERSION 2.6)
128+cmake_minimum_required(VERSION 3.5)
129
130 # use upper level module name
131
132--
1332.42.0
134
diff --git a/recipes-bsp/isp-imx/isp-imx/0003-appshell-cmake-drop-deprecated-use-of-target_link_li.patch b/recipes-bsp/isp-imx/isp-imx/0003-appshell-cmake-drop-deprecated-use-of-target_link_li.patch
new file mode 100644
index 000000000..f11deb758
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0003-appshell-cmake-drop-deprecated-use-of-target_link_li.patch
@@ -0,0 +1,37 @@
1From db07010535d47d7d7eaf3865d97dcec045e19930 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Fri, 25 Jul 2025 09:57:22 +0000
4Subject: [PATCH 3/5] appshell: cmake: drop deprecated use of
5 target_link_libraries
6
7Works around:
8
9| CMake Error at display/CMakeLists.txt:48 (target_link_libraries):
10| Cannot specify link libraries for target "wayland-client" which is not
11| built by this project.
12
13caused by CMake 4 deprecating https://cmake.org/cmake/help/v3.5/policy/CMP0016.html
14
15CMP0016 states that the command is silently ignored, thus drop it.
16
17Upstream-Status: Pending
18Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
19---
20 appshell/display/CMakeLists.txt | 1 -
21 1 file changed, 1 deletion(-)
22
23diff --git a/appshell/display/CMakeLists.txt b/appshell/display/CMakeLists.txt
24index 458a46b165b4..160755312368 100755
25--- a/appshell/display/CMakeLists.txt
26+++ b/appshell/display/CMakeLists.txt
27@@ -43,7 +43,6 @@ if (WAYLAND_SUPPORT)
28 file(GLOB pub_headers *.h)
29 file(GLOB libsources *.cpp ./wayland-client/*.c)
30 include_directories(./wayland-client)
31- target_link_libraries(wayland-client)
32 else (WAYLAND_SUPPORT)
33 file(GLOB pub_headers *.h)
34 file(GLOB libsources *.cpp)
35--
362.42.0
37
diff --git a/recipes-bsp/isp-imx/isp-imx/0004-units-targets.cmake-fix-check-if-a-target-exists.patch b/recipes-bsp/isp-imx/isp-imx/0004-units-targets.cmake-fix-check-if-a-target-exists.patch
new file mode 100644
index 000000000..087f24090
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0004-units-targets.cmake-fix-check-if-a-target-exists.patch
@@ -0,0 +1,51 @@
1From d7e06f57c067e50d86369577b8dc3bccdde6fd40 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Fri, 25 Jul 2025 10:44:40 +0000
4Subject: [PATCH 4/5] units/targets.cmake: fix check if a target exists
5
6| CMake Error at units/targets.cmake:35 (get_target_property):
7| get_target_property() called with non-existent target "lib".
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 units/targets.cmake | 9 +++------
13 1 file changed, 3 insertions(+), 6 deletions(-)
14
15diff --git a/units/targets.cmake b/units/targets.cmake
16index 663a024d9129..d78dbf8b8a45 100755
17--- a/units/targets.cmake
18+++ b/units/targets.cmake
19@@ -32,8 +32,7 @@ add_dependencies(create_alldir ${module}_create_dir)
20 # Settings for target LIB
21 ###############################################################################
22 # check if lib target already exists and create it, this is to assure that only one target called lib will be generated
23-get_target_property(LIB_TARGET lib TYPE)
24-if(NOT LIB_TARGET)
25+if(NOT TARGET lib)
26 add_custom_target(lib)
27 endif()
28 # the library itself is a dependency for the target lib
29@@ -83,8 +82,7 @@ if(HAVE_PUBLIC_HEADERS)
30 endif()
31
32 # check if lib_install target already exists and create it
33-get_target_property(LIB_INSTALL_TARGET lib_install TYPE)
34-if(NOT LIB_INSTALL_TARGET)
35+if(NOT TARGET lib_install)
36 add_custom_target(lib_install)
37 endif()
38
39@@ -104,8 +102,7 @@ add_custom_target(${module}_copy_header
40 COMMENT "Copying Headers of ${module}")
41
42 # check if copy_header target already exists and create it
43-get_target_property(COPY_HEADER_TARGET copy_header TYPE)
44-if(NOT COPY_HEADER_TARGET)
45+if(NOT TARGET copy_header)
46 add_custom_target(copy_header)
47 endif()
48 # if copy_header is selected, modulename_copy_header target must be created
49--
502.42.0
51
diff --git a/recipes-bsp/isp-imx/isp-imx/0005-units-cmake-fix-use-of-add_dependencies.patch b/recipes-bsp/isp-imx/isp-imx/0005-units-cmake-fix-use-of-add_dependencies.patch
new file mode 100644
index 000000000..f4b44ff47
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0005-units-cmake-fix-use-of-add_dependencies.patch
@@ -0,0 +1,36 @@
1From 72d6160d1efc9df8bdee4e3dc9da67560f2206b4 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Fri, 25 Jul 2025 10:52:52 +0000
4Subject: [PATCH 5/5] units: cmake: fix use of add_dependencies
5
6With CMake 4 we get during configure:
7
8| CMake Error at isp-imx/4.2.2.25.2/sources/isp-imx-4.2.2.25.2-3cac1fb:
9| The dependency target "drv/OS08a20" of target "copy_shell_libs_isi" does
10| not exist.
11
12Comment out that the add_dependencies. The driver for OS08a20 is still
13part of the built packages.
14
15Upstream-Status: Pending
16Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
17---
18 units/isi/CMakeLists.txt | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/units/isi/CMakeLists.txt b/units/isi/CMakeLists.txt
22index ea01aa7d9424..2f5c3d803e67 100755
23--- a/units/isi/CMakeLists.txt
24+++ b/units/isi/CMakeLists.txt
25@@ -93,7 +93,7 @@ add_custom_target(copy_shell_libs_${module} ALL
26 COMMAND ${CMAKE_COMMAND} -E copy ${UNITS_TOP_DIRECTORY}/isi/drv/*/*.cfg ${LIB_ROOT}/${CMAKE_BUILD_TYPE}/bin/
27 COMMAND ${CMAKE_COMMAND} -E copy ${UNITS_TOP_DIRECTORY}/isi/drv/*.cfg ${LIB_ROOT}/${CMAKE_BUILD_TYPE}/bin/
28 )
29-add_dependencies(copy_shell_libs_${module} drv/OS08a20)
30+#add_dependencies(copy_shell_libs_${module} os08a20_shared)
31
32 endif (GENERATE_PARTITION_BUILD)
33
34--
352.42.0
36
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.2.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.2.bb
new file mode 100644
index 000000000..445822528
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.2.bb
@@ -0,0 +1,102 @@
1# Copyright (C) 2020-2024 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
6DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 jsoncpp patchelf-native"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
10 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${ISP_SYSTEMD_PATCH}', '', d)} \
11 file://0002-appshell-cmake-bump-min-version-to-3.5.patch \
12 file://0003-appshell-cmake-drop-deprecated-use-of-target_link_li.patch \
13 file://0004-units-targets.cmake-fix-check-if-a-target-exists.patch \
14 file://0005-units-cmake-fix-use-of-add_dependencies.patch \
15"
16ISP_SYSTEMD_PATCH = "file://0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch"
17
18IMX_SRCREV_ABBREV = "3cac1fb"
19S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
20
21SRC_URI[sha256sum] = "8fa5094da6438505287f4dcc8033dad3057ab81bf98c858884f7c3a2e521b252"
22
23inherit fsl-eula-unpack cmake pkgconfig systemd use-imx-headers
24
25PACKAGECONFIG = ""
26# Note: building with tuningext fails with boost 1.87.
27# (update to 1.87 with walnascar)
28PACKAGECONFIG[tuningext] = "-DTUNINGEXT=1,-DTUNINGEXT=0"
29
30# Build the sub-folder appshell
31OECMAKE_SOURCEPATH = "${S}/appshell"
32
33# Use make instead of ninja
34OECMAKE_GENERATOR = "Unix Makefiles"
35
36# Workaround for linking issues seen with gold linker
37LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
38
39SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
40
41EXTRA_OECMAKE += " \
42 -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
43 -DCMAKE_BUILD_TYPE=release \
44 -DISP_VERSION=ISP8000NANO_V1802 \
45 -DPLATFORM=ARM64 \
46 -DQTLESS=1 \
47 -DFULL_SRC_COMPILE=1 \
48 -DWITH_DRM=1 \
49 -DWITH_DWE=1 \
50 -DSUBDEV_V4L2=1 \
51 -DPARTITION_BUILD=0 \
52 -D3A_SRC_BUILD=0 \
53 -DIMX_G2D=ON \
54 -Wno-dev \
55"
56
57do_configure_disable:prepend () {
58 # FIXME: should be rebuild.
59 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/bin/isp_media_server
60 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/lib/libmedia_server.so
61 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/tuningext/install/tuningext
62
63 # FIXME: Should be rebuild.
64 patchelf --replace-needed libtinyxml2.so.10 libtinyxml2.so.11 ${S}/appshell/shell_libs/ispcore/ARM64/libcam_device.so
65}
66
67do_install() {
68 # The Makefile unconditionally installs tuningext even if it is not built
69 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
70 touch ${B}/generated/release/bin/tuningext
71 fi
72
73 oe_runmake -f ${S}/Makefile install INSTALL_DIR=${D} SOURCE_DIR=${S}
74
75 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
76 rm ${D}/opt/imx8-isp/bin/tuningext
77 fi
78
79 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
80 install -d ${D}${systemd_system_unitdir}
81 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
82 fi
83
84}
85
86# The build contains a mix of versioned and unversioned libraries, so
87# the default packaging configuration needs some modification so that
88# unversioned .so libraries go to the main package and versioned .so
89# symlinks go to -dev.
90FILES_SOLIBSDEV = ""
91FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
92FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
93FILES_SOLIBS_VERSIONED = " \
94 ${libdir}/libcppnetlib-client-connections.so \
95 ${libdir}/libcppnetlib-server-parsers.so \
96 ${libdir}/libcppnetlib-uri.so \
97 ${libdir}/libos08a20.so \
98"
99
100RDEPENDS:${PN} = "libdrm"
101
102COMPATIBLE_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 4723146e5..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} \
@@ -61,7 +58,9 @@ PACKAGECONFIG:append:imxpxp = " pxp"
61# former is not available pre-5.6. Out of the dma-heaps, we 58# former is not available pre-5.6. Out of the dma-heaps, we
62# pick the uncached one by default (see above). 59# pick the uncached one by default (see above).
63PACKAGECONFIG:append:mx8-nxp-bsp = " dma-heap-uncached" 60PACKAGECONFIG:append:mx8-nxp-bsp = " dma-heap-uncached"
64PACKAGECONFIG:append:mx8m-nxp-bsp = " dwl" 61PACKAGECONFIG:append:mx8mq-nxp-bsp = " dwl"
62PACKAGECONFIG:append:mx8mm-nxp-bsp = " dwl"
63PACKAGECONFIG:append:mx8mp-nxp-bsp = " dwl"
65 64
66HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2" 65HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
67 66
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..2d09bbcc8 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 = "f5c4b2c9d2b1d5122a7d97f236894f87959b3831"
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..6a52861b0 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 = "45e69253690452656a4dfe933c4c9f55e1eb0f5f"
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..27c3555f4 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}" ]
@@ -21,11 +23,13 @@ do_deploy:append:mx8m-generic-bsp() {
21 for config in ${UBOOT_MACHINE}; do 23 for config in ${UBOOT_MACHINE}; do
22 i=$(expr $i + 1); 24 i=$(expr $i + 1);
23 for type in ${UBOOT_CONFIG}; do 25 for type in ${UBOOT_CONFIG}; do
26 builddir="${config}-${type}"
24 j=$(expr $j + 1); 27 j=$(expr $j + 1);
25 if [ $j -eq $i ] 28 if [ $j -eq $i ]
26 then 29 then
30 builddir="${config}-${type}"
27 install -d ${DEPLOYDIR}/${BOOT_TOOLS} 31 install -d ${DEPLOYDIR}/${BOOT_TOOLS}
28 install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} 32 install -m 0644 ${B}/${builddir}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type}
29 UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" 33 UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
30 for key_value in ${UBOOT_DTB_NAME_FLAGS}; do 34 for key_value in ${UBOOT_DTB_NAME_FLAGS}; do
31 local type_key="${key_value%%:*}" 35 local type_key="${key_value%%:*}"
@@ -35,11 +39,11 @@ do_deploy:append:mx8m-generic-bsp() {
35 bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name" 39 bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name"
36 # There is only one ${dtb_name}, the first one. All the other are with the type appended 40 # There is only one ${dtb_name}, the first one. All the other are with the type appended
37 if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then 41 if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then
38 install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} 42 install -m 0644 ${B}/${builddir}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}
39 else 43 else
40 bbwarn "Use custom wks.in for $dtb_name = $type" 44 bbwarn "Use custom wks.in for $dtb_name = $type"
41 fi 45 fi
42 install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} 46 install -m 0644 ${B}/${builddir}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type}
43 fi 47 fi
44 unset type_key 48 unset type_key
45 unset dtb_name 49 unset dtb_name
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb
index c46eae331..b8d0bc8c4 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb
@@ -10,20 +10,23 @@ LIC_FILES_CHKSUM = " \
10 file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 10 file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
11 file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \ 11 file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
12 file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \ 12 file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
13 file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ 13 file://Licenses/lgpl-2.0.txt;md5=4cf66a4984120007c9881cc871cf49db \
14 file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \ 14 file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
15" 15"
16 16
17SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1" 17PV:append = "+${SRCPV}"
18SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477"
19 18
20S = "${WORKDIR}/git" 19UBOOT_BRANCH ?= "lf_v2025.04"
21B = "${WORKDIR}/build" 20UBOOT_SRC ?= "git://github.com/nxp-qoriq/u-boot.git;protocol=https"
21SRC_URI = "${UBOOT_SRC};branch=${UBOOT_BRANCH}"
22SRCREV = "9383f8387dc76524524da69992db96c22195a57c"
23
24B = "${UNPACKDIR}/build"
22PV:append = "+fslgit" 25PV:append = "+fslgit"
23LOCALVERSION = "+fsl" 26LOCALVERSION = "+fsl"
24 27
25INHIBIT_DEFAULT_DEPS = "1" 28INHIBIT_DEFAULT_DEPS = "1"
26DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native python3-setuptools-native" 29DEPENDS = "libgcc virtual/cross-cc bison-native bc-native gnutls-native swig-native python3-native"
27DEPENDS:append:qoriq-arm64 = " dtc-native" 30DEPENDS:append:qoriq-arm64 = " dtc-native"
28DEPENDS:append:qoriq-arm = " dtc-native" 31DEPENDS:append:qoriq-arm = " dtc-native"
29DEPENDS:append:qoriq-ppc = " boot-format-native" 32DEPENDS:append:qoriq-ppc = " boot-format-native"
@@ -40,7 +43,7 @@ python () {
40 raise bb.parse.SkipPackage("Building the u-boot for this arch requires multilib to be enabled") 43 raise bb.parse.SkipPackage("Building the u-boot for this arch requires multilib to be enabled")
41 sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux' 44 sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux'
42 sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS') 45 sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
43 workdir = d.getVar('WORKDIR') 46 workdir = d.getVar('UNPACKDIR')
44 d.setVar('DEPENDS:append', ' lib32-gcc-cross-powerpc lib32-libgcc') 47 d.setVar('DEPENDS:append', ' lib32-gcc-cross-powerpc lib32-libgcc')
45 d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib) 48 d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
46 d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot') 49 d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot')
@@ -50,7 +53,7 @@ python () {
50 raise bb.parse.SkipRecipe("Building the u-boot for this arch requires multilib to be enabled") 53 raise bb.parse.SkipRecipe("Building the u-boot for this arch requires multilib to be enabled")
51 sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux' 54 sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux'
52 sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS') 55 sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
53 workdir = d.getVar('WORKDIR') 56 workdir = d.getVar('UNPACKDIR')
54 d.setVar('DEPENDS:append', ' lib64-gcc-cross-aarch64 lib64-libgcc') 57 d.setVar('DEPENDS:append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
55 d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib) 58 d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
56 d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot') 59 d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot')
@@ -80,8 +83,6 @@ do_compile:append:qoriq() {
80 boot_format ${STAGING_DATADIR_NATIVE}/boot_format/${BOOTFORMAT_CONFIG} \ 83 boot_format ${STAGING_DATADIR_NATIVE}/boot_format/${BOOTFORMAT_CONFIG} \
81 ${config}/u-boot-${type}.${UBOOT_SUFFIX} -spi ${config}/u-boot.format.bin 84 ${config}/u-boot-${type}.${UBOOT_SUFFIX} -spi ${config}/u-boot.format.bin
82 cp ${config}/u-boot.format.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX} 85 cp ${config}/u-boot.format.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX}
83 elif [ "qspi" = "${type}" ];then
84 cp ${config}/${binary} ${config}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
85 fi 86 fi
86 fi 87 fi
87 done 88 done
@@ -92,6 +93,48 @@ do_compile:append:qoriq() {
92 unset i 93 unset i
93} 94}
94 95
96do_deploy:append:lx2162a () {
97 if [ -n "${UBOOT_CONFIG}" ]
98 then
99 for config in ${UBOOT_MACHINE}; do
100 i=$(expr $i + 1);
101 for type in ${UBOOT_CONFIG}; do
102 j=$(expr $j + 1);
103 if [ $j -eq $i ]
104 then
105 if [ "tfa-verified-boot" = "${type}" ];then
106 builddir="${config}-${type}"
107 install -m 644 ${B}/${builddir/u-boot.dtb ${DEPLOYDIR}/u-boot.dtb
108 fi
109 fi
110 done
111 unset j
112 done
113 unset i
114 fi
115}
116
117do_deploy:append:ls102xa () {
118 if [ -n "${UBOOT_CONFIG}" ]
119 then
120 for config in ${UBOOT_MACHINE}; do
121 i=$(expr $i + 1);
122 for type in ${UBOOT_CONFIG}; do
123 j=$(expr $j + 1);
124 if [ $j -eq $i ]
125 then
126 if expr "$type" : sdcard;then
127 builddir="${config}-${type}"
128 install -m 644 ${B}/${builddir}/u-boot-dtb.bin ${DEPLOYDIR}/u-boot-dtb.${UBOOT_SUFFIX}-${type}
129 install -m 644 ${B}/${builddir}/spl/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl.${UBOOT_SUFFIX}-${type}
130 fi
131 fi
132 done
133 unset j
134 done
135 unset i
136 fi
137}
95 138
96PACKAGES += "${PN}-images" 139PACKAGES += "${PN}-images"
97FILES:${PN}-images += "/boot" 140FILES:${PN}-images += "/boot"
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-core/udev/udev-rules-imx/10-imx.rules b/recipes-core/udev/udev-rules-imx/10-imx.rules
index 6afc1e8e2..ff9237188 100644
--- a/recipes-core/udev/udev-rules-imx/10-imx.rules
+++ b/recipes-core/udev/udev-rules-imx/10-imx.rules
@@ -21,3 +21,6 @@ SUBSYSTEM=="video", MODE="0660"
21KERNEL=="fb[0-9]", MODE="0660", GROUP="video" 21KERNEL=="fb[0-9]", MODE="0660", GROUP="video"
22KERNEL=="gsl_kmod", MODE="0660", GROUP="video" 22KERNEL=="gsl_kmod", MODE="0660", GROUP="video"
23KERNEL=="galcore", MODE="0660", GROUP="video" 23KERNEL=="galcore", MODE="0660", GROUP="video"
24KERNEL=="linux,cma*", NAME="dma_heap", MODE="0664", GROUP="video"
25KERNEL=="mali[0-9]", MODE="0664", GROUP="video"
26KERNEL=="pxp_device", MODE="0664", GROUP="video"
diff --git a/recipes-core/udev/udev-rules-qoriq/73-fsl-dpaa-persistent-networking.rules b/recipes-core/udev/udev-rules-qoriq/73-fsl-dpaa-persistent-networking.rules
index a96b9458e..c9a6d70bb 100644
--- a/recipes-core/udev/udev-rules-qoriq/73-fsl-dpaa-persistent-networking.rules
+++ b/recipes-core/udev/udev-rules-qoriq/73-fsl-dpaa-persistent-networking.rules
@@ -9,3 +9,12 @@ SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", ATTR{device_addr}=="1af0000", NAME="fm1-m
9 9
10# Rename macless0 to "macless0" 10# Rename macless0 to "macless0"
11SUBSYSTEM=="net", ATTR{device_type}=="macless0", NAME="macless0" 11SUBSYSTEM=="net", ATTR{device_type}=="macless0", NAME="macless0"
12
13# Rules for handling the Upstream DPAA ethernet ports
14SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1ae0000*", NAME="fm1-mac1"
15SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1ae2000*", NAME="fm1-mac2"
16SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1ae4000*", NAME="fm1-mac3"
17SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1ae6000*", NAME="fm1-mac4"
18SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1ae8000*", NAME="fm1-mac5"
19SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1aea000*", NAME="fm1-mac6"
20SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1af0000*", NAME="fm1-mac9"
diff --git a/recipes-core/udev/udev-rules-qoriq/74-ls1046a-xfi2-networking.rules b/recipes-core/udev/udev-rules-qoriq/74-ls1046a-xfi2-networking.rules
index 42931d475..79a10250a 100644
--- a/recipes-core/udev/udev-rules-qoriq/74-ls1046a-xfi2-networking.rules
+++ b/recipes-core/udev/udev-rules-qoriq/74-ls1046a-xfi2-networking.rules
@@ -1 +1,5 @@
1# Rules for handling the SDK DPAA ethernet ports
1SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", ATTR{device_addr}=="1af2000", NAME="fm1-mac10" 2SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", ATTR{device_addr}=="1af2000", NAME="fm1-mac10"
3
4# Rules for handling the Upstream DPAA ethernet ports
5SUBSYSTEM=="net", DRIVERS=="fsl_dpa*", KERNELS=="1af2000*", NAME="fm1-mac10"
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..cb415d66b 100644
--- a/recipes-devtools/qemu/qemu-qoriq_4.2.bb
+++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
@@ -15,9 +15,7 @@ SRC_URI = "gitsm://github.com/nxp-qoriq/qemu;protocol=https;nobranch=1 \
15 file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \ 15 file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
16 " 16 "
17 17
18SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b" 18SRCREV = "a46ddbbe661677dcfa342f00ab7ab71e5f6f1a09"
19
20S = "${WORKDIR}/git"
21 19
22python() { 20python() {
23 d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', '')) 21 d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', ''))
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/0001-tools-Mark-struct-input_field-file_field-extern.patch b/recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
deleted file mode 100644
index d25675aae..000000000
--- a/recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From 81ec65e72f357fb2c395e40c5195434bbaddf7f7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 16 May 2020 08:21:52 -0700
4Subject: [PATCH] tools: Mark struct input_field file_field extern
5
6This struct is already defined in common/parse_utils.c
7
8Upstream-Status: Pending
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 tools/header_generation/create_hdr_common.c | 2 +-
12 tools/pbi_creation/create_pbi_common.c | 2 +-
13 2 files changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/tools/header_generation/create_hdr_common.c b/tools/header_generation/create_hdr_common.c
16index bfa90a3..edf632c 100644
17--- a/tools/header_generation/create_hdr_common.c
18+++ b/tools/header_generation/create_hdr_common.c
19@@ -39,7 +39,7 @@
20 #include <crypto_utils.h>
21
22 extern struct g_data_t gd;
23-struct input_field file_field;
24+extern struct input_field file_field;
25
26 extern char line_data[];
27 static struct option long_options[] = {
28diff --git a/tools/pbi_creation/create_pbi_common.c b/tools/pbi_creation/create_pbi_common.c
29index ff2ed84..bd976da 100644
30--- a/tools/pbi_creation/create_pbi_common.c
31+++ b/tools/pbi_creation/create_pbi_common.c
32@@ -57,7 +57,7 @@ static char *parse_list[] = {
33
34 extern struct g_data_t gd;
35 extern char line_data[];
36-struct input_field file_field;
37+extern struct input_field file_field;
38
39 #define NUM_PARSE_LIST (sizeof(parse_list) / sizeof(char *))
40
41--
422.26.2
43
diff --git a/recipes-devtools/qoriq-cst/qoriq-cst_git.bb b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
index 8d3458363..eb01f5427 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"
@@ -16,12 +16,8 @@ inherit kernel-arch
16#SECURE_PRI_KEY = "/path/srk.pri" 16#SECURE_PRI_KEY = "/path/srk.pri"
17#SECURE_PUB_KEY = "/path/srk.pub" 17#SECURE_PUB_KEY = "/path/srk.pub"
18 18
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 \ 20SRCREV = "892d2ed3207d78a3cb5533eeb91bcc73967e3e36"
21"
22SRCREV = "af56e6c5c66dd2bc86a83b0bee8cb61b88d2120c"
23
24S = "${WORKDIR}/git"
25 21
26EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"' 22EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
27CFLAGS:append = ' -Wno-deprecated-declarations' 23CFLAGS:append = ' -Wno-deprecated-declarations'
@@ -41,3 +37,5 @@ do_install () {
41 37
42FILES:${PN}-dbg += "${bindir}/cst/.debug" 38FILES:${PN}-dbg += "${bindir}/cst/.debug"
43BBCLASSEXTEND = "native nativesdk" 39BBCLASSEXTEND = "native nativesdk"
40INSANE_SKIP:${PN}-dbg += " buildpaths"
41
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-bin_1.5.165.bb b/recipes-devtools/uuu/uuu-bin_1.5.233.bb
index 61c3927ca..ec2f40e00 100644
--- a/recipes-devtools/uuu/uuu-bin_1.5.165.bb
+++ b/recipes-devtools/uuu/uuu-bin_1.5.233.bb
@@ -11,20 +11,23 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec
11 11
12SRC_URI = " \ 12SRC_URI = " \
13 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu;downloadfilename=uuu-${PV};name=Linux \ 13 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu;downloadfilename=uuu-${PV};name=Linux \
14 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac;downloadfilename=uuu-${PV}_mac;name=Mac \ 14 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac_x86;downloadfilename=uuu-${PV}_mac_x86;name=Mac_x86 \
15 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac_arm;downloadfilename=uuu-${PV}_mac_arm;name=Mac_arm \
15 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu.exe;downloadfilename=uuu-${PV}.exe;name=Windows \ 16 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu.exe;downloadfilename=uuu-${PV}.exe;name=Windows \
16" 17"
17 18
18SRC_URI[Linux.sha256sum] = "f863bba022202361d19e5026be0af408d307f78d2dbf2c139fb7eaaabd220442" 19SRC_URI[Linux.sha256sum] = "c609fe6c4d9656102f7e3139a70488ba3988c33332486c89e5fc6d85ccedd96a"
19SRC_URI[Mac.sha256sum] = "62da0bd7e333931fba100823aa50133621c7e6047be0546bc12e29c0ea78a4d8" 20SRC_URI[Mac_x86.sha256sum] = "cdbacab592661900d46e7f97f9c7dd8a720bf46b1c17f4dbb65adb372f5fc6cf"
20SRC_URI[Windows.sha256sum] = "013ed8bb45e21b971b6b3a5802c5f154733913714bece0b020cb770a809cd206" 21SRC_URI[Mac_arm.sha256sum] = "6f8854946dfbeeb36894baf0f5f555b918974d465f4b541457e65c926fdd6a6a"
22SRC_URI[Windows.sha256sum] = "a3c7241650c05dd6373a6aef086b34322c013103da729c1b446ec86694309939"
21 23
22inherit allarch 24inherit allarch
23 25
24do_install() { 26do_install() {
25 install -D -m 0755 ${UNPACKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu 27 install -D -m 0755 ${UNPACKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu
26 install -D -m 0755 ${UNPACKDIR}/uuu-${PV}_mac ${D}${libdir}/uuu/uuu_mac 28 install -D -m 0755 ${UNPACKDIR}/uuu-${PV}_mac_x86 ${D}${libdir}/uuu/uuu_mac_x86
27 install -D -m 0644 ${UNPACKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe 29 install -D -m 0755 ${UNPACKDIR}/uuu-${PV}_mac_arm ${D}${libdir}/uuu/uuu_mac_arm
30 install -D -m 0644 ${UNPACKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe
28} 31}
29 32
30# HACK! We are not aiming to run those binaries during the build but copy then for MFGTOOL bundle. 33# HACK! We are not aiming to run those binaries during the build but copy then for MFGTOOL bundle.
diff --git a/recipes-devtools/uuu/uuu_git.bb b/recipes-devtools/uuu/uuu_git.bb
index e48698a8b..3af8bc569 100644
--- a/recipes-devtools/uuu/uuu_git.bb
+++ b/recipes-devtools/uuu/uuu_git.bb
@@ -3,16 +3,14 @@ DESCRIPTION = "Image deploy tool for i.MX chips"
3HOMEPAGE = "https://github.com/nxp-imx/mfgtools" 3HOMEPAGE = "https://github.com/nxp-imx/mfgtools"
4 4
5SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master" 5SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master"
6SRCREV = "7347a80c7a943dd7e9081d9d2bab9e6ca8e0ba07" 6SRCREV = "79ce7d2b2e7459e7b7c94f902d172c30b08884ab"
7PV = "1.5.165" 7PV = "1.5.233"
8 8
9LICENSE = "BSD-3-Clause" 9LICENSE = "BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5" 10LIC_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/glslang/glslang/0001-generate-glslang-pkg-config.patch b/recipes-downgrade/glslang/glslang/0001-generate-glslang-pkg-config.patch
new file mode 100644
index 000000000..337a999bf
--- /dev/null
+++ b/recipes-downgrade/glslang/glslang/0001-generate-glslang-pkg-config.patch
@@ -0,0 +1,46 @@
1From 4cede5edcff96134baf35953d58595c4aa5f1fc5 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 7 Feb 2021 01:30:39 +0000
4Subject: [PATCH] generate glslang pkg-config
5
6Based on https://src.fedoraproject.org/rpms/glslang/blob/main/f/0001-pkg-config-compatibility.patch
7
8Upstream-Status: Inappropriate [independently developed patch submitted at https://github.com/KhronosGroup/glslang/pull/3371]
9
10Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
11---
12 glslang/CMakeLists.txt | 2 ++
13 glslang/glslang.pc.cmake.in | 11 +++++++++++
14 2 files changed, 13 insertions(+)
15 create mode 100644 glslang/glslang.pc.cmake.in
16
17diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
18index 37eecaad..6974935c 100644
19--- a/glslang/CMakeLists.txt
20+++ b/glslang/CMakeLists.txt
21@@ -251,6 +251,8 @@ if(PROJECT_IS_TOP_LEVEL)
22 ")
23 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
24 endif()
25+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
26+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
27
28 set(PUBLIC_HEADERS
29 Public/ResourceLimits.h
30diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in
31new file mode 100644
32index 00000000..43104e68
33--- /dev/null
34+++ b/glslang/glslang.pc.cmake.in
35@@ -0,0 +1,11 @@
36+prefix=@CMAKE_INSTALL_PREFIX@
37+exec_prefix=@CMAKE_INSTALL_PREFIX@
38+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
39+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
40+
41+Name: @PROJECT_NAME@
42+Description: OpenGL and OpenGL ES shader front end and validator
43+Requires:
44+Version: @GLSLANG_VERSION@
45+Libs: -L${libdir} -lglslang -lHLSL -lSPVRemapper
46+Cflags: -I${includedir}
diff --git a/recipes-downgrade/glslang/glslang/0002-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch b/recipes-downgrade/glslang/glslang/0002-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch
new file mode 100644
index 000000000..9f9270e6e
--- /dev/null
+++ b/recipes-downgrade/glslang/glslang/0002-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch
@@ -0,0 +1,33 @@
1From e40c14a3e007fac0e4f2e4164fdf14d1712355bd Mon Sep 17 00:00:00 2001
2From: Sergei Trofimovich <slyich@gmail.com>
3Date: Fri, 2 Aug 2024 22:44:21 +0100
4Subject: [PATCH] SPIRV/SpvBuilder.h: add missing <cstdint> include
5
6Without the change `glslang` build fails on upcoming `gcc-15` as:
7
8 In file included from /build/source/SPIRV/GlslangToSpv.cpp:45:
9 SPIRV/SpvBuilder.h:248:30: error: 'uint32_t' has not been declared
10 248 | Id makeDebugLexicalBlock(uint32_t line);
11 | ^~~~~~~~
12---
13 SPIRV/SpvBuilder.h | 1 +
14 1 file changed, 1 insertion(+)
15
16Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/e40c14a3e007fac0e4f2e4164fdf14d1712355bd]
17Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
18
19diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
20index f86dd81b3..d688436a6 100644
21--- a/SPIRV/SpvBuilder.h
22+++ b/SPIRV/SpvBuilder.h
23@@ -56,6 +56,7 @@ namespace spv {
24 }
25
26 #include <algorithm>
27+#include <cstdint>
28 #include <map>
29 #include <memory>
30 #include <set>
31--
322.34.1
33
diff --git a/recipes-downgrade/glslang/glslang_1.3.275.0.imx.bb b/recipes-downgrade/glslang/glslang_1.3.275.0.imx.bb
new file mode 100644
index 000000000..7b3c2f606
--- /dev/null
+++ b/recipes-downgrade/glslang/glslang_1.3.275.0.imx.bb
@@ -0,0 +1,36 @@
1SUMMARY = "OpenGL / OpenGL ES Reference Compiler"
2DESCRIPTION = "Glslang is the official reference compiler front end for the \
3OpenGL ES and OpenGL shading languages. It implements a strict interpretation \
4of the specifications for these languages. It is open and free for anyone to use, \
5either from a command line or programmatically."
6SECTION = "graphics"
7HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler"
8LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3"
10
11SRCREV = "a91631b260cba3f22858d6c6827511e636c2458a"
12SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \
13 file://0001-generate-glslang-pkg-config.patch \
14 file://0002-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch"
15PE = "1"
16# These recipes need to be updated in lockstep with each other:
17# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
18# vulkan-validation-layers, vulkan-utility-libraries.
19# The tags versions should always be sdk-x.y.z, as this is what
20# upstream considers a release.
21UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
22
23inherit cmake python3native
24
25DEPENDS = "spirv-tools"
26
27EXTRA_OECMAKE = " \
28 -DCMAKE_BUILD_TYPE=Release \
29 -DBUILD_SHARED_LIBS=ON \
30 -DENABLE_PCH=OFF \
31 -DENABLE_CTEST=OFF \
32 -DBUILD_EXTERNAL=OFF \
33 -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \
34"
35
36BBCLASSEXTEND = "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..2276ac3c6 100644
--- a/recipes-dpaa/fmlib/fmlib_git.bb
+++ b/recipes-dpaa/fmlib/fmlib_git.bb
@@ -6,9 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=9c7bd5e45d066db084bdb3543d55b1ac"
6PR = "r1" 6PR = "r1"
7 7
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 = "7a58ecaf0d90d71d6b78d3ac7998282a472c4394"
10
11S = "${WORKDIR}/git"
12 10
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"
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..a40b1672e 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -4,16 +4,14 @@ LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=956df5ea6cfe0a1dcf2dee7ca37c0cdf" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=956df5ea6cfe0a1dcf2dee7ca37c0cdf"
5 5
6SRC_URI = "git://github.com/nxp-qoriq/dce;protocol=https;nobranch=1 \ 6SRC_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=${S}/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/files/disable-manpage-generation.patch b/recipes-dpaa2/restool/files/disable-manpage-generation.patch
deleted file mode 100644
index 34f2ae2d0..000000000
--- a/recipes-dpaa2/restool/files/disable-manpage-generation.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From 5392152e704ff001c41de03445d668227237a87e Mon Sep 17 00:00:00 2001
2From: Ting Liu <ting.liu@nxp.com>
3Date: Fri, 15 Oct 2021 09:36:04 +0530
4Subject: [PATCH] disable manpage generation
5
6Upstream-Status: Inappropriate [Cross-compile specific]
7Signed-off-by: Ting Liu <ting.liu@nxp.com>
8---
9 Makefile | 1 -
10 1 file changed, 1 deletion(-)
11
12diff --git a/Makefile b/Makefile
13index ee669ae..ab6e499 100644
14--- a/Makefile
15+++ b/Makefile
16@@ -60,7 +60,6 @@ install: restool scripts/ls-main scripts/ls-append-dpl scripts/ls-debug scripts/
17 install -D -m 755 scripts/ls-debug $(DESTDIR)$(bindir)/ls-debug
18 $(foreach symlink, $(RESTOOL_SCRIPT_SYMLINKS), sh -c "cd $(DESTDIR)$(bindir) && ln -sf ls-main $(symlink)" ;)
19 install -D -m 755 scripts/restool_completion.sh $(DESTDIR)$(bindir_completion)/restool
20- install -m 0644 -D $(MANPAGE) $(call get_manpage_destination,$(MANPAGE))
21
22 clean:
23 rm -f $(OBJ) $(MANPAGE) \
24--
252.25.1
26
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 1d1aeffe2..596625ece 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -1,13 +1,9 @@
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 \ 6SRCREV = "8f73f2600111440d034227966d6ff03ec47d8f1a"
7"
8SRCREV = "46604e41f4c7e54efa62503c6b4629321b21e056"
9
10S = "${WORKDIR}/git"
11 7
12inherit bash-completion 8inherit bash-completion
13 9
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/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch b/recipes-extended/jailhouse/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch
new file mode 100644
index 000000000..c1e3eaa25
--- /dev/null
+++ b/recipes-extended/jailhouse/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch
@@ -0,0 +1,113 @@
1From 2be7793ca658015470fe0d60c0c973e12ce68d73 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Thu, 12 Jun 2025 06:49:58 -0700
4Subject: [PATCH 1/2] YOCIMX-9281-1: Fix gcc15 errors
5
6Fix several instances of the following errors:
7
8```
9| inmates/lib/include/inmate_common.h:87:16: error: cannot use keyword 'true' as enumeration constant
10| 87 | typedef enum { true = 1, false = 0 } bool;
11| | ^~~~
12```
13
14```
15| In file included from configs/arm64/hikey.c:16:
16| include/jailhouse/cell-config.h:318:41: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (6 chars into 5 available) [-Werror=unterminated-string-initialization]
17| 318 | #define JAILHOUSE_SYSTEM_SIGNATURE "JHSYS"
18| | ^~~~~~~
19| configs/arm64/hikey.c:26:30: note: in expansion of macro 'JAILHOUSE_SYSTEM_SIGNATURE'
20| 26 | .signature = JAILHOUSE_SYSTEM_SIGNATURE,
21| | ^~~~~~~~~~~~~~~~~~~~~~~~~~
22```
23
24Upstream-Status: Backport [Pending]
25Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
26Signed-off-by: Peng Fan <peng.fan@nxp.com>
27---
28 hypervisor/include/jailhouse/header.h | 2 +-
29 hypervisor/include/jailhouse/types.h | 2 ++
30 include/jailhouse/cell-config.h | 4 ++--
31 include/jailhouse/hypercall.h | 2 +-
32 inmates/lib/include/inmate_common.h | 2 ++
33 5 files changed, 8 insertions(+), 4 deletions(-)
34
35diff --git a/hypervisor/include/jailhouse/header.h b/hypervisor/include/jailhouse/header.h
36index 518bc5cb..324eb94b 100644
37--- a/hypervisor/include/jailhouse/header.h
38+++ b/hypervisor/include/jailhouse/header.h
39@@ -55,7 +55,7 @@ struct jailhouse_header {
40 /** Signature "JAILHOUS" used for basic validity check of the
41 * hypervisor image.
42 * @note Filled at build time. */
43- char signature[8];
44+ char signature[8] __attribute__ ((nonstring));
45 /** Size of hypervisor core.
46 * It starts with the hypervisor's header and ends after its bss
47 * section. Rounded up to page boundary.
48diff --git a/hypervisor/include/jailhouse/types.h b/hypervisor/include/jailhouse/types.h
49index 6d78ad6d..f79d7428 100644
50--- a/hypervisor/include/jailhouse/types.h
51+++ b/hypervisor/include/jailhouse/types.h
52@@ -19,7 +19,9 @@
53
54 #ifndef __ASSEMBLY__
55
56+#if __GNUC__ < 15
57 typedef enum { true = 1, false = 0 } bool;
58+#endif
59
60 /** Describes a CPU set. */
61 struct cpu_set {
62diff --git a/include/jailhouse/cell-config.h b/include/jailhouse/cell-config.h
63index 17d59306..affce1c2 100644
64--- a/include/jailhouse/cell-config.h
65+++ b/include/jailhouse/cell-config.h
66@@ -91,7 +91,7 @@
67 * structure.
68 */
69 struct jailhouse_cell_desc {
70- char signature[5];
71+ char signature[5] __attribute__ ((nonstring));
72 __u8 architecture;
73 __u16 revision;
74
75@@ -330,7 +330,7 @@ struct jailhouse_pio {
76 * General descriptor of the system.
77 */
78 struct jailhouse_system {
79- char signature[5];
80+ char signature[5] __attribute__ ((nonstring));
81 __u8 architecture;
82 __u16 revision;
83
84diff --git a/include/jailhouse/hypercall.h b/include/jailhouse/hypercall.h
85index 07574d3d..cf58a4c9 100644
86--- a/include/jailhouse/hypercall.h
87+++ b/include/jailhouse/hypercall.h
88@@ -107,7 +107,7 @@
89
90 #define COMM_REGION_GENERIC_HEADER \
91 /** Communication region magic JHCOMM */ \
92- char signature[6]; \
93+ char signature[6] __attribute__ ((nonstring)); \
94 /** Communication region ABI revision */ \
95 __u16 revision; \
96 /** Cell state, initialized by hypervisor, updated by cell. */ \
97diff --git a/inmates/lib/include/inmate_common.h b/inmates/lib/include/inmate_common.h
98index 1c20a0af..43cd7a20 100644
99--- a/inmates/lib/include/inmate_common.h
100+++ b/inmates/lib/include/inmate_common.h
101@@ -84,7 +84,9 @@ typedef u32 __u32;
102 typedef s64 __s64;
103 typedef u64 __u64;
104
105+#if __GNUC__ < 15
106 typedef enum { true = 1, false = 0 } bool;
107+#endif
108
109 #include <jailhouse/hypercall.h>
110
111--
1122.34.1
113
diff --git a/recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch b/recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch
new file mode 100644
index 000000000..4c8fefa36
--- /dev/null
+++ b/recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch
@@ -0,0 +1,34 @@
1From 98f6f8dc23d6b3d4fe5b15045ccb3d3ef36747be Mon Sep 17 00:00:00 2001
2From: Peng Fan <peng.fan@nxp.com>
3Date: Mon, 25 Aug 2025 09:48:05 +0800
4Subject: [PATCH 2/2] YOCIMX-9281-2: hypervisor: arm64: fix strh usage
5
6hypervisor/arch/arm64/entry.S:555: Error: immediate offset out of range
7
8Per ARM spec:
9STRH (immediate)
10<pimm> Is the optional positive immediate byte offset, a multiple of 2 in
11the range 0 to 8190, defaulting to 0 and encoded in the "imm12" field
12as <pimm>/2.
13
14So align sdei_event to 2 bytes aligned.
15
16Upstream-Status: Pending
17Signed-off-by: Peng Fan <peng.fan@nxp.com>
18---
19 hypervisor/arch/arm64/include/asm/percpu_fields.h | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/hypervisor/arch/arm64/include/asm/percpu_fields.h b/hypervisor/arch/arm64/include/asm/percpu_fields.h
23index 32f42a53..844a9417 100644
24--- a/hypervisor/arch/arm64/include/asm/percpu_fields.h
25+++ b/hypervisor/arch/arm64/include/asm/percpu_fields.h
26@@ -18,4 +18,4 @@
27 bool suspended; \
28 bool suspending; \
29 bool resuming; \
30- bool sdei_event;
31+ bool sdei_event __attribute__((aligned(2)));
32--
332.34.1
34
diff --git a/recipes-extended/jailhouse/jailhouse-imx_git.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb
index e4c34d7c1..4bcb597e7 100644
--- a/recipes-extended/jailhouse/jailhouse-imx_git.bb
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -16,12 +16,16 @@ 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.12.20_2.0.0"
20SRCREV = "ce11ba42dfa34f96aca76016a51d21e5d2539001" 20SRCREV = "399d65450e9a377b4aaff4b0627619174e1c8c46"
21
22PV = "2023.03+git${SRCPV}"
21 23
22IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https" 24IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https"
23SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \ 25SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \
24 file://arm-arm64-Makefile-Remove-march-option-from-Makefile.patch \ 26 file://arm-arm64-Makefile-Remove-march-option-from-Makefile.patch \
27 file://0001-YOCIMX-9281-1-Fix-gcc15-errors.patch \
28 file://0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch \
25 " 29 "
26 30
27DEPENDS = " \ 31DEPENDS = " \
@@ -33,7 +37,6 @@ DEPENDS = " \
33 37
34inherit module bash-completion deploy setuptools3 38inherit module bash-completion deploy setuptools3
35 39
36S = "${WORKDIR}/git"
37B = "${S}" 40B = "${S}"
38 41
39JH_ARCH = "arm64" 42JH_ARCH = "arm64"
@@ -107,6 +110,12 @@ RDEPENDS:pyjailhouse = " \
107 python3-shell \ 110 python3-shell \
108" 111"
109 112
110INSANE_SKIP:${PN} = "ldflags" 113INSANE_SKIP:${PN} = "ldflags buildpaths"
114INSANE_SKIP:${PN}-dbg = "buildpaths"
115
116# The QA error in package kernel-module-${KERNEL_VERSION} cannot be skipped with
117# INSANE_SKIP, so adjust at the ERROR_QA level
118ERROR_QA:remove = "buildpaths"
119INSANE_SKIP:kernel-module-${KERNEL_VERSION} = "buildpaths"
111 120
112COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)" 121COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)"
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..412667f01 100644
--- a/recipes-extended/odp/odp.inc
+++ b/recipes-extended/odp/odp.inc
@@ -10,8 +10,8 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/odp:"
10 10
11SRC_URI = " \ 11SRC_URI = " \
12git://github.com/nxp-qoriq/odp;protocol=https;nobranch=1 \ 12git://github.com/nxp-qoriq/odp;protocol=https;nobranch=1 \
13git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/platform/linux-dpaa2/flib/qbman \ 13git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=${S}/platform/linux-dpaa2/flib/qbman \
14git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1;name=rta;destsuffix=git/platform/linux-dpaa2/flib/rta \ 14git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1;name=rta;destsuffix=${S}/platform/linux-dpaa2/flib/rta \
15" 15"
16 16
17SRC_URI += "file://0001-Fix-this-build-error.patch" 17SRC_URI += "file://0001-Fix-this-build-error.patch"
@@ -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..389e46bba 100644
--- a/recipes-fsl/mcore-demos/README
+++ b/recipes-fsl/mcore-demos/README
@@ -1,10 +1,13 @@
1The M4 demo app version of each SoCs are followed: 1The M4 demo app version of each SoCs are followed:
2* 2.16.000 -- i.MX 7ULP, 8MQ, 8MM 2* 2.16.000 -- i.MX 7ULP
3* 25.03.00 -- i.MX 8MQ, 8MM
3* 2.9.0 -- i.MX 8DXL, 8QM, 8QXP 4* 2.9.0 -- i.MX 8DXL, 8QM, 8QXP
4* 1.0.1 -- i.MX 7D 5* 1.0.1 -- i.MX 7D
5 6
6The M7 demo app version of each SoCs are followed: 7The M7 demo app version of each SoCs are followed:
7* 2.16.000 -- i.MX 8MP , 8MNULite, 8MN, i.MX95 8* 25.03.00 -- i.MX 8MP , 8MNULite, 8MN
9* 25.06.00 -- i.MX95
8 10
9The M33 demo app version of each SoCs are followed: 11The M33 demo app version of each SoCs are followed:
10* 2.16.000 -- i.MX 8ULP, i.MX 93 12* 25.03.00 -- i.MX 8ULP
13* 25.06.00 -- 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
deleted file mode 100644
index 430182ae3..000000000
--- a/recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb
+++ /dev/null
@@ -1,15 +0,0 @@
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:mx8ulp-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
7LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
8
9SRC_URI[imx8ulp.md5sum] = "9db44ac8ae50c2ce37072c89d54bf794"
10SRC_URI[imx8ulp.sha256sum] = "2d1d48eb3f01d020917f42281581835a3c085233e9764ec845940c1e49ac317b"
11
12SRC_URI[imx93.md5sum] = "293b097136b5c2c857057d1724b468ac"
13SRC_URI[imx93.sha256sum] = "c954b9bc32cfdea9b696fa0b02f934812054e3ab445b5dd8eb7898d427e47526"
14
15COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_25.03.00.bb b/recipes-fsl/mcore-demos/imx-m33-demos_25.03.00.bb
new file mode 100644
index 000000000..3f4bdf04e
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m33-demos_25.03.00.bb
@@ -0,0 +1,11 @@
1# Copyright 2023-2025 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx8ulp-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
7
8SRC_URI[imx8ulp.sha256sum] = "8147efc6b1da5aa9bbda8cc06c8aa0d03455f74d8c85a988db5e3f839717e190"
9
10COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)"
11
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_25.06.00.bb b/recipes-fsl/mcore-demos/imx-m33-demos_25.06.00.bb
new file mode 100644
index 000000000..75add4585
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m33-demos_25.06.00.bb
@@ -0,0 +1,11 @@
1# Copyright 2023-2025 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
7
8SRC_URI[imx93.sha256sum] = "275256ab9a7aca0b72dbd2ddb4f237f2ad9b02a83ae63242b2d9e6804a918b93"
9
10COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
11
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..749433ca0 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
@@ -4,16 +4,7 @@
4require imx-mcore-demos.inc 4require imx-mcore-demos.inc
5 5
6LIC_FILES_CHKSUM:mx7ulp-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" 6LIC_FILES_CHKSUM:mx7ulp-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"
9 7
10SRC_URI[imx7ulp.md5sum] = "f971b57a6787adf24bf1135b69847c65"
11SRC_URI[imx7ulp.sha256sum] = "1fbb26f8e0a69a2e3925e07cf0cc4a13b13e3ff6321a2ba3dc39c454c82b398b" 8SRC_URI[imx7ulp.sha256sum] = "1fbb26f8e0a69a2e3925e07cf0cc4a13b13e3ff6321a2ba3dc39c454c82b398b"
12 9
13SRC_URI[imx8mm.md5sum] = "fe3d6cba7ad25f90f4cfdf22221ddd21" 10COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp)"
14SRC_URI[imx8mm.sha256sum] = "a335b54b797c37be05c5b4e6aeabd02099f401de907186723361d1fc25ea3f24"
15
16SRC_URI[imx8mq.md5sum] = "e6da3b5fda929ac6989c7aa7633a9ab6"
17SRC_URI[imx8mq.sha256sum] = "09b7195ce553dae5808afcefaf6f76c79f7122ce4dd31fabd679b768607dea25"
18
19COMPATIBLE_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-m4-demos_25.03.00.bb b/recipes-fsl/mcore-demos/imx-m4-demos_25.03.00.bb
new file mode 100644
index 000000000..7c59ccfba
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_25.03.00.bb
@@ -0,0 +1,13 @@
1# Copyright 2017-2025 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx8mm-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
7LIC_FILES_CHKSUM:mx8mq-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
8
9SRC_URI[imx8mm.sha256sum] = "30fcf9032a3bd71211b8df03c654acf98d5dd4631d18a34635d5b1ba61201d6c"
10SRC_URI[imx8mq.sha256sum] = "652c0521587d9594d56115b549b23d75ea598237f36a79d5a7eede97d9f56574"
11
12COMPATIBLE_MACHINE = "(mx8mm-nxp-bsp|mx8mq-nxp-bsp)"
13
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
deleted file mode 100644
index fab57a7f7..000000000
--- a/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb
+++ /dev/null
@@ -1,26 +0,0 @@
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:mx8mn-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
7LIC_FILES_CHKSUM:mx8mnul-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
8
9LIC_FILES_CHKSUM:mx8mp-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
10LIC_FILES_CHKSUM:mx8mpul-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
11
12LIC_FILES_CHKSUM:mx95-nxp-bsp = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
13
14SRC_URI[imx8mn.md5sum] = "b7e2733d8f6c9469b52b36cf6dad1c5e"
15SRC_URI[imx8mn.sha256sum] = "ab608d621c8d74f42514799a732414184bd22f058a8a87a0ab75147a0fd5d99c"
16
17SRC_URI[imx8mnddr3l.md5sum] = "c99fdb271ab42390537845a6beb15cf3"
18SRC_URI[imx8mnddr3l.sha256sum] = "9c9477db2581640395ec3bc7524f89c2c09ffd2947d9186959343a8cf764ad28"
19
20SRC_URI[imx8mp.md5sum] = "4260822516833e8cedec61dd5be24e3e"
21SRC_URI[imx8mp.sha256sum] = "672af1e1d8fcc1ebd12b45c6dc4cfc7abc85ea9ebbf114d15f4bfe7540e24ea1"
22
23SRC_URI[imx95.md5sum] = "f9576f3a4fe730c111c877344ea93427"
24SRC_URI[imx95.sha256sum] = "8d394b62a4fbad8303acf43f9f8672e5d1c17f1af8f47d7665740272819c0cc1"
25
26COMPATIBLE_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_25.03.00.bb b/recipes-fsl/mcore-demos/imx-m7-demos_25.03.00.bb
new file mode 100644
index 000000000..0527ddffd
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_25.03.00.bb
@@ -0,0 +1,19 @@
1# Copyright 2023-2025 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx8mn-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
7LIC_FILES_CHKSUM:mx8mnul-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
8
9LIC_FILES_CHKSUM:mx8mp-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
10LIC_FILES_CHKSUM:mx8mpul-nxp-bsp = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
11
12SRC_URI[imx8mn.sha256sum] = "66e160a4267efcd2660b932d46ad6bcc645c9f2865c8ea873d4194d67fcf342c"
13
14SRC_URI[imx8mnddr3l.sha256sum] = "45c770ed5539c5e0d5dd8aee2ad0a6ef91b28c99be3aaa9f336bda6ec34a7083"
15
16SRC_URI[imx8mp.sha256sum] = "94b85ec4dcbf1664a8997e3cfb7bde6b7f1e5825482096302971a7da853b145f"
17
18COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp|mx8mp-nxp-bsp|mx8mpul-nxp-bsp)"
19
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_25.06.00.bb b/recipes-fsl/mcore-demos/imx-m7-demos_25.06.00.bb
new file mode 100644
index 000000000..608b2dc45
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_25.06.00.bb
@@ -0,0 +1,11 @@
1# Copyright 2023-2025 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=a93b654673e1bc8398ed1f30e0813359"
7
8SRC_URI[imx95.sha256sum] = "8b33ca53bd2692ba92fe928c42d0ec75f1abd3f33879f71660efca9983e9eb88"
9
10COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
11
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.4.0.0.bb
index 23168ae16..4e3444b9d 100644
--- a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.14.bb
+++ b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.4.0.0.bb
@@ -1,31 +1,29 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2024 NXP 2# Copyright 2017-2025 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 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=a93b654673e1bc8398ed1f30e0813359"
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 = "9e8bbf1"
19IMX_SRC_URI_NAME = "v1" 19IMX_SRC_URI_NAME = "v1"
20SRC_URI[v1.md5sum] = "470ad0bdef7dec171395991d47b39e2c" 20SRC_URI[v1.sha256sum] = "67be9b56a5d2196613460d3cc3a734d7a088e2177377e27f83287766d5d8cf70"
21SRC_URI[v1.sha256sum] = "4d8e4b536bd24eedfbce375a06c19ab74603291b8b5a5be36b03fbf6e016e940"
22 21
23IMX_SRCREV_ABBREV:mx95-nxp-bsp = "6a00326" 22IMX_SRCREV_ABBREV:imxmali = "9e8bbf1"
24IMX_SRC_URI_NAME:mx95-nxp-bsp = "v2" 23IMX_SRC_URI_NAME:imxmali = "v2"
25SRC_URI[v2.md5sum] = "cf807c38a110763c19a12d6d595b4b09" 24SRC_URI[v2.sha256sum] = "f56dae607f89e0f414625657d8345c5d1b68b79d3ac61e50016fbe4d49a91402"
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..98e976100 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.4+git"
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.4"
13SRCREV = "431f311a41ca052902ea0d6445e74defe0a4df2d" 13SRCREV = "7d12c50c07d73650b4c97906ce917aff429238f8"
14
15S = "${WORKDIR}/git"
16 14
17inherit pkgconfig 15inherit pkgconfig
18 16
@@ -23,6 +21,7 @@ PACKAGECONFIG_IMPLEMENTATION:mx95-nxp-bsp = "dpu95"
23PACKAGECONFIG_IMPLEMENTATION:imxgpu2d = "gpu-drm" 21PACKAGECONFIG_IMPLEMENTATION:imxgpu2d = "gpu-drm"
24PACKAGECONFIG_IMPLEMENTATION:imxgpu2d:imxfbdev = "gpu-fbdev" 22PACKAGECONFIG_IMPLEMENTATION:imxgpu2d:imxfbdev = "gpu-fbdev"
25PACKAGECONFIG_IMPLEMENTATION:mx93-nxp-bsp = "pxp" 23PACKAGECONFIG_IMPLEMENTATION:mx93-nxp-bsp = "pxp"
24PACKAGECONFIG_IMPLEMENTATION:mx943-nxp-bsp = "pxp"
26 25
27PACKAGECONFIG[dpu] = " \ 26PACKAGECONFIG[dpu] = " \
28 BUILD_IMPLEMENTATION=dpu, \ 27 BUILD_IMPLEMENTATION=dpu, \
@@ -73,4 +72,4 @@ FILES:${PN} += "/opt"
73 72
74PACKAGE_ARCH = "${MACHINE_SOCARCH}" 73PACKAGE_ARCH = "${MACHINE_SOCARCH}"
75 74
76COMPATIBLE_MACHINE = "(imxgpu2d|mx93-nxp-bsp|mx95-nxp-bsp)" 75COMPATIBLE_MACHINE = "(imxgpu2d|mx93-nxp-bsp|mx943-nxp-bsp|mx95-nxp-bsp)"
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.2.bb
index d12d9c1a8..d1f23d910 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.2.bb
@@ -1,23 +1,21 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2024 NXP 2# Copyright 2017-2022 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 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=a93b654673e1bc8398ed1f30e0813359"
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 = "3c5e429"
15SRC_URI[aarch64.md5sum] = "4b12d0434d612b57ff4d7df690c3154f" 15SRC_URI[aarch64.sha256sum] = "190bc9203e60e5de508e1dcf057b36d2c9bc3667c6972fd12f7df797e508a22d"
16SRC_URI[aarch64.sha256sum] = "b2e4c580bf887042f479fde7c8b07c6215794d8123263d10ff0c167af7ba5918" 16SRC_URI[arm.sha256sum] = "aaf9a38fe446af579b16a836bf297f8cb1b2842ca3a784bedc21e32d37271ab4"
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..8165c0c62 100644
--- a/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
+++ b/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
@@ -1,29 +1,29 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright 2017-2025 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=a93b654673e1bc8398ed1f30e0813359"
8 8
9PROVIDES += "virtual/libg2d" 9PROVIDES += "virtual/libg2d"
10 10
11PV = "2.1.0+git${SRCPV}" 11PV = "2.4+git"
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.4"
16SRCREV = "edd234c4e1c58cd2453963d19155d4d5d3800d07" 16SRCREV = "c3368ea82e4507d7b35aee258c28d04f9f8fb8e9"
17
18S = "${WORKDIR}/git"
19 17
20inherit use-imx-headers 18inherit use-imx-headers
21 19
22EXTRA_OEMAKE = "PLATFORM=IMX93 INCLUDE='-I${STAGING_INCDIR_IMX}' DEST_DIR=${D}" 20EXTRA_OEMAKE = "PLATFORM=${IMX_PLATFORM} INCLUDE='-I${STAGING_INCDIR_IMX}' DEST_DIR=${D}"
21IMX_PLATFORM:mx93-nxp-bsp = "IMX93"
22IMX_PLATFORM:mx943-nxp-bsp = "IMX943"
23 23
24do_install() { 24do_install() {
25 oe_runmake install 25 oe_runmake install
26} 26}
27 27
28PACKAGE_ARCH = "${MACHINE_SOCARCH}" 28PACKAGE_ARCH = "${MACHINE_SOCARCH}"
29COMPATIBLE_MACHINE = "(mx93-nxp-bsp)" 29COMPATIBLE_MACHINE = "(mx93-nxp-bsp|mx943-nxp-bsp)"
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..fce1e53ec 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 \
@@ -46,14 +46,11 @@ PROVIDES_OPENCL = " \
46 opencl-headers \ 46 opencl-headers \
47 opencl-clhpp \ 47 opencl-clhpp \
48 opencl-icd-loader \ 48 opencl-icd-loader \
49 virtual/opencl-icd \ 49 virtual/libopencl1 \
50" 50"
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,6 @@ 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"
336RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}" 333RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
337RPROVIDES:libgal-imx += "libgal-imx" 334RPROVIDES:libgal-imx += "libgal-imx"
338RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv" 335RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv"
@@ -349,6 +346,7 @@ FILES:libvulkan-imx = "\
349 ${libdir}/libvulkan_VSI${REALSOLIBS} \ 346 ${libdir}/libvulkan_VSI${REALSOLIBS} \
350 ${sysconfdir}/vulkan" 347 ${sysconfdir}/vulkan"
351FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" 348FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
349RPROVIDES:libvulkan-imx = "virtual-vulkan-icd"
352 350
353FILES:libspirv-imx = " \ 351FILES:libspirv-imx = " \
354 ${libdir}/libSPIRV_viv${SOLIBS} \ 352 ${libdir}/libSPIRV_viv${SOLIBS} \
@@ -362,7 +360,7 @@ FILES:libopenvx-imx = " \
362 ${libdir}/libArchModelSw${SOLIBS} \ 360 ${libdir}/libArchModelSw${SOLIBS} \
363" 361"
364FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" 362FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
365RDEPENDS:libopenvx-imx = "libnn-imx ${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" 363RDEPENDS:libopenvx-imx = "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}"
366OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = "" 364OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = ""
367OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev" 365OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev"
368OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev" 366OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev"
@@ -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.2-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch32.bb
new file mode 100644
index 000000000..f0e7d285d
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch32.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
4
5IMX_SRCREV_ABBREV = "3c5e429"
6
7SRC_URI[sha256sum] = "ea7ffb01fd7cd88f2a308e5b12b40cc3c9553b8ff2941c4867943b4fee265d27"
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.2-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch64.bb
new file mode 100644
index 000000000..38870add7
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch64.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
4
5IMX_SRCREV_ABBREV = "3c5e429"
6
7SRC_URI[sha256sum] = "bf6fe102e8aa7a16373392efcf6ac45d705bbb95f5c39501da8aaa30957c554f"
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..87f73440f
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx.inc
@@ -0,0 +1,109 @@
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"
48RDEPENDS:${PN}-libvulkan = "vulkan-wsi-layer"
49RPROVIDES:${PN}-libvulkan = "virtual-vulkan-icd"
50
51FILES:${PN}-dev = " \
52 ${bindir}/malisc"
53FILES:${PN}-libegl-dev = " \
54 ${includedir}/EGL \
55 ${includedir}/KHR \
56 ${libdir}/libEGL${SOLIBSDEV} \
57 ${libdir}/pkgconfig/egl.pc"
58FILES:${PN}-libgbm-dev = " \
59 ${includedir}/gbm.h \
60 ${libdir}/libgbm${SOLIBSDEV} \
61 ${libdir}/pkgconfig/gbm.pc"
62
63# Consolidate GLES dev packages
64PACKAGES =+ "${PN}-libgles-dev"
65FILES:${PN}-libgles-dev = " \
66 ${includedir}/GLES* \
67 ${libdir}/libGLES*${SOLIBSDEV} \
68 ${libdir}/pkgconfig/gles*.pc"
69DEBIAN_NOAUTONAME:${PN}-libgles-dev = "1"
70RREPLACES:${PN}-libgles-dev = "libgles-dev"
71RPROVIDES:${PN}-libgles-dev = "libgles-dev"
72RCONFLICTS:${PN}-libgles-dev = "libgles-dev"
73ALLOW_EMPTY:${PN}-libgles1-dev = "1"
74ALLOW_EMPTY:${PN}-libgles2-dev = "1"
75ALLOW_EMPTY:${PN}-libgles3-dev = "1"
76RDEPENDS:${PN}-libgles1-dev = "${PN}-libgles-dev"
77RDEPENDS:${PN}-libgles2-dev = "${PN}-libgles-dev"
78RDEPENDS:${PN}-libgles3-dev = "${PN}-libgles-dev"
79
80FILES:${PN}-opencl-icd-dev = " \
81 ${bindir}/mali_clcc"
82
83python __anonymous() {
84
85 # Avoid Debian-renaming
86 for p in (("libegl", "libegl1" ),
87 ("libgbm", "libgbm1" ),
88 ("libgles1", "libglesv1-cm1"),
89 ("libgles2", "libglesv2-2" ),
90 ("libgles3", )):
91 fullp = "${PN}-" + p[0]
92 pkgs = "".join(' %s' % i for i in p)
93 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
94 d.appendVar("RREPLACES:" + fullp, pkgs)
95 d.appendVar("RPROVIDES:" + fullp, pkgs)
96 d.appendVar("RCONFLICTS:" + fullp, pkgs)
97 # libmali.so is loaded with dlopen, so an explicit runtime dependency is necessary
98 d.appendVar("RDEPENDS:" + fullp, "${PN}")
99
100 # For -dev, the first element is both the Debian and original name
101 fullp += "-dev"
102 pkgs = p[0] + "-dev"
103 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
104 d.appendVar("RREPLACES:" + fullp, pkgs)
105 d.appendVar("RPROVIDES:" + fullp, pkgs)
106 d.appendVar("RCONFLICTS:" + fullp, pkgs)
107}
108
109COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-graphics/mali/mali-imx_r54.0.bb b/recipes-graphics/mali/mali-imx_r54.0.bb
new file mode 100644
index 000000000..85ac6f8ca
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx_r54.0.bb
@@ -0,0 +1,25 @@
1require mali-imx.inc
2
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
5
6SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
7SRC_URI[sha256sum] = "df89c80456c73ee8c235201b98c0b678d993083540912eab968dc0cbf683ad26"
8IMX_SRCREV_ABBREV = "2943b3d"
9
10S = "${UNPACKDIR}/${BP}-${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..1c75c9884 100644
--- a/recipes-graphics/mesa/mesa.bbappend
+++ b/recipes-graphics/mesa/mesa.bbappend
@@ -1,10 +1,6 @@
1PROVIDES:remove:imxgpu = "virtual/egl" 1PROVIDES:remove:imxgpu = "virtual/egl"
2PROVIDES:remove:imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2" 2PROVIDES:remove:imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2"
3 3
4FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
5SRC_URI:append:mx93-nxp-bsp = " file://0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch"
6SRC_URI:append:imx-nxp-bsp = " file://0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch"
7
8PACKAGECONFIG:remove:imxgpu = "egl gbm" 4PACKAGECONFIG:remove:imxgpu = "egl gbm"
9PACKAGECONFIG:remove:imxgpu3d = "gles" 5PACKAGECONFIG:remove:imxgpu3d = "gles"
10 6
@@ -19,7 +15,7 @@ python () {
19} 15}
20 16
21# Enable Etnaviv and Freedreno support 17# Enable Etnaviv and Freedreno support
22PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno" 18PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv freedreno"
23 19
24# For NXP BSP, GPU drivers don't support dri 20# For NXP BSP, GPU drivers don't support dri
25PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri" 21PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri"
diff --git a/recipes-graphics/mesa/mesa/0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch b/recipes-graphics/mesa/mesa/0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch
deleted file mode 100644
index 3dc8db099..000000000
--- a/recipes-graphics/mesa/mesa/0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 612c3dc98d5d050b9cfee16ec77ca3c8358caa0d Mon Sep 17 00:00:00 2001
2From: Wujian Sun <wujian.sun_1@nxp.com>
3Date: Mon, 29 Apr 2024 17:29:16 +0800
4Subject: [PATCH] MGS-7599 cso: fix virgl driver assert issue
5
6A workaround that remove PIPE_MAX_SAMPLERS and
7PIPE_MAX_CONSTANT_BUFFERS assert.
8
9Upstream-Status: Inappropriate [i.MX-specific]
10
11Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
12---
13 src/gallium/auxiliary/cso_cache/cso_context.c | 2 --
14 src/gallium/drivers/virgl/virgl_screen.c | 2 +-
15 2 files changed, 1 insertion(+), 3 deletions(-)
16
17diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c
18index 3e86def31c5..ffc6d22da9c 100644
19--- a/src/gallium/auxiliary/cso_cache/cso_context.c
20+++ b/src/gallium/auxiliary/cso_cache/cso_context.c
21@@ -403,10 +403,8 @@ cso_unbind_context(struct cso_context *ctx)
22 PIPE_SHADER_CAP_MAX_CONST_BUFFERS);
23 int maximg = scr->get_shader_param(scr, sh,
24 PIPE_SHADER_CAP_MAX_SHADER_IMAGES);
25- assert(maxsam <= PIPE_MAX_SAMPLERS);
26 assert(maxview <= PIPE_MAX_SHADER_SAMPLER_VIEWS);
27 assert(maxssbo <= PIPE_MAX_SHADER_BUFFERS);
28- assert(maxcb <= PIPE_MAX_CONSTANT_BUFFERS);
29 assert(maximg <= PIPE_MAX_SHADER_IMAGES);
30 if (maxsam > 0) {
31 ctx->base.pipe->bind_sampler_states(ctx->base.pipe, sh, 0, maxsam, zeros);
32diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
33index 389a1935cc3..7c7f8ba576b 100644
34--- a/src/gallium/drivers/virgl/virgl_screen.c
35+++ b/src/gallium/drivers/virgl/virgl_screen.c
36@@ -435,7 +435,7 @@ virgl_get_shader_param(struct pipe_screen *screen,
37 return 1;
38 case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
39 return MIN2(vscreen->caps.caps.v2.max_shader_sampler_views,
40- PIPE_MAX_SHADER_SAMPLER_VIEWS);
41+ PIPE_MAX_SAMPLERS);
42 case PIPE_SHADER_CAP_INTEGERS:
43 return vscreen->caps.caps.v1.glsl_level >= 130;
44 case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
45--
462.17.1
47
diff --git a/recipes-graphics/mesa/mesa/0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch b/recipes-graphics/mesa/mesa/0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch
deleted file mode 100644
index 0cdcbfca6..000000000
--- a/recipes-graphics/mesa/mesa/0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 188d7b01037e5a0249e63c2600cf15a288a9ff3f Mon Sep 17 00:00:00 2001
2From: Wujian Sun <wujian.sun_1@nxp.com>
3Date: Fri, 19 Apr 2024 18:38:17 +0800
4Subject: [PATCH] MGS-7673 egl/dri2: fix video showing wrong frame
5
6Softpipe driver doesn't support EGL_EXT_image_dma_buf_import_modifiers
7extension.
8Should not report the extension.
9
10Upstream-Status: Pending
11
12Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
13---
14 src/egl/drivers/dri2/egl_dri2.c | 3 ++-
15 1 file changed, 2 insertions(+), 1 deletion(-)
16
17diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
18index 992f0e3d46d..6ee209d4b47 100644
19--- a/src/egl/drivers/dri2/egl_dri2.c
20+++ b/src/egl/drivers/dri2/egl_dri2.c
21@@ -942,7 +942,8 @@ dri2_setup_screen(_EGLDisplay *disp)
22
23 #ifdef HAVE_LIBDRM
24 if (dri2_dpy->image->base.version >= 8 &&
25- dri2_dpy->image->createImageFromDmaBufs) {
26+ dri2_dpy->image->createImageFromDmaBufs &&
27+ strcmp("softpipe", pscreen->get_name(pscreen))) {
28 disp->Extensions.EXT_image_dma_buf_import = EGL_TRUE;
29 disp->Extensions.EXT_image_dma_buf_import_modifiers = EGL_TRUE;
30 }
31--
322.17.1
33
diff --git a/recipes-graphics/piglit/piglit/0001-tests-Fix-cl-test-Include-Directories-error-Error-0-.patch b/recipes-graphics/piglit/piglit/0001-tests-Fix-cl-test-Include-Directories-error-Error-0-.patch
new file mode 100644
index 000000000..3e673a497
--- /dev/null
+++ b/recipes-graphics/piglit/piglit/0001-tests-Fix-cl-test-Include-Directories-error-Error-0-.patch
@@ -0,0 +1,30 @@
1From c14b65106687b1097f5d50a993707d8a2f99005b Mon Sep 17 00:00:00 2001
2From: jiajia Qian <jiajia.qian@nxp.com>
3Date: Tue, 19 Dec 2023 13:23:33 +0800
4Subject: [PATCH] tests: Fix cl test Include Directories: error : Error(0,8) :
5 Cannot find the header file include_test.h.
6
7Modified CMakeLists.txt to install include_test.h file in piglit/tests/cl/program/build/ folder.
8
9Modified the relative path in include-directories.cl from "tests/cl/program/build" to "../lib/piglit/tests/cl/program/build".
10
11Upstream-Status: Pending [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/853]
12Signed-off-by: jiajia Qian <jiajia.qian@nxp.com>
13---
14 CMakeLists.txt | 1 +
15 tests/cl/program/build/include-directories.cl | 2 +-
16 2 files changed, 2 insertions(+), 1 deletion(-)
17
18Index: git/tests/cl/program/build/include-directories.cl
19===================================================================
20--- git.orig/tests/cl/program/build/include-directories.cl
21+++ git/tests/cl/program/build/include-directories.cl
22@@ -2,7 +2,7 @@
23 [config]
24 name: Include Directories
25 clc_version_min: 10
26-build_options: -I . -I tests/cl/program/build
27+build_options: -I . -I ../lib/piglit/tests/cl/program/build
28 !*/
29
30 #include "include_test.h"
diff --git a/recipes-graphics/piglit/piglit/0002-cl-Add-mutually-exclusive-memory-flags-for-CL_MEM_KE.patch b/recipes-graphics/piglit/piglit/0002-cl-Add-mutually-exclusive-memory-flags-for-CL_MEM_KE.patch
new file mode 100644
index 000000000..a4935b169
--- /dev/null
+++ b/recipes-graphics/piglit/piglit/0002-cl-Add-mutually-exclusive-memory-flags-for-CL_MEM_KE.patch
@@ -0,0 +1,42 @@
1From 2673c2adc81a408a4238f786cb2d795a65308ce6 Mon Sep 17 00:00:00 2001
2From: Eric Guo <eric.guo@nxp.com>
3Date: Fri, 11 Apr 2025 17:15:40 +0800
4Subject: [PATCH] cl: Add mutually exclusive memory flags for
5 CL_MEM_KERNEL_READ_AND_WRITE
6
7Fix cl-api-create-buffer on mali DDK.
8
9Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/1004]
10Signed-off-by: Eric Guo <eric.guo@nxp.com>
11---
12 tests/util/piglit-util-cl-enum.c | 7 ++++++-
13 1 file changed, 6 insertions(+), 1 deletion(-)
14
15diff --git a/tests/util/piglit-util-cl-enum.c b/tests/util/piglit-util-cl-enum.c
16index 5d43bc102..f2c185c9c 100644
17--- a/tests/util/piglit-util-cl-enum.c
18+++ b/tests/util/piglit-util-cl-enum.c
19@@ -979,7 +979,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_command_queue_properties, 2, 2, 2, 4, 4 /* really? */
20 PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_command_queue_properties);
21
22
23-PIGLIT_CL_DEFINE_ENUM(cl_mem_flags, cl_mem_flags_mutexes, 5, 5, 8, 8, 8) = {
24+PIGLIT_CL_DEFINE_ENUM(cl_mem_flags, cl_mem_flags_mutexes, 5, 5, 8, 11, 11) = {
25 CL_MEM_READ_WRITE | CL_MEM_READ_ONLY,
26 CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY,
27 CL_MEM_READ_ONLY | CL_MEM_WRITE_ONLY,
28@@ -990,6 +990,11 @@ PIGLIT_CL_DEFINE_ENUM(cl_mem_flags, cl_mem_flags_mutexes, 5, 5, 8, 8, 8) = {
29 CL_MEM_HOST_WRITE_ONLY | CL_MEM_HOST_NO_ACCESS,
30 CL_MEM_HOST_READ_ONLY | CL_MEM_HOST_NO_ACCESS,
31 #endif //CL_VERSION_1_2
32+#if defined(CL_VERSION_2_0)
33+ CL_MEM_KERNEL_READ_AND_WRITE | CL_MEM_READ_ONLY,
34+ CL_MEM_KERNEL_READ_AND_WRITE | CL_MEM_WRITE_ONLY,
35+ CL_MEM_KERNEL_READ_AND_WRITE | CL_MEM_READ_WRITE,
36+#endif //CL_VERSION_2_0
37 };
38 PIGLIT_CL_DEFINE_ENUM_PTR(cl_mem_flags, cl_mem_flags_mutexes);
39
40--
412.34.1
42
diff --git a/recipes-graphics/piglit/piglit_%.bbappend b/recipes-graphics/piglit/piglit_%.bbappend
index fe2a0bc2f..3caf8aa15 100644
--- a/recipes-graphics/piglit/piglit_%.bbappend
+++ b/recipes-graphics/piglit/piglit_%.bbappend
@@ -1,6 +1,23 @@
1PACKAGECONFIG:remove:imxgpu = "glx" 1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2 2
3PACKAGECONFIG:append:mx8-nxp-bsp = " opencl" 3SRC_URI += "file://0001-tests-Fix-cl-test-Include-Directories-error-Error-0-.patch \
4PACKAGECONFIG:append:mx9-nxp-bsp = " opencl" 4 file://0002-cl-Add-mutually-exclusive-memory-flags-for-CL_MEM_KE.patch"
5
6PACKAGECONFIG:append = " ${PACKAGECONFIG_APPEND}"
7PACKAGECONFIG:remove = " ${PACKAGECONFIG_REMOVE}"
8
9PACKAGECONFIG_APPEND ?= " \
10 gbm \
11 opencl \
12 ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}"
13PACKAGECONFIG_APPEND:imxgpu:mx6-nxp-bsp = ""
14PACKAGECONFIG_APPEND:imxgpu:mx7-nxp-bsp = ""
15
16PACKAGECONFIG_REMOVE ?= ""
17PACKAGECONFIG_REMOVE:imxgpu = "glx"
18PACKAGECONFIG_REMOVE:imxgpu:mx6-nxp-bsp = "glx x11"
19PACKAGECONFIG_REMOVE:imxgpu:mx7-nxp-bsp = "glx x11"
20
21PACKAGECONFIG[gbm] = "-DPIGLIT_USE_GBM=1,-DPIGLIT_USE_GBM=0,virtual/libgbm"
5 22
6CFLAGS:append:imxgpu:toolchain-clang = " -Wno-error=int-conversion" 23CFLAGS:append:imxgpu:toolchain-clang = " -Wno-error=int-conversion"
diff --git a/recipes-graphics/vulkan/vulkan-loader-1.3.275.0.imx/0001-LF-11869-change-mali-wsi-layer-activating-order.patch b/recipes-graphics/vulkan/vulkan-loader-1.3.275.0.imx/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-1.3.275.0.imx/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.4.328.1/0001-LF-11869-change-mali-wsi-layer-activating-order.patch b/recipes-graphics/vulkan/vulkan-loader-1.4.328.1/0001-LF-11869-change-mali-wsi-layer-activating-order.patch
new file mode 100644
index 000000000..f54919cd9
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader-1.4.328.1/0001-LF-11869-change-mali-wsi-layer-activating-order.patch
@@ -0,0 +1,49 @@
1From 91aff12a127428ff558d57d93b91b0b909321c35 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 9064cd633..5b00870a4 100644
15--- a/loader/loader.c
16+++ b/loader/loader.c
17@@ -3034,6 +3034,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 char *next_file = search_path;
25@@ -3100,6 +3101,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@@ -3110,6 +3115,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;
diff --git a/recipes-graphics/vulkan/vulkan-loader_%.bbappend b/recipes-graphics/vulkan/vulkan-loader_%.bbappend
new file mode 100644
index 000000000..8f28ab1be
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_%.bbappend
@@ -0,0 +1,10 @@
1SRC_URI:append:imx-nxp-bsp = " \
2 file://0001-LF-11869-change-mali-wsi-layer-activating-order.patch \
3"
4
5PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}"
6
7# libvulkan.so is loaded dynamically, so put it in the main package
8SOLIBS:imx-nxp-bsp = ".so*"
9FILES_SOLIBSDEV:imx-nxp-bsp = ""
10INSANE_SKIP:${PN}:imx-nxp-bsp += "dev-so"
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..8cac41b53
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:imx-nxp-bsp := "${THISDIR}/vulkan-loader-1.3.275.0.imx:"
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.4.328.1.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.4.328.1.bbappend
new file mode 100644
index 000000000..93f780c9c
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_1.4.328.1.bbappend
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:imx-nxp-bsp := "${THISDIR}/vulkan-loader-1.4.328.1:"
diff --git a/recipes-graphics/vulkan/vulkan-wsi-layer/0001-MGS-6801-ccc-vkmark-on-wayland.patch b/recipes-graphics/vulkan/vulkan-wsi-layer/0001-MGS-6801-ccc-vkmark-on-wayland.patch
new file mode 100644
index 000000000..48cfcd765
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-wsi-layer/0001-MGS-6801-ccc-vkmark-on-wayland.patch
@@ -0,0 +1,30 @@
1From ada74fb0ca3099f33d173eb664bd7e42025a3277 Mon Sep 17 00:00:00 2001
2From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
3Date: Mon, 9 Dec 2024 09:15:11 +0800
4Subject: [PATCH 1/2] MGS-6801 [#ccc] vkmark on wayland
5
6Extend the wayland surface properties with VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
7
8Upstream-Status: Inappropriate [i.MX-specific]
9Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
10Signed-off-by: Jiyu Yang <jiyu.yang@nxp.com>
11---
12 wsi/wayland/surface_properties.cpp | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/wsi/wayland/surface_properties.cpp b/wsi/wayland/surface_properties.cpp
16index e6435b9..bc1a737 100644
17--- a/wsi/wayland/surface_properties.cpp
18+++ b/wsi/wayland/surface_properties.cpp
19@@ -89,7 +89,7 @@ VkResult surface_properties::get_surface_capabilities(VkPhysicalDevice physical_
20
21 /* Composite alpha */
22 pSurfaceCapabilities->supportedCompositeAlpha = static_cast<VkCompositeAlphaFlagBitsKHR>(
23- VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR | VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR);
24+ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR | VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR);
25 return VK_SUCCESS;
26 }
27
28--
292.37.1
30
diff --git a/recipes-graphics/vulkan/vulkan-wsi-layer/0002-MGS-6823-nxp-Add-support-of-VK_COMPOSITE_ALPHA_OPAQU.patch b/recipes-graphics/vulkan/vulkan-wsi-layer/0002-MGS-6823-nxp-Add-support-of-VK_COMPOSITE_ALPHA_OPAQU.patch
new file mode 100644
index 000000000..9955f415e
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-wsi-layer/0002-MGS-6823-nxp-Add-support-of-VK_COMPOSITE_ALPHA_OPAQU.patch
@@ -0,0 +1,243 @@
1From 4293d8835eaa45168c070793eefd8867c6ec7605 Mon Sep 17 00:00:00 2001
2From: Yuan Tian <yuan.tian@nxp.com>
3Date: Thu, 27 Jul 2023 18:25:16 +0800
4Subject: [PATCH 2/2] MGS-6823 [#nxp] Add support of
5 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR feature
6
7Mali vulkan driver doesn't support VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR. It caused unwanted blending effect in many vulkan cases.
8Add support of this feature to solve the problem.
9
10Upstream-Status: Inappropriate [i.MX-specific]
11Signed-off-by: Yuan Tian <yuan.tian@nxp.com>
12Signed-off-by: Jiyu Yang <jiyu.yang@nxp.com>
13---
14 wsi/wayland/swapchain.cpp | 161 ++++++++++++++++++++++++++++++++++++++
15 wsi/wayland/swapchain.hpp | 9 +++
16 2 files changed, 170 insertions(+)
17
18Index: git/wsi/wayland/swapchain.cpp
19===================================================================
20--- git.orig/wsi/wayland/swapchain.cpp
21+++ git/wsi/wayland/swapchain.cpp
22@@ -38,6 +38,7 @@
23 #include <cstdio>
24 #include <climits>
25 #include <functional>
26+#include <poll.h>
27
28 #include "util/drm/drm_utils.hpp"
29 #include "util/log.hpp"
30@@ -72,12 +73,152 @@ swapchain::~swapchain()
31 wsialloc_delete(m_wsi_allocator);
32 }
33 m_wsi_allocator = nullptr;
34+ if (wlc.opaque_region)
35+ {
36+ wl_compositor_destroy(wlc.wl_compositor);
37+ wl_registry_destroy(wlc.registry);
38+ wl_region_destroy(wlc.opaque_region);
39+ wlc = {0};
40+ }
41 if (m_buffer_queue != nullptr)
42 {
43 wl_event_queue_destroy(m_buffer_queue);
44 }
45 }
46
47+static inline int
48+poll_event(struct wl_display *wl_dpy, short int events, int timeout)
49+{
50+ int ret;
51+ struct pollfd pfd[1];
52+
53+ pfd[0].fd = wl_display_get_fd(wl_dpy);
54+ pfd[0].events = events;
55+
56+ do
57+ {
58+ ret = poll(pfd, 1, timeout);
59+ }
60+ while (ret == -1 && errno == EINTR);
61+
62+ return ret;
63+}
64+
65+static int
66+dispatch_queue_op(struct wl_display *wl_dpy,
67+ struct wl_event_queue *wl_queue, int timeout)
68+{
69+ int ret;
70+
71+ if (wl_display_prepare_read_queue(wl_dpy, wl_queue) == -1)
72+ {
73+ return wl_display_dispatch_queue_pending(wl_dpy, wl_queue);
74+ }
75+
76+ for (;;)
77+ {
78+ ret = wl_display_flush(wl_dpy);
79+
80+ if (ret != -1 || errno != EAGAIN)
81+ break;
82+
83+ if (poll_event(wl_dpy, POLLOUT, -1) == -1)
84+ {
85+ wl_display_cancel_read(wl_dpy);
86+ return -1;
87+ }
88+ }
89+
90+ /* Don't stop if flushing hits an EPIPE; continue so we can read any
91+ * protocol error that may have triggered it. */
92+ if (ret < 0 && errno != EPIPE)
93+ {
94+ wl_display_cancel_read(wl_dpy);
95+ return -1;
96+ }
97+
98+ ret = poll_event(wl_dpy, POLLIN, timeout);
99+
100+ /* cancel read when on error or timeout. */
101+ if (ret == -1 || ret == 0)
102+ {
103+ wl_display_cancel_read(wl_dpy);
104+ return ret;
105+ }
106+
107+ if (wl_display_read_events(wl_dpy) == -1)
108+ return -1;
109+
110+ return wl_display_dispatch_queue_pending(wl_dpy, wl_queue);
111+}
112+
113+static void
114+sync_callback(void *data, struct wl_callback *callback, uint32_t serial)
115+{
116+ int *done = (int *)data;
117+
118+ *done = 1;
119+ wl_callback_destroy(callback);
120+}
121+
122+static const struct wl_callback_listener sync_listener = {
123+ sync_callback
124+};
125+
126+static int
127+roundtrip_queue(struct wl_display *wl_dpy, struct wl_event_queue *wl_queue)
128+{
129+ struct wl_callback *callback;
130+ int done, ret = 0;
131+
132+ done = 0;
133+
134+ /*
135+ * This is to block read & dispatch events in other threads, so that the
136+ * callback is with correct queue and listener when 'done' event.
137+ */
138+ while (wl_display_prepare_read_queue(wl_dpy, wl_queue) == -1)
139+ wl_display_dispatch_queue_pending(wl_dpy, wl_queue);
140+
141+ callback = wl_display_sync(wl_dpy);
142+
143+ if (callback == NULL)
144+ {
145+ wl_display_cancel_read(wl_dpy);
146+ return -1;
147+ }
148+
149+ wl_proxy_set_queue((struct wl_proxy *) callback, wl_queue);
150+ wl_callback_add_listener(callback, &sync_listener, &done);
151+
152+ wl_display_cancel_read(wl_dpy);
153+
154+ while (!done && ret >= 0)
155+ ret = dispatch_queue_op(wl_dpy, wl_queue, 5);
156+
157+ if (ret == -1 && !done)
158+ wl_callback_destroy(callback);
159+
160+ return ret;
161+}
162+
163+static void
164+registry_handle_global(void *data, struct wl_registry *registry, uint32_t name,
165+ const char *interface, uint32_t version)
166+{
167+ wl_context *pwlc = (wl_context *)data;
168+
169+ if(!pwlc->wl_compositor)
170+ {
171+ pwlc->wl_compositor = (wl_compositor *)wl_registry_bind(registry, name, &wl_compositor_interface, 1);
172+ wl_proxy_set_queue((struct wl_proxy *)pwlc->wl_compositor, pwlc->wl_queue);
173+ }
174+}
175+
176+static const struct wl_registry_listener registry_listener = {
177+ registry_handle_global
178+};
179+
180 VkResult swapchain::init_platform(VkDevice device, const VkSwapchainCreateInfoKHR *swapchain_create_info,
181 bool &use_presentation_thread)
182 {
183@@ -124,6 +265,21 @@ VkResult swapchain::init_platform(VkDevi
184 use_presentation_thread =
185 WAYLAND_FIFO_PRESENTATION_THREAD_ENABLED && (m_present_mode != VK_PRESENT_MODE_MAILBOX_KHR);
186
187+ if (swapchain_create_info->compositeAlpha & VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR)
188+ {
189+ wlc.wl_queue = m_buffer_queue;
190+ wlc.registry = wl_display_get_registry(m_display);
191+ wl_proxy_set_queue((struct wl_proxy *)(wlc.registry), m_buffer_queue);
192+ wl_registry_add_listener(wlc.registry, &registry_listener, &wlc);
193+
194+ roundtrip_queue(m_display, m_buffer_queue);
195+
196+ wlc.opaque_region = wl_compositor_create_region(wlc.wl_compositor);
197+ wl_proxy_set_queue((struct wl_proxy *)(wlc.opaque_region), m_buffer_queue);
198+
199+ wl_region_add(wlc.opaque_region, 0, 0, swapchain_create_info->imageExtent.width, swapchain_create_info->imageExtent.height);
200+ }
201+
202 return VK_SUCCESS;
203 }
204
205@@ -494,6 +650,11 @@ void swapchain::present_image(const pend
206 set_error_state(VK_ERROR_SURFACE_LOST_KHR);
207 }
208
209+ if (wlc.opaque_region)
210+ {
211+ wl_surface_set_opaque_region(m_surface, wlc.opaque_region);
212+ }
213+
214 wl_surface_attach(m_surface, image_data->buffer, 0, 0);
215
216 auto present_sync_fd = image_data->present_fence.export_sync_fd();
217Index: git/wsi/wayland/swapchain.hpp
218===================================================================
219--- git.orig/wsi/wayland/swapchain.hpp
220+++ git/wsi/wayland/swapchain.hpp
221@@ -78,6 +78,14 @@ struct image_creation_parameters
222 }
223 };
224
225+struct wl_context
226+{
227+ struct wl_event_queue *wl_queue;
228+ struct wl_compositor *wl_compositor;
229+ struct wl_registry *registry;
230+ struct wl_region *opaque_region;
231+};
232+
233 class swapchain : public wsi::swapchain_base
234 {
235 public:
236@@ -190,6 +198,7 @@ private:
237
238 struct wl_display *m_display;
239 struct wl_surface *m_surface;
240+ struct wl_context wlc = {0};
241 /** Raw pointer to the WSI Surface that this swapchain was created from. The Vulkan specification ensures that the
242 * surface is valid until swapchain is destroyed. */
243 surface *m_wsi_surface;
diff --git a/recipes-graphics/vulkan/vulkan-wsi-layer/0003-Update-minimum-version-of-CMake.patch b/recipes-graphics/vulkan/vulkan-wsi-layer/0003-Update-minimum-version-of-CMake.patch
new file mode 100644
index 000000000..0bc00de02
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-wsi-layer/0003-Update-minimum-version-of-CMake.patch
@@ -0,0 +1,32 @@
1From 0c4ed8178a25135ced9df8c8a8909e2882bfe869 Mon Sep 17 00:00:00 2001
2From: Maged Elnaggar <maged.elnaggar@arm.com>
3Date: Tue, 17 Jun 2025 10:33:44 +0000
4Subject: [PATCH] Update minimum version of CMake
5
6Set CMake minimum required version range to 3.4.3...4.0
7to silence compatibility errors in CMake 4.0
8by explicitly opting into all policies up to 4.0
9
10Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/vulkan-wsi-layer/-/commit/1eafebc56a7f735cd4e8298956d596c64ac9f681]
11Signed-off-by: Maged Elnaggar <maged.elnaggar@arm.com>
12Change-Id: I2e0527dde4e764e9c17f519fc0ddd3c0e382fa31
13---
14 CMakeLists.txt | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/CMakeLists.txt b/CMakeLists.txt
18index 4dc800c..b91cd54 100644
19--- a/CMakeLists.txt
20+++ b/CMakeLists.txt
21@@ -20,7 +20,7 @@
22 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 # SOFTWARE.
24
25-cmake_minimum_required(VERSION 3.4.3)
26+cmake_minimum_required(VERSION 3.4.3...4.0)
27 project(VkLayer_window_system_integration)
28
29 find_package(PkgConfig REQUIRED)
30--
312.34.1
32
diff --git a/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb b/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb
new file mode 100644
index 000000000..efa6accb3
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-wsi-layer_git.bb
@@ -0,0 +1,54 @@
1DESCRIPTION = "Vulkan Window System Integration Layer"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=c2e771b72d60a13d2de384cb49055d00"
4DEPENDS = "libdrm vulkan-loader"
5
6PV = "0.0+git${SRCPV}"
7
8SRC_URI = "git://gitlab.freedesktop.org/mesa/vulkan-wsi-layer.git;protocol=https;branch=main \
9 file://0001-MGS-6801-ccc-vkmark-on-wayland.patch \
10 file://0002-MGS-6823-nxp-Add-support-of-VK_COMPOSITE_ALPHA_OPAQU.patch \
11 file://0003-Update-minimum-version-of-CMake.patch"
12SRCREV = "cb1a50cf7e640ad7306e673131ded98c0f133628"
13
14inherit cmake pkgconfig
15
16PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'headless', d)}"
17
18PACKAGECONFIG[headless] = " \
19 -DBUILD_WSI_HEADLESS=1, \
20 -DBUILD_WSI_HEADLESS=0, \
21 ,,, \
22 wayland"
23PACKAGECONFIG[wayland] = " \
24 -DBUILD_WSI_WAYLAND=1 -DENABLE_WAYLAND_FIFO_PRESENTATION_THREAD=1 -DSELECT_EXTERNAL_ALLOCATOR=dma_buf_heaps, \
25 -DBUILD_WSI_WAYLAND=0, \
26 wayland wayland-native wayland-protocols,,, \
27 headless"
28
29EXTRA_OECMAKE = " \
30 -DBUILD_WSI_DISPLAY=0 \
31 -DBUILD_WSI_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN=1 \
32 -DCMAKE_BUILD_TYPE=Release \
33 -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
34 -DENABLE_INSTRUMENTATION=1 \
35 -DKERNEL_HEADER_DIR=${KERNEL_HEADER_DIR} \
36 -DVULKAN_WSI_LAYER_EXPERIMENTAL=0 "
37
38# The KERNEL_HEADER_DIR setting is required by the CMake apparently
39# in order to find the DRM headers. However, the Yocto build provides
40# the DRM headers via a separate recipe libdrm in order to avoid the
41# kernel dependency. The CMake fails if the variable is not defined,
42# so set it to an invalid value in case the build ever actually needs
43# the kernel headers for something else.
44KERNEL_HEADER_DIR = "KERNEL_HEADER_DIR_NOT_PROVIDED_BY_YOCTO"
45
46do_install() {
47 install -d ${D}${sysconfdir}/vulkan/implicit_layer.d
48 install -m 0755 ${B}/libVkLayer_window_system_integration.so ${D}${sysconfdir}/vulkan/implicit_layer.d/
49 install -m 0644 ${B}/VkLayer_window_system_integration.json ${D}${sysconfdir}/vulkan/implicit_layer.d
50}
51
52# Adjust packaging variables for unversioned library
53SOLIBS = ".so"
54FILES_SOLIBSDEV = ""
diff --git a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.41.imx.bb
index 131f227de..3350a4795 100644
--- a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
+++ b/recipes-graphics/wayland/wayland-protocols_1.41.imx.bb
@@ -11,12 +11,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c7b12b6702da38ca028ace54aae3d484 \
11 11
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-1.41"
15SRCREV = "7ece577d467f8afb2f5a2f7fff3761a1e0ee9dad" 15SRCREV = "7213a4e09837c77112bce2d241491600e00dd095"
16 16
17S = "${WORKDIR}/git" 17UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
18UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)"
18 19
19UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 20DEPENDS += "wayland-native"
20 21
21# NOTE: For i.MX drop allarch since the recipe is SOCARCH 22# NOTE: For i.MX drop allarch since the recipe is SOCARCH
22#inherit meson pkgconfig allarch 23#inherit meson pkgconfig allarch
@@ -24,9 +25,6 @@ inherit meson pkgconfig
24 25
25EXTRA_OEMESON += "-Dtests=false" 26EXTRA_OEMESON += "-Dtests=false"
26 27
27PACKAGES = "${PN}"
28FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
29
30BBCLASSEXTEND = "native nativesdk" 28BBCLASSEXTEND = "native nativesdk"
31 29
32PACKAGE_ARCH = "${MACHINE_SOCARCH}" 30PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-graphics/wayland/weston_10.0.5.imx.bb b/recipes-graphics/wayland/weston_10.0.5.imx.bb
index df2898f0a..4d7d99130 100644
--- a/recipes-graphics/wayland/weston_10.0.5.imx.bb
+++ b/recipes-graphics/wayland/weston_10.0.5.imx.bb
@@ -68,7 +68,7 @@ PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
68# Weston on framebuffer 68# Weston on framebuffer
69PACKAGECONFIG[fbdev] = "-Ddeprecated-backend-fbdev=true,-Ddeprecated-backend-fbdev=false,udev mtdev" 69PACKAGECONFIG[fbdev] = "-Ddeprecated-backend-fbdev=true,-Ddeprecated-backend-fbdev=false,udev mtdev"
70# Weston on RDP 70# Weston on RDP
71PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp" 71PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp,freerdp"
72# weston-launch 72# weston-launch
73PACKAGECONFIG[launch] = "-Ddeprecated-weston-launch=true,-Ddeprecated-weston-launch=false,drm" 73PACKAGECONFIG[launch] = "-Ddeprecated-weston-launch=true,-Ddeprecated-weston-launch=false,drm"
74# VA-API desktop recorder 74# VA-API desktop recorder
@@ -144,7 +144,7 @@ RDEPENDS:${PN}-xwayland += "xwayland"
144 144
145RDEPENDS:${PN} += "xkeyboard-config" 145RDEPENDS:${PN} += "xkeyboard-config"
146RRECOMMENDS:${PN} = "weston-init liberation-fonts" 146RRECOMMENDS:${PN} = "weston-init liberation-fonts"
147RRECOMMENDS:${PN}-dev += "wayland-protocols" 147RDEPENDS:${PN}-dev += "wayland-protocols-dev"
148 148
149USERADD_PACKAGES = "${PN}" 149USERADD_PACKAGES = "${PN}"
150GROUPADD_PARAM:${PN} = "--system weston-launch" 150GROUPADD_PARAM:${PN} = "--system weston-launch"
@@ -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"
@@ -206,6 +205,6 @@ EXTRA_OEMESON += "-Ddeprecated-wl-shell=true"
206LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" 205LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
207 206
208PACKAGE_ARCH = "${MACHINE_SOCARCH}" 207PACKAGE_ARCH = "${MACHINE_SOCARCH}"
209COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)" 208COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
210 209
211########### End of i.MX overrides ######### 210########### End of i.MX overrides #########
diff --git a/recipes-graphics/wayland/weston_12.0.4.imx.bb b/recipes-graphics/wayland/weston_14.0.2.imx.bb
index 87593e4bd..c4f938e5a 100644
--- a/recipes-graphics/wayland/weston_12.0.4.imx.bb
+++ b/recipes-graphics/wayland/weston_14.0.2.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: 8996690a79ac42a1dee6d041eeb1c1fe29fdac84
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"
@@ -18,13 +18,12 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downlo
18 file://weston.desktop \ 18 file://weston.desktop \
19 file://xwayland.weston-start \ 19 file://xwayland.weston-start \
20 file://systemd-notify.weston-start \ 20 file://systemd-notify.weston-start \
21 file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
22 " 21 "
23 22
24SRC_URI[sha256sum] = "eb686a7cf00992a23b17f192fca9a887313e92c346ee35d8575196983d656b4a" 23SRC_URI[sha256sum] = "a8150505b126a59df781fe8c30c8e6f87da7013e179039eb844a5bbbcc7c79b3"
25 24
26UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 25UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
27UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" 26UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
28 27
29inherit meson pkgconfig useradd 28inherit meson pkgconfig useradd
30 29
@@ -33,19 +32,18 @@ inherit meson pkgconfig useradd
33require ${THISDIR}/required-distro-features.inc 32require ${THISDIR}/required-distro-features.inc
34 33
35DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0" 34DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
36DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" 35DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native libdisplay-info"
37 36
38LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}" 37LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}"
39 38
40WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" 39WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
41 40
42EXTRA_OEMESON += "-Dpipewire=false" 41EXTRA_OEMESON += "-Dpipewire=false -Dtests=false"
43 42
44PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \ 43PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
45 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ 44 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
46 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ 45 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
47 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ 46 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
48 launcher-libseat \
49 image-jpeg \ 47 image-jpeg \
50 screenshare \ 48 screenshare \
51 shell-desktop \ 49 shell-desktop \
@@ -61,7 +59,7 @@ SIMPLECLIENTS ?= "all"
61# Compositor choices 59# Compositor choices
62# 60#
63# Weston on KMS 61# Weston on KMS
64PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev" 62PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
65# Weston on Wayland (nested Weston) 63# Weston on Wayland (nested Weston)
66PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2" 64PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
67# Weston on X11 65# Weston on X11
@@ -69,7 +67,7 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
69# Headless Weston 67# Headless Weston
70PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" 68PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
71# Weston on RDP 69# Weston on RDP
72PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp" 70PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp,freerdp"
73# VA-API desktop recorder 71# VA-API desktop recorder
74PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" 72PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
75# Weston with EGL support 73# Weston with EGL support
@@ -81,9 +79,7 @@ PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
81# Weston with systemd support 79# Weston with systemd support
82PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus" 80PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
83# Weston with Xwayland support (requires X11 and Wayland) 81# Weston with Xwayland support (requires X11 and Wayland)
84PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xcb-util-cursor xwayland" 82PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xwayland"
85# colord CMS support
86PACKAGECONFIG[colord] = "-Ddeprecated-color-management-colord=true,-Ddeprecated-color-management-colord=false,colord"
87# Clients support 83# Clients support
88PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" 84PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
89# Virtual remote output with GStreamer on DRM backend 85# Virtual remote output with GStreamer on DRM backend
@@ -100,10 +96,6 @@ PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
100PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false" 96PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
101# JPEG image loading support 97# JPEG image loading support
102PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg" 98PACKAGECONFIG[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 99# screencasting via PipeWire
108PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire" 100PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
109# VNC remote screensharing 101# VNC remote screensharing
@@ -152,7 +144,7 @@ RDEPENDS:${PN}-xwayland += "xwayland"
152 144
153RDEPENDS:${PN} += "xkeyboard-config" 145RDEPENDS:${PN} += "xkeyboard-config"
154RRECOMMENDS:${PN} = "weston-init liberation-fonts" 146RRECOMMENDS:${PN} = "weston-init liberation-fonts"
155RRECOMMENDS:${PN}-dev += "wayland-protocols" 147RDEPENDS:${PN}-dev += "wayland-protocols-dev"
156 148
157USERADD_PACKAGES = "${PN}" 149USERADD_PACKAGES = "${PN}"
158GROUPADD_PARAM:${PN} = "--system weston-launch" 150GROUPADD_PARAM:${PN} = "--system weston-launch"
@@ -170,18 +162,17 @@ DEFAULT_PREFERENCE = "-1"
170SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz" 162SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
171SRC_URI:prepend = "${WESTON_SRC};branch=${SRCBRANCH} " 163SRC_URI:prepend = "${WESTON_SRC};branch=${SRCBRANCH} "
172WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https" 164WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https"
173SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch" 165SRCBRANCH = "weston-imx-14.0.2"
174SRCBRANCH = "weston-imx-12.0.4" 166SRCREV = "c267ba8e6eed3a824e042a200bcc1b4c370ba88f"
175SRCREV = "461c49d20677cfd36d01a95dafbd9eedf2a4b09c"
176S = "${WORKDIR}/git"
177 167
178PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
179PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}" 168PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}"
169PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
180 170
181PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}" 171PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
182PACKAGECONFIG_G2D ??= "" 172PACKAGECONFIG_G2D ??= ""
183PACKAGECONFIG_G2D:imxgpu2d ??= "imxg2d" 173PACKAGECONFIG_G2D:imxgpu2d ??= "imxg2d"
184PACKAGECONFIG_G2D:mx93-nxp-bsp ??= "imxg2d" 174PACKAGECONFIG_G2D:mx93-nxp-bsp ??= "imxg2d"
175PACKAGECONFIG_G2D:mx943-nxp-bsp ??= "imxg2d"
185 176
186# Weston with i.MX G2D renderer 177# Weston with i.MX G2D renderer
187PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d" 178PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d"
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.2.bb
index e48d72585..8670443db 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.2.bb
@@ -1,5 +1,5 @@
1# Copyright (C) 2015-2016 Freescale Semiconductor 1# Copyright (C) 2015-2016 Freescale Semiconductor
2# Copyright (C) 2017-2024 NXP 2# Copyright (C) 2017-2025 NXP
3 3
4SUMMARY = "Kernel loadable module for Vivante GPU" 4SUMMARY = "Kernel loadable module for Vivante GPU"
5DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \ 5DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \
@@ -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 = "${LINUX_IMX_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}" 12LINUX_IMX_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.20-2.0.0"
15SRCREV = "3571388e9660f96b65b5fdcc093cc973ee502949" 15SRCREV = "d53b3fa8a69bef5ead825e81aa62dbdd08e1409c"
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.1.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.1.bb
deleted file mode 100644
index d2c63aa05..000000000
--- a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.1.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.3_1.0.0"
10SRCREV = "2102360b58d9d1b36bc0c654c8301e4014b33951"
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.2.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.2.bb
new file mode 100644
index 000000000..058d9e0d8
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.2.bb
@@ -0,0 +1,23 @@
1# Copyright (C) 2020-2025 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_2.0.0"
10SRCREV = "dc686fbb8b5b2f4cbc58d83756f65ad970b03ac2"
11
12
13S = "${UNPACKDIR}/${BP}/vvcam/v4l2"
14
15inherit module
16
17MODULES_MODULE_SYMVERS_LOCATION = "dwe"
18
19DEBUG_PREFIX_MAP:prepend = " \
20 -fmacro-prefix-map=${UNPACKDIR}/${BP}/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
21 -fdebug-prefix-map=${UNPACKDIR}/${BP}/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} "
22
23COMPATIBLE_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..2341ab0c9 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.20_2.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 = "7a8beaa1605cb0870dc7ba3312c76df91cb0d6cf"
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..b3b0f190f 100644
--- a/recipes-kernel/linux/linux-fslc-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.12.bb
@@ -28,20 +28,36 @@ 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.49.. ^mainline/linux-6.12.y ^NXP/lf-6.12.y
46# - bacd5504126bb imx8mp-olimex.dts: CSI GPIO pins
47# - 3a7012e991c98 hwrng: optee: support generic crypto
48# - 6c0a3377748eb arm64: dts: imx8mq: drop cpu-idle-states
49# - 7db0692d9ff5e of: enable using OF_DYNAMIC without OF_UNITTEST
50# - eff98b934385c gpu: drm: cadence: select hdmi helper
51# - be5e175e43d93 imx:dts:imx8mm-evkb: fix the pmic name to avoid duplicated label error
52# - 76e18f5a57b3e arm64: dts: imx8mm-evk-qca-wifi: enable support for bluetooth
53# - 06b99391f850c drm: of: Fix build without CONFIG_OF
54# - 17ac89e381a9d i2c: imx: Remove unnecessary clock reconfiguration
55# - 6d157e81ccc53 drm/imx: lcdifv3: Fix videomode settings
56# - 0a355239e2df3 clk: imx: imx8qm: add more resources to whitelist
57# - c5c4869899b1c arm64: dts: imx8: img: add #address-cells and #size-cells to I2C MIPI CSI nodes
58# - 3159e7d086295 arm64: dts: imx8qm: add missing imx8-ss-cm40.dtsi include
59# - ffea393034d48 arm64: imx_v8_defconfig: Enable CONFIG_GPIO_VF610
60# - a8762ad609202 imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND
45# 61#
46# NOTE to upgraders: 62# NOTE to upgraders:
47# This recipe should NOT collect individual patches, they should be applied to 63# This recipe should NOT collect individual patches, they should be applied to
@@ -51,16 +67,16 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
51 67
52require linux-imx.inc 68require linux-imx.inc
53 69
54KBRANCH = "6.6-2.0.x-imx" 70KBRANCH = "6.12-2.0.x-imx"
55SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" 71SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
56SRCREV = "dd280fd310dd5fabbff7393175ee9d7a6aea6b34" 72SRCREV = "77b58422ab0fa4480a0b89a5f1ebfb9d1a900aef"
57 73
58# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 74# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
59# required by kernel-yocto.bbclass. 75# required by kernel-yocto.bbclass.
60# 76#
61# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 77# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
62# should be updated once patchlevel is merged. 78# should be updated once patchlevel is merged.
63LINUX_VERSION = "6.6.23" 79LINUX_VERSION = "6.12.49"
64 80
65KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 81KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
66KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 82KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
@@ -68,7 +84,7 @@ KBUILD_DEFCONFIG:mx8-generic-bsp = "imx_v8_defconfig"
68KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig" 84KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig"
69 85
70# Local version indicates the branch name in the NXP kernel tree where patches are collected from. 86# Local version indicates the branch name in the NXP kernel tree where patches are collected from.
71LOCALVERSION = "-lf-6.6.y" 87LOCALVERSION = "-lf-6.12.y"
72 88
73DEFAULT_PREFERENCE = "1" 89DEFAULT_PREFERENCE = "1"
74 90
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..ed2478965 100644
--- a/recipes-kernel/linux/linux-imx-headers_6.6.bb
+++ b/recipes-kernel/linux/linux-imx-headers_6.12.bb
@@ -1,4 +1,4 @@
1# Copyright 2017-2024 NXP 1# Copyright 2017-2025 NXP
2# Released under the MIT license (see COPYING.MIT for the terms) 2# Released under the MIT license (see COPYING.MIT for the terms)
3 3
4SUMMARY = "Installs i.MX-specific kernel headers" 4SUMMARY = "Installs i.MX-specific kernel headers"
@@ -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 = "dfaf2136deb2af2e60b994421281ba42f1c087e0"
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..267a33542 100644
--- a/recipes-kernel/linux/linux-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-imx_6.12.bb
@@ -1,5 +1,5 @@
1# Copyright 2013-2016 (C) Freescale Semiconductor 1# Copyright 2013-2016 (C) Freescale Semiconductor
2# Copyright 2017-2024 (C) NXP 2# Copyright 2017-2025 (C) 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# 5#
@@ -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.20-2.0.0"
17SRCREV = "b586a521770e508d1d440ccb085c7696b9d6d387" 17SRCREV = "dfaf2136deb2af2e60b994421281ba42f1c087e0"
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.20"
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..09de1ba0a 100644
--- a/recipes-kernel/linux/linux-qoriq.inc
+++ b/recipes-kernel/linux/linux-qoriq.inc
@@ -1,15 +1,13 @@
1inherit kernel qoriq_build_64bit_kernel siteinfo 1inherit kernel qoriq_build_64bit_kernel siteinfo
2inherit fsl-kernel-localversion 2inherit fsl-kernel-localversion kernel-yocto
3 3
4SUMMARY = "Linux Kernel for NXP QorIQ platforms" 4SUMMARY = "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" 8DEPENDS:append = " libgcc coreutils-native"
9
10DEPENDS: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 = "" 10RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
13 11
14KERNEL_CC:append = " ${TOOLCHAIN_OPTIONS}" 12KERNEL_CC:append = " ${TOOLCHAIN_OPTIONS}"
15KERNEL_LD:append = " ${TOOLCHAIN_OPTIONS}" 13KERNEL_LD:append = " ${TOOLCHAIN_OPTIONS}"
@@ -23,12 +21,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
23 21
24SCMVERSION ?= "y" 22SCMVERSION ?= "y"
25LOCALVERSION = "" 23LOCALVERSION = ""
24
26DELTA_KERNEL_DEFCONFIG ?= "" 25DELTA_KERNEL_DEFCONFIG ?= ""
27DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm64 = "lsdk.config " 26DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm64 = "lsdk.config "
28DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm = "multi_v7_lpae.config lsdk.config " 27DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm = "multi_v7_lpae.config lsdk.config "
29 28
30do_merge_delta_config[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot bison-native:do_populate_sysroot" 29do_merge_delta_config[depends] += "virtual/cross-cc:do_populate_sysroot bison-native:do_populate_sysroot"
31do_merge_delta_config[dirs] = "${B}" 30do_merge_delta_config[dirs] = "${B}"
31do_kernel_metadata[noexec] = "1"
32do_kernel_configme[noexec] = "1"
33do_kernel_configcheck[noexec] = "1"
32 34
33do_merge_delta_config() { 35do_merge_delta_config() {
34 # create config with make config 36 # create config with make config
@@ -44,15 +46,17 @@ do_merge_delta_config() {
44 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do 46 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do
45 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then 47 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then
46 oe_runmake -C ${S} O=${B} ${deltacfg} 48 oe_runmake -C ${S} O=${B} ${deltacfg}
47 elif [ -f "${WORKDIR}/${deltacfg}" ]; then 49 elif [ -f "${S}/${deltacfg}" ]; then
48 ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} 50 ${S}/scripts/kconfig/merge_config.sh -m .config ${S}/${deltacfg}
49 elif [ -f "${deltacfg}" ]; then 51 elif [ -f "${deltacfg}" ]; then
50 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} 52 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg}
51 fi 53 fi
52 done 54 done
53 cp .config ${WORKDIR}/defconfig 55 cp .config ${UNPACKDIR}/defconfig
54} 56}
57
55addtask merge_delta_config before do_kernel_localversion after do_patch 58addtask merge_delta_config before do_kernel_localversion after do_patch
56 59
57FILES:${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*" 60FILES:${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*"
61INSANE_SKIP:${PN}-src += " buildpaths"
58COMPATIBLE_MACHINE = "(qoriq)" 62COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-kernel/linux/linux-qoriq_5.10.bb b/recipes-kernel/linux/linux-qoriq_5.10.bb
deleted file mode 100644
index c62de58e7..000000000
--- a/recipes-kernel/linux/linux-qoriq_5.10.bb
+++ /dev/null
@@ -1,8 +0,0 @@
1LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
2
3LINUX_VERSION = "5.10.52"
4
5SRC_URI = "git://github.com/nxp-qoriq/linux;protocol=https;nobranch=1"
6SRCREV = "a11753a89ec610768301d4070e10b8bd60fde8cd"
7
8require recipes-kernel/linux/linux-qoriq.inc
diff --git a/recipes-kernel/linux/linux-qoriq_6.12.bb b/recipes-kernel/linux/linux-qoriq_6.12.bb
new file mode 100644
index 000000000..b43fe7d53
--- /dev/null
+++ b/recipes-kernel/linux/linux-qoriq_6.12.bb
@@ -0,0 +1,9 @@
1LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
2LINUX_VERSION = "6.12.20"
3
4LINUX_QORIQ_BRANCH ?= "lf-6.12.y"
5LINUX_QORIQ_SRC ?= "git://github.com/nxp-qoriq/linux.git;protocol=https"
6SRC_URI = "${LINUX_QORIQ_SRC};branch=${LINUX_QORIQ_BRANCH}"
7SRCREV = "dfaf2136deb2af2e60b994421281ba42f1c087e0"
8
9require linux-qoriq.inc
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..d38e97e8f 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-2025 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.10.0_2505_L6.12.20"
24SRCREV = "b2ba082e70333f187972ee4e85f63f9d2f608331" 24SRCREV = "40e45c8023f95c06c4ea10185ca85db7eb2dfcd8"
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-devtools/0001-connect-has-a-different-signature-on-musl.patch b/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
index c0e458135..b596f2ef9 100644
--- a/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
+++ b/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
@@ -1,4 +1,4 @@
1From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001 1From 67809420230cd4fcc63069f78efdc90c7b4c4ee1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 9 Sep 2018 17:38:10 -0700 3Date: Sun, 9 Sep 2018 17:38:10 -0700
4Subject: [PATCH] connect has a different signature on musl 4Subject: [PATCH] connect has a different signature on musl
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb
index 9f7f890d5..9a619f5a0 100644
--- a/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb
@@ -6,13 +6,13 @@ SECTION = "multimedia"
6LICENSE = "LGPL-2.1-or-later" 6LICENSE = "LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" 7LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
8 8
9S = "${WORKDIR}/gst-devtools-1.22.5" 9SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${@get_gst_ver("${PV}")}.tar.xz \
10
11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.5.tar.xz \
12 file://0001-connect-has-a-different-signature-on-musl.patch \ 10 file://0001-connect-has-a-different-signature-on-musl.patch \
13 " 11 "
14 12
15SRC_URI[sha256sum] = "2add1519aa6eeb01d544cb94293688ee3bc2079f6bca6075bf5c23d00a0921be" 13S = "${UNPACKDIR}/gst-devtools-${@get_gst_ver("${PV}")}"
14
15SRC_URI[sha256sum] = "eff33d7dc292bb074a2788ea887b6283398ffdefafa49fb7d08efe6658a65648"
16 16
17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" 17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
18RRECOMMENDS:${PN} = "git" 18RRECOMMENDS:${PN} = "git"
@@ -40,6 +40,9 @@ EXTRA_OEMESON += " \
40 -Dvalidate=enabled \ 40 -Dvalidate=enabled \
41 ${@gettext_oemeson(d)} \ 41 ${@gettext_oemeson(d)} \
42" 42"
43# Drop .imx from PV
44def get_gst_ver(v):
45 return oe.utils.trim_version(v, 3)
43 46
44do_install:append () { 47do_install:append () {
45 for fn in ${bindir}/gst-validate-launcher \ 48 for fn in ${bindir}/gst-validate-launcher \
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/ffmpeg-6.0.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
deleted file mode 100644
index 0a06540fb..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
2From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
3Date: Mon, 13 Feb 2023 17:02:01 -0500
4Subject: [PATCH] avviddec: change
5 AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
6
7This fixes a compile error with recent upstream FFmpeg.
8
9The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
10AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
117d09579190de (lavc 58.132.100).
12
13The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
14commit 10c9a0874cb3 (lavc 59.63.100).
15
16Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
17
18Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
19Signed-off-by: Alexander Kanavin <alex@linutronix.de>
20---
21 ext/libav/gstavviddec.c | 6 +++++-
22 1 file changed, 5 insertions(+), 1 deletion(-)
23
24diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
25index 43cea456ae8..6d7c4cd0de8 100644
26--- a/ext/libav/gstavviddec.c
27+++ b/ext/libav/gstavviddec.c
28@@ -35,6 +35,10 @@
29
30 GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
31
32+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
33+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
34+#endif
35+
36 #define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
37
38 #define MAX_TS_MASK 0xff
39@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
40 if (ffmpegdec->max_threads == 0) {
41 /* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
42 * to one frame per thread. We thus need to calculate the thread count ourselves */
43- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
44+ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
45 (ffmpegdec->context->thread_type & FF_THREAD_FRAME))
46 ffmpegdec->context->thread_count =
47 MIN (gst_ffmpeg_auto_max_threads (), 16);
48--
49GitLab
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.imx.bb
index ab542cb53..138398d85 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.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] = "707a8b687ff5fddcee5b02415e2ec9b71b4ac44d0b7aec3b477364ceecbf1ecf"
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.26.0.imx.bb
index c53025b75..1c4ee72d0 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.0.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.10.0_2505_L6.12.20"
194SRCREV = "869cef4efbc004c795392d274e617f2dfa71ac98" 191SRCREV = "4320364e6be53cae81ac2bca3ce0e09cf8707590"
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.26.0.imx.bb
index 348a30dc5..5c2492638 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.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.10.0_2505_L6.12.20"
122SRCREV = "1c9913d7ce81c43cbf756158a35f61dbeee19ea3" 122SRCREV = "bbe6aa6f5b666fda0b172c3e1f417c7eadb16549"
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.26.0.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.26.0.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.26.0.imx.bb
index 5d5a2425c..7c921d97c 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.0.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.10.0_2505_L6.12.20"
115SRCREV = "50535da48c564bd3a46b2e39e0a3a97cf7e86df3" 115SRCREV = "6a0df1aee0ef2477dbacedd79df08c5bcb648e55"
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.26.0.imx.bb
index 55bb975b4..1f5956ab4 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bb
@@ -14,9 +14,9 @@ LICENSE_FLAGS = "commercial"
14SRC_URI = " \ 14SRC_URI = " \
15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \ 15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
16 " 16 "
17SRC_URI[sha256sum] = "c5d1cbdf71ab0c675bca236f70edfa1feb3f813fd4bfff563308f466d8805ca5" 17SRC_URI[sha256sum] = "a86b51c8454a813120848c803421f327d8c07aabcae461e0597cc49398c0fcde"
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
@@ -43,6 +43,7 @@ EXTRA_OEMESON += " \
43def get_gst_ver(v): 43def get_gst_ver(v):
44 return oe.utils.trim_version(v, 3) 44 return oe.utils.trim_version(v, 3)
45 45
46FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
46FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" 47FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
47 48
48COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 49COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend
new file mode 100644
index 000000000..ea144b396
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend
@@ -0,0 +1 @@
PACKAGECONFIG:remove = "a52dec mpeg2dec"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-Fix-missing-python_opt.patch b/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-Fix-missing-python_opt.patch
deleted file mode 100644
index fd6b1c16e..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-Fix-missing-python_opt.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 8d7e2eaed10e2928358805f613223a6a149790d6 Mon Sep 17 00:00:00 2001
2From: Hiago De Franco <hiago.franco@toradex.com>
3Date: Wed, 31 Jul 2024 11:51:06 -0300
4Subject: [PATCH] meson.build: Fix missing python_opt
5
6'python_opt' was not declared earlier, giving the following build error:
7
8| Message: python_abi_flags =
9|
10| ../gst-python-1.24.0/meson.build:84:16: ERROR: Unknown variable "python_opt".
11
12Remove it and keep the error message.
13
14Upstream-Status: Inappropriate [oe specific]
15
16The patch already exists upstream, but this is related to another fix [1]
17not suitable for OE. Moreover, the backport does not apply since
18the patch was added to the gstreamer monorepo.
19
20[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6734?
21
22Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
23---
24 meson.build | 7 +------
25 1 file changed, 1 insertion(+), 6 deletions(-)
26
27diff --git a/meson.build b/meson.build
28index f240b6fd8aca..53f7a43702c7 100644
29--- a/meson.build
30+++ b/meson.build
31@@ -80,12 +80,7 @@ foreach loc: pylib_locs
32 endforeach
33 endforeach
34 if pylib_fname == ''
35- error_msg = 'Could not find python library to load'
36- if python_opt.enabled()
37- error(error_msg)
38- else
39- message(error_msg)
40- endif
41+ message('Could not find python library to load')
42 endif
43
44 pygi_override_dir = get_option('pygi-overrides-dir')
45--
462.39.2
47
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb
index 0ba9a1aea..388ee81e6 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb
@@ -7,18 +7,17 @@ SECTION = "multimedia"
7LICENSE = "LGPL-2.1-or-later" 7LICENSE = "LGPL-2.1-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
9 9
10SRC_URI = "\ 10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
11 https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz \ 11SRC_URI[sha256sum] = "e5046a05d77abb15671ad01cd1908d17d62e5a06f5d7841be4342ade2a3fb8db"
12 file://0001-meson.build-Fix-missing-python_opt.patch \
13 "
14SRC_URI[sha256sum] = "041c2255c1ea9936c777dcb08a36ecaa6a24a69a12fc46ef53f1530d46c59f9d"
15 12
16DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
14DEPENDS:append = " gstreamer1.0-plugins-bad"
15
17RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 16RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
18 17
19PNREAL = "gst-python" 18PNREAL = "gst-python"
20 19
21S = "${WORKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}" 20S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}"
22 21
23EXTRA_OEMESON += "\ 22EXTRA_OEMESON += "\
24 -Dtests=disabled \ 23 -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.26.0.imx.bb
index c866d2332..b5dd9a322 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.0.imx.bb
@@ -10,9 +10,9 @@ PNREAL = "gst-rtsp-server"
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz" 11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
12 12
13SRC_URI[sha256sum] = "5b0fa6b12ba95b1d336a4b274cbe19e982aa3e6819f1d97bfd8e0102b103ed9b" 13SRC_URI[sha256sum] = "e983c039496e3f75e39696554ce74db4120e2465de17aa1cc37160568e9b40bc"
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.26.0.imx.bb
index dde7b5b1d..1d83ca031 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.0.imx.bb
@@ -9,11 +9,11 @@ REALPN = "gstreamer-vaapi"
9LICENSE = "LGPL-2.1-or-later" 9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" 10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11 11
12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-1.24.0.tar.xz" 12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver("${PV}")}.tar.xz"
13 13
14SRC_URI[sha256sum] = "6b1f3b91ca65dedc67dc67a25dc1d1e464f11825a27ab9c7ac7c1bda67f03596" 14SRC_URI[sha256sum] = "573931d455f5a96f63db7c8d35d51322b8d287816e8c6a77d84cfbb9fa1351f1"
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.26.0.imx.bb
index 33b3c65c1..5b315ed7f 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.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
@@ -87,18 +87,25 @@ PTEST_BUILD_HOST_FILES = ""
87DEFAULT_PREFERENCE = "-1" 87DEFAULT_PREFERENCE = "-1"
88 88
89LIC_FILES_CHKSUM = " \ 89LIC_FILES_CHKSUM = " \
90 file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \ 90 file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
91 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d \ 91 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d \
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.10.0_2505_L6.12.20"
99SRCREV = "753c7b4471d14befd1b7c9cd3fa9af9f10ab4a08" 104SRCREV = "dba94b66ed28cc6537608a68c31c8be52f6f53a5"
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/0001-gplay2-fix-termio.h-no-longer-existing.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch
new file mode 100644
index 000000000..cb314b38d
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch
@@ -0,0 +1,35 @@
1From b88aec4d7a8c8993c8c75f002a1f2af1635337d1 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Sat, 9 Aug 2025 08:20:50 +0000
4Subject: [PATCH] gplay2: fix termio.h no longer existing
5
6glibc 2.42 removed the long deprecated termio.h header which
7in 2.41 only included termios.h and sys/ioctl.h. [1]
8
9Replacing it with sys/ioctl.h seems to provide all the needed
10declaration for successfully compiling.
11
12[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS#l91
13
14Upstream-Status: Pending
15Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
16---
17 tools/gplay2/gplay2.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/tools/gplay2/gplay2.c b/tools/gplay2/gplay2.c
21index 9e406b9ea8c7..98b3ee5cf666 100755
22--- a/tools/gplay2/gplay2.c
23+++ b/tools/gplay2/gplay2.c
24@@ -26,7 +26,7 @@
25 */
26
27
28-#include <termio.h>
29+#include <sys/ioctl.h>
30 #include <unistd.h>
31 #include <pthread.h>
32 #include <stdio.h>
33--
342.42.0
35
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..2ba8fdd1d 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -24,25 +24,24 @@ 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:mx8-nxp-bsp = "imx-opencl-converter" 28DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" 30DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
30DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter"
31 31
32# For backwards compatibility 32# For backwards compatibility
33RREPLACES:${PN} = "gst1.0-fsl-plugin" 33RREPLACES:${PN} = "gst1.0-fsl-plugin"
34RPROVIDES:${PN} = "gst1.0-fsl-plugin" 34RPROVIDES:${PN} = "gst1.0-fsl-plugin"
35RCONFLICTS:${PN} = "gst1.0-fsl-plugin" 35RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
36 36
37PV = "4.9.0+git${SRCPV}" 37PV = "4.10.0+git${SRCPV}"
38 38
39SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \ 39SRC_URI = " \
40 file://0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch \ 40 git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
41 " 41 file://0001-gplay2-fix-termio.h-no-longer-existing.patch \
42SRCBRANCH = "MM_04.09.00_2405_L6.6.y" 42"
43SRCREV = "c3049a137f79e4eabc98785aefcd217ebcde9e96" 43SRCBRANCH = "MM_04.10.0_2505_L6.12.20"
44 44SRCREV = "6861aec99901375f5ebcd5170ce1f5232cd38fd6"
45S = "${WORKDIR}/git"
46 45
47inherit meson pkgconfig use-imx-headers 46inherit meson pkgconfig use-imx-headers
48 47
@@ -51,20 +50,11 @@ PLATFORM:mx6sl-nxp-bsp = "MX6SL"
51PLATFORM:mx6sx-nxp-bsp = "MX6SX" 50PLATFORM:mx6sx-nxp-bsp = "MX6SX"
52PLATFORM:mx6ul-nxp-bsp = "MX6UL" 51PLATFORM:mx6ul-nxp-bsp = "MX6UL"
53PLATFORM:mx6sll-nxp-bsp = "MX6SLL" 52PLATFORM:mx6sll-nxp-bsp = "MX6SLL"
54PLATFORM:mx7-nxp-bsp= "MX7D" 53PLATFORM:mx7-nxp-bsp = "MX7D"
55PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" 54PLATFORM:mx7ulp-nxp-bsp = "MX7ULP"
56PLATFORM:mx8-nxp-bsp = "MX8" 55PLATFORM:mx8-nxp-bsp = "MX8"
57PLATFORM:mx9-nxp-bsp = "MX9" 56PLATFORM:mx9-nxp-bsp = "MX9"
58 57
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 58# Todo add a mechanism to map possible build targets
69EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ 59EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
70 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 60 -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.10.0.bb
index 761345ce7..6a5c2c32c 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.9.0.bb
+++ b/recipes-multimedia/imx-codec/imx-codec_4.10.0.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-2025 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=a93b654673e1bc8398ed1f30e0813359"
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] = "82242219e0d3536aeff31d9c215543bfe5541540bdb4fa8d61e83067b015e31f"
15SRC_URI[sha256sum] = "1a41a3cad9e0f4baa904fcec896105d3474e18d13f169dad1172d5691fc11c9a" 16IMX_SRCREV_ABBREV = "464e9d8"
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
deleted file mode 100644
index 48be837a9..000000000
--- a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1# Copyright 2019 NXP
2DESCRIPTION = "NXP Asynchronous Sample Rate Converter"
3LICENSE = "Proprietary"
4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
6
7SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
8
9SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1"
10SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
11
12inherit fsl-eula-unpack autotools pkgconfig
13
14EXTRA_OECONF = "--enable-armv8 --libdir=${libdir} --bindir=/unit_tests"
15
16INHIBIT_PACKAGE_STRIP = "1"
17INHIBIT_SYSROOT_STRIP = "1"
18INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
19
20FILES:${PN} += "/unit_tests ${datadir}/imx-mm"
21
22COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.2.bb b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.2.bb
new file mode 100644
index 000000000..9cf4fa968
--- /dev/null
+++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.2.bb
@@ -0,0 +1,25 @@
1# Copyright 2019, 2025 NXP
2DESCRIPTION = "NXP Asynchronous Sample Rate Converter"
3LICENSE = "Proprietary"
4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
6
7SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
8
9IMX_SRCREV_ABBREV = "ce4ae5a"
10
11SRC_URI[sha256sum] = "6382e46e5c60c844fc6a7a05876e19eed690c587300337624c66fa9cb20a3b7c"
12
13S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
14
15inherit fsl-eula-unpack autotools pkgconfig
16
17EXTRA_OECONF = "--enable-armv8 --libdir=${libdir} --bindir=/unit_tests"
18
19INHIBIT_PACKAGE_STRIP = "1"
20INHIBIT_SYSROOT_STRIP = "1"
21INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
22
23FILES:${PN} += "/unit_tests ${datadir}/imx-mm"
24
25COMPATIBLE_MACHINE = "(mx8-nxp-bsp|mx9-nxp-bsp)"
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.8.0.bb
index 86bab3fce..cf4e4d182 100644
--- a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.4.0.bb
+++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.8.0.bb
@@ -1,17 +1,16 @@
1# Copyright 2023 NXP 1# Copyright 2023-2025 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=a93b654673e1bc8398ed1f30e0813359"
6DEPENDS = "virtual/opencl-icd" 6DEPENDS = "virtual/libopencl1"
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 = "b81b785"
10 10
11SRC_URI[md5sum] = "daa99b8615ca08280833bb80bc52c9be" 11SRC_URI[sha256sum] = "a4dee08d5949d41cb9c61d44ce0b5a055b9416129216f9d36d0bc6d9e512ab64"
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.10.0.bb
index 4bbf6dfb6..60add6e33 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.9.0.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.10.0.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=a93b654673e1bc8398ed1f30e0813359"
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 = "e8a7ec7"
18SRC_URI[sha256sum] = "2f0fc3955f824936c359b3cb738549213823b0c366b2362bba593058da745677" 18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
19
20SRC_URI[sha256sum] = "90b4b7f7c3cffc9d57774dbb06e37d810a2618e059f30244e1b4155fb9bc82d5"
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-add-sys-time.h-for-gettim.patch
deleted file mode 100644
index cbf37417e..000000000
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-add-sys-time.h-for-gettim.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 482c639a0da4b093cfc029009604e9653ced33c4 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Thu, 13 Jun 2024 07:15:12 +0000
4Subject: [PATCH] vpu_wrapper_hantro_encoder: add sys/time.h for gettimeofday
5
6Fixes:
7| ../git/vpu_wrapper_hantro_encoder.c:953:3: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 vpu_wrapper_hantro_encoder.c | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/vpu_wrapper_hantro_encoder.c b/vpu_wrapper_hantro_encoder.c
16index 3819c389320c..635c98bf1f19 100755
17--- a/vpu_wrapper_hantro_encoder.c
18+++ b/vpu_wrapper_hantro_encoder.c
19@@ -24,6 +24,7 @@
20 #include <stdlib.h>
21 #include <string.h>
22 #include <time.h>
23+#include <sys/time.h>
24 #include <semaphore.h>
25
26 #include "headers/OMX_Video.h"
27--
282.42.0
29
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index f7a8e3521..1ad735152 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -1,27 +1,23 @@
1# Copyright (C) 2013-2016 Freescale Semiconductor 1# Copyright (C) 2013-2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright (C) 2017-2023,2025 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=a93b654673e1bc8398ed1f30e0813359"
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 = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}"
14 git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH} \ 14SRCBRANCH = "MM_04.10.0_2505_L6.12.20"
15 file://0001-vpu_wrapper_hantro_encoder-add-sys-time.h-for-gettim.patch \ 15SRCREV = "feeb9109a027d3a0f040b0bddb5f79a1daad3587"
16 file://0001-vpu_wrapper_hantro_VCencoder-add-sys-time.h-for-gett.patch \
17"
18SRCBRANCH = "MM_04.09.00_2405_L6.6.y"
19SRCREV = "73093da30dc4053c9f69813a6447091bfca5429b"
20
21S = "${WORKDIR}/git"
22 16
23inherit autotools pkgconfig 17inherit autotools pkgconfig
24 18
19CFLAGS += " -Wno-error=implicit-function-declaration"
20
25do_install:append() { 21do_install:append() {
26 # FIXME: Drop examples for now 22 # FIXME: Drop examples for now
27 rm -r ${D}${datadir} 23 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/nxp-afe/nxp-afe-voiceseeker_git.bb b/recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb
new file mode 100644
index 000000000..7afa44cb1
--- /dev/null
+++ b/recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb
@@ -0,0 +1,41 @@
1# Copyright 2025 NXP
2
3DESCRIPTION = "NXP RetuneDSP Voice Seeker Libraries"
4SECTION = "multimedia"
5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca53281cc0caa7e320d4945a896fb837"
7
8inherit pkgconfig
9
10DEPENDS += "alsa-lib nxp-afe"
11
12PV = "2.0+git"
13
14SRCBRANCH = "MM_04.10.0_2505_L6.12.20"
15SRC_URI = "git://github.com/nxp-imx/imx-voiceui.git;protocol=https;branch=${SRCBRANCH}"
16
17SRCREV = "737c156469eeede28fe1a0777c968becf6fea886"
18
19EXTRA_CONF = "--enable-armv8 --bindir=/unit_tests/ --libdir=${libdir}"
20
21EXTRA_OEMAKE:mx8-nxp-bsp = "BUILD_ARCH=CortexA53"
22EXTRA_OEMAKE:mx8ulp-nxp-bsp = "BUILD_ARCH=CortexA35"
23EXTRA_OEMAKE:mx9-nxp-bsp = "BUILD_ARCH=CortexA55"
24
25do_install() {
26 install -d ${D}${libdir}/nxp-afe
27 install -d ${D}/unit_tests/nxp-afe
28 install -m 0644 ${S}/release/*.so.2.0 ${D}${libdir}/nxp-afe/
29 ln -sf -r ${D}${libdir}/nxp-afe/libvoiceseekerlight.so.2.0 ${D}${libdir}/nxp-afe/libvoiceseekerlight.so
30 install -m 0755 ${S}/release/voice_ui_app ${D}/unit_tests/nxp-afe
31 install -m 0644 ${S}/release/Config.ini ${D}/unit_tests/nxp-afe
32}
33
34PACKAGE_ARCH = "${MACHINE_ARCH}"
35
36FILES:${PN} += "${libdir}/nxp-afe/* \
37 /unit_tests/* \
38"
39INSANE_SKIP:${PN} += "dev-so"
40
41COMPATIBLE_MACHINE = "(mx8-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-multimedia/nxp-afe/nxp-afe_git.bb b/recipes-multimedia/nxp-afe/nxp-afe_git.bb
new file mode 100644
index 000000000..a401bedeb
--- /dev/null
+++ b/recipes-multimedia/nxp-afe/nxp-afe_git.bb
@@ -0,0 +1,35 @@
1# Copyright 2025 NXP
2
3DESCRIPTION = "NXP Audio Front End (AFE) for incorporating Voice Assistants"
4LICENSE = "BSD-3-Clause"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=7bdef19938f3503cfc4c586461f99012"
6
7PV = "1.0+git"
8
9SRCBRANCH = "MM_04.10.0_2505_L6.12.20"
10SRC_URI = " git://github.com/nxp-imx/nxp-afe.git;protocol=https;branch=${SRCBRANCH}"
11
12SRCREV = "c6b8fee21376e724b8441f3cf6c04dee69b5242e"
13
14DEPENDS += "alsa-lib"
15
16TARGET_CC_ARCH += "${LDFLAGS}"
17
18do_compile() {
19 oe_runmake clean
20 oe_runmake all
21}
22
23do_install() {
24 install -d ${D}${libdir}/nxp-afe
25 install -d ${D}/unit_tests/nxp-afe
26 install -m 0644 ${UNPACKDIR}/deploy_afe/*.so.1.0 ${D}${libdir}/nxp-afe
27 ln -sf -r ${D}${libdir}/nxp-afe/libdummyimpl.so.1.0 ${D}${libdir}/nxp-afe/libdummyimpl.so
28 install -m 0755 ${UNPACKDIR}/deploy_afe/afe ${D}/unit_tests/nxp-afe
29 install -m 0644 ${UNPACKDIR}/deploy_afe/asound.conf* ${D}/unit_tests/nxp-afe
30 install -m 0644 ${UNPACKDIR}/deploy_afe/TODO.md ${D}/unit_tests/nxp-afe
31 install -m 0755 ${UNPACKDIR}/deploy_afe/UAC_VCOM_composite.sh ${D}/unit_tests/nxp-afe
32}
33
34FILES:${PN} += "/unit_tests"
35INSANE_SKIP:${PN} += "dev-so"
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..1112a864d 100644
--- a/recipes-security/optee-imx/optee-client-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-client-fslc-imx.inc
@@ -1,7 +1,17 @@
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-walnascar/imx-6.12.20-2.0.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
13SRC_URI += "file://0001-tee-supplicant-Fix-non-arch-service-unit-install-pat.patch"
14
15inherit pkgconfig
16
17EXTRA_OECMAKE += "-DCFG_TEE_CLIENT_LOAD_PATH=${nonarch_base_libdir}"
diff --git a/recipes-security/optee-imx/optee-client-fslc.inc b/recipes-security/optee-imx/optee-client-fslc.inc
index f55f0ab24..70a25fe6c 100644
--- a/recipes-security/optee-imx/optee-client-fslc.inc
+++ b/recipes-security/optee-imx/optee-client-fslc.inc
@@ -1,42 +1,60 @@
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-walnascar/imx-6.12.20-2.0.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 useradd
9
10S = "${WORKDIR}/git"
11B = "${WORKDIR}/build"
12
13inherit python3native systemd features_check pkgconfig
14
15DEPENDS = "util-linux-libuuid"
16 12
17REQUIRED_MACHINE_FEATURES = "optee" 13SRC_URI = " \
14 git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https \
15 file://tee-supplicant.sh \
16"
18 17
19SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" 18UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
20 19
21EXTRA_OEMAKE = " \ 20EXTRA_OECMAKE = " \
22 -C ${S} O=${B} \ 21 -DBUILD_SHARED_LIBS=ON \
22 -DCFG_USE_PKGCONFIG=ON \
23" 23"
24 24
25do_install () { 25# libts uses /dev/tee devices too. Add a common variable to allow configuring the same group.
26 oe_runmake -C ${S} install 26TEE_GROUP_NAME ?= "tee"
27 27
28 install -D -p -m0644 ${B}/export/usr/lib/libteec.so.2.0.0 ${D}${libdir}/libteec.so.2.0.0 28EXTRA_OECMAKE += " -DCFG_ENABLE_SYSTEMD=On -DSYSTEMD_UNIT_DIR=${systemd_system_unitdir}/"
29 ln -sf libteec.so.2.0.0 ${D}${libdir}/libteec.so.2 29EXTRA_OECMAKE += " -DCFG_ENABLE_UDEV=On -DUDEV_UDEV_DIR=${nonarch_base_libdir}/udev/rules.d/"
30 ln -sf libteec.so.2.0.0 ${D}${libdir}/libteec.so 30EXTRA_OECMAKE += " -DCFG_TEE_GROUP=${TEE_GROUP_NAME} -DCFG_TEEPRIV_GROUP=teepriv"
31
32EXTRA_OECMAKE:append:toolchain-clang = " -DCFG_WERROR=0"
33
34do_install:append() {
35 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
36 install -D -p -m0755 ${UNPACKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
37 sed -i -e s:@sysconfdir@:${sysconfdir}:g \
38 -e s:@sbindir@:${sbindir}:g \
39 -e s:@supluser@:teesuppl:g \
40 -e s:@suplgroup@:teesuppl:g \
41 ${D}${sysconfdir}/init.d/tee-supplicant
42 fi
43 install -o teesuppl -g teesuppl -m 0700 -d ${D}${localstatedir}/lib/tee
44}
31 45
32 install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0 46SYSTEMD_SERVICE:${PN} = "tee-supplicant@.service"
33 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0
34 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so
35 47
36 install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant 48INITSCRIPT_PACKAGES = "${PN}"
49INITSCRIPT_NAME:${PN} = "tee-supplicant"
50INITSCRIPT_PARAMS:${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
37 51
38 cp -a ${B}/export/usr/include ${D}${includedir} 52FILES:${PN} += "${nonarch_base_libdir}/udev/rules.d/"
39 53
40 sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${UNPACKDIR}/tee-supplicant.service 54# Users and groups:
41 install -D -p -m0644 ${UNPACKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service 55# TEE_GROUP_NAME group to access /dev/tee*
42} 56# teepriv group to acess /dev/teepriv*, only tee-supplicant
57# teesuppl user and group teesuppl to run tee-supplicant
58USERADD_PACKAGES = "${PN}"
59GROUPADD_PARAM:${PN} = "--system ${TEE_GROUP_NAME}; --system teepriv; --system teesuppl"
60USERADD_PARAM:${PN} = "--system -g teesuppl --groups teepriv --home-dir ${localstatedir}/lib/tee -M --shell /sbin/nologin teesuppl;"
diff --git a/recipes-security/optee-imx/optee-client/0001-tee-supplicant-Fix-non-arch-service-unit-install-pat.patch b/recipes-security/optee-imx/optee-client/0001-tee-supplicant-Fix-non-arch-service-unit-install-pat.patch
new file mode 100644
index 000000000..631e08019
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/0001-tee-supplicant-Fix-non-arch-service-unit-install-pat.patch
@@ -0,0 +1,35 @@
1From 5ffab66dda3e25f0b2ebc5115013c4234d048703 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Mon, 21 Apr 2025 08:47:29 -0500
4Subject: [PATCH] tee-supplicant: Fix non-arch service unit install path
5
6A 64-bit build with multilib enabled fails:
7```
8ERROR: optee-client-4.4.0-r0 do_package: Didn't find service unit 'tee-supplicant@.service', specified in SYSTEMD_SERVICE:optee-client. Also looked for service unit 'tee-supplicant@.service'.
9```
10
11The problem is the service unit is installed in the arch-specific folder
12/usr/lib64/systemd/system, but it is non-arch and should be in
13/usr/lib/systemd/system.
14
15Upstream-Status: Pending
16Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
17---
18 tee-supplicant/CMakeLists.txt | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/tee-supplicant/CMakeLists.txt b/tee-supplicant/CMakeLists.txt
22index 8df9bef..3ea058c 100644
23--- a/tee-supplicant/CMakeLists.txt
24+++ b/tee-supplicant/CMakeLists.txt
25@@ -119,6 +119,6 @@ endif()
26 ################################################################################
27 install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
28 configure_file(tee-supplicant@.service.in tee-supplicant@.service @ONLY)
29-install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}/tee-supplicant@.service DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/system)
30+install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}/tee-supplicant@.service DESTINATION lib/systemd/system)
31 configure_file(optee-udev.rules.in optee-udev.rules @ONLY)
32 install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}/optee-udev.rules DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d)
33--
342.34.1
35
diff --git a/recipes-security/optee-imx/optee-client/optee-udev.rules b/recipes-security/optee-imx/optee-client/optee-udev.rules
new file mode 100644
index 000000000..075f469c0
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/optee-udev.rules
@@ -0,0 +1,6 @@
1KERNEL=="tee[0-9]*", MODE="0660", OWNER="root", GROUP="teeclnt", TAG+="systemd"
2
3# If a /dev/teepriv[0-9]* device is detected, start an instance of
4# tee-supplicant.service with the device name as parameter
5KERNEL=="teepriv[0-9]*", MODE="0660", OWNER="root", GROUP="teeclnt", \
6 TAG+="systemd", ENV{SYSTEMD_WANTS}+="tee-supplicant@%k.service"
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.6.0.imx.bb b/recipes-security/optee-imx/optee-client_4.6.0.imx.bb
new file mode 100644
index 000000000..b5a185da1
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client_4.6.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.12.20_2.0.0"
4SRCREV = "02e7f9213b0d7db9c35ebf1e41e733fc9c5a3f75"
diff --git a/recipes-security/optee-imx/optee-fslc.inc b/recipes-security/optee-imx/optee-fslc.inc
index 6c96dc2bc..599dda522 100644
--- a/recipes-security/optee-imx/optee-fslc.inc
+++ b/recipes-security/optee-imx/optee-fslc.inc
@@ -1,26 +1,42 @@
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-walnascar/imx-6.12.20-2.0.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:genericarm64 ?= "genericarm64"
8COMPATIBLE_MACHINE:qemuarm64 ?= "qemuarm64"
9COMPATIBLE_MACHINE:qemuarm ?= "qemuarm"
10# Please add supported machines below or set it in .bbappend or .conf
6 11
7DEPENDS = "python3-cryptography-native" 12OPTEEMACHINE ?= "${MACHINE}"
13OPTEEMACHINE:genericarm64 ?= "vexpress-qemu_armv8a"
14OPTEEMACHINE:aarch64:qemuall ?= "vexpress-qemu_armv8a"
15OPTEEMACHINE:arm:qemuall ?= "vexpress-qemu_virt"
8 16
9S = "${WORKDIR}/git" 17OPTEE_ARCH = "null"
10B = "${WORKDIR}/build" 18OPTEE_ARCH:arm = "arm32"
11
12OPTEE_ARCH:arm = "arm32"
13OPTEE_ARCH:aarch64 = "arm64" 19OPTEE_ARCH:aarch64 = "arm64"
20OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
21
22OPTEE_TOOLCHAIN = "${@d.getVar('TOOLCHAIN') or 'gcc'}"
23OPTEE_COMPILER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "clang-layer", "${OPTEE_TOOLCHAIN}", "gcc", d)}"
14 24
15COMPILER ?= "gcc" 25# Set here but not passed to EXTRA_OEMAKE by default as that breaks
16COMPILER:toolchain-clang = "clang" 26# the optee-os build
27TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
28
29EXTRA_OEMAKE += "V=1 \
30 LIBGCC_LOCATE_CFLAGS='${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
31 COMPILER=${OPTEE_COMPILER} \
32 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${prefix} \
33 TEEC_EXPORT=${STAGING_DIR_HOST}${prefix} \
34 "
35# python3-cryptography needs the legacy provider, so set OPENSSL_MODULES to the
36# right path until this is relocated automatically.
37export OPENSSL_MODULES = "${STAGING_LIBDIR_NATIVE}/ossl-modules"
17 38
18CFLAGS += "--sysroot=${STAGING_DIR_HOST}" 39CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
19CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" 40
20 41# 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 = " \ 42CVE_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..ffd217099
--- /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-walnascar/imx-6.12.20-2.0.0.xml#L37
3require optee-os-fslc.inc
4
5DEPENDS:append:arm = "u-boot-mkimage-native"
6
7FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:"
8
9SRC_URI:remove = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
10SRC_URI:prepend = "${OPTEE_OS_SRC};branch=${SRCBRANCH} "
11SRC_URI:append = " file://0007-allow-setting-sysroot-for-clang.patch"
12SRC_URI:remove = "file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
13 file://0002-optee-enable-clang-support.patch \
14 file://0003-core-link-add-no-warn-rwx-segments.patch"
15
16OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "optee"
21
22OPTEEMACHINE = "imx-${@d.getVar('MACHINE')[1:]}"
23OPTEEMACHINE:imx6qpdlsolox = "imx-mx6qsabresd"
24OPTEEMACHINE:mx6ul-nxp-bsp = "imx-mx6ulevk"
25OPTEEMACHINE:mx6ull-nxp-bsp = "imx-mx6ullevk"
26OPTEEMACHINE:mx6ulz-nxp-bsp = "imx-mx6ulzevk"
27OPTEEMACHINE:mx8mq-nxp-bsp = "imx-mx8mqevk"
28OPTEEMACHINE:mx8mm-nxp-bsp = "imx-mx8mmevk"
29OPTEEMACHINE:mx8mn-nxp-bsp = "imx-mx8mnevk"
30OPTEEMACHINE:mx8mp-nxp-bsp = "imx-mx8mpevk"
31OPTEEMACHINE:mx8mpul-nxp-bsp = "imx-mx8mpevk"
32OPTEEMACHINE:mx8qm-nxp-bsp = "imx-mx8qmmek"
33OPTEEMACHINE:mx8qxp-nxp-bsp = "imx-mx8qxpmek"
34OPTEEMACHINE:mx8dx-nxp-bsp = "imx-mx8dxmek"
35OPTEEMACHINE:mx8dxl-nxp-bsp = "imx-mx8dxlevk"
36OPTEEMACHINE:mx8mnul-nxp-bsp = "imx-mx8mnevk"
37OPTEEMACHINE:mx8ulp-nxp-bsp = "imx-mx8ulpevk"
38OPTEEMACHINE:mx91-nxp-bsp = "imx-mx91evk"
39OPTEEMACHINE:mx93-nxp-bsp = "imx-mx93evk"
40OPTEEMACHINE:mx943-nxp-bsp = "imx-mx943evk"
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..f46f666ee 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-walnascar/imx-6.12.20-2.0.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..4df1617d1 100644
--- a/recipes-security/optee-imx/optee-os-fslc.inc
+++ b/recipes-security/optee-imx/optee-os-fslc.inc
@@ -1,87 +1,82 @@
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-walnascar/imx-6.12.20-2.0.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 AFLAGS="${CFLAGS}" \
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}
47
48do_compile:arm () {
49 oe_runmake all uTee
50} 43}
51 44
52do_compile:aarch64 () { 45do_compile() {
53 oe_runmake all 46 oe_runmake -C ${S} 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/"
85RDEPENDS:${PN}-dev += "${PN}-staticdev"
86 73
87PACKAGE_ARCH = "${MACHINE_ARCH}" 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"
81INSANE_SKIP:${PN}-dev = "staticdev"
82INHIBIT_PACKAGE_STRIP = "1"
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..0b02c6908
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
@@ -0,0 +1,24 @@
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-walnascar/imx-6.12.20-2.0.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/"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit_4.6.0.imx.bb b/recipes-security/optee-imx/optee-os-tadevkit_4.6.0.imx.bb
new file mode 100644
index 000000000..92bdf00e7
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit_4.6.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-os-tadevkit-fslc-imx.inc
2
3SRCBRANCH = "lf-6.12.20_2.0.0"
4SRCREV = "87964807d80baf1dcfd89cafc66de34a1cf16bf3"
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.6.0.imx.bb b/recipes-security/optee-imx/optee-os_4.6.0.imx.bb
new file mode 100644
index 000000000..ed2557bcb
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os_4.6.0.imx.bb
@@ -0,0 +1,6 @@
1# Copyright 2017-2024 NXP
2
3require optee-os-fslc-imx.inc
4
5SRCBRANCH = "lf-6.12.20_2.0.0"
6SRCREV = "87964807d80baf1dcfd89cafc66de34a1cf16bf3"
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..b4bb6031b
--- /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-walnascar/imx-6.12.20-2.0.0.xml#L37
3require optee-test-fslc.inc
4
5DEPENDS += "openssl"
6
7FILESEXTRAPATHS:prepend := "${THISDIR}/optee-test:"
8
9SRC_URI:remove = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https"
10SRC_URI:prepend = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} "
11
12OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https"
13
14EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}"
15CFLAGS:append:libc-musl = " -Wno-error=deprecated-declarations"
16CFLAGS += " -Wno-error=unterminated-string-initialization"
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..46d57ac41 100644
--- a/recipes-security/optee-imx/optee-test-fslc.inc
+++ b/recipes-security/optee-imx/optee-test-fslc.inc
@@ -1,38 +1,63 @@
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-walnascar/imx-6.12.20-2.0.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"
6 9
10inherit python3native ptest
11inherit deploy
7require optee-fslc.inc 12require optee-fslc.inc
8 13
9DEPENDS += "optee-os optee-client openssl" 14DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl"
15
16SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \
17 file://run-ptest \
18 "
19
20B = "${WORKDIR}/build"
21
22EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
23 OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR} \
24 CROSS_COMPILE_HOST=${HOST_PREFIX} \
25 CROSS_COMPILE_TA=${HOST_PREFIX} \
26 O=${B} \
27 "
10 28
11EXTRA_OEMAKE += " \ 29CFLAGS += "-Wno-error=deprecated-declarations"
12 TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \
13 CROSS_COMPILE_HOST=${HOST_PREFIX} \
14 CROSS_COMPILE_TA=${HOST_PREFIX} \
15 CROSS_COMPILE=${HOST_PREFIX} \
16"
17 30
18do_compile() { 31do_compile() {
19 oe_runmake all 32 cd ${S}
33 # Top level makefile doesn't seem to handle parallel make gracefully
34 oe_runmake xtest
35 oe_runmake ta
36 oe_runmake test_plugin
20} 37}
21do_compile[cleandirs] = "${B}" 38do_compile[cleandirs] = "${B}"
22 39
23do_install () { 40do_install () {
24 install -d ${D}${bindir} 41 install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
25 install ${B}/xtest/xtest ${D}${bindir} 42
26 43 # install path should match the value set in optee-client/tee-supplicant
27 install -d ${D}${nonarch_base_libdir}/optee_armtz 44 # default TEEC_LOAD_PATH is /lib
28 find ${B}/ta -name '*.ta' | while read name; do 45 mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
29 install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/ 46 install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
30 done 47 mkdir -p ${D}${libdir}/tee-supplicant/plugins
48 install -D -p -m0444 ${B}/supp_plugin/*.plugin ${D}${libdir}/tee-supplicant/plugins/
49}
31 50
32 install -d ${D}${libdir}/tee-supplicant/plugins/ 51do_deploy () {
33 install ${B}/supp_plugin/*plugin ${D}${libdir}/tee-supplicant/plugins/ 52 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
53 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
34} 54}
35 55
36FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" 56addtask deploy before do_build after do_install
57
58FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ \
59 ${libdir}/tee-supplicant/plugins/ \
60 "
37 61
38RDEPENDS:${PN} = "optee-os" 62# Imports machine specific configs from staging to build
63PACKAGE_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.6.0.imx.bb b/recipes-security/optee-imx/optee-test_4.6.0.imx.bb
new file mode 100644
index 000000000..78e933486
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test_4.6.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.12.20_2.0.0"
13SRCREV = "010f088f05b5ebf392c6e235d6e53d391755722f"
diff --git a/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb
deleted file mode 100644
index 94123e435..000000000
--- a/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require optee-client.nxp.inc
2
3PV:append = "+git${SRCPV}"
4
5COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee-qoriq/optee-client-qoriq_4.6.0.bb b/recipes-security/optee-qoriq/optee-client-qoriq_4.6.0.bb
new file mode 100644
index 000000000..4b61f7c04
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-client-qoriq_4.6.0.bb
@@ -0,0 +1,4 @@
1require optee-client.nxp.inc
2
3OPTEE_CLIENT_BRANCH = "lf-6.12.20_2.0.0"
4SRCREV = "02e7f9213b0d7db9c35ebf1e41e733fc9c5a3f75"
diff --git a/recipes-security/optee-qoriq/optee-client.nxp.inc b/recipes-security/optee-qoriq/optee-client.nxp.inc
index c3933a243..590540cd8 100644
--- a/recipes-security/optee-qoriq/optee-client.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-client.nxp.inc
@@ -1,53 +1,22 @@
1# Copyright 2020-2021 NXP 1# Copyright 2020-2021,2025 NXP
2 2
3SUMMARY = "OPTEE Client libs" 3require recipes-security/optee-imx/optee-client-fslc.inc
4HOMEPAGE = "http://www.optee.org/"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
7 4
8inherit python3native systemd 5# The patch same as imx-optee, so point FILESEXTRAPATHS to optee-imx/optee-client,
6# avoid duplicate copy files to optee-qoriq
7FILESEXTRAPATHS:prepend := "${THISDIR}/../optee-imx/optee-client:"
9 8
10SRC_URI = "git://github.com/nxp-qoriq/optee_client.git;protocol=https;nobranch=1" 9DEPENDS = "util-linux-libuuid"
11SRCREV = "7c9c423d00e96bf51debd5fe10fd70dce83be5cc"
12 10
13FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:" 11SRC_URI:remove = "git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https"
14SRC_URI += "file://tee-supplicant.service" 12SRC_URI:prepend = "${OPTEE_CLIENT_SRC};branch=${OPTEE_CLIENT_BRANCH} "
15 13
16S = "${WORKDIR}/git" 14OPTEE_CLIENT_SRC ?= "git://github.com/nxp-qoriq/optee_client.git;protocol=https"
17B = "${WORKDIR}/build"
18 15
19OPTEE_ARCH ?= "arm32" 16inherit pkgconfig
20OPTEE_ARCH:armv7a = "arm32"
21OPTEE_ARCH:aarch64 = "arm64"
22 17
23EXTRA_OEMAKE = "ARCH=${OPTEE_ARCH} O=${B}" 18do_install:append () {
24 19 if ! ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
25do_install () { 20 rm -rf ${D}${libdir}/systemd
26 oe_runmake -C ${S} install 21 fi
27
28 install -d ${D}${libdir}/
29 install -p -m0644 ${B}/export${libdir}/libteec.so.1.0.0 ${D}${libdir}/
30 ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1.0
31 ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1
32 ln -sf libteec.so.1 ${D}${libdir}/libteec.so
33
34 install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0
35 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1
36 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0
37 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so
38
39 install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant
40
41 cp -a ${B}/export/usr/include ${D}${includedir}
42
43 install -d ${D}${systemd_system_unitdir}/
44 install -m0644 ${UNPACKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/
45 sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${D}${systemd_system_unitdir}/tee-supplicant.service
46} 22}
47
48SYSTEMD_SERVICE:${PN} = "tee-supplicant.service"
49
50FILES:${PN} += "${libdir}/* ${includedir}/*"
51
52INSANE_SKIP:${PN} = "ldflags dev-elf"
53INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
diff --git a/recipes-security/optee-qoriq/optee-client/tee-supplicant.service b/recipes-security/optee-qoriq/optee-client/tee-supplicant.service
deleted file mode 100644
index 0e2b4f6ba..000000000
--- a/recipes-security/optee-qoriq/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-qoriq/optee-os-qoriq-tadevkit_4.6.0.bb b/recipes-security/optee-qoriq/optee-os-qoriq-tadevkit_4.6.0.bb
new file mode 100644
index 000000000..e7847b81e
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-os-qoriq-tadevkit_4.6.0.bb
@@ -0,0 +1,24 @@
1require optee-os.nxp.inc
2
3SUMMARY = "OP-TEE Trusted OS TA devkit"
4DESCRIPTION = "OP-TEE TA devkit for build TAs"
5HOMEPAGE = "https://www.op-tee.org/"
6
7DEPENDS += "python3-pycryptodome-native"
8
9OPTEE_OS_BRANCH = "lf-6.12.20_2.0.0"
10SRCREV = "87964807d80baf1dcfd89cafc66de34a1cf16bf3"
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/"
diff --git a/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb
deleted file mode 100644
index 3c3652d3d..000000000
--- a/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
1require optee-os.nxp.inc
2
3PV:append = "+git${SRCPV}"
4
5PLATFORM_FLAVOR:ls1088ardb-pb = "ls1088ardb"
6PLATFORM_FLAVOR:ls1046afrwy = "ls1046ardb"
7PLATFORM_FLAVOR:lx2162aqds = "lx2160aqds"
8
9EXTRA_OEMAKE += " \
10 PLATFORM=ls \
11 CFG_ARM64_core=y \
12"
13
14do_compile:append:ls1012afrwy() {
15 mv ${B}/core/tee-raw.bin ${B}/core/tee_512mb.bin
16 oe_runmake CFG_DRAM0_SIZE=0x40000000 all
17}
18
19do_install:append:qoriq() {
20 install -m 644 ${B}/core/tee-raw.bin ${D}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin
21}
22
23do_install:append:ls1012afrwy() {
24 install -m 644 ${B}/core/tee_512mb.bin ${D}${nonarch_base_libdir}/firmware/tee_${MACHINE}_512mb.bin
25}
26
27INHIBIT_PACKAGE_STRIP = "1"
28COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee-qoriq/optee-os-qoriq_4.6.0.bb b/recipes-security/optee-qoriq/optee-os-qoriq_4.6.0.bb
new file mode 100644
index 000000000..cd568b3dc
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-os-qoriq_4.6.0.bb
@@ -0,0 +1,21 @@
1require optee-os.nxp.inc
2
3OPTEE_OS_BRANCH = "lf-6.12.20_2.0.0"
4SRCREV = "87964807d80baf1dcfd89cafc66de34a1cf16bf3"
5
6do_install:append () {
7 install -d ${D}${nonarch_base_libdir}/firmware/
8 install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
9 install -m 644 ${B}/core/tee-raw.bin ${D}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin
10
11 # Install embedded TAs
12 install -d ${D}${base_libdir}/optee_armtz/
13 install -m 444 ${B}/ta/*/*.ta ${D}${base_libdir}/optee_armtz/
14}
15
16do_deploy:append () {
17 install -d ${DEPLOYDIR}/optee
18 install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
19}
20
21FILES:${PN} = "${nonarch_base_libdir}/optee_armtz/ ${nonarch_base_libdir}/firmware/"
diff --git a/recipes-security/optee-qoriq/optee-os.nxp.inc b/recipes-security/optee-qoriq/optee-os.nxp.inc
index 5b90b937c..88ba3fbe2 100644
--- a/recipes-security/optee-qoriq/optee-os.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-os.nxp.inc
@@ -1,75 +1,30 @@
1# Copyright 2020-2021 NXP 1# Copyright 2020-2021,2025 NXP
2require recipes-security/optee-imx/optee-os-fslc.inc
2 3
3SUMMARY = "OPTEE OS" 4DEPENDS:append = " dtc-native"
4DESCRIPTION = "OPTEE OS"
5HOMEPAGE = "http://www.optee.org/"
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
8 5
9inherit deploy python3native autotools 6# The patch same as imx-optee, so point FILESEXTRAPATHS to optee-imx/optee-client,
10DEPENDS = "python3-pycryptodome-native python3-pyelftools-native python3-pycryptodomex-native dtc-native" 7# avoid duplicate copy files to optee-qoriq
8FILESEXTRAPATHS:prepend := "${THISDIR}/../optee-imx/optee-os:"
11 9
12SRC_URI = "git://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1" 10SRC_URI:remove = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
13SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e" 11SRC_URI:prepend = "${OPTEE_OS_SRC};branch=${OPTEE_OS_BRANCH} "
12SRC_URI:append = " file://0007-allow-setting-sysroot-for-clang.patch"
14 13
15S = "${WORKDIR}/git" 14OPTEE_OS_SRC ?= "git://github.com/nxp-qoriq/optee_os.git;protocol=https"
16B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
17 15
18PLATFORM_FLAVOR ?= "${MACHINE}" 16REQUIRED_MACHINE_FEATURES = "optee"
19 17
20OPTEE_ARCH ?= "arm64" 18inherit features_check
21OPTEE_ARCH:armv7a = "arm32"
22OPTEE_ARCH:aarch64 = "arm64"
23 19
24OPTEE_CORE_LOG_LEVEL ?= "1" 20OPTEEMACHINE = "ls-${MACHINE}"
25OPTEE_TA_LOG_LEVEL ?= "0" 21OPTEEMACHINE:ls1088ardb-pb = "ls-ls1088ardb"
22OPTEEMACHINE:ls1046afrwy = "ls-ls1046ardb"
23OPTEEMACHINE:lx2162aqds = "ls-lx2160aqds"
24OPTEEMACHINE:lx2160ardb-rev2 = "ls-lx2160ardb"
26 25
27# Optee-os can be built for 32 bits and 64 bits at the same time 26EXTRA_OEMAKE:append = " \
28# as long as the compilers are correctly defined. 27 CFG_TEE_TA_LOG_LEVEL=0 \
29# For 64bits, CROSS_COMPILE64 must be set 28 CFG_TEE_CORE_LOG_LEVEL=1 \
30# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that
31# any 32 or 64 bits builds will pass
32EXTRA_OEMAKE = " \
33 -C ${S} O=${B} \
34 PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \
35 CROSS_COMPILE=${HOST_PREFIX} \
36 CROSS_COMPILE64=${HOST_PREFIX} \
37 CFG_WERROR=y \
38 CFG_TEE_CORE_LOG_LEVEL=${OPTEE_CORE_LOG_LEVEL} \
39 CFG_TEE_TA_LOG_LEVEL=${OPTEE_TA_LOG_LEVEL} \
40" 29"
41 30COMPATIBLE_MACHINE = "(qoriq-arm64)"
42do_compile() {
43 unset LDFLAGS
44 export CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_HOST}"
45 oe_runmake all
46}
47
48do_install() {
49 install -d ${D}${nonarch_base_libdir}/firmware/
50 install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
51
52 # Install the TA devkit
53 install -d ${D}${includedir}/optee/export-user_ta/
54
55 for f in ${B}/export-ta_${OPTEE_ARCH}/*; do
56 cp -aR $f ${D}${includedir}/optee/export-user_ta/
57 done
58
59 install -d ${D}${nonarch_base_libdir}/optee_armtz
60 find ${B}/export-ta_${OPTEE_ARCH}/ta -name '*.ta' | while read name; do
61 install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/
62 done
63}
64
65do_deploy() {
66 install -d ${DEPLOYDIR}/optee
67 install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
68}
69addtask deploy before do_build after do_install
70
71FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/"
72FILES:${PN}-staticdev = "/usr/include/optee/"
73RDEPENDS:${PN}-dev += "${PN}-staticdev"
74
75PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb
deleted file mode 100644
index 69ef73d3a..000000000
--- a/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
1require optee-test.nxp.inc
2
3PV:append = "+git${SRCPV}"
4
5DEPENDS += "optee-client-qoriq optee-os-qoriq"
6
7TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
8
9EXTRA_OEMAKE += " \
10 TEEC_EXPORT=${TEEC_EXPORT} \
11"
12
13COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee-qoriq/optee-test-qoriq_4.6.0.bb b/recipes-security/optee-qoriq/optee-test-qoriq_4.6.0.bb
new file mode 100644
index 000000000..d008a6211
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-test-qoriq_4.6.0.bb
@@ -0,0 +1,10 @@
1require optee-test.nxp.inc
2
3# The BSD and GPL license files are now included in the source
4# https://github.com/OP-TEE/optee_test/commit/a748f5fcd9ec8a574dc86a5aa56d05bc6ac174e7
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8fa504109e4cd7ea575bc49ea4be560 \
6 file://LICENSE-BSD;md5=dca16d6efa93b55d0fd662ae5cd6feeb \
7 file://LICENSE-GPL;md5=10e86b5d2a6cb0e2b9dcfdd26a9ac58d"
8
9OPTEE_TEST_BRANCH = "lf-6.12.20_2.0.0"
10SRCREV = "010f088f05b5ebf392c6e235d6e53d391755722f"
diff --git a/recipes-security/optee-qoriq/optee-test.nxp.inc b/recipes-security/optee-qoriq/optee-test.nxp.inc
index 14a42ac5a..48d5a4211 100644
--- a/recipes-security/optee-qoriq/optee-test.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-test.nxp.inc
@@ -1,61 +1,15 @@
1# Copyright 2020-2021 NXP 1# Copyright 2020-2021,2025 NXP
2require recipes-security/optee-imx/optee-test-fslc.inc
2 3
3SUMMARY = "OPTEE test" 4DEPENDS:remove = "optee-client optee-os-tadevkit"
4HOMEPAGE = "http://www.optee.org/" 5DEPENDS:append = "optee-client-qoriq optee-os-qoriq-tadevkit openssl"
5 6
6LICENSE = "BSD & GPL-2.0-only" 7SRC_URI:remove = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https"
7LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" 8SRC_URI:remove = "file://run-ptest"
9SRC_URI:prepend = "${OPTEE_TEST_SRC};branch=${OPTEE_TEST_BRANCH} "
8 10
9DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native openssl" 11OPTEE_TEST_SRC ?= "git://github.com/nxp-qoriq/optee_test.git;protocol=https"
10inherit python3native cmake
11 12
12SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1" 13CFLAGS += " -Wno-error=unterminated-string-initialization"
13SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad"
14 14
15S = "${WORKDIR}/git" 15COMPATIBLE_MACHINE = "(qoriq-arm64)"
16B = "${WORKDIR}/build"
17
18TA_DEV_KIT_DIR ?= "${STAGING_INCDIR}/optee/export-user_ta"
19OPTEE_CLIENT_EXPORT ?= "${STAGING_DIR_HOST}${prefix}"
20
21EXTRA_OEMAKE = " \
22 TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
23 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
24 CROSS_COMPILE_HOST=${HOST_PREFIX} \
25 CROSS_COMPILE_TA=${HOST_PREFIX} \
26 OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}/ \
27 -C ${S} O=${B} \
28"
29
30EXTRA_OECMAKE = " \
31 -DOPTEE_TEST_SDK=${TA_DEV_KIT_DIR} \
32"
33
34do_compile() {
35 export CXXFLAGS="${CXXFLAGS} --sysroot=${STAGING_DIR_HOST}"
36 oe_runmake xtest
37 oe_runmake ta
38 oe_runmake test_plugin
39}
40
41do_install() {
42 install -d ${D}${bindir}/
43 install ${B}/xtest/xtest ${D}${bindir}/
44
45 install -d ${D}${nonarch_base_libdir}/optee_armtz
46 find ${B}/ta -name '*.ta' | while read name; do
47 install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/
48 done
49
50 install -d ${D}${libdir}/tee-supplicant/plugins/
51 find ${B}/supp_plugin -name '*.plugin' | while read name; do
52 install -m 755 $name ${D}${libdir}/tee-supplicant/plugins/
53 done
54}
55
56FILES:${PN} += "${nonarch_base_libdir} ${libdir}/tee-supplicant/plugins/"
57
58DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized -Wno-deprecated-declarations"
59FULL_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized -Wno-deprecated-declarations"
60
61PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/smw/keyctl-caam_git.bb b/recipes-security/smw/keyctl-caam_git.bb
index 25a5f656a..f147e1148 100644
--- a/recipes-security/smw/keyctl-caam_git.bb
+++ b/recipes-security/smw/keyctl-caam_git.bb
@@ -11,13 +11,11 @@ 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 () {
19 oe_runmake DESTDIR=${D} install 17 oe_runmake DESTDIR=${D} install
20} 18}
21 19
22COMPATIBLE_MACHINE = "(imx-generic-bsp)" 20COMPATIBLE_MACHINE = "(imx-generic-bsp|qoriq)"
23 21
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..0195bc61a 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}
@@ -141,11 +139,11 @@ PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_P
141PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," 139PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
142PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," 140PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
143PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," 141PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
144PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," 142PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/libopencl1,"
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