summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/update-license-file.yml47
-rw-r--r--EULA111
-rw-r--r--LICENSE174
-rw-r--r--classes/fsl-eula-unpack.bbclass10
-rw-r--r--classes/fsl-u-boot-localversion.bbclass30
-rw-r--r--classes/imx-boot-container.bbclass7
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass2
-rw-r--r--classes/uuu_bootloader_tag.bbclass24
-rw-r--r--conf/layer.conf4
-rw-r--r--conf/machine/imx6qdlsabresd.conf7
-rw-r--r--conf/machine/imx6slevk.conf1
-rw-r--r--conf/machine/imx6sllevk.conf4
-rw-r--r--conf/machine/imx6sxsabresd.conf1
-rw-r--r--conf/machine/imx6ulevk.conf5
-rw-r--r--conf/machine/imx6ullevk.conf7
-rw-r--r--conf/machine/imx6ulz-14x14-evk.conf1
-rw-r--r--conf/machine/imx7dsabresd.conf8
-rw-r--r--conf/machine/imx7ulpevk.conf10
-rw-r--r--conf/machine/imx8mnul-ddr3l-evk.conf10
-rw-r--r--conf/machine/imx8mp-lpddr4-evk.conf1
-rw-r--r--conf/machine/imx8mq-evk.conf9
-rw-r--r--conf/machine/imx8qm-mek.conf36
-rw-r--r--conf/machine/imx8qxp-mek.conf7
-rw-r--r--conf/machine/imx8ulp-lpddr4-evk.conf5
-rw-r--r--conf/machine/imx93-11x11-lpddr4x-evk.conf14
-rw-r--r--conf/machine/imx93-14x14-lpddr4x-evk.conf12
-rw-r--r--conf/machine/imx93-9x9-lpddr4-qsb.conf10
-rw-r--r--conf/machine/imx95-19x19-verdin.conf90
-rw-r--r--conf/machine/include/imx-base.inc168
-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.bb59
-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.patch51
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend6
-rw-r--r--dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend7
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch56
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb35
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit/ppc-fixplt.patch105
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend4
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb4
-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/qt4-layer/recipes-qt4/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch1
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch1
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch1
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch1
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch1
-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--dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend2
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend1
-rwxr-xr-xrecipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state1461
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf4
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf4
l---------recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp1
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.6.inc3
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.6.bb4
-rw-r--r--recipes-bsp/boot-format/boot-format_git.bb1
-rw-r--r--recipes-bsp/ddr-phy/ddr-phy_git.bb2
-rw-r--r--recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb3
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb40
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb42
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.23.inc17
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.27.inc16
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.27.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.23.bb)14
-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)58
-rw-r--r--recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb3
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb (renamed from recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb)2
-rw-r--r--recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb5
-rw-r--r--recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb2
-rw-r--r--recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch35
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.10.bb (renamed from recipes-bsp/imx-atf/imx-atf_2.8.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.bb134
-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.bb8
-rw-r--r--recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb (renamed from recipes-bsp/imx-seco/imx-seco_5.9.0.bb)11
-rw-r--r--recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb29
-rw-r--r--recipes-bsp/imx-test/imx-test_git.bb13
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_git.bb8
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch39
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb (renamed from recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb)13
-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.6.bb)9
-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.28.0.bb36
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb49
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb1
-rw-r--r--recipes-bsp/inphi/inphi_git.bb2
-rw-r--r--recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb (renamed from recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb)16
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch44
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb105
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb99
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb9
-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.04.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.04.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.04.bb)5
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc (renamed from recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc)10
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2024.04.bb (renamed from recipes-bsp/u-boot/u-boot-imx_2023.04.bb)25
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb3
-rw-r--r--recipes-bsp/uefi/uefi_git.bb4
-rw-r--r--recipes-core/udev/udev-rules-imx.bb6
-rw-r--r--recipes-core/udev/udev-rules-qoriq.bb3
-rw-r--r--recipes-devtools/devregs/devregs_git.bb2
-rw-r--r--recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb2
-rw-r--r--recipes-devtools/qemu/qemu-qoriq_4.2.bb2
-rw-r--r--recipes-devtools/qemu/qemu.inc2
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst_git.bb6
-rw-r--r--recipes-devtools/utp-com/utp-com_git.bb2
-rw-r--r--recipes-devtools/uuu/uuu-bin_1.5.165.bb8
-rw-r--r--recipes-devtools/uuu/uuu_git.bb2
-rw-r--r--recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb (renamed from recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb)4
-rw-r--r--recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb (renamed from recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb)4
-rw-r--r--recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb)7
-rw-r--r--recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb)9
-rw-r--r--recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb)7
-rw-r--r--recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb (renamed from recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb)11
-rw-r--r--recipes-dpaa/eth-config/eth-config_git.bb2
-rw-r--r--recipes-dpaa/flib/flib_git.bb2
-rw-r--r--recipes-dpaa/fm-ucode/fm-ucode_git.bb2
-rw-r--r--recipes-dpaa/fmlib/fmlib_git.bb2
-rw-r--r--recipes-dpaa2/aiopsl/aiopsl_git.bb2
-rw-r--r--recipes-dpaa2/dce/dce_git.bb4
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb6
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.39.0.bb (renamed from recipes-dpaa2/management-complex/management-complex_10.37.0.bb)7
-rw-r--r--recipes-dpaa2/restool/restool_git.bb6
-rw-r--r--recipes-dpaa2/spc/spc_git.bb4
-rw-r--r--recipes-extended/crconf/crconf_git.bb2
-rw-r--r--recipes-extended/dpdk/dpdk-20.11.inc2
-rw-r--r--recipes-extended/dpdk/dpdk-module_20.11.bb2
-rw-r--r--recipes-extended/dpdk/dpdk.inc2
-rw-r--r--recipes-extended/jailhouse/jailhouse-imx_git.bb5
-rw-r--r--recipes-extended/libpkcs11/libpkcs11_git.bb4
-rw-r--r--recipes-extended/merge-files/merge-files_1.0.bb5
-rw-r--r--recipes-extended/odp/odp.inc1
-rw-r--r--recipes-extended/ofp/ofp_git.bb2
-rw-r--r--recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb2
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb2
-rw-r--r--recipes-extended/secure-obj/secure-obj-module_git.bb4
-rw-r--r--recipes-extended/secure-obj/secure-obj.inc4
-rw-r--r--recipes-extended/secure-obj/secure-obj_git.bb15
-rw-r--r--recipes-extended/skmm-ep/skmm-ep_git.bb2
-rw-r--r--recipes-extended/testfloat/testfloat_2a.bb6
-rw-r--r--recipes-extended/tsntool/tsntool_git.bb2
-rw-r--r--recipes-fsl/mcore-demos/README11
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.15.000.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb13
-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.14.0.bb15
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb16
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb4
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb15
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb12
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.15.000.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb22
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb10
-rw-r--r--recipes-fsl/mcore-demos/imx-mcore-demos.inc22
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-isp.bb1
-rw-r--r--recipes-graphics/drm/libdrm_2.4.123.imx.bb (renamed from recipes-graphics/drm/libdrm_2.4.116.imx.bb)6
-rw-r--r--recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb (renamed from recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.12.bb)24
-rw-r--r--recipes-graphics/imx-g2d/imx-g2d-samples_git.bb8
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb (renamed from recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.4.bb)12
-rw-r--r--recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb13
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb22
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc30
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json7
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch32.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch64.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb9
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb9
-rw-r--r--recipes-graphics/libsdl2/libsdl2_%.bbappend3
-rw-r--r--recipes-graphics/mali/mali-imx.inc107
-rw-r--r--recipes-graphics/mali/mali-imx_r53.0.bb25
-rw-r--r--recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch59
-rw-r--r--recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch27
-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_%.bbappend5
-rw-r--r--recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb6
-rw-r--r--recipes-graphics/mesa/mesa-gl.bbappend (renamed from recipes-graphics/mesa/mesa-gl_%.bbappend)0
-rw-r--r--recipes-graphics/mesa/mesa.bbappend (renamed from recipes-graphics/mesa/mesa_%.bbappend)6
-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/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch52
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend9
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend14
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.37.imx.bb (renamed from recipes-graphics/wayland/wayland-protocols_1.32.imx.bb)8
-rw-r--r--recipes-graphics/wayland/weston-init.bbappend9
-rw-r--r--recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch45
-rw-r--r--recipes-graphics/wayland/weston_10.0.5.imx.bb11
-rw-r--r--recipes-graphics/wayland/weston_14.0.1.imx.bb (renamed from recipes-graphics/wayland/weston_12.0.3.imx.bb)42
-rw-r--r--recipes-graphics/xwayland/xwayland_24.1.6.imx.bb (renamed from recipes-graphics/xwayland/xwayland_23.1.1.imx.bb)23
-rw-r--r--recipes-graphics/xwayland/xwayland_24.1.6.imx.bbappend (renamed from recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend)6
-rw-r--r--recipes-kernel/ceetm/ceetm_git.bb6
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ar_git.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb (renamed from recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb)10
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ipc.inc2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.1.bb20
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb22
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch33
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb17
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb2
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.12.bb (renamed from recipes-kernel/linux/linux-fslc-imx_6.6.bb)38
-rw-r--r--recipes-kernel/linux/linux-fslc-lts_6.1.bb4
-rw-r--r--recipes-kernel/linux/linux-fslc-lts_6.6.bb37
-rw-r--r--recipes-kernel/linux/linux-fslc_6.12.bb (renamed from recipes-kernel/linux/linux-fslc_6.6.bb)17
-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_6.12.bb (renamed from recipes-kernel/linux/linux-imx_6.6.bb)10
-rw-r--r--recipes-kernel/linux/linux-qoriq.inc8
-rw-r--r--recipes-kernel/skmm-host/skmm-host_git.bb4
-rw-r--r--recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb36
-rw-r--r--recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb28
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch36
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch8
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch32
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch30
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch216
-rw-r--r--recipes-multimedia/alsa/alsa-lib_%.bbappend3
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_git.bb12
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb52
-rw-r--r--recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch37
-rw-r--r--recipes-multimedia/gstreamer/gst-examples/gst-player.desktop10
-rw-r--r--recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb38
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb)22
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb)8
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend)4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb)16
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb48
-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.24.0.imx.bb37
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb38
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb57
-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.patch107
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch50
-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/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch107
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb)15
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch33
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch28
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch44
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch87
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch28
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch61
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch30
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch32
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch41
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch28
-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.bb32
-rw-r--r--recipes-multimedia/imx-codec/imx-codec_4.9.3.bb (renamed from recipes-multimedia/imx-codec/imx-codec_4.8.3.bb)15
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb (renamed from recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.bb)5
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb (renamed from recipes-multimedia/imx-dsp/imx-dsp_2.1.7.bb)13
-rw-r--r--recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb1
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb18
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb20
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.9.3.bb (renamed from recipes-multimedia/imx-parser/imx-parser_4.8.3.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_encoder-fix-missing-include.patch32
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb17
-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/pulseaudio/pulseaudio_%.bbappend6
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch1002
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch215
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch146
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch40
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch251
-rw-r--r--recipes-multimedia/tinycompress/tinycompress_1.1.6.bb16
-rw-r--r--recipes-multimedia/tinycompress/tinycompress_1.2.5.bb16
-rw-r--r--recipes-security/optee-imx/optee-client-fslc-imx.inc35
-rw-r--r--recipes-security/optee-imx/optee-client-fslc.inc59
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant.service11
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant.sh46
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant@.service10
-rw-r--r--recipes-security/optee-imx/optee-client/tee-udev.rules7
-rw-r--r--recipes-security/optee-imx/optee-client_4.0.0.imx.bb7
-rw-r--r--recipes-security/optee-imx/optee-client_4.4.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-fslc.inc50
-rw-r--r--recipes-security/optee-imx/optee-os-common-fslc-imx.inc62
-rw-r--r--recipes-security/optee-imx/optee-os-fslc-imx.inc46
-rw-r--r--recipes-security/optee-imx/optee-os-fslc.inc108
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc27
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch245
-rw-r--r--recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch133
-rw-r--r--recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch67
-rw-r--r--recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch (renamed from recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch)14
-rw-r--r--recipes-security/optee-imx/optee-os_4.0.0.imx.bb12
-rw-r--r--recipes-security/optee-imx/optee-os_4.4.0.imx.bb6
-rw-r--r--recipes-security/optee-imx/optee-test-fslc-imx.inc18
-rw-r--r--recipes-security/optee-imx/optee-test-fslc.inc66
-rw-r--r--recipes-security/optee-imx/optee-test/run-ptest52
-rw-r--r--recipes-security/optee-imx/optee-test_4.0.0.imx.bb10
-rw-r--r--recipes-security/optee-imx/optee-test_4.4.0.imx.bb13
-rw-r--r--recipes-security/optee-qoriq/optee-client.nxp.inc3
-rw-r--r--recipes-security/optee-qoriq/optee-os.nxp.inc1
-rw-r--r--recipes-security/optee-qoriq/optee-test.nxp.inc1
-rw-r--r--recipes-security/smw/keyctl-caam_git.bb2
-rw-r--r--recipes-security/smw/smw_git.bb4
-rw-r--r--recipes-support/opencv/opencv_4.6.0.imx.bb42
-rwxr-xr-xscripts/generate-license-file20
-rw-r--r--wic/imx-imx-boot-bootpart.wks.in6
-rw-r--r--wic/imx-imx-boot.wks.in2
-rw-r--r--wic/imx-uboot-bootpart.wks.in2
-rw-r--r--wic/imx-uboot-spl-bootpart.wks.in2
-rw-r--r--wic/imx-uboot-spl.wks.in2
-rw-r--r--wic/imx-uboot.wks2
352 files changed, 5416 insertions, 4999 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 64d5ecb6b..5f5cc2f96 100644
--- a/EULA
+++ b/EULA
@@ -1,4 +1,4 @@
1LA_OPT_NXP_Software_License v53 December 2023 1LA_OPT_NXP_Software_License v58 November 2024
2IMPORTANT. Read the following NXP Software License Agreement ("Agreement") 2IMPORTANT. Read the following NXP Software License Agreement ("Agreement")
3completely. By selecting the "I Accept" button at the end of this page, or by 3completely. By selecting the "I Accept" button at the end of this page, or by
4downloading, installing, or using the Licensed Software, you indicate that you 4downloading, installing, or using the Licensed Software, you indicate that you
@@ -15,7 +15,9 @@ supersede this Agreement.
15NXP SOFTWARE LICENSE AGREEMENT 15NXP SOFTWARE LICENSE AGREEMENT
16This is a legal agreement between your employer, of which you are an authorized 16This is a legal agreement between your employer, of which you are an authorized
17representative, or, if you have no employer, you as an individual ("you" or 17representative, or, if you have no employer, you as an individual ("you" or
18"Licensee"), and NXP B.V. ("NXP"). It concerns your rights to use the software 18"Licensee"), and and NXP USA, Inc., if Licensee is located within the United
19States or NXP Semiconductors Netherlands B.V., if Licensee if located outside
20of the United States (“NXP”). It concerns your rights to use the software
19provided to you in binary or source code form and any accompanying written 21provided to you in binary or source code form and any accompanying written
20materials (the "Licensed Software"). The Licensed Software may include any 22materials (the "Licensed Software"). The Licensed Software may include any
21updates or error corrections or documentation relating to the Licensed Software 23updates or error corrections or documentation relating to the Licensed Software
@@ -240,21 +242,51 @@ COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF OR IN CONNECTION
240WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO 242WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO
241THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED 243THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED
242SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED. 244SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
24312. EXPORT COMPLIANCE. Each party shall comply with all applicable 24512. EXPORT COMPLIANCE.
244export and import control laws and regulations including but not limited to the 24612.1 Each party shall comply with all applicable export and import control
245US Export Administration Regulation (including restrictions on certain military 247laws and regulations including but not limited to the US Export Administration
246end uses and military end users as specified in Section 15 C.F.R. § 744.21 and 248Regulation (including restrictions on certain military end uses and military
247prohibited party lists issued by other federal governments), Catch-all 249end users as specified in Section 15 C.F.R. § 744.21 and prohibited party
248regulations and all national and international embargoes. Each party further 250lists issued by other federal governments), Catch-all regulations and all
249agrees that it will not knowingly transfer, divert, export or re-export, 251national and international embargoes. Each party further agrees that it will
250directly or indirectly, any product, software, including software source code, 252not knowingly transfer, divert, export or re-export, directly or indirectly,
251or technology restricted by such regulations or by other applicable national 253any product, software, including software source code, or technology restricted
252regulations, received from the other party under this Agreement, or any direct 254by such regulations or by other applicable national regulations, received from
253product of such software or technical data to any person, firm, entity, country 255the other party under this Agreement, or any direct product of such software or
254or destination to which such transfer, diversion, export or re-export is 256technical data to any person, firm, entity, country or destination to which
255restricted or prohibited, without obtaining prior written authorization from 257such transfer, diversion, export or re-export is restricted or prohibited,
256the applicable competent government authorities to the extent required by those 258without obtaining prior written authorization from the applicable competent
257laws. 259government authorities to the extent required by those laws.
26012.2 Prohibition of Export to Russian Federation
261
262(a) With respect to activitit that falls under the scope of Article 12g,
26312ga of Council Regulation (EU) No 833/2014, or Council Regulation (EU) No
264765/2006 (as the case requires), you (a) will not sell, export or re-export,
265directly or indirectly any item, and (b) will not sell, license or sublicense
266any intellectual property rights or trade secrets, to the Russian Federation or
267Belarus, or for use in the Russian Federation or Belarus.
268
269(b) You will ensure that the purpose of paragraph (a) above is not
270frustrated by any third parties further down the commercial chain, including by
271either resellers, sublicensees, or both.
272
273(c) You will set up and maintain an adequate monitoring mechanism to detect
274conduct by any third parties further down the commercial chain, including by
275either resellers, sublicensees, or both, that would frustrate the purpose of
276paragraph (a).
277
278(d) Any violation of paragraphs (a), (b) or (c) will constitute a material
279breach of this Agreement, and NXP will be entitled to seek appropriate
280remedies, including, but not limited to: (i) termination of these Terms; (ii)
281suspension of any of its business relationships with you, youraffiliates or
282both, until the breach of paragraph (a) above is remedied, and (iii) a plan to
283remedy the breach.
284
285(e) You will immediately inform NXP about any problems in applying
286paragraphs (a), (b) or (c), above, including any relevant activities by third
287parties that could frustrate the purpose of paragraph (a). You will make
288available to NXPinformation concerning compliance with the obligations under
289paragraphs (a), (b) and (c) within 2 weeks of the request for information.
25813. GOVERNMENT CONTRACT COMPLIANCE 29013. GOVERNMENT CONTRACT COMPLIANCE
25913.1. If you sell Authorized Systems directly to any government or public 29113.1. If you sell Authorized Systems directly to any government or public
260entity, including U.S., state, local, foreign or international governments or 292entity, including U.S., state, local, foreign or international governments or
@@ -290,13 +322,20 @@ APPLICATIONS BY LICENSEE. Accordingly, Licensee will indemnify and hold NXP
290harmless from any claims, liabilities, damages and associated costs and 322harmless from any claims, liabilities, damages and associated costs and
291expenses (including attorneys’ fees) that NXP may incur related to 323expenses (including attorneys’ fees) that NXP may incur related to
292Licensee’s incorporation of the Licensed Software in a Critical Application. 324Licensee’s incorporation of the Licensed Software in a Critical Application.
29315. CHOICE OF LAW; VENUE. This Agreement will be governed by, 32515. CHOICE OF LAW; VENUE. When Software is licensed by NXP USA, Inc.,
294construed, and enforced in accordance with the laws of The Netherlands, without 326Licensee agrees that the laws of the State of Texas, USA, without regard to
295regard to conflicts of laws principles, will apply to all matters relating to 327conflicts of laws principles, will apply to all matters relating to this
296this Agreement or the Licensed Software, and you agree that any litigation will 328Agreement or the Software, and Licensee agrees that any litigation will be
297be subject to the exclusive jurisdiction of the courts of Amsterdam, The 329subject to the exclusive jurisdiction of the state or federal courts in Austin,
298Netherlands. The United Nations Convention on Contracts for the International 330Texas, USA.. When Software is licensed by NXP Semiconductors Netherlands B.V.,
299Sale of Goods will not apply to this document. 331Licensee agrees that the laws of The Netherlands, without regard to conflicts
332of laws principles, will apply to all matters relating to this Agreement or the
333Software, and Licensee agrees that any litigation will be subject to the
334exclusive jurisdiction of the courts in Amsterdam, The Netherlands.
335Notwithstanding the foregoing, NXP will always be permitted to bring any action
336or proceedings against Licensee in any other court of competent jurisdiction.
337The United Nations Convention on Contracts for the International Sale of Goods
338will not apply to this document.
30016. CONFIDENTIAL INFORMATION. Subject to the license grants and 33916. CONFIDENTIAL INFORMATION. Subject to the license grants and
301restrictions contained herein, you must treat the Licensed Software as 340restrictions contained herein, you must treat the Licensed Software as
302confidential information and you agree to retain the Licensed Software in 341confidential information and you agree to retain the Licensed Software in
@@ -394,7 +433,7 @@ directly from AGGIOS, Inc.
394 433
395Airbiquity Inc.: The Airbiquity software may only be used in object code and 434Airbiquity Inc.: The Airbiquity software may only be used in object code and
396Licensee may not sublicense the Airbiquity software to any third party. 435Licensee may not sublicense the Airbiquity software to any third party.
397Licensee’s license to use the Airbiquity software expires on June 30, 2024. 436Licensee’s license to use the Airbiquity software expires on June 30, 2026.
398 437
399Amazon: Use of the Amazon software constitutes your acceptance of the terms of 438Amazon: Use of the Amazon software constitutes your acceptance of the terms of
400the Amazon Program Materials License Agreement (including the AVS Component 439the Amazon Program Materials License Agreement (including the AVS Component
@@ -555,7 +594,15 @@ Lumissil: Use of the Lumissil software constitutes your acceptance of the terms
555of the Lumissil Software License Agreement. A link to the agreement is 594of the Lumissil Software License Agreement. A link to the agreement is
556incorporated as follows: 595incorporated as follows:
557https://www.lumissil.com/assets/pdf/support/2023%20Lumissil%20IS3xCG5317%20Softw 596https://www.lumissil.com/assets/pdf/support/2023%20Lumissil%20IS3xCG5317%20Softw
558are%20License%20Agreement%20NXP.pdf . 597are%20License%20Agreement%20NXP.pdf . The Run-Time Software and Boot ROM Code
598are without warranty of any kind from NXP or Lumissil, either express or
599implied, including without limitation the implied warranties of
600merchantability, fitness for a particular purpose, or non-infringement. You
601assume the entire risk arising out of the use or performance of the Lumissil
602software, or any systems you design using the such, if any. For the use of
603Lumissil software, Lumissil is as a third-party beneficiary of the this
604Agreement with authority to enforce its rights in the Run-Time Software and
605Boot ROM Code.
559 606
560Microsoft: Except for Microsoft PlayReady software, if the Licensed Software 607Microsoft: Except for Microsoft PlayReady software, if the Licensed Software
561includes software owned by Microsoft Corporation ("Microsoft"), it is subject 608includes software owned by Microsoft Corporation ("Microsoft"), it is subject
@@ -727,10 +774,16 @@ sublicense or otherwise distribute the source code, or any modifications or
727derivatives thereof as stand-alone products. You will be responsible for 774derivatives thereof as stand-alone products. You will be responsible for
728qualifying any modifications or derivatives with the Bluetooth SIG and any 775qualifying any modifications or derivatives with the Bluetooth SIG and any
729other qualifying bodies. 776other qualifying bodies.
777
730TARA Systems: Use of TARA Systems GUI technology Embedded Wizard is limited to 778TARA Systems: Use of TARA Systems GUI technology Embedded Wizard is limited to
731evaluation and demonstration only. Permitted distributions must be similarly 779evaluation and demonstration only. Permitted distributions must be similarly
732limited. Further rights must be obtained directly from TARA Systems. 780limited. Further rights must be obtained directly from TARA Systems.
733 781
782Teensyduino Core Library: If the Teensyduino Core Library or documentation is
783incorporated into a build system that allows selection among a list of target
784devices, then similar target devices manufactured by PJRC.com must be included
785in the list of target devices and selectable in the same manner.
786
734Texas Instruments: Your use of Texas Instruments Inc. WiLink8 Licensed Software 787Texas Instruments: Your use of Texas Instruments Inc. WiLink8 Licensed Software
735is restricted to NXP SoC based systems that include a compatible connectivity 788is restricted to NXP SoC based systems that include a compatible connectivity
736device manufactured by TI. 789device manufactured by TI.
@@ -744,3 +797,9 @@ upon notice.
744 797
745Vivante: Distribution of Vivante software must be a part of, or embedded 798Vivante: Distribution of Vivante software must be a part of, or embedded
746within, Authorized Systems that include a Vivante Graphics Processing Unit. 799within, Authorized Systems that include a Vivante Graphics Processing Unit.
800
801Wittenstein: Your use of the SafeRTOS v9.x and Networking Stack, in object
802form, is limited to your internal testing, evaluation, feedback and development
803specifically for use with an NXP Product. Licensee’s license to use and
804supply the software to you expires on June 25, 2026. Further rights must be
805obtained directly from Wittenstein.
diff --git a/LICENSE b/LICENSE
index 17964fe56..b69284ffb 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,12 +1,166 @@
1Different components of meta-freescale are under different licenses (a mix 1# License Information
2of MIT and proprietary). Please see:
3 2
4COPYING.MIT (MIT) 3This file lists all licenses used by recipes in the meta-freescale layer.
5custom-licenses/* (Various EULAs, included by recipes)
6 4
7All metadata is MIT licensed unless otherwise stated. Source code and binaries 5./dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb: LICENSE = "GPL-2.0-only"
8included in tree for individual recipes are under the LICENSE stated in 6./dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb: LICENSE = "BSD-3-Clause"
9the associated recipe (.bb file) unless otherwise stated. 7./dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb: LICENSE = "MIT"
10 8./recipes-bsp/atf/qoriq-atf-2.6.inc: LICENSE = "BSD-3-Clause"
11License information for any other files is either explicitly stated 9./recipes-bsp/boot-format/boot-format_git.bb: LICENSE = "GPL-2.0-only"
12or defaults to GPL version 2. 10./recipes-bsp/ddr-phy/ddr-phy_git.bb: LICENSE = "NXP-Binary-EULA"
11./recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: LICENSE = "Proprietary"
12./recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb: LICENSE = "Proprietary"
13./recipes-bsp/firmware-imx/firmware-imx-8.27.inc: LICENSE = "Proprietary"
14./recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb: LICENSE = "Proprietary"
15./recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb: LICENSE = "BSD-3-Clause"
16./recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb: LICENSE = "Proprietary"
17./recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb: LICENSE = "GPL-2.0-only"
18./recipes-bsp/imx-atf/imx-atf_2.10.bb: LICENSE = "BSD-3-Clause"
19./recipes-bsp/imx-kobs/imx-kobs_git.bb: LICENSE = "GPL-2.0-only"
20./recipes-bsp/imx-lib/imx-lib_git.bb: LICENSE = "LGPL-2.1-only"
21./recipes-bsp/imx-mkimage/imx-boot_1.0.bb: LICENSE = "GPL-2.0-only"
22./recipes-bsp/imx-mkimage/imx-mkimage_git.bb: LICENSE = "GPL-2.0-only"
23./recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb: LICENSE = "Proprietary"
24./recipes-bsp/imx-seco/imx-seco-libs_git.bb: LICENSE = "Proprietary"
25./recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb: LICENSE = "Proprietary"
26./recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb: LICENSE = "BSD-3-Clause"
27./recipes-bsp/imx-test/imx-test_00.00.00.bb: LICENSE = "MIT"
28./recipes-bsp/imx-test/imx-test_git.bb: LICENSE = "GPL-2.0-or-later"
29./recipes-bsp/imx-uuc/imx-uuc_git.bb: LICENSE = "GPL-2.0-only"
30./recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb: LICENSE = "Proprietary"
31./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb: LICENSE = "MIT"
32./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb: LICENSE = "Proprietary"
33./recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb: LICENSE = "Proprietary"
34./recipes-bsp/inphi/inphi_git.bb: LICENSE = "NXP-Binary-EULA"
35./recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb: LICENSE = "Proprietary"
36./recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb: LICENSE = "Proprietary"
37./recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb: LICENSE = "LGPL-2.1-only"
38./recipes-bsp/ls2-phy/ls2-phy_git.bb: LICENSE = "NXP-Binary-EULA"
39./recipes-bsp/mc-utils/mc-utils_git.bb: LICENSE = "BSD-3-Clause"
40./recipes-bsp/mxsldr/mxsldr_git.bb: LICENSE = "GPL-2.0-or-later"
41./recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb: LICENSE = "NXP-Binary-EULA"
42./recipes-bsp/qe-ucode/qe-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
43./recipes-bsp/rcw/rcw_git.bb: LICENSE = "BSD-3-Clause"
44./recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc: LICENSE = "GPL-2.0-or-later"
45./recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc: LICENSE = "GPL-2.0-or-later"
46./recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb: LICENSE = "GPL-2.0-only & BSD-3-Clause & BSD-2-Clause & LGPL-2.0-only & LGPL-2.1-only"
47./recipes-bsp/uefi/uefi_git.bb: LICENSE = "NXP-Binary-EULA"
48./recipes-core/udev/udev-rules-imx.bb: LICENSE = "MIT"
49./recipes-core/udev/udev-rules-qoriq.bb: LICENSE = "MIT"
50./recipes-devtools/devregs/devregs_git.bb: LICENSE = "GPL-2.0-only"
51./recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb: LICENSE = "LGPL-2.1-only"
52./recipes-devtools/qemu/qemu.inc: LICENSE = "GPL-2.0-only & LGPL-2.1-only"
53./recipes-devtools/qoriq-cst/qoriq-cst_git.bb: LICENSE = "BSD-3-Clause"
54./recipes-devtools/utp-com/utp-com_git.bb: LICENSE = "GPL-2.0-only"
55./recipes-devtools/uuu/uuu-bin_1.5.165.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-or-later"
56./recipes-devtools/uuu/uuu_git.bb: LICENSE = "BSD-3-Clause"
57./recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb: LICENSE = "MIT"
58./recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
59./recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT"
60./recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
61./recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
62./recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT"
63./recipes-dpaa/eth-config/eth-config_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
64./recipes-dpaa/flib/flib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
65./recipes-dpaa/fm-ucode/fm-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
66./recipes-dpaa/fmlib/fmlib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
67./recipes-dpaa2/aiopsl/aiopsl_git.bb: LICENSE = "BSD-3-Clause"
68./recipes-dpaa2/dce/dce_git.bb: LICENSE = "BSD-3-Clause"
69./recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb: LICENSE = "BSD-3-Clause"
70./recipes-dpaa2/management-complex/management-complex_10.39.0.bb: LICENSE = "NXP-Binary-EULA"
71./recipes-dpaa2/restool/restool_git.bb: LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
72./recipes-dpaa2/spc/spc_git.bb: LICENSE = "MIT"
73./recipes-extended/crconf/crconf_git.bb: LICENSE = "GPL-2.0-only"
74./recipes-extended/dpdk/dpdk-20.11.inc: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
75./recipes-extended/dpdk/dpdk_19.11-20.12.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
76./recipes-extended/jailhouse/jailhouse-imx_git.bb: LICENSE = "GPL-2.0-only"
77./recipes-extended/libpkcs11/libpkcs11_git.bb: LICENSE = "GPL-2.0-only"
78./recipes-extended/merge-files/merge-files_1.0.bb: LICENSE = "MIT"
79./recipes-extended/odp/odp.inc: LICENSE = "BSD-3-Clause"
80./recipes-extended/ofp/ofp_git.bb: LICENSE = "BSD-3-Clause"
81./recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb: LICENSE = "BSD"
82./recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb: LICENSE = "BSD"
83./recipes-extended/secure-obj/secure-obj.inc: LICENSE = "BSD-3-Clause"
84./recipes-extended/skmm-ep/skmm-ep_git.bb: LICENSE = "BSD & GPL-2.0-only"
85./recipes-extended/testfloat/testfloat_2a.bb: LICENSE = "TestFloat"
86./recipes-extended/tsntool/tsntool_git.bb: LICENSE = "GPL-2.0-only"
87./recipes-fsl/images/fsl-image-mfgtool-initramfs.bb: LICENSE = "MIT"
88./recipes-fsl/mcore-demos/imx-mcore-demos.inc: LICENSE = "Proprietary"
89./recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb: LICENSE = "MIT"
90./recipes-graphics/drm/libdrm_2.4.123.imx.bb: LICENSE = "MIT"
91./recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb: LICENSE = "Proprietary"
92./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause"
93./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb: LICENSE = "Proprietary"
94./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary"
95./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT"
96./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary"
97./recipes-graphics/mali/mali-imx_r53.0.bb: LICENSE = "Proprietary"
98./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT"
99./recipes-graphics/wayland/wayland-protocols_1.37.imx.bb: LICENSE = "MIT"
100./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT"
101./recipes-graphics/wayland/weston_14.0.1.imx.bb: LICENSE = "MIT"
102./recipes-graphics/xwayland/xwayland_24.1.6.imx.bb: LICENSE = "MIT"
103./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only"
104./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD"
105./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb: LICENSE = "GPL-2.0-only"
106./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb: LICENSE = "GPL-2.0-only"
107./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD"
108./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb: LICENSE = "GPL-2.0-only"
109./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later"
110./recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb: LICENSE = "GPL-2.0-only"
111./recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb: LICENSE = "GPL-2.0-only"
112./recipes-kernel/linux/linux-imx-headers_6.12.bb: LICENSE = "GPL-2.0-only"
113./recipes-kernel/linux/linux-imx.inc: LICENSE = "GPL-2.0-only"
114./recipes-kernel/linux/linux-qoriq.inc: LICENSE = "GPL-2.0-only"
115./recipes-kernel/skmm-host/skmm-host_git.bb: LICENSE = "BSD & GPL-2.0-or-later"
116./recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb: LICENSE = "Apache-2.0"
117./recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb: LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-3-Clause"
118./recipes-multimedia/alsa/imx-alsa-plugins_git.bb: LICENSE = "GPL-2.0-only"
119./recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb: LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
120LICENSE:${PN} = "GPL-2.0-or-later"
121LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
122LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
123LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
124LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
125LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
126LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
127LICENSE:libpostproc = "GPL-2.0-or-later"
128LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
129LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
130LICENSE_FLAGS = "commercial"
131./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later"
132./recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb: LICENSE = "LGPL-2.0-or-later"
133./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb: LICENSE_FLAGS = "commercial"
134LICENSE = "LGPL-2.1-or-later"
135./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
136./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
137./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
138./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later"
139./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
140LICENSE_FLAGS = "commercial"
141./recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
142./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
143./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
144./recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
145./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
146./recipes-multimedia/imx-codec/imx-codec_4.9.3.bb: LICENSE = "Proprietary"
147./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary"
148./recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb: LICENSE = "Proprietary"
149./recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb: LICENSE = "Proprietary"
150./recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb: LICENSE = "Proprietary"
151./recipes-multimedia/imx-parser/imx-parser_4.9.3.bb: LICENSE = "Proprietary"
152./recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb: LICENSE = "Proprietary"
153./recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb: LICENSE = "Proprietary"
154./recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb: LICENSE = "LGPL-2.1-only"
155./recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb: LICENSE = "LGPL-2.1-only"
156./recipes-multimedia/tinycompress/tinycompress_1.2.5.bb: LICENSE = "LGPL-2.1-only | BSD-3-Clause"
157./recipes-security/optee-imx/optee-client-fslc.inc: LICENSE = "BSD-2-Clause"
158./recipes-security/optee-imx/optee-os-fslc.inc: LICENSE = "BSD-2-Clause"
159./recipes-security/optee-imx/optee-test-fslc.inc: LICENSE = "BSD-2-Clause & GPL-2.0-only"
160./recipes-security/optee-qoriq/optee-client.nxp.inc: LICENSE = "BSD"
161./recipes-security/optee-qoriq/optee-os.nxp.inc: LICENSE = "BSD"
162./recipes-security/optee-qoriq/optee-test.nxp.inc: LICENSE = "BSD & GPL-2.0-only"
163./recipes-security/smw/keyctl-caam_git.bb: LICENSE = "BSD-3-Clause"
164./recipes-security/smw/smw_git.bb: LICENSE = "BSD-3-Clause"
165LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
166./recipes-support/opencv/opencv_4.6.0.imx.bb: LICENSE = "Apache-2.0"
diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass
index 46b0f9c4f..54b25b3ac 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -59,6 +59,9 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V47 = "9135422c7a38dac21bf1f858
59FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48 = "db4762b09b6bda63da103963e6e081de" 59FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48 = "db4762b09b6bda63da103963e6e081de"
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"
63FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837"
64FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3"
62 65
63FSL_EULA_FILE_MD5SUMS = " \ 66FSL_EULA_FILE_MD5SUMS = " \
64 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \ 67 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
@@ -114,11 +117,14 @@ FSL_EULA_FILE_MD5SUMS = " \
114 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48} \ 117 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48} \
115 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \ 118 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \
116 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \ 119 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \
120 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \
121 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57} \
122 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58} \
117" 123"
118 124
119# The checksum for the EULA in the layer 125# The checksum for the EULA in the layer
120FSL_EULA_FILE_MD5SUM ?= \ 126FSL_EULA_FILE_MD5SUM ?= \
121 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53}" 127 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58}"
122 128
123LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" 129LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
124LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" 130LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
@@ -160,7 +166,7 @@ python fsl_bin_do_unpack() {
160 166
161 localdata = bb.data.createCopy(d) 167 localdata = bb.data.createCopy(d)
162 168
163 rootdir = localdata.getVar('WORKDIR', True) 169 rootdir = localdata.getVar('UNPACKDIR', True)
164 fetcher = bb.fetch2.Fetch(src_uri, localdata) 170 fetcher = bb.fetch2.Fetch(src_uri, localdata)
165 171
166 found = 0 172 found = 0
diff --git a/classes/fsl-u-boot-localversion.bbclass b/classes/fsl-u-boot-localversion.bbclass
index 94b30c04e..df4ac5fbf 100644
--- a/classes/fsl-u-boot-localversion.bbclass
+++ b/classes/fsl-u-boot-localversion.bbclass
@@ -17,21 +17,21 @@ UBOOT_LOCALVERSION = "${LOCALVERSION}"
17do_compile:prepend() { 17do_compile:prepend() {
18 if [ "${SCMVERSION}" = "y" ]; then 18 if [ "${SCMVERSION}" = "y" ]; then
19 # Add GIT revision to the local version 19 # Add GIT revision to the local version
20 if [ "${SRCREV}" = "INVALID" ]; then 20 if [ "${SRCREV}" = "INVALID" ]; then
21 hash=${SRCREV_machine} 21 hash=${SRCREV_machine}
22 else 22 else
23 hash=${SRCREV} 23 hash=${SRCREV}
24 fi 24 fi
25 if [ "$hash" = "AUTOINC" ]; then 25 if [ "$hash" = "AUTOINC" ]; then
26 branch=`git --git-dir=${S}/.git symbolic-ref --short -q HEAD` 26 branch=`git --git-dir=${S}/.git symbolic-ref --short -q HEAD`
27 head=`git --git-dir=${S}/.git rev-parse --verify --short origin/${branch} 2> /dev/null` 27 head=`git --git-dir=${S}/.git rev-parse --verify --short origin/${branch} 2> /dev/null`
28 else 28 else
29 head=`git --git-dir=${S}/.git rev-parse --verify --short $hash 2> /dev/null` 29 head=`git --git-dir=${S}/.git rev-parse --verify --short $hash 2> /dev/null`
30 fi 30 fi
31 patches=`git --git-dir=${S}/.git rev-list --count $head..HEAD 2> /dev/null` 31 patches=`git --git-dir=${S}/.git rev-list --count $head..HEAD 2> /dev/null`
32 printf "%s%s%s%s" +g $head +p $patches > ${S}/.scmversion 32 printf "%s%s%s%s%s" "${UBOOT_LOCALVERSION}" +g $head +p $patches > ${S}/.scmversion
33 printf "%s%s%s%s" +g $head +p $patches > ${B}/.scmversion 33 printf "%s%s%s%s%s" "${UBOOT_LOCALVERSION}" +g $head +p $patches > ${B}/.scmversion
34 else 34 else
35 printf "%s" "${UBOOT_LOCALVERSION}" > ${S}/.scmversion 35 printf "%s" "${UBOOT_LOCALVERSION}" > ${S}/.scmversion
36 printf "%s" "${UBOOT_LOCALVERSION}" > ${B}/.scmversion 36 printf "%s" "${UBOOT_LOCALVERSION}" > ${B}/.scmversion
37 fi 37 fi
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass
index 53c70a0b8..c3a13a255 100644
--- a/classes/imx-boot-container.bbclass
+++ b/classes/imx-boot-container.bbclass
@@ -27,7 +27,7 @@
27ATF_MACHINE_NAME = "bl31-${ATF_PLATFORM}.bin" 27ATF_MACHINE_NAME = "bl31-${ATF_PLATFORM}.bin"
28ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" 28ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
29 29
30IMX_BOOT_CONTAINER_FIRMWARE_SOC = "" 30IMX_BOOT_CONTAINER_FIRMWARE_SOC ?= ""
31IMX_BOOT_CONTAINER_FIRMWARE_SOC:mx8mq-generic-bsp = " \ 31IMX_BOOT_CONTAINER_FIRMWARE_SOC:mx8mq-generic-bsp = " \
32 signed_dp_imx8m.bin \ 32 signed_dp_imx8m.bin \
33 signed_hdmi_imx8m.bin \ 33 signed_hdmi_imx8m.bin \
@@ -63,6 +63,9 @@ do_resolve_and_populate_binaries() {
63 else 63 else
64 bberror "ATF binary is undefined, result binary would be unusable!" 64 bberror "ATF binary is undefined, result binary would be unusable!"
65 fi 65 fi
66 if [ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '1' , '0' , d)}" = "1" ] ; then
67 cp ${DEPLOY_DIR_IMAGE}/${OPTEE_BOOT_IMAGE} ${B}/${config}/
68 fi
66 fi 69 fi
67 done 70 done
68 unset j 71 unset j
@@ -96,7 +99,7 @@ do_deploy:append() {
96 if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then 99 if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then
97 ln -sf flash.bin-${MACHINE}-${type} flash.bin 100 ln -sf flash.bin-${MACHINE}-${type} flash.bin
98 ln -sf flash.bin-${MACHINE}-${type} imx-boot 101 ln -sf flash.bin-${MACHINE}-${type} imx-boot
99 102 ln -sf flash.bin.tagged imx-boot.tagged
100 else 103 else
101 bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type" 104 bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type"
102 fi 105 fi
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/classes/uuu_bootloader_tag.bbclass b/classes/uuu_bootloader_tag.bbclass
index 87745660c..b41d22a92 100644
--- a/classes/uuu_bootloader_tag.bbclass
+++ b/classes/uuu_bootloader_tag.bbclass
@@ -1,12 +1,20 @@
1# Append a tag to the bootloader image used in the SD card image. The tag 1# Create a tagged boot partition file for the SD card image file. The tag
2# contains the size of the bootloader image so UUU can easily find the end of 2# contains the size of the boot partition image so UUU can easily find
3# the bootloader in the SD card image. 3# the end of it in the SD card image file.
4#
5# IMPORTANT: The tagged boot partition file should never be used directly with
6# UUU, as it can cause UUU to hang.
7
8UUU_BOOTLOADER = "${UBOOT_BINARY}"
9UUU_BOOTLOADER:mx8-generic-bsp = "${@d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0' and 'imx-boot' or 'flash.bin'}"
10UUU_BOOTLOADER:mx9-generic-bsp = "${@d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0' and 'imx-boot' or 'flash.bin'}"
11
4do_deploy:append() { 12do_deploy:append() {
5 if [ "${UUU_BOOTLOADER}" != "" ]; then 13 if [ "${UUU_BOOTLOADER}" != "" ]; then
6 cp ${DEPLOYDIR}/${UUU_BOOTLOADER} ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED} 14 cp ${DEPLOYDIR}/${UUU_BOOTLOADER} \
7 cp ${DEPLOYDIR}/${UUU_BOOTLOADER} ${DEPLOYDIR}/${UUU_BOOTLOADER_UNTAGGED} 15 ${DEPLOYDIR}/${UUU_BOOTLOADER}.tagged
8 ln -sf ${UUU_BOOTLOADER_TAGGED} ${DEPLOYDIR}/${UUU_BOOTLOADER} 16 stat -L -cUUUBURNXXOEUZX7+A-XY5601QQWWZ%sEND \
9 stat -L -cUUUBURNXXOEUZX7+A-XY5601QQWWZ%sEND ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED} \ 17 ${DEPLOYDIR}/${UUU_BOOTLOADER}.tagged \
10 >> ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED} 18 >> ${DEPLOYDIR}/${UUU_BOOTLOADER}.tagged
11 fi 19 fi
12} 20}
diff --git a/conf/layer.conf b/conf/layer.conf
index ef4e3e6e6..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 = "kirkstone langdale mickledore nanbield scarthgap" 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
@@ -52,6 +52,8 @@ BBFILES_DYNAMIC += " \
52 \ 52 \
53 meta-arm:${LAYERDIR}/dynamic-layers/meta-arm/*/*/*.bbappend \ 53 meta-arm:${LAYERDIR}/dynamic-layers/meta-arm/*/*/*.bbappend \
54 \ 54 \
55 arm-toolchain:${LAYERDIR}/dynamic-layers/arm-toolchain/*/*/*.bb \
56 \
55 multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \ 57 multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \
56 multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \ 58 multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \
57 \ 59 \
diff --git a/conf/machine/imx6qdlsabresd.conf b/conf/machine/imx6qdlsabresd.conf
index 1ab1d9df8..c65bc9b91 100644
--- a/conf/machine/imx6qdlsabresd.conf
+++ b/conf/machine/imx6qdlsabresd.conf
@@ -21,6 +21,7 @@ KERNEL_DEVICETREE = " \
21 nxp/imx/imx6qp-sabresd.dtb \ 21 nxp/imx/imx6qp-sabresd.dtb \
22 nxp/imx/imx6qp-sabresd-hdcp.dtb \ 22 nxp/imx/imx6qp-sabresd-hdcp.dtb \
23 nxp/imx/imx6qp-sabresd-ldo.dtb \ 23 nxp/imx/imx6qp-sabresd-ldo.dtb \
24 nxp/imx/imx6qp-sabresd-pcie-ep.dtb \
24 \ 25 \
25 nxp/imx/imx6q-sabresd-btwifi.dtb \ 26 nxp/imx/imx6q-sabresd-btwifi.dtb \
26 nxp/imx/imx6q-sabresd.dtb \ 27 nxp/imx/imx6q-sabresd.dtb \
@@ -28,12 +29,16 @@ KERNEL_DEVICETREE = " \
28 nxp/imx/imx6q-sabresd-hdcp.dtb \ 29 nxp/imx/imx6q-sabresd-hdcp.dtb \
29 nxp/imx/imx6q-sabresd-ldo.dtb \ 30 nxp/imx/imx6q-sabresd-ldo.dtb \
30 nxp/imx/imx6q-sabresd-uart.dtb \ 31 nxp/imx/imx6q-sabresd-uart.dtb \
32 nxp/imx/imx6q-sabresd-pcie.dtb \
33 nxp/imx/imx6q-sabresd-pcie-ep.dtb \
31 \ 34 \
32 nxp/imx/imx6dl-sabresd-btwifi.dtb \ 35 nxp/imx/imx6dl-sabresd-btwifi.dtb \
33 nxp/imx/imx6dl-sabresd.dtb \ 36 nxp/imx/imx6dl-sabresd.dtb \
34 nxp/imx/imx6dl-sabresd-enetirq.dtb \ 37 nxp/imx/imx6dl-sabresd-enetirq.dtb \
35 nxp/imx/imx6dl-sabresd-hdcp.dtb \ 38 nxp/imx/imx6dl-sabresd-hdcp.dtb \
36 nxp/imx/imx6dl-sabresd-ldo.dtb \ 39 nxp/imx/imx6dl-sabresd-ldo.dtb \
40 nxp/imx/imx6dl-sabresd-pcie.dtb \
41 nxp/imx/imx6dl-sabresd-pcie-ep.dtb \
37" 42"
38KERNEL_DEVICETREE:use-mainline-bsp = " \ 43KERNEL_DEVICETREE:use-mainline-bsp = " \
39 nxp/imx/imx6qp-sabresd.dtb \ 44 nxp/imx/imx6qp-sabresd.dtb \
@@ -76,6 +81,6 @@ OPTEE_BIN_EXT = "6qsdb"
76 81
77SERIAL_CONSOLES = "115200;ttymxc0" 82SERIAL_CONSOLES = "115200;ttymxc0"
78 83
79MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k" 84MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k firmware-imx-epdc"
80 85
81MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio" 86MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio"
diff --git a/conf/machine/imx6slevk.conf b/conf/machine/imx6slevk.conf
index af196eab8..df022d635 100644
--- a/conf/machine/imx6slevk.conf
+++ b/conf/machine/imx6slevk.conf
@@ -34,5 +34,6 @@ OPTEE_BIN_EXT = "6slevk"
34SERIAL_CONSOLES = "115200;ttymxc0" 34SERIAL_CONSOLES = "115200;ttymxc0"
35 35
36MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 36MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
37MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
37 38
38MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc" 39MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc"
diff --git a/conf/machine/imx6sllevk.conf b/conf/machine/imx6sllevk.conf
index 5a1dc666c..58fff6db0 100644
--- a/conf/machine/imx6sllevk.conf
+++ b/conf/machine/imx6sllevk.conf
@@ -30,9 +30,7 @@ OPTEE_BIN_EXT:imx6sllevk = "6sllevk"
30SERIAL_CONSOLES = "115200;ttymxc0" 30SERIAL_CONSOLES = "115200;ttymxc0"
31 31
32MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 32MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
33MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
33 34
34# MESA DRI library 35# MESA DRI library
35XSERVER += "mesa-driver-swrast" 36XSERVER += "mesa-driver-swrast"
36
37PREFERRED_PROVIDER_u-boot = "u-boot-fslc"
38PREFERRED_PROVIDER_virtual/bootloader = "u-boot-fslc"
diff --git a/conf/machine/imx6sxsabresd.conf b/conf/machine/imx6sxsabresd.conf
index 8d597c551..d85c7ce74 100644
--- a/conf/machine/imx6sxsabresd.conf
+++ b/conf/machine/imx6sxsabresd.conf
@@ -45,3 +45,4 @@ SERIAL_CONSOLES = "115200;ttymxc0"
45MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k" 45MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
46 46
47MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 47MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
48MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
diff --git a/conf/machine/imx6ulevk.conf b/conf/machine/imx6ulevk.conf
index 10c7b6fb4..3bab4f549 100644
--- a/conf/machine/imx6ulevk.conf
+++ b/conf/machine/imx6ulevk.conf
@@ -10,6 +10,7 @@ include conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = " \ 15KERNEL_DEVICETREE = " \
15 nxp/imx/imx6ul-14x14-evk-btwifi.dtb \ 16 nxp/imx/imx6ul-14x14-evk-btwifi.dtb \
@@ -26,7 +27,11 @@ KERNEL_DEVICETREE = " \
26 nxp/imx/imx6ul-14x14-evk-reve-ecspi-slave.dtb \ 27 nxp/imx/imx6ul-14x14-evk-reve-ecspi-slave.dtb \
27 nxp/imx/imx6ul-14x14-evk-reve-emmc.dtb \ 28 nxp/imx/imx6ul-14x14-evk-reve-emmc.dtb \
28 nxp/imx/imx6ul-14x14-evk-reve-gpmi-weim.dtb \ 29 nxp/imx/imx6ul-14x14-evk-reve-gpmi-weim.dtb \
30 nxp/imx/imx6ul-9x9-evk.dtb \
31 nxp/imx/imx6ul-9x9-evk-btwifi.dtb \
32 nxp/imx/imx6ul-9x9-evk-ldo.dtb \
29" 33"
34
30KERNEL_DEVICETREE:use-mainline-bsp = "nxp/imx/imx6ul-14x14-evk.dtb" 35KERNEL_DEVICETREE:use-mainline-bsp = "nxp/imx/imx6ul-14x14-evk.dtb"
31 36
32### u-boot-fslc settings ### 37### u-boot-fslc settings ###
diff --git a/conf/machine/imx6ullevk.conf b/conf/machine/imx6ullevk.conf
index f412c18de..4c1184a79 100644
--- a/conf/machine/imx6ullevk.conf
+++ b/conf/machine/imx6ullevk.conf
@@ -9,13 +9,20 @@ MACHINEOVERRIDES =. "mx6ull:"
9include conf/machine/include/imx-base.inc 9include conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FIRMWARE:append = " firmware-imx-epdc"
13
12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8801-sdio nxp8987-sdio" 14MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8801-sdio nxp8987-sdio"
15MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 16
14KERNEL_DEVICETREE = " \ 17KERNEL_DEVICETREE = " \
15 nxp/imx/imx6ull-14x14-evk.dtb \ 18 nxp/imx/imx6ull-14x14-evk.dtb \
16" 19"
17 20
18KERNEL_DEVICETREE:append:use-nxp-bsp = " \ 21KERNEL_DEVICETREE:append:use-nxp-bsp = " \
22 nxp/imx/imx6ull-9x9-evk.dtb \
23 nxp/imx/imx6ull-9x9-evk-btwifi.dtb \
24 nxp/imx/imx6ull-9x9-evk-ldo.dtb \
25 nxp/imx/imx6ull-14x14-evk.dtb \
19 nxp/imx/imx6ull-14x14-evk-btwifi.dtb \ 26 nxp/imx/imx6ull-14x14-evk-btwifi.dtb \
20 nxp/imx/imx6ull-14x14-evk-emmc.dtb \ 27 nxp/imx/imx6ull-14x14-evk-emmc.dtb \
21 nxp/imx/imx6ull-14x14-evk-gpmi-weim.dtb \ 28 nxp/imx/imx6ull-14x14-evk-gpmi-weim.dtb \
diff --git a/conf/machine/imx6ulz-14x14-evk.conf b/conf/machine/imx6ulz-14x14-evk.conf
index c5fd91bf4..572434ae7 100644
--- a/conf/machine/imx6ulz-14x14-evk.conf
+++ b/conf/machine/imx6ulz-14x14-evk.conf
@@ -10,6 +10,7 @@ include conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 12MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = " \ 15KERNEL_DEVICETREE = " \
15 nxp/imx/imx6ulz-14x14-evk.dtb \ 16 nxp/imx/imx6ulz-14x14-evk.dtb \
diff --git a/conf/machine/imx7dsabresd.conf b/conf/machine/imx7dsabresd.conf
index 4b4a60122..96942ebb2 100644
--- a/conf/machine/imx7dsabresd.conf
+++ b/conf/machine/imx7dsabresd.conf
@@ -10,6 +10,7 @@ require conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio" 12MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = "nxp/imx/imx7d-sdb.dtb" 15KERNEL_DEVICETREE = "nxp/imx/imx7d-sdb.dtb"
15KERNEL_DEVICETREE:append:use-nxp-bsp = " \ 16KERNEL_DEVICETREE:append:use-nxp-bsp = " \
@@ -42,3 +43,10 @@ UBOOT_CONFIG[epdc] = "mx7dsabresd_epdc_config"
42OPTEE_BIN_EXT = "7dsdb" 43OPTEE_BIN_EXT = "7dsdb"
43 44
44XSERVER += "mesa-driver-swrast" 45XSERVER += "mesa-driver-swrast"
46
47WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
48IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
49 mcore-demos/imx7d_sabresd_m4_TCM_Pingpang.bin \
50 mcore-demos/imx7d_sabresd_m4_TCM_helloworld.bin \
51 mcore-demos/imx7d_sabresd_m4_TCM_mcctty.bin \
52"
diff --git a/conf/machine/imx7ulpevk.conf b/conf/machine/imx7ulpevk.conf
index 2e39a0c79..b5196e30b 100644
--- a/conf/machine/imx7ulpevk.conf
+++ b/conf/machine/imx7ulpevk.conf
@@ -10,6 +10,7 @@ require conf/machine/include/imx-base.inc
10include conf/machine/include/arm/armv7a/tune-cortexa7.inc 10include conf/machine/include/arm/armv7a/tune-cortexa7.inc
11 11
12MACHINE_FEATURES += "pci wifi bluetooth bcm43430 nxp8987-sdio" 12MACHINE_FEATURES += "pci wifi bluetooth bcm43430 nxp8987-sdio"
13MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
13 14
14KERNEL_DEVICETREE = " \ 15KERNEL_DEVICETREE = " \
15 nxp/imx/imx7ulp-evk.dtb \ 16 nxp/imx/imx7ulp-evk.dtb \
@@ -43,3 +44,12 @@ OPTEE_BIN_EXT = "7ulp"
43 44
44# Set Serial console 45# Set Serial console
45SERIAL_CONSOLES = "115200;ttyLP0" 46SERIAL_CONSOLES = "115200;ttyLP0"
47
48WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
49IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
50 mcore-demos/imx7ulp_m4_demo.img \
51 mcore-demos/imx7ulp_wireless_uart_bridge.img \
52 mcore-demos/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img \
53 mcore-demos/imx7ulp_rpmsg_lite_pingpong_rtos.img \
54 mcore-demos/imx7ulp_rpmsg_lite_str_echo_rtos.img \
55"
diff --git a/conf/machine/imx8mnul-ddr3l-evk.conf b/conf/machine/imx8mnul-ddr3l-evk.conf
index de00b6f65..7d87010b4 100644
--- a/conf/machine/imx8mnul-ddr3l-evk.conf
+++ b/conf/machine/imx8mnul-ddr3l-evk.conf
@@ -14,7 +14,7 @@ MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356"
14# NXP BSP can consume proprietary jailhouse and Broadcom drivers 14# NXP BSP can consume proprietary jailhouse and Broadcom drivers
15# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have 15# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
16# a full support for it yet. 16# a full support for it yet.
17MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359" 17MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359 nxpwifi-all-sdio"
18 18
19KERNEL_DEVICETREE_BASENAME = "imx8mn-ddr3l-evk" 19KERNEL_DEVICETREE_BASENAME = "imx8mn-ddr3l-evk"
20KERNEL_DEVICETREE = " \ 20KERNEL_DEVICETREE = " \
@@ -67,3 +67,11 @@ UBOOT_MAKE_TARGET:pn-u-boot-imx = ""
67IMX_BOOT_SEEK = "32" 67IMX_BOOT_SEEK = "32"
68 68
69OPTEE_BIN_EXT = "8mnul" 69OPTEE_BIN_EXT = "8mnul"
70
71WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
72IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
73 mcore-demos/imx8mnddr3l_m7_TCM_hello_world.bin \
74 mcore-demos/imx8mnddr3l_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
75 mcore-demos/imx8mnddr3l_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
76 mcore-demos/imx8mnddr3l_m7_TCM_sai_low_power_audio.bin \
77"
diff --git a/conf/machine/imx8mp-lpddr4-evk.conf b/conf/machine/imx8mp-lpddr4-evk.conf
index 39108716a..cc461a1aa 100644
--- a/conf/machine/imx8mp-lpddr4-evk.conf
+++ b/conf/machine/imx8mp-lpddr4-evk.conf
@@ -41,6 +41,7 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
41 freescale/imx8mp-evk-root.dtb \ 41 freescale/imx8mp-evk-root.dtb \
42 freescale/imx8mp-evk-rpmsg.dtb \ 42 freescale/imx8mp-evk-rpmsg.dtb \
43 freescale/imx8mp-evk-rpmsg-lpv.dtb \ 43 freescale/imx8mp-evk-rpmsg-lpv.dtb \
44 freescale/imx8mp-evk-sof-pdm.dtb \
44 freescale/imx8mp-evk-sof-wm8960.dtb \ 45 freescale/imx8mp-evk-sof-wm8960.dtb \
45 freescale/imx8mp-evk-spdif-lb.dtb \ 46 freescale/imx8mp-evk-spdif-lb.dtb \
46 freescale/imx8mp-evk-usdhc1-m2.dtb \ 47 freescale/imx8mp-evk-usdhc1-m2.dtb \
diff --git a/conf/machine/imx8mq-evk.conf b/conf/machine/imx8mq-evk.conf
index 92a436e54..ff56e386d 100644
--- a/conf/machine/imx8mq-evk.conf
+++ b/conf/machine/imx8mq-evk.conf
@@ -15,7 +15,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
15DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto" 15DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
16 16
17MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio" 17MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio"
18MACHINE_FEATURES:append:use-nxp-bsp = " optee bcm4359" 18MACHINE_FEATURES:append:use-nxp-bsp = " optee bcm4359 jailhouse nxpwifi-all-pcie nxpwifi-all-sdio"
19 19
20MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d" 20MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
21 21
@@ -98,3 +98,10 @@ OPTEE_BIN_EXT = "8mq"
98 98
99# Add additional firmware 99# Add additional firmware
100MACHINE_FIRMWARE:append = " linux-firmware-ath10k" 100MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
101
102WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m4-demos"
103IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
104 mcore-demos/imx8mq_m4_TCM_hello_world.bin \
105 mcore-demos/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
106 mcore-demos/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin \
107"
diff --git a/conf/machine/imx8qm-mek.conf b/conf/machine/imx8qm-mek.conf
index 47cfde198..56ede4326 100644
--- a/conf/machine/imx8qm-mek.conf
+++ b/conf/machine/imx8qm-mek.conf
@@ -12,7 +12,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
12IMX_DEFAULT_BSP = "nxp" 12IMX_DEFAULT_BSP = "nxp"
13 13
14MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie" 14MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
15MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359" 15MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359 nxpwifi-all-pcie nxpwifi-all-sdio"
16 16
17# Don't include kernels in standard images 17# Don't include kernels in standard images
18RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" 18RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
@@ -20,7 +20,7 @@ RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
20LOADADDR = "" 20LOADADDR = ""
21 21
22# We have to disable SERIAL_CONSOLE due to auto-serial-console 22# We have to disable SERIAL_CONSOLE due to auto-serial-console
23SERIAL_CONSOLES = "115200;ttyAMA0" 23SERIAL_CONSOLES = "115200;ttyLP0"
24 24
25# we do not want to have getty running on tty1 as we run 25# we do not want to have getty running on tty1 as we run
26# auto-serial-console there 26# auto-serial-console there
@@ -42,7 +42,6 @@ KERNEL_DEVICETREE = " \
42 freescale/imx8qm-mek-hdmi-rx-ov5640.dtb \ 42 freescale/imx8qm-mek-hdmi-rx-ov5640.dtb \
43 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \ 43 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \
44 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \ 44 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \
45 freescale/imx8qm-mek-ov5640.dtb \
46 freescale/imx8qm-mek-pcie-ep.dtb \ 45 freescale/imx8qm-mek-pcie-ep.dtb \
47 freescale/imx8qm-mek-rpmsg.dtb \ 46 freescale/imx8qm-mek-rpmsg.dtb \
48 freescale/imx8qm-mek-sof.dtb \ 47 freescale/imx8qm-mek-sof.dtb \
@@ -50,6 +49,37 @@ KERNEL_DEVICETREE = " \
50 freescale/imx8qm-mek-sof-wm8960.dtb \ 49 freescale/imx8qm-mek-sof-wm8960.dtb \
51 freescale/imx8qm-mek-usd-wifi.dtb \ 50 freescale/imx8qm-mek-usd-wifi.dtb \
52 freescale/imx8qm-mek-usdhc3-m2.dtb \ 51 freescale/imx8qm-mek-usdhc3-m2.dtb \
52 freescale/imx8qm-mek-max9286-csi0.dtb \
53 freescale/imx8qm-mek-max9286-csi1.dtb \
54 freescale/imx8qm-mek-max9286-dual.dtb \
55 freescale/imx8qm-mek-revd-ca53.dtb \
56 freescale/imx8qm-mek-revd-ca72.dtb \
57 freescale/imx8qm-mek-revd-dsi-rm67191.dtb \
58 freescale/imx8qm-mek-revd-dsi-rm67199.dtb \
59 freescale/imx8qm-mek-revd.dtb \
60 freescale/imx8qm-mek-revd-enet2-tja1100.dtb \
61 freescale/imx8qm-mek-revd-hdmi.dtb \
62 freescale/imx8qm-mek-revd-jdi-wuxga-lvds1-panel.dtb \
63 freescale/imx8qm-mek-revd-jdi-wuxga-lvds1-panel-rpmsg.dtb \
64 freescale/imx8qm-mek-revd-max9286-csi0.dtb \
65 freescale/imx8qm-mek-revd-max9286-csi1.dtb \
66 freescale/imx8qm-mek-revd-max9286-dual.dtb \
67 freescale/imx8qm-mek-revd-ov5640-csi0.dtb \
68 freescale/imx8qm-mek-revd-ov5640-csi1.dtb \
69 freescale/imx8qm-mek-revd-ov5640-dual.dtb \
70 freescale/imx8qm-mek-revd-pcie-ep.dtb \
71 freescale/imx8qm-mek-revd-root.dtb \
72 freescale/imx8qm-mek-revd-rpmsg.dtb \
73 freescale/imx8qm-mek-revd-sof-cs42888.dtb \
74 freescale/imx8qm-mek-revd-sof-wm8962.dtb \
75 freescale/imx8qm-mek-revd-usdhc3-m2.dtb \
76 freescale/imx8qm-mek-revd-usd-wifi.dtb \
77 freescale/imx8qm-mek-ov5640-csi0.dtb \
78 freescale/imx8qm-mek-ov5640-csi0-rpmsg.dtb \
79 freescale/imx8qm-mek-ov5640-csi1.dtb \
80 freescale/imx8qm-mek-ov5640-csi1-rpmsg.dtb \
81 freescale/imx8qm-mek-ov5640-dual.dtb \
82 freescale/imx8qm-mek-ov5640-dual-rpmsg.dtb \
53" 83"
54 84
55UBOOT_MAKE_TARGET = \ 85UBOOT_MAKE_TARGET = \
diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf
index 87df30f42..6763c985e 100644
--- a/conf/machine/imx8qxp-mek.conf
+++ b/conf/machine/imx8qxp-mek.conf
@@ -25,6 +25,13 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
25 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \ 25 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \
26 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \ 26 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \
27 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8962.dtb \ 27 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8962.dtb \
28 freescale/${KERNEL_DEVICETREE_BASENAME}-max9286.dtb \
29 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-csi.dtb \
30 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-csi-rpmsg.dtb \
31 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-dual.dtb \
32 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-dual-rpmsg.dtb \
33 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-parallel.dtb \
34 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-parallel-rpmsg.dtb \
28" 35"
29 36
30UBOOT_CONFIG_BASENAME = "imx8qxp_mek" 37UBOOT_CONFIG_BASENAME = "imx8qxp_mek"
diff --git a/conf/machine/imx8ulp-lpddr4-evk.conf b/conf/machine/imx8ulp-lpddr4-evk.conf
index 273e1569d..ad8362e64 100644
--- a/conf/machine/imx8ulp-lpddr4-evk.conf
+++ b/conf/machine/imx8ulp-lpddr4-evk.conf
@@ -18,10 +18,13 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4m.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4m.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4mv2.dtb \ 19 freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4mv2.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-btsco.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-btsco.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-tpm.dtb \
21" 22"
22 23
23UBOOT_CONFIG_BASENAME = "imx8ulp_evk" 24UBOOT_CONFIG_BASENAME = "imx8ulp_evk"
24 25
25MACHINE_FEATURES += "soc-reva1" 26MACHINE_FEATURES += "soc-reva2"
27MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-sdio"
28
26UPOWER_FIRMWARE_NAME = "upower_a1.bin" 29UPOWER_FIRMWARE_NAME = "upower_a1.bin"
27IMX_DEFAULT_BSP = "nxp" 30IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/imx93-11x11-lpddr4x-evk.conf b/conf/machine/imx93-11x11-lpddr4x-evk.conf
index f8bdc4d7f..e7ad6d4d3 100644
--- a/conf/machine/imx93-11x11-lpddr4x-evk.conf
+++ b/conf/machine/imx93-11x11-lpddr4x-evk.conf
@@ -13,11 +13,11 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
13 freescale/${KERNEL_DEVICETREE_BASENAME}-boe-wxga-lvds-panel.dtb \ 13 freescale/${KERNEL_DEVICETREE_BASENAME}-boe-wxga-lvds-panel.dtb \
14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \ 14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \
15 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \ 15 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-i2c-spi-slave.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \ 17 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-iw612-otbr.dtb \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-ld.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-ld.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-lpuart.dtb \ 21 freescale/${KERNEL_DEVICETREE_BASENAME}-lpuart.dtb \
22 freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \ 22 freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
23 freescale/${KERNEL_DEVICETREE_BASENAME}-mt9m114.dtb \ 23 freescale/${KERNEL_DEVICETREE_BASENAME}-mt9m114.dtb \
@@ -35,3 +35,13 @@ DDR_FIRMWARE_NAME = " \
35 lpddr4_imem_1d_v202201.bin \ 35 lpddr4_imem_1d_v202201.bin \
36 lpddr4_imem_2d_v202201.bin \ 36 lpddr4_imem_2d_v202201.bin \
37" 37"
38
39WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m33-demos"
40IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
41 mcore-demos/imx93-11x11-evk_m33_TCM_low_power_wakeword.bin \
42 mcore-demos/imx93-11x11-evk_m33_TCM_power_mode_switch.bin \
43 mcore-demos/imx93-11x11-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
44 mcore-demos/imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin \
45 mcore-demos/imx93-11x11-evk_m33_TCM_sai_low_power_audio.bin \
46"
47
diff --git a/conf/machine/imx93-14x14-lpddr4x-evk.conf b/conf/machine/imx93-14x14-lpddr4x-evk.conf
index 975591042..dff843a79 100644
--- a/conf/machine/imx93-14x14-lpddr4x-evk.conf
+++ b/conf/machine/imx93-14x14-lpddr4x-evk.conf
@@ -13,13 +13,14 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
13 freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-serdes.dtb \ 13 freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-serdes.dtb \
14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \ 14 freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \
15 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \ 15 freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-lvds-it6263.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-sja1105.dtb \ 19 freescale/${KERNEL_DEVICETREE_BASENAME}-sja1105.dtb \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-tja1103.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-tja1103.dtb \
19" 21"
20 22
21UBOOT_CONFIG_BASENAME = "imx93_14x14_evk" 23UBOOT_CONFIG_BASENAME = "imx93_14x14_evk"
22IMXBOOT_TARGETS_BASENAME = "flash_singleboot"
23 24
24DDR_FIRMWARE_NAME = " \ 25DDR_FIRMWARE_NAME = " \
25 lpddr4_dmem_1d_v202201.bin \ 26 lpddr4_dmem_1d_v202201.bin \
@@ -28,6 +29,9 @@ DDR_FIRMWARE_NAME = " \
28 lpddr4_imem_2d_v202201.bin \ 29 lpddr4_imem_2d_v202201.bin \
29" 30"
30 31
31UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig" 32WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m33-demos"
32 33IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
33IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}" 34 mcore-demos/imx93-14x14-evk_m33_TCM_power_mode_switch.bin \
35 mcore-demos/imx93-14x14-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
36 mcore-demos/imx93-14x14-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin \
37"
diff --git a/conf/machine/imx93-9x9-lpddr4-qsb.conf b/conf/machine/imx93-9x9-lpddr4-qsb.conf
index 3ccd6fd77..ef53da5eb 100644
--- a/conf/machine/imx93-9x9-lpddr4-qsb.conf
+++ b/conf/machine/imx93-9x9-lpddr4-qsb.conf
@@ -18,6 +18,7 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-ontat-wvga-panel.dtb \ 18 freescale/${KERNEL_DEVICETREE_BASENAME}-ontat-wvga-panel.dtb \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \ 19 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-lpv.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-lpv.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-tianma-wvga-panel.dtb \
21" 22"
22 23
23UBOOT_CONFIG_BASENAME = "imx93_9x9_qsb" 24UBOOT_CONFIG_BASENAME = "imx93_9x9_qsb"
@@ -28,3 +29,12 @@ DDR_FIRMWARE_NAME = " \
28 lpddr4_imem_1d_v202201.bin \ 29 lpddr4_imem_1d_v202201.bin \
29 lpddr4_imem_2d_v202201.bin \ 30 lpddr4_imem_2d_v202201.bin \
30" 31"
32
33WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m33-demos"
34IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
35 mcore-demos/imx93-9x9-qsb_m33_TCM_power_mode_switch.bin \
36 mcore-demos/imx93-9x9-qsb_m33_TCM_low_power_wakeword.bin \
37 mcore-demos/imx93-9x9-qsb_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
38 mcore-demos/imx93-9x9-qsb_m33_TCM_rpmsg_lite_str_echo_rtos.bin \
39 mcore-demos/imx93-9x9-qsb_m33_TCM_sai_low_power_audio.bin \
40"
diff --git a/conf/machine/imx95-19x19-verdin.conf b/conf/machine/imx95-19x19-verdin.conf
new file mode 100644
index 000000000..38acc47da
--- /dev/null
+++ b/conf/machine/imx95-19x19-verdin.conf
@@ -0,0 +1,90 @@
1#@TYPE: Machine
2#@NAME: Toradex i.MX 95 19x19 Verdin Evaluation Kit
3#@SOC: i.MX95
4#@DESCRIPTION: Machine configuration for Toradex i.MX 95 19x19 Verdin Evaluation Ki
5#@MAINTAINER: Flora Hu <flora.hu@nxp.com>
6
7MACHINEOVERRIDES =. "mx95:"
8
9require conf/machine/include/imx95-evk.inc
10
11KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin"
12
13KERNEL_DEVICETREE:append:use-nxp-bsp = " \
14 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535.dtb \
15 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535.dtbo \
16 freescale/${KERNEL_DEVICETREE_BASENAME}-adv7535-ap1302.dtb \
17 freescale/${KERNEL_DEVICETREE_BASENAME}-ap1302.dtb \
18 freescale/${KERNEL_DEVICETREE_BASENAME}-ap1302.dtbo \
19 freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912.dtbo \
22 freescale/${KERNEL_DEVICETREE_BASENAME}-lt8912-ap1302.dtb \
23 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc.dtb \
24 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc.dtbo \
25 freescale/${KERNEL_DEVICETREE_BASENAME}-lt9611uxc-ap1302.dtb \
26 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20.dtb \
27 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20.dtbo \
28 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20-combo.dtb \
29 freescale/${KERNEL_DEVICETREE_BASENAME}-os08a20-isp-lt8912.dtb \
30 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10.dtb \
31 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10.dtbo \
32 freescale/${KERNEL_DEVICETREE_BASENAME}-ox03c10-isp-lt8912.dtb \
33 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s.dtb \
34 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s.dtbo \
35 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-combo.dtb \
36 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-isp-lt8912.dtb \
37 freescale/${KERNEL_DEVICETREE_BASENAME}-ox05b1s-isp-lvds-dual.dtb \
38 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-dsi.dtb \
39 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-dsi.dtbo \
40 freescale/${KERNEL_DEVICETREE_BASENAME}-panel-cap-touch-10inch-lvds.dtb \
41 freescale/${KERNEL_DEVICETREE_BASENAME}-rm692c9.dtb \
42 freescale/${KERNEL_DEVICETREE_BASENAME}-rm692c9.dtbo \
43 freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
44 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
45 freescale/${KERNEL_DEVICETREE_BASENAME}-ti-serdes.dtb \
46 freescale/${KERNEL_DEVICETREE_BASENAME}-ti-serdes.dtbo \
47"
48
49UBOOT_CONFIG_BASENAME = "imx95_19x19_verdin"
50
51UBOOT_CONFIG ??= "sd"
52UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig"
53UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
54
55IMXBOOT_TARGETS = "flash_a55"
56
57IMXBOOT_TARGETS_BASENAME = "flash"
58OEI_BOARD = "mx95lp5"
59DDR_TYPE = "lpddr5"
60
61LPDDR_FW_VERSION = "_v202409"
62DDR_FIRMWARE_NAME = " \
63 lpddr5_dmem${LPDDR_FW_VERSION}.bin \
64 lpddr5_dmem_qb${LPDDR_FW_VERSION}.bin \
65 lpddr5_imem${LPDDR_FW_VERSION}.bin \
66 lpddr5_imem_qb${LPDDR_FW_VERSION}.bin \
67"
68
69IMXBOOT_VARIANT = ""
70M4_DEFAULT_IMAGE_MX95:imx-nxp-bsp = "imx95-verdin-evk_m7_TCM_power_mode_switch.bin"
71
72WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-m7-demos"
73IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
74 mcore-demos/imx95-verdin-evk_m7_TCM_power_mode_switch.bin \
75 mcore-demos/imx95-verdin-evk_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
76 mcore-demos/imx95-verdin-evk_m7_TCM_rpmsg_lite_str_echo_rtos.bin \
77 mcore-demos/imx95-verdin-evk_m7_TCM_sai_low_power_audio.bin \
78 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'xen', '', d)} \
79"
80
81#IMXBOOT_VARIANT = ""
82
83# The System Manager Firmware Name corresponds to a particular binary implementation
84# in the Yocto deploy folder. The name is comprised of the Firmware Basename and the
85# default system manager Config name, e.g., m33_image-mx95evk.bin and
86# m33_image-mx95evk_fusa.bin for the standard BSP version and FuSa version, respectively
87# The System Manager Firmware Basename is an alias used by imx-boot instead of using
88# a unique name for each implementation, e.g., m33_image.bin for i.MX 95
89SYSTEM_MANAGER_FIRMWARE_BASENAME ?= "m33_image"
90SYSTEM_MANAGER_FIRMWARE_NAME ?= "m33_image-mx95evk"
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index d1f8aca32..15d7b2e8d 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -75,9 +75,9 @@ UBOOT_SUFFIX ?= "${UBOOT_SUFFIX:pn-${IMX_DEFAULT_BOOTLOADER}}"
75# wic based images. 75# wic based images.
76SPL_BINARY ??= "${@get_spl_binary(d)}" 76SPL_BINARY ??= "${@get_spl_binary(d)}"
77 77
78PREFERRED_PROVIDER_u-boot ??= "${IMX_DEFAULT_BOOTLOADER}"
79PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_BOOTLOADER}"
80PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}" 78PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}"
79PREFERRED_PROVIDER_u-boot ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
80PREFERRED_PROVIDER_u-boot-mfgtool ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
81 81
82PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native" 82PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native"
83 83
@@ -94,6 +94,7 @@ UBOOT_ENTRYPOINT:mx6ulz-generic-bsp ?= "0x80008000"
94UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000" 94UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000"
95UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000" 95UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000"
96UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000" 96UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000"
97UBOOT_ENTRYPOINT:mx93-generic-bsp ?= "0x80400000"
97UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000" 98UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000"
98 99
99# Some SoC can utilize the boot container provided by U-Boot, 100# Some SoC can utilize the boot container provided by U-Boot,
@@ -129,6 +130,7 @@ IMX_DEFAULT_ATF_PROVIDER ??= "imx-atf"
129SOC_ATF_BOOT_UART_BASE = "" 130SOC_ATF_BOOT_UART_BASE = ""
130 131
131SOC_ATF_BOOT_UART_BASE:mx8m-generic-bsp = "0x30890000" 132SOC_ATF_BOOT_UART_BASE:mx8m-generic-bsp = "0x30890000"
133SOC_ATF_BOOT_UART_BASE:mx8mq-generic-bsp = "0x30860000"
132ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}" 134ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}"
133 135
134PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" 136PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
@@ -165,7 +167,9 @@ DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto"
165DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto" 167DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto"
166DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto" 168DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto"
167DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto" 169DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto"
170DEFAULTTUNE:mx91-generic-bsp ?= "cortexa55"
168DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55" 171DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55"
172DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55"
169 173
170INHERIT += "machine-overrides-extender" 174INHERIT += "machine-overrides-extender"
171 175
@@ -189,12 +193,12 @@ IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
189### NXP BSP specific overrides 193### NXP BSP specific overrides
190####### 194#######
191 195
192MACHINEOVERRIDES_EXTENDER:mx6q:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6q-generic-bsp:mx6q-nxp-bsp" 196MACHINEOVERRIDES_EXTENDER:mx6q:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxipu:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6q-generic-bsp:mx6q-nxp-bsp"
193MACHINEOVERRIDES_EXTENDER:mx6dl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6dl-generic-bsp:mx6dl-nxp-bsp" 197MACHINEOVERRIDES_EXTENDER:mx6dl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6dl-generic-bsp:mx6dl-nxp-bsp"
194 198
195MACHINEOVERRIDES_EXTENDER:mx6sx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6sx-generic-bsp:mx6sx-nxp-bsp" 199MACHINEOVERRIDES_EXTENDER:mx6sx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6sx-generic-bsp:mx6sx-nxp-bsp"
196 200
197MACHINEOVERRIDES_EXTENDER:mx6sl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp" 201MACHINEOVERRIDES_EXTENDER:mx6sl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp"
198MACHINEOVERRIDES_EXTENDER:mx6sll:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp:mx6sll-generic-bsp:mx6sll-nxp-bsp" 202MACHINEOVERRIDES_EXTENDER:mx6sll:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp:mx6sll-generic-bsp:mx6sll-nxp-bsp"
199 203
200MACHINEOVERRIDES_EXTENDER:mx6ul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp" 204MACHINEOVERRIDES_EXTENDER:mx6ul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp"
@@ -202,25 +206,27 @@ MACHINEOVERRIDES_EXTENDER:mx6ull:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxf
202MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp:mx6ulz-generic-bsp:mx6ulz-nxp-bsp" 206MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp:mx6ulz-generic-bsp:mx6ulz-nxp-bsp"
203 207
204MACHINEOVERRIDES_EXTENDER:mx7d:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx7-generic-bsp:mx7-nxp-bsp:mx7d-generic-bsp:mx7d-nxp-bsp" 208MACHINEOVERRIDES_EXTENDER:mx7d:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx7-generic-bsp:mx7-nxp-bsp:mx7d-generic-bsp:mx7d-nxp-bsp"
205MACHINEOVERRIDES_EXTENDER:mx7ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d:mx7-generic-bsp:mx7-nxp-bsp:mx7ulp-generic-bsp:mx7ulp-nxp-bsp" 209MACHINEOVERRIDES_EXTENDER:mx7ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx7-generic-bsp:mx7-nxp-bsp:mx7ulp-generic-bsp:mx7ulp-nxp-bsp"
206 210
207MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp" 211MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp"
208 212
209MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp" 213MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp"
210 214
211MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp" 215MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp"
212MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp" 216MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxviv:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp"
213MACHINEOVERRIDES_EXTENDER:mx8mnul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mnul-generic-bsp:mx8mnul-nxp-bsp" 217MACHINEOVERRIDES_EXTENDER:mx8mnul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mnul-generic-bsp:mx8mnul-nxp-bsp"
214MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp" 218MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp"
215MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp" 219MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp"
216 220
217MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp" 221MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp"
218MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp" 222MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp"
219MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-generic-bsp:mx8dxl-nxp-bsp" 223MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-generic-bsp:mx8dxl-nxp-bsp"
220 224
221MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8ulp-generic-bsp:mx8ulp-nxp-bsp" 225MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8ulp-generic-bsp:mx8ulp-nxp-bsp"
222 226
227MACHINEOVERRIDES_EXTENDER:mx91:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:mx9-generic-bsp:mx9-nxp-bsp:mx91-generic-bsp:mx91-nxp-bsp"
223MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp" 228MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp"
229MACHINEOVERRIDES_EXTENDER:mx95:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxmali:imxgpu2d:imxgpu3d:mx9-generic-bsp:mx9-nxp-bsp:mx95-generic-bsp:mx95-nxp-bsp"
224 230
225####### 231#######
226### Mainline BSP specific overrides 232### Mainline BSP specific overrides
@@ -263,7 +269,9 @@ MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
263 269
264MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp" 270MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp"
265 271
272MACHINEOVERRIDES_EXTENDER:mx91:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx91-generic-bsp:mx91-mainline-bsp"
266MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp" 273MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp"
274MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-mainline-bsp"
267 275
268MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ 276MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
269 mx6 \ 277 mx6 \
@@ -294,7 +302,9 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
294 mx8dx \ 302 mx8dx \
295 mx8dxl \ 303 mx8dxl \
296 mx8ulp \ 304 mx8ulp \
305 mx91 \
297 mx93 \ 306 mx93 \
307 mx95 \
298" 308"
299 309
300MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'." 310MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'."
@@ -305,7 +315,7 @@ MACHINE_SOCARCH_SUFFIX:mx6q-nxp-bsp = "-mx6qdl"
305MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl" 315MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl"
306MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx" 316MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx"
307MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl" 317MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl"
308MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp= "-mx6sll" 318MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp = "-mx6sll"
309MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d" 319MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d"
310MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp" 320MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp"
311MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf" 321MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf"
@@ -322,7 +332,9 @@ MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
322MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8" 332MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
323MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl" 333MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
324MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp" 334MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
335MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91"
325MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93" 336MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
337MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95"
326 338
327# For Mainline we use a single SoC suffix as we don't have different build options 339# For Mainline we use a single SoC suffix as we don't have different build options
328MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx" 340MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx"
@@ -399,7 +411,11 @@ IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware
399IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files" 411IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
400IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" 412IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
401IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx" 413IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx"
414IMX_EXTRA_FIRMWARE:mx91-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
402IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx" 415IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
416PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager"
417PREFERRED_PROVIDER_virtual/imx-oei ??= "imx-oei"
418IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei"
403 419
404# Firmware 420# Firmware
405MACHINE_FIRMWARE ?= "" 421MACHINE_FIRMWARE ?= ""
@@ -420,6 +436,7 @@ MACHINE_FIRMWARE:append:mx8mp-generic-bsp = " linux-firmware-imx-sdma-imx7d f
420MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d" 436MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d"
421MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion" 437MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
422MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion" 438MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
439MACHINE_FIRMWARE:append:mx95-generic-bsp = " firmware-imx-vpu-wave"
423MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" 440MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
424 441
425MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}" 442MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
@@ -510,14 +527,30 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
510MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" 527MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
511 528
512# GStreamer forked recipes 529# GStreamer forked recipes
513PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.22.5.imx" 530PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.7.imx"
514PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.22.5.imx" 531PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.7.imx"
515PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.22.5.imx" 532PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.7.imx"
516PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.22.5.imx" 533PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.7.imx"
517PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.22.5.imx" 534PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.7.imx"
518PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.22.5.imx" 535PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.7.imx"
519PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.22.5.imx" 536PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.7.imx"
520PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.22.5.imx" 537PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.7.imx"
538
539# GStreamer copied recipes
540PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx"
541PREFERRED_VERSION_gst-examples:mx8-nxp-bsp ??= "1.24.7.imx"
542PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.7.imx"
543PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx"
544PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx"
545PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx"
546PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx"
547PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx"
548PREFERRED_VERSION_gst-examples:mx9-nxp-bsp ??= "1.24.7.imx"
549PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.7.imx"
550PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx"
551PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx"
552PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx"
553PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.24.0.imx"
521 554
522# GStreamer downgrade ffmpeg 555# GStreamer downgrade ffmpeg
523PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" 556PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
@@ -532,67 +565,62 @@ SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
532# 1 - machine has Vivante GPU driver support 565# 1 - machine has Vivante GPU driver support
533MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" 566MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}"
534 567
535# Graphics libraries 568# Override graphics for i.MX GPU
536PREFERRED_PROVIDER_virtual/egl ?= "mesa" 569IMXGPU_GRAPHICS_PROVIDER:imxviv ?= "imx-gpu-viv"
537PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 570IMXGPU_GRAPHICS_PROVIDER:imxmali ?= "mali-imx"
538PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 571
539PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 572PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "${IMXGPU_GRAPHICS_PROVIDER}"
540 573PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
541PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "imx-gpu-viv" 574PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl"
542PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl" 575PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
543PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl" 576PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
544PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "imx-gpu-viv" 577PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
545PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv" 578
546PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv" 579# The Vivante OpenCL implementation doesn't work with the standard headers and loader
547PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" 580PREFERRED_PROVIDER_opencl-clhpp:imxviv ?= "imx-gpu-viv"
548PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d" 581PREFERRED_PROVIDER_opencl-headers:imxviv ?= "imx-gpu-viv"
582PREFERRED_PROVIDER_opencl-icd-loader:imxviv ?= "imx-gpu-viv"
583PREFERRED_PROVIDER_virtual/opencl-icd:imxviv ?= "imx-gpu-viv"
584
585PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
586PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
549PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" 587PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d"
550PREFERRED_PROVIDER_opencl-clhpp:imxgpu ?= "imx-gpu-viv"
551PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv"
552PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv"
553PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv"
554 588
555PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.3.imx" 589PREFERRED_VERSION_weston:imx-nxp-bsp ??= "14.0.1.imx"
556# i.MX 6 & 7 stay on weston 10.0 for fbdev 590# i.MX 6 & 7 stay on weston 10.0 for fbdev
557PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx" 591PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx"
558PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx" 592PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx"
559PREFERRED_VERSION_weston:imx-mainline-bsp = "" 593PREFERRED_VERSION_weston:imx-mainline-bsp = ""
560 594
561PREFERRED_VERSION_wayland-protocols:mx6-nxp-bsp ??= "1.32.imx" 595PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.37.imx"
562PREFERRED_VERSION_wayland-protocols:mx7-nxp-bsp ??= "1.32.imx"
563PREFERRED_VERSION_wayland-protocols:mx8-nxp-bsp ??= "1.32.imx"
564PREFERRED_VERSION_wayland-protocols:mx9-nxp-bsp ??= "1.32.imx"
565 596
566PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx" 597PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "24.1.6.imx"
567 598
568# Use i.MX libdrm Version 599# Use i.MX libdrm Version
569PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.116.imx" 600PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.123.imx"
570PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.116.imx" 601
571PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.116.imx" 602PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.275.0.imx"
572PREFERRED_VERSION_libdrm:mx9-nxp-bsp ??= "2.4.116.imx" 603PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.275.0.imx"
573 604PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.275.0.imx"
574PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.261.1.imx" 605PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.275.0.imx"
575PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.261.1.imx" 606PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.275.0.imx"
576PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.261.1.imx" 607PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx"
577PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.261.1.imx"
578PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.261.1.imx"
579PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.261.1.imx"
580 608
581# Use i.MX optee Version 609# Use i.MX optee Version
582PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.0.0.imx" 610PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.4.0.imx"
583PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.0.0.imx" 611PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.4.0.imx"
584PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.0.0.imx" 612PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.4.0.imx"
585PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.0.0.imx" 613PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.4.0.imx"
586PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.0.0.imx" 614PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.4.0.imx"
587PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.0.0.imx" 615PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.4.0.imx"
588 616
589# Use i.MX opencv Version 617# Use i.MX opencv Version
590PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" 618PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx"
591PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx" 619PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx"
592 620
593# Handle default kernel 621# Handle default kernel
594IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc" 622IMX_DEFAULT_KERNEL:imx-mainline-bsp ??= "linux-fslc"
595IMX_DEFAULT_KERNEL:imx-nxp-bsp = "linux-fslc-imx" 623IMX_DEFAULT_KERNEL:imx-nxp-bsp ??= "linux-fslc-imx"
596 624
597PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}" 625PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
598 626
@@ -611,7 +639,7 @@ IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
611 639
612IMAGE_BOOT_FILES ?= " \ 640IMAGE_BOOT_FILES ?= " \
613 ${KERNEL_IMAGETYPE} \ 641 ${KERNEL_IMAGETYPE} \
614 ${@make_dtb_boot_files(d)} \ 642 ${@bb.utils.contains('KERNEL_IMAGETYPE', 'fitImage', '', '${@make_dtb_boot_files(d)}', d)} \
615 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \ 643 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \
616" 644"
617 645
@@ -645,9 +673,9 @@ WKS_FILE_DEPENDS:append:imx-generic-bsp:mx9-generic-bsp = " \
645 ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \ 673 ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \
646" 674"
647 675
648SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks.in" 676SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks.in"
649SOC_DEFAULT_WKS_FILE:mx8-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
650SOC_DEFAULT_WKS_FILE:mxs-generic-bsp ?= "imx-uboot-mxs-bootpart.wks.in" 677SOC_DEFAULT_WKS_FILE:mxs-generic-bsp ?= "imx-uboot-mxs-bootpart.wks.in"
678SOC_DEFAULT_WKS_FILE:mx8-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
651SOC_DEFAULT_WKS_FILE:mx9-generic-bsp ?= "imx-imx-boot-bootpart.wks.in" 679SOC_DEFAULT_WKS_FILE:mx9-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
652 680
653WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}" 681WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
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
new file mode 100644
index 000000000..df704dc99
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
@@ -0,0 +1,59 @@
1SUMMARY = "i.MX Optional Execution Image"
2
3LICENSE = "GPL-2.0-only"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=59530bdf33659b29e73d4adb9f9f6552"
5
6INHIBIT_DEFAULT_DEPS = "1"
7DEPENDS = "gcc-arm-none-eabi-native"
8
9SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}"
10IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https"
11SRCBRANCH = "master"
12SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678"
13
14inherit deploy
15
16PACKAGE_ARCH = "${MACHINE_ARCH}"
17
18OEI_CONFIGS ?= "UNDEFINED"
19OEI_CORE ?= "UNDEFINED"
20OEI_SOC ?= "UNDEFINED"
21OEI_BOARD ?= "UNDEFINED"
22
23LDFLAGS[unexport] = "1"
24
25EXTRA_OEMAKE = "\
26 board=${OEI_BOARD} \
27 DEBUG=1 \
28 OEI_CROSS_COMPILE=arm-none-eabi-"
29
30do_configure() {
31 for oei_config in ${OEI_CONFIGS}; do
32 oe_runmake clean oei=$oei_config
33 done
34}
35
36do_compile() {
37 for oei_config in ${OEI_CONFIGS}; do
38 oe_runmake oei=$oei_config
39 done
40}
41
42do_install() {
43 install -d ${D}/firmware
44 for oei_config in ${OEI_CONFIGS}; do
45 install -m 0644 ${B}/build/${OEI_BOARD}/$oei_config/oei-*.bin ${D}/firmware
46 done
47}
48
49addtask deploy after do_install
50do_deploy() {
51 cp -rf ${D}/firmware/* ${DEPLOYDIR}/
52}
53
54FILES:${PN} = "/firmware"
55SYSROOT_DIRS += "/firmware"
56
57PROVIDES += "virtual/imx-oei"
58
59COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
new file mode 100644
index 000000000..d8033622c
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
@@ -0,0 +1,44 @@
1# Set generic compiler for system manager core
2INHIBIT_DEFAULT_DEPS = "1"
3DEPENDS = "${SM_COMPILER}"
4SM_COMPILER ?= "gcc-arm-none-eabi-native"
5PROVIDES += "virtual/imx-system-manager"
6
7inherit deploy
8
9PACKAGE_ARCH = "${MACHINE_ARCH}"
10
11# Set monitor mode for none, one, or two
12PACKAGECONFIG[m0] = "M=0,,,,,m1 m2"
13PACKAGECONFIG[m1] = ",,,,,m0 m2"
14PACKAGECONFIG[m2] = "M=2,,,,,m0 m1"
15
16SYSTEM_MANAGER_CONFIG ?= "INVALID"
17
18LDFLAGS[unexport] = "1"
19
20EXTRA_OEMAKE = " \
21 V=y \
22 SM_CROSS_COMPILE=arm-none-eabi- \
23 ${PACKAGECONFIG_CONFARGS} \
24"
25
26do_configure() {
27 oe_runmake config=${SYSTEM_MANAGER_CONFIG} clean
28 oe_runmake config=${SYSTEM_MANAGER_CONFIG} cfg
29}
30
31do_compile() {
32 oe_runmake config=${SYSTEM_MANAGER_CONFIG}
33}
34
35do_install[noexec] = "1"
36
37addtask deploy after do_compile
38do_deploy() {
39 install -D -p -m 0644 \
40 ${B}/build/${SYSTEM_MANAGER_CONFIG}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
41 ${DEPLOYDIR}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}-${SYSTEM_MANAGER_CONFIG}.bin
42}
43
44COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
new file mode 100644
index 000000000..55826b016
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
@@ -0,0 +1,21 @@
1SUMMARY = "i.MX System Manager Firmware"
2DESCRIPTION = "\
3The System Manager (SM) is a firmware that runs on a Cortex-M processor on \
4many NXP i.MX processors. The Cortex-M is the boot core, runs the boot ROM \
5which loads the SM (and other boot code), and then branches to the SM. The \
6SM then configures some aspects of the hardware such as isolation mechanisms \
7and then starts other cores in the system. After starting these cores, it \
8enters a service mode where it provides access to clocking, power, sensor, \
9and pin control via a client RPC API based on ARM's System Control and \
10Management Interface (SCMI)."
11LICENSE = "BSD-3-Clause"
12LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619"
13
14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}"
15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https"
16SRCBRANCH = "master"
17SRCREV = "709deccd9338399eb39b5cf99a60eab4fa60d539"
18
19require imx-system-manager.inc
20
21PACKAGECONFIG ??= "m2"
diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc
deleted file mode 100644
index b77fbc838..000000000
--- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc
+++ /dev/null
@@ -1,44 +0,0 @@
1DEPENDS:append:imxvpu = " imx-vpuwrap"
2
3# Additional imx code and patches are included in the chromium-imx git repository.
4# The code below fetches this repository, copies the extra source over to the main
5# chromium source directory, and applies the patches.
6
7CHROMIUM_IMX_BRANCH ?= "master"
8CHROMIUM_IMX_SRCREV ?= "HEAD"
9CHROMIUM_IMX_DESTSUFFIX ?= "chromium-imx-git"
10
11PATCH_BASE_DIR = "${WORKDIR}/${CHROMIUM_IMX_DESTSUFFIX}/patches"
12
13CHROMIUM_IMX_COMMON_PATCHES ?= " "
14CHROMIUM_IMX_VPU_PATCHES ?= " "
15CHROMIUM_IMX_WAYLAND_PATCHES ?= " "
16
17SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV};protocol=https"
18
19do_unpack[postfuncs] += "copy_chromium_imx_files"
20# using =+ instead of += to make sure add_chromium_imx_patches is
21# executed before add_ozone_wayland_patches in the main recipe;
22# this is necessary because add_chromium_imx_patches appends
23# patches to the OZONE_WAYLAND_EXTRA_PATCHES variable
24do_patch[prefuncs] =+ "add_chromium_imx_patches"
25
26# * Lost context problems are not known to happen with Vivante GPUs,
27# so it is safe to use ignore-lost-context
28# * Proprietary codecs need to be enabled for h.264 and MP4 support
29PACKAGECONFIG:append = " ignore-lost-context proprietary-codecs"
30
31copy_chromium_imx_files() {
32 # sources in src/ are already organized in a manner
33 # that matches the subdirectories in the chromium
34 # source directory; just copy over the files in src/
35 cp -r ${WORKDIR}/chromium-imx-git/src/* ${S}/
36}
37
38python add_chromium_imx_patches() {
39 d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_COMMON_PATCHES', 1))
40 d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_VPU_PATCHES', 1))
41 d.appendVar('OZONE_WAYLAND_EXTRA_PATCHES', ' ' + d.getVar('CHROMIUM_IMX_WAYLAND_PATCHES', 1))
42}
43
44COMPATIBLE_MACHINE = "(mx6-nxp-bsp)"
diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch
deleted file mode 100644
index 0329d42e4..000000000
--- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1diff -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
2--- chromium-48.0.2548.0_org/third_party/libva/va/va_dec_jpeg.h 2016-05-27 11:45:31.248306710 -0500
3+++ chromium-48.0.2548.0/third_party/libva/va/va_dec_jpeg.h 2016-05-27 11:49:53.000000000 -0500
4@@ -36,7 +36,7 @@
5 extern "C" {
6 #endif
7
8-#include <va/va.h>
9+#include <libva/va/va.h>
10
11 /**
12 * \defgroup api_dec_jpeg JPEG decoding API
13diff -Naur chromium-48.0.2548.0_org/third_party/libva/va/va.h chromium-48.0.2548.0/third_party/libva/va/va.h
14--- chromium-48.0.2548.0_org/third_party/libva/va/va.h 2016-05-27 11:45:31.248306710 -0500
15+++ chromium-48.0.2548.0/third_party/libva/va/va.h 2016-05-27 11:49:16.000000000 -0500
16@@ -80,7 +80,7 @@
17
18 #include <stddef.h>
19 #include <stdint.h>
20-#include <va/va_version.h>
21+#include <libva/va/va_version.h>
22
23 #ifdef __cplusplus
24 extern "C" {
25@@ -2836,16 +2836,16 @@
26 */
27 #define VA_PICTURE_HEVC_RPS_LT_CURR 0x00000040
28
29-#include <va/va_dec_hevc.h>
30-#include <va/va_dec_jpeg.h>
31-#include <va/va_dec_vp8.h>
32-#include <va/va_dec_vp9.h>
33-#include <va/va_enc_hevc.h>
34-#include <va/va_enc_h264.h>
35-#include <va/va_enc_jpeg.h>
36-#include <va/va_enc_mpeg2.h>
37-#include <va/va_enc_vp8.h>
38-#include <va/va_vpp.h>
39+#include <libva/va/va_dec_hevc.h>
40+#include <libva/va/va_dec_jpeg.h>
41+#include <libva/va/va_dec_vp8.h>
42+#include <libva/va/va_dec_vp9.h>
43+#include <libva/va/va_enc_hevc.h>
44+#include <libva/va/va_enc_h264.h>
45+#include <libva/va/va_enc_jpeg.h>
46+#include <libva/va/va_enc_mpeg2.h>
47+#include <libva/va/va_enc_vp8.h>
48+#include <libva/va/va_vpp.h>
49
50 /**@}*/
51
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
index 7d84ee93a..1b527fc69 100644
--- a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -6,8 +6,10 @@ 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:mx6-nxp-bsp = "gstreamer"
10PACKAGECONFIG:remove:imx-nxp-bsp = "gstreamer" 10PACKAGECONFIG:remove:mx7-nxp-bsp = "gstreamer"
11PACKAGECONFIG:remove:mx8-nxp-bsp = "gstreamer"
12PACKAGECONFIG:remove:mx93-nxp-bsp = "gstreamer"
11PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}" 13PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}"
12 14
13# FIXME: Needs to qualify on PACKAGECONFIG 15# 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-devtools/cst/files/0001-fix-err-msg-linking.patch b/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch
deleted file mode 100644
index a3f5c8288..000000000
--- a/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1NXP uses weaken to solve conflict in linking.
2On Ubuntu 22.04(LTS) this fails to link cst with libcrypto.
3
4The patch fixes the conflict in the code itself.
5It restricts the scope of err_msg to the module.
6
7Upstream-Status: Inappropriate [i.MX specific]
8Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
9----
10diff --git a/code/cst/code/build/make/rules.mk b/code/cst/code/build/make/rules.mk
11index 1c0842b..9c46cc4 100644
12--- a/code/cst/code/build/make/rules.mk
13+++ b/code/cst/code/build/make/rules.mk
14@@ -25,11 +25,11 @@ LFLAGS := -t
15 %.a:
16 @echo "Create archive $@"
17 $(AR) $(ARFLAGS) $@ $^
18-ifneq ($(OSTYPE),mingw32)
19-ifneq ($(OSTYPE),osx)
20- $(OBJCOPY) --weaken $@
21-endif
22-endif
23+#ifneq ($(OSTYPE),mingw32)
24+#ifneq ($(OSTYPE),osx)
25+# $(OBJCOPY) --weaken $@
26+#endif
27+#endif
28
29 %.exe:
30 @echo "Link $@"
31diff --git a/code/cst/code/front_end/src/acst.c b/code/cst/code/front_end/src/acst.c
32index fb1e8aa..1e993ee 100644
33--- a/code/cst/code/front_end/src/acst.c
34+++ b/code/cst/code/front_end/src/acst.c
35@@ -65,7 +65,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 /*===========================================================================
37 LOCAL VARIABLES
38 =============================================================================*/
39-char err_msg[MAX_ERR_MSG_BYTES];
40+static char err_msg[MAX_ERR_MSG_BYTES];
41
42 /*===========================================================================
43 LOCAL FUNCTION PROTOTYPES
44diff --git a/code/cst/code/front_end/src/misc_helper.c b/code/cst/code/front_end/src/misc_helper.c
45index 678dc17..9014b2a 100644
46--- a/code/cst/code/front_end/src/misc_helper.c
47+++ b/code/cst/code/front_end/src/misc_helper.c
48@@ -60,7 +60,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
49 /*===========================================================================
50 LOCAL VARIABLES
51 =============================================================================*/
52-char err_msg[MAX_ERR_MSG_BYTES];
53+static char err_msg[MAX_ERR_MSG_BYTES];
54
55 /*===========================================================================
56 LOCAL FUNCTION PROTOTYPES
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb b/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb
deleted file mode 100644
index 5f808a974..000000000
--- a/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
1SUMMARY = "i.MX code signing tool"
2DESCRIPTION = "Provides software code signing support designed that integrate the HABv4 and AHAB library"
3SECTION = "cst"
4LICENSE = "BSD-3-Clause"
5
6LIC_FILES_CHKSUM = "file://LICENSE.bsd3;md5=1fbcd66ae51447aa94da10cbf6271530"
7
8DEPENDS = "byacc-native flex-native openssl"
9
10# tag=debian/3.3.1+dfsg-2
11SRCREV = "e2c687a856e6670e753147aacef42d0a3c07891a"
12SRC_URI = " \
13 file://0001-fix-err-msg-linking.patch \
14 git://gitlab.apertis.org/pkg/imx-code-signing-tool.git;protocol=https;branch=apertis/v2022pre \
15"
16
17S = "${WORKDIR}/git"
18
19EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}" AR="${AR}" OBJCOPY="${OBJCOPY}"'
20
21do_compile() {
22 cd ${S}/code/cst
23 oe_runmake build OSTYPE=linux64 ENCRYPTION=yes COPTIONS="${CFLAGS} ${CPPFLAGS}" LDOPTIONS="${LDFLAGS}"
24 cd -
25 oe_runmake -C code/hab_csf_parser COPTS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}"
26}
27
28do_install () {
29 install -d ${D}${bindir}
30 install -m 755 ${S}/code/cst/code/obj.linux64/cst ${D}${bindir}
31 install -m 755 ${S}/code/cst/code/obj.linux64/srktool ${D}${bindir}
32 install -m 755 ${S}/code/hab_csf_parser/csf_parser ${D}${bindir}
33}
34
35BBCLASSEXTEND = "native nativesdk"
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit/ppc-fixplt.patch b/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit/ppc-fixplt.patch
deleted file mode 100644
index b9f17f4e3..000000000
--- a/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit/ppc-fixplt.patch
+++ /dev/null
@@ -1,105 +0,0 @@
1Upstream-Status: Unknown
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4
5libluajit is having symbols that can't be
6resolved the reloc cannot accommodate an offset greater than 24 bits.
7
8Looking at libluajit with readelf -r, you see a bunch of entries that look like:
9 000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0
10
11These should not occur when the code is compiled and linked with -fPIC.
12
13It turns out that libluajit *is* compiled and linked with -fPIC, however...
14There is one assembler file called lj_vm.s which is generated during the build.
15This file is missing the `@plt' qualifier from external references.
16
17This file is generated by a program called buildvm. This in turn uses tables
18in a file called buildvm_arch.h which is generated by dynasm.lua.
19
20Index: LuaJIT-2.0.1/src/host/buildvm.c
21===================================================================
22--- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800
23+++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700
24@@ -107,12 +107,14 @@
25 #endif
26 sprintf(name, "%s%s%s", symprefix, prefix, suffix);
27 p = strchr(name, '@');
28+#if 0
29 if (p) {
30 if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj))
31 name[0] = '@';
32 else
33 *p = '\0';
34 }
35+#endif
36 p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */
37 strcpy(p, name);
38 return p;
39Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc
40===================================================================
41--- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800
42+++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700
43@@ -1390,7 +1390,7 @@
44 | checknum CARG2
45 | evmergehi CARG1, CARG2, CARG2
46 | checkfail ->fff_fallback
47- | bl extern func
48+ | bl extern func@plt
49 | evmergelo CRET1, CRET1, CRET2
50 | b ->fff_restv
51 |.endmacro
52@@ -1405,7 +1405,7 @@
53 | checknum CARG1
54 | evmergehi CARG3, CARG4, CARG4
55 | checkanyfail ->fff_fallback
56- | bl extern func
57+ | bl extern func@plt
58 | evmergelo CRET1, CRET1, CRET2
59 | b ->fff_restv
60 |.endmacro
61@@ -1437,7 +1437,7 @@
62 | checknum CARG2
63 | evmergehi CARG1, CARG2, CARG2
64 | checkfail ->fff_fallback
65- | bl extern log
66+ | bl extern log@plt
67 | evmergelo CRET1, CRET1, CRET2
68 | b ->fff_restv
69 |
70@@ -1471,7 +1471,7 @@
71 | checknum CARG1
72 | checkanyfail ->fff_fallback
73 | efdctsi CARG3, CARG4
74- | bl extern ldexp
75+ | bl extern ldexp@plt
76 | evmergelo CRET1, CRET1, CRET2
77 | b ->fff_restv
78 |
79@@ -1484,7 +1484,7 @@
80 | checkfail ->fff_fallback
81 | la CARG3, DISPATCH_GL(tmptv)(DISPATCH)
82 | lwz PC, FRAME_PC(BASE)
83- | bl extern frexp
84+ | bl extern frexp@plt
85 | lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH)
86 | evmergelo CRET1, CRET1, CRET2
87 | efdcfsi CRET2, TMP1
88@@ -1503,7 +1503,7 @@
89 | checkfail ->fff_fallback
90 | la CARG3, -8(BASE)
91 | lwz PC, FRAME_PC(BASE)
92- | bl extern modf
93+ | bl extern modf@plt
94 | evmergelo CRET1, CRET1, CRET2
95 | la RA, -8(BASE)
96 | evstdd CRET1, 0(BASE)
97@@ -2399,7 +2399,7 @@
98 | checknum CARG1
99 | evmergehi CARG3, CARG4, CARG4
100 | checkanyfail ->vmeta_arith_vv
101- | bl extern pow
102+ | bl extern pow@plt
103 | evmergelo CRET2, CRET1, CRET2
104 | evstddx CRET2, BASE, RA
105 | ins_next
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend b/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend
deleted file mode 100644
index d07f8ae14..000000000
--- a/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
2
3SRC_URI:append:qoriq-ppc = " file://ppc-fixplt.patch "
4
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 62a717721..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,9 +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"
10SRCREV = "63c8ac99899a9bcd723801579b4d786594670455" 10SRCREV = "5b9f4b16a864e9dfa58cdcc860be278a7f66ac18"
11
12S = "${WORKDIR}/git"
13 11
14EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \ 12EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
15 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/qt4-layer/recipes-qt4/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
index 1213650c2..9508aee3b 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
@@ -5,6 +5,7 @@ Subject: [PATCH] Add support for i.MX codecs to phonon
5 5
6Add support for i.MX codecs to phonon 6Add support for i.MX codecs to phonon
7 7
8Upstream-Status: Pending
8Signed-off-by: Daniele Dall'Acqua <daniele.d@freescale.com> 9Signed-off-by: Daniele Dall'Acqua <daniele.d@freescale.com>
9Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com> 10Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
10--- 11---
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch
index 7eee7cf2a..c954abfb8 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch
@@ -4,6 +4,7 @@ Date: Thu, 29 Sep 2022 16:06:04 +0200
4Subject: [PATCH 1/2] config.tests: add DEFINES to compile egl test with 4Subject: [PATCH 1/2] config.tests: add DEFINES to compile egl test with
5 imxgpu2d (Vivante) 5 imxgpu2d (Vivante)
6 6
7Upstream-Status: Pending
7Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com> 8Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
8--- 9---
9 config.tests/unix/egl/egl.pro | 1 + 10 config.tests/unix/egl/egl.pro | 1 +
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch
index 993df85e9..b29be7d3c 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch
@@ -4,6 +4,7 @@ Date: Thu, 29 Sep 2022 16:12:11 +0200
4Subject: [PATCH 2/2] config.tests: add DEFINES to compile egl4gles1 test with 4Subject: [PATCH 2/2] config.tests: add DEFINES to compile egl4gles1 test with
5 imxgpu2d (Vivante) 5 imxgpu2d (Vivante)
6 6
7Upstream-Status: Pending
7Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com> 8Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
8--- 9---
9 config.tests/unix/egl4gles1/egl4gles1.pro | 1 + 10 config.tests/unix/egl4gles1/egl4gles1.pro | 1 +
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
index 0226db598..fe4c4393b 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
@@ -18,6 +18,7 @@ a particular session for use in multi-headed applications.
18The default is /dev/video17: 18The default is /dev/video17:
19 export v4lsinkdev=/dev/video17 19 export v4lsinkdev=/dev/video17
20 20
21Upstream-Status: Pending
21Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> 22Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
22--- 23---
23 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 5 ++++- 24 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 5 ++++-
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch
index e86d9ed54..57e38be50 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch
@@ -1,3 +1,4 @@
1Upstream-Status: Pending
1Index: git/mkspecs/linux-oe-g++/qmake.conf 2Index: git/mkspecs/linux-oe-g++/qmake.conf
2=================================================================== 3===================================================================
3--- git.orig/mkspecs/linux-oe-g++/qmake.conf 2017-06-26 10:20:57.139653321 -0500 4--- git.orig/mkspecs/linux-oe-g++/qmake.conf 2017-06-26 10:20:57.139653321 -0500
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/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend b/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend
index f64637bd3..7cb6c07a3 100644
--- a/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend
+++ b/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend
@@ -4,6 +4,6 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
4SRC_URI:append:qoriq-ppc = " file://qemu.conf" 4SRC_URI:append:qoriq-ppc = " file://qemu.conf"
5 5
6do_install:append:qoriq-ppc() { 6do_install:append:qoriq-ppc() {
7 install -m 0644 ${WORKDIR}/qemu.conf ${D}${sysconfdir}/libvirt/qemu.conf 7 install -m 0644 ${UNPACKDIR}/qemu.conf ${D}${sysconfdir}/libvirt/qemu.conf
8} 8}
9 9
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index b6194d76b..c31fb04be 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -2,3 +2,4 @@
2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
3 3
4PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}" 4PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
5PACKAGE_ARCH:qoriq-generic-bsp = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
index ace734df4..bf97f7d2f 100755
--- a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
@@ -1375,7 +1375,7 @@ state.wm8962audio {
1375 control.117 { 1375 control.117 {
1376 iface MIXER 1376 iface MIXER
1377 name 'INPGAR IN2R Switch' 1377 name 'INPGAR IN2R Switch'
1378 value false 1378 value true
1379 comment { 1379 comment {
1380 access 'read write' 1380 access 'read write'
1381 type BOOLEAN 1381 type BOOLEAN
@@ -1405,7 +1405,7 @@ state.wm8962audio {
1405 control.120 { 1405 control.120 {
1406 iface MIXER 1406 iface MIXER
1407 name 'INPGAL IN1L Switch' 1407 name 'INPGAL IN1L Switch'
1408 value true 1408 value false
1409 comment { 1409 comment {
1410 access 'read write' 1410 access 'read write'
1411 type BOOLEAN 1411 type BOOLEAN
@@ -1425,7 +1425,7 @@ state.wm8962audio {
1425 control.122 { 1425 control.122 {
1426 iface MIXER 1426 iface MIXER
1427 name 'INPGAL IN3L Switch' 1427 name 'INPGAL IN3L Switch'
1428 value false 1428 value true
1429 comment { 1429 comment {
1430 access 'read write' 1430 access 'read write'
1431 type BOOLEAN 1431 type BOOLEAN
@@ -9846,3 +9846,1458 @@ state.wm8960audio4 {
9846 } 9846 }
9847 } 9847 }
9848} 9848}
9849state.sofwm8962audio {
9850 control.1 {
9851 iface MIXER
9852 name 'Input Mixer Switch'
9853 value.0 true
9854 value.1 true
9855 comment {
9856 access 'read write'
9857 type BOOLEAN
9858 count 2
9859 }
9860 }
9861 control.2 {
9862 iface MIXER
9863 name 'MIXINL IN2L Volume'
9864 value 5
9865 comment {
9866 access 'read write'
9867 type INTEGER
9868 count 1
9869 range '0 - 7'
9870 dbmin -1500
9871 dbmax 600
9872 dbvalue.0 0
9873 }
9874 }
9875 control.3 {
9876 iface MIXER
9877 name 'MIXINL PGA Volume'
9878 value 0
9879 comment {
9880 access 'read write'
9881 type INTEGER
9882 count 1
9883 range '0 - 7'
9884 dbmin 0
9885 dbmax 3000
9886 dbvalue.0 0
9887 }
9888 }
9889 control.4 {
9890 iface MIXER
9891 name 'MIXINL IN3L Volume'
9892 value 5
9893 comment {
9894 access 'read write'
9895 type INTEGER
9896 count 1
9897 range '0 - 7'
9898 dbmin -1500
9899 dbmax 600
9900 dbvalue.0 0
9901 }
9902 }
9903 control.5 {
9904 iface MIXER
9905 name 'MIXINR IN2R Volume'
9906 value 5
9907 comment {
9908 access 'read write'
9909 type INTEGER
9910 count 1
9911 range '0 - 7'
9912 dbmin -1500
9913 dbmax 600
9914 dbvalue.0 0
9915 }
9916 }
9917 control.6 {
9918 iface MIXER
9919 name 'MIXINR PGA Volume'
9920 value 0
9921 comment {
9922 access 'read write'
9923 type INTEGER
9924 count 1
9925 range '0 - 7'
9926 dbmin 0
9927 dbmax 3000
9928 dbvalue.0 0
9929 }
9930 }
9931 control.7 {
9932 iface MIXER
9933 name 'MIXINR IN3R Volume'
9934 value 7
9935 comment {
9936 access 'read write'
9937 type INTEGER
9938 count 1
9939 range '0 - 7'
9940 dbmin -1500
9941 dbmax 600
9942 dbvalue.0 600
9943 }
9944 }
9945 control.8 {
9946 iface MIXER
9947 name 'Digital Capture Volume'
9948 value.0 108
9949 value.1 108
9950 comment {
9951 access 'read write'
9952 type INTEGER
9953 count 2
9954 range '0 - 127'
9955 dbmin -9999999
9956 dbmax 2325
9957 dbvalue.0 900
9958 dbvalue.1 900
9959 }
9960 }
9961 control.9 {
9962 iface MIXER
9963 name 'Capture Volume'
9964 value.0 40
9965 value.1 40
9966 comment {
9967 access 'read write'
9968 type INTEGER
9969 count 2
9970 range '0 - 63'
9971 dbmin -2325
9972 dbmax 2400
9973 dbvalue.0 675
9974 dbvalue.1 675
9975 }
9976 }
9977 control.10 {
9978 iface MIXER
9979 name 'Capture Switch'
9980 value.0 true
9981 value.1 true
9982 comment {
9983 access 'read write'
9984 type BOOLEAN
9985 count 2
9986 }
9987 }
9988 control.11 {
9989 iface MIXER
9990 name 'Capture ZC Switch'
9991 value.0 true
9992 value.1 true
9993 comment {
9994 access 'read write'
9995 type BOOLEAN
9996 count 2
9997 }
9998 }
9999 control.12 {
10000 iface MIXER
10001 name 'Capture HPF Switch'
10002 value true
10003 comment {
10004 access 'read write'
10005 type BOOLEAN
10006 count 1
10007 }
10008 }
10009 control.13 {
10010 iface MIXER
10011 name 'Capture HPF Mode'
10012 value Hi-fi
10013 comment {
10014 access 'read write'
10015 type ENUMERATED
10016 count 1
10017 item.0 Hi-fi
10018 item.1 Application
10019 }
10020 }
10021 control.14 {
10022 iface MIXER
10023 name 'Capture HPF Cutoff'
10024 value 0
10025 comment {
10026 access 'read write'
10027 type INTEGER
10028 count 1
10029 range '0 - 7'
10030 }
10031 }
10032 control.15 {
10033 iface MIXER
10034 name 'Capture LHPF Switch'
10035 value false
10036 comment {
10037 access 'read write'
10038 type BOOLEAN
10039 count 1
10040 }
10041 }
10042 control.16 {
10043 iface MIXER
10044 name 'Capture LHPF Mode'
10045 value LPF
10046 comment {
10047 access 'read write'
10048 type ENUMERATED
10049 count 1
10050 item.0 LPF
10051 item.1 HPF
10052 }
10053 }
10054 control.17 {
10055 iface MIXER
10056 name 'Sidetone Volume'
10057 value.0 0
10058 value.1 0
10059 comment {
10060 access 'read write'
10061 type INTEGER
10062 count 2
10063 range '0 - 12'
10064 dbmin -3600
10065 dbmax 0
10066 dbvalue.0 -3600
10067 dbvalue.1 -3600
10068 }
10069 }
10070 control.18 {
10071 iface MIXER
10072 name 'Digital Playback Volume'
10073 value.0 96
10074 value.1 96
10075 comment {
10076 access 'read write'
10077 type INTEGER
10078 count 2
10079 range '0 - 127'
10080 dbmin -9999999
10081 dbmax 2325
10082 dbvalue.0 0
10083 dbvalue.1 0
10084 }
10085 }
10086 control.19 {
10087 iface MIXER
10088 name 'DAC High Performance Switch'
10089 value false
10090 comment {
10091 access 'read write'
10092 type BOOLEAN
10093 count 1
10094 }
10095 }
10096 control.20 {
10097 iface MIXER
10098 name 'DAC L/R Swap Switch'
10099 value false
10100 comment {
10101 access 'read write'
10102 type BOOLEAN
10103 count 1
10104 }
10105 }
10106 control.21 {
10107 iface MIXER
10108 name 'ADC L/R Swap Switch'
10109 value false
10110 comment {
10111 access 'read write'
10112 type BOOLEAN
10113 count 1
10114 }
10115 }
10116 control.22 {
10117 iface MIXER
10118 name 'ADC High Performance Switch'
10119 value true
10120 comment {
10121 access 'read write'
10122 type BOOLEAN
10123 count 1
10124 }
10125 }
10126 control.23 {
10127 iface MIXER
10128 name 'Beep Volume'
10129 value 0
10130 comment {
10131 access 'read write'
10132 type INTEGER
10133 count 1
10134 range '0 - 15'
10135 dbmin -9999999
10136 dbmax -600
10137 dbvalue.0 -9999999
10138 }
10139 }
10140 control.24 {
10141 iface MIXER
10142 name 'Headphone Volume'
10143 value.0 93
10144 value.1 93
10145 comment {
10146 access 'read write'
10147 type INTEGER
10148 count 2
10149 range '0 - 127'
10150 dbmin -9999999
10151 dbmax 600
10152 dbvalue.0 -2800
10153 dbvalue.1 -2800
10154 }
10155 }
10156 control.25 {
10157 iface MIXER
10158 name 'Headphone Switch'
10159 value.0 true
10160 value.1 true
10161 comment {
10162 access 'read write'
10163 type BOOLEAN
10164 count 2
10165 }
10166 }
10167 control.26 {
10168 iface MIXER
10169 name 'Headphone ZC Switch'
10170 value.0 false
10171 value.1 false
10172 comment {
10173 access 'read write'
10174 type BOOLEAN
10175 count 2
10176 }
10177 }
10178 control.27 {
10179 iface MIXER
10180 name 'Headphone Aux Volume'
10181 value.0 7
10182 value.1 7
10183 comment {
10184 access 'read write'
10185 type INTEGER
10186 count 2
10187 range '0 - 7'
10188 dbmin -700
10189 dbmax 0
10190 dbvalue.0 0
10191 dbvalue.1 0
10192 }
10193 }
10194 control.28 {
10195 iface MIXER
10196 name 'Headphone Mixer Switch'
10197 value.0 false
10198 value.1 false
10199 comment {
10200 access 'read write'
10201 type BOOLEAN
10202 count 2
10203 }
10204 }
10205 control.29 {
10206 iface MIXER
10207 name 'HPMIXL IN4L Volume'
10208 value 7
10209 comment {
10210 access 'read write'
10211 type INTEGER
10212 count 1
10213 range '0 - 7'
10214 dbmin -1500
10215 dbmax 600
10216 dbvalue.0 600
10217 }
10218 }
10219 control.30 {
10220 iface MIXER
10221 name 'HPMIXL IN4R Volume'
10222 value 7
10223 comment {
10224 access 'read write'
10225 type INTEGER
10226 count 1
10227 range '0 - 7'
10228 dbmin -1500
10229 dbmax 600
10230 dbvalue.0 600
10231 }
10232 }
10233 control.31 {
10234 iface MIXER
10235 name 'HPMIXL MIXINL Volume'
10236 value 1
10237 comment {
10238 access 'read write'
10239 type INTEGER
10240 count 1
10241 range '0 - 1'
10242 dbmin -600
10243 dbmax 0
10244 dbvalue.0 0
10245 }
10246 }
10247 control.32 {
10248 iface MIXER
10249 name 'HPMIXL MIXINR Volume'
10250 value 1
10251 comment {
10252 access 'read write'
10253 type INTEGER
10254 count 1
10255 range '0 - 1'
10256 dbmin -600
10257 dbmax 0
10258 dbvalue.0 0
10259 }
10260 }
10261 control.33 {
10262 iface MIXER
10263 name 'HPMIXR IN4L Volume'
10264 value 7
10265 comment {
10266 access 'read write'
10267 type INTEGER
10268 count 1
10269 range '0 - 7'
10270 dbmin -1500
10271 dbmax 600
10272 dbvalue.0 600
10273 }
10274 }
10275 control.34 {
10276 iface MIXER
10277 name 'HPMIXR IN4R Volume'
10278 value 7
10279 comment {
10280 access 'read write'
10281 type INTEGER
10282 count 1
10283 range '0 - 7'
10284 dbmin -1500
10285 dbmax 600
10286 dbvalue.0 600
10287 }
10288 }
10289 control.35 {
10290 iface MIXER
10291 name 'HPMIXR MIXINL Volume'
10292 value 1
10293 comment {
10294 access 'read write'
10295 type INTEGER
10296 count 1
10297 range '0 - 1'
10298 dbmin -600
10299 dbmax 0
10300 dbvalue.0 0
10301 }
10302 }
10303 control.36 {
10304 iface MIXER
10305 name 'HPMIXR MIXINR Volume'
10306 value 1
10307 comment {
10308 access 'read write'
10309 type INTEGER
10310 count 1
10311 range '0 - 1'
10312 dbmin -600
10313 dbmax 0
10314 dbvalue.0 0
10315 }
10316 }
10317 control.37 {
10318 iface MIXER
10319 name 'Speaker Boost Volume'
10320 value 3
10321 comment {
10322 access 'read write'
10323 type INTEGER
10324 count 1
10325 range '0 - 7'
10326 dbmin 0
10327 dbmax 1200
10328 dbvalue.0 450
10329 }
10330 }
10331 control.38 {
10332 iface MIXER
10333 name 'EQ Switch'
10334 value false
10335 comment {
10336 access 'read write'
10337 type BOOLEAN
10338 count 1
10339 }
10340 }
10341 control.39 {
10342 iface MIXER
10343 name 'EQ1 Volume'
10344 value.0 12
10345 value.1 12
10346 comment {
10347 access 'read write'
10348 type INTEGER
10349 count 2
10350 range '0 - 31'
10351 dbmin -1200
10352 dbmax 1900
10353 dbvalue.0 0
10354 dbvalue.1 0
10355 }
10356 }
10357 control.40 {
10358 iface MIXER
10359 name 'EQ2 Volume'
10360 value.0 12
10361 value.1 12
10362 comment {
10363 access 'read write'
10364 type INTEGER
10365 count 2
10366 range '0 - 31'
10367 dbmin -1200
10368 dbmax 1900
10369 dbvalue.0 0
10370 dbvalue.1 0
10371 }
10372 }
10373 control.41 {
10374 iface MIXER
10375 name 'EQ3 Volume'
10376 value.0 12
10377 value.1 12
10378 comment {
10379 access 'read write'
10380 type INTEGER
10381 count 2
10382 range '0 - 31'
10383 dbmin -1200
10384 dbmax 1900
10385 dbvalue.0 0
10386 dbvalue.1 0
10387 }
10388 }
10389 control.42 {
10390 iface MIXER
10391 name 'EQ4 Volume'
10392 value.0 12
10393 value.1 12
10394 comment {
10395 access 'read write'
10396 type INTEGER
10397 count 2
10398 range '0 - 31'
10399 dbmin -1200
10400 dbmax 1900
10401 dbvalue.0 0
10402 dbvalue.1 0
10403 }
10404 }
10405 control.43 {
10406 iface MIXER
10407 name 'EQ5 Volume'
10408 value.0 12
10409 value.1 12
10410 comment {
10411 access 'read write'
10412 type INTEGER
10413 count 2
10414 range '0 - 31'
10415 dbmin -1200
10416 dbmax 1900
10417 dbvalue.0 0
10418 dbvalue.1 0
10419 }
10420 }
10421 control.44 {
10422 iface MIXER
10423 name 'EQL Coefficients'
10424 value '0fca040000d81eb5f1450b7501c51c58f3730a540558168ef82907ad1103056405594000'
10425 comment {
10426 access 'read write'
10427 type BYTES
10428 count 36
10429 }
10430 }
10431 control.45 {
10432 iface MIXER
10433 name 'EQR Coefficients'
10434 value '0fca040000d81eb5f1450b7501c51c58f3730a540558168ef82907ad1103056405594000'
10435 comment {
10436 access 'read write'
10437 type BYTES
10438 count 36
10439 }
10440 }
10441 control.46 {
10442 iface MIXER
10443 name '3D Switch'
10444 value false
10445 comment {
10446 access 'read write'
10447 type BOOLEAN
10448 count 1
10449 }
10450 }
10451 control.47 {
10452 iface MIXER
10453 name '3D Coefficients'
10454 value '0040000000000000'
10455 comment {
10456 access 'read write'
10457 type BYTES
10458 count 8
10459 }
10460 }
10461 control.48 {
10462 iface MIXER
10463 name 'DF1 Switch'
10464 value false
10465 comment {
10466 access 'read write'
10467 type BOOLEAN
10468 count 1
10469 }
10470 }
10471 control.49 {
10472 iface MIXER
10473 name 'DF1 Coefficients'
10474 value '0000000000000000000000000000'
10475 comment {
10476 access 'read write'
10477 type BYTES
10478 count 14
10479 }
10480 }
10481 control.50 {
10482 iface MIXER
10483 name 'DRC Switch'
10484 value false
10485 comment {
10486 access 'read write'
10487 type BOOLEAN
10488 count 1
10489 }
10490 }
10491 control.51 {
10492 iface MIXER
10493 name 'DRC Coefficients'
10494 value '000c0925000000000000'
10495 comment {
10496 access 'read write'
10497 type BYTES
10498 count 10
10499 }
10500 }
10501 control.52 {
10502 iface MIXER
10503 name 'VSS Switch'
10504 value false
10505 comment {
10506 access 'read write'
10507 type BOOLEAN
10508 count 1
10509 }
10510 }
10511 control.53 {
10512 iface MIXER
10513 name 'VSS Coefficients'
10514 value '008c020000350700003a4100008b7d00003a4100008cfee800780000003fb260002d18180020000000f1834000fb830000eeaec000fbac4000f17f8000f43b4000f5fb0000ea10c000fcc58000e275c00004b48000d4f9800004914000d8a48000023dc000cf7a8000dc060000f2dac000baf340000a7940001c068000fd2d00001ce840000ddc4000fc9d000009558000fe7e80000eab4000f99880000987c000fd2c400009480000035f400000870000fae4c000000b400004e18000011f4000f8b00000fbcbc00004f3800007df4000ff070000efd70000fbaf4000108a80001107c000e0080000d276000020cf400030234000fd69c0002835000006330000d9f6c000f33340000f420000040c8000fb3f8000f757c0000354000000c6c0000312c000fd8580'
10515 comment {
10516 access 'read write'
10517 type BYTES
10518 count 296
10519 }
10520 }
10521 control.54 {
10522 iface MIXER
10523 name 'HPF1 Switch'
10524 value false
10525 comment {
10526 access 'read write'
10527 type BOOLEAN
10528 count 1
10529 }
10530 }
10531 control.55 {
10532 iface MIXER
10533 name 'HPF2 Switch'
10534 value false
10535 comment {
10536 access 'read write'
10537 type BOOLEAN
10538 count 1
10539 }
10540 }
10541 control.56 {
10542 iface MIXER
10543 name 'HPF Coefficients'
10544 value '0000'
10545 comment {
10546 access 'read write'
10547 type BYTES
10548 count 2
10549 }
10550 }
10551 control.57 {
10552 iface MIXER
10553 name 'HD Bass Switch'
10554 value false
10555 comment {
10556 access 'read write'
10557 type BOOLEAN
10558 count 1
10559 }
10560 }
10561 control.58 {
10562 iface MIXER
10563 name 'HD Bass Coefficients'
10564 value '0002bd12007c586c00538121003f8bd80032f52d0065ac8c006be08700721483007214830043352500066a4a0043607900080000000100000059999a'
10565 comment {
10566 access 'read write'
10567 type BYTES
10568 count 60
10569 }
10570 }
10571 control.59 {
10572 iface MIXER
10573 name 'ALC Switch'
10574 value.0 false
10575 value.1 false
10576 comment {
10577 access 'read write'
10578 type BOOLEAN
10579 count 2
10580 }
10581 }
10582 control.60 {
10583 iface MIXER
10584 name ALC1
10585 value '007b'
10586 comment {
10587 access 'read write'
10588 type BYTES
10589 count 2
10590 }
10591 }
10592 control.61 {
10593 iface MIXER
10594 name ALC2
10595 value '0000'
10596 comment {
10597 access 'read write'
10598 type BYTES
10599 count 2
10600 }
10601 }
10602 control.62 {
10603 iface MIXER
10604 name ALC3
10605 value '1c32'
10606 comment {
10607 access 'read write'
10608 type BYTES
10609 count 2
10610 }
10611 }
10612 control.63 {
10613 iface MIXER
10614 name 'Noise Gate'
10615 value '3200'
10616 comment {
10617 access 'read write'
10618 type BYTES
10619 count 2
10620 }
10621 }
10622 control.64 {
10623 iface MIXER
10624 name 'Speaker Volume'
10625 value.0 114
10626 value.1 114
10627 comment {
10628 access 'read write'
10629 type INTEGER
10630 count 2
10631 range '0 - 127'
10632 dbmin -9999999
10633 dbmax 600
10634 dbvalue.0 -700
10635 dbvalue.1 -700
10636 }
10637 }
10638 control.65 {
10639 iface MIXER
10640 name 'Speaker Switch'
10641 value.0 true
10642 value.1 true
10643 comment {
10644 access 'read write'
10645 type BOOLEAN
10646 count 2
10647 }
10648 }
10649 control.66 {
10650 iface MIXER
10651 name 'Speaker ZC Switch'
10652 value.0 false
10653 value.1 false
10654 comment {
10655 access 'read write'
10656 type BOOLEAN
10657 count 2
10658 }
10659 }
10660 control.67 {
10661 iface MIXER
10662 name 'Speaker Mixer Switch'
10663 value.0 false
10664 value.1 false
10665 comment {
10666 access 'read write'
10667 type BOOLEAN
10668 count 2
10669 }
10670 }
10671 control.68 {
10672 iface MIXER
10673 name 'SPKOUTL Mixer IN4L Volume'
10674 value 7
10675 comment {
10676 access 'read write'
10677 type INTEGER
10678 count 1
10679 range '0 - 7'
10680 dbmin -1500
10681 dbmax 600
10682 dbvalue.0 600
10683 }
10684 }
10685 control.69 {
10686 iface MIXER
10687 name 'SPKOUTL Mixer IN4R Volume'
10688 value 7
10689 comment {
10690 access 'read write'
10691 type INTEGER
10692 count 1
10693 range '0 - 7'
10694 dbmin -1500
10695 dbmax 600
10696 dbvalue.0 600
10697 }
10698 }
10699 control.70 {
10700 iface MIXER
10701 name 'SPKOUTL Mixer MIXINL Volume'
10702 value 1
10703 comment {
10704 access 'read write'
10705 type INTEGER
10706 count 1
10707 range '0 - 1'
10708 dbmin -600
10709 dbmax 0
10710 dbvalue.0 0
10711 }
10712 }
10713 control.71 {
10714 iface MIXER
10715 name 'SPKOUTL Mixer MIXINR Volume'
10716 value 1
10717 comment {
10718 access 'read write'
10719 type INTEGER
10720 count 1
10721 range '0 - 1'
10722 dbmin -600
10723 dbmax 0
10724 dbvalue.0 0
10725 }
10726 }
10727 control.72 {
10728 iface MIXER
10729 name 'SPKOUTL Mixer DACL Volume'
10730 value 0
10731 comment {
10732 access 'read write'
10733 type INTEGER
10734 count 1
10735 range '0 - 1'
10736 dbmin -600
10737 dbmax 0
10738 dbvalue.0 -600
10739 }
10740 }
10741 control.73 {
10742 iface MIXER
10743 name 'SPKOUTL Mixer DACR Volume'
10744 value 0
10745 comment {
10746 access 'read write'
10747 type INTEGER
10748 count 1
10749 range '0 - 1'
10750 dbmin -600
10751 dbmax 0
10752 dbvalue.0 -600
10753 }
10754 }
10755 control.74 {
10756 iface MIXER
10757 name 'SPKOUTR Mixer IN4L Volume'
10758 value 7
10759 comment {
10760 access 'read write'
10761 type INTEGER
10762 count 1
10763 range '0 - 7'
10764 dbmin -1500
10765 dbmax 600
10766 dbvalue.0 600
10767 }
10768 }
10769 control.75 {
10770 iface MIXER
10771 name 'SPKOUTR Mixer IN4R Volume'
10772 value 7
10773 comment {
10774 access 'read write'
10775 type INTEGER
10776 count 1
10777 range '0 - 7'
10778 dbmin -1500
10779 dbmax 600
10780 dbvalue.0 600
10781 }
10782 }
10783 control.76 {
10784 iface MIXER
10785 name 'SPKOUTR Mixer MIXINL Volume'
10786 value 1
10787 comment {
10788 access 'read write'
10789 type INTEGER
10790 count 1
10791 range '0 - 1'
10792 dbmin -600
10793 dbmax 0
10794 dbvalue.0 0
10795 }
10796 }
10797 control.77 {
10798 iface MIXER
10799 name 'SPKOUTR Mixer MIXINR Volume'
10800 value 1
10801 comment {
10802 access 'read write'
10803 type INTEGER
10804 count 1
10805 range '0 - 1'
10806 dbmin -600
10807 dbmax 0
10808 dbvalue.0 0
10809 }
10810 }
10811 control.78 {
10812 iface MIXER
10813 name 'SPKOUTR Mixer DACL Volume'
10814 value 0
10815 comment {
10816 access 'read write'
10817 type INTEGER
10818 count 1
10819 range '0 - 1'
10820 dbmin -600
10821 dbmax 0
10822 dbvalue.0 -600
10823 }
10824 }
10825 control.79 {
10826 iface MIXER
10827 name 'SPKOUTR Mixer DACR Volume'
10828 value 0
10829 comment {
10830 access 'read write'
10831 type INTEGER
10832 count 1
10833 range '0 - 1'
10834 dbmin -600
10835 dbmax 0
10836 dbvalue.0 -600
10837 }
10838 }
10839 control.80 {
10840 iface MIXER
10841 name 'SPKOUTR PGA'
10842 value DAC
10843 comment {
10844 access 'read write'
10845 type ENUMERATED
10846 count 1
10847 item.0 DAC
10848 item.1 Mixer
10849 }
10850 }
10851 control.81 {
10852 iface MIXER
10853 name 'SPKOUTL PGA'
10854 value DAC
10855 comment {
10856 access 'read write'
10857 type ENUMERATED
10858 count 1
10859 item.0 DAC
10860 item.1 Mixer
10861 }
10862 }
10863 control.82 {
10864 iface MIXER
10865 name 'SPKOUTR Mixer DACL Switch'
10866 value false
10867 comment {
10868 access 'read write'
10869 type BOOLEAN
10870 count 1
10871 }
10872 }
10873 control.83 {
10874 iface MIXER
10875 name 'SPKOUTR Mixer DACR Switch'
10876 value false
10877 comment {
10878 access 'read write'
10879 type BOOLEAN
10880 count 1
10881 }
10882 }
10883 control.84 {
10884 iface MIXER
10885 name 'SPKOUTR Mixer MIXINL Switch'
10886 value false
10887 comment {
10888 access 'read write'
10889 type BOOLEAN
10890 count 1
10891 }
10892 }
10893 control.85 {
10894 iface MIXER
10895 name 'SPKOUTR Mixer MIXINR Switch'
10896 value false
10897 comment {
10898 access 'read write'
10899 type BOOLEAN
10900 count 1
10901 }
10902 }
10903 control.86 {
10904 iface MIXER
10905 name 'SPKOUTR Mixer IN4L Switch'
10906 value false
10907 comment {
10908 access 'read write'
10909 type BOOLEAN
10910 count 1
10911 }
10912 }
10913 control.87 {
10914 iface MIXER
10915 name 'SPKOUTR Mixer IN4R Switch'
10916 value false
10917 comment {
10918 access 'read write'
10919 type BOOLEAN
10920 count 1
10921 }
10922 }
10923 control.88 {
10924 iface MIXER
10925 name 'SPKOUTL Mixer DACL Switch'
10926 value false
10927 comment {
10928 access 'read write'
10929 type BOOLEAN
10930 count 1
10931 }
10932 }
10933 control.89 {
10934 iface MIXER
10935 name 'SPKOUTL Mixer DACR Switch'
10936 value false
10937 comment {
10938 access 'read write'
10939 type BOOLEAN
10940 count 1
10941 }
10942 }
10943 control.90 {
10944 iface MIXER
10945 name 'SPKOUTL Mixer MIXINL Switch'
10946 value false
10947 comment {
10948 access 'read write'
10949 type BOOLEAN
10950 count 1
10951 }
10952 }
10953 control.91 {
10954 iface MIXER
10955 name 'SPKOUTL Mixer MIXINR Switch'
10956 value false
10957 comment {
10958 access 'read write'
10959 type BOOLEAN
10960 count 1
10961 }
10962 }
10963 control.92 {
10964 iface MIXER
10965 name 'SPKOUTL Mixer IN4L Switch'
10966 value false
10967 comment {
10968 access 'read write'
10969 type BOOLEAN
10970 count 1
10971 }
10972 }
10973 control.93 {
10974 iface MIXER
10975 name 'SPKOUTL Mixer IN4R Switch'
10976 value false
10977 comment {
10978 access 'read write'
10979 type BOOLEAN
10980 count 1
10981 }
10982 }
10983 control.94 {
10984 iface MIXER
10985 name 'HPOUTR PGA'
10986 value DAC
10987 comment {
10988 access 'read write'
10989 type ENUMERATED
10990 count 1
10991 item.0 DAC
10992 item.1 Mixer
10993 }
10994 }
10995 control.95 {
10996 iface MIXER
10997 name 'HPOUTL PGA'
10998 value DAC
10999 comment {
11000 access 'read write'
11001 type ENUMERATED
11002 count 1
11003 item.0 DAC
11004 item.1 Mixer
11005 }
11006 }
11007 control.96 {
11008 iface MIXER
11009 name 'HPMIXR DACL Switch'
11010 value false
11011 comment {
11012 access 'read write'
11013 type BOOLEAN
11014 count 1
11015 }
11016 }
11017 control.97 {
11018 iface MIXER
11019 name 'HPMIXR DACR Switch'
11020 value false
11021 comment {
11022 access 'read write'
11023 type BOOLEAN
11024 count 1
11025 }
11026 }
11027 control.98 {
11028 iface MIXER
11029 name 'HPMIXR MIXINL Switch'
11030 value false
11031 comment {
11032 access 'read write'
11033 type BOOLEAN
11034 count 1
11035 }
11036 }
11037 control.99 {
11038 iface MIXER
11039 name 'HPMIXR MIXINR Switch'
11040 value false
11041 comment {
11042 access 'read write'
11043 type BOOLEAN
11044 count 1
11045 }
11046 }
11047 control.100 {
11048 iface MIXER
11049 name 'HPMIXR IN4L Switch'
11050 value false
11051 comment {
11052 access 'read write'
11053 type BOOLEAN
11054 count 1
11055 }
11056 }
11057 control.101 {
11058 iface MIXER
11059 name 'HPMIXR IN4R Switch'
11060 value false
11061 comment {
11062 access 'read write'
11063 type BOOLEAN
11064 count 1
11065 }
11066 }
11067 control.102 {
11068 iface MIXER
11069 name 'HPMIXL DACL Switch'
11070 value false
11071 comment {
11072 access 'read write'
11073 type BOOLEAN
11074 count 1
11075 }
11076 }
11077 control.103 {
11078 iface MIXER
11079 name 'HPMIXL DACR Switch'
11080 value false
11081 comment {
11082 access 'read write'
11083 type BOOLEAN
11084 count 1
11085 }
11086 }
11087 control.104 {
11088 iface MIXER
11089 name 'HPMIXL MIXINL Switch'
11090 value false
11091 comment {
11092 access 'read write'
11093 type BOOLEAN
11094 count 1
11095 }
11096 }
11097 control.105 {
11098 iface MIXER
11099 name 'HPMIXL MIXINR Switch'
11100 value false
11101 comment {
11102 access 'read write'
11103 type BOOLEAN
11104 count 1
11105 }
11106 }
11107 control.106 {
11108 iface MIXER
11109 name 'HPMIXL IN4L Switch'
11110 value false
11111 comment {
11112 access 'read write'
11113 type BOOLEAN
11114 count 1
11115 }
11116 }
11117 control.107 {
11118 iface MIXER
11119 name 'HPMIXL IN4R Switch'
11120 value false
11121 comment {
11122 access 'read write'
11123 type BOOLEAN
11124 count 1
11125 }
11126 }
11127 control.108 {
11128 iface MIXER
11129 name STR
11130 value None
11131 comment {
11132 access 'read write'
11133 type ENUMERATED
11134 count 1
11135 item.0 None
11136 item.1 Left
11137 item.2 Right
11138 }
11139 }
11140 control.109 {
11141 iface MIXER
11142 name STL
11143 value None
11144 comment {
11145 access 'read write'
11146 type ENUMERATED
11147 count 1
11148 item.0 None
11149 item.1 Left
11150 item.2 Right
11151 }
11152 }
11153 control.110 {
11154 iface MIXER
11155 name 'MIXINR IN2R Switch'
11156 value false
11157 comment {
11158 access 'read write'
11159 type BOOLEAN
11160 count 1
11161 }
11162 }
11163 control.111 {
11164 iface MIXER
11165 name 'MIXINR IN3R Switch'
11166 value true
11167 comment {
11168 access 'read write'
11169 type BOOLEAN
11170 count 1
11171 }
11172 }
11173 control.112 {
11174 iface MIXER
11175 name 'MIXINR PGA Switch'
11176 value true
11177 comment {
11178 access 'read write'
11179 type BOOLEAN
11180 count 1
11181 }
11182 }
11183 control.113 {
11184 iface MIXER
11185 name 'MIXINL IN2L Switch'
11186 value false
11187 comment {
11188 access 'read write'
11189 type BOOLEAN
11190 count 1
11191 }
11192 }
11193 control.114 {
11194 iface MIXER
11195 name 'MIXINL IN3L Switch'
11196 value false
11197 comment {
11198 access 'read write'
11199 type BOOLEAN
11200 count 1
11201 }
11202 }
11203 control.115 {
11204 iface MIXER
11205 name 'MIXINL PGA Switch'
11206 value true
11207 comment {
11208 access 'read write'
11209 type BOOLEAN
11210 count 1
11211 }
11212 }
11213 control.116 {
11214 iface MIXER
11215 name 'INPGAR IN1R Switch'
11216 value false
11217 comment {
11218 access 'read write'
11219 type BOOLEAN
11220 count 1
11221 }
11222 }
11223 control.117 {
11224 iface MIXER
11225 name 'INPGAR IN2R Switch'
11226 value true
11227 comment {
11228 access 'read write'
11229 type BOOLEAN
11230 count 1
11231 }
11232 }
11233 control.118 {
11234 iface MIXER
11235 name 'INPGAR IN3R Switch'
11236 value true
11237 comment {
11238 access 'read write'
11239 type BOOLEAN
11240 count 1
11241 }
11242 }
11243 control.119 {
11244 iface MIXER
11245 name 'INPGAR IN4R Switch'
11246 value false
11247 comment {
11248 access 'read write'
11249 type BOOLEAN
11250 count 1
11251 }
11252 }
11253 control.120 {
11254 iface MIXER
11255 name 'INPGAL IN1L Switch'
11256 value false
11257 comment {
11258 access 'read write'
11259 type BOOLEAN
11260 count 1
11261 }
11262 }
11263 control.121 {
11264 iface MIXER
11265 name 'INPGAL IN2L Switch'
11266 value false
11267 comment {
11268 access 'read write'
11269 type BOOLEAN
11270 count 1
11271 }
11272 }
11273 control.122 {
11274 iface MIXER
11275 name 'INPGAL IN3L Switch'
11276 value true
11277 comment {
11278 access 'read write'
11279 type BOOLEAN
11280 count 1
11281 }
11282 }
11283 control.123 {
11284 iface MIXER
11285 name 'INPGAL IN4L Switch'
11286 value false
11287 comment {
11288 access 'read write'
11289 type BOOLEAN
11290 count 1
11291 }
11292 }
11293 control.124 {
11294 iface CARD
11295 name 'Headphone Jack'
11296 value true
11297 comment {
11298 access read
11299 type BOOLEAN
11300 count 1
11301 }
11302 }
11303}
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
index c511018e9..5ed3bdd92 100644
--- a/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
+++ b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
@@ -218,8 +218,8 @@ rate 8000
218 218
219pcm.asymed{ 219pcm.asymed{
220type asym 220type asym
221playback.pcm "dmix_44100" 221playback.pcm "dmix_48000"
222capture.pcm "dsnoop_44100" 222capture.pcm "dsnoop_48000"
223} 223}
224 224
225pcm.dsp0{ 225pcm.dsp0{
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
index 0084f4a0b..f5918669b 100644
--- a/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
+++ b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
@@ -218,8 +218,8 @@ rate 8000
218 218
219pcm.asymed{ 219pcm.asymed{
220type asym 220type asym
221playback.pcm "dmix_44100" 221playback.pcm "dmix_48000"
222capture.pcm "dsnoop_44100" 222capture.pcm "dsnoop_48000"
223} 223}
224 224
225pcm.dsp0{ 225pcm.dsp0{
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp
new file mode 120000
index 000000000..febb30e2c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp
@@ -0,0 +1 @@
imx-generic-bsp \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp
new file mode 120000
index 000000000..b43cbb34c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp
@@ -0,0 +1 @@
imx-mainline-bsp \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp
new file mode 120000
index 000000000..022b2509e
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp
@@ -0,0 +1 @@
imx-nxp-bsp \ No newline at end of file
diff --git a/recipes-bsp/atf/qoriq-atf-2.6.inc b/recipes-bsp/atf/qoriq-atf-2.6.inc
index d5ef5e75e..7a752ee93 100644
--- a/recipes-bsp/atf/qoriq-atf-2.6.inc
+++ b/recipes-bsp/atf/qoriq-atf-2.6.inc
@@ -7,6 +7,3 @@ ATF_BRANCH ?= "lf_v2.6"
7ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https" 7ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https"
8SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}" 8SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}"
9SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75" 9SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75"
10
11S = "${WORKDIR}/git"
12
diff --git a/recipes-bsp/atf/qoriq-atf_2.6.bb b/recipes-bsp/atf/qoriq-atf_2.6.bb
index 5ae2ed9d1..9f2b0e47a 100644
--- a/recipes-bsp/atf/qoriq-atf_2.6.bb
+++ b/recipes-bsp/atf/qoriq-atf_2.6.bb
@@ -51,8 +51,8 @@ FIP_DDR:lx2160a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr',
51FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}" 51FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
52 52
53# requires CROSS_COMPILE set by hand as there is no configure script 53# requires CROSS_COMPILE set by hand as there is no configure script
54export CROSS_COMPILE="${TARGET_PREFIX}" 54export CROSS_COMPILE = "${TARGET_PREFIX}"
55export ARCH="arm64" 55export ARCH = "arm64"
56 56
57# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is 57# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
58# a standalone application 58# a standalone application
diff --git a/recipes-bsp/boot-format/boot-format_git.bb b/recipes-bsp/boot-format/boot-format_git.bb
index 0916b45ba..6b53e228f 100644
--- a/recipes-bsp/boot-format/boot-format_git.bb
+++ b/recipes-bsp/boot-format/boot-format_git.bb
@@ -7,7 +7,6 @@ SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/boot-format;protocol=https;nobra
7 file://flags.patch" 7 file://flags.patch"
8SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550" 8SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550"
9 9
10S = "${WORKDIR}/git"
11EXTRA_OEMAKE = 'CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"' 10EXTRA_OEMAKE = 'CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"'
12 11
13do_install(){ 12do_install(){
diff --git a/recipes-bsp/ddr-phy/ddr-phy_git.bb b/recipes-bsp/ddr-phy/ddr-phy_git.bb
index 8ea92502f..5cfeb935e 100644
--- a/recipes-bsp/ddr-phy/ddr-phy_git.bb
+++ b/recipes-bsp/ddr-phy/ddr-phy_git.bb
@@ -7,8 +7,6 @@ inherit deploy
7SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https" 7SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https"
8SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba" 8SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
9 9
10S = "${WORKDIR}/git"
11
12REGLEX = "lx2160a" 10REGLEX = "lx2160a"
13 11
14DEPENDS += "qoriq-atf-tools-native" 12DEPENDS += "qoriq-atf-tools-native"
diff --git a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
index 5cf543ab7..79fff49e6 100644
--- a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
+++ b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
@@ -6,10 +6,9 @@ inherit deploy fsl-eula-unpack
6 6
7SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true"
8 8
9SRC_URI[md5sum] = "9ed2923c0eb511c7fcf37dd607944124"
10SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84" 9SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84"
11 10
12S = "${WORKDIR}/firmware-imx-8.16" 11S = "${UNPACKDIR}/firmware-imx-8.16"
13 12
14do_install () { 13do_install () {
15 install -d ${D}/boot 14 install -d ${D}/boot
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb
deleted file mode 100644
index 70252c01c..000000000
--- a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb
+++ /dev/null
@@ -1,40 +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=44a8052c384584ba09077e85a3d1654f"
7
8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
9
10SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
11SRC_URI[md5sum] = "f4df2005ec4555e9f177acbf62a7a969"
12SRC_URI[sha256sum] = "3f69d6cf6ea448c5c2f87b6acdad1c5c2318616d246cc5047a523f2543fee408"
13
14do_compile[noexec] = "1"
15
16do_install() {
17 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
18 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
19 if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then
20 install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
21 fi
22}
23
24do_deploy () {
25 # Deploy the related firmware to be package by imx-boot
26 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
27}
28addtask deploy after do_install before do_build
29
30PACKAGES += "${PN}-ext"
31
32ALLOW_EMPTY:${PN}-ext = "1"
33
34FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}"
35FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}"
36
37RREPLACES:${PN} = "firmware-sentinel"
38RPROVIDES:${PN} = "firmware-sentinel"
39
40COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.bb
new file mode 100644
index 000000000..b785613a1
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.1.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=c0fb372b5d7f12181de23ef480f225f3"
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 = "19b6ee2"
12SRC_URI[sha256sum] = "14ad172ed70d2f16decca4b55e508dad32923390a298f10a598e8bc7778b6b66"
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 package 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.23.inc b/recipes-bsp/firmware-imx/firmware-imx-8.23.inc
deleted file mode 100644
index bd471f777..000000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8.23.inc
+++ /dev/null
@@ -1,17 +0,0 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017-2022 NXP
3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SECTION = "base"
5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
10"
11
12SRC_URI[md5sum] = "eb03efb3a8fb98d99ed1df88537e72f4"
13SRC_URI[sha256sum] = "fe07633295dac3dd99f0ba4e07a7cde95bb24a29ca82b9a9b3f6026d29ae916a"
14
15S = "${WORKDIR}/firmware-imx-${PV}"
16
17inherit fsl-eula-unpack
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.27.inc b/recipes-bsp/firmware-imx/firmware-imx-8.27.inc
new file mode 100644
index 000000000..20a66a1e3
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.27.inc
@@ -0,0 +1,16 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017-2024 NXP
3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SECTION = "base"
5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
7
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.
10SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "5af0ceb"
12SRC_URI[sha256sum] = "61f925e606ab020b1a36f3f7f7e459c6847f5b9dbc79421f9ef86e8fc124eb2f"
13
14S = "${UNPACKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}"
15
16inherit fsl-eula-unpack
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb b/recipes-bsp/firmware-imx/firmware-imx_8.27.bb
index 0c935b92e..7bac8106d 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.27.bb
@@ -1,10 +1,10 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor 1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017-2021,2023 NXP 2# Copyright 2017-2021,2024 NXP
3# Copyright (C) 2018 O.S. Systems Software LTDA. 3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SUMMARY = "Freescale i.MX firmware" 4SUMMARY = "Freescale i.MX firmware"
5DESCRIPTION = "Freescale i.MX firmware such as for the VPU" 5DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
6 6
7require firmware-imx-${PV}.inc 7require ${BP}.inc
8 8
9PE = "1" 9PE = "1"
10 10
@@ -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 d28b23821..59ce30d03 100644
--- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb
@@ -1,4 +1,4 @@
1# Copyright 2020-2023 NXP 1# Copyright 2020-2024 NXP
2 2
3SUMMARY = "Wi-Fi firmware redistributed by NXP" 3SUMMARY = "Wi-Fi firmware redistributed by NXP"
4DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \ 4DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \
@@ -7,18 +7,18 @@ should be preferred."
7 7
8SECTION = "kernel" 8SECTION = "kernel"
9LICENSE = "Proprietary" 9LICENSE = "Proprietary"
10LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44a8052c384584ba09077e85a3d1654f" 10LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c0fb372b5d7f12181de23ef480f225f3"
11 11
12SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}" 12SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}"
13SRCBRANCH = "lf-6.6.3_1.0.0" 13SRCBRANCH = "lf-6.12.3_1.0.0"
14SRCREV = "2afa15e77f0b58eade42b4f59c9215339efcca66" 14SRCREV = "eef7ef94bc44cacd3b068f66658ef33391547daa"
15
16S = "${WORKDIR}/git"
17 15
18inherit allarch 16inherit allarch
19 17
20CLEANBROKEN = "1" 18CLEANBROKEN = "1"
21ALLOW_EMPTY:${PN} = "1" 19ALLOW_EMPTY:${PN} = "1"
20ALLOW_EMPTY:${PN}-all-sdio = "1"
21ALLOW_EMPTY:${PN}-all-pcie = "1"
22 22
23do_compile() { 23do_compile() {
24 : 24 :
@@ -44,7 +44,16 @@ do_install() {
44 44
45 oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp 45 oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp
46 46
47 # Upstream SDIO8997 and IW416 driver firmwares are located on mrvl folder
48 install -d ${D}${nonarch_base_libdir}/firmware/mrvl
49 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin
50 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin
47 51
52 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sd9098_wlan_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdio9098_wlan_v1.bin
53 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduart9098_combo_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart9098_combo_v1.bin
54 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sd8997_wlan_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdio8997_wlan_v4.bin
55 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin
56 ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sduartiw416_combo.bin ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin
48} 57}
49 58
50PACKAGES =+ " \ 59PACKAGES =+ " \
@@ -59,6 +68,7 @@ PACKAGES =+ " \
59 ${PN}-nxp9098-common \ 68 ${PN}-nxp9098-common \
60 ${PN}-nxp9098-sdio \ 69 ${PN}-nxp9098-sdio \
61 ${PN}-nxpiw416-sdio \ 70 ${PN}-nxpiw416-sdio \
71 ${PN}-nxpiw610-sdio \
62 ${PN}-nxpiw612-sdio \ 72 ${PN}-nxpiw612-sdio \
63" 73"
64 74
@@ -88,7 +98,7 @@ RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
88FILES:${PN}-nxp8997-common = " \ 98FILES:${PN}-nxp8997-common = " \
89 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \ 99 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \
90 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \ 100 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \
91 ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \ 101 ${nonarch_base_libdir}/firmware/nxp/uart8997_bt_v4.bin \
92" 102"
93RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common" 103RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common"
94RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" 104RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
@@ -104,7 +114,8 @@ RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
104RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" 114RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
105 115
106FILES:${PN}-nxp8997-sdio = " \ 116FILES:${PN}-nxp8997-sdio = " \
107 ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \ 117 ${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
118 ${nonarch_base_libdir}/firmware/nxp/sd*8997* \
108" 119"
109RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common" 120RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
110RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" 121RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
@@ -114,7 +125,7 @@ RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
114FILES:${PN}-nxp9098-common = " \ 125FILES:${PN}-nxp9098-common = " \
115 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \ 126 ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \
116 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \ 127 ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \
117 ${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin \ 128 ${nonarch_base_libdir}/firmware/nxp/uart9098_bt_v1.bin \
118" 129"
119RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common" 130RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common"
120RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" 131RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
@@ -130,7 +141,7 @@ RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
130RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" 141RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
131 142
132FILES:${PN}-nxp9098-sdio = " \ 143FILES:${PN}-nxp9098-sdio = " \
133 ${nonarch_base_libdir}/firmware/nxp/sdio*9098* \ 144 ${nonarch_base_libdir}/firmware/nxp/sd*9098* \
134" 145"
135RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common" 146RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
136RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 147RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
@@ -138,6 +149,7 @@ RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
138RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 149RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
139 150
140FILES:${PN}-nxpiw416-sdio = " \ 151FILES:${PN}-nxpiw416-sdio = " \
152 ${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin \
141 ${nonarch_base_libdir}/firmware/nxp/*iw416* \ 153 ${nonarch_base_libdir}/firmware/nxp/*iw416* \
142" 154"
143RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common" 155RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
@@ -145,15 +157,39 @@ RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
145RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" 157RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
146RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" 158RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
147 159
160FILES:${PN}-nxpiw610-sdio += " \
161 ${nonarch_base_libdir}/firmware/nxp/sd_iw610.bin.se \
162 ${nonarch_base_libdir}/firmware/nxp/sduart_iw610.bin.se \
163 ${nonarch_base_libdir}/firmware/nxp/uart_iw610_bt.bin.se \
164 ${nonarch_base_libdir}/firmware/nxp/uartspi_iw610.bin.se \
165"
166RDEPENDS:${PN}-nxpiw610-sdio += "${PN}-nxp-common"
167RPROVIDES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
168RREPLACES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
169RCONFLICTS:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
170
148FILES:${PN}-nxpiw612-sdio = " \ 171FILES:${PN}-nxpiw612-sdio = " \
149 ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \ 172 ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
150 ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \ 173 ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \
151 ${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \ 174 ${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \
152 ${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \ 175 ${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \
176 ${nonarch_base_libdir}/firmware/nxp/uartuart_n61x_v1.bin.se \
153" 177"
154RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common" 178RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common"
155RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 179RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
156RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 180RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
157RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 181RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
158 182
159COMPATIBLE_MACHINE = "(imx-generic-bsp)" 183RDEPENDS:${PN}-all-sdio = " \
184 ${PN}-nxp8801-sdio \
185 ${PN}-nxp8987-sdio \
186 ${PN}-nxp9098-sdio \
187 ${PN}-nxpiw416-sdio \
188 ${PN}-nxpiw610-sdio \
189 ${PN}-nxpiw612-sdio \
190"
191
192RDEPENDS:${PN}-all-pcie = " \
193 ${PN}-nxp8997-pcie \
194 ${PN}-nxp9098-pcie \
195"
diff --git a/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
index 9778bd1cf..7c5022761 100644
--- a/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
@@ -8,10 +8,9 @@ LICENSE = "BSD-3-Clause"
8LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444" 8LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444"
9 9
10SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz" 10SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz"
11SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6"
12SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b" 11SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
13 12
14S = "${WORKDIR}/sof-imx-${PV}" 13S = "${UNPACKDIR}/sof-imx-${PV}"
15 14
16inherit allarch 15inherit allarch
17 16
diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb
index 246198596..c35e31e07 100644
--- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2018-2023 NXP 1# Copyright (C) 2018-2024 NXP
2SUMMARY = "Freescale i.MX Firmware files used for boot" 2SUMMARY = "Freescale i.MX Firmware files used for boot"
3 3
4require firmware-imx-${PV}.inc 4require firmware-imx-${PV}.inc
diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
index 3a7660f86..2b5a9f50d 100644
--- a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
+++ b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
@@ -4,13 +4,12 @@ LICENSE = "Proprietary"
4SECTION = "BSP" 4SECTION = "BSP"
5LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de" 5LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
6 6
7SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
8 8
9S = "${WORKDIR}/${PN}-${PV}" 9S = "${UNPACKDIR}/${PN}-${PV}"
10 10
11inherit fsl-eula-unpack pkgconfig deploy 11inherit fsl-eula-unpack pkgconfig deploy
12 12
13SRC_URI[md5sum] = "65f28bd8ace3ce7116cb15685bfe1cd0"
14SRC_URI[sha256sum] = "1df3a03d69feb38a450ee63abc7713d78cf6339988476e4c9f95ebbf63790f66" 13SRC_URI[sha256sum] = "1df3a03d69feb38a450ee63abc7713d78cf6339988476e4c9f95ebbf63790f66"
15 14
16do_configure[noexec] = "1" 15do_configure[noexec] = "1"
diff --git a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
index 3883c0246..260b01001 100644
--- a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
+++ b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
@@ -8,8 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1"
9SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354" 9SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354"
10 10
11S = "${WORKDIR}/git"
12
13do_install() { 11do_install() {
14 install -d ${D}${sbindir}/fsl_tlu 12 install -d ${D}${sbindir}/fsl_tlu
15 find . -type f -exec cp {} ${D}${sbindir}/fsl_tlu/ \; 13 find . -type f -exec cp {} ${D}${sbindir}/fsl_tlu/ \;
diff --git a/recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch b/recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch
new file mode 100644
index 000000000..f475cf334
--- /dev/null
+++ b/recipes-bsp/imx-atf/imx-atf/0001-imx93-trdc-Fix-header-guard.patch
@@ -0,0 +1,35 @@
1From e82cafa7823cb2cad6ce933862b9ffdb880dba49 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Tue, 10 Jun 2025 15:04:32 -0700
4Subject: [PATCH] imx93: trdc: Fix header guard
5
6```
7| In file included from drivers/nxp/trdc/imx_trdc.c:13:
8| include/drivers/nxp/trdc/imx_trdc.h:7: error: header guard 'IMX_TRDC_H' followed by '#define' of a different macro [-Werror=header-guard]
9| 7 | #ifndef IMX_TRDC_H
10| include/drivers/nxp/trdc/imx_trdc.h:8: note: 'IMX_XRDC_H' is defined here; did you mean 'IMX_TRDC_H'?
11| 8 | #define IMX_XRDC_H
12```
13
14Upstream-Status: Submitted [https://github.com/nxp-imx/imx-atf/pull/2]
15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
16---
17 include/drivers/nxp/trdc/imx_trdc.h | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/include/drivers/nxp/trdc/imx_trdc.h b/include/drivers/nxp/trdc/imx_trdc.h
21index 7a6200c8d..8c759c65d 100644
22--- a/include/drivers/nxp/trdc/imx_trdc.h
23+++ b/include/drivers/nxp/trdc/imx_trdc.h
24@@ -5,7 +5,7 @@
25 */
26
27 #ifndef IMX_TRDC_H
28-#define IMX_XRDC_H
29+#define IMX_TRDC_H
30
31 #define MBC_BLK_ALL U(255)
32 #define MRC_REG_ALL U(16)
33--
342.34.1
35
diff --git a/recipes-bsp/imx-atf/imx-atf_2.8.bb b/recipes-bsp/imx-atf/imx-atf_2.10.bb
index 8bd6ad121..7448c28c5 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.8.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.10.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2017-2023 NXP 1# Copyright (C) 2017-2024 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.8" 11 file://0001-imx93-trdc-Fix-header-guard.patch"
12SRCREV = "8dbe28631802a51b3ec8179b2c5635b00393ad97" 12SRCBRANCH = "lf_v2.10"
13 13SRCREV = "78a14c75a06dea39036c44ae0f9d23acc7bcaef2"
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 d06ccfa10..a5df492d2 100644
--- a/recipes-bsp/imx-lib/imx-lib_git.bb
+++ b/recipes-bsp/imx-lib/imx-lib_git.bb
@@ -12,12 +12,11 @@ PE = "1"
12 12
13PV = "5.9+${SRCPV}" 13PV = "5.9+${SRCPV}"
14 14
15SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}" 15SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH} \
16SRCBRANCH = "lf-6.6.3_1.0.0" 16 file://0001-Fix-gcc-15-errors.patch"
17SRCBRANCH = "lf-6.12.3_1.0.0"
17SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547" 18SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547"
18 19
19S = "${WORKDIR}/git"
20
21inherit use-imx-headers 20inherit use-imx-headers
22 21
23PLATFORM:mx6q-nxp-bsp = "IMX6Q" 22PLATFORM:mx6q-nxp-bsp = "IMX6Q"
@@ -32,7 +31,7 @@ PLATFORM:mx7ulp-nxp-bsp = "IMX7"
32PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" 31PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
33PLATFORM:mx9-nxp-bsp = "IMX8ULP" 32PLATFORM:mx9-nxp-bsp = "IMX8ULP"
34 33
35PARALLEL_MAKE="-j 1" 34PARALLEL_MAKE = "-j 1"
36EXTRA_OEMAKE = "" 35EXTRA_OEMAKE = ""
37 36
38do_compile () { 37do_compile () {
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
index 7792b27bd..6b027eb75 100644
--- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2017-2020 NXP 1# Copyright (C) 2017-2024 NXP
2 2
3require imx-mkimage_git.inc 3require imx-mkimage_git.inc
4 4
@@ -7,7 +7,7 @@ LICENSE = "GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" 7LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
8SECTION = "BSP" 8SECTION = "BSP"
9 9
10inherit use-imx-security-controller-firmware uboot-sign 10inherit use-imx-security-controller-firmware uboot-config
11 11
12DEPENDS += " \ 12DEPENDS += " \
13 u-boot \ 13 u-boot \
@@ -18,14 +18,11 @@ DEPENDS += " \
18# xxd is a dependency of fspi_packer.sh 18# xxd is a dependency of fspi_packer.sh
19DEPENDS += "xxd-native" 19DEPENDS += "xxd-native"
20DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native" 20DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native"
21BOOT_NAME = "imx-boot" 21DEPENDS:append:mx93-generic-bsp = " u-boot-mkimage-native dtc-native"
22PROVIDES = "${BOOT_NAME}"
23 22
24inherit deploy uuu_bootloader_tag 23inherit deploy uuu_bootloader_tag
25 24
26UUU_BOOTLOADER = "${BOOT_NAME}" 25UUU_BOOTLOADER = "imx-boot"
27UUU_BOOTLOADER_TAGGED = "${BOOT_NAME}-tagged"
28UUU_BOOTLOADER_UNTAGGED = "${BOOT_NAME}-untagged"
29 26
30# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build 27# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build
31CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}" 28CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}"
@@ -41,14 +38,20 @@ do_compile[depends] += " \
41 38
42SC_FIRMWARE_NAME ?= "scfw_tcm.bin" 39SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
43 40
41OEI_ENABLE = "${@bb.utils.contains('DEPENDS', 'virtual/imx-oei', 'YES', 'NO', d)}"
42OEI_NAME ?= "oei-${OEI_CORE}-*.bin"
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"
50 52
51DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}" 53DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
54DEPLOY_OPTEE_STMM = "${@bb.utils.contains('MACHINE_FEATURES', 'optee stmm', 'true', 'false', d)}"
52 55
53IMXBOOT_TARGETS ?= \ 56IMXBOOT_TARGETS ?= \
54 "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ 57 "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
@@ -58,24 +61,32 @@ IMXBOOT_TARGETS ?= \
58BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}" 61BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
59BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M" 62BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M"
60BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX" 63BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX"
61BOOT_STAGING:mx91p-generic-bsp = "${S}/iMX91" 64BOOT_STAGING:mx91-generic-bsp = "${S}/iMX91"
62BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93" 65BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93"
66BOOT_STAGING:mx95-generic-bsp = "${S}/iMX95"
63 67
64SOC_FAMILY = "INVALID" 68SOC_FAMILY = "INVALID"
65SOC_FAMILY:mx8-generic-bsp = "mx8" 69SOC_FAMILY:mx8-generic-bsp = "mx8"
66SOC_FAMILY:mx8m-generic-bsp = "mx8m" 70SOC_FAMILY:mx8m-generic-bsp = "mx8m"
67SOC_FAMILY:mx8x-generic-bsp = "mx8x" 71SOC_FAMILY:mx8x-generic-bsp = "mx8x"
68SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp" 72SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp"
69SOC_FAMILY:mx91p-generic-bsp = "mx93" 73SOC_FAMILY:mx91-generic-bsp = "mx91"
70SOC_FAMILY:mx93-generic-bsp = "mx93" 74SOC_FAMILY:mx93-generic-bsp = "mx93"
75SOC_FAMILY:mx95-generic-bsp = "mx95"
71 76
72REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}" 77REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
73 78
74do_uboot_assemble_fitimage:prepend:imx-generic-bsp() { 79MKIMAGE_EXTRA_ARGS ?= ""
75 for config in ${UBOOT_MACHINE}; do 80MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp ?= " \
76 mkdir -p ${B}/${config} 81 OEI=${OEI_ENABLE} \
77 done 82 LPDDR_TYPE=${DDR_TYPE} \
78} 83 ${@'LPDDR_FW_VERSION='+d.getVar('LPDDR_FW_VERSION') if d.getVar('LPDDR_FW_VERSION') else ''} \
84 ${@bb.utils.contains('SYSTEM_MANAGER_CONFIG', 'mx95alt', 'MSEL=1', '', d)}"
85MKIMAGE_EXTRA_ARGS:imx95-19x19-verdin ?= " \
86 ${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \
87 QSPI_HEADER=./scripts/fspi_header_133"
88
89UBOOT_DTB_BINARY ?= "u-boot.dtb"
79 90
80compile_mx8m() { 91compile_mx8m() {
81 bbnote 8MQ/8MM/8MN/8MP boot binary build 92 bbnote 8MQ/8MM/8MN/8MP boot binary build
@@ -91,9 +102,13 @@ compile_mx8m() {
91 102
92 if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then 103 if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
93 # Use DTB binary patched with signature node 104 # Use DTB binary patched with signature node
94 cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA} 105 cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA}
95 else 106 else
96 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING} 107 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} \
108 ${BOOT_STAGING}
109 fi
110 if [ "${UBOOT_DTB_NAME_EXTRA}" != "${UBOOT_DTB_NAME}" ] ; then
111 ln -sf ${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}/${UBOOT_DTB_NAME}
97 fi 112 fi
98 113
99 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} \
@@ -101,9 +116,10 @@ compile_mx8m() {
101 116
102 cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin 117 cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
103 118
104 cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin 119 cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
105 120
106} 121}
122
107compile_mx8() { 123compile_mx8() {
108 bbnote 8QM boot binary build 124 bbnote 8QM boot binary build
109 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin 125 cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
@@ -140,6 +156,11 @@ compile_mx8ulp() {
140 fi 156 fi
141} 157}
142 158
159compile_mx91() {
160 bbnote i.MX 91 boot binary build
161 compile_mx93
162}
163
143compile_mx93() { 164compile_mx93() {
144 bbnote i.MX 93 boot binary build 165 bbnote i.MX 93 boot binary build
145 for ddr_firmware in ${DDR_FIRMWARE_NAME}; do 166 for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
@@ -156,13 +177,30 @@ compile_mx93() {
156 fi 177 fi
157} 178}
158 179
180compile_mx95() {
181 bbnote i.MX 95 boot binary build
182 compile_mx93
183
184 cp ${DEPLOY_DIR_IMAGE}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin \
185 ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin
186}
187
159do_compile() { 188do_compile() {
160 # mkimage for i.MX8 189 # mkimage for i.MX8
161 # Copy TEE binary to SoC target folder to mkimage 190 # Copy TEE binary to SoC target folder to mkimage
162 if ${DEPLOY_OPTEE}; then 191 if ${DEPLOY_OPTEE}; then
163 cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING} 192 cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
193 if ${DEPLOY_OPTEE_STMM}; then
194 # Copy tee.bin to tee.bin-stmm
195 cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}/tee.bin-stmm
196 fi
164 fi 197 fi
165 for type in ${UBOOT_CONFIG}; do 198 # Copy OEI firmware to SoC target folder to mkimage
199 if [ "${OEI_ENABLE}" = "YES" ]; then
200 cp ${DEPLOY_DIR_IMAGE}/${OEI_NAME} ${BOOT_STAGING}
201 fi
202
203 for type in ${UBOOT_CONFIG}; do
166 if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then 204 if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then
167 UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" 205 UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
168 else 206 else
@@ -185,18 +223,30 @@ do_compile() {
185 UBOOT_DTB_NAME_EXTRA="${dtb_name}" 223 UBOOT_DTB_NAME_EXTRA="${dtb_name}"
186 fi 224 fi
187 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" 225 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
188 BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 226 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
189 227
190 for target in ${IMXBOOT_TARGETS}; do 228 for target in ${IMXBOOT_TARGETS}; do
191 compile_${SOC_FAMILY} 229 compile_${SOC_FAMILY}
192 if [ "$target" = "flash_linux_m4_no_v2x" ]; then 230 case $target in
231 *no_v2x)
193 # Special target build for i.MX 8DXL with V2X off 232 # Special target build for i.MX 8DXL with V2X off
194 bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}" 233 bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}"
195 make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4 234 make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4
196 else 235 ;;
197 bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${target}" 236 *stmm_capsule)
198 make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} dtbs=${UBOOT_DTB_NAME_EXTRA} ${target} 237 # target for flash_evk_stmm_capsule or
199 fi 238 # flash_singleboot_stmm_capsule
239 cp ${RECIPE_SYSROOT_NATIVE}/${bindir}/mkeficapsule ${BOOT_STAGING}
240 bbnote "building ${IMX_BOOT_SOC_TARGET} - TEE=tee.bin-stmm ${target}"
241 cp ${DEPLOY_DIR_IMAGE}/CRT.* ${BOOT_STAGING}
242 make SOC=${IMX_BOOT_SOC_TARGET} TEE=tee.bin-stmm dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target}
243 ;;
244 *)
245 bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} ${target}"
246 make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} dtbs=${UBOOT_DTB_NAME} ${target}
247 ;;
248 esac
249
200 if [ -e "${BOOT_STAGING}/flash.bin" ]; then 250 if [ -e "${BOOT_STAGING}/flash.bin" ]; then
201 cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} 251 cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target}
202 fi 252 fi
@@ -224,7 +274,7 @@ do_install () {
224 bbnote "UBOOT_CONFIG = $type" 274 bbnote "UBOOT_CONFIG = $type"
225 275
226 UBOOT_CONFIG_EXTRA="$type" 276 UBOOT_CONFIG_EXTRA="$type"
227 BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 277 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
228 278
229 for target in ${IMXBOOT_TARGETS}; do 279 for target in ${IMXBOOT_TARGETS}; do
230 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/ 280 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/
@@ -279,6 +329,10 @@ deploy_mx8ulp() {
279 fi 329 fi
280} 330}
281 331
332deploy_mx91() {
333 deploy_mx93
334}
335
282deploy_mx93() { 336deploy_mx93() {
283 install -d ${DEPLOYDIR}/${BOOT_TOOLS} 337 install -d ${DEPLOYDIR}/${BOOT_TOOLS}
284 338
@@ -294,6 +348,12 @@ deploy_mx93() {
294 fi 348 fi
295} 349}
296 350
351deploy_mx95() {
352 deploy_mx93
353 install -m 0644 ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
354 ${DEPLOYDIR}/${BOOT_TOOLS}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin
355}
356
297do_deploy() { 357do_deploy() {
298 deploy_${SOC_FAMILY} 358 deploy_${SOC_FAMILY}
299 359
@@ -301,13 +361,27 @@ do_deploy() {
301 if ${DEPLOY_OPTEE}; then 361 if ${DEPLOY_OPTEE}; then
302 install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS} 362 install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
303 fi 363 fi
364
365 # copy oei to deploy path
366 if [ "${OEI_ENABLE}" = "YES" ]; then
367 install -m 0644 ${BOOT_STAGING}/${OEI_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
368 fi
369
304 # copy makefile (soc.mak) for reference 370 # copy makefile (soc.mak) for reference
305 install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS} 371 install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
306 372
373 # copy stmm files to deploy path
374 if ${DEPLOY_OPTEE_STMM}; then
375 install -m 0644 ${BOOT_STAGING}/tee.bin-stmm ${DEPLOYDIR}/${BOOT_TOOLS}
376 install -m 0644 ${BOOT_STAGING}/capsule1.bin ${DEPLOYDIR}/${BOOT_TOOLS}
377 install -m 0644 ${BOOT_STAGING}/CRT.* ${DEPLOYDIR}/${BOOT_TOOLS}
378 install -m 0755 ${BOOT_STAGING}/mkeficapsule ${DEPLOYDIR}/${BOOT_TOOLS}
379 fi
380
307 for type in ${UBOOT_CONFIG}; do 381 for type in ${UBOOT_CONFIG}; do
308 UBOOT_CONFIG_EXTRA="$type" 382 UBOOT_CONFIG_EXTRA="$type"
309 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" 383 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
310 BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 384 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
311 385
312 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
313 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} \
@@ -326,9 +400,9 @@ do_deploy() {
326 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${DEPLOYDIR} 400 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${DEPLOYDIR}
327 done 401 done
328 402
329 # The first UBOOT_CONFIG listed will be the ${BOOT_NAME} binary 403 # The first UBOOT_CONFIG listed will be the imx-boot binary
330 if [ ! -f "${DEPLOYDIR}/${UUU_BOOTLOADER}" ]; then 404 if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then
331 ln -sf ${BOOT_CONFIG_MACHINE_EXTRA}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME} 405 ln -sf ${BOOT_CONFIG_MACHINE_EXTRA}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/imx-boot
332 else 406 else
333 bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type" 407 bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type"
334 fi 408 fi
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index fb3df750a..3389b5b5e 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -1,14 +1,12 @@
1# Copyright 2017-2022 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.3_1.0.0" 8SRCBRANCH = "lf-6.12.3_1.0.0"
9SRCREV = "cbb99377cc2bb8f7cf213794c030e1c60423ef1f" 9SRCREV = "9e60b1f7a87a6397cf8db10e07293075f489e974"
10
11S = "${WORKDIR}/git"
12 10
13BOOT_TOOLS = "imx-boot-tools" 11BOOT_TOOLS = "imx-boot-tools"
14SYSROOT_DIRS += "/boot" 12SYSROOT_DIRS += "/boot"
diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb
index 7dc2e593e..42e8f6e19 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.18.0.bb
@@ -1,17 +1,18 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2022 NXP 2# Copyright (C) 2017-2024 NXP
3 3
4DESCRIPTION = "i.MX System Controller Firmware" 4DESCRIPTION = "i.MX System Controller Firmware"
5LICENSE = "Proprietary" 5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" 6LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
7SECTION = "BSP" 7SECTION = "BSP"
8 8
9inherit fsl-eula-unpack pkgconfig deploy 9inherit fsl-eula-unpack pkgconfig deploy
10 10
11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
12SRC_URI[sha256sum] = "392f1e5cdf1c8d7ed75409a2c46b00a332ace677f0e2700b587fe9ae800a1ff3"
13IMX_SRCREV_ABBREV = "654907b"
12 14
13SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f" 15S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
14SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
15 16
16BOARD_TYPE ?= "mek" 17BOARD_TYPE ?= "mek"
17SC_FIRMWARE_NAME ?= "INVALID" 18SC_FIRMWARE_NAME ?= "INVALID"
@@ -24,6 +25,9 @@ symlink_name = "scfw_tcm.bin"
24 25
25BOOT_TOOLS = "imx-boot-tools" 26BOOT_TOOLS = "imx-boot-tools"
26 27
28LDFLAGS:remove = "-fuse-ld=lld"
29LDFLAGS:append = " -fuse-ld=bfd"
30
27do_compile[noexec] = "1" 31do_compile[noexec] = "1"
28 32
29do_install[noexec] = "1" 33do_install[noexec] = "1"
@@ -38,8 +42,4 @@ INHIBIT_PACKAGE_STRIP = "1"
38INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 42INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
39PACKAGE_ARCH = "${MACHINE_ARCH}" 43PACKAGE_ARCH = "${MACHINE_ARCH}"
40 44
41LDFLAGS:remove = "-fuse-ld=lld"
42
43DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
44
45COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)" 45COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
index b0296e977..fe366aacb 100644
--- a/recipes-bsp/imx-seco/imx-seco-libs_git.bb
+++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
@@ -8,20 +8,18 @@ LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011"
8 8
9DEPENDS = "zlib" 9DEPENDS = "zlib"
10 10
11SRCBRANCH = "imx_5.4.70_2.3.11" 11SRCBRANCH = "lf-6.6.3_1.0.0"
12SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \ 12SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \
13 file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \ 13 file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \
14 file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \ 14 file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \
15 file://0001-add-v2x_test-to-the-installed-binaries.patch \ 15 file://0001-add-v2x_test-to-the-installed-binaries.patch \
16 file://0001-Fix-return-value-of-void-functions.patch" 16 file://0001-Fix-return-value-of-void-functions.patch"
17SRCREV = "aa8d62900c41cc779c11fe4e6f58b40c3c9f82f0" 17SRCREV = "273553f207425f773400be7a7f3a7c425d892d6f"
18
19S = "${WORKDIR}/git"
20 18
21TARGET_CC_ARCH += "${LDFLAGS}" 19TARGET_CC_ARCH += "${LDFLAGS}"
22 20
23do_install () { 21do_install () {
24 oe_runmake DESTDIR=${D} BINDIR=${bindir} LIBDIR=${libdir} install 22 oe_runmake DESTDIR=${D} BINDIR=${bindir} LIBDIR=${libdir} install
25} 23}
26 24
27COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)" 25COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco_5.9.0.bb b/recipes-bsp/imx-seco/imx-seco_5.9.4.1.bb
index f7dadea57..2710297d6 100644
--- a/recipes-bsp/imx-seco/imx-seco_5.9.0.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=5a0bf11f745e68024f37b4724a5364fe" 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] = "b722a534c4d3cc90270e05eaa812514d" 13SRC_URI[sha256sum] = "bd8dc01966076836aabff53f2463295294166595006e1db430db21b6ffa6b667"
14SRC_URI[sha256sum] = "c3bd761f457e939035b01a0ab36e79064a2a1bc6c3cdb3cd847f7f38df0964df" 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
new file mode 100644
index 000000000..525824f79
--- /dev/null
+++ b/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
@@ -0,0 +1,29 @@
1SUMMARY = "NXP i.MX Secure Enclave Userspace Library"
2DESCRIPTION = "NXP i.MX Secure Enclave Userspace Library"
3SECTION = "base"
4
5LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=8636bd68fc00cc6a3809b7b58b45f982"
7
8DEPENDS = "openssl"
9
10inherit systemd
11
12SRC_URI = "git://github.com/NXP/imx-secure-enclave.git;protocol=https;branch=lf-6.6.52_2.2.0"
13SRCREV = "dffbb844e86f4a49058ffbb40548474059969c27"
14
15PV = "lf-6.6.52_2.2.0"
16
17EXTRA_OEMAKE += "PLAT=ele"
18
19TARGET_CC_ARCH += "${LDFLAGS}"
20
21do_install () {
22 oe_runmake DESTDIR=${D} install
23 rm -rf ${D}/usr/share
24}
25
26SYSTEMD_AUTO_ENABLE = "disable"
27SYSTEMD_SERVICE:${PN} = "nvm_daemon.service"
28
29COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-bsp/imx-test/imx-test_git.bb b/recipes-bsp/imx-test/imx-test_git.bb
index 930cdf949..46a00d4fc 100644
--- a/recipes-bsp/imx-test/imx-test_git.bb
+++ b/recipes-bsp/imx-test/imx-test_git.bb
@@ -20,10 +20,8 @@ PV = "7.0+${SRCPV}"
20 20
21SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \ 21SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
22 file://memtool_profile" 22 file://memtool_profile"
23SRCBRANCH = "lf-6.6.3_1.0.0" 23SRCBRANCH = "lf-6.12.3_1.0.0"
24SRCREV = "8a1fa37664a1e470cf86f1185c08e265e4602a9b" 24SRCREV = "92a497313016bfa536d561e13fcbad2d273ded4c"
25
26S = "${WORKDIR}/git"
27 25
28inherit module-base use-imx-headers 26inherit module-base use-imx-headers
29 27
@@ -40,6 +38,7 @@ PLATFORM:mx7d-nxp-bsp = "IMX7D"
40PLATFORM:mx7ulp-nxp-bsp = "IMX7D" 38PLATFORM:mx7ulp-nxp-bsp = "IMX7D"
41PLATFORM:mx8-nxp-bsp = "IMX8" 39PLATFORM:mx8-nxp-bsp = "IMX8"
42PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" 40PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
41PLATFORM:mx91-nxp-bsp = "IMX8"
43PLATFORM:mx93-nxp-bsp = "IMX8ULP" 42PLATFORM:mx93-nxp-bsp = "IMX8ULP"
44PLATFORM:mx95-nxp-bsp = "IMX8" 43PLATFORM:mx95-nxp-bsp = "IMX8"
45 44
@@ -73,11 +72,11 @@ do_install() {
73 PLATFORM=${PLATFORM} \ 72 PLATFORM=${PLATFORM} \
74 install 73 install
75 74
76 if [ -e ${WORKDIR}/clocks.sh ]; then 75 if [ -e ${UNPACKDIR}/clocks.sh ]; then
77 install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh 76 install -m 755 ${UNPACKDIR}/clocks.sh ${D}/unit_tests/clocks.sh
78 fi 77 fi
79 install -d -m 0755 ${D}${ROOT_HOME}/ 78 install -d -m 0755 ${D}${ROOT_HOME}/
80 install -m 0644 ${WORKDIR}/memtool_profile ${D}${ROOT_HOME}/.profile 79 install -m 0644 ${UNPACKDIR}/memtool_profile ${D}${ROOT_HOME}/.profile
81} 80}
82 81
83FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile" 82FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile"
diff --git a/recipes-bsp/imx-uuc/imx-uuc_git.bb b/recipes-bsp/imx-uuc/imx-uuc_git.bb
index 49fc15581..d373e27e3 100644
--- a/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -6,15 +6,15 @@ DEPENDS = "virtual/kernel dosfstools-native"
6LICENSE = "GPL-2.0-only" 6LICENSE = "GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
8 8
9inherit autotools-brokensep
10
11PR = "r1" 9PR = "r1"
12PV = "0.5.1+git${SRCPV}" 10PV = "0.5.1+git${SRCPV}"
13 11
14SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master" 12SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
15SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83" 13SRCREV = "25f65e10368aa07056f9536e88ed911ac7f38f99"
16 14
17S = "${WORKDIR}/git" 15do_install() {
16 oe_runmake 'DESTDIR=${D}' install
17}
18 18
19FILES:${PN} += "/linuxrc /fat" 19FILES:${PN} += "/linuxrc /fat"
20 20
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch
new file mode 100644
index 000000000..8d017ab71
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch
@@ -0,0 +1,39 @@
1From e7f6097c9e7cb30f130502cc4804e1a1b01342de Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 16:13:38 +0000
4Subject: [PATCH] base_type.h: make header compatible with c23
5
6With C23 bool, true and false are built in keywords and cannot be
7redefined.
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 usr/include/hantro_VC8000E_enc/base_type.h | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/usr/include/hantro_VC8000E_enc/base_type.h b/usr/include/hantro_VC8000E_enc/base_type.h
16index 282fc81b8eba..af4212eed2bd 100755
17--- a/usr/include/hantro_VC8000E_enc/base_type.h
18+++ b/usr/include/hantro_VC8000E_enc/base_type.h
19@@ -67,6 +67,9 @@ typedef unsigned int UInt;
20 #define HANTRO_FALSE 0
21 #define HANTRO_TRUE 1
22
23+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
24+/* bool, true and false are keywords. */
25+#else
26 #ifndef bool
27 typedef enum
28 {
29@@ -74,6 +77,7 @@ typedef enum
30 true = HANTRO_TRUE
31 } bool;
32 #endif
33+#endif
34
35 enum
36 {
37--
382.42.0
39
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb
index 26ebf1816..68c2a4979 100644
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb
@@ -2,16 +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=5a0bf11f745e68024f37b4724a5364fe" 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[md5sum] = "192b354d1c21836dc7338606e60b45ae" 17S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
14SRC_URI[sha256sum] = "62b5ba3c4aab21d0d4be3eee9b204a9bb50b83b6140ee1a3b27c648809bdfbaa"
15 18
16# 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
17# 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.6.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb
index f603190be..940b9fa41 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb
@@ -6,9 +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[md5sum] = "23997361dab3054e5a3757a15d33db16" 10IMX_SRCREV_ABBREV = "3200e68"
11SRC_URI[sha256sum] = "ac2b60fb754792eedcfdfc8cf59663cfeaedc402857eff13ac97a911d2c65801" 11
12SRC_URI[sha256sum] = "e7806a92d4a5ab51b76d9edef5175a95625c4ac3cab467fe1519bb0ce16e6535"
13
14S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
12 15
13PLATFORM:mx8mm-nxp-bsp = "IMX8MM" 16PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
14PLATFORM: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.28.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
deleted file mode 100644
index 0757a7fb5..000000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1# Copyright (C) 2017-2020 NXP
2
3DESCRIPTION = "i.MX Hantro VPU library"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
6
7PROVIDES = "virtual/imxvpu"
8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
10SRC_URI[md5sum] = "81b4eb801349a0c198b7cc43eb8b6097"
11SRC_URI[sha256sum] = "e868e12945b4f217e2e0511fdc2587875d6c9124e8673b67f1e7de367ff5012f"
12
13inherit fsl-eula-unpack use-imx-headers
14
15PARALLEL_MAKE="-j 1"
16
17PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
18PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
19PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
20
21EXTRA_OEMAKE = " \
22 CROSS_COMPILE="${HOST_PREFIX}" \
23 SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
24 PLATFORM="${PLATFORM}" \
25"
26
27do_install () {
28 oe_runmake install DEST_DIR="${D}"
29}
30
31FILES:${PN} += "/unit_tests"
32
33RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
34
35PACKAGE_ARCH = "${MACHINE_SOCARCH}"
36COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
new file mode 100644
index 000000000..d766e0191
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
@@ -0,0 +1,49 @@
1# Copyright (C) 2017-2020 NXP
2
3DESCRIPTION = "i.MX Hantro VPU library"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6
7PROVIDES = "virtual/imxvpu"
8
9SRC_URI = " \
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}"
19
20inherit fsl-eula-unpack use-imx-headers
21
22PARALLEL_MAKE = "-j 1"
23
24PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
25PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
26PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
27
28#| ../../source/h264high/h264decapi.c:1803:22: error: assignment to 'const u8 *' {aka 'const unsigned char *'} from incompatible pointer type 'u32 *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
29#| 1803 | ref_data = ref.virtual_address;
30#| ../../source/h264high/h264decapi.c:2086:22: error: assignment to 'const u8 *' {aka 'const unsigned char *'} from incompatible pointer type 'u32 *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
31#| 2086 | ref_data = ref.virtual_address;
32
33CFLAGS += " -Wno-error=incompatible-pointer-types"
34EXTRA_OEMAKE = " \
35 CROSS_COMPILE="${HOST_PREFIX}" \
36 SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
37 PLATFORM="${PLATFORM}" \
38"
39
40do_install () {
41 oe_runmake install DEST_DIR="${D}"
42}
43
44FILES:${PN} += "/unit_tests"
45
46RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
47
48PACKAGE_ARCH = "${MACHINE_SOCARCH}"
49COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
index 553f39930..fc90cdab7 100644
--- a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
+++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
@@ -11,7 +11,6 @@ PROVIDES = "virtual/imxvpu"
11PE = "1" 11PE = "1"
12 12
13SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 13SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
14SRC_URI[md5sum] = "6d6302189a6704874375afe62a65def0"
15SRC_URI[sha256sum] = "87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127" 14SRC_URI[sha256sum] = "87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127"
16 15
17inherit fsl-eula-unpack use-imx-headers 16inherit fsl-eula-unpack use-imx-headers
diff --git a/recipes-bsp/inphi/inphi_git.bb b/recipes-bsp/inphi/inphi_git.bb
index 4deacb581..5c2e4197f 100644
--- a/recipes-bsp/inphi/inphi_git.bb
+++ b/recipes-bsp/inphi/inphi_git.bb
@@ -7,8 +7,6 @@ inherit deploy
7SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https" 7SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https"
8SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695" 8SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695"
9 9
10S = "${WORKDIR}/git"
11
12do_install () { 10do_install () {
13 install -d ${D}/boot 11 install -d ${D}/boot
14 cp -fr ${S}/in112525-phy-ucode.txt ${D}/boot 12 cp -fr ${S}/in112525-phy-ucode.txt ${D}/boot
diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb
index 0ab440748..aebb28bb7 100644
--- a/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
+++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.25.1.bb
@@ -1,17 +1,23 @@
1# Copyright 2020-2023 NXP 1# Copyright (C) 2020-2024 NXP
2 2
3DESCRIPTION = "Basler camera binary drivers" 3DESCRIPTION = "Basler camera binary drivers"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7" 5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6
7IMX_SRCREV_ABBREV = "d1f506a"
6 8
7inherit fsl-eula-unpack 9inherit fsl-eula-unpack
8 10
9SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
12
13SRC_URI[sha256sum] = "49d1b3691d18e2ba5f43a6e2c59ac16767b6e077a118cafec7f51293d6bf30f3"
14
15S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
10 16
11SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71" 17do_compile[noexec] = "1"
12SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
13 18
14do_install() { 19do_install() {
20 oe_runmake install INSTALL_DIR=${D}
15 dest_dir=${D}/opt/imx8-isp/bin 21 dest_dir=${D}/opt/imx8-isp/bin
16 install -d ${D}/${libdir} 22 install -d ${D}/${libdir}
17 install -d $dest_dir 23 install -d $dest_dir
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
deleted file mode 100644
index 3f04000cf..000000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 15aae364fb52df30e4a49e73e2048fdc633e6868 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Sun, 8 Oct 2023 09:15:54 -0300
4Subject: [PATCH] cpp-netlib: parsers.ipp: add missing include
5
6With the update to boost from 1.82.0 -> 1.83.0 we now get compiler errors:
7
8| .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:58:3: error: 'u8_to_u32_iterator' was not declared in this scope
9
10Add the missing explicit include. Before the file was indirectly included from qi.hpp:
11
12| In file included from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/regex/pending/unicode_iterator.hpp:27,
13| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/utf8.hpp:15,
14| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/info.hpp:17,
15| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/domain.hpp:16,
16| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/meta_compiler.hpp:15,
17| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action/action.hpp:14,
18| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action.hpp:14,
19| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi.hpp:14,
20| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/include/qi.hpp:16,
21| from .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:5,
22
23Upstream-Status: Pending
24
25Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
26---
27 .../boost/network/protocol/http/server/impl/parsers.ipp | 1 +
28 1 file changed, 1 insertion(+)
29
30diff --git a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
31index c31e60e..2b83fbe 100755
32--- a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
33+++ b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
34@@ -13,6 +13,7 @@
35 #include <tuple>
36 #include <boost/fusion/include/std_tuple.hpp>
37 #include <boost/network/protocol/http/message/header.hpp>
38+#include <boost/regex/pending/unicode_iterator.hpp>
39
40 #ifdef BOOST_NETWORK_NO_LIB
41 #ifndef BOOST_NETWORK_INLINE
42--
432.35.3
44
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
deleted file mode 100644
index 9e0f02656..000000000
--- a/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
+++ /dev/null
@@ -1,105 +0,0 @@
1# Copyright 2020-2023 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
6DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 patchelf-native"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/${BP}.bin;fsl-eula=true \
10 file://0001-cpp-netlib-parsers.ipp-add-missing-include.patch \
11"
12
13SRC_URI[sha256sum] = "34b23f5b9f0856a8f5722e339a7ad4ccf4d99614788598306ff8b20093c1e846"
14
15inherit fsl-eula-unpack cmake systemd use-imx-headers
16
17# Build the sub-folder appshell
18OECMAKE_SOURCEPATH = "${S}/appshell"
19
20# Use make instead of ninja
21OECMAKE_GENERATOR = "Unix Makefiles"
22
23# Workaround for linking issues seen with gold linker
24LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
25
26SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
27
28EXTRA_OECMAKE += " \
29 -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
30 -DCMAKE_BUILD_TYPE=release \
31 -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
32 -DCMAKE_INSTALL_LIBDIR=${libdir} \
33 -DISP_VERSION=ISP8000NANO_V1802 \
34 -DPLATFORM=ARM64 \
35 -DAPPMODE=V4L2 \
36 -DTUNINGEXT=1 \
37 -DQTLESS=1 \
38 -DFULL_SRC_COMPILE=1 \
39 -DWITH_DRM=1 \
40 -DWITH_DWE=1 \
41 -DSERVER_LESS=1 \
42 -DSUBDEV_V4L2=1 \
43 -DENABLE_IRQ=1 \
44 -DPARTITION_BUILD=0 \
45 -D3A_SRC_BUILD=0 \
46 -DIMX_G2D=ON \
47 -Wno-dev \
48"
49
50do_configure:prepend () {
51 # FIXME: Should be rebuild.
52 patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/units/cam_device/proprietories/lib/libcam_device.so
53 patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/mediacontrol/lib/arm-64/fpga/libcam_device.so
54}
55
56do_install() {
57 # FIXME: provided by the basler-camera package, do not install them here additionally
58 rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
59
60 install -d ${D}/${libdir}
61 install -d ${D}/${includedir}
62 install -d ${D}/opt/imx8-isp/bin
63 install -d ${D}/opt/imx8-isp/bin/dewarp_config
64
65 cp -r ${B}/generated/release/bin/*_test ${D}/opt/imx8-isp/bin
66 cp -r ${B}/generated/release/bin/*.xml ${D}/opt/imx8-isp/bin
67 cp -r ${B}/generated/release/bin/*.drv ${D}/opt/imx8-isp/bin
68 cp -r ${B}/generated/release/bin/tuningext ${D}/opt/imx8-isp/bin
69 cp -r ${B}/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin
70 cp -r ${B}/generated/release/bin/vvext ${D}/opt/imx8-isp/bin
71
72 cp -r ${B}/generated/release/lib/*.so* ${D}/${libdir}
73 cp -r ${B}/generated/release/include/* ${D}/${includedir}
74
75 cp -r ${S}/dewarp/dewarp_config/ ${D}/opt/imx8-isp/bin
76 cp ${S}/imx/run.sh ${D}/opt/imx8-isp/bin
77 cp ${S}/imx/start_isp.sh ${D}/opt/imx8-isp/bin
78
79 chmod +x ${D}/opt/imx8-isp/bin/run.sh
80 chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh
81
82 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
83 install -d ${D}${systemd_system_unitdir}
84 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
85 fi
86}
87
88# The build contains a mix of versioned and unversioned libraries, so
89# the default packaging configuration needs some modification so that
90# unversioned .so libraries go to the main package and versioned .so
91# symlinks go to -dev.
92FILES_SOLIBSDEV = ""
93FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
94FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
95FILES_SOLIBS_VERSIONED = " \
96 ${libdir}/libcppnetlib-client-connections.so \
97 ${libdir}/libcppnetlib-server-parsers.so \
98 ${libdir}/libcppnetlib-uri.so \
99 ${libdir}/libjsoncpp.so \
100 ${libdir}/libos08a20.so \
101"
102
103RDEPENDS:${PN} = "libdrm"
104
105COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
new file mode 100644
index 000000000..28ab57b74
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
@@ -0,0 +1,99 @@
1# Copyright (C) 2020-2024 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 jsoncpp patchelf-native"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
10"
11IMX_SRCREV_ABBREV = "327f21d"
12S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
13
14SRC_URI[sha256sum] = "f57c6fe1c2dd1c8e5991a625d0b3a1dbfdfe6d39a1a116a904d543faa0f4f6f0"
15
16inherit fsl-eula-unpack cmake systemd use-imx-headers
17
18PACKAGECONFIG = ""
19# Note: building with tuningext fails with boost 1.87.
20# (update to 1.87 with walnascar)
21PACKAGECONFIG[tuningext] = "-DTUNINGEXT=1,-DTUNINGEXT=0"
22
23# Build the sub-folder appshell
24OECMAKE_SOURCEPATH = "${S}/appshell"
25
26# Use make instead of ninja
27OECMAKE_GENERATOR = "Unix Makefiles"
28
29# Workaround for linking issues seen with gold linker
30LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
31
32SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
33
34EXTRA_OECMAKE += " \
35 -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
36 -DCMAKE_BUILD_TYPE=release \
37 -DISP_VERSION=ISP8000NANO_V1802 \
38 -DPLATFORM=ARM64 \
39 -DTUNINGEXT=1 \
40 -DQTLESS=1 \
41 -DFULL_SRC_COMPILE=1 \
42 -DWITH_DRM=1 \
43 -DWITH_DWE=1 \
44 -DSUBDEV_V4L2=1 \
45 -DPARTITION_BUILD=0 \
46 -D3A_SRC_BUILD=0 \
47 -DIMX_G2D=ON \
48 -Wno-dev \
49"
50
51do_configure:prepend () {
52 # FIXME: should be rebuild.
53 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/bin/isp_media_server
54 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/lib/libmedia_server.so
55 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/tuningext/install/tuningext
56
57 # FIXME: Should be rebuild.
58 patchelf --replace-needed libtinyxml2.so.10 libtinyxml2.so.11 ${S}/appshell/shell_libs/ispcore/ARM64/libcam_device.so
59}
60
61do_install() {
62 # FIXME: provided by the basler-camera package, do not install them here additionally
63 rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
64
65 # The Makefile unconditionally installs tuningext even if it is not built
66 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
67 touch ${B}/generated/release/bin/tuningext
68 fi
69
70 oe_runmake -f ${S}/Makefile install INSTALL_DIR=${D} SOURCE_DIR=${S}
71
72 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
73 rm ${D}/opt/imx8-isp/bin/tuningext
74 fi
75
76 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
77 install -d ${D}${systemd_system_unitdir}
78 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
79 fi
80
81}
82
83# The build contains a mix of versioned and unversioned libraries, so
84# the default packaging configuration needs some modification so that
85# unversioned .so libraries go to the main package and versioned .so
86# symlinks go to -dev.
87FILES_SOLIBSDEV = ""
88FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
89FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
90FILES_SOLIBS_VERSIONED = " \
91 ${libdir}/libcppnetlib-client-connections.so \
92 ${libdir}/libcppnetlib-server-parsers.so \
93 ${libdir}/libcppnetlib-uri.so \
94 ${libdir}/libos08a20.so \
95"
96
97RDEPENDS:${PN} = "libdrm"
98
99COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
index b160c31db..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
@@ -82,7 +81,7 @@ PACKAGECONFIG[dma-heap-uncached] = "--with-dma-heap-allocator=yes ${UNCACHED_DMA
82# Using do_install_ptest_base instead of do_install_ptest, since 81# Using do_install_ptest_base instead of do_install_ptest, since
83# the default do_install_ptest_base is hardcoded to expect Makefiles. 82# the default do_install_ptest_base is hardcoded to expect Makefiles.
84do_install_ptest_base() { 83do_install_ptest_base() {
85 install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest 84 install -D ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
86 install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH} 85 install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
87} 86}
88 87
diff --git a/recipes-bsp/ls2-phy/ls2-phy_git.bb b/recipes-bsp/ls2-phy/ls2-phy_git.bb
index c13a05a19..60ab5e183 100644
--- a/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -7,8 +7,6 @@ inherit deploy
7SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https" 7SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https"
8SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf" 8SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf"
9 9
10S = "${WORKDIR}/git"
11
12do_install () { 10do_install () {
13 install -d ${D}/boot 11 install -d ${D}/boot
14 cp -fr ${S}/* ${D}/boot 12 cp -fr ${S}/* ${D}/boot
diff --git a/recipes-bsp/mc-utils/mc-utils_git.bb b/recipes-bsp/mc-utils/mc-utils_git.bb
index 568096c44..9e9f8d409 100644
--- a/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -8,9 +8,7 @@ DEPENDS += "dtc-native"
8inherit deploy 8inherit deploy
9 9
10SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1" 10SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1"
11SRCREV = "8efeeac253ff780cbf1382ff40e09436d65e220d" 11SRCREV = "5ccc2688b72c4a05119a393cbe3573b5f81d10bc"
12
13S = "${WORKDIR}/git"
14 12
15MC_CFG ?= "" 13MC_CFG ?= ""
16MC_CFG:ls1088a = "ls1088a" 14MC_CFG:ls1088a = "ls1088a"
diff --git a/recipes-bsp/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb
index 17da814f8..9fc6338c4 100644
--- a/recipes-bsp/mxsldr/mxsldr_git.bb
+++ b/recipes-bsp/mxsldr/mxsldr_git.bb
@@ -13,8 +13,6 @@ SRC_URI = "git://git.denx.de/mxsldr.git;branch=master \
13 13
14PV = "0.0.0+git${SRCPV}" 14PV = "0.0.0+git${SRCPV}"
15 15
16S = "${WORKDIR}/git"
17
18inherit pkgconfig 16inherit pkgconfig
19 17
20do_compile() { 18do_compile() {
diff --git a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
index bb542e8c0..ddbb2031c 100644
--- a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
+++ b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
@@ -10,8 +10,6 @@ inherit deploy
10SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https" 10SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https"
11SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234" 11SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234"
12 12
13S = "${WORKDIR}/git"
14
15do_install () { 13do_install () {
16 install -d ${D}${nonarch_base_libdir}/firmware 14 install -d ${D}${nonarch_base_libdir}/firmware
17 install -d ${D}/boot/engine-pfe-bin 15 install -d ${D}/boot/engine-pfe-bin
diff --git a/recipes-bsp/qe-ucode/qe-ucode_git.bb b/recipes-bsp/qe-ucode/qe-ucode_git.bb
index 33648d1e2..582fb1e46 100644
--- a/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -1,14 +1,12 @@
1DESCRIPTION = "qe microcode binary" 1DESCRIPTION = "qe microcode binary"
2SECTION = "qe-ucode" 2SECTION = "qe-ucode"
3LICENSE = "NXP-Binary-EULA" 3LICENSE = "NXP-Binary-EULA"
4LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=c62f8109b4df15ca37ceeb5e4943626c" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=c62f8109b4df15ca37ceeb5e4943626c"
5 5
6inherit deploy 6inherit deploy
7 7
8SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https" 8SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https"
9SRCREV= "57401f6dff6507055558eaa6838116baa8a2fd46" 9SRCREV = "c89d7843943fd3bd52aa5f1ff7a91200a2f7f63b"
10
11S = "${WORKDIR}/git"
12 10
13do_install () { 11do_install () {
14 install -d ${D}/boot 12 install -d ${D}/boot
diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
index 5721313b2..b73dd9753 100644
--- a/recipes-bsp/rcw/rcw_git.bb
+++ b/recipes-bsp/rcw/rcw_git.bb
@@ -8,17 +8,15 @@ DEPENDS += "tcl-native"
8inherit deploy siteinfo 8inherit deploy siteinfo
9 9
10SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1" 10SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
11SRCREV = "020dcf0645959afec6705f518e8350476891ef4f" 11SRCREV = "64abe70cf0abab053c37db460c12e367e6adf7a4"
12
13S = "${WORKDIR}/git"
14 12
15export PYTHON = "${USRBINPATH}/python3" 13export PYTHON = "${USRBINPATH}/python3"
16 14
17M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}" 15M = "${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
18 16
19BOARD_TARGETS="${M}" 17BOARD_TARGETS = "${M}"
20BOARD_TARGETS:ls2088ardb="${M} ${M}_rev1.1" 18BOARD_TARGETS:ls2088ardb = "${M} ${M}_rev1.1"
21BOARD_TARGETS:ls1088ardb-pb="ls1088ardb" 19BOARD_TARGETS:ls1088ardb-pb = "ls1088ardb"
22BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2" 20BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2"
23BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2" 21BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2"
24 22
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc
index b270dfd74..9cc6b958d 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.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 = "1a2bdc16b79a6f9c31829ede1bbf4063ccea6e54" 13SRCREV = "aa4bc52d08c342df83e3c576e2c108d7c8816e0e"
14SRCBRANCH = "2024.04+fslc" 14SRCBRANCH = "2025.01+fslc"
15 15
16PV = "2024.04+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.04.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.04.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb
index eba8876aa..4dc698219 100644
--- a/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb
@@ -6,8 +6,6 @@ order to provide support for some backported features and fixes, or because it \
6was submitted for revision and it takes some time to become part of a stable \ 6was submitted for revision and it takes some time to become part of a stable \
7version, or because it is not applicable for upstreaming." 7version, or because it is not applicable for upstreaming."
8 8
9inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
10
11DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" 9DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
12 10
13PROVIDES += "u-boot u-boot-mfgtool" 11PROVIDES += "u-boot u-boot-mfgtool"
@@ -21,5 +19,8 @@ EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
21 HOSTLDFLAGS="${BUILD_LDFLAGS}" \ 19 HOSTLDFLAGS="${BUILD_LDFLAGS}" \
22 HOSTSTRIP=true' 20 HOSTSTRIP=true'
23 21
22inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
23inherit uuu_bootloader_tag
24
24PACKAGE_ARCH = "${MACHINE_ARCH}" 25PACKAGE_ARCH = "${MACHINE_ARCH}"
25COMPATIBLE_MACHINE = "(imx-generic-bsp)" 26COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
index e23235627..9640ba1de 100644
--- a/recipes-bsp/u-boot/u-boot-imx-common_2023.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}"
7SRCBRANCH = "lf_v2023.04" 7UBOOT_SRC ?= "git://github.com/nxp-imx/uboot-imx.git;protocol=https"
8LOCALVERSION ?= "-imx_v2023.04_6.6.3-1.0.0" 8SRCBRANCH = "lf_v2024.04"
9SRCREV = "f8a2983ec83afd43731d905b4ff0ffd57b57f2f0" 9LOCALVERSION ?= "-${SRCBRANCH}"
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_2023.04.bb b/recipes-bsp/u-boot/u-boot-imx_2024.04.bb
index 0e7c467b9..695987801 100644
--- a/recipes-bsp/u-boot/u-boot-imx_2023.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-2023 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
@@ -9,15 +9,12 @@ PROVIDES += "u-boot u-boot-mfgtool"
9 9
10inherit uuu_bootloader_tag 10inherit uuu_bootloader_tag
11 11
12UUU_BOOTLOADER = "" 12# The UUU tag goes on the boot partition. For 8+, the boot partition image
13UUU_BOOTLOADER:mx6-generic-bsp = "${UBOOT_BINARY}" 13# is imx-boot, so disable UUU-tagging here
14UUU_BOOTLOADER:mx7-generic-bsp = "${UBOOT_BINARY}" 14UUU_BOOTLOADER:mx8-generic-bsp = ""
15UUU_BOOTLOADER_TAGGED = "" 15UUU_BOOTLOADER:mx9-generic-bsp = ""
16UUU_BOOTLOADER_TAGGED:mx6-generic-bsp = "u-boot-tagged.${UBOOT_SUFFIX}" 16
17UUU_BOOTLOADER_TAGGED:mx7-generic-bsp = "u-boot-tagged.${UBOOT_SUFFIX}" 17TOOLCHAIN_OPTIONS:append = " -Wno-error=implicit-function-declaration"
18UUU_BOOTLOADER_UNTAGGED = ""
19UUU_BOOTLOADER_UNTAGGED:mx6-generic-bsp = "u-boot-untagged.${UBOOT_SUFFIX}"
20UUU_BOOTLOADER_UNTAGGED:mx7-generic-bsp = "u-boot-untagged.${UBOOT_SUFFIX}"
21 18
22do_deploy:append:mx8m-generic-bsp() { 19do_deploy:append:mx8m-generic-bsp() {
23 # 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
@@ -57,6 +54,14 @@ do_deploy:append:mx8m-generic-bsp() {
57 done 54 done
58 unset i 55 unset i
59 fi 56 fi
57
58 # Deploy CRT.* from u-boot for stmm
59 install -m 0644 ${S}/CRT.* ${DEPLOYDIR}
60}
61
62do_deploy:append:mx93-generic-bsp() {
63 # Deploy CRT.* from u-boot for stmm
64 install -m 0644 ${S}/CRT.* ${DEPLOYDIR}
60} 65}
61 66
62PACKAGE_ARCH = "${MACHINE_ARCH}" 67PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
index c46eae331..c765cd2d7 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
@@ -15,9 +15,8 @@ LIC_FILES_CHKSUM = " \
15" 15"
16 16
17SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1" 17SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
18SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477" 18SRCREV = "1c0116f3da250c5a52858c53efb8b38c0963f477"
19 19
20S = "${WORKDIR}/git"
21B = "${WORKDIR}/build" 20B = "${WORKDIR}/build"
22PV:append = "+fslgit" 21PV:append = "+fslgit"
23LOCALVERSION = "+fsl" 22LOCALVERSION = "+fsl"
diff --git a/recipes-bsp/uefi/uefi_git.bb b/recipes-bsp/uefi/uefi_git.bb
index b001a325c..c0222a817 100644
--- a/recipes-bsp/uefi/uefi_git.bb
+++ b/recipes-bsp/uefi/uefi_git.bb
@@ -6,9 +6,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
6inherit deploy 6inherit deploy
7 7
8SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https" 8SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https"
9SRCREV = "15deb924ff063007592ee647602dd454353f5aee" 9SRCREV = "55789d536850e00c6f2284fb28eaf21712cd276b"
10
11S = "${WORKDIR}/git"
12 10
13do_install () { 11do_install () {
14 if [ -d ${B}/${MACHINE} ]; then 12 if [ -d ${B}/${MACHINE} ]; then
diff --git a/recipes-core/udev/udev-rules-imx.bb b/recipes-core/udev/udev-rules-imx.bb
index 163f28350..57aff9bc8 100644
--- a/recipes-core/udev/udev-rules-imx.bb
+++ b/recipes-core/udev/udev-rules-imx.bb
@@ -4,9 +4,9 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
4 4
5SRC_URI = " file://10-imx.rules" 5SRC_URI = " file://10-imx.rules"
6 6
7S = "${WORKDIR}" 7S = "${UNPACKDIR}"
8 8
9do_install () { 9do_install () {
10 install -d ${D}${sysconfdir}/udev/rules.d 10 install -D -m 0644 ${UNPACKDIR}/10-imx.rules \
11 install -m 0644 ${WORKDIR}/10-imx.rules ${D}${sysconfdir}/udev/rules.d/ 11 ${D}${sysconfdir}/udev/rules.d/10-imx.rules
12} 12}
diff --git a/recipes-core/udev/udev-rules-qoriq.bb b/recipes-core/udev/udev-rules-qoriq.bb
index 1200527c7..792c32343 100644
--- a/recipes-core/udev/udev-rules-qoriq.bb
+++ b/recipes-core/udev/udev-rules-qoriq.bb
@@ -9,7 +9,6 @@ SRC_URI = "\
9 file://74-ls1046a-xfi2-networking.rules \ 9 file://74-ls1046a-xfi2-networking.rules \
10 file://73-fsl-enetc-networking.rules \ 10 file://73-fsl-enetc-networking.rules \
11" 11"
12S = "${WORKDIR}"
13 12
14RULE = "71-fsl-dpaa-persistent-networking.rules" 13RULE = "71-fsl-dpaa-persistent-networking.rules"
15RULE:e6500 = "72-fsl-dpaa-persistent-networking.rules" 14RULE:e6500 = "72-fsl-dpaa-persistent-networking.rules"
@@ -26,7 +25,7 @@ RULE:ls1012a = ""
26do_install () { 25do_install () {
27 install -d ${D}${sysconfdir}/udev/rules.d/ 26 install -d ${D}${sysconfdir}/udev/rules.d/
28 for r in ${RULE};do 27 for r in ${RULE};do
29 install -m 0644 ${WORKDIR}/${r} ${D}${sysconfdir}/udev/rules.d/ 28 install -m 0644 ${UNPACKDIR}/${r} ${D}${sysconfdir}/udev/rules.d/
30 done 29 done
31} 30}
32 31
diff --git a/recipes-devtools/devregs/devregs_git.bb b/recipes-devtools/devregs/devregs_git.bb
index f24cb0f6e..9d2155e1f 100644
--- a/recipes-devtools/devregs/devregs_git.bb
+++ b/recipes-devtools/devregs/devregs_git.bb
@@ -8,6 +8,4 @@ SRC_URI = "git://github.com/boundarydevices/devregs.git;protocol=https;branch=ma
8 8
9PV = "1.0+${SRCPV}" 9PV = "1.0+${SRCPV}"
10 10
11S = "${WORKDIR}/git"
12
13inherit autotools 11inherit autotools
diff --git a/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb b/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
index deffd8539..c14fd955b 100644
--- a/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
+++ b/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/boundarydevices/imx_usb_loader.git;protocol=https;br
10 10
11PV = "1.0+${SRCPV}" 11PV = "1.0+${SRCPV}"
12 12
13S = "${WORKDIR}/git"
14
15do_install () { 13do_install () {
16 oe_runmake DESTDIR=${D} install 14 oe_runmake DESTDIR=${D} install
17} 15}
diff --git a/recipes-devtools/qemu/qemu-qoriq_4.2.bb b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
index 5ac774ed2..20ba6b535 100644
--- a/recipes-devtools/qemu/qemu-qoriq_4.2.bb
+++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
@@ -17,8 +17,6 @@ SRC_URI = "gitsm://github.com/nxp-qoriq/qemu;protocol=https;nobranch=1 \
17 17
18SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b" 18SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b"
19 19
20S = "${WORKDIR}/git"
21
22python() { 20python() {
23 d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', '')) 21 d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', ''))
24 pkgs = d.getVar('PACKAGES').split() 22 pkgs = d.getVar('PACKAGES').split()
diff --git a/recipes-devtools/qemu/qemu.inc b/recipes-devtools/qemu/qemu.inc
index b8b5f318f..60686bde8 100644
--- a/recipes-devtools/qemu/qemu.inc
+++ b/recipes-devtools/qemu/qemu.inc
@@ -97,7 +97,7 @@ EXTRA_OECONF = " \
97 ${PACKAGECONFIG_CONFARGS} \ 97 ${PACKAGECONFIG_CONFARGS} \
98 " 98 "
99 99
100export LIBTOOL="${HOST_SYS}-libtool" 100export LIBTOOL = "${HOST_SYS}-libtool"
101 101
102B = "${WORKDIR}/build" 102B = "${WORKDIR}/build"
103 103
diff --git a/recipes-devtools/qoriq-cst/qoriq-cst_git.bb b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
index 8d3458363..95bf4eb64 100644
--- a/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
+++ b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "utility for security boot"
2SECTION = "cst" 2SECTION = "cst"
3LICENSE = "BSD-3-Clause" 3LICENSE = "BSD-3-Clause"
4 4
5LIC_FILES_CHKSUM = "file://COPYING;md5=e959d5d617e33779d0e90ce1d9043eff" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=e959d5d617e33779d0e90ce1d9043eff"
6 6
7DEPENDS += "openssl qoriq-cst-native" 7DEPENDS += "openssl qoriq-cst-native"
8RDEPENDS:${PN} = "bash" 8RDEPENDS:${PN} = "bash"
@@ -19,9 +19,7 @@ inherit kernel-arch
19SRC_URI = "git://github.com/nxp-qoriq/cst;protocol=https;nobranch=1 \ 19SRC_URI = "git://github.com/nxp-qoriq/cst;protocol=https;nobranch=1 \
20 file://0001-tools-Mark-struct-input_field-file_field-extern.patch \ 20 file://0001-tools-Mark-struct-input_field-file_field-extern.patch \
21" 21"
22SRCREV = "af56e6c5c66dd2bc86a83b0bee8cb61b88d2120c" 22SRCREV = "e96dead3c339f6addb1600249be67e1884cdbcc5"
23
24S = "${WORKDIR}/git"
25 23
26EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"' 24EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
27CFLAGS:append = ' -Wno-deprecated-declarations' 25CFLAGS:append = ' -Wno-deprecated-declarations'
diff --git a/recipes-devtools/utp-com/utp-com_git.bb b/recipes-devtools/utp-com/utp-com_git.bb
index 85c80acbd..364c91bcc 100644
--- a/recipes-devtools/utp-com/utp-com_git.bb
+++ b/recipes-devtools/utp-com/utp-com_git.bb
@@ -11,8 +11,6 @@ SRC_URI = " \
11 11
12PV = "1.0+git${SRCPV}" 12PV = "1.0+git${SRCPV}"
13 13
14S = "${WORKDIR}/git"
15
16do_configure[noexec] = "1" 14do_configure[noexec] = "1"
17 15
18do_compile () { 16do_compile () {
diff --git a/recipes-devtools/uuu/uuu-bin_1.5.165.bb b/recipes-devtools/uuu/uuu-bin_1.5.165.bb
index 2b5feda10..61c3927ca 100644
--- a/recipes-devtools/uuu/uuu-bin_1.5.165.bb
+++ b/recipes-devtools/uuu/uuu-bin_1.5.165.bb
@@ -19,14 +19,12 @@ SRC_URI[Linux.sha256sum] = "f863bba022202361d19e5026be0af408d307f78d2dbf2c139fb7
19SRC_URI[Mac.sha256sum] = "62da0bd7e333931fba100823aa50133621c7e6047be0546bc12e29c0ea78a4d8" 19SRC_URI[Mac.sha256sum] = "62da0bd7e333931fba100823aa50133621c7e6047be0546bc12e29c0ea78a4d8"
20SRC_URI[Windows.sha256sum] = "013ed8bb45e21b971b6b3a5802c5f154733913714bece0b020cb770a809cd206" 20SRC_URI[Windows.sha256sum] = "013ed8bb45e21b971b6b3a5802c5f154733913714bece0b020cb770a809cd206"
21 21
22S = "${WORKDIR}"
23
24inherit allarch 22inherit allarch
25 23
26do_install() { 24do_install() {
27 install -D -m 0755 ${WORKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu 25 install -D -m 0755 ${UNPACKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu
28 install -D -m 0755 ${WORKDIR}/uuu-${PV}_mac ${D}${libdir}/uuu/uuu_mac 26 install -D -m 0755 ${UNPACKDIR}/uuu-${PV}_mac ${D}${libdir}/uuu/uuu_mac
29 install -D -m 0644 ${WORKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe 27 install -D -m 0644 ${UNPACKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe
30} 28}
31 29
32# HACK! We are not aiming to run those binaries during the build but copy then for MFGTOOL bundle. 30# 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..c242c1911 100644
--- a/recipes-devtools/uuu/uuu_git.bb
+++ b/recipes-devtools/uuu/uuu_git.bb
@@ -11,8 +11,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5"
11 11
12inherit cmake pkgconfig 12inherit cmake pkgconfig
13 13
14S = "${WORKDIR}/git"
15
16DEPENDS = "libusb zlib bzip2 openssl zstd libtinyxml2" 14DEPENDS = "libusb zlib bzip2 openssl zstd libtinyxml2"
17 15
18BBCLASSEXTEND = "native nativesdk" 16BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb b/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb
index 945f0879f..caaf2cd38 100644
--- a/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb
+++ b/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb
@@ -4,15 +4,15 @@ HOMEPAGE = "https://www.khronos.org/registry/spir-v"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
6 6
7SRCREV = "124a9665e464ef98b8b718d572d5f329311061eb" 7SRCREV = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3"
8SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main" 8SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main"
9PE = "1" 9PE = "1"
10# These recipes need to be updated in lockstep with each other: 10# These recipes need to be updated in lockstep with each other:
11# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 11# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
12# vulkan-validation-layers, vulkan-utility-libraries.
12# The tags versions should always be sdk-x.y.z, as this is what 13# The tags versions should always be sdk-x.y.z, as this is what
13# upstream considers a release. 14# upstream considers a release.
14UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 15UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
15S = "${WORKDIR}/git"
16 16
17inherit cmake 17inherit cmake
18 18
diff --git a/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb b/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb
index 690428829..6b0c0a3f7 100644
--- a/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb
+++ b/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb
@@ -7,15 +7,15 @@ SECTION = "graphics"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
9 9
10SRCREV = "e553b884c7c9febaa4e52334f683641fb5f196a0" 10SRCREV = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc"
11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https" 11SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https"
12PE = "1" 12PE = "1"
13# These recipes need to be updated in lockstep with each other: 13# These recipes need to be updated in lockstep with each other:
14# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 14# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
15# vulkan-validation-layers, vulkan-utility-libraries.
15# The tags versions should always be sdk-x.y.z, as this is what 16# The tags versions should always be sdk-x.y.z, as this is what
16# upstream considers a release. 17# upstream considers a release.
17UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 18UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
18S = "${WORKDIR}/git"
19 19
20inherit cmake 20inherit cmake
21 21
diff --git a/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb
index 01eb14b9f..24630d0db 100644
--- a/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb
@@ -11,9 +11,7 @@ LICENSE = "Apache-2.0 & MIT"
11LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625" 11LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" 12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
13 13
14SRCREV = "85c2334e92e215cce34e8e0ed8b2dce4700f4a50" 14SRCREV = "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40"
15
16S = "${WORKDIR}/git"
17 15
18inherit cmake 16inherit cmake
19 17
@@ -21,7 +19,8 @@ FILES:${PN} += "${datadir}/vulkan"
21RDEPENDS:${PN} += "python3-core" 19RDEPENDS:${PN} += "python3-core"
22 20
23# These recipes need to be updated in lockstep with each other: 21# These recipes need to be updated in lockstep with each other:
24# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 22# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
23# vulkan-validation-layers, vulkan-utility-libraries.
25# The tags versions should always be sdk-x.y.z, as this is what 24# The tags versions should always be sdk-x.y.z, as this is what
26# upstream considers a release. 25# upstream considers a release.
27UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 26UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb
index 01cbeafa3..089b46b34 100644
--- a/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb
@@ -9,10 +9,8 @@ SECTION = "libs"
9 9
10LICENSE = "Apache-2.0" 10LICENSE = "Apache-2.0"
11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" 11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=main;protocol=https" 12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.275;protocol=https"
13SRCREV = "afdd025ead2b63b2c73d900ab128a2d3b512cdf0" 13SRCREV = "00893b9a03e526aec2c5bf487521d16dfa435229"
14
15S = "${WORKDIR}/git"
16 14
17REQUIRED_DISTRO_FEATURES = "vulkan" 15REQUIRED_DISTRO_FEATURES = "vulkan"
18 16
@@ -36,7 +34,8 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU
36RRECOMMENDS:${PN} = "mesa-vulkan-drivers" 34RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
37 35
38# These recipes need to be updated in lockstep with each other: 36# These recipes need to be updated in lockstep with each other:
39# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 37# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
38# vulkan-validation-layers, vulkan-utility-libraries.
40# The tags versions should always be sdk-x.y.z, as this is what 39# The tags versions should always be sdk-x.y.z, as this is what
41# upstream considers a release. 40# upstream considers a release.
42UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 41UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb
index 7a7edc9eb..f5fe8523d 100644
--- a/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb
@@ -7,15 +7,13 @@ SECTION = "libs"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" 8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https" 9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https"
10SRCREV = "a7da7027ca9fd0901639f02619c226da9c6036f1" 10SRCREV = "c86d42cf9eb620eeac377e3bff46ae342c5cd664"
11
12S = "${WORKDIR}/git"
13 11
14inherit cmake features_check pkgconfig 12inherit cmake features_check pkgconfig
15ANY_OF_DISTRO_FEATURES = "x11 wayland" 13ANY_OF_DISTRO_FEATURES = "x11 wayland"
16REQUIRED_DISTRO_FEATURES = "vulkan" 14REQUIRED_DISTRO_FEATURES = "vulkan"
17 15
18DEPENDS += "vulkan-headers vulkan-loader" 16DEPENDS += "vulkan-headers vulkan-loader vulkan-volk"
19 17
20EXTRA_OECMAKE = "\ 18EXTRA_OECMAKE = "\
21 -DBUILD_TESTS=OFF \ 19 -DBUILD_TESTS=OFF \
@@ -31,6 +29,7 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU
31 29
32# These recipes need to be updated in lockstep with each other: 30# These recipes need to be updated in lockstep with each other:
33# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools 31# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools
32# vulkan-validation-layers, vulkan-utility-libraries.
34# The tags versions should always be sdk-x.y.z, as this is what 33# The tags versions should always be sdk-x.y.z, as this is what
35# upstream considers a release. 34# upstream considers a release.
36UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 35UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb
index 1e2a0aced..3068dd184 100644
--- a/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb
+++ b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb
@@ -8,14 +8,12 @@ SECTION = "libs"
8LICENSE = "Apache-2.0 & MIT" 8LICENSE = "Apache-2.0 & MIT"
9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f" 9LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"
10 10
11SRC_URI = "git://git@github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=sdk-1.3.261;protocol=https" 11SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.275;protocol=https"
12SRCREV = "628cd310bef6d54b4e6b25b5ac2ed013473409d6" 12SRCREV = "780c65337e111c7385109c7b720d757a778e4fe2"
13
14S = "${WORKDIR}/git"
15 13
16REQUIRED_DISTRO_FEATURES = "vulkan" 14REQUIRED_DISTRO_FEATURES = "vulkan"
17 15
18DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang" 16DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries"
19 17
20# BUILD_TESTS - Not required for OE builds 18# BUILD_TESTS - Not required for OE builds
21# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms. 19# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms.
@@ -42,7 +40,8 @@ FILES_SOLIBSDEV = ""
42 40
43# These recipes need to be updated in lockstep with each other: 41# These recipes need to be updated in lockstep with each other:
44# glslang, vulkan-headers, vulkan-loader, vulkan-tools, 42# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
45# vulkan-validation-layers, spirv-headers, spirv-tools 43# vulkan-validation-layers, spirv-headers, spirv-tools,
44# vulkan-utility-libraries.
46# The tags versions should always be sdk-x.y.z, as this is what 45# The tags versions should always be sdk-x.y.z, as this is what
47# upstream considers a release. 46# upstream considers a release.
48UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" 47UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-dpaa/eth-config/eth-config_git.bb b/recipes-dpaa/eth-config/eth-config_git.bb
index aee2e2348..858442aff 100644
--- a/recipes-dpaa/eth-config/eth-config_git.bb
+++ b/recipes-dpaa/eth-config/eth-config_git.bb
@@ -8,8 +8,6 @@ PR = "r2"
8SRC_URI = "git://github.com/nxp-qoriq/eth-config;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/eth-config;protocol=https;nobranch=1"
9SRCREV = "00fa9c6db5813735676b30b1516e30a460d61b28" 9SRCREV = "00fa9c6db5813735676b30b1516e30a460d61b28"
10 10
11S = "${WORKDIR}/git"
12
13EXTRA_OEMAKE = "D=${D}" 11EXTRA_OEMAKE = "D=${D}"
14 12
15do_install() { 13do_install() {
diff --git a/recipes-dpaa/flib/flib_git.bb b/recipes-dpaa/flib/flib_git.bb
index f1ebd87f0..b7eafe627 100644
--- a/recipes-dpaa/flib/flib_git.bb
+++ b/recipes-dpaa/flib/flib_git.bb
@@ -6,8 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9f6d1afdf6b0f6b3ba65c25ba589ee53"
6SRC_URI = "git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1" 6SRC_URI = "git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1"
7SRCREV = "cbb31427466649c07d2ac2739a41bb42f5f6be7c" 7SRCREV = "cbb31427466649c07d2ac2739a41bb42f5f6be7c"
8 8
9S = "${WORKDIR}/git"
10
11do_install(){ 9do_install(){
12 oe_runmake install DESTDIR=${D} 10 oe_runmake install DESTDIR=${D}
13} 11}
diff --git a/recipes-dpaa/fm-ucode/fm-ucode_git.bb b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
index 22f04d012..77305958d 100644
--- a/recipes-dpaa/fm-ucode/fm-ucode_git.bb
+++ b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
@@ -10,8 +10,6 @@ inherit deploy
10SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;nobranch=1;protocol=https" 10SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;nobranch=1;protocol=https"
11SRCREV = "41d603a1ad78e0bb61365500828d9f484bf9bf10" 11SRCREV = "41d603a1ad78e0bb61365500828d9f484bf9bf10"
12 12
13S = "${WORKDIR}/git"
14
15REGLEX ?= "${MACHINE}" 13REGLEX ?= "${MACHINE}"
16REGLEX:t1023 = "t1024" 14REGLEX:t1023 = "t1024"
17REGLEX:t1040 = "t1040" 15REGLEX:t1040 = "t1040"
diff --git a/recipes-dpaa/fmlib/fmlib_git.bb b/recipes-dpaa/fmlib/fmlib_git.bb
index 71ad3df1f..02790d47b 100644
--- a/recipes-dpaa/fmlib/fmlib_git.bb
+++ b/recipes-dpaa/fmlib/fmlib_git.bb
@@ -8,8 +8,6 @@ PR = "r1"
8SRC_URI = "git://github.com/nxp-qoriq/fmlib;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/fmlib;protocol=https;nobranch=1"
9SRCREV = "9fb916f255214013aa6003496c47bab0b5add2d9" 9SRCREV = "9fb916f255214013aa6003496c47bab0b5add2d9"
10 10
11S = "${WORKDIR}/git"
12
13CFLAGS += "-fmacro-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1 \ 11CFLAGS += "-fmacro-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1 \
14 -fdebug-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1" 12 -fdebug-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1"
15 13
diff --git a/recipes-dpaa2/aiopsl/aiopsl_git.bb b/recipes-dpaa2/aiopsl/aiopsl_git.bb
index 68f7a8ded..b57e33afd 100644
--- a/recipes-dpaa2/aiopsl/aiopsl_git.bb
+++ b/recipes-dpaa2/aiopsl/aiopsl_git.bb
@@ -5,8 +5,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=faf479bdc4702d8033049f97e153f876"
5 5
6BASEDEPENDS = "" 6BASEDEPENDS = ""
7 7
8S = "${WORKDIR}/git"
9
10SRC_URI = "git://github.com/nxp-qoriq/aiopsl;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/aiopsl;protocol=https;nobranch=1"
11SRCREV = "87d83d8e99770325cc7ad9e10965c9959e7cb828" 9SRCREV = "87d83d8e99770325cc7ad9e10965c9959e7cb828"
12 10
diff --git a/recipes-dpaa2/dce/dce_git.bb b/recipes-dpaa2/dce/dce_git.bb
index 7c0ec2706..219050b00 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -7,13 +7,11 @@ SRC_URI = "git://github.com/nxp-qoriq/dce;protocol=https;nobranch=1 \
7 git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/lib/qbman_userspace \ 7 git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/lib/qbman_userspace \
8 file://0001-support-user-merge.patch \ 8 file://0001-support-user-merge.patch \
9" 9"
10SRCREV = "9db9c08379aa89f45f514f4f3f0a8e8212198758" 10SRCREV = "88ef2e8c3845532ee64cea4349fd38fb2bd5f807"
11SRCREV_qbman = "2f92993a9f34e5221d6b36c63b9e30ef703e9ac3" 11SRCREV_qbman = "2f92993a9f34e5221d6b36c63b9e30ef703e9ac3"
12 12
13SRCREV_FORMAT = "default_qbman" 13SRCREV_FORMAT = "default_qbman"
14 14
15S = "${WORKDIR}/git"
16
17EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' 15EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
18 16
19do_install () { 17do_install () {
diff --git a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
index 303aa8ff6..853dda9d7 100644
--- a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
@@ -3,8 +3,8 @@ on an AIOP Tile using MC interfaces. This application enables the user to \
3fetch status of tile, load a valid ELF file and run it on a tile and get and set \ 3fetch status of tile, load a valid ELF file and run it on a tile and get and set \
4time of day." 4time of day."
5SECTION = "dpaa2" 5SECTION = "dpaa2"
6LICENSE = "BSD" 6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987" 7LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
8 8
9SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \ 9SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \
10 file://0001-remove-libio.h.patch \ 10 file://0001-remove-libio.h.patch \
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \
12" 12"
13SRCREV = "6ead470dde043f3ca67f1ba19b313dd64ec199e1" 13SRCREV = "6ead470dde043f3ca67f1ba19b313dd64ec199e1"
14 14
15S = "${WORKDIR}/git"
16
17TARGET_CC_ARCH += "${LDFLAGS}" 15TARGET_CC_ARCH += "${LDFLAGS}"
18 16
19EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}" KERNEL_PATH="${STAGING_KERNEL_DIR}"' 17EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}" KERNEL_PATH="${STAGING_KERNEL_DIR}"'
diff --git a/recipes-dpaa2/management-complex/management-complex_10.37.0.bb b/recipes-dpaa2/management-complex/management-complex_10.39.0.bb
index d18771590..3b5ae98ed 100644
--- a/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
+++ b/recipes-dpaa2/management-complex/management-complex_10.39.0.bb
@@ -1,17 +1,16 @@
1SUMMARY = "DPAA2 Management Complex Firmware" 1SUMMARY = "DPAA2 Management Complex Firmware"
2LICENSE = "NXP-Binary-EULA" 2LICENSE = "NXP-Binary-EULA"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=481d6288552113961a835bbabceb0c33" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=0701845051a61f6012009d7d6d11b32b"
4 4
5inherit deploy 5inherit deploy
6 6
7INHIBIT_DEFAULT_DEPS = "1" 7INHIBIT_DEFAULT_DEPS = "1"
8 8
9SRC_URI = "git://github.com/nxp/qoriq-mc-binary;protocol=https;nobranch=1" 9SRC_URI = "git://github.com/nxp/qoriq-mc-binary;protocol=https;nobranch=1"
10SRCREV = "bb19f586b87b97878b4bd0d3e57da2ca40c5c69f" 10SRCREV = "7d82686272f8a60b803818bbc7c5396819ee3b06"
11
12S = "${WORKDIR}/git"
13 11
14REGLEX:ls2088a = "ls2088a" 12REGLEX:ls2088a = "ls2088a"
13REGLEX:ls2080a = "ls2080a"
15REGLEX:ls1088a = "ls1088a" 14REGLEX:ls1088a = "ls1088a"
16REGLEX:lx2160a = "lx216xa" 15REGLEX:lx2160a = "lx216xa"
17REGLEX:lx2162a = "lx216xa" 16REGLEX:lx2162a = "lx216xa"
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 1d1aeffe2..0ea40ec69 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -1,13 +1,11 @@
1SUMMARY = "DPAA2 Resource Manager Tool" 1SUMMARY = "DPAA2 Resource Manager Tool"
2LICENSE = "BSD-3-Clause | GPL-2.0-or-later" 2LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=ec8d84e9cd4de287e290275d09db27f0" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=83af78c71766dd5fb1c1c3dd64a75ee7"
4 4
5SRC_URI = "git://github.com/nxp-qoriq/restool;protocol=https;nobranch=1 \ 5SRC_URI = "git://github.com/nxp-qoriq/restool;protocol=https;nobranch=1 \
6 file://disable-manpage-generation.patch \ 6 file://disable-manpage-generation.patch \
7" 7"
8SRCREV = "46604e41f4c7e54efa62503c6b4629321b21e056" 8SRCREV = "8c45e04363bf2a984a87b24d1dac80a286dd40d8"
9
10S = "${WORKDIR}/git"
11 9
12inherit bash-completion 10inherit bash-completion
13 11
diff --git a/recipes-dpaa2/spc/spc_git.bb b/recipes-dpaa2/spc/spc_git.bb
index 2c695368e..93630a20c 100644
--- a/recipes-dpaa2/spc/spc_git.bb
+++ b/recipes-dpaa2/spc/spc_git.bb
@@ -5,9 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=163b09a1c249a6ff2b28da1ceca2e0a8"
5DEPENDS = "libxml2 fmlib tclap" 5DEPENDS = "libxml2 fmlib tclap"
6 6
7SRC_URI = "git://github.com/nxp-qoriq/spc;protocol=https;nobranch=1" 7SRC_URI = "git://github.com/nxp-qoriq/spc;protocol=https;nobranch=1"
8SRCREV = "d624b7809be48e4cf29a7bfa201028e4de1d1955" 8SRCREV = "b8d69580e5c6aeeb9f1354ee2faed6e0134eaef4"
9
10S = "${WORKDIR}/git"
11 9
12EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \ 10EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
13 FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \ 11 FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
diff --git a/recipes-extended/crconf/crconf_git.bb b/recipes-extended/crconf/crconf_git.bb
index 755365d6d..ed76351e1 100644
--- a/recipes-extended/crconf/crconf_git.bb
+++ b/recipes-extended/crconf/crconf_git.bb
@@ -8,8 +8,6 @@ EXTRA_OEMAKE = "'CC=${CC}' 'HOSTCC=${CC}' SBINDIR='${sbindir}' MANDIR='${mandir}
8SRC_URI = "git://git.code.sf.net/p/crconf/code;protocol=https;nobranch=1" 8SRC_URI = "git://git.code.sf.net/p/crconf/code;protocol=https;nobranch=1"
9SRCREV = "c2b9595d739a9515a86ff3b1980b5cfdfcc42d68" 9SRCREV = "c2b9595d739a9515a86ff3b1980b5cfdfcc42d68"
10 10
11S = "${WORKDIR}/git"
12
13do_install () { 11do_install () {
14 oe_runmake install DESTDIR=${D} 12 oe_runmake install DESTDIR=${D}
15} 13}
diff --git a/recipes-extended/dpdk/dpdk-20.11.inc b/recipes-extended/dpdk/dpdk-20.11.inc
index 90b4c405a..66bcda2ff 100644
--- a/recipes-extended/dpdk/dpdk-20.11.inc
+++ b/recipes-extended/dpdk/dpdk-20.11.inc
@@ -8,8 +8,6 @@ LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4
8SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1"
9SRCREV = "f74b8bd5ab1c6ff76e956fc202a56aea2d200270" 9SRCREV = "f74b8bd5ab1c6ff76e956fc202a56aea2d200270"
10 10
11S = "${WORKDIR}/git"
12
13COMPATIBLE_MACHINE = "(qoriq-arm64)" 11COMPATIBLE_MACHINE = "(qoriq-arm64)"
14 12
15CVE_PRODUCT = "data_plane_development_kit" 13CVE_PRODUCT = "data_plane_development_kit"
diff --git a/recipes-extended/dpdk/dpdk-module_20.11.bb b/recipes-extended/dpdk/dpdk-module_20.11.bb
index 180b140ba..585e198ea 100644
--- a/recipes-extended/dpdk/dpdk-module_20.11.bb
+++ b/recipes-extended/dpdk/dpdk-module_20.11.bb
@@ -14,7 +14,7 @@ DEPENDS += "dpdk"
14export S 14export S
15export STAGING_KERNEL_DIR 15export STAGING_KERNEL_DIR
16export STAGING_INCDIR 16export STAGING_INCDIR
17export INSTALL_MOD_DIR="dpdk" 17export INSTALL_MOD_DIR = "dpdk"
18 18
19do_configure[noexec] = "1" 19do_configure[noexec] = "1"
20 20
diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc
index f2ab1370a..eabd18650 100644
--- a/recipes-extended/dpdk/dpdk.inc
+++ b/recipes-extended/dpdk/dpdk.inc
@@ -26,8 +26,6 @@ export RTE_TARGET = "${DPDK_RTE_TARGET}"
26export RTE_OUTPUT = "${S}/${RTE_TARGET}" 26export RTE_OUTPUT = "${S}/${RTE_TARGET}"
27export MODULE_DIR = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net" 27export MODULE_DIR = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net"
28 28
29S = "${WORKDIR}/git"
30
31EXTRA_OEMAKE += 'ETHTOOL_LIB_PATH="${S}/examples/ethtool/lib/${RTE_TARGET}" RTE_SDK="${S}" \ 29EXTRA_OEMAKE += 'ETHTOOL_LIB_PATH="${S}/examples/ethtool/lib/${RTE_TARGET}" RTE_SDK="${S}" \
32 OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \ 30 OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
33 RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" EXAMPLES_BUILD_DIR="${RTE_TARGET}" \ 31 RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" EXAMPLES_BUILD_DIR="${RTE_TARGET}" \
diff --git a/recipes-extended/jailhouse/jailhouse-imx_git.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb
index c230cc3a5..a955c8fd3 100644
--- a/recipes-extended/jailhouse/jailhouse-imx_git.bb
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -16,8 +16,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
16PROVIDES = "jailhouse" 16PROVIDES = "jailhouse"
17RPROVIDES:${PN} += "jailhouse" 17RPROVIDES:${PN} += "jailhouse"
18 18
19SRCBRANCH = "lf-6.6.3_1.0.0" 19SRCBRANCH = "lf-6.6.52_2.2.0"
20SRCREV = "184a287f4c4c63a3842a3b582b5d700e0f9fd9a4" 20SRCREV = "44dd492a745cd8b8313fb6c7c03fb45a36d70e8a"
21 21
22IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https" 22IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https"
23SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \ 23SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \
@@ -33,7 +33,6 @@ DEPENDS = " \
33 33
34inherit module bash-completion deploy setuptools3 34inherit module bash-completion deploy setuptools3
35 35
36S = "${WORKDIR}/git"
37B = "${S}" 36B = "${S}"
38 37
39JH_ARCH = "arm64" 38JH_ARCH = "arm64"
diff --git a/recipes-extended/libpkcs11/libpkcs11_git.bb b/recipes-extended/libpkcs11/libpkcs11_git.bb
index 731b7a234..347a8ef9a 100644
--- a/recipes-extended/libpkcs11/libpkcs11_git.bb
+++ b/recipes-extended/libpkcs11/libpkcs11_git.bb
@@ -1,5 +1,5 @@
1DESCRIPTION = "PKCS library" 1DESCRIPTION = "PKCS library"
2LICENSE = "GPL-2.0-only & BSD" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=803852533e29eb1d6d5e55ad3078b625" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=803852533e29eb1d6d5e55ad3078b625"
4 4
5SRC_URI = "git://github.com/nxp-qoriq/libpkcs11;protocol=https;nobranch=1 \ 5SRC_URI = "git://github.com/nxp-qoriq/libpkcs11;protocol=https;nobranch=1 \
@@ -9,8 +9,6 @@ SRCREV = "8d85182b7a7cd393ab6dd72930f8d1b69468f741"
9 9
10DEPENDS = "openssl secure-obj" 10DEPENDS = "openssl secure-obj"
11 11
12S = "${WORKDIR}/git"
13
14WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 12WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
15export CROSS_COMPILE_HOST = "${CROSS_COMPILE}" 13export CROSS_COMPILE_HOST = "${CROSS_COMPILE}"
16export CROSS_COMPILE_TA = "${CROSS_COMPILE}" 14export CROSS_COMPILE_TA = "${CROSS_COMPILE}"
diff --git a/recipes-extended/merge-files/merge-files_1.0.bb b/recipes-extended/merge-files/merge-files_1.0.bb
index 5b3ca7edc..bd788fdb5 100644
--- a/recipes-extended/merge-files/merge-files_1.0.bb
+++ b/recipes-extended/merge-files/merge-files_1.0.bb
@@ -5,14 +5,13 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
5inherit allarch 5inherit allarch
6 6
7SRC_URI = "file://merge" 7SRC_URI = "file://merge"
8S = "${WORKDIR}"
9 8
10MERGED_DST ?= "${ROOT_HOME}" 9MERGED_DST ?= "${ROOT_HOME}"
11do_install () { 10do_install () {
12 install -d ${D}/${MERGED_DST} 11 install -d ${D}/${MERGED_DST}
13 find ${WORKDIR}/merge/ -maxdepth 1 -mindepth 1 -not -name README \ 12 find ${UNPACKDIR}/merge/ -maxdepth 1 -mindepth 1 -not -name README \
14 -exec cp -fr '{}' ${D}/${MERGED_DST}/ \; 13 -exec cp -fr '{}' ${D}/${MERGED_DST}/ \;
15 find ${WORKDIR}/merge/ -maxdepth 1 -mindepth 1 -exec rm -fr '{}' \; 14 find ${UNPACKDIR}/merge/ -maxdepth 1 -mindepth 1 -exec rm -fr '{}' \;
16} 15}
17do_configure[noexec] = "1" 16do_configure[noexec] = "1"
18do_compile[noexec] = "1" 17do_compile[noexec] = "1"
diff --git a/recipes-extended/odp/odp.inc b/recipes-extended/odp/odp.inc
index 0c90d0c57..34bd5138e 100644
--- a/recipes-extended/odp/odp.inc
+++ b/recipes-extended/odp/odp.inc
@@ -22,6 +22,5 @@ SRCREV_qbman = "75ff61a7ca6acdbdbb780161b053cbcbc990f1be"
22SRCREV_rta = "bbab28b03ae21c52ce913f8b052acf53bd24ff5d" 22SRCREV_rta = "bbab28b03ae21c52ce913f8b052acf53bd24ff5d"
23 23
24SRCREV_FORMAT = "default_qbman_rta" 24SRCREV_FORMAT = "default_qbman_rta"
25S = "${WORKDIR}/git"
26 25
27COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a|ls1088a)" 26COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a|ls1088a)"
diff --git a/recipes-extended/ofp/ofp_git.bb b/recipes-extended/ofp/ofp_git.bb
index 47e543154..0f90dc5bb 100644
--- a/recipes-extended/ofp/ofp_git.bb
+++ b/recipes-extended/ofp/ofp_git.bb
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/nxp-qoriq/ofp;protocol=https;nobranch=1"
10 10
11SRCREV = "fe66f4659f7d356f7aa73a8fb32fcf67c6cf1108" 11SRCREV = "fe66f4659f7d356f7aa73a8fb32fcf67c6cf1108"
12 12
13S = "${WORKDIR}/git"
14
15inherit autotools-brokensep pkgconfig 13inherit autotools-brokensep pkgconfig
16 14
17PACKAGE_ARCH = "${MACHINE_ARCH}" 15PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
index 20d06dd61..a21bc69cf 100644
--- a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
+++ b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
@@ -10,8 +10,6 @@ inherit python3native pkgconfig
10SRC_URI = "git://github.com/nxp-qoriq/ovs-dpdk;protocol=https;nobranch=1" 10SRC_URI = "git://github.com/nxp-qoriq/ovs-dpdk;protocol=https;nobranch=1"
11SRCREV = "f2c0744d2f68c4cd2840d6e409d7b0520e4caf99" 11SRCREV = "f2c0744d2f68c4cd2840d6e409d7b0520e4caf99"
12 12
13S = "${WORKDIR}/git"
14
15do_configure() { 13do_configure() {
16 export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR} 14 export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR}
17 ${S}/boot.sh 15 ${S}/boot.sh
diff --git a/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
index f04e1e9f5..485f763bf 100644
--- a/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
+++ b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
@@ -9,8 +9,6 @@ SRC_URI = "git://dpdk.org/git/apps/pktgen-dpdk;protocol=https;nobranch=1 \
9" 9"
10SRCREV = "3a09aa916597fb9a97ee8eec50044cbdb9c4abde" 10SRCREV = "3a09aa916597fb9a97ee8eec50044cbdb9c4abde"
11 11
12S = "${WORKDIR}/git"
13
14DPAA_VER ?= "dpaa" 12DPAA_VER ?= "dpaa"
15export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc" 13export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc"
16export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/dpdk" 14export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/dpdk"
diff --git a/recipes-extended/secure-obj/secure-obj-module_git.bb b/recipes-extended/secure-obj/secure-obj-module_git.bb
index 3866dde48..c6bbc41df 100644
--- a/recipes-extended/secure-obj/secure-obj-module_git.bb
+++ b/recipes-extended/secure-obj/secure-obj-module_git.bb
@@ -1,11 +1,11 @@
1require secure-obj.inc 1require secure-obj.inc
2 2
3LIC_FILES_CHKSUM = "file://../README;md5=82b72e88f23cded9dd23f0fb1790b8d2" 3LIC_FILES_CHKSUM = "file://../LICENSE;md5=751419260aa954499f7abaabaa882bbe"
4 4
5DEPENDS += "virtual/kernel" 5DEPENDS += "virtual/kernel"
6 6
7inherit module 7inherit module
8 8
9S = "${WORKDIR}/git/securekeydev" 9S = "${UNPACKDIR}/${BP}/securekeydev"
10 10
11EXTRA_OEMAKE += 'KERNEL_SRC="${STAGING_KERNEL_DIR}"' 11EXTRA_OEMAKE += 'KERNEL_SRC="${STAGING_KERNEL_DIR}"'
diff --git a/recipes-extended/secure-obj/secure-obj.inc b/recipes-extended/secure-obj/secure-obj.inc
index 64e4a6b71..16115ff03 100644
--- a/recipes-extended/secure-obj/secure-obj.inc
+++ b/recipes-extended/secure-obj/secure-obj.inc
@@ -1,5 +1,5 @@
1DESCRIPTION = "Secure Object" 1DESCRIPTION = "Secure Object"
2LICENSE = "BSD" 2LICENSE = "BSD-3-Clause"
3 3
4DEPENDS = "openssl optee-os-qoriq optee-client-qoriq" 4DEPENDS = "openssl optee-os-qoriq optee-client-qoriq"
5RDEPENDS:${PN} = "bash libcrypto libssl" 5RDEPENDS:${PN} = "bash libcrypto libssl"
@@ -11,7 +11,7 @@ inherit python3native
11LDFLAGS += "${TOOLCHAIN_OPTIONS}" 11LDFLAGS += "${TOOLCHAIN_OPTIONS}"
12 12
13SRC_URI = "git://github.com/nxp-qoriq/secure_obj;protocol=https;nobranch=1" 13SRC_URI = "git://github.com/nxp-qoriq/secure_obj;protocol=https;nobranch=1"
14SRCREV = "5ff1231f74b4b01744be95a3137a14ad0a483e61" 14SRCREV = "4706a6534ec09f9a46bfe305c5e49badca32b4c6"
15 15
16WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 16WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
17export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/" 17export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/"
diff --git a/recipes-extended/secure-obj/secure-obj_git.bb b/recipes-extended/secure-obj/secure-obj_git.bb
index 84ecea1ea..4d197f57c 100644
--- a/recipes-extended/secure-obj/secure-obj_git.bb
+++ b/recipes-extended/secure-obj/secure-obj_git.bb
@@ -1,9 +1,9 @@
1require secure-obj.inc 1require secure-obj.inc
2 2
3LIC_FILES_CHKSUM = "file://README;md5=82b72e88f23cded9dd23f0fb1790b8d2" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
4
5S = "${WORKDIR}/git"
6 4
5DEPENDS:remove = " python3-pycryptodomex-native"
6DEPENDS:append = " python3-cryptography-native optee-os-qoriq-tadevkit"
7RDEPENDS:{PN} += "secure-obj-module" 7RDEPENDS:{PN} += "secure-obj-module"
8 8
9WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 9WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
@@ -17,14 +17,15 @@ CFLAGS += "${TOOLCHAIN_OPTIONS}"
17 17
18do_compile() { 18do_compile() {
19 unset LDFLAGS 19 unset LDFLAGS
20 export TA_DEV_KIT_DIR="${RECIPE_SYSROOT}/usr/include/optee/export-user_ta" 20 export TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta/
21 export CROSS_COMPILE="${WRAP_TARGET_PREFIX}" 21 export CROSS_COMPILE="${WRAP_TARGET_PREFIX}"
22 export OPENSSL_PATH="${RECIPE_SYSROOT}/usr" 22 export OPENSSL_PATH="${RECIPE_SYSROOT}/usr"
23 for APP in secure_storage_ta securekey_lib secure_obj-openssl-engine; do 23 export OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules
24 for APP in secure_storage_ta securekey_lib secure_obj-openssl-engine; do
24 cd ${APP} 25 cd ${APP}
25 oe_runmake 26 oe_runmake
26 cd .. 27 cd ..
27 done 28 done
28} 29}
29 30
30do_install() { 31do_install() {
diff --git a/recipes-extended/skmm-ep/skmm-ep_git.bb b/recipes-extended/skmm-ep/skmm-ep_git.bb
index c08c94923..72638766c 100644
--- a/recipes-extended/skmm-ep/skmm-ep_git.bb
+++ b/recipes-extended/skmm-ep/skmm-ep_git.bb
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-ep;protocol=https;nobranch=
12" 12"
13SRCREV = "de6816c7d66129683bc62229b482ac3cf585d896" 13SRCREV = "de6816c7d66129683bc62229b482ac3cf585d896"
14 14
15S = "${WORKDIR}/git"
16
17EXTRA_OEMAKE = 'ARCH=${TARGET_ARCH} MACHINE=${MACHINE} EXTRA_LDFLAGS="${LDFLAGS}"' 15EXTRA_OEMAKE = 'ARCH=${TARGET_ARCH} MACHINE=${MACHINE} EXTRA_LDFLAGS="${LDFLAGS}"'
18 16
19export LIBEDIT_CFLAGS = "`pkg-config --cflags libedit`" 17export LIBEDIT_CFLAGS = "`pkg-config --cflags libedit`"
diff --git a/recipes-extended/testfloat/testfloat_2a.bb b/recipes-extended/testfloat/testfloat_2a.bb
index 4ed2ceb39..45e9365da 100644
--- a/recipes-extended/testfloat/testfloat_2a.bb
+++ b/recipes-extended/testfloat/testfloat_2a.bb
@@ -10,15 +10,13 @@ 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 ${WORKDIR}/SoftFloat-2b ${S}/SoftFloat-2b 19 mv ${UNPACKDIR}/SoftFloat-2b ${S}/SoftFloat-2b
22 cd ${S} 20 cd ${S}
23 if [ -n "$(which fromdos)" ];then 21 if [ -n "$(which fromdos)" ];then
24 find -type f -exec fromdos {} \; 22 find -type f -exec fromdos {} \;
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 f38e8a6ed..addd1c376 100644
--- a/recipes-fsl/mcore-demos/README
+++ b/recipes-fsl/mcore-demos/README
@@ -1,14 +1,11 @@
1The M4 demo app version of each SoCs are followed: 1The M4 demo app version of each SoCs are followed:
2* 2.14.0 -- i.MX 7ULP, 8MQ 2* 2.16.000 -- i.MX 7ULP, 8MQ, 8MM
3* 2.14.1 -- i.MX 8MM
4* 2.9.0 -- i.MX 8DXL, 8QM, 8QXP 3* 2.9.0 -- i.MX 8DXL, 8QM, 8QXP
5* 1.0.1 -- i.MX 7D 4* 1.0.1 -- i.MX 7D
6 5
7The M7 demo app version of each SoCs are followed: 6The M7 demo app version of each SoCs are followed:
8* 2.14.0 -- i.MX 8MNULite, 8MN 7* 2.16.000 -- i.MX 8MP , 8MNULite, 8MN
9* 2.14.1 -- i.MX 8MP 8* 24.12.00 -- i.MX95
10* 2.15.000 -- i.MX95
11 9
12The M33 demo app version of each SoCs are followed: 10The M33 demo app version of each SoCs are followed:
13* 2.14.1 -- i.MX 8ULP 11* 2.16.000 -- i.MX 8ULP, i.MX 93
14* 2.15.000 -- i.MX 93
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb b/recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb
deleted file mode 100644
index 0107d90e6..000000000
--- a/recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1# Copyright 2023 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=db4762b09b6bda63da103963e6e081de"
7
8SRC_URI[imx8ulp.md5sum] = "6a1d2b904255ad2b514a234e6282209f"
9SRC_URI[imx8ulp.sha256sum] = "eb8710c31dd58e23ed50653a1b90106e78776a1062abea2a16139cf371828a5a"
10
11COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_2.15.000.bb b/recipes-fsl/mcore-demos/imx-m33-demos_2.15.000.bb
deleted file mode 100644
index 542ff168a..000000000
--- a/recipes-fsl/mcore-demos/imx-m33-demos_2.15.000.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1# Copyright 2023 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=44a8052c384584ba09077e85a3d1654f"
7
8SRC_URI[imx93.md5sum] = "2fad663ff63d273a2cb775e06db9eedc"
9SRC_URI[imx93.sha256sum] = "257066cbd57add127fae15da72f12f1cf6a847ff300e7b4ac63f507693898dfa"
10
11COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
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
new file mode 100644
index 000000000..e1d303e3d
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m33-demos_2.16.000.bb
@@ -0,0 +1,13 @@
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.sha256sum] = "2d1d48eb3f01d020917f42281581835a3c085233e9764ec845940c1e49ac317b"
10
11SRC_URI[imx93.sha256sum] = "c954b9bc32cfdea9b696fa0b02f934812054e3ab445b5dd8eb7898d427e47526"
12
13COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb b/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
index fd99c6370..489e6f8a9 100644
--- a/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
@@ -1,28 +1,13 @@
1SUMMARY = "i.MX M4 core Demo images" 1# Copyright 2017-2021 NXP
2SECTION = "app" 2# Released under the MIT license (see COPYING.MIT for the terms)
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM:mx7d-nxp-bsp = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
5 3
6inherit deploy fsl-eula-unpack 4require imx-mcore-demos.inc
7 5
8M4_SOC ?= "INVALID" 6LIC_FILES_CHKSUM:mx7d-nxp-bsp = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
9M4_SOC:mx7d-nxp-bsp = "imx7d-sabresd"
10 7
11SRC_URI = "${FSL_MIRROR}/${M4_SOC}-m4-freertos-${PV}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${SOC}-m4-freertos-${PV}.bin;fsl-eula=true"
12S = "${WORKDIR}/${M4_SOC}-m4-freertos-${PV}" 9S = "${UNPACKDIR}/${SOC}-m4-freertos-${PV}"
13 10
14SRC_URI[md5sum] = "b05b780ff3916f4953ab58ac95233c38"
15SRC_URI[sha256sum] = "cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254" 11SRC_URI[sha256sum] = "cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254"
16 12
17do_deploy () {
18 # Install the demo binaries
19 install -d ${DEPLOYDIR}
20 cp ${S}/*.bin ${DEPLOYDIR}/
21 ls ${DEPLOYDIR}/
22}
23
24addtask deploy before do_build after do_compile
25
26PACKAGE_ARCH = "${MACHINE_SOCARCH}"
27COMPATIBLE_MACHINE = "(mx7d-nxp-bsp)" 13COMPATIBLE_MACHINE = "(mx7d-nxp-bsp)"
28
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb
deleted file mode 100644
index b2076cca6..000000000
--- a/recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1# Copyright 2017-2023 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx8mq-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
7LIC_FILES_CHKSUM:mx7ulp-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
8
9SRC_URI[imx8mq.md5sum] = "0235860aca583e50af88b141e8f25d13"
10SRC_URI[imx8mq.sha256sum] = "decb52b246800e3fa926704207a0ac9a960723da8502887a31f353aaa370c9d9"
11
12SRC_URI[imx7ulp.md5sum] = "4ec757b7a2a2bdf33f583c328a4631f1"
13SRC_URI[imx7ulp.sha256sum] = "51715bee5e300ee6160c92979e7075e3aa7f7114e7742699bfaa9779113a6fe9"
14
15COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mq-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb
deleted file mode 100644
index 67fadb2f6..000000000
--- a/recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1# Copyright 2017-2023 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=db4762b09b6bda63da103963e6e081de"
7
8SRC_URI[imx8mm.md5sum] = "8db99da9efe8a5409a246c8a63d418dc"
9SRC_URI[imx8mm.sha256sum] = "8269d7461efcdba0b8c3e684df8b45c2d8ace3fdf426b81bdfb46855a1577987"
10
11COMPATIBLE_MACHINE = "(mx8mm-nxp-bsp)"
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
new file mode 100644
index 000000000..813b3025d
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_2.16.000.bb
@@ -0,0 +1,16 @@
1# Copyright 2017-2024 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
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
10SRC_URI[imx7ulp.sha256sum] = "1fbb26f8e0a69a2e3925e07cf0cc4a13b13e3ff6321a2ba3dc39c454c82b398b"
11
12SRC_URI[imx8mm.sha256sum] = "a335b54b797c37be05c5b4e6aeabd02099f401de907186723361d1fc25ea3f24"
13
14SRC_URI[imx8mq.sha256sum] = "09b7195ce553dae5808afcefaf6f76c79f7122ce4dd31fabd679b768607dea25"
15
16COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mm-nxp-bsp|mx8mq-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb
index 63c402dda..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
@@ -6,14 +6,12 @@ require imx-mcore-demos.inc
6LIC_FILES_CHKSUM:mx8dxl-nxp-bsp = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" 6LIC_FILES_CHKSUM:mx8dxl-nxp-bsp = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
7LIC_FILES_CHKSUM:mx8qm-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a" 7LIC_FILES_CHKSUM:mx8qm-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a"
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"
9 10
10SRC_URI[imx8dxl.md5sum] = "8850c04a8af91e2bd822cecd5ec56e12"
11SRC_URI[imx8dxl.sha256sum] = "66ddba970712ed394de4034b362334a12caa5865a6afc1dfb5a897bb55b4fcf1" 11SRC_URI[imx8dxl.sha256sum] = "66ddba970712ed394de4034b362334a12caa5865a6afc1dfb5a897bb55b4fcf1"
12 12
13SRC_URI[imx8qm.md5sum] = "5912ca94847ee56a7e8b866b211b67d9"
14SRC_URI[imx8qm.sha256sum] = "c695e72b0c7f609132f5990469cf950c03e137de887bd7e24d059c51a7b499be" 13SRC_URI[imx8qm.sha256sum] = "c695e72b0c7f609132f5990469cf950c03e137de887bd7e24d059c51a7b499be"
15 14
16SRC_URI[imx8qx.md5sum] = "5bc15014f59b2b11c71299fac608be5d"
17SRC_URI[imx8qx.sha256sum] = "bbb268a30a58a86e38966122191c8aa69f427c6c1d56b0ce81e518f4d652782a" 15SRC_URI[imx8qx.sha256sum] = "bbb268a30a58a86e38966122191c8aa69f427c6c1d56b0ce81e518f4d652782a"
18 16
19COMPATIBLE_MACHINE = "(mx8dxl-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp)" 17COMPATIBLE_MACHINE = "(mx8dxl-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb
deleted file mode 100644
index 7849ccca2..000000000
--- a/recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1# Copyright 2019-2023 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=9135422c7a38dac21bf1f858b6ef3bac"
7LIC_FILES_CHKSUM:mx8mnul-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
8
9SRC_URI[imx8mn.md5sum] = "5ba15434b72f1eb7315e6ddb8a66a0f9"
10SRC_URI[imx8mn.sha256sum] = "8fe6c76da7eb0bbebb8e18a308249ca78a1c5c1d58034cf0fd3c5028aa5740e2"
11
12SRC_URI[imx8mnddr3l.md5sum] = "62115bc3415eac0f9a4249ed9bb94f98"
13SRC_URI[imx8mnddr3l.sha256sum] = "4b405e1ae439f651c21c4d4bd88f89695974a15aabb89cba65daa2f9922b273d"
14
15COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb
deleted file mode 100644
index ddd996619..000000000
--- a/recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1# Copyright 2023 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx8mp-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
7LIC_FILES_CHKSUM:mx8mpul-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
8
9SRC_URI[imx8mp.md5sum] = "f12cd36cd48cfc65ada700445f8cecaf"
10SRC_URI[imx8mp.sha256sum] = "f2da9e7d7ea6d7b5f33eb12d20e6c5c07fe3110d362f5263d672729f2cd73b37"
11
12COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp|mx8mpul-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.15.000.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.15.000.bb
deleted file mode 100644
index 077942054..000000000
--- a/recipes-fsl/mcore-demos/imx-m7-demos_2.15.000.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1# Copyright 2023 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=44a8052c384584ba09077e85a3d1654f"
7
8SRC_URI[imx95.md5sum] = "572b54c7255faa020612261462bdd96b"
9SRC_URI[imx95.sha256sum] = "118ea2248d7fd8a48412855fc19ff6f37f4e09e6d387dfdd458bb9a19d6192c6"
10
11COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb
new file mode 100644
index 000000000..387d6527a
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_2.16.000.bb
@@ -0,0 +1,22 @@
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.sha256sum] = "ab608d621c8d74f42514799a732414184bd22f058a8a87a0ab75147a0fd5d99c"
15
16SRC_URI[imx8mnddr3l.sha256sum] = "9c9477db2581640395ec3bc7524f89c2c09ffd2947d9186959343a8cf764ad28"
17
18SRC_URI[imx8mp.sha256sum] = "672af1e1d8fcc1ebd12b45c6dc4cfc7abc85ea9ebbf114d15f4bfe7540e24ea1"
19
20SRC_URI[imx95.sha256sum] = "8d394b62a4fbad8303acf43f9f8672e5d1c17f1af8f47d7665740272819c0cc1"
21
22COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp|mx8mp-nxp-bsp|mx8mpul-nxp-bsp|mx95-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb b/recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb
new file mode 100644
index 000000000..17d90903a
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_24.12.00.bb
@@ -0,0 +1,10 @@
1# Copyright 2023-2024 NXP
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require imx-mcore-demos.inc
5
6LIC_FILES_CHKSUM:mx95-nxp-bsp = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
7
8SRC_URI[imx95.sha256sum] = "01603b53fd01181631b71f5139a4a3e215f7e03cc531638ef4fa805a678ede3d"
9
10COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-mcore-demos.inc b/recipes-fsl/mcore-demos/imx-mcore-demos.inc
index 32afc3123..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"
@@ -34,24 +35,25 @@ MCORE_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 37
37S = "${WORKDIR}/${SOC}-${MCORE_TYPE}-demo-${PV}" 38S = "${UNPACKDIR}/${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
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.12.bb b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb
index b10cd997a..bf0a127c9 100644
--- a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.12.bb
+++ b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.3.0.bb
@@ -4,28 +4,26 @@
4 4
5DESCRIPTION = "G2D library using i.MX DPU" 5DESCRIPTION = "G2D library using i.MX DPU"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" 7LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
8 8
9DEPENDS = "libdrm ${LIBGAL_IMX}" 9DEPENDS = "libdrm ${LIBGAL_IMX}"
10LIBGAL_IMX = "libgal-imx" 10LIBGAL_IMX = ""
11LIBGAL_IMX:mx95-nxp-bsp = "" 11LIBGAL_IMX:imxviv = "libgal-imx"
12 12
13PROVIDES += "virtual/libg2d" 13PROVIDES += "virtual/libg2d"
14 14
15SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;fsl-eula=true;name=${IMX_SRC_URI_NAME}" 15SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;fsl-eula=true;name=${IMX_SRC_URI_NAME}"
16IMX_BIN_NAME = "${BPN}-${IMX_SRC_URI_NAME}-${PV}-${IMX_SRCREV_ABBREV}" 16IMX_BIN_NAME = "${BPN}-${IMX_SRC_URI_NAME}-${PV}-${IMX_SRCREV_ABBREV}"
17 17
18IMX_SRCREV_ABBREV = "ee47ef7" 18IMX_SRCREV_ABBREV = "8d2a88d"
19IMX_SRC_URI_NAME = "v1" 19IMX_SRC_URI_NAME = "v1"
20SRC_URI[v1.md5sum] = "4150f09e27178101fdccb792b7cbc526" 20SRC_URI[v1.sha256sum] = "20325a7c6090b79e012339aed25fa4c3b760efcc32be339e389a36a15e44bdfc"
21SRC_URI[v1.sha256sum] = "bd7849376564f7e2eb55210f156afae00b49451de6de80cfbc5fbda15be6a2b0"
22 21
23IMX_SRCREV_ABBREV:mx95-nxp-bsp = "ee47ef7" 22IMX_SRCREV_ABBREV:imxmali = "8d2a88d"
24IMX_SRC_URI_NAME:mx95-nxp-bsp = "v2" 23IMX_SRC_URI_NAME:imxmali = "v2"
25SRC_URI[v2.md5sum] = "031396e175c432eb6c84aad8e0a6fc7d" 24SRC_URI[v2.sha256sum] = "eb7108256cb55d996c07f6941d0d4a76beaf73458494b2c902d907bc8228eeeb"
26SRC_URI[v2.sha256sum] = "0646d8cc8e53f22fc15a61f0b78cd5f73460520f91949bc1d29c10ecbf77307b"
27 25
28S = "${WORKDIR}/${IMX_BIN_NAME}" 26S = "${UNPACKDIR}/${IMX_BIN_NAME}"
29 27
30inherit fsl-eula-unpack 28inherit fsl-eula-unpack
31 29
@@ -36,10 +34,14 @@ do_install () {
36 cp -Pr ${S}/g2d/usr/include/* ${D}${includedir} 34 cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
37} 35}
38 36
37INSANE_SKIP:append:libc-musl = " file-rdeps"
38RDEPENDS:${PN}:append:libc-musl = " gcompat"
39
39# The packaged binaries have been stripped of debug info, so disable 40# The packaged binaries have been stripped of debug info, so disable
40# operations accordingly. 41# operations accordingly.
41INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 42INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
42INHIBIT_PACKAGE_STRIP = "1" 43INHIBIT_PACKAGE_STRIP = "1"
43INHIBIT_SYSROOT_STRIP = "1" 44INHIBIT_SYSROOT_STRIP = "1"
44 45
46PACKAGE_ARCH = "${MACHINE_SOCARCH}"
45COMPATIBLE_MACHINE = "(imxdpu)" 47COMPATIBLE_MACHINE = "(imxdpu)"
diff --git a/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb b/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
index 55f88da39..1f62398fe 100644
--- a/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
+++ b/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
@@ -5,14 +5,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0858ec9c7a80c4a2cf16e4f825a2cc91"
5 5
6DEPENDS = "cairo" 6DEPENDS = "cairo"
7 7
8PV = "2.1+git${SRCPV}" 8PV = "2.3+git${SRCPV}"
9 9
10SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}" 10SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}"
11GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxp-imx/g2d-samples.git;protocol=https" 11GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxp-imx/g2d-samples.git;protocol=https"
12SRCBRANCH = "imx_2.1" 12SRCBRANCH = "imx_2.3"
13SRCREV = "bec2f3839737b0e83b68b1c976373d9a78e5762f" 13SRCREV = "7d12c50c07d73650b4c97906ce917aff429238f8"
14
15S = "${WORKDIR}/git"
16 14
17inherit pkgconfig 15inherit pkgconfig
18 16
diff --git a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.4.bb b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb
index 3ebb8f884..3c8784d0f 100644
--- a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.4.bb
+++ b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p3.0.bb
@@ -5,19 +5,17 @@
5 5
6DESCRIPTION = "G2D library using i.MX GPU" 6DESCRIPTION = "G2D library using i.MX GPU"
7LICENSE = "Proprietary" 7LICENSE = "Proprietary"
8LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9DEPENDS = "libgal-imx" 9DEPENDS = "libgal-imx"
10PROVIDES = "virtual/libg2d" 10PROVIDES = "virtual/libg2d"
11 11
12SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true" 12SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true"
13IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}" 13IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}"
14IMX_SRCREV_ABBREV = "b07999b" 14IMX_SRCREV_ABBREV = "c600d03"
15SRC_URI[aarch64.md5sum] = "fa30ce75803697d5131d707b300258ee" 15SRC_URI[aarch64.sha256sum] = "e6c336c0b876efab7598a2d7817111772284487f646d5d83c400692f2cdfebe3"
16SRC_URI[aarch64.sha256sum] = "2dff0279ead132ec5fa61dbe9b2b1969135e8ce9fe7487957371327357d70ac7" 16SRC_URI[arm.sha256sum] = "6e1a42f2c570582b8038d1b5c86dbdcd645e75cc10a1db23e716f662d1c1329f"
17SRC_URI[arm.md5sum] = "c81be7c93b60c7d3f3eb5b7bfeda42a4"
18SRC_URI[arm.sha256sum] = "e17ac373193622ec0c9aa490ef1b93551d22a2e88ee9f1098ed984e62f02a06c"
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 50c37a2c5..9fd170ad5 100644
--- a/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
+++ b/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
@@ -1,21 +1,19 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright 2017-2024 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "G2D library using i.MX PXP" 5DESCRIPTION = "G2D library using i.MX PXP"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44a8052c384584ba09077e85a3d1654f" 7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c0fb372b5d7f12181de23ef480f225f3"
8 8
9PROVIDES += "virtual/libg2d" 9PROVIDES += "virtual/libg2d"
10 10
11PV = "2.1.0+git${SRCPV}" 11PV = "2.3+git${SRCPV}"
12 12
13SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}" 13SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}"
14IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https" 14IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https"
15SRCBRANCH = "imx_2.1" 15SRCBRANCH = "imx_2.3"
16SRCREV = "9f9f41fa0e86757f856e1ec7824f56022fe94586" 16SRCREV = "f3aabbcb7977a0a17c962c62b02bc829855f8edf"
17
18S = "${WORKDIR}/git"
19 17
20inherit use-imx-headers 18inherit use-imx-headers
21 19
@@ -25,4 +23,5 @@ do_install() {
25 oe_runmake install 23 oe_runmake install
26} 24}
27 25
26PACKAGE_ARCH = "${MACHINE_SOCARCH}"
28COMPATIBLE_MACHINE = "(mx93-nxp-bsp)" 27COMPATIBLE_MACHINE = "(mx93-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 e33df4441..88081cc61 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -31,12 +31,12 @@ PROVIDES += " \
31" 31"
32EXTRA_PROVIDES = " \ 32EXTRA_PROVIDES = " \
33 ${PROVIDES_OPENCL} \ 33 ${PROVIDES_OPENCL} \
34 ${PROVIDES_OPENGLES3} \
35 ${PROVIDES_OPENVX} \ 34 ${PROVIDES_OPENVX} \
36" 35"
37EXTRA_PROVIDES:append:imxgpu3d = " \ 36EXTRA_PROVIDES:append:imxgpu3d = " \
38 virtual/libgles1 \ 37 virtual/libgles1 \
39 virtual/libgles2 \ 38 virtual/libgles2 \
39 virtual/libgles3 \
40" 40"
41EXTRA_PROVIDES:append:mx8-nxp-bsp = " \ 41EXTRA_PROVIDES:append:mx8-nxp-bsp = " \
42 virtual/libgbm \ 42 virtual/libgbm \
@@ -51,9 +51,6 @@ PROVIDES_OPENCL = " \
51PROVIDES_OPENCL:mx7-nxp-bsp = "" 51PROVIDES_OPENCL:mx7-nxp-bsp = ""
52PROVIDES_OPENCL:mx8mm-nxp-bsp = "" 52PROVIDES_OPENCL:mx8mm-nxp-bsp = ""
53 53
54PROVIDES_OPENGLES3 = ""
55PROVIDES_OPENGLES3:mx8-nxp-bsp = "virtual/libgles3"
56
57# Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus. 54# Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus.
58# However, only limited support is provided on other i.MX 8 machines 55# However, only limited support is provided on other i.MX 8 machines
59# as needed for i.MX machine learning packages. 56# as needed for i.MX machine learning packages.
@@ -63,15 +60,20 @@ PROVIDES_OPENVX:mx8mm-nxp-bsp = ""
63 60
64RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv" 61RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv"
65 62
63RPROVIDES_OPENCL = "opencl-icd-loader-dev"
64RPROVIDES_OPENCL:mx7-nxp-bsp = ""
65RPROVIDES_OPENCL:mx8mm-nxp-bsp = ""
66
67RPROVIDES:${PN}:append:imx-nxp-bsp = " ${RPROVIDES_OPENCL}"
68
66PE = "1" 69PE = "1"
67 70
68inherit fsl-eula-unpack 71inherit fsl-eula-unpack
69 72
70FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:" 73FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:"
71SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \ 74SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
72 file://imx_icd.json"
73 75
74S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" 76S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
75 77
76PACKAGECONFIG ?= "" 78PACKAGECONFIG ?= ""
77 79
@@ -181,8 +183,6 @@ IMX_SOC:mx8mq-nxp-bsp = "mx8mq"
181IMX_SOC:mx8mn-nxp-bsp = "mx8mn" 183IMX_SOC:mx8mn-nxp-bsp = "mx8mn"
182IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" 184IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp"
183 185
184LIBVULKAN_API_VERSION = "1.3.239"
185
186do_install () { 186do_install () {
187 install -d ${D}${libdir} 187 install -d ${D}${libdir}
188 install -d ${D}${includedir} 188 install -d ${D}${includedir}
@@ -250,8 +250,7 @@ do_install () {
250 rm -rf ${D}/opt/viv_samples/cl11 250 rm -rf ${D}/opt/viv_samples/cl11
251 else 251 else
252 # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader) 252 # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader)
253 install -d ${D}${sysconfdir}/OpenCL/vendors/ 253 install -Dm 0644 ${S}/gpu-core/etc/OpenCL/vendors/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
254 install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
255 254
256 if [ "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" = "" ]; then 255 if [ "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" = "" ]; then
257 rm -f ${D}${includedir}/CL/cl_viv_vx_ext.h 256 rm -f ${D}${includedir}/CL/cl_viv_vx_ext.h
@@ -274,9 +273,8 @@ do_install () {
274 rm -rf ${D}$f 273 rm -rf ${D}$f
275 done 274 done
276 else 275 else
277 install -Dm 0644 ${WORKDIR}/imx_icd.json ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json 276 install -Dm 0644 ${S}/gpu-core/etc/vulkan/icd.d/imx_icd.json ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
278 sed -i "s,%libdir%,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json 277 sed -i "s,/usr/lib,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
279 sed -i "s,%api_version%,${LIBVULKAN_API_VERSION}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
280 fi 278 fi
281 fi 279 fi
282 280
@@ -332,7 +330,7 @@ FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/
332INSANE_SKIP:libegl-imx += "dev-so" 330INSANE_SKIP:libegl-imx += "dev-so"
333 331
334FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" 332FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
335FILES:libgal-imx-dev = "${includedir}/HAL" 333FILES:libgal-imx-dev:remove = "${includedir}/HAL"
336RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}" 334RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
337RPROVIDES:libgal-imx += "libgal-imx" 335RPROVIDES:libgal-imx += "libgal-imx"
338RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv" 336RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv"
@@ -393,7 +391,7 @@ FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
393 ${libdir}/libLLVM_viv${SOLIBS} \ 391 ${libdir}/libLLVM_viv${SOLIBS} \
394 ${sysconfdir}/OpenCL/vendors/Vivante.icd" 392 ${sysconfdir}/OpenCL/vendors/Vivante.icd"
395FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}" 393FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
396RDEPENDS:libopencl-imx= "libclc-imx" 394RDEPENDS:libopencl-imx = "libclc-imx"
397 395
398FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}" 396FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}"
399FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc" 397FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json b/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
deleted file mode 100644
index 21d83f945..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
+++ /dev/null
@@ -1,7 +0,0 @@
1{
2 "file_format_version": "1.0.0",
3 "ICD": {
4 "library_path": "%libdir%/libvulkan_VSI.so.1",
5 "api_version": "%api_version%"
6 }
7}
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch32.bb
deleted file mode 100644
index 2b1724664..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch32.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
4
5IMX_SRCREV_ABBREV = "b07999b"
6
7SRC_URI[md5sum] = "eae60321ac971293d3213c88b9198ca0"
8SRC_URI[sha256sum] = "ef9be89d3dd3b6448c720e061a8b81bdd26f7a5ff70de1786a5feef2e4836474"
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.4-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch64.bb
deleted file mode 100644
index b3c397362..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.4-aarch64.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
4
5IMX_SRCREV_ABBREV = "b07999b"
6
7SRC_URI[md5sum] = "142d9b9ef6f440b8e307569873bdb6b5"
8SRC_URI[sha256sum] = "ba86656c357c5d9793058695f320e4cf650d4693e84321870bad392f2a622807"
9
10COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb
new file mode 100644
index 000000000..9fbb7e924
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch32.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
4
5IMX_SRCREV_ABBREV = "c600d03"
6
7SRC_URI[sha256sum] = "fe8fc231f18047b9547a038e111c08e855760190d0e9848ead22b383d793499d"
8
9COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb
new file mode 100644
index 000000000..aeed17fe8
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.0-aarch64.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
4
5IMX_SRCREV_ABBREV = "c600d03"
6
7SRC_URI[sha256sum] = "82e1bb6304d2aac70c72b691239d1bb5f6738cadfa812d07196db2f580c63d29"
8
9COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/libsdl2/libsdl2_%.bbappend b/recipes-graphics/libsdl2/libsdl2_%.bbappend
index 3b2655ce7..e8c7ac161 100644
--- a/recipes-graphics/libsdl2/libsdl2_%.bbappend
+++ b/recipes-graphics/libsdl2/libsdl2_%.bbappend
@@ -1,3 +1,6 @@
1PACKAGECONFIG:append:imx-nxp-bsp = " ${PACKAGECONFIG_LIBDECOR}"
2PACKAGECONFIG_LIBDECOR ??= "libdecor"
3
1# what vivante driver does libsdl2 mean? Anyway it fails with missing functions as 4# what vivante driver does libsdl2 mean? Anyway it fails with missing functions as
2# VIVANTE_Create VIVANTE_GLES_GetProcAddress VIVANTE_GLES_UnloadLibrary ... 5# VIVANTE_Create VIVANTE_GLES_GetProcAddress VIVANTE_GLES_UnloadLibrary ...
3EXTRA_OECMAKE:append:imxgpu = " -DSDL_VIVANTE=OFF" 6EXTRA_OECMAKE:append:imxgpu = " -DSDL_VIVANTE=OFF"
diff --git a/recipes-graphics/mali/mali-imx.inc b/recipes-graphics/mali/mali-imx.inc
new file mode 100644
index 000000000..e4fafeb0b
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx.inc
@@ -0,0 +1,107 @@
1SUMMARY = "Graphics libraries and driver for i.MX Mali GPU"
2SECTION = "libs"
3DEPENDS = " \
4 libdrm \
5 vulkan-loader \
6 wayland \
7 wayland-protocols"
8PROVIDES = " \
9 virtual/egl \
10 virtual/libgbm \
11 virtual/libgles1 \
12 virtual/libgles2 \
13 virtual/libgles3"
14
15# The packaged binaries have been stripped of debug info, so disable
16# operations accordingly.
17INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
18INHIBIT_PACKAGE_STRIP = "1"
19INHIBIT_SYSROOT_STRIP = "1"
20
21PACKAGES =+ " \
22 ${PN}-libegl ${PN}-libegl-dev \
23 ${PN}-libgbm ${PN}-libgbm-dev \
24 ${PN}-libgles1 ${PN}-libgles1-dev \
25 ${PN}-libgles2 ${PN}-libgles2-dev \
26 ${PN}-libgles3 ${PN}-libgles3-dev \
27 ${PN}-libvulkan \
28 ${PN}-opencl-icd ${PN}-opencl-icd-dev"
29
30# Since libmali.so is loaded by dlopen, include it in the main package
31FILES:${PN} += " \
32 ${libdir}/libmali.so \
33 ${nonarch_base_libdir}/firmware"
34FILES_SOLIBSDEV = ""
35INSANE_SKIP:${PN} = "dev-so"
36FILES:${PN}-libegl = " \
37 ${libdir}/libEGL${SOLIBS}"
38FILES:${PN}-libgbm = " \
39 ${libdir}/libgbm${SOLIBS}"
40FILES:${PN}-libgles1 = " \
41 ${libdir}/libGLESv1_CM${SOLIBS}"
42FILES:${PN}-libgles2 = " \
43 ${libdir}/libGLESv2${SOLIBS}"
44FILES:${PN}-opencl-icd = " \
45 ${sysconfdir}/OpenCL"
46FILES:${PN}-libvulkan = " \
47 ${sysconfdir}/vulkan"
48
49FILES:${PN}-dev = " \
50 ${bindir}/malisc"
51FILES:${PN}-libegl-dev = " \
52 ${includedir}/EGL \
53 ${includedir}/KHR \
54 ${libdir}/libEGL${SOLIBSDEV} \
55 ${libdir}/pkgconfig/egl.pc"
56FILES:${PN}-libgbm-dev = " \
57 ${includedir}/gbm.h \
58 ${libdir}/libgbm${SOLIBSDEV} \
59 ${libdir}/pkgconfig/gbm.pc"
60
61# Consolidate GLES dev packages
62PACKAGES =+ "${PN}-libgles-dev"
63FILES:${PN}-libgles-dev = " \
64 ${includedir}/GLES* \
65 ${libdir}/libGLES*${SOLIBSDEV} \
66 ${libdir}/pkgconfig/gles*.pc"
67DEBIAN_NOAUTONAME:${PN}-libgles-dev = "1"
68RREPLACES:${PN}-libgles-dev = "libgles-dev"
69RPROVIDES:${PN}-libgles-dev = "libgles-dev"
70RCONFLICTS:${PN}-libgles-dev = "libgles-dev"
71ALLOW_EMPTY:${PN}-libgles1-dev = "1"
72ALLOW_EMPTY:${PN}-libgles2-dev = "1"
73ALLOW_EMPTY:${PN}-libgles3-dev = "1"
74RDEPENDS:${PN}-libgles1-dev = "${PN}-libgles-dev"
75RDEPENDS:${PN}-libgles2-dev = "${PN}-libgles-dev"
76RDEPENDS:${PN}-libgles3-dev = "${PN}-libgles-dev"
77
78FILES:${PN}-opencl-icd-dev = " \
79 ${bindir}/mali_clcc"
80
81python __anonymous() {
82
83 # Avoid Debian-renaming
84 for p in (("libegl", "libegl1" ),
85 ("libgbm", "libgbm1" ),
86 ("libgles1", "libglesv1-cm1"),
87 ("libgles2", "libglesv2-2" ),
88 ("libgles3", )):
89 fullp = "${PN}-" + p[0]
90 pkgs = "".join(' %s' % i for i in p)
91 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
92 d.appendVar("RREPLACES:" + fullp, pkgs)
93 d.appendVar("RPROVIDES:" + fullp, pkgs)
94 d.appendVar("RCONFLICTS:" + fullp, pkgs)
95 # libmali.so is loaded with dlopen, so an explicit runtime dependency is necessary
96 d.appendVar("RDEPENDS:" + fullp, "${PN}")
97
98 # For -dev, the first element is both the Debian and original name
99 fullp += "-dev"
100 pkgs = p[0] + "-dev"
101 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
102 d.appendVar("RREPLACES:" + fullp, pkgs)
103 d.appendVar("RPROVIDES:" + fullp, pkgs)
104 d.appendVar("RCONFLICTS:" + fullp, pkgs)
105}
106
107COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-graphics/mali/mali-imx_r53.0.bb b/recipes-graphics/mali/mali-imx_r53.0.bb
new file mode 100644
index 000000000..74d9d0faf
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx_r53.0.bb
@@ -0,0 +1,25 @@
1require mali-imx.inc
2
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
5
6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
7SRC_URI[sha256sum] = "67a008bc64af4f3d9ad91465af3c0c3ac90ff8dcbcdaed96036eccc62880c7a3"
8IMX_SRCREV_ABBREV = "f2226b0"
9
10S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
11
12inherit fsl-eula-unpack
13
14do_install () {
15 install -d ${D}
16 cp -r ${S}/etc ${S}/usr ${D}
17
18 # Move firmware to nonarch_base_libdir
19 if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
20 install -d ${D}${nonarch_base_libdir}
21 mv ${D}${base_libdir}/firmware ${D}${nonarch_base_libdir}
22 fi
23}
24
25PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch b/recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch
new file mode 100644
index 000000000..91b736ee7
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-demos/0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch
@@ -0,0 +1,59 @@
1From 400c42cda81a859bd5950567eaffe394053ccc99 Mon Sep 17 00:00:00 2001
2From: Wujian Sun <wujian.sun_1@nxp.com>
3Date: Thu, 5 Dec 2024 10:32:05 +0800
4Subject: [PATCH] YOCIMX-8300 Fix mesa-demos build break on GCC 14
5
6| ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c: In function 'main':
7| ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c:190:24: error: passing
8argument 1 of 'eglGetDisplay' from incompatible pointer type
9[-Wincompatible-pointer-types]
10| 190 | dpy = eglGetDisplay(gbm);
11| | ^~~
12| | |
13| | struct gbm_device *
14| In file included from ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c:33:
15
16Type' {aka 'struct wl_display *'} but argument is of type 'struct
17gbm_device *'
18| 143 | EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay
19(EGLNativeDisplayType display_id);
20| |
21~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
22| ../mesa-demos-8.5.0/src/egl/opengl/eglkms.c:229:50: error: passing
23argument 3 of 'eglCreateWindowSurface' from incompatible pointer type
24[-Wincompatible-pointer-types]
25| 229 | surface = eglCreateWindowSurface(dpy, config, gs, NULL);
26| | ^~
27| | |
28| | struct
29gbm_surface *
30
31Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/demos/-/merge_requests/205]
32
33Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
34---
35 src/egl/opengl/eglkms.c | 4 ++--
36 1 file changed, 2 insertions(+), 2 deletions(-)
37
38diff --git a/src/egl/opengl/eglkms.c b/src/egl/opengl/eglkms.c
39index 832962b..57adc7b 100644
40--- a/src/egl/opengl/eglkms.c
41+++ b/src/egl/opengl/eglkms.c
42@@ -187,7 +187,7 @@ int main(int argc, char *argv[])
43 goto close_fd;
44 }
45
46- dpy = eglGetDisplay(gbm);
47+ dpy = eglGetDisplay((EGLNativeDisplayType) gbm);
48 if (dpy == EGL_NO_DISPLAY) {
49 fprintf(stderr, "eglGetDisplay() failed\n");
50 ret = -1;
51@@ -226,7 +226,7 @@ int main(int argc, char *argv[])
52 gs = gbm_surface_create(gbm, kms.mode.hdisplay, kms.mode.vdisplay,
53 GBM_BO_FORMAT_XRGB8888,
54 GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
55- surface = eglCreateWindowSurface(dpy, config, gs, NULL);
56+ surface = eglCreateWindowSurface(dpy, config, (EGLNativeWindowType) gs, NULL);
57
58 if (!eglMakeCurrent(dpy, surface, surface, ctx)) {
59 fprintf(stderr, "failed to make context current\n");
diff --git a/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch b/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch
new file mode 100644
index 000000000..fb9091129
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-demos/0001-egl-clear-backgrounds-black.patch
@@ -0,0 +1,27 @@
1From f5a6600ff8312a7c0f30273ab783c1d822749a73 Mon Sep 17 00:00:00 2001
2From: Jiyu Yang <jiyu.yang@nxp.com>
3Date: Thu, 11 Apr 2024 16:30:50 +0800
4Subject: [PATCH] egl: clear backgrounds black
5
6if 50% translucency used, the application render result can vary
7depending on the format chosen, such as R10G10B10A2 or RGB24.
8
9Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/demos/-/merge_requests/174]
10Signed-off-by: Jiyu Yang <jiyu.yang@nxp.com>
11---
12 src/egl/opengles2/es2gears.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/src/egl/opengles2/es2gears.c b/src/egl/opengles2/es2gears.c
16index 9501f61..e421a8a 100644
17--- a/src/egl/opengles2/es2gears.c
18+++ b/src/egl/opengles2/es2gears.c
19@@ -350,7 +350,7 @@ gears_draw(void)
20 GLfloat transform[16];
21 mat4_identity(transform);
22
23- glClearColor(0.0, 0.0, 0.0, 0.0);
24+ glClearColor(0.0, 0.0, 0.0, 1.0);
25 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
26
27 /* Translate and rotate the view */
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 ff5d71ae1..7d3e7ca1c 100644
--- a/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -2,7 +2,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2 2
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 \
7 file://0001-YOCIMX-8300-Fix-mesa-demos-build-break-on-GCC-14.patch \
8"
6 9
7REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11" 10REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11"
8 11
diff --git a/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb b/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb
index 87d05365c..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
@@ -17,13 +19,13 @@ do_install:use-mainline-bsp() {
17 19
18 # systemd 20 # systemd
19 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 21 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
20 install -D -m 644 ${WORKDIR}/mesa-etnaviv.conf \ 22 install -D -m 644 ${UNPACKDIR}/mesa-etnaviv.conf \
21 ${D}${sysconfdir}/systemd/system.conf.d/mesa-etnaviv.conf 23 ${D}${sysconfdir}/systemd/system.conf.d/mesa-etnaviv.conf
22 fi 24 fi
23 25
24 # sysvinit 26 # sysvinit
25 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 27 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
26 install -D -m 644 ${WORKDIR}/mesa-etnaviv.sh \ 28 install -D -m 644 ${UNPACKDIR}/mesa-etnaviv.sh \
27 ${D}${sysconfdir}/profile.d/mesa-etnaviv.sh 29 ${D}${sysconfdir}/profile.d/mesa-etnaviv.sh
28 fi 30 fi
29} 31}
diff --git a/recipes-graphics/mesa/mesa-gl_%.bbappend b/recipes-graphics/mesa/mesa-gl.bbappend
index 6545571fa..6545571fa 100644
--- a/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/recipes-graphics/mesa/mesa-gl.bbappend
diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa.bbappend
index acddfbc66..120561d19 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa.bbappend
@@ -1,6 +1,10 @@
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
4PACKAGECONFIG:remove:imxgpu = "egl gbm" 8PACKAGECONFIG:remove:imxgpu = "egl gbm"
5PACKAGECONFIG:remove:imxgpu3d = "gles" 9PACKAGECONFIG:remove:imxgpu3d = "gles"
6 10
@@ -15,7 +19,7 @@ python () {
15} 19}
16 20
17# Enable Etnaviv and Freedreno support 21# Enable Etnaviv and Freedreno support
18PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno" 22PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv freedreno"
19 23
20# For NXP BSP, GPU drivers don't support dri 24# For NXP BSP, GPU drivers don't support dri
21PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri" 25PACKAGECONFIG: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
new file mode 100644
index 000000000..3dc8db099
--- /dev/null
+++ b/recipes-graphics/mesa/mesa/0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch
@@ -0,0 +1,47 @@
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
new file mode 100644
index 000000000..0cdcbfca6
--- /dev/null
+++ b/recipes-graphics/mesa/mesa/0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch
@@ -0,0 +1,33 @@
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/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch b/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch
new file mode 100644
index 000000000..da738aabe
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch
@@ -0,0 +1,52 @@
1From 3448c245b15928aa5a5a3695d9271fb201eb2e3b Mon Sep 17 00:00:00 2001
2From: Yuan Tian <yuan.tian@nxp.com>
3Date: Sat, 27 Apr 2024 06:06:54 +0800
4Subject: [PATCH] LF-11869 change mali wsi layer activating order
5
6Upstream-Status: Inappropriate [i.MX specific]
7
8Signed-off-by: Yuan Tian <yuan.tian@nxp.com>
9---
10 loader/loader.c | 12 ++++++++++++
11 1 file changed, 12 insertions(+)
12
13diff --git a/loader/loader.c b/loader/loader.c
14index e646b28b4..55912c178 100644
15--- a/loader/loader.c
16+++ b/loader/loader.c
17@@ -2906,6 +2906,7 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s
18 #if !defined(_WIN32)
19 char temp_path[2048];
20 #endif
21+ bool has_wsi_layer = false;
22
23 // Now, parse the paths
24 next_file = search_path;
25@@ -2965,6 +2966,10 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s
26 name = full_path;
27
28 VkResult local_res;
29+ if(!strcmp(name,"/etc/vulkan/implicit_layer.d/VkLayer_window_system_integration.json")) {
30+ has_wsi_layer = true;
31+ continue;
32+ }
33 local_res = add_if_manifest_file(inst, name, out_files);
34
35 // Incomplete means this was not a valid data file.
36@@ -2975,6 +2980,13 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s
37 break;
38 }
39 }
40+
41+ if(has_wsi_layer) {
42+ name = "/etc/vulkan/implicit_layer.d/VkLayer_window_system_integration.json";
43+ vk_result = add_if_manifest_file(inst, name, out_files);
44+ has_wsi_layer = false;
45+ }
46+
47 loader_closedir(inst, dir_stream);
48 if (vk_result != VK_SUCCESS) {
49 goto out;
50--
512.34.1
52
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend
deleted file mode 100644
index c1a9902b7..000000000
--- a/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
1# libvulkan.so is loaded dynamically, so put it in the main package
2SOLIBS = ".so*"
3FILES_SOLIBSDEV = ""
4INSANE_SKIP:${PN} += "dev-so"
5
6# Override default mesa drivers with i.MX GPU drivers
7RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx"
8# Override default mesa drivers with i.MX GPU drivers
9RRECOMMENDS:${PN}:mx95-nxp-bsp = "mali-imx-libvulkan"
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
new file mode 100644
index 000000000..f46249215
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
@@ -0,0 +1,14 @@
1FILESEXTRAPATHS:prepend:imx-nxp-bsp := "${THISDIR}/${PN}:"
2
3SRC_URI:append:imx-nxp-bsp = " \
4 file://0001-LF-11869-change-mali-wsi-layer-activating-order.patch \
5"
6
7# libvulkan.so is loaded dynamically, so put it in the main package
8SOLIBS = ".so*"
9FILES_SOLIBSDEV = ""
10INSANE_SKIP:${PN} += "dev-so"
11
12# Override default mesa drivers with i.MX GPU drivers
13RRECOMMENDS:${PN}:imxviv = "libvulkan-imx"
14RRECOMMENDS:${PN}:imxmali = "mali-imx-libvulkan"
diff --git a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.37.imx.bb
index 6b2a70917..f360706be 100644
--- a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
+++ b/recipes-graphics/wayland/wayland-protocols_1.37.imx.bb
@@ -9,10 +9,10 @@ LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=c7b12b6702da38ca028ace54aae3d484 \ 9LIC_FILES_CHKSUM = "file://LICENSE;md5=c7b12b6702da38ca028ace54aae3d484 \
10 file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" 10 file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
11 11
12SRC_URI = "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-${@oe.utils.trim_version("${PV}", 2)}" 12SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH}"
13SRCREV = "7ece577d467f8afb2f5a2f7fff3761a1e0ee9dad" 13WAYLAND_PROTOCOLS_SRC ?= "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https"
14 14SRCBRANCH = "wayland-protocols-imx-${@oe.utils.trim_version("${PV}", 2)}"
15S = "${WORKDIR}/git" 15SRCREV = "831a5389062e56dcb1aac4a5419e55e3002aafaf"
16 16
17UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 17UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
18 18
diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend
index 9d04df23a..27a5b947b 100644
--- a/recipes-graphics/wayland/weston-init.bbappend
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -58,8 +58,11 @@ PACKAGECONFIG[use-g2d] = ",,"
58PACKAGECONFIG[xwayland] = ",," 58PACKAGECONFIG[xwayland] = ",,"
59 59
60do_install:append() { 60do_install:append() {
61 if [ -f "${WORKDIR}/weston.config" ]; then 61 # Replace the template variables
62 install -Dm0755 ${WORKDIR}/weston.config ${D}${sysconfdir}/default/weston 62 sed -i -e 's,@bindir@,${bindir},g' ${D}${sysconfdir}/xdg/weston/weston.ini
63
64 if [ -f "${UNPACKDIR}/weston.config" ]; then
65 install -Dm0755 ${UNPACKDIR}/weston.config ${D}${sysconfdir}/default/weston
63 fi 66 fi
64 67
65 if [ "${@bb.utils.contains('PACKAGECONFIG', 'gbm-format', 'yes', 'no', d)}" = "yes" ]; then 68 if [ "${@bb.utils.contains('PACKAGECONFIG', 'gbm-format', 'yes', 'no', d)}" = "yes" ]; then
@@ -88,6 +91,4 @@ do_install:append() {
88 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "no" ]; then 91 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "no" ]; then
89 sed -i -e "s/^xwayland=true/#xwayland=true/g" ${D}${sysconfdir}/xdg/weston/weston.ini 92 sed -i -e "s/^xwayland=true/#xwayland=true/g" ${D}${sysconfdir}/xdg/weston/weston.ini
90 fi 93 fi
91
92 sed -i -e 's,@bindir@,${bindir},g' ${D}${sysconfdir}/xdg/weston/weston.ini
93} 94}
diff --git a/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch b/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch
new file mode 100644
index 000000000..3f0b8ee07
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-libweston-tools-Include-libgen.h-for-basename-signat.patch
@@ -0,0 +1,45 @@
1From 2a7c1797dd65467b7a0be63aa598307b92fb83b5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 14 Dec 2023 09:13:54 -0800
4Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
5
6Latest musl has removed the declaration from string.h [1] as it only
7implements POSIX version alone and string.h in glibc implements GNU
8version of basename. This now results in compile errors on musl.
9
10This might be a warning with older compilers but it is error with
11Clang-17+ as it treats -Wimplicit-function-declaration as error
12
13[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
14
15Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1420]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 libweston/backend-drm/libbacklight.c | 1 +
19 tools/zunitc/src/zunitc_impl.c | 1 +
20 2 files changed, 2 insertions(+)
21
22diff --git a/libweston/backend-drm/libbacklight.c b/libweston/backend-drm/libbacklight.c
23index ca7f2d68..74690fa7 100644
24--- a/libweston/backend-drm/libbacklight.c
25+++ b/libweston/backend-drm/libbacklight.c
26@@ -41,6 +41,7 @@
27 #include <drm.h>
28 #include <fcntl.h>
29 #include <malloc.h>
30+#include <libgen.h>
31 #include <string.h>
32 #include <errno.h>
33
34diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
35index 18f03015..9b460fa0 100644
36--- a/tools/zunitc/src/zunitc_impl.c
37+++ b/tools/zunitc/src/zunitc_impl.c
38@@ -27,6 +27,7 @@
39
40 #include <errno.h>
41 #include <fcntl.h>
42+#include <libgen.h>
43 #include <stdarg.h>
44 #include <stdbool.h>
45 #include <stdio.h>
diff --git a/recipes-graphics/wayland/weston_10.0.5.imx.bb b/recipes-graphics/wayland/weston_10.0.5.imx.bb
index 99624887f..a8440cf23 100644
--- a/recipes-graphics/wayland/weston_10.0.5.imx.bb
+++ b/recipes-graphics/wayland/weston_10.0.5.imx.bb
@@ -109,18 +109,18 @@ do_install:append() {
109 # If X11, ship a desktop file to launch it 109 # If X11, ship a desktop file to launch it
110 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then 110 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
111 install -d ${D}${datadir}/applications 111 install -d ${D}${datadir}/applications
112 install ${WORKDIR}/weston.desktop ${D}${datadir}/applications 112 install ${UNPACKDIR}/weston.desktop ${D}${datadir}/applications
113 113
114 install -d ${D}${datadir}/icons/hicolor/48x48/apps 114 install -d ${D}${datadir}/icons/hicolor/48x48/apps
115 install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps 115 install ${UNPACKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
116 fi 116 fi
117 117
118 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then 118 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
119 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland 119 install -Dm 644 ${UNPACKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
120 fi 120 fi
121 121
122 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then 122 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
123 install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify 123 install -Dm 644 ${UNPACKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
124 fi 124 fi
125 125
126 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then 126 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
@@ -165,8 +165,7 @@ SRC_URI:prepend = "git://github.com/nxp-imx/weston-imx.git;protocol=https;branch
165SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch \ 165SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch \
166 file://0001-g2d-renderer.c-Include-sys-stat.h.patch" 166 file://0001-g2d-renderer.c-Include-sys-stat.h.patch"
167SRCBRANCH = "weston-imx-10.0.5" 167SRCBRANCH = "weston-imx-10.0.5"
168SRCREV = "0cc822a1e5a8faea6835a4e9259887d8792b86b4" 168SRCREV = "7129417ae04de57f9596ccf27f74ef967660a64f"
169S = "${WORKDIR}/git"
170 169
171# Disable OpenGL for parts with GPU support for 2D but not 3D 170# Disable OpenGL for parts with GPU support for 2D but not 3D
172REQUIRED_DISTRO_FEATURES = "opengl" 171REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/recipes-graphics/wayland/weston_12.0.3.imx.bb b/recipes-graphics/wayland/weston_14.0.1.imx.bb
index 8114ddbbf..96bde0fe0 100644
--- a/recipes-graphics/wayland/weston_12.0.3.imx.bb
+++ b/recipes-graphics/wayland/weston_14.0.1.imx.bb
@@ -3,7 +3,7 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 92a460b55e7290ec0006365219189761f7226f7c 6# Upstream hash: 23271a1f908a223b4eb56d6034cbb1ac23da14fe
7 7
8SUMMARY = "Weston, a Wayland compositor" 8SUMMARY = "Weston, a Wayland compositor"
9DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" 9DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
@@ -14,16 +14,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
14 " 14 "
15 15
16SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \ 16SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
17 file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
17 file://weston.png \ 18 file://weston.png \
18 file://weston.desktop \ 19 file://weston.desktop \
19 file://xwayland.weston-start \ 20 file://xwayland.weston-start \
20 file://systemd-notify.weston-start \ 21 file://systemd-notify.weston-start \
21 " 22 "
22 23
23SRC_URI[sha256sum] = "eb686a7cf00992a23b17f192fca9a887313e92c346ee35d8575196983d656b4a" 24SRC_URI[sha256sum] = "27f68d96e3b97d98daadef13a202356524924fa381418fa6716b9136ef099093"
24 25
25UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" 26UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
26UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" 27UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
27 28
28inherit meson pkgconfig useradd 29inherit meson pkgconfig useradd
29 30
@@ -44,7 +45,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayla
44 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ 45 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
45 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ 46 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
46 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ 47 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
47 launcher-libseat \
48 image-jpeg \ 48 image-jpeg \
49 screenshare \ 49 screenshare \
50 shell-desktop \ 50 shell-desktop \
@@ -60,7 +60,7 @@ SIMPLECLIENTS ?= "all"
60# Compositor choices 60# Compositor choices
61# 61#
62# Weston on KMS 62# Weston on KMS
63PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev" 63PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
64# Weston on Wayland (nested Weston) 64# Weston on Wayland (nested Weston)
65PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2" 65PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
66# Weston on X11 66# Weston on X11
@@ -68,7 +68,7 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
68# Headless Weston 68# Headless Weston
69PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" 69PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
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# VA-API desktop recorder 72# VA-API desktop recorder
73PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" 73PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
74# Weston with EGL support 74# Weston with EGL support
@@ -99,10 +99,6 @@ PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
99PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false" 99PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
100# JPEG image loading support 100# JPEG image loading support
101PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg" 101PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
102# support libseat based launch
103PACKAGECONFIG[launcher-libseat] = "-Dlauncher-libseat=true,-Dlauncher-libseat=false,seatd"
104# deprecated and superseded by libseat launcher
105PACKAGECONFIG[launcher-logind] = "-Ddeprecated-launcher-logind=true,-Ddeprecated-launcher-logind=false,"
106# screencasting via PipeWire 102# screencasting via PipeWire
107PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire" 103PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
108# VNC remote screensharing 104# VNC remote screensharing
@@ -116,18 +112,18 @@ do_install:append() {
116 # If X11, ship a desktop file to launch it 112 # If X11, ship a desktop file to launch it
117 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then 113 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
118 install -d ${D}${datadir}/applications 114 install -d ${D}${datadir}/applications
119 install ${WORKDIR}/weston.desktop ${D}${datadir}/applications 115 install ${UNPACKDIR}/weston.desktop ${D}${datadir}/applications
120 116
121 install -d ${D}${datadir}/icons/hicolor/48x48/apps 117 install -d ${D}${datadir}/icons/hicolor/48x48/apps
122 install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps 118 install ${UNPACKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
123 fi 119 fi
124 120
125 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then 121 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
126 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland 122 install -Dm 644 ${UNPACKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
127 fi 123 fi
128 124
129 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then 125 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
130 install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify 126 install -Dm 644 ${UNPACKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
131 fi 127 fi
132 128
133 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then 129 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
@@ -166,12 +162,15 @@ LIC_FILES_CHKSUM += "file://LICENSE;md5=d79ee9e66bb0f95d3386a7acae780b70"
166 162
167DEFAULT_PREFERENCE = "-1" 163DEFAULT_PREFERENCE = "-1"
168 164
165DEPENDS:append = " libdisplay-info"
166
169SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz" 167SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
170SRC_URI:prepend = "git://github.com/nxp-imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} " 168SRC_URI:prepend = "${WESTON_SRC};branch=${SRCBRANCH} "
171SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch" 169WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https"
172SRCBRANCH = "weston-imx-12.0.3" 170SRCBRANCH = "weston-imx-14.0.1"
173SRCREV = "b0d890915ee191ceb10e79ea9a830281f5c6258f" 171SRCREV = "0fd5d3ab75346e525b565039a7b8bf5d9008be78"
174S = "${WORKDIR}/git" 172
173SRC_URI:remove = "file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch"
175 174
176PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11" 175PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
177PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}" 176PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}"
@@ -181,6 +180,9 @@ PACKAGECONFIG_G2D ??= ""
181PACKAGECONFIG_G2D:imxgpu2d ??= "imxg2d" 180PACKAGECONFIG_G2D:imxgpu2d ??= "imxg2d"
182PACKAGECONFIG_G2D:mx93-nxp-bsp ??= "imxg2d" 181PACKAGECONFIG_G2D:mx93-nxp-bsp ??= "imxg2d"
183 182
183# Remove no longer supported colord
184PACKAGECONFIG[colord] = ""
185
184# Weston with i.MX G2D renderer 186# Weston with i.MX G2D renderer
185PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d" 187PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d"
186 188
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bb
index a9705a233..1d7ee80f6 100644
--- a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb
+++ b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bb
@@ -1,6 +1,6 @@
1# This recipe copy helps keep meta-freescale master branch compatible 1# This recipe copy helps keep meta-freescale master branch compatible
2# with Yocto langdale. 2# with Yocto walnascar.
3# (From OE-Core rev: 35fdbd0ea81650a0421d50fb53989d96c5956331) 3# (From OE-Core rev: 737e612ca36bbdf415a911644eb7592cf9389846847b47fa46dc705bd754d2d7)
4 4
5SUMMARY = "XWayland is an X Server that runs under Wayland." 5SUMMARY = "XWayland is an X Server that runs under Wayland."
6DESCRIPTION = "XWayland is an X Server running as a Wayland client, \ 6DESCRIPTION = "XWayland is an X Server running as a Wayland client, \
@@ -16,22 +16,23 @@ LICENSE = "MIT"
16LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" 16LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
17 17
18SRC_URI = "https://www.x.org/archive/individual/xserver/${BP_ORIGINAL}.tar.xz" 18SRC_URI = "https://www.x.org/archive/individual/xserver/${BP_ORIGINAL}.tar.xz"
19BP_ORIGINAL = "${BPN}-23.1.1" 19BP_ORIGINAL = "${BPN}-24.1.6"
20SRC_URI[sha256sum] = "fb9461f5cb9fea5e07e91882311b0c88b43e8843b017ebac05eb5af69aa34c15" 20SRC_URI[sha256sum] = "737e612ca36bbdf415a911644eb7592cf9389846847b47fa46dc705bd754d2d7"
21S = "${WORKDIR}/${BP_ORIGINAL}" 21S = "${UNPACKDIR}/${BP_ORIGINAL}"
22 22
23UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar" 23UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
24 24
25inherit meson features_check pkgconfig 25inherit meson features_check pkgconfig
26REQUIRED_DISTRO_FEATURES = "x11 opengl" 26REQUIRED_DISTRO_FEATURES = "x11 opengl"
27 27
28DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt" 28DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt libtirpc"
29 29
30OPENGL_PKGCONFIGS = "glx glamor dri3" 30OPENGL_PKGCONFIGS = "glx glamor dri3"
31PACKAGECONFIG ??= "${XORG_CRYPTO} \ 31PACKAGECONFIG ??= "${XORG_CRYPTO} ${XWAYLAND_EI} \
32 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ 32 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
33" 33"
34PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence" 34PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence"
35PACKAGECONFIG[libdecor] = "-Dlibdecor=true,-Dlibdecor=false,libdecor"
35PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" 36PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11"
36PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" 37PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl"
37PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" 38PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
@@ -42,6 +43,10 @@ XORG_CRYPTO ??= "openssl"
42PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" 43PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
43PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" 44PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
44PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" 45PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
46XWAYLAND_EI ??= "xwayland_ei_false"
47PACKAGECONFIG[xwayland_ei_false] = "-Dxwayland_ei=false"
48PACKAGECONFIG[xwayland_ei_portal] = "-Dxwayland_ei=portal,,libei"
49PACKAGECONFIG[xwayland_ei_socket] = "-Dxwayland_ei=socket,,libei"
45 50
46do_install:append() { 51do_install:append() {
47 # remove files not needed and clashing with xserver-xorg 52 # remove files not needed and clashing with xserver-xorg
@@ -51,3 +56,7 @@ do_install:append() {
51FILES:${PN} += "${libdir}/xorg/protocol.txt" 56FILES:${PN} += "${libdir}/xorg/protocol.txt"
52 57
53RDEPENDS:${PN} += "xkbcomp" 58RDEPENDS:${PN} += "xkbcomp"
59
60CVE_STATUS_GROUPS = "CVE_STATUS_REDHAT"
61CVE_STATUS_REDHAT = "CVE-2025-26594 CVE-2025-26595 CVE-2025-26596 CVE-2025-26597 CVE-2025-26598 CVE-2025-26599 CVE-2025-26600 CVE-2025-26601"
62CVE_STATUS_REDHAT[status] = "fixed-version: these are tracked as versionless redhat CVEs in NVD DB, fixed in 24.1.6"
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bbappend
index f71ba16c3..d8f5bdde5 100644
--- a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
+++ b/recipes-graphics/xwayland/xwayland_24.1.6.imx.bbappend
@@ -6,10 +6,8 @@ SRC_URI:append:imxgpu = " \
6 6
7OPENGL_PKGCONFIGS:remove:imxgpu = "${OPENGL_PKGCONFIGS_REMOVE_IMXGPU}" 7OPENGL_PKGCONFIGS:remove:imxgpu = "${OPENGL_PKGCONFIGS_REMOVE_IMXGPU}"
8OPENGL_PKGCONFIGS_REMOVE_IMXGPU = "" 8OPENGL_PKGCONFIGS_REMOVE_IMXGPU = ""
9OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx6-nxp-bsp = "glamor glx" 9OPENGL_PKGCONFIGS_REMOVE_IMXGPU:imx-nxp-bsp = "glamor glx"
10OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx7-nxp-bsp = "glamor glx"
11OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx" 10OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx"
12OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx9-nxp-bsp = "glamor glx"
13 11
14# links with imx-gpu libs which are pre-built for glibc 12# links with imx-gpu libs which are pre-built for glibc
15# gcompat will address it during runtime 13# gcompat will address it during runtime
@@ -17,4 +15,4 @@ LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
17 15
18RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat" 16RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat"
19 17
20PACKAGE_ARCH = "${MACHINE_SOCARCH}" 18PACKAGE_ARCH:imxgpu = "${MACHINE_SOCARCH}"
diff --git a/recipes-kernel/ceetm/ceetm_git.bb b/recipes-kernel/ceetm/ceetm_git.bb
index 1059e0061..947a31280 100644
--- a/recipes-kernel/ceetm/ceetm_git.bb
+++ b/recipes-kernel/ceetm/ceetm_git.bb
@@ -9,11 +9,9 @@ SRC_URI:append = " file://0001-Makefile-update-CFLAGS.patch \
9" 9"
10DEPENDS = "iproute2" 10DEPENDS = "iproute2"
11 11
12S = "${WORKDIR}/git" 12export IPROUTE2_DIR = "${STAGING_DIR_TARGET}"
13
14export IPROUTE2_DIR="${STAGING_DIR_TARGET}"
15WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" 13WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
16export CROSS_COMPILE="${WRAP_TARGET_PREFIX}" 14export CROSS_COMPILE = "${WRAP_TARGET_PREFIX}"
17 15
18LDFLAGS += "${TOOLCHAIN_OPTIONS}" 16LDFLAGS += "${TOOLCHAIN_OPTIONS}"
19 17
diff --git a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
index 553e2013c..054cb1fb9 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
@@ -7,8 +7,6 @@ inherit module
7SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/auto-resp;branch=nxp/sdk-v2.0.x;protocol=https" 7SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/auto-resp;branch=nxp/sdk-v2.0.x;protocol=https"
8SRCREV = "9a74743167dcfcfbca5056eedbff9a52337c9712" 8SRCREV = "9a74743167dcfcfbca5056eedbff9a52337c9712"
9 9
10S = "${WORKDIR}/git"
11
12EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} SYSROOT=${STAGING_DIR_TARGET}" 10EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} SYSROOT=${STAGING_DIR_TARGET}"
13export KERNEL_PATH 11export KERNEL_PATH
14 12
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
index 13793132a..053239365 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
@@ -12,8 +12,6 @@ PV .= "+git${SRCPV}"
12SRCREV = "4d035200e7b15d2713d49979a1d05f201b92cf4c" 12SRCREV = "4d035200e7b15d2713d49979a1d05f201b92cf4c"
13SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https;branch=master" 13SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https;branch=master"
14 14
15S = "${WORKDIR}/git"
16
17inherit module 15inherit module
18 16
19KERNEL_MODULE_AUTOLOAD = "galcore" 17KERNEL_MODULE_AUTOLOAD = "galcore"
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb
index e48d72585..f55ca7084 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p3.0.bb
@@ -7,14 +7,14 @@ allowing flexibility to use a newer graphics release with an older kernel."
7LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" 8LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
9 9
10SRC_URI = "${KERNEL_SRC};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \ 10SRC_URI = "${KERNEL_SRC};subpath=drivers/mxc/gpu-viv;destsuffix=${S}/src \
11 file://Add-makefile.patch" 11 file://Add-makefile.patch"
12KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" 12KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
13SRCBRANCH = "lf-6.6.y" 13SRCBRANCH = "lf-6.12.y"
14LOCALVERSION = "-6.6.3-1.0.0" 14LOCALVERSION = "-6.12.3-1.0.0"
15SRCREV = "3571388e9660f96b65b5fdcc093cc973ee502949" 15SRCREV = "d8c9f00d41b313a1ac122530524a62604c6871c9"
16 16
17S = "${WORKDIR}/git" 17S = "${UNPACKDIR}/${BP}"
18 18
19inherit module 19inherit module
20 20
diff --git a/recipes-kernel/kernel-modules/kernel-module-ipc.inc b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
index d2316fe00..50d8cca62 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ipc.inc
+++ b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
@@ -8,8 +8,6 @@ inherit module qoriq_build_64bit_kernel
8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ipc;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ipc;protocol=https;nobranch=1"
9SRCREV = "74d662707558290f070f9589177db730444bc435" 9SRCREV = "74d662707558290f070f9589177db730444bc435"
10 10
11S = "${WORKDIR}/git"
12
13do_configure[depends] += "virtual/kernel:do_shared_workdir" 11do_configure[depends] += "virtual/kernel:do_shared_workdir"
14do_compile:prepend () { 12do_compile:prepend () {
15 cd ${S}/kernel 13 cd ${S}/kernel
diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.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.1.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb
new file mode 100644
index 000000000..62dd737cb
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.25.1.bb
@@ -0,0 +1,22 @@
1# Copyright (C) 2020-2023 NXP
2
3DESCRIPTION = "Kernel loadable module for ISP"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://${S}/../LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
6
7SRC_URI = "${ISP_KERNEL_SRC};branch=${SRCBRANCH}"
8ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https"
9SRCBRANCH = "lf-6.12.y_1.0.0"
10SRCREV = "78d717bb22819df9d988ef1b4e3cca1acf61095d"
11
12S = "${UNPACKDIR}/${BP}/vvcam/v4l2"
13
14inherit module
15
16MODULES_MODULE_SYMVERS_LOCATION = "dwe"
17
18DEBUG_PREFIX_MAP:prepend = " \
19 -fmacro-prefix-map=${UNPACKDIR}/${BP}/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
20 -fdebug-prefix-map=${UNPACKDIR}/${BP}/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} "
21
22COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
index ba1561618..9c5ce8f17 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
@@ -10,8 +10,6 @@ inherit module autotools-brokensep
10SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ls-dbg;branch=nxp/master;protocol=https" 10SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ls-dbg;branch=nxp/master;protocol=https"
11SRCREV = "40501f6659e880d38508cdd34a4df2d348d1c68e" 11SRCREV = "40501f6659e880d38508cdd34a4df2d348d1c68e"
12 12
13S = "${WORKDIR}/git"
14
15EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_DIR}" 13EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_DIR}"
16EXTRA_OEMAKE += 'SYSROOT="${D}"' 14EXTRA_OEMAKE += 'SYSROOT="${D}"'
17 15
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch
new file mode 100644
index 000000000..72e75fd57
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch
@@ -0,0 +1,33 @@
1From f6079560bd0010a7f34bd18fec8fab4df65b22ea Mon Sep 17 00:00:00 2001
2From: Vitor Soares <vitor.soares@toradex.com>
3Date: Wed, 30 Apr 2025 15:12:06 +0100
4Subject: [PATCH] mlinux: moal_main: lower PRINTM_MMSG() log level to KERN_INFO
5
6Currently, the PRINTM_MMSG macro uses KERN_ALERT for printing messages.
7KERN_ALERT is intended for critical conditions requiring immediate
8attention (e.g., hardware failure), and using it for normal debug output
9is misleading and can clutter system logs.
10
11This patch lowers the log level to KERN_INFO, which is more appropriate
12for informational messages that are not indicative of system-critical
13failures.
14
15Upstream-Status: Inappropriate [upstream not accepting patches]
16Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
17---
18 mlinux/moal_main.h | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/mlinux/moal_main.h b/mlinux/moal_main.h
22index 4328652..27121e0 100644
23--- a/mlinux/moal_main.h
24+++ b/mlinux/moal_main.h
25@@ -3529,7 +3529,7 @@ extern t_u32 drvdbg;
26 do { \
27 woal_print(MMSG, msg); \
28 if (drvdbg & MMSG) \
29- printk(KERN_ALERT msg); \
30+ printk(KERN_INFO msg); \
31 } while (0)
32
33 static inline void woal_print(t_u32 level, char *fmt, ...)
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
index 48e9cc3bc..70386dc0d 100644
--- a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
@@ -1,6 +1,6 @@
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
5# For backwards compatibility 5# For backwards compatibility
6PROVIDES += "kernel-module-nxp89xx" 6PROVIDES += "kernel-module-nxp89xx"
@@ -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.3_1.0.0" 11SRCBRANCH = "lf-6.12.3_1.0.0"
12MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https" 12MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https"
13SRC_URI = "${MRVL_SRC};branch=${SRCBRANCH}" 13SRC_URI = " \
14SRCREV = "a84df583155bad2a396a937056805550bdf655ab" 14 ${MRVL_SRC};branch=${SRCBRANCH} \
15 15 file://mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch \
16S = "${WORKDIR}/git/mxm_wifiex/wlan_src" 16"
17SRCREV = "0396cfb38ad73a3d587cd0f8c139b47801e70891"
17 18
18inherit module 19inherit module
19 20
20EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR} -C ${STAGING_KERNEL_BUILDDIR} M=${S}" 21EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR} -C ${STAGING_KERNEL_BUILDDIR} M=${S}"
21
22COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb b/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
index efccc286d..e7ae8556e 100644
--- a/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
@@ -7,6 +7,6 @@ SRCREV = "0f31fbcbe9ab1ab9c424da34f70c82314b16f8de"
7 7
8inherit module 8inherit module
9 9
10S = "${WORKDIR}/git/uio-driver" 10S = "${UNPACKDIR}/${BP}/uio-driver"
11 11
12COMPATIBLE_MACHINE = "(t1040|t1042)" 12COMPATIBLE_MACHINE = "(t1040|t1042)"
diff --git a/recipes-kernel/linux/linux-fslc-imx_6.6.bb b/recipes-kernel/linux/linux-fslc-imx_6.12.bb
index 9511d6549..ef87e8146 100644
--- a/recipes-kernel/linux/linux-fslc-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.12.bb
@@ -28,20 +28,38 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
28# ------------------------------------------------------------------------------ 28# ------------------------------------------------------------------------------
29# 1. Stable (tag or SHA(s)) 29# 1. Stable (tag or SHA(s))
30# ------------------------------------------------------------------------------ 30# ------------------------------------------------------------------------------
31# tag: v6.6.28 31# tag: v6.12.3
32# 32#
33# ------------------------------------------------------------------------------ 33# ------------------------------------------------------------------------------
34# 2. NXP-specific (tag or SHA(s)) 34# 2. NXP-specific (tag or SHA(s))
35# ------------------------------------------------------------------------------ 35# ------------------------------------------------------------------------------
36# tag: lf-6.6.3-1.0.00 36# tag: lf-6.12.3-1.0.0
37# 37#
38# ------------------------------------------------------------------------------ 38# ------------------------------------------------------------------------------
39# 3. Critical patches (SHA(s)) 39# 3. Critical patches (SHA(s))
40# ------------------------------------------------------------------------------ 40# ------------------------------------------------------------------------------
41# - f67cb9a5b4fb7 Revert "net: stmmac: fix FPE events losing" 41# The list includes well-known commits not yet upstreamed. Reverts address merge
42# - 1918c2eb8b07f Revert "dmaengine: fsl-edma: fix DMA channel leak in eDMAv4" 42# conflicts, prioritizing NXP BSP source code as the latest vendor updates.
43# - 42289407ee38f Revert "dmaengine: fsl-edma: Add judgment on enabling round robin arbitration" 43# Additional commits may exist to better acommodate yocto builds.
44# - 952f79923f055 Revert "dmaengine: fsl-edma: Do not suspend and resume the masked dma channel when the system is sleeping" 44#
45# $ git log --oneline --no-merges v6.12.34.. ^mainline/linux-6.12.y ^NXP/lf-6.12.y
46# - 8d94e52076a1 Revert "firmware: arm_scmi: Fix i.MX build dependency"
47# - adefe4ecd9c6 Revert "PCI: imx6: Fix suspend/resume support on i.MX6QDL"
48# - 2837cecae149 imx8mp-olimex.dts: CSI GPIO pins
49# - 29efe53139ac hwrng: optee: support generic crypto
50# - 7f80ce9b7c82 arm64: dts: imx8mq: drop cpu-idle-states
51# - 5e3b6ecf85c4 of: enable using OF_DYNAMIC without OF_UNITTEST
52# - 1bd794e571f6 gpu: drm: cadence: select hdmi helper
53# - d74361dc9bdc imx:dts:imx8mm-evkb: fix the pmic name to avoid duplicated label error
54# - 90900e871607 arm64: dts: imx8mm-evk-qca-wifi: enable support for bluetooth
55# - 24ef2924dd5f drm: of: Fix build without CONFIG_OF
56# - a97fe216ede5 i2c: imx: Remove unnecessary clock reconfiguration
57# - 93e7f87e7bc6 drm/imx: lcdifv3: Fix videomode settings
58# - ff2397021b0d clk: imx: imx8qm: add more resources to whitelist
59# - e0fc64f7a2f8 arm64: dts: imx8: img: add #address-cells and #size-cells to I2C MIPI CSI nodes
60# - 98b777bfa849 arm64: dts: imx8qm: add missing imx8-ss-cm40.dtsi include
61# - 2d0aefc287a7 arm64: imx_v8_defconfig: Enable CONFIG_GPIO_VF610
62# - 44aadbd00c61 imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND
45# 63#
46# NOTE to upgraders: 64# NOTE to upgraders:
47# This recipe should NOT collect individual patches, they should be applied to 65# This recipe should NOT collect individual patches, they should be applied to
@@ -51,16 +69,16 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
51 69
52require linux-imx.inc 70require linux-imx.inc
53 71
54KBRANCH = "6.6-1.0.x-imx" 72KBRANCH = "6.12-1.0.x-imx"
55SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" 73SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
56SRCREV = "776652a165f5bbf30c68a5f6213d75b02e8df11c" 74SRCREV = "c63da44a120c9ad720877a74f0c94e2d9b08cab1"
57 75
58# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 76# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
59# required by kernel-yocto.bbclass. 77# required by kernel-yocto.bbclass.
60# 78#
61# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 79# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
62# should be updated once patchlevel is merged. 80# should be updated once patchlevel is merged.
63LINUX_VERSION = "6.6.28" 81LINUX_VERSION = "6.12.34"
64 82
65KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 83KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
66KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 84KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
@@ -68,7 +86,7 @@ KBUILD_DEFCONFIG:mx8-generic-bsp = "imx_v8_defconfig"
68KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig" 86KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig"
69 87
70# Local version indicates the branch name in the NXP kernel tree where patches are collected from. 88# Local version indicates the branch name in the NXP kernel tree where patches are collected from.
71LOCALVERSION = "-lf-6.6.y" 89LOCALVERSION = "-lf-6.12.y"
72 90
73DEFAULT_PREFERENCE = "1" 91DEFAULT_PREFERENCE = "1"
74 92
diff --git a/recipes-kernel/linux/linux-fslc-lts_6.1.bb b/recipes-kernel/linux/linux-fslc-lts_6.1.bb
index 8e1bab4be..ae1e71b18 100644
--- a/recipes-kernel/linux/linux-fslc-lts_6.1.bb
+++ b/recipes-kernel/linux/linux-fslc-lts_6.1.bb
@@ -21,10 +21,10 @@ SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=
21# 21#
22# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 22# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
23# should be updated once patchlevel is merged. 23# should be updated once patchlevel is merged.
24LINUX_VERSION = "6.1.72" 24LINUX_VERSION = "6.1.111"
25 25
26KBRANCH = "6.1.x+fslc" 26KBRANCH = "6.1.x+fslc"
27SRCREV = "b80c9dede70132da3ae7feb949fe0803aad3db24" 27SRCREV = "195925841506cd58552d73ebabadd08d6016e4c6"
28 28
29KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 29KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
30KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 30KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-fslc-lts_6.6.bb b/recipes-kernel/linux/linux-fslc-lts_6.6.bb
new file mode 100644
index 000000000..cc067262a
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc-lts_6.6.bb
@@ -0,0 +1,37 @@
1# Copyright (C) 2012-2024 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3#
4# SPDX-License-Identifier: MIT
5#
6
7SUMMARY = "FSL Community BSP Linux LTS based kernel with backported features and fixes"
8DESCRIPTION = "Linux kernel based on LTS kernel used by FSL Community BSP in order to \
9provide support for some backported features and fixes, or because it was applied in upstream \
10and will not become part of a LTS version, or because it is not applicable for \
11upstreaming in any form."
12
13require linux-imx.inc
14
15SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
16
17# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
18# required by kernel-yocto.bbclass.
19#
20# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
21# should be updated once patchlevel is merged.
22LINUX_VERSION = "6.6.52"
23
24KBRANCH = "6.6.x+fslc"
25SRCREV = "3768fbd9dd8e0da9e7a24366b6a65a7f8ca25986"
26
27KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
28KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
29KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v6_v7_defconfig"
30KBUILD_DEFCONFIG:mx8-generic-bsp = "defconfig"
31KBUILD_DEFCONFIG:mx9-generic-bsp = "defconfig"
32KBUILD_DEFCONFIG:mxs-generic-bsp = "mxs_defconfig"
33KBUILD_DEFCONFIG:vf-generic-bsp = "imx_v6_v7_defconfig"
34
35LOCALVERSION = "-fslc"
36
37COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc_6.6.bb b/recipes-kernel/linux/linux-fslc_6.12.bb
index 9132435e4..8b66b82d4 100644
--- a/recipes-kernel/linux/linux-fslc_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc_6.12.bb
@@ -1,4 +1,4 @@
1# Copyright (C) 2012-2019 O.S. Systems Software LTDA. 1# Copyright (C) 2012-2024 O.S. Systems Software LTDA.
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#
4# SPDX-License-Identifier: MIT 4# SPDX-License-Identifier: MIT
@@ -14,19 +14,24 @@ 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.28" 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 = "3beb6fac2c3bda9015892dae8556c5559f2ee234" 32SRCREV = "e92f5b7050c74e8052f071fd2f1d233d9a4b2f30"
26 33
27KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 34KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
28KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
29KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
30KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig" 35KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
31KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v6_v7_defconfig" 36KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v6_v7_defconfig"
32KBUILD_DEFCONFIG:mx8-generic-bsp = "defconfig" 37KBUILD_DEFCONFIG:mx8-generic-bsp = "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 95ec32b04..2f5ba04ee 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-2023 NXP 1# Copyright 2017-2024 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.3-1.0.0" 12 file://0001-video-fbdev-mxc-make-uapi-ipu.h-pxp_dma.h-compatible.patch \
13SRCREV = "ccf0a99701a701fb48a04e31ffe3f9d585a8374a" 13"
14 14SRCBRANCH = "lf-6.12.y"
15S = "${WORKDIR}/git" 15LOCALVERSION = "-lts-${SRCBRANCH}"
16SRCREV = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"
16 17
17do_configure[noexec] = "1" 18do_configure[noexec] = "1"
18 19
@@ -24,7 +25,6 @@ IMX_UAPI_HEADERS = " \
24 hx280enc.h \ 25 hx280enc.h \
25 ipu.h \ 26 ipu.h \
26 imx_vpu.h \ 27 imx_vpu.h \
27 mxc_asrc.h \
28 mxc_dcic.h \ 28 mxc_dcic.h \
29 mxc_mlb.h \ 29 mxc_mlb.h \
30 mxc_sim_interface.h \ 30 mxc_sim_interface.h \
@@ -36,6 +36,11 @@ IMX_UAPI_HEADERS = " \
36 videodev2.h \ 36 videodev2.h \
37" 37"
38 38
39IMX_UAPI_HEADERS_SOUND = " \
40 sound/compress_offload.h \
41 sound/compress_params.h \
42"
43
39do_install() { 44do_install() {
40 # We install all headers inside of B so we can copy only the 45 # We install all headers inside of B so we can copy only the
41 # i.MX-specific ones, and there is no risk of a new header to be 46 # i.MX-specific ones, and there is no risk of a new header to be
@@ -57,6 +62,11 @@ do_install() {
57 install -D -m 0644 ${B}${includedir}/linux/$h \ 62 install -D -m 0644 ${B}${includedir}/linux/$h \
58 ${D}${includedir}/imx/linux/$h 63 ${D}${includedir}/imx/linux/$h
59 done 64 done
65 install -d ${D}${includedir}/imx/linux/sound
66 for h in ${IMX_UAPI_HEADERS_SOUND}; do
67 install -D -m 0644 ${B}${includedir}/$h \
68 ${D}${includedir}/imx/$h
69 done
60} 70}
61 71
62# Allow to build empty main package, this is required in order for -dev package 72# Allow to build empty main package, this is required in order for -dev package
diff --git a/recipes-kernel/linux/linux-imx.inc b/recipes-kernel/linux/linux-imx.inc
index 34d50cfc0..521bd7948 100644
--- a/recipes-kernel/linux/linux-imx.inc
+++ b/recipes-kernel/linux/linux-imx.inc
@@ -19,8 +19,6 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
19 19
20SRC_URI = "git://github.com/nxp-imx/linux-imx;protocol=https;branch=${SRCBRANCH}" 20SRC_URI = "git://github.com/nxp-imx/linux-imx;protocol=https;branch=${SRCBRANCH}"
21 21
22S = "${WORKDIR}/git"
23
24# Tell to kernel class that we would like to use our defconfig to configure the kernel. 22# Tell to kernel class that we would like to use our defconfig to configure the kernel.
25# Otherwise, the --allnoconfig would be used per default which leads to mis-configured 23# Otherwise, the --allnoconfig would be used per default which leads to mis-configured
26# kernel. 24# kernel.
@@ -33,7 +31,7 @@ S = "${WORKDIR}/git"
33# specified, and should be restored with their defaults, not set to 'n'. 31# specified, and should be restored with their defaults, not set to 'n'.
34# To properly expand a defconfig like this, we need to specify: KCONFIG_MODE="--alldefconfig" 32# To properly expand a defconfig like this, we need to specify: KCONFIG_MODE="--alldefconfig"
35# in the kernel recipe include. 33# in the kernel recipe include.
36KCONFIG_MODE="--alldefconfig" 34KCONFIG_MODE = "--alldefconfig"
37 35
38# We need to pass it as param since kernel might support more then one 36# We need to pass it as param since kernel might support more then one
39# machine, with different entry points 37# machine, with different entry points
diff --git a/recipes-kernel/linux/linux-imx_6.6.bb b/recipes-kernel/linux/linux-imx_6.12.bb
index 409e1f662..05d9c4ea6 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-2023 (C) NXP 2# Copyright 2017-2024 (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,16 +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.3-1.0.0" 16LOCALVERSION = "-6.12.3-1.1.0"
17SRCREV = "ccf0a99701a701fb48a04e31ffe3f9d585a8374a" 17SRCREV = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"
18 18
19# 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
20# required by kernel-yocto.bbclass. 20# required by kernel-yocto.bbclass.
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.6.3" 24LINUX_VERSION = "6.12.3"
25 25
26KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 26KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
27KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 27KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-qoriq.inc b/recipes-kernel/linux/linux-qoriq.inc
index 5d28ae84a..7243a345c 100644
--- a/recipes-kernel/linux/linux-qoriq.inc
+++ b/recipes-kernel/linux/linux-qoriq.inc
@@ -5,8 +5,6 @@ SUMMARY = "Linux Kernel for NXP QorIQ platforms"
5SECTION = "kernel" 5SECTION = "kernel"
6LICENSE = "GPL-2.0-only" 6LICENSE = "GPL-2.0-only"
7 7
8S = "${WORKDIR}/git"
9
10DEPENDS:append = " libgcc" 8DEPENDS:append = " libgcc"
11# not put Images into /boot of rootfs, install kernel-image if needed 9# not put Images into /boot of rootfs, install kernel-image if needed
12RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" 10RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
@@ -44,13 +42,13 @@ do_merge_delta_config() {
44 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do 42 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do
45 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then 43 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then
46 oe_runmake -C ${S} O=${B} ${deltacfg} 44 oe_runmake -C ${S} O=${B} ${deltacfg}
47 elif [ -f "${WORKDIR}/${deltacfg}" ]; then 45 elif [ -f "${UNPACKDIR}/${deltacfg}" ]; then
48 ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} 46 ${S}/scripts/kconfig/merge_config.sh -m .config ${UNPACKDIR}/${deltacfg}
49 elif [ -f "${deltacfg}" ]; then 47 elif [ -f "${deltacfg}" ]; then
50 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} 48 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg}
51 fi 49 fi
52 done 50 done
53 cp .config ${WORKDIR}/defconfig 51 cp .config ${UNPACKDIR}/defconfig
54} 52}
55addtask merge_delta_config before do_kernel_localversion after do_patch 53addtask merge_delta_config before do_kernel_localversion after do_patch
56 54
diff --git a/recipes-kernel/skmm-host/skmm-host_git.bb b/recipes-kernel/skmm-host/skmm-host_git.bb
index 9e75f5efb..cc226bd9a 100644
--- a/recipes-kernel/skmm-host/skmm-host_git.bb
+++ b/recipes-kernel/skmm-host/skmm-host_git.bb
@@ -8,9 +8,7 @@ inherit module qoriq_build_64bit_kernel
8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-host;protocol=https;nobranch=1" 8SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-host;protocol=https;nobranch=1"
9SRCREV = "d5912ebdb8d3b29b1e2df52710e8821d1ce3eb80" 9SRCREV = "d5912ebdb8d3b29b1e2df52710e8821d1ce3eb80"
10 10
11S = "${WORKDIR}/git" 11EXTRA_OEMAKE = 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
12
13EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
14 12
15FILES:${PN} += "/etc/skmm/ /usr/bin/" 13FILES:${PN} += "/etc/skmm/ /usr/bin/"
16 14
diff --git a/recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb b/recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb
new file mode 100644
index 000000000..ae762cb9a
--- /dev/null
+++ b/recipes-libraries/ethos-u-driver-stack/ethos-u-driver-stack_24.05.bb
@@ -0,0 +1,36 @@
1SUMMARY = "The Linux driver stack for Arm(R) Ethos(TM)-U NPU"
2DESCRIPTION = "The Linux driver stack for Arm(R) Ethos(TM)-U provides \
3an example of how a rich operating system like Linux can dispatch \
4inferences to an Arm Cortex(R)-M subsystem, consisting of an Arm \
5Cortex-M of choice and an Arm Ethos-U NPU."
6LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e"
8
9DEPENDS = "flatbuffers python3-pybind11 python3-pybind11-native"
10
11SRC_URI = "${ETHOS_U_SRC};branch=${SRCBRANCH}"
12ETHOS_U_SRC ?= "git://github.com/nxp-imx/ethos-u-driver-stack-imx.git;protocol=https"
13SRCBRANCH = "lf-6.12.3_1.0.0"
14SRCREV = "a80c51d77c91f1a8266afc5d8056fb981de4b504"
15
16inherit cmake setuptools3
17
18SETUPTOOLS_BUILD_ARGS = "build_ext --library-dirs ${B}/driver_library"
19
20do_configure() {
21 cmake_do_configure
22}
23
24do_compile () {
25 cmake_do_compile
26 setuptools3_do_compile
27}
28
29do_install () {
30 cmake_do_install
31 setuptools3_do_install
32}
33
34RDEPENDS:${PN} = "flatbuffers python3-numpy python3-pillow"
35
36COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
diff --git a/recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb b/recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb
new file mode 100644
index 000000000..1f16dce90
--- /dev/null
+++ b/recipes-libraries/ethos-u-driver-stack/ethos-u-firmware_24.05.bb
@@ -0,0 +1,28 @@
1SUMMARY = "The firmware of Cortex(R)-M33 for Arm(R) Ethos(TM)-U NPU"
2DESCRIPTION = "The firmware of Cortex(R)-M33 for Arm(R) Ethos(TM)-U NPU"
3LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-3-Clause"
4LIC_FILES_CHKSUM = "\
5 file://LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e \
6 file://LICENSE-GPL-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://LICENSE-BSD-3.txt;md5=0858ec9c7a80c4a2cf16e4f825a2cc91 \
8"
9
10SRC_URI = "${ETHOS_U_FIRMWARE_SRC};branch=${SRCBRANCH}"
11ETHOS_U_FIRMWARE_SRC ?= "git://github.com/nxp-imx/ethos-u-firmware.git;protocol=https"
12SRCBRANCH = "lf-6.12.3_1.0.0"
13SRCREV = "3dbedc11bd2a4ba56af9fbe9d285b5bf13f1a088"
14
15ETHOS_U_FIRMWARE = "ethosu_firmware"
16ETHOS_U_FIRMWARE:imx93-9x9-lpddr4-qsb = "ethosu_firmware_9x9"
17ETHOS_U_FIRMWARE:imx93-11x11-lpddr4x-evk = "ethosu_firmware_11x11"
18ETHOS_U_FIRMWARE:imx93-14x14-lpddr4x-evk = "ethosu_firmware_14x14"
19
20do_install () {
21 install -d ${D}${nonarch_base_libdir}/firmware
22 install -m 0644 ${S}/${ETHOS_U_FIRMWARE} ${D}${nonarch_base_libdir}/firmware/ethosu_firmware
23}
24
25FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
26INSANE_SKIP:${PN} = "arch"
27
28COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
index 7d20c6782..7ae8b8fef 100644
--- a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
@@ -1,4 +1,4 @@
1From 49a7eac8e02c33cae8a168e6d22d9ff8aaf86d44 Mon Sep 17 00:00:00 2001 1From 3fa81ebaf8bac6b167776888ae26c6c140d8aebc Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <b02247@freescale.com> 2From: Shengjiu Wang <b02247@freescale.com>
3Date: Thu, 5 Jun 2014 17:37:47 +0800 3Date: Thu, 5 Jun 2014 17:37:47 +0800
4Subject: [PATCH] add conf for multichannel support in imx 4Subject: [PATCH] add conf for multichannel support in imx
@@ -6,19 +6,18 @@ Subject: [PATCH] add conf for multichannel support in imx
6Upstream-Status: Inappropriate [platform specific] 6Upstream-Status: Inappropriate [platform specific]
7 7
8Signed-off-by: Shengjiu Wang <b02247@freescale.com> 8Signed-off-by: Shengjiu Wang <b02247@freescale.com>
9
10--- 9---
11 src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++ 10 src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++
12 src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++ 11 src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++
13 src/conf/cards/Makefile.am | 4 +- 12 src/conf/cards/Makefile.am | 2 +
14 src/conf/cards/aliases.conf | 2 + 13 src/conf/cards/aliases.conf | 2 +
15 4 files changed, 166 insertions(+), 1 deletion(-) 14 4 files changed, 165 insertions(+)
16 create mode 100644 src/conf/cards/CS42888.conf 15 create mode 100644 src/conf/cards/CS42888.conf
17 create mode 100644 src/conf/cards/IMX-HDMI.conf 16 create mode 100644 src/conf/cards/IMX-HDMI.conf
18 17
19diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf 18diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf
20new file mode 100644 19new file mode 100644
21index 0000000..671a284 20index 000000000000..671a2845894b
22--- /dev/null 21--- /dev/null
23+++ b/src/conf/cards/CS42888.conf 22+++ b/src/conf/cards/CS42888.conf
24@@ -0,0 +1,94 @@ 23@@ -0,0 +1,94 @@
@@ -118,7 +117,7 @@ index 0000000..671a284
118+# vim: ft=alsaconf 117+# vim: ft=alsaconf
119diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf 118diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf
120new file mode 100644 119new file mode 100644
121index 0000000..a51509e 120index 000000000000..a51509e8ad5a
122--- /dev/null 121--- /dev/null
123+++ b/src/conf/cards/IMX-HDMI.conf 122+++ b/src/conf/cards/IMX-HDMI.conf
124@@ -0,0 +1,67 @@ 123@@ -0,0 +1,67 @@
@@ -190,22 +189,20 @@ index 0000000..a51509e
190+ 189+
191+# vim: ft=alsaconf 190+# vim: ft=alsaconf
192diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 191diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
193index 00999f0..fbf0697 100644 192index f387cf4197da..cbd2cd04227d 100644
194--- a/src/conf/cards/Makefile.am 193--- a/src/conf/cards/Makefile.am
195+++ b/src/conf/cards/Makefile.am 194+++ b/src/conf/cards/Makefile.am
196@@ -58,7 +58,9 @@ cfg_files = aliases.conf \ 195@@ -1,6 +1,8 @@
197 VIA8237.conf \ 196 alsaconfigdir = @ALSA_CONFIG_DIR@
198 VX222.conf \ 197 alsadir = $(alsaconfigdir)/cards
199 VXPocket.conf \ 198 cfg_files = aliases.conf \
200- VXPocket440.conf
201+ VXPocket440.conf \
202+ CS42888.conf \ 199+ CS42888.conf \
203+ IMX-HDMI.conf 200+ IMX-HDMI.conf \
204 201 AACI.conf \
205 if BUILD_ALISP 202 ATIIXP.conf \
206 cfg_files += aliases.alisp 203 ATIIXP-SPDMA.conf \
207diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 204diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
208index 7e352f7..a9e6d76 100644 205index a54824ae636b..0aa874d7434f 100644
209--- a/src/conf/cards/aliases.conf 206--- a/src/conf/cards/aliases.conf
210+++ b/src/conf/cards/aliases.conf 207+++ b/src/conf/cards/aliases.conf
211@@ -57,6 +57,8 @@ CMI8786 cards.CMI8788 208@@ -57,6 +57,8 @@ CMI8786 cards.CMI8788
@@ -217,3 +214,6 @@ index 7e352f7..a9e6d76 100644
217 214
218 <confdir:ctl/default.conf> 215 <confdir:ctl/default.conf>
219 <confdir:pcm/default.conf> 216 <confdir:pcm/default.conf>
217--
2182.42.0
219
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch b/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
index 5ec0d2e99..193d507eb 100644
--- a/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
@@ -1,4 +1,4 @@
1From aa4f56c3c952269c36464cc0da9db5a1381648fa Mon Sep 17 00:00:00 2001 1From 3950e1ae36ca53a67b7248137e6033e7e99f79a3 Mon Sep 17 00:00:00 2001
2From: Jaroslav Kysela <perex@perex.cz> 2From: Jaroslav Kysela <perex@perex.cz>
3Date: Wed, 9 Nov 2022 08:11:42 +0100 3Date: Wed, 9 Nov 2022 08:11:42 +0100
4Subject: [PATCH] pcm: rate - fix the crash in 4Subject: [PATCH] pcm: rate - fix the crash in
@@ -24,10 +24,10 @@ Signed-off-by: Jaroslav Kysela <perex@perex.cz>
24 1 file changed, 1 insertion(+), 1 deletion(-) 24 1 file changed, 1 insertion(+), 1 deletion(-)
25 25
26diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c 26diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c
27index 6bb90b8b..ec64604c 100644 27index 9d7e233e8437..d58789eca73b 100644
28--- a/src/pcm/pcm_plugin.c 28--- a/src/pcm/pcm_plugin.c
29+++ b/src/pcm/pcm_plugin.c 29+++ b/src/pcm/pcm_plugin.c
30@@ -622,7 +622,7 @@ int snd_pcm_plugin_may_wait_for_avail_min_conv( 30@@ -626,7 +626,7 @@ int snd_pcm_plugin_may_wait_for_avail_min_conv(
31 * This code is also used by extplug, but extplug does not allow to alter the sampling rate. 31 * This code is also used by extplug, but extplug does not allow to alter the sampling rate.
32 */ 32 */
33 if (conv) 33 if (conv)
@@ -37,5 +37,5 @@ index 6bb90b8b..ec64604c 100644
37 if (slave->avail_min != needed_slave_avail_min) { 37 if (slave->avail_min != needed_slave_avail_min) {
38 snd_pcm_sw_params_t *swparams; 38 snd_pcm_sw_params_t *swparams;
39-- 39--
402.34.1 402.42.0
41 41
diff --git a/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch b/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
index b25aa910e..51e199821 100644
--- a/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
@@ -1,4 +1,4 @@
1From d78b7e2b964c9713c2e9889f4ec85922528ba971 Mon Sep 17 00:00:00 2001 1From 92d2b7d91bc1ec4068ee9371753bb24ad1108827 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com> 2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Wed, 31 Jan 2018 15:06:53 +0800 3Date: Wed, 31 Jan 2018 15:06:53 +0800
4Subject: [PATCH] add ak4458 conf for multichannel support 4Subject: [PATCH] add ak4458 conf for multichannel support
@@ -12,17 +12,16 @@ maximum 8 channels, but ak4458 may support 16 channels
12Upstream-Status: Inappropriate [i.MX specific] 12Upstream-Status: Inappropriate [i.MX specific]
13 13
14Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> 14Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
15
16--- 15---
17 src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++ 16 src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++
18 src/conf/cards/Makefile.am | 3 +- 17 src/conf/cards/Makefile.am | 1 +
19 src/conf/cards/aliases.conf | 1 + 18 src/conf/cards/aliases.conf | 1 +
20 3 files changed, 77 insertions(+), 1 deletion(-) 19 3 files changed, 76 insertions(+)
21 create mode 100644 src/conf/cards/AK4458.conf 20 create mode 100644 src/conf/cards/AK4458.conf
22 21
23diff --git a/src/conf/cards/AK4458.conf b/src/conf/cards/AK4458.conf 22diff --git a/src/conf/cards/AK4458.conf b/src/conf/cards/AK4458.conf
24new file mode 100644 23new file mode 100644
25index 0000000..3b5b195 24index 000000000000..3b5b195f2ca0
26--- /dev/null 25--- /dev/null
27+++ b/src/conf/cards/AK4458.conf 26+++ b/src/conf/cards/AK4458.conf
28@@ -0,0 +1,74 @@ 27@@ -0,0 +1,74 @@
@@ -101,21 +100,19 @@ index 0000000..3b5b195
101+ slave.channels 8 100+ slave.channels 8
102+} 101+}
103diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 102diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
104index fbf0697..34fa5a3 100644 103index cbd2cd04227d..3c29bd65d341 100644
105--- a/src/conf/cards/Makefile.am 104--- a/src/conf/cards/Makefile.am
106+++ b/src/conf/cards/Makefile.am 105+++ b/src/conf/cards/Makefile.am
107@@ -60,7 +60,8 @@ cfg_files = aliases.conf \ 106@@ -3,6 +3,7 @@ alsadir = $(alsaconfigdir)/cards
108 VXPocket.conf \ 107 cfg_files = aliases.conf \
109 VXPocket440.conf \
110 CS42888.conf \ 108 CS42888.conf \
111- IMX-HDMI.conf 109 IMX-HDMI.conf \
112+ IMX-HDMI.conf \ 110+ AK4458.conf \
113+ AK4458.conf 111 AACI.conf \
114 112 ATIIXP.conf \
115 if BUILD_ALISP 113 ATIIXP-SPDMA.conf \
116 cfg_files += aliases.alisp
117diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 114diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
118index a9e6d76..2f0a22a 100644 115index 0aa874d7434f..dda71d99916e 100644
119--- a/src/conf/cards/aliases.conf 116--- a/src/conf/cards/aliases.conf
120+++ b/src/conf/cards/aliases.conf 117+++ b/src/conf/cards/aliases.conf
121@@ -59,6 +59,7 @@ pistachio cards.pistachio-card 118@@ -59,6 +59,7 @@ pistachio cards.pistachio-card
@@ -126,3 +123,6 @@ index a9e6d76..2f0a22a 100644
126 123
127 <confdir:ctl/default.conf> 124 <confdir:ctl/default.conf>
128 <confdir:pcm/default.conf> 125 <confdir:pcm/default.conf>
126--
1272.42.0
128
diff --git a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
index 1f558185d..db76eb749 100644
--- a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
@@ -1,4 +1,4 @@
1From 36aae65dc913e1ebe72366d7ae361897d465e88d Mon Sep 17 00:00:00 2001 1From faa9791070520f8d5e7060e5668efd1302c86c66 Mon Sep 17 00:00:00 2001
2From: Viorel Suman <viorel.suman@nxp.com> 2From: Viorel Suman <viorel.suman@nxp.com>
3Date: Mon, 9 Mar 2020 14:25:46 +0200 3Date: Mon, 9 Mar 2020 14:25:46 +0200
4Subject: [PATCH] add conf for iMX XCVR sound card 4Subject: [PATCH] add conf for iMX XCVR sound card
@@ -6,17 +6,16 @@ Subject: [PATCH] add conf for iMX XCVR sound card
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
8Signed-off-by: Viorel Suman <viorel.suman@nxp.com> 8Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
9
10--- 9---
11 src/conf/cards/IMX-XCVR.conf | 39 ++++++++++++++++++++++++++++++++++++ 10 src/conf/cards/IMX-XCVR.conf | 39 ++++++++++++++++++++++++++++++++++++
12 src/conf/cards/Makefile.am | 3 ++- 11 src/conf/cards/Makefile.am | 1 +
13 src/conf/cards/aliases.conf | 1 + 12 src/conf/cards/aliases.conf | 1 +
14 3 files changed, 42 insertions(+), 1 deletion(-) 13 3 files changed, 41 insertions(+)
15 create mode 100755 src/conf/cards/IMX-XCVR.conf 14 create mode 100755 src/conf/cards/IMX-XCVR.conf
16 15
17diff --git a/src/conf/cards/IMX-XCVR.conf b/src/conf/cards/IMX-XCVR.conf 16diff --git a/src/conf/cards/IMX-XCVR.conf b/src/conf/cards/IMX-XCVR.conf
18new file mode 100755 17new file mode 100755
19index 0000000..009000c 18index 000000000000..009000c63a19
20--- /dev/null 19--- /dev/null
21+++ b/src/conf/cards/IMX-XCVR.conf 20+++ b/src/conf/cards/IMX-XCVR.conf
22@@ -0,0 +1,39 @@ 21@@ -0,0 +1,39 @@
@@ -60,21 +59,19 @@ index 0000000..009000c
60+ preamble.y 0x3 59+ preamble.y 0x3
61+} 60+}
62diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 61diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
63index 34fa5a3..70b9bab 100644 62index 3c29bd65d341..4502919e3bec 100644
64--- a/src/conf/cards/Makefile.am 63--- a/src/conf/cards/Makefile.am
65+++ b/src/conf/cards/Makefile.am 64+++ b/src/conf/cards/Makefile.am
66@@ -61,7 +61,8 @@ cfg_files = aliases.conf \ 65@@ -4,6 +4,7 @@ cfg_files = aliases.conf \
67 VXPocket440.conf \
68 CS42888.conf \ 66 CS42888.conf \
69 IMX-HDMI.conf \ 67 IMX-HDMI.conf \
70- AK4458.conf 68 AK4458.conf \
71+ AK4458.conf \ 69+ IMX-XCVR.conf \
72+ IMX-XCVR.conf 70 AACI.conf \
73 71 ATIIXP.conf \
74 if BUILD_ALISP 72 ATIIXP-SPDMA.conf \
75 cfg_files += aliases.alisp
76diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 73diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
77index 2f0a22a..e824145 100644 74index dda71d99916e..6dab14855f25 100644
78--- a/src/conf/cards/aliases.conf 75--- a/src/conf/cards/aliases.conf
79+++ b/src/conf/cards/aliases.conf 76+++ b/src/conf/cards/aliases.conf
80@@ -60,6 +60,7 @@ VC4-HDMI cards.vc4-hdmi 77@@ -60,6 +60,7 @@ VC4-HDMI cards.vc4-hdmi
@@ -85,3 +82,6 @@ index 2f0a22a..e824145 100644
85 82
86 <confdir:ctl/default.conf> 83 <confdir:ctl/default.conf>
87 <confdir:pcm/default.conf> 84 <confdir:pcm/default.conf>
85--
862.42.0
87
diff --git a/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch b/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
index 64e15be4a..fa71078e4 100644
--- a/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
@@ -1,107 +1,109 @@
1From 97d5e09a4166b45c567026e51b8a25ef5d7d587d Mon Sep 17 00:00:00 2001 1From 38d84440a7bec9e26380f08f050b2ada772b822e Mon Sep 17 00:00:00 2001
2From: Chancel Liu <chancel.liu@nxp.com> 2From: Chancel Liu <chancel.liu@nxp.com>
3Date: Fri, 29 Jul 2022 16:12:37 +0800 3Date: Fri, 29 Jul 2022 16:12:37 +0800
4Subject: [PATCH] add conf for imx-cs42448 sound card 4Subject: [PATCH] add conf for imx-cs42448 sound card
5 5MIME-Version: 1.0
6Upstream-Status: Inappropriate [i.MX specific] 6Content-Type: text/plain; charset=UTF-8
7 7Content-Transfer-Encoding: 8bit
8Signed-off-by: Chancel Liu <chancel.liu@nxp.com> 8
9--- 9Upstream-Status: Inappropriate [i.MX specific]
10 src/conf/cards/CS42448.conf | 58 +++++++++++++++++++++++++++++++++++++ 10
11 src/conf/cards/Makefile.am | 3 +- 11Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
12 src/conf/cards/aliases.conf | 1 + 12---
13 3 files changed, 61 insertions(+), 1 deletion(-) 13 src/conf/cards/CS42448.conf | 58 +++++++++++++++++++++++++++++++++++++
14 create mode 100644 src/conf/cards/CS42448.conf 14 src/conf/cards/Makefile.am | 1 +
15 15 src/conf/cards/aliases.conf | 1 +
16diff --git a/src/conf/cards/CS42448.conf b/src/conf/cards/CS42448.conf 16 3 files changed, 60 insertions(+)
17new file mode 100644 17 create mode 100644 src/conf/cards/CS42448.conf
18index 00000000..28ba5c48 18
19--- /dev/null 19diff --git a/src/conf/cards/CS42448.conf b/src/conf/cards/CS42448.conf
20+++ b/src/conf/cards/CS42448.conf 20new file mode 100644
21@@ -0,0 +1,58 @@ 21index 000000000000..28ba5c485837
22+# 22--- /dev/null
23+# Configuration for the CS42448 chip 23+++ b/src/conf/cards/CS42448.conf
24+# 24@@ -0,0 +1,58 @@
25+ 25+#
26+# default with dmix & dsnoop 26+# Configuration for the CS42448 chip
27+CS42448.pcm.default { 27+#
28+ @args [ CARD ] 28+
29+ @args.CARD { 29+# default with dmix & dsnoop
30+ type string 30+CS42448.pcm.default {
31+ } 31+ @args [ CARD ]
32+ type asym 32+ @args.CARD {
33+ playback.pcm { 33+ type string
34+ type plug 34+ }
35+ slave.pcm { 35+ type asym
36+ @func concat 36+ playback.pcm {
37+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] 37+ type plug
38+ } 38+ slave.pcm {
39+ } 39+ @func concat
40+ capture.pcm { 40+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
41+ type plug 41+ }
42+ slave.pcm { 42+ }
43+ @func concat 43+ capture.pcm {
44+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] 44+ type plug
45+ } 45+ slave.pcm {
46+ } 46+ @func concat
47+} 47+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
48+ 48+ }
49+<confdir:pcm/surround51.conf> 49+ }
50+ 50+}
51+CS42448.pcm.surround51.0 { 51+
52+ @args [ CARD ] 52+<confdir:pcm/surround51.conf>
53+ @args.CARD { 53+
54+ type string 54+CS42448.pcm.surround51.0 {
55+ } 55+ @args [ CARD ]
56+ type plug 56+ @args.CARD {
57+ slave.pcm { 57+ type string
58+ type hw 58+ }
59+ card $CARD 59+ type plug
60+ } 60+ slave.pcm {
61+ slave.channels 6 61+ type hw
62+} 62+ card $CARD
63+ 63+ }
64+<confdir:pcm/surround71.conf> 64+ slave.channels 6
65+ 65+}
66+CS42448.pcm.surround71.0 { 66+
67+ @args [ CARD ] 67+<confdir:pcm/surround71.conf>
68+ @args.CARD { 68+
69+ type string 69+CS42448.pcm.surround71.0 {
70+ } 70+ @args [ CARD ]
71+ type plug 71+ @args.CARD {
72+ slave.pcm { 72+ type string
73+ type hw 73+ }
74+ card $CARD 74+ type plug
75+ } 75+ slave.pcm {
76+ slave.channels 8 76+ type hw
77+} 77+ card $CARD
78+ 78+ }
79+# vim: ft=alsaconf 79+ slave.channels 8
80diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am 80+}
81index 70b9bab3..6aba20b4 100644 81+
82--- a/src/conf/cards/Makefile.am 82+# vim: ft=alsaconf
83+++ b/src/conf/cards/Makefile.am 83diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
84@@ -62,7 +62,8 @@ cfg_files = aliases.conf \ 84index 4502919e3bec..da2def3a9498 100644
85 CS42888.conf \ 85--- a/src/conf/cards/Makefile.am
86 IMX-HDMI.conf \ 86+++ b/src/conf/cards/Makefile.am
87 AK4458.conf \ 87@@ -5,6 +5,7 @@ cfg_files = aliases.conf \
88- IMX-XCVR.conf 88 IMX-HDMI.conf \
89+ IMX-XCVR.conf \ 89 AK4458.conf \
90+ CS42448.conf 90 IMX-XCVR.conf \
91 91+ CS42448.conf \
92 if BUILD_ALISP 92 AACI.conf \
93 cfg_files += aliases.alisp 93 ATIIXP.conf \
94diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf 94 ATIIXP-SPDMA.conf \
95index e824145d..a40d3731 100644 95diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
96--- a/src/conf/cards/aliases.conf 96index 6dab14855f25..554db846f8e5 100644
97+++ b/src/conf/cards/aliases.conf 97--- a/src/conf/cards/aliases.conf
98@@ -61,6 +61,7 @@ imx-cs42888 cards.CS42888 98+++ b/src/conf/cards/aliases.conf
99 imx-hdmi-soc cards.IMX-HDMI 99@@ -61,6 +61,7 @@ imx-cs42888 cards.CS42888
100 ak4458-audio cards.AK4458 100 imx-hdmi-soc cards.IMX-HDMI
101 imx-audio-xcvr cards.IMX-XCVR 101 ak4458-audio cards.AK4458
102+imx-cs42448 cards.CS42448 102 imx-audio-xcvr cards.IMX-XCVR
103 103+imx-cs42448 cards.CS42448
104 <confdir:ctl/default.conf> 104
105 <confdir:pcm/default.conf> 105 <confdir:ctl/default.conf>
106-- 106 <confdir:pcm/default.conf>
1072.17.1 107--
1082.42.0
109
diff --git a/recipes-multimedia/alsa/alsa-lib_%.bbappend b/recipes-multimedia/alsa/alsa-lib_%.bbappend
index 65498aed1..230cf0957 100644
--- a/recipes-multimedia/alsa/alsa-lib_%.bbappend
+++ b/recipes-multimedia/alsa/alsa-lib_%.bbappend
@@ -10,6 +10,3 @@ IMX_PATCH = " \
10SRC_URI:append:imx-nxp-bsp = "${IMX_PATCH}" 10SRC_URI:append:imx-nxp-bsp = "${IMX_PATCH}"
11 11
12PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}" 12PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}"
13
14GLIBC_64BIT_TIME_FLAGS = ""
15INSANE_SKIP:append = " 32bit-time"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
index e2acf7676..e87a47020 100644
--- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
+++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -1,5 +1,5 @@
1# Copyright 2013-2016 Freescale Semiconductor 1# Copyright 2013-2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright 2017-2024 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "Freescale alsa-lib plugins" 5DESCRIPTION = "Freescale alsa-lib plugins"
@@ -20,14 +20,10 @@ 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.08.03_2312_L6.6.y" 23SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
24SRCREV = "b2ba082e70333f187972ee4e85f63f9d2f608331" 24SRCREV = "eaf0900662d6381bcc433165219280cca1752890"
25 25
26S = "${WORKDIR}/git" 26CFLAGS:append = " -I${STAGING_INCDIR_IMX}"
27
28INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
29
30EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
31 27
32PACKAGECONFIG ??= "${PACKAGECONFIG_SWPDM}" 28PACKAGECONFIG ??= "${PACKAGECONFIG_SWPDM}"
33PACKAGECONFIG_SWPDM = "" 29PACKAGECONFIG_SWPDM = ""
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb
new file mode 100644
index 000000000..9f7f890d5
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb
@@ -0,0 +1,52 @@
1SUMMARY = "Gstreamer validation tool"
2DESCRIPTION = "A Tool to test GStreamer components"
3HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
4SECTION = "multimedia"
5
6LICENSE = "LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
8
9S = "${WORKDIR}/gst-devtools-1.22.5"
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 \
13 "
14
15SRC_URI[sha256sum] = "2add1519aa6eeb01d544cb94293688ee3bc2079f6bca6075bf5c23d00a0921be"
16
17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
18RRECOMMENDS:${PN} = "git"
19
20FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
21
22inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
23
24# TODO: put this in a gettext.bbclass patch
25def gettext_oemeson(d):
26 if d.getVar('USE_NLS') == 'no':
27 return '-Dnls=disabled'
28 # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
29 if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
30 return '-Dnls=disabled'
31 return '-Dnls=enabled'
32
33# Build GstValidateVideo
34PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
35
36EXTRA_OEMESON += " \
37 -Ddoc=disabled \
38 -Ddebug_viewer=disabled \
39 -Dtests=disabled \
40 -Dvalidate=enabled \
41 ${@gettext_oemeson(d)} \
42"
43
44do_install:append () {
45 for fn in ${bindir}/gst-validate-launcher \
46 ${libdir}/gst-validate-launcher/python/launcher/config.py; do
47 sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
48 done
49}
50
51GIR_MESON_ENABLE_FLAG = "enabled"
52GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
new file mode 100644
index 000000000..828c87dc9
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
@@ -0,0 +1,37 @@
1From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 17 Aug 2017 11:07:02 +0300
4Subject: [PATCH] Make player examples installable
5
6Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
7Upstream-Status: Denied [Upstream considers these code examples, for now a least]
8
9https://bugzilla.gnome.org/show_bug.cgi?id=777827
10
11---
12 playback/player/gst-play/meson.build | 1 +
13 playback/player/gtk/meson.build | 1 +
14 2 files changed, 2 insertions(+)
15
16Index: gst-examples/playback/player/gst-play/meson.build
17===================================================================
18--- gst-examples.orig/playback/player/gst-play/meson.build
19+++ gst-examples/playback/player/gst-play/meson.build
20@@ -2,5 +2,6 @@ executable('gst-play',
21 ['gst-play.c',
22 'gst-play-kb.c',
23 'gst-play-kb.h'],
24+ install: true,
25 dependencies : [gst_dep, dependency('gstreamer-play-1.0'), m_dep])
26
27Index: gst-examples/playback/player/gtk/meson.build
28===================================================================
29--- gst-examples.orig/playback/player/gtk/meson.build
30+++ gst-examples/playback/player/gtk/meson.build
31@@ -20,5 +20,6 @@ if gtk_dep.found()
32 'gtk-video-renderer.h',
33 'gtk-video-renderer.c'],
34 c_args : extra_c_args,
35+ install: true,
36 dependencies : [gst_dep, gsttag_dep, gstplay_dep, gtk_dep, x11_dep])
37 endif
diff --git a/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
new file mode 100644
index 000000000..d165e5d91
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
@@ -0,0 +1,10 @@
1[Desktop Entry]
2Name=Media Player
3Comment=Basic media player
4Icon=video-player
5TryExec=gtk-play
6Exec=gtk-play
7StartupNotify=true
8Terminal=false
9Type=Application
10Categories=GTK;AudioVideo;
diff --git a/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb
new file mode 100644
index 000000000..9db0051a1
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb
@@ -0,0 +1,38 @@
1# This builds an older version which is compatible with the gstreamer NXP fork 1.24.7.imx,
2# thus the version is appended with '.imx'
3
4SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
5DESCRIPTION = "GStreamer example applications."
6HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples"
7BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
8LICENSE = "LGPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
10
11DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 json-glib glib-2.0-native"
12
13SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gstreamer.git;protocol=https;branch=1.24 \
14 file://0001-Make-player-examples-installable.patch \
15 file://gst-player.desktop \
16 "
17
18SRCREV = "0f1e984e41ce8d6d0758265d35e8b10d5815fde2"
19
20S = "${UNPACKDIR}/${BP}/subprojects/gst-examples"
21
22inherit meson pkgconfig features_check
23
24UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
25
26ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
27
28do_install:append() {
29 install -m 0644 -D ${UNPACKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
30}
31
32RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback"
33RRECOMMENDS:${PN} = "gstreamer1.0-plugins-base-meta \
34 gstreamer1.0-plugins-good-meta \
35 gstreamer1.0-plugins-bad-meta \
36 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-libav", "", d)} \
37 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
38RPROVIDES:${PN} += "gst-player gst-player-bin"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb
new file mode 100644
index 000000000..bf61d4192
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.7.imx.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Libav-based GStreamer 1.x plugin"
2DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
3muxers, and demuxers provided by FFmpeg."
4HOMEPAGE = "http://gstreamer.freedesktop.org/"
5SECTION = "multimedia"
6
7# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
8LICENSE_FLAGS = "commercial"
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
11 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
12 "
13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz"
15SRC_URI[sha256sum] = "c3e4179ba183c2d3101edf87ff70dd07e728c766a5fee34e6ecded76ca5802df"
16
17S = "${UNPACKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
18
19DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
20
21inherit meson pkgconfig upstream-version-is-even
22
23EXTRA_OEMESON += " \
24 -Dtests=disabled \
25"
26
27# Drop .imx from PV
28def get_gst_ver(v):
29 return oe.utils.trim_version(v, 3)
30
31FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
32FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
33
34COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
deleted file mode 100644
index 188476035..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1EXTRA_OEMESON:append:imx-nxp-bsp = " -Dtests=disabled -Dexamples=disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
deleted file mode 100644
index 029b80e17..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.z@gmail.com>
3Date: Mon, 27 Jan 2020 10:22:35 +0000
4Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build
5
6When Yocto build is performed, opencv searches for data dir using simple
7'test' command, this fails because pkg-config provides an absolute
8path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
9in order for the 'test' utility to pick up the absolute path.
10
11Upstream-Status: Inappropriate [OE-specific]
12
13Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15
16---
17 ext/opencv/meson.build | 3 +++
18 1 file changed, 3 insertions(+)
19
20diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
21index 1d86b90..b5c8b95 100644
22--- a/ext/opencv/meson.build
23+++ b/ext/opencv/meson.build
24@@ -87,6 +87,9 @@ if opencv_found
25 opencv_prefix = opencv_dep.get_variable('prefix')
26 gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
27
28+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
29+ opencv_prefix = pkgconf_sysroot + opencv_prefix
30+
31 # Check the data dir used by opencv for its xml data files
32 # Use prefix from pkg-config to be compatible with cross-compilation
33 r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
index 3366a6274..7aa22436c 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
@@ -178,19 +178,19 @@ 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 \
187 file://0002-avoid-including-sys-poll.h-directly.patch" 185 file://0002-avoid-including-sys-poll.h-directly.patch \
186 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
187 "
188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
189GST1.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"
190SRCBRANCH = "MM_04.08.03_2312_L6.6.y" 190SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
191SRCREV = "9de821c50b4dd7af2407d9c3d078020704510a20" 191SRCREV = "7bb1254fcb0a0dcb1ecb4ac21efbc5068151943d"
192 192
193S = "${WORKDIR}/git" 193S = "${UNPACKDIR}/${BP}"
194 194
195inherit use-imx-headers 195inherit use-imx-headers
196 196
@@ -215,9 +215,9 @@ EXTRA_OEMESON += " \
215 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 215 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
216" 216"
217 217
218COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 218EXTRA_OEMESON:remove = " \
219 -Dkate=disabled \
220"
219 221
220# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE 222COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
221#
222TOOLCHAIN = "gcc"
223########### End of i.MX overrides ######### 223########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch
deleted file mode 100644
index 3ab4bab45..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 90b94ff95c72487054fd283fb7cb5ebd13822b3f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 7 Aug 2023 18:56:05 -0700
4Subject: [PATCH] gstallocator: Fix typcasts
5
6These are found when building with clang+musl
7| ../git/gst-libs/gst/allocators/gstallocatorphymem.c:228:10: error: incompatible pointer to integer conversion returning 'gpointer' (aka 'void *') from a function with result type 'guintptr
8' (aka 'unsigned long') [-Wint-conversion]
9| 228 | return gst_phymem_get_phy (mem);
10| | ^~~~~~~~~~~~~~~~~~~~~~~~
11
12Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-base/pull/4]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 gst-libs/gst/allocators/gstallocatorphymem.c | 2 +-
16 gst-libs/gst/gl/gstglphymemory.c | 2 +-
17 2 files changed, 2 insertions(+), 2 deletions(-)
18
19diff --git a/gst-libs/gst/allocators/gstallocatorphymem.c b/gst-libs/gst/allocators/gstallocatorphymem.c
20index f3c3306c7..f8a4511ab 100755
21--- a/gst-libs/gst/allocators/gstallocatorphymem.c
22+++ b/gst-libs/gst/allocators/gstallocatorphymem.c
23@@ -225,7 +225,7 @@ static guintptr
24 gst_allocator_phymem_get_phys_addr (GstPhysMemoryAllocator * allocator,
25 GstMemory * mem)
26 {
27- return gst_phymem_get_phy (mem);
28+ return (guintptr)gst_phymem_get_phy (mem);
29 }
30
31 static void
32diff --git a/gst-libs/gst/gl/gstglphymemory.c b/gst-libs/gst/gl/gstglphymemory.c
33index d82c9a66a..1d8be0a5d 100644
34--- a/gst-libs/gst/gl/gstglphymemory.c
35+++ b/gst-libs/gst/gl/gstglphymemory.c
36@@ -337,7 +337,7 @@ gst_gl_physical_memory_setup_buffer (GstAllocator * allocator,
37 GST_VIDEO_INFO_HEIGHT (info),
38 viv_fmt,
39 memblk->vaddr,
40- memblk->paddr,
41+ (guint)memblk->paddr,
42 FALSE
43 };
44
45--
462.41.0
47
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
index dd7869a9b..ed6e02435 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
@@ -116,12 +116,12 @@ SRC_URI:remove = " \
116 file://0003-viv-fb-Make-sure-config.h-is-included.patch \ 116 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
117 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch" 117 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
119SRC_URI:append = " file://0001-gstallocator-Fix-typcasts.patch" 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.08.03_2312_L6.6.y" 121SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
122SRCREV = "c4333767ea122c182ba4e14cababe8dbe2a1b882" 122SRCREV = "858ae5a1fb2bd2692ca7ebbd5bde2eee14e1842d"
123 123
124S = "${WORKDIR}/git" 124S = "${UNPACKDIR}/${BP}"
125 125
126inherit use-imx-headers 126inherit use-imx-headers
127 127
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend
index ca6636b83..528d7e1a3 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend
@@ -13,5 +13,5 @@ PACKAGECONFIG_GL:use-mainline-bsp = \
13# does not depend on the viv-fb feature. It used to, but that was actually a bug 13# does not depend on the viv-fb feature. It used to, but that was actually a bug
14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is 14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".) 15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
16PACKAGECONFIG_GL:append:mx6-nxp-bsp = " viv-fb " 16PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb"
17PACKAGECONFIG_GL:append:mx7ulp-nxp-bsp = " viv-fb " 17PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
index 9e09ef930..28044ccd1 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
@@ -94,11 +94,11 @@ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
94DEFAULT_PREFERENCE = "-1" 94DEFAULT_PREFERENCE = "-1"
95 95
96LIC_FILES_CHKSUM = " \ 96LIC_FILES_CHKSUM = " \
97 file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 97 file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \ 98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
99" 99"
100# Enable pulsesink in gstreamer 100# Enable pulsesink in gstreamer
101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" 101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', ' pulseaudio', '', d)}"
102 102
103# fb implementation of v4l2 uses libdrm 103# fb implementation of v4l2 uses libdrm
104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" 104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
@@ -111,16 +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.08.03_2312_L6.6.y" 114SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
115SRCREV = "d361360510c97dc23abbfcdd22dff8214890527d" 115SRCREV = "626a972e9ef448f1017cfad07a3486a0fb340a0d"
116 116
117# set 32bit compile timer for 32-bit platform 117S = "${UNPACKDIR}/${BP}"
118GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
119GLIBC_64BIT_TIME_FLAGS:mx7-nxp-bsp = ""
120INSANE_SKIP:mx6-nxp-bsp:append = " 32bit-time"
121INSANE_SKIP:mx7-nxp-bsp:append = " 32bit-time"
122
123S = "${WORKDIR}/git"
124 118
125COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 119COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
126 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 5bf60e623..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
@@ -15,11 +15,9 @@ RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparser
15PV .= "+git${SRCPV}" 15PV .= "+git${SRCPV}"
16 16
17SRCBRANCH ?= "master" 17SRCBRANCH ?= "master"
18SRCREV = "cb3cd45676e808b222ac573e8a118f44fd70c288" 18SRCREV = "ce4f86e60f12c56574f727f3317fa8aa30a11387"
19SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https" 19SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
20 20
21S = "${WORKDIR}/git"
22
23inherit pkgconfig meson use-imx-headers 21inherit pkgconfig meson use-imx-headers
24 22
25# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU. 23# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb
new file mode 100644
index 000000000..23b8c72cb
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb
@@ -0,0 +1,48 @@
1require gstreamer1.0-plugins-common.inc
2require gstreamer1.0-plugins-license.inc
3
4SUMMARY = "'Ugly GStreamer plugins"
5HOMEPAGE = "https://gstreamer.freedesktop.org/"
6BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
7
8LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
9 "
10
11LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
12LICENSE_FLAGS = "commercial"
13
14SRC_URI = " \
15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
16 "
17SRC_URI[sha256sum] = "c5d1cbdf71ab0c675bca236f70edfa1feb3f813fd4bfff563308f466d8805ca5"
18
19S = "${UNPACKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
20
21DEPENDS += "gstreamer1.0-plugins-base"
22
23GST_PLUGIN_SET_HAS_EXAMPLES = "0"
24
25PACKAGECONFIG ??= " \
26 ${GSTREAMER_ORC} \
27"
28
29PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
30PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
31PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
32PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
33PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
34
35GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'a52dec cdio dvdread mpeg2dec x264', d)}"
36
37EXTRA_OEMESON += " \
38 -Ddoc=disabled \
39 -Dsidplay=disabled \
40"
41
42# Drop .imx from PV
43def get_gst_ver(v):
44 return oe.utils.trim_version(v, 3)
45
46FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
47
48COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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
new file mode 100644
index 000000000..fd6b1c16e
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-Fix-missing-python_opt.patch
@@ -0,0 +1,47 @@
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.24.0.imx.bb
new file mode 100644
index 000000000..cac54e88a
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb
@@ -0,0 +1,37 @@
1SUMMARY = "Python bindings for GStreamer 1.0"
2DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
3provided by python-gi) "
4HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
5SECTION = "multimedia"
6
7LICENSE = "LGPL-2.1-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
9
10SRC_URI = "\
11 https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz \
12 file://0001-meson.build-Fix-missing-python_opt.patch \
13 "
14SRC_URI[sha256sum] = "041c2255c1ea9936c777dcb08a36ecaa6a24a69a12fc46ef53f1530d46c59f9d"
15
16DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
17RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
18
19PNREAL = "gst-python"
20
21S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}"
22
23EXTRA_OEMESON += "\
24 -Dtests=disabled \
25 -Dplugin=enabled \
26 -Dlibpython-dir=${libdir} \
27"
28
29inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check
30
31# Drop .imx from PV
32def get_gst_ver(v):
33 return oe.utils.trim_version(v, 3)
34
35FILES:${PN} += "${libdir}/gstreamer-1.0"
36
37REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb
new file mode 100644
index 000000000..58255b992
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb
@@ -0,0 +1,38 @@
1SUMMARY = "A library on top of GStreamer for building an RTSP server"
2HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
3SECTION = "multimedia"
4LICENSE = "LGPL-2.1-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
6
7DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
8
9PNREAL = "gst-rtsp-server"
10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
12
13SRC_URI[sha256sum] = "5b0fa6b12ba95b1d336a4b274cbe19e982aa3e6819f1d97bfd8e0102b103ed9b"
14
15S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
16
17inherit meson pkgconfig upstream-version-is-even gobject-introspection
18
19EXTRA_OEMESON += " \
20 -Ddoc=disabled \
21 -Dexamples=disabled \
22 -Dtests=disabled \
23"
24
25GIR_MESON_ENABLE_FLAG = "enabled"
26GIR_MESON_DISABLE_FLAG = "disabled"
27
28# Drop .imx from PV
29def get_gst_ver(v):
30 return oe.utils.trim_version(v, 3)
31
32# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
33require gstreamer1.0-plugins-packaging.inc
34
35CVE_PRODUCT += "gst-rtsp-server"
36
37COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
38
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb
new file mode 100644
index 000000000..3993730ec
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb
@@ -0,0 +1,57 @@
1SUMMARY = "VA-API support to GStreamer"
2HOMEPAGE = "https://gstreamer.freedesktop.org/"
3DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
4based plugins for GStreamer and helper libraries: `vaapidecode', \
5`vaapiconvert', and `vaapisink'."
6
7REALPN = "gstreamer-vaapi"
8
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11
12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-1.24.0.tar.xz"
13
14SRC_URI[sha256sum] = "6b1f3b91ca65dedc67dc67a25dc1d1e464f11825a27ab9c7ac7c1bda67f03596"
15
16S = "${UNPACKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
18
19inherit meson pkgconfig features_check upstream-version-is-even
20
21# Drop .imx from PV
22def get_gst_ver(v):
23 return oe.utils.trim_version(v, 3)
24
25REQUIRED_DISTRO_FEATURES ?= "opengl"
26
27EXTRA_OEMESON += " \
28 -Ddoc=disabled \
29 -Dexamples=disabled \
30 -Dtests=enabled \
31"
32
33PACKAGES =+ "${PN}-tests"
34
35# OpenGL packageconfig factored out to make it easy for distros
36# and BSP layers to pick either glx, egl, or no GL. By default,
37# try detecting X11 first, and if found (with OpenGL), use GLX,
38# otherwise try to check if EGL can be used.
39PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \
40 bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \
41 '', d), d)}"
42
43PACKAGECONFIG ??= "drm encoders \
44 ${PACKAGECONFIG_GL} \
45 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
46
47PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
48PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
49PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
50PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
51PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
52PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
53
54FILES:${PN} += "${libdir}/gstreamer-*/*.so"
55FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
56FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
57FILES:${PN}-tests = "${bindir}/*"
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 568e38cbf..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
+++ /dev/null
@@ -1,107 +0,0 @@
1From 08b1aaff972a7f6349373fc1ad4cc23081adb52c 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 | 22 +++++++++++++++++++++-
18 tests/check/template.test.in | 3 +++
19 4 files changed, 29 insertions(+), 1 deletion(-)
20 create mode 100644 tests/check/template.test.in
21
22diff --git a/meson.build b/meson.build
23index f9f591d..3906fb3 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -606,6 +606,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 7363bdb..a34ba37 100644
39--- a/meson_options.txt
40+++ b/meson_options.txt
41@@ -15,6 +15,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 16caac7..f2d400f 100644
51--- a/tests/check/meson.build
52+++ b/tests/check/meson.build
53@@ -124,10 +124,16 @@ test_defines = [
54 '-UG_DISABLE_ASSERT',
55 '-UG_DISABLE_CAST_CHECKS',
56 '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
57- '-DTESTFILE="' + 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@@ -150,6 +156,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,18 @@ foreach t : core_tests
81 env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
82 env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
83
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
98 endforeach
99diff --git a/tests/check/template.test.in b/tests/check/template.test.in
100new file mode 100644
101index 0000000..f701627
102--- /dev/null
103+++ b/tests/check/template.test.in
104@@ -0,0 +1,3 @@
105+[Test]
106+Type=session
107+Exec=@installed_tests_dir@/@program@
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 10a6dcc61..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1From fe830f0f75f3b4b41e3dbef8d4cf6ee4103c9e06 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 subprojects/gstreamer/tests/check/meson.build | 21 ++++++++++++-------
14 1 file changed, 13 insertions(+), 8 deletions(-)
15
16diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
17index 00a138a568..48ec2532f8 100644
18--- a/subprojects/gstreamer/tests/check/meson.build
19+++ b/subprojects/gstreamer/tests/check/meson.build
20@@ -161,14 +161,19 @@ 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--
492.33.1
50
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 efa004f8c..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 4dcbabebca2ad6f1fdd59ee35a858082e87db7b6 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 subprojects/gstreamer/tests/check/meson.build | 17 +++++++++++++++++
15 .../gstreamer/tests/check/template.sh.in | 9 +++++++++
16 .../gstreamer/tests/check/template.test.in | 2 +-
17 3 files changed, 27 insertions(+), 1 deletion(-)
18 create mode 100755 subprojects/gstreamer/tests/check/template.sh.in
19
20diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
21index 48ec2532f8..7dc4990d4e 100644
22--- a/subprojects/gstreamer/tests/check/meson.build
23+++ b/subprojects/gstreamer/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/subprojects/gstreamer/tests/check/template.sh.in b/subprojects/gstreamer/tests/check/template.sh.in
49new file mode 100755
50index 0000000000..cf7d31b0ea
51--- /dev/null
52+++ b/subprojects/gstreamer/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/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in
64index f701627f87..b74ef6ad73 100644
65--- a/subprojects/gstreamer/tests/check/template.test.in
66+++ b/subprojects/gstreamer/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.33.1
74
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
deleted file mode 100644
index f51df6d20..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
+++ /dev/null
@@ -1,107 +0,0 @@
1From b935abba3d8fa3ea1ce384c08e650afd8c20b78a Mon Sep 17 00:00:00 2001
2From: Claudius Heine <ch@denx.de>
3Date: Wed, 2 Feb 2022 13:47:02 +0100
4Subject: [PATCH] tests: remove gstbin:test_watch_for_state_change testcase
5
6This testcase seems to be flaky, and upstream marked it as such:
7https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778
8
9This patch removes the testcase to avoid it interfering with out ptest.
10
11Signed-off-by: Claudius Heine <ch@denx.de>
12
13Upstream-Status: Inappropriate [needs proper upstream fix]
14---
15 tests/check/gst/gstbin.c | 69 -------------------
16 1 file changed, 69 deletions(-)
17
18diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
19index e366d5fe20..ac29d81474 100644
20--- a/tests/check/gst/gstbin.c
21+++ b/tests/check/gst/gstbin.c
22@@ -691,74 +691,6 @@ GST_START_TEST (test_message_state_changed_children)
23
24 GST_END_TEST;
25
26-GST_START_TEST (test_watch_for_state_change)
27-{
28- GstElement *src, *sink, *bin;
29- GstBus *bus;
30- GstStateChangeReturn ret;
31-
32- bin = gst_element_factory_make ("bin", NULL);
33- fail_unless (bin != NULL, "Could not create bin");
34-
35- bus = g_object_new (gst_bus_get_type (), NULL);
36- gst_object_ref_sink (bus);
37- gst_element_set_bus (GST_ELEMENT_CAST (bin), bus);
38-
39- src = gst_element_factory_make ("fakesrc", NULL);
40- fail_if (src == NULL, "Could not create fakesrc");
41- sink = gst_element_factory_make ("fakesink", NULL);
42- fail_if (sink == NULL, "Could not create fakesink");
43-
44- gst_bin_add (GST_BIN (bin), sink);
45- gst_bin_add (GST_BIN (bin), src);
46-
47- fail_unless (gst_element_link (src, sink), "could not link src and sink");
48-
49- /* change state, spawning two times three messages */
50- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
51- fail_unless (ret == GST_STATE_CHANGE_ASYNC);
52- ret =
53- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL,
54- GST_CLOCK_TIME_NONE);
55- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
56-
57- pop_state_changed (bus, 6);
58- pop_async_done (bus);
59- pop_latency (bus);
60-
61- fail_unless (gst_bus_have_pending (bus) == FALSE,
62- "Unexpected messages on bus");
63-
64- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
65- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
66-
67- pop_state_changed (bus, 3);
68-
69- /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
70- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
71- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
72-
73- pop_state_changed (bus, 3);
74- if (ret == GST_STATE_CHANGE_ASYNC) {
75- pop_async_done (bus);
76- pop_latency (bus);
77- }
78-
79- fail_unless (gst_bus_have_pending (bus) == FALSE,
80- "Unexpected messages on bus");
81-
82- gst_bus_set_flushing (bus, TRUE);
83-
84- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
85- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
86-
87- /* clean up */
88- gst_object_unref (bus);
89- gst_object_unref (bin);
90-}
91-
92-GST_END_TEST;
93-
94 GST_START_TEST (test_state_change_error_message)
95 {
96 GstElement *src, *sink, *bin;
97@@ -1956,7 +1888,6 @@ gst_bin_suite (void)
98 tcase_add_test (tc_chain, test_message_state_changed);
99 tcase_add_test (tc_chain, test_message_state_changed_child);
100 tcase_add_test (tc_chain, test_message_state_changed_children);
101- tcase_add_test (tc_chain, test_watch_for_state_change);
102 tcase_add_test (tc_chain, test_state_change_error_message);
103 tcase_add_test (tc_chain, test_add_linked);
104 tcase_add_test (tc_chain, test_add_self);
105--
1062.33.1
107
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
index ce7b3f1d4..a5fc88444 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
@@ -92,13 +92,20 @@ LIC_FILES_CHKSUM = " \
92" 92"
93 93
94# Use i.MX fork of GST for customizations 94# Use i.MX fork of GST for customizations
95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" 95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
96 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
97 file://0002-tests-add-support-for-install-the-tests.patch \
98 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
99 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
100"
96SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 101SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
97GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" 102GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
98SRCBRANCH = "MM_04.08.03_2312_L6.6.y" 103SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
99SRCREV = "1a43c16272a7f4274eb8260e03206a57f317d823" 104SRCREV = "e0d37a7d773a502956f54eced8cd701ec7fa5ff5"
105
106S = "${UNPACKDIR}/${BP}"
100 107
101S = "${WORKDIR}/git" 108PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled"
102 109
103COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 110COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
104 111
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch
deleted file mode 100644
index bdcb3f48e..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 090fb758a63b7d362d9bee8b8a665d1346c83f83 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Mar 2023 20:15:22 -0700
4Subject: [PATCH 01/10] aiurdemux: Fix type of USER_DATA_LOCATION
5
6It should be char pointer not integer
7Fixe
8plugins/aiurdemux/aiurdemux.c:198:47: error: incompatible integer to pointer conversion initializin
9g 'const gchar *' (aka 'const char *') with an expression of type 'int' [-Wint-conversion]
10 {USER_DATA_LOCATION, USER_DATA_FORMAT_UTF8, -1,
11 ^~
12Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 plugins/aiurdemux/aiurdemux.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/plugins/aiurdemux/aiurdemux.c b/plugins/aiurdemux/aiurdemux.c
19index 532b439..39c50ea 100755
20--- a/plugins/aiurdemux/aiurdemux.c
21+++ b/plugins/aiurdemux/aiurdemux.c
22@@ -195,7 +195,7 @@ static AiurDemuxTagEntry g_user_data_entry[] = {
23 "Track Number : %s\n"},
24 {USER_DATA_TOTALTRACKNUMBER, USER_DATA_FORMAT_UTF8, GST_TAG_TRACK_COUNT,
25 "Track Count : %s\n"},
26- {USER_DATA_LOCATION, USER_DATA_FORMAT_UTF8, -1,
27+ {USER_DATA_LOCATION, USER_DATA_FORMAT_UTF8, (const gchar*)-1,
28 "Location : %s\n"},
29 {USER_DATA_KEYWORDS, USER_DATA_FORMAT_UTF8, GST_TAG_KEYWORDS,
30 "Keywords : %s\n"},
31--
322.39.2
33
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch
deleted file mode 100644
index d3fdf924b..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From f8b8322cd4c3a69e5cb47b5cb33abe860e89d6ed Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 20:33:54 -0700
4Subject: [PATCH 02/10] aiurdemux.h: Include glib/gprintf.h for g_printf
5 prototype
6
7Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 plugins/aiurdemux/aiurdemux.h | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/plugins/aiurdemux/aiurdemux.h b/plugins/aiurdemux/aiurdemux.h
14index 1d7d0a0..f7fcb2e 100755
15--- a/plugins/aiurdemux/aiurdemux.h
16+++ b/plugins/aiurdemux/aiurdemux.h
17@@ -39,7 +39,7 @@
18 #include <gst/gst.h>
19 #include <gst/base/gstadapter.h>
20 #include <gst/tag/tag.h>
21-
22+#include <glib/gprintf.h>
23 //#include "mfw_gst_utils.h"
24
25 #include "fsl_parser.h"
26--
272.39.2
28
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch
deleted file mode 100644
index a690b4975..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 19e6a541d2026386c9cfdeca0eebd269fef2536c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Mar 2023 20:29:01 -0700
4Subject: [PATCH 03/10] grecorder: Fix build with clang
5
6Add missing includes for APIs from libc and glib
7Add prototype declaration for post_message before
8using it in macros later in the same source file
9
10Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 tools/grecorder/grecorder.c | 5 ++++-
14 1 file changed, 4 insertions(+), 1 deletion(-)
15
16diff --git a/tools/grecorder/grecorder.c b/tools/grecorder/grecorder.c
17index c8eff2f..89aa801 100644
18--- a/tools/grecorder/grecorder.c
19+++ b/tools/grecorder/grecorder.c
20@@ -23,10 +23,11 @@
21 #include <semaphore.h>
22 #include <pthread.h>
23 #include <signal.h>
24+#include <unistd.h> /* sleep */
25 #include <getopt.h>
26 #define __USE_LARGEFILE64
27 #include <sys/statvfs.h>
28-
29+#include <glib/gprintf.h> /* g_print */
30 #include "recorder_engine.h"
31
32 #define LOG_ERROR printf
33@@ -168,6 +169,8 @@ static RecorderMessage latest_message = MESSAGE_NULL;
34
35 static volatile sig_atomic_t quit_flag = 0;
36
37+static void post_message (RecorderMessage message);
38+
39 static void signal_handler(int signum)
40 {
41 quit_flag = 1;
42--
432.39.2
44
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch
deleted file mode 100644
index 292ab63f5..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch
+++ /dev/null
@@ -1,87 +0,0 @@
1From 141f8f692ae2c7e6d41a2d78113c806602122ad5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 19:51:27 -0700
4Subject: [PATCH 04/10] gstimxcommon: Return 0 instead of NULL for a functions
5 returning unsigned long
6
7Fixes
8gstimxcommon.c:113:10: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'unsigned long' [-Wint-conversion]
9 return NULL;
10
11Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 libs/gstimxcommon.c | 18 +++++++++---------
15 1 file changed, 9 insertions(+), 9 deletions(-)
16
17diff --git a/libs/gstimxcommon.c b/libs/gstimxcommon.c
18index 27fd913..803c6e5 100644
19--- a/libs/gstimxcommon.c
20+++ b/libs/gstimxcommon.c
21@@ -35,13 +35,13 @@ unsigned long phy_addr_from_fd(int dmafd)
22 int ret, fd;
23
24 if (dmafd < 0)
25- return NULL;
26+ return 0;
27
28 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
29 #ifdef USE_ION
30 fd = open(dev_ion, O_RDWR);
31 if(fd < 0) {
32- return NULL;
33+ return 0;
34 }
35
36 struct ion_phys_dma_data data = {
37@@ -58,18 +58,18 @@ unsigned long phy_addr_from_fd(int dmafd)
38 ret = ioctl(fd, ION_IOC_CUSTOM, &custom);
39 close(fd);
40 if (ret < 0)
41- return NULL;
42+ return 0;
43
44 return data.phys;
45 #else
46- return NULL;
47+ return 0;
48 #endif /* USE_ION */
49 #else
50 struct dma_buf_phys dma_phys;
51
52 ret = ioctl(dmafd, DMA_BUF_IOCTL_PHYS, &dma_phys);
53 if (ret < 0)
54- return NULL;
55+ return 0;
56
57 return dma_phys.phys;
58 #endif
59@@ -86,7 +86,7 @@ unsigned long phy_addr_from_vaddr(void *vaddr, int size)
60 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
61 fd = open(dev_ion, O_RDWR);
62 if(fd < 0) {
63- return NULL;
64+ return 0;
65 }
66
67 struct ion_phys_virt_data data = {
68@@ -103,13 +103,13 @@ unsigned long phy_addr_from_vaddr(void *vaddr, int size)
69 ret = ioctl(fd, ION_IOC_CUSTOM, &custom);
70 close(fd);
71 if (ret < 0)
72- return NULL;
73+ return 0;
74
75 return data.phys;
76 #else
77- return NULL;
78+ return 0;
79 #endif
80 #else
81- return NULL;
82+ return 0;
83 #endif
84 }
85--
862.39.2
87
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch
deleted file mode 100644
index 5f67ba1b0..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 379b0492a4b53fd8fd42c734d04fd62df2e0465f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Mar 2023 20:16:48 -0700
4Subject: [PATCH 05/10] aiurstreamcache: Include gst/gstinfo.h
5
6Its needed for various GST_* defines
7
8Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 plugins/aiurdemux/aiurstreamcache.c | 1 +
12 1 file changed, 1 insertion(+)
13
14diff --git a/plugins/aiurdemux/aiurstreamcache.c b/plugins/aiurdemux/aiurstreamcache.c
15index d566268..e114a9d 100755
16--- a/plugins/aiurdemux/aiurstreamcache.c
17+++ b/plugins/aiurdemux/aiurstreamcache.c
18@@ -33,6 +33,7 @@
19 * Changelog:
20 *
21 */
22+ #include <gst/gstinfo.h>
23
24 GST_DEBUG_CATEGORY_EXTERN (aiurdemux_debug);
25 #define GST_CAT_DEFAULT aiurdemux_debug
26--
272.39.2
28
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch
deleted file mode 100644
index ae3d10618..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch
+++ /dev/null
@@ -1,61 +0,0 @@
1From 02e16c4de3f138f0ebabf699e840bb86c98be599 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 20:45:23 -0700
4Subject: [PATCH 06/10] Fix typecast warnings found with clang
5
6Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 libs/device-2d/imx_2d_device_g2d.c | 15 ++++++++-------
10 1 file changed, 8 insertions(+), 7 deletions(-)
11
12diff --git a/libs/device-2d/imx_2d_device_g2d.c b/libs/device-2d/imx_2d_device_g2d.c
13index 2672e0b..6a36f6a 100755
14--- a/libs/device-2d/imx_2d_device_g2d.c
15+++ b/libs/device-2d/imx_2d_device_g2d.c
16@@ -425,7 +425,7 @@ static gint imx_g2d_blit(Imx2DDevice *device,
17 goto err;
18 }
19 if (paddr) {
20- src->mem->paddr = paddr;
21+ src->mem->paddr = (guint8*)paddr;
22 } else {
23 GST_ERROR ("Can't get physical address.");
24 ret = -1;
25@@ -435,7 +435,7 @@ static gint imx_g2d_blit(Imx2DDevice *device,
26 if (!dst->mem->paddr) {
27 paddr = phy_addr_from_fd (dst->fd[0]);
28 if (paddr) {
29- dst->mem->paddr = paddr;
30+ dst->mem->paddr = (guint8*)paddr;
31 } else {
32 GST_ERROR ("Can't get physical address.");
33 ret = -1;
34@@ -474,10 +474,11 @@ static gint imx_g2d_blit(Imx2DDevice *device,
35
36 if (src->fd[1] >= 0)
37 {
38- if (!src->mem->user_data)
39- src->mem->user_data = g2d->src.base.planes[1] = phy_addr_from_fd (src->fd[1]);
40- else
41- g2d->src.base.planes[1] = src->mem->user_data;
42+ if (!src->mem->user_data) {
43+ g2d->src.base.planes[1] = (gint)phy_addr_from_fd (src->fd[1]);
44+ src->mem->user_data = (gpointer *)g2d->src.base.planes[1];
45+ } else
46+ g2d->src.base.planes[1] = (unsigned long)src->mem->user_data;
47 }
48 switch (src->interlace_type) {
49 case IMX_2D_INTERLACE_INTERLEAVED:
50@@ -693,7 +694,7 @@ static gint imx_g2d_fill_color(Imx2DDevice *device, Imx2DFrame *dst,
51 if (!dst->mem->paddr) {
52 paddr = phy_addr_from_fd (dst->fd[0]);
53 if (paddr) {
54- dst->mem->paddr = paddr;
55+ dst->mem->paddr = (guint8*)paddr;
56 } else {
57 GST_ERROR ("Can't get physical address.");
58 return -1;
59--
602.39.2
61
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch
deleted file mode 100644
index 1983838af..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From a1a2069403e227d4d40fc99257d1be077f65bdc8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 19:54:18 -0700
4Subject: [PATCH 07/10] gstimxv4l2: Fix typecasting errors
5
6Fixes
7gstimxv4l2.c:1702:22: error: incompatible pointer to integer conversion assigning to 'unsigned long' from 'guint8 *' (aka 'unsigned char *') [-Wint-conversion]
8
9Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 libs/v4l2_core/gstimxv4l2.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/libs/v4l2_core/gstimxv4l2.c b/libs/v4l2_core/gstimxv4l2.c
16index 1dc826b..bf2620a 100755
17--- a/libs/v4l2_core/gstimxv4l2.c
18+++ b/libs/v4l2_core/gstimxv4l2.c
19@@ -1699,7 +1699,7 @@ gint gst_imx_v4l2_register_buffer (gpointer v4l2handle, PhyMemBlock *memblk)
20 v4l2buf->type = handle->type;
21 v4l2buf->memory = handle->memory_mode;
22 v4l2buf->index = handle->allocated;
23- v4l2buf->m.userptr = memblk->paddr;
24+ v4l2buf->m.userptr = (unsigned long)memblk->paddr;
25 v4l2buf->length = memblk->size;
26 handle->buffer_pair[handle->allocated].vaddr = memblk->vaddr;
27
28--
292.39.2
30
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch
deleted file mode 100644
index 211bade10..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From e86c20fee52f79a270a1913c5f0be98fb3f5cb77 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Mar 2023 20:18:18 -0700
4Subject: [PATCH 08/10] beepdec: Declare beep_register_external_typefinders
5
6Fixes
7plugins/beepdec/beep.c:45:3: error: call to undeclared function 'beep_register_external_typefinders'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
8 beep_register_external_typefinders (plugin);
9 ^
10
11Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 plugins/beepdec/beep.c | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/plugins/beepdec/beep.c b/plugins/beepdec/beep.c
18index 3543352..e174bb3 100755
19--- a/plugins/beepdec/beep.c
20+++ b/plugins/beepdec/beep.c
21@@ -37,7 +37,7 @@
22 #endif
23 #include "beepdec.h"
24 #include "gstimxcommon.h"
25-
26+extern gboolean beep_register_external_typefinders (GstPlugin * plugin);
27 static gboolean
28 plugin_init (GstPlugin * plugin)
29 {
30--
312.39.2
32
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch
deleted file mode 100644
index 567d10267..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 8a3d7f26c73bdfe050d3331b30ae2f5917dc6723 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 19:59:22 -0700
4Subject: [PATCH 09/10] gstimxv4l2.c: Fix incompatible integer to pointer
5 conversion returning
6
7Fixes
8gstimxv4l2.c:1587:24: error: incompatible pointer to integer conversion assigning to 'unsigned long' from 'guint8 *' (aka 'unsigned char *') [-Wint-c
9onversion]
10
11Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 libs/v4l2_core/gstimxv4l2.c | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/libs/v4l2_core/gstimxv4l2.c b/libs/v4l2_core/gstimxv4l2.c
18index bf2620a..0fd7452 100755
19--- a/libs/v4l2_core/gstimxv4l2.c
20+++ b/libs/v4l2_core/gstimxv4l2.c
21@@ -1576,7 +1576,7 @@ static void * gst_imx_v4l2_find_buffer(gpointer v4l2handle, PhyMemBlock *memblk)
22
23 if (handle->allocated >= MAX_BUFFER) {
24 GST_ERROR ("No more v4l2 buffer for allocating.\n");
25- return -1;
26+ return NULL;
27 }
28
29 v4l2buf = &handle->buffer_pair[handle->allocated].v4l2buffer;
30@@ -1584,7 +1584,7 @@ static void * gst_imx_v4l2_find_buffer(gpointer v4l2handle, PhyMemBlock *memblk)
31 v4l2buf->type = handle->type;
32 v4l2buf->memory = handle->memory_mode;
33 v4l2buf->index = handle->allocated;
34- v4l2buf->m.userptr = memblk->paddr;
35+ v4l2buf->m.userptr = (unsigned long)memblk->paddr;
36 v4l2buf->length = memblk->size;
37 handle->buffer_pair[handle->allocated].vaddr = memblk->vaddr;
38
39--
402.39.2
41
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch
deleted file mode 100644
index e9b1a0938..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From c2144da90e64547d9e346f8e721a0d2155ed610b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 21:09:49 -0700
4Subject: [PATCH 10/10] provide declaration for
5 aiur_register_external_typefinders
6
7Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 plugins/aiurdemux/aiur.c | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/plugins/aiurdemux/aiur.c b/plugins/aiurdemux/aiur.c
14index 2a52465..681ae2e 100755
15--- a/plugins/aiurdemux/aiur.c
16+++ b/plugins/aiurdemux/aiur.c
17@@ -41,6 +41,8 @@
18 #include "aiurdemux.h"
19 #include "gstimxcommon.h"
20
21+extern gboolean aiur_register_external_typefinders (GstPlugin * plugin);
22+
23 static gboolean
24 plugin_init (GstPlugin * plugin)
25 {
26--
272.39.2
28
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 a13cf30ab..d7ac9b474 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -24,7 +24,9 @@ DEPENDS:append:imxvpu = " imx-vpuwrap"
24DEPENDS:append:imxfbdev:imxgpu = " libdrm" 24DEPENDS:append:imxfbdev:imxgpu = " libdrm"
25DEPENDS_IMXGPU = "" 25DEPENDS_IMXGPU = ""
26DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}" 26DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}"
27DEPENDS_IMX_OPENCL_CONVERTER = "" 27DEPENDS_IMX_OPENCL_CONVERTER = "imx-opencl-converter"
28DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
28DEPENDS_IMX_OPENCL_CONVERTER:mx8-nxp-bsp = "imx-opencl-converter" 30DEPENDS_IMX_OPENCL_CONVERTER:mx8-nxp-bsp = "imx-opencl-converter"
29DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" 31DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
30DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter" 32DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter"
@@ -34,25 +36,11 @@ RREPLACES:${PN} = "gst1.0-fsl-plugin"
34RPROVIDES:${PN} = "gst1.0-fsl-plugin" 36RPROVIDES:${PN} = "gst1.0-fsl-plugin"
35RCONFLICTS:${PN} = "gst1.0-fsl-plugin" 37RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
36 38
37PV = "4.8.3+git${SRCPV}" 39PV = "4.9.3+git${SRCPV}"
38 40
39SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \ 41SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
40 file://0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch \ 42SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
41 file://0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch \ 43SRCREV = "370510ef8137874339df18a2a35ec1d04d98fa0b"
42 file://0003-grecorder-Fix-build-with-clang.patch \
43 file://0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch \
44 file://0005-aiurstreamcache-Include-gst-gstinfo.h.patch \
45 file://0006-Fix-typecast-warnings-found-with-clang.patch \
46 file://0007-gstimxv4l2-Fix-typecasting-errors.patch \
47 file://0008-beepdec-Declare-beep_register_external_typefinders.patch \
48 file://0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch \
49 file://0010-provide-declaration-for-aiur_register_external_typef.patch \
50 file://0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch \
51 "
52SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
53SRCREV = "91c7fec888cf8932c91e354331aad94975cae3ff"
54
55S = "${WORKDIR}/git"
56 44
57inherit meson pkgconfig use-imx-headers 45inherit meson pkgconfig use-imx-headers
58 46
@@ -61,13 +49,11 @@ PLATFORM:mx6sl-nxp-bsp = "MX6SL"
61PLATFORM:mx6sx-nxp-bsp = "MX6SX" 49PLATFORM:mx6sx-nxp-bsp = "MX6SX"
62PLATFORM:mx6ul-nxp-bsp = "MX6UL" 50PLATFORM:mx6ul-nxp-bsp = "MX6UL"
63PLATFORM:mx6sll-nxp-bsp = "MX6SLL" 51PLATFORM:mx6sll-nxp-bsp = "MX6SLL"
64PLATFORM:mx7-nxp-bsp= "MX7D" 52PLATFORM:mx7-nxp-bsp = "MX7D"
65PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" 53PLATFORM:mx7ulp-nxp-bsp = "MX7ULP"
66PLATFORM:mx8-nxp-bsp = "MX8" 54PLATFORM:mx8-nxp-bsp = "MX8"
67PLATFORM:mx9-nxp-bsp = "MX9" 55PLATFORM:mx9-nxp-bsp = "MX9"
68 56
69CFLAGS:append:toolchain-clang = " -Wno-implicit-int -Wno-int-conversion -Wno-incompatible-function-pointer-types"
70
71# Todo add a mechanism to map possible build targets 57# Todo add a mechanism to map possible build targets
72EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ 58EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
73 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 59 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
diff --git a/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb b/recipes-multimedia/imx-codec/imx-codec_4.9.3.bb
index 0a2c71e76..5e42e6928 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb
+++ b/recipes-multimedia/imx-codec/imx-codec_4.9.3.bb
@@ -1,21 +1,24 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor 1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017 NXP-2023 2# Copyright (C) 2017-2024 NXP
3# Copyright 2018 (C) O.S. Systems Software LTDA. 3# Copyright 2018 (C) O.S. Systems Software LTDA.
4# Released under the MIT license (see COPYING.MIT for the terms) 4# Released under the MIT license (see COPYING.MIT for the terms)
5
5DESCRIPTION = "Freescale Multimedia codec libs" 6DESCRIPTION = "Freescale Multimedia codec libs"
6LICENSE = "Proprietary" 7LICENSE = "Proprietary"
7SECTION = "multimedia" 8SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" 9LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9 10
10# Backward compatibility 11# Backward compatibility
11PROVIDES += "libfslcodec" 12PROVIDES += "libfslcodec"
12 13
13SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 14SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
14SRC_URI[md5sum] = "7ae1615aad2c0456b9be2ab804a6267e" 15SRC_URI[sha256sum] = "61b40623e1c2322f1ba85da57ab6949f749d02b3b5cbc2b1ef583a99b59e8968"
15SRC_URI[sha256sum] = "9facb3541903b4a6c6baa906f8c2c6cc01fc8c7b82a726c8da6d3681d4ed720b" 16IMX_SRCREV_ABBREV = "394336b"
16 17
17inherit fsl-eula-unpack autotools pkgconfig 18inherit fsl-eula-unpack autotools pkgconfig
18 19
20S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
21
19PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}" 22PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}"
20# Support Chips&Media VPU only 23# Support Chips&Media VPU only
21PACKAGECONFIG_VPU = "" 24PACKAGECONFIG_VPU = ""
@@ -60,7 +63,7 @@ do_package_qa[prefuncs] += "__set_insane_skip"
60 63
61python __split_libfslcodec_plugins() { 64python __split_libfslcodec_plugins() {
62 codecdir = bb.data.expand('${libdir}', d) 65 codecdir = bb.data.expand('${libdir}', d)
63 do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', 66 do_split_packages(d, codecdir, r'^lib_([^_]*).*_arm.*_elinux\.so\..*',
64 aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', 67 aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
65 output_pattern='imx-codec-%s', 68 output_pattern='imx-codec-%s',
66 description='Freescale i.MX Codec (%s)', 69 description='Freescale i.MX Codec (%s)',
diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb
index bc73bd9f9..d9986456a 100644
--- a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.bb
+++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb
@@ -2,14 +2,13 @@
2 2
3DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP" 3DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" 5LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
6 6
7inherit fsl-eula-unpack autotools pkgconfig 7inherit 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] = "32251bc952ca7b9a4b12fadb9328a8c1" 11SRC_URI[sha256sum] = "fa30f3e1b13e570d7c6f0a5f335c11fc3c6336a266fd3a4941e27c4c2a5b13d3"
12SRC_URI[sha256sum] = "0baa82410a77c68e39aaa987d91b41c94255d62294fa2f5a399169f3068862cc"
13 12
14EXTRA_OECONF:append:mx8qm-nxp-bsp = " --enable-imx8qmqxp" 13EXTRA_OECONF:append:mx8qm-nxp-bsp = " --enable-imx8qmqxp"
15EXTRA_OECONF:append:mx8qxp-nxp-bsp = " --enable-imx8qmqxp" 14EXTRA_OECONF:append:mx8qxp-nxp-bsp = " --enable-imx8qmqxp"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.1.7.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.1.10.bb
index 60761e6e1..96656f85b 100644
--- a/recipes-multimedia/imx-dsp/imx-dsp_2.1.7.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=44a8052c384584ba09077e85a3d1654f" 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] = "199f88716f289e93e0954fa6475a3cbc" 14SRC_URI[sha256sum] = "fc6e6a7c2417730b39eeddc26606c3d58a8f5d0a1521f44bbbd505657046858b"
13SRC_URI[sha256sum] = "83eaef592de33b4d5e8fae63d798cc955bf3c414911c87afeb65a20af01fb0b6"
14 15
15EXTRA_OECONF = " \ 16EXTRA_OECONF = " \
16 -datadir=${base_libdir}/firmware \ 17 -datadir=${base_libdir}/firmware \
diff --git a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
index 48be837a9..9655b1f7d 100644
--- a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
+++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
@@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
6 6
7SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
8 8
9SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1"
10SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a" 9SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
11 10
12inherit fsl-eula-unpack autotools pkgconfig 11inherit fsl-eula-unpack autotools pkgconfig
diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb
deleted file mode 100644
index 3dc0a7ea5..000000000
--- a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1# Copyright 2023 NXP
2DESCRIPTION = "NXP Multimedia opencl converter lib"
3LICENSE = "Proprietary"
4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
6DEPENDS = "opencl-headers"
7
8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
9SRC_URI[md5sum] = "dc668682189ce740fb46073e62f58066"
10SRC_URI[sha256sum] = "9f283df500c57421b87d96d9af7022ab490bc241aa28d00755beaadabbcd754b"
11
12inherit fsl-eula-unpack autotools pkgconfig meson
13
14FILES:${PN} += "${datadir}/"
15
16COMPATIBLE_MACHINE = "(^$)"
17COMPATIBLE_MACHINE:imxgpu = "(mx8-nxp-bsp|mx95-nxp-bsp)"
18COMPATIBLE_MACHINE:mx8mm-nxp-bsp = "(^$)"
diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb
new file mode 100644
index 000000000..84f3ee6aa
--- /dev/null
+++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.7.0.bb
@@ -0,0 +1,20 @@
1# Copyright 2023-2024 NXP
2DESCRIPTION = "NXP Multimedia opencl converter lib"
3LICENSE = "Proprietary"
4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6DEPENDS = "virtual/opencl-icd"
7
8SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
9IMX_SRCREV_ABBREV = "ad0094a"
10
11SRC_URI[sha256sum] = "d23ad4234f34ffcfb37d77c91345b935894937913a68995223d2f9f421eade46"
12
13S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
14inherit fsl-eula-unpack autotools pkgconfig meson
15
16FILES:${PN} += "${datadir}/"
17
18COMPATIBLE_MACHINE = "(^$)"
19COMPATIBLE_MACHINE:imxgpu = "(mx8-nxp-bsp|mx95-nxp-bsp)"
20COMPATIBLE_MACHINE:mx8mm-nxp-bsp = "(^$)"
diff --git a/recipes-multimedia/imx-parser/imx-parser_4.8.3.bb b/recipes-multimedia/imx-parser/imx-parser_4.9.3.bb
index 4e580085f..d770b66ea 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.8.3.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.9.3.bb
@@ -5,7 +5,7 @@
5DESCRIPTION = "Freescale Multimedia parser libs" 5DESCRIPTION = "Freescale Multimedia parser libs"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9 9
10# For backwards compatibility 10# For backwards compatibility
11PROVIDES += "libfslparser" 11PROVIDES += "libfslparser"
@@ -13,9 +13,11 @@ RREPLACES:${PN} = "libfslparser"
13RPROVIDES:${PN} = "libfslparser" 13RPROVIDES:${PN} = "libfslparser"
14RCONFLICTS:${PN} = "libfslparser" 14RCONFLICTS:${PN} = "libfslparser"
15 15
16SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 16SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
17SRC_URI[md5sum] = "9bca484287f5592b86ed10c1761a3fcc" 17IMX_SRCREV_ABBREV = "c296eb2"
18SRC_URI[sha256sum] = "b25267eefb4618b2ba8d6aba46a5b4e09621a44115036fc896e0777006472043" 18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
19
20SRC_URI[sha256sum] = "997a7f79f291ef4b3c8dd3ba6f2f32c430c63feb4bb29d923f71da0d1ccf20a9"
19 21
20inherit fsl-eula-unpack autotools pkgconfig 22inherit fsl-eula-unpack autotools pkgconfig
21 23
diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
index 2b62b2443..68919ac83 100644
--- a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
+++ b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
@@ -6,7 +6,6 @@ SECTION = "multimedia"
6LIC_FILES_CHKSUM = "file://COPYING;md5=63a38e9f392d8813d6f1f4d0d6fbe657" 6LIC_FILES_CHKSUM = "file://COPYING;md5=63a38e9f392d8813d6f1f4d0d6fbe657"
7 7
8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
9SRC_URI[md5sum] = "cbd5af6e9019db789c03c2d05a8bb444"
10SRC_URI[sha256sum] = "f778a7b785fc500df5573f5b810a190ddc561267b47ca54b9ddf4ae12571cfe3" 9SRC_URI[sha256sum] = "f778a7b785fc500df5573f5b810a190ddc561267b47ca54b9ddf4ae12571cfe3"
11 10
12inherit fsl-eula-unpack autotools pkgconfig 11inherit fsl-eula-unpack autotools pkgconfig
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch
new file mode 100644
index 000000000..74ea5206c
--- /dev/null
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap/0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch
@@ -0,0 +1,32 @@
1From a3c2f61649afd05e4bab457370f0b32d7644505c Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Mon, 3 Mar 2025 08:24:51 +0000
4Subject: [PATCH] vpu_wrapper_hantro_encoder: fix missing include
5
6gettimeofday is declared in sys/time.h. Add the include.
7
8Fixes the build error:
9| ../git/vpu_wrapper_hantro_encoder.c:953:3: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
10| 953 | gettimeofday (&pObj->tvEnd, NULL);
11
12Upstream-Status: Pending
13Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
14---
15 vpu_wrapper_hantro_encoder.c | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/vpu_wrapper_hantro_encoder.c b/vpu_wrapper_hantro_encoder.c
19index 3819c389320c..a0bdb2f4f6c0 100755
20--- a/vpu_wrapper_hantro_encoder.c
21+++ b/vpu_wrapper_hantro_encoder.c
22@@ -25,6 +25,7 @@
23 #include <string.h>
24 #include <time.h>
25 #include <semaphore.h>
26+#include <sys/time.h>
27
28 #include "headers/OMX_Video.h"
29 #include "headers/OMX_VideoExt.h"
30--
312.42.0
32
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index af15e7b1b..39729f712 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -1,23 +1,26 @@
1# Copyright (C) 2013-2016 Freescale Semiconductor 1# Copyright (C) 2013-2016 Freescale Semiconductor
2# Copyright 2017-2023 NXP 2# Copyright (C) 2017-2023 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "Freescale Multimedia VPU wrapper" 5DESCRIPTION = "Freescale Multimedia VPU wrapper"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
9 9
10DEPENDS = "virtual/imxvpu" 10DEPENDS = "virtual/imxvpu"
11DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" 11DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
12 12
13SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}" 13SRC_URI = " \
14SRCBRANCH = "MM_04.08.03_2312_L6.6.y" 14 git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH} \
15SRCREV = "f974cecdb00b4a214e4b5229f2279e772ee43306" 15 file://0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch \
16 16"
17S = "${WORKDIR}/git" 17SRCBRANCH = "MM_04.09.03_2412_L6.12.y"
18SRCREV = "d8703ee3245797111ad21c52982efa8b6db33241"
18 19
19inherit autotools pkgconfig 20inherit autotools pkgconfig
20 21
22CFLAGS += " -Wno-error=implicit-function-declaration"
23
21do_install:append() { 24do_install:append() {
22 # FIXME: Drop examples for now 25 # FIXME: Drop examples for now
23 rm -r ${D}${datadir} 26 rm -r ${D}${datadir}
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb
index 1e7d8252c..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 = "6f803f46d6b53a08cf02fc3d440072e01e2f3a09" 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/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
index 93f71e8f6..6e4db9110 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
@@ -17,9 +17,9 @@ SRC_URI_IMX:mx9-nxp-bsp = " \
17CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no" 17CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
18 18
19do_install:append() { 19do_install:append() {
20 if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then 20 if [ -e "${UNPACKDIR}/daemon.conf" ] && [ -e "${UNPACKDIR}/default.pa" ]; then
21 install -m 0644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf 21 install -m 0644 ${UNPACKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf
22 install -m 0644 ${WORKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa 22 install -m 0644 ${UNPACKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa
23 fi 23 fi
24} 24}
25 25
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 803c38dfb..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/tinycompress.git;protocol=git;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 4cfe18bf8..7aeff9fd5 100644
--- a/recipes-security/optee-imx/optee-client-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-client-fslc-imx.inc
@@ -1,7 +1,36 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-client-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
2 3
3require optee-client-fslc.inc 4require optee-client-fslc.inc
4 5
5SRC_URI += "git://github.com/nxp-imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH}" 6DEPENDS += "util-linux-libuuid"
6 7
7COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
9SRC_URI:remove = "git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https"
10SRC_URI:prepend = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} "
11OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https"
12
13inherit pkgconfig
14
15EXTRA_OECMAKE += "-DCFG_TEE_CLIENT_LOAD_PATH=${nonarch_base_libdir}"
16
17# Copy the udev rule from the libts recipe for starting tee-supplicant@.service
18SRC_URI += "file://tee-udev.rules"
19# Unix group name for dev/tee* ownership.
20TEE_GROUP_NAME ?= "teeclnt"
21do_install:append () {
22 if ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', 'false', 'true', d)}; then
23 install -d ${D}${nonarch_base_libdir}/udev/rules.d/
24 install -m 755 ${UNPACKDIR}/tee-udev.rules ${D}${nonarch_base_libdir}/udev/rules.d/
25 sed -i -e "s/teeclnt/${TEE_GROUP_NAME}/" ${D}${nonarch_base_libdir}/udev/rules.d/tee-udev.rules
26 fi
27
28 if [ "${libdir}" != "${nonarch_base_libdir}" ]; then
29 rm -rf ${D}${libdir}/systemd
30 fi
31}
32inherit ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', '', 'useradd', d)}
33USERADD_PACKAGES = "${PN}"
34GROUPADD_PARAM:${PN} = "--system ${TEE_GROUP_NAME}"
35
36FILES:${PN} += "${libdir}/* ${includedir}/*"
diff --git a/recipes-security/optee-imx/optee-client-fslc.inc b/recipes-security/optee-imx/optee-client-fslc.inc
index 92f9f1d1f..2c1a0f450 100644
--- a/recipes-security/optee-imx/optee-client-fslc.inc
+++ b/recipes-security/optee-imx/optee-client-fslc.inc
@@ -1,42 +1,41 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-arm/recipes-security/optee/optee-client.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE Client API"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE Client libs"
4HOMEPAGE = "http://www.optee.org/"
5LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
7 10
8SRC_URI = "file://tee-supplicant.service" 11inherit systemd update-rc.d cmake
9
10S = "${WORKDIR}/git"
11B = "${WORKDIR}/build"
12
13inherit python3native systemd features_check pkgconfig
14
15DEPENDS = "util-linux-libuuid"
16
17REQUIRED_MACHINE_FEATURES = "optee"
18 12
19SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" 13SRC_URI = " \
20 14 git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https \
21EXTRA_OEMAKE = " \ 15 file://tee-supplicant@.service \
22 -C ${S} O=${B} \ 16 file://tee-supplicant.sh \
23" 17"
24 18
25do_install () { 19UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
26 oe_runmake -C ${S} install
27 20
28 install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0.0 ${D}${libdir}/libteec.so.1.0.0 21EXTRA_OECMAKE = " \
29 ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1 22 -DBUILD_SHARED_LIBS=ON \
30 ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so 23 -DCFG_TEE_FS_PARENT_PATH='${localstatedir}/lib/tee' \
24"
25EXTRA_OECMAKE:append:toolchain-clang = " -DCFG_WERROR=0"
31 26
32 install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0 27do_install:append() {
33 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0 28 install -D -p -m0644 ${UNPACKDIR}/tee-supplicant@.service ${D}${systemd_system_unitdir}/tee-supplicant@.service
34 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so 29 install -D -p -m0755 ${UNPACKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
35 30
36 install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant 31 sed -i -e s:@sysconfdir@:${sysconfdir}:g \
32 -e s:@sbindir@:${sbindir}:g \
33 ${D}${systemd_system_unitdir}/tee-supplicant@.service \
34 ${D}${sysconfdir}/init.d/tee-supplicant
35}
37 36
38 cp -a ${B}/export/usr/include ${D}${includedir} 37SYSTEMD_SERVICE:${PN} = "tee-supplicant@.service"
39 38
40 sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${WORKDIR}/tee-supplicant.service 39INITSCRIPT_PACKAGES = "${PN}"
41 install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service 40INITSCRIPT_NAME:${PN} = "tee-supplicant"
42} 41INITSCRIPT_PARAMS:${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant.service b/recipes-security/optee-imx/optee-client/tee-supplicant.service
deleted file mode 100644
index 0e2b4f6ba..000000000
--- a/recipes-security/optee-imx/optee-client/tee-supplicant.service
+++ /dev/null
@@ -1,11 +0,0 @@
1[Unit]
2Description=TEE Supplicant
3
4[Service]
5User=root
6EnvironmentFile=-/etc/default/tee-supplicant
7ExecStart=/usr/bin/tee-supplicant $OPTARGS
8
9[Install]
10WantedBy=basic.target
11
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant.sh b/recipes-security/optee-imx/optee-client/tee-supplicant.sh
new file mode 100644
index 000000000..b4d219502
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-supplicant.sh
@@ -0,0 +1,46 @@
1#!/bin/sh
2
3# Source function library
4. /etc/init.d/functions
5
6NAME=tee-supplicant
7PATH=/sbin:/bin:/usr/sbin:/usr/bin
8DESC="OP-TEE Supplicant"
9
10DAEMON=@sbindir@/$NAME
11
12test -f $DAEMON || exit 0
13
14test -f @sysconfdir@/default/$NAME && . @sysconfdir@/default/$NAME
15test -f @sysconfdir@/default/rcS && . @sysconfdir@/default/rcS
16
17SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- -d $OPTARGS"
18
19set -e
20
21case $1 in
22 start)
23 echo -n "Starting $DESC: "
24 start-stop-daemon --start $SSD_OPTIONS
25 echo "${DAEMON##*/}."
26 ;;
27 stop)
28 echo -n "Stopping $DESC: "
29 start-stop-daemon --stop $SSD_OPTIONS
30 echo "${DAEMON##*/}."
31 ;;
32 restart|force-reload)
33 $0 stop
34 sleep 1
35 $0 start
36 ;;
37 status)
38 status ${DAEMON} || exit $?
39 ;;
40 *)
41 echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
42 exit 1
43 ;;
44esac
45
46exit 0
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant@.service b/recipes-security/optee-imx/optee-client/tee-supplicant@.service
new file mode 100644
index 000000000..72c0b9aa5
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-supplicant@.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=TEE Supplicant on %i
3
4[Service]
5User=root
6EnvironmentFile=-@sysconfdir@/default/tee-supplicant
7ExecStart=@sbindir@/tee-supplicant $OPTARGS
8
9[Install]
10WantedBy=basic.target
diff --git a/recipes-security/optee-imx/optee-client/tee-udev.rules b/recipes-security/optee-imx/optee-client/tee-udev.rules
new file mode 100644
index 000000000..43fafd8c9
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-udev.rules
@@ -0,0 +1,7 @@
1# tee devices can only be accessed by the teeclnt group members
2KERNEL=="tee[0-9]*", TAG+="systemd", MODE="0660", GROUP="teeclnt"
3
4# If a /dev/teepriv[0-9]* device is detected, start an instance of
5# tee-supplicant.service with the device name as parameter
6KERNEL=="teepriv[0-9]*", MODE="0660", OWNER="root", GROUP="tee", \
7 TAG+="systemd", ENV{SYSTEMD_WANTS}+="tee-supplicant@%k.service"
diff --git a/recipes-security/optee-imx/optee-client_4.0.0.imx.bb b/recipes-security/optee-imx/optee-client_4.0.0.imx.bb
deleted file mode 100644
index b404dd5b7..000000000
--- a/recipes-security/optee-imx/optee-client_4.0.0.imx.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.3_1.0.0"
4SRCREV = "acb0885c117e73cb6c5c9b1dd9054cb3f93507ee"
5
6DEPENDS += "util-linux"
7EXTRA_OEMAKE += "PKG_CONFIG=pkg-config"
diff --git a/recipes-security/optee-imx/optee-client_4.4.0.imx.bb b/recipes-security/optee-imx/optee-client_4.4.0.imx.bb
new file mode 100644
index 000000000..322f998fc
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client_4.4.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.52_2.2.0"
4SRCREV = "d221676a58b305bddbf97db00395205b3038de8e"
diff --git a/recipes-security/optee-imx/optee-fslc.inc b/recipes-security/optee-imx/optee-fslc.inc
index 6c96dc2bc..c89746dc4 100644
--- a/recipes-security/optee-imx/optee-fslc.inc
+++ b/recipes-security/optee-imx/optee-fslc.inc
@@ -1,26 +1,40 @@
1HOMEPAGE = "http://www.optee.org/" 1# Copied from meta-arm/recipes-security/optee/optee.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
2 3
3inherit python3native features_check 4UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
4 5
5REQUIRED_MACHINE_FEATURES = "optee" 6COMPATIBLE_MACHINE ?= "invalid"
7COMPATIBLE_MACHINE:qemuarm64 ?= "qemuarm64"
8COMPATIBLE_MACHINE:qemuarm ?= "qemuarm"
9# Please add supported machines below or set it in .bbappend or .conf
6 10
7DEPENDS = "python3-cryptography-native" 11OPTEEMACHINE ?= "${MACHINE}"
12OPTEEMACHINE:aarch64:qemuall ?= "vexpress-qemu_armv8a"
13OPTEEMACHINE:arm:qemuall ?= "vexpress-qemu_virt"
8 14
9S = "${WORKDIR}/git" 15OPTEE_ARCH = "null"
10B = "${WORKDIR}/build" 16OPTEE_ARCH:arm = "arm32"
11
12OPTEE_ARCH:arm = "arm32"
13OPTEE_ARCH:aarch64 = "arm64" 17OPTEE_ARCH:aarch64 = "arm64"
18OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
19
20OPTEE_TOOLCHAIN = "${@d.getVar('TOOLCHAIN') or 'gcc'}"
21OPTEE_COMPILER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "clang-layer", "${OPTEE_TOOLCHAIN}", "gcc", d)}"
14 22
15COMPILER ?= "gcc" 23# Set here but not passed to EXTRA_OEMAKE by default as that breaks
16COMPILER:toolchain-clang = "clang" 24# the optee-os build
25TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
26
27EXTRA_OEMAKE += "V=1 \
28 LIBGCC_LOCATE_CFLAGS='${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
29 COMPILER=${OPTEE_COMPILER} \
30 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${prefix} \
31 TEEC_EXPORT=${STAGING_DIR_HOST}${prefix} \
32 "
33# python3-cryptography needs the legacy provider, so set OPENSSL_MODULES to the
34# right path until this is relocated automatically.
35export OPENSSL_MODULES = "${STAGING_LIBDIR_NATIVE}/ossl-modules"
17 36
18CFLAGS += "--sysroot=${STAGING_DIR_HOST}" 37CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
19CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" 38
20 39# See the rationale in https://github.com/f-secure-foundry/advisories/blob/master/Security_Advisory-Ref_FSC-HWSEC-VR2021-0001-OP-TEE_TrustZone_bypass.txt.
21EXTRA_OEMAKE = " \ 40CVE_STATUS[CVE-2021-36133] = "disputed: devices shipped open for development purposes"
22 COMPILER=${COMPILER} \
23 OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \
24 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \
25 -C ${S} O=${B} \
26"
diff --git a/recipes-security/optee-imx/optee-os-common-fslc-imx.inc b/recipes-security/optee-imx/optee-os-common-fslc-imx.inc
new file mode 100644
index 000000000..941182fe9
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-common-fslc-imx.inc
@@ -0,0 +1,62 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-common-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-os-fslc.inc
5
6DEPENDS:append:arm = "u-boot-mkimage-native"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:"
9
10SRC_URI:remove = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
11SRC_URI:prepend = "${OPTEE_OS_SRC};branch=${SRCBRANCH} "
12SRC_URI:append = " file://0007-allow-setting-sysroot-for-clang.patch"
13SRC_URI:remove = "file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
14 file://0002-optee-enable-clang-support.patch \
15 file://0003-core-link-add-no-warn-rwx-segments.patch"
16
17OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https"
18
19inherit features_check
20
21REQUIRED_MACHINE_FEATURES = "optee"
22
23OPTEEMACHINE = "imx-${@d.getVar('MACHINE')[1:]}"
24OPTEEMACHINE:imx6qpdlsolox = "imx-mx6qsabresd"
25OPTEEMACHINE:mx6ul-nxp-bsp = "imx-mx6ulevk"
26OPTEEMACHINE:mx6ull-nxp-bsp = "imx-mx6ullevk"
27OPTEEMACHINE:mx6ulz-nxp-bsp = "imx-mx6ulzevk"
28OPTEEMACHINE:mx8mq-nxp-bsp = "imx-mx8mqevk"
29OPTEEMACHINE:mx8mm-nxp-bsp = "imx-mx8mmevk"
30OPTEEMACHINE:mx8mn-nxp-bsp = "imx-mx8mnevk"
31OPTEEMACHINE:mx8mp-nxp-bsp = "imx-mx8mpevk"
32OPTEEMACHINE:mx8mpul-nxp-bsp = "imx-mx8mpevk"
33OPTEEMACHINE:mx8qm-nxp-bsp = "imx-mx8qmmek"
34OPTEEMACHINE:mx8qxp-nxp-bsp = "imx-mx8qxpmek"
35OPTEEMACHINE:mx8dx-nxp-bsp = "imx-mx8dxmek"
36OPTEEMACHINE:mx8dxl-nxp-bsp = "imx-mx8dxlevk"
37OPTEEMACHINE:mx8mnul-nxp-bsp = "imx-mx8mnevk"
38OPTEEMACHINE:mx8ulp-nxp-bsp = "imx-mx8ulpevk"
39OPTEEMACHINE:mx91-nxp-bsp = "imx-mx91evk"
40OPTEEMACHINE:mx93-nxp-bsp = "imx-mx93evk"
41OPTEEMACHINE:mx95-nxp-bsp = "imx-mx95evk"
42
43# Strip the leading imx-
44PLATFORM_FLAVOR = "${@d.getVar('OPTEEMACHINE')[4:]}"
45
46EXTRA_OEMAKE:append = " \
47 CFG_TEE_TA_LOG_LEVEL=0 \
48 CFG_TEE_CORE_LOG_LEVEL=0 \
49"
50
51EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \
52 CFG_CORE_LARGE_PHYS_ADDR=y \
53 CFG_CORE_ARM64_PA_BITS=36 \
54 CFG_DDR_SIZE=0x100000000 \
55 CFG_TZDRAM_START=0xfe000000 \
56"
57
58EXTRA_OEMAKE:append:imx8dxlb0-fips-lpddr4-evk = " \
59 CFG_NXP_CAAM=n \
60"
61
62COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-os-fslc-imx.inc b/recipes-security/optee-imx/optee-os-fslc-imx.inc
index 6b72e8277..5fe6a75a5 100644
--- a/recipes-security/optee-imx/optee-os-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-os-fslc-imx.inc
@@ -1,26 +1,26 @@
1require optee-os-fslc.inc 1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
2 3
3SRC_URI = "git://github.com/nxp-imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH}" 4require optee-os-common-fslc-imx.inc
4 5
5# The platform flavor corresponds to the Yocto machine without the leading 'i'. 6do_compile:arm() {
6PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" 7 oe_runmake -C ${S} all uTee
7PLATFORM_FLAVOR:imx6qdlsabresd = "mx6qsabresd" 8}
8PLATFORM_FLAVOR:imx6qdlsabreauto = "mx6qsabreauto"
9PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd"
10PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk"
11PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk"
12PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk"
13PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk"
14PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk"
15PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk"
16PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk"
17PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk"
18PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk"
19PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek"
20PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek"
21PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek"
22PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk"
23PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk"
24PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk"
25 9
26COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 10do_install:append () {
11 # Install embedded TAs
12 install -d ${D}${nonarch_base_libdir}/optee_armtz/
13 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
14}
15
16do_deploy:append() {
17 cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/${MLPREFIX}optee/tee.${PLATFORM_FLAVOR}.bin
18 ln -sf ${MLPREFIX}optee/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin
19}
20
21do_deploy:append:arm() {
22 cp ${B}/core/uTee ${DEPLOYDIR}/${MLPREFIX}optee/uTee-${OPTEE_BIN_EXT}
23 ln -sf ${MLPREFIX}optee/uTee-${OPTEE_BIN_EXT} ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
24}
25
26FILES:${PN} += "${nonarch_base_libdir}/optee_armtz"
diff --git a/recipes-security/optee-imx/optee-os-fslc.inc b/recipes-security/optee-imx/optee-os-fslc.inc
index b91a55311..56c0f3e12 100644
--- a/recipes-security/optee-imx/optee-os-fslc.inc
+++ b/recipes-security/optee-imx/optee-os-fslc.inc
@@ -1,87 +1,85 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-arm/recipes-security/optee/optee-os.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE Trusted OS"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE OS"
4DESCRIPTION = "OPTEE OS"
5LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
7 10
11inherit deploy python3native
8require optee-fslc.inc 12require optee-fslc.inc
9 13
10DEPENDS += "python3-pyelftools-native u-boot-mkimage-native" 14CVE_PRODUCT = "linaro:op-tee op-tee:op-tee_os"
15
16DEPENDS = "python3-pyelftools-native python3-cryptography-native"
17
11DEPENDS:append:toolchain-clang = " compiler-rt" 18DEPENDS:append:toolchain-clang = " compiler-rt"
12 19
13inherit deploy autotools 20SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
14 21
15# Optee-os can be built for 32 bits and 64 bits at the same time 22B = "${WORKDIR}/build"
16# as long as the compilers are correctly defined.
17# For 64bits, CROSS_COMPILE64 must be set
18# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that
19# any 32 or 64 bits builds will pass
20EXTRA_OEMAKE += " \
21 PLATFORM=imx-${PLATFORM_FLAVOR} \
22 CROSS_COMPILE=${HOST_PREFIX} \
23 CROSS_COMPILE64=${HOST_PREFIX} \
24 CFLAGS32=--sysroot=${STAGING_DIR_HOST} \
25 CFLAGS64=--sysroot=${STAGING_DIR_HOST} \
26 CFG_TEE_TA_LOG_LEVEL=0 \
27 CFG_TEE_CORE_LOG_LEVEL=0 \
28"
29 23
30EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \ 24EXTRA_OEMAKE += " \
31 CFG_CORE_LARGE_PHYS_ADDR=y \ 25 PLATFORM=${OPTEEMACHINE} \
32 CFG_CORE_ARM64_PA_BITS=36 \ 26 CFG_${OPTEE_CORE}_core=y \
33 CFG_DDR_SIZE=0x100000000 \ 27 CROSS_COMPILE_core=${HOST_PREFIX} \
34 CFG_TZDRAM_START=0xfe000000 \ 28 CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
29 NOWERROR=1 \
30 ta-targets=ta_${OPTEE_ARCH} \
31 O=${B} \
35" 32"
33EXTRA_OEMAKE += " HOST_PREFIX=${HOST_PREFIX}"
34EXTRA_OEMAKE += " CROSS_COMPILE64=${HOST_PREFIX}"
36 35
37LDFLAGS[unexport] = "1" 36LDFLAGS[unexport] = "1"
38CPPFLAGS[unexport] = "1" 37CPPFLAGS[unexport] = "1"
39AS[unexport] = "1" 38AS[unexport] = "1"
40LD[unexport] = "1" 39LD[unexport] = "1"
41 40
42do_configure[noexec] = "1"
43
44do_compile:prepend() { 41do_compile:prepend() {
45 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name) 42 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name)
46} 43}
47 44
48do_compile:arm () { 45do_compile() {
49 oe_runmake all uTee 46 oe_runmake -C ${S} all
50}
51
52do_compile:aarch64 () {
53 oe_runmake all
54} 47}
55do_compile[cleandirs] = "${B}" 48do_compile[cleandirs] = "${B}"
56 49
57do_deploy () { 50do_install() {
58 install -d ${DEPLOYDIR} 51 #install core in firmware
59 cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin 52 install -d ${D}${nonarch_base_libdir}/firmware/
60 ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin 53 install -m 644 ${B}/core/*.bin ${B}/core/tee.elf ${D}${nonarch_base_libdir}/firmware/
61}
62 54
63do_deploy:append:arm () { 55 #install tas in optee_armtz
64 cp ${B}/core/uTee ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} 56 install -d ${D}${nonarch_base_libdir}/optee_armtz/
57 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz
65} 58}
66 59
67do_install () { 60PACKAGE_ARCH = "${MACHINE_ARCH}"
68 install -d ${D}${nonarch_base_libdir}/firmware/
69 install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
70 61
71 # Install embedded TAs 62do_deploy() {
72 install -d ${D}${nonarch_base_libdir}/optee_armtz/ 63 install -d ${DEPLOYDIR}/${MLPREFIX}optee
73 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ 64 install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/${MLPREFIX}optee
74 65
75 # Install the TA devkit 66 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
76 install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ 67 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
77 cp -aR ${B}/export-ta_${OPTEE_ARCH}/* \
78 ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
79} 68}
80 69
81addtask deploy after do_compile before do_install 70addtask deploy before do_build after do_install
82 71
83FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/" 72SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
84FILES:${PN}-staticdev = "${includedir}/optee/" 73
85RDEPENDS:${PN}-dev += "${PN}-staticdev" 74PACKAGES += "${PN}-ta"
75FILES:${PN} = "${nonarch_base_libdir}/firmware/"
76FILES:${PN}-ta = "${nonarch_base_libdir}/optee_armtz/*"
77
78
79# note: "textrel" is not triggered on all archs
80INSANE_SKIP:${PN} = "textrel"
81# Build paths are currently embedded
82INSANE_SKIP:${PN} += "buildpaths"
83INSANE_SKIP:${PN}-dev = "staticdev"
84INHIBIT_PACKAGE_STRIP = "1"
86 85
87PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
new file mode 100644
index 000000000..18cf9a374
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
@@ -0,0 +1,27 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-tadevkit-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-os-common-fslc-imx.inc
5
6SUMMARY = "OP-TEE Trusted OS TA devkit"
7DESCRIPTION = "OP-TEE TA devkit for build TAs"
8HOMEPAGE = "https://www.op-tee.org/"
9
10DEPENDS += "python3-pycryptodome-native"
11
12do_install() {
13 #install TA devkit
14 install -d ${D}${includedir}/optee/export-user_ta/
15 for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
16 cp -aR $f ${D}${includedir}/optee/export-user_ta/
17 done
18}
19
20do_deploy() {
21 echo "Do not inherit do_deploy from optee-os."
22}
23
24FILES:${PN} = "${includedir}/optee/"
25
26# Build paths are currently embedded
27INSANE_SKIP:${PN}-dev += "buildpaths"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb b/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb
new file mode 100644
index 000000000..bb2e2cf6b
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-os-tadevkit-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.52_2.2.0"
4SRCREV = "60beb308810f9561a67fdb435388a64c85eb6dcb"
diff --git a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch b/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
deleted file mode 100644
index 54fbe5419..000000000
--- a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
+++ /dev/null
@@ -1,245 +0,0 @@
1From ef83625c9a5f50610e25aa860c4b9c5e64723a66 Mon Sep 17 00:00:00 2001
2From: Emekcan Aras <emekcan.aras@arm.com>
3Date: Wed, 21 Dec 2022 10:55:58 +0000
4Subject: [PATCH 1/4] core: Define section attributes for clang
5
6Clang's attribute section is not same as gcc, here we need to add flags
7to sections so they can be eventually collected by linker into final
8output segments. Only way to do so with clang is to use
9
10pragma clang section ...
11
12The behavious is described here [1], this allows us to define names bss
13sections. This was not an issue until clang-15 where LLD linker starts
14to detect the section flags before merging them and throws the following
15errors
16
17| ld.lld: error: section type mismatch for .nozi.kdata_page
18| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
19| >>> output section .nozi: SHT_NOBITS
20|
21| ld.lld: error: section type mismatch for .nozi.mmu.l2
22| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
23| >>> output section .nozi: SHT_NOBITS
24
25These sections should be carrying SHT_NOBITS but so far it was not
26possible to do so, this patch tries to use clangs pragma to get this
27going and match the functionality with gcc.
28
29[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
30
31Upstream-Status: Pending
32Signed-off-by: Khem Raj <raj.khem@gmail.com>
33Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
34---
35
36 core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
37 core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++----
38 core/arch/arm/mm/core_mmu_v7.c | 36 +++++++++++++++++++++++++++++---
39 core/kernel/thread.c | 13 +++++++++++-
40 core/mm/pgt_cache.c | 12 ++++++++++-
41 5 files changed, 104 insertions(+), 11 deletions(-)
42
43diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
44index 66833b3a0..b3eb9cf9a 100644
45--- a/core/arch/arm/kernel/thread.c
46+++ b/core/arch/arm/kernel/thread.c
47@@ -45,15 +45,30 @@ static size_t thread_user_kcode_size __nex_bss;
48 #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
49 defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
50 long thread_user_kdata_sp_offset __nex_bss;
51+#ifdef __clang__
52+#ifndef CFG_VIRTUALIZATION
53+#pragma clang section bss=".nozi.kdata_page"
54+#else
55+#pragma clang section bss=".nex_nozi.kdata_page"
56+#endif
57+#endif
58 static uint8_t thread_user_kdata_page[
59 ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
60 SMALL_PAGE_SIZE)]
61 __aligned(SMALL_PAGE_SIZE)
62+#ifndef __clang__
63 #ifndef CFG_NS_VIRTUALIZATION
64- __section(".nozi.kdata_page");
65+ __section(".nozi.kdata_page")
66 #else
67- __section(".nex_nozi.kdata_page");
68+ __section(".nex_nozi.kdata_page")
69 #endif
70+#endif
71+ ;
72+#endif
73+
74+/* reset BSS section to default ( .bss ) */
75+#ifdef __clang__
76+#pragma clang section bss=""
77 #endif
78
79 #ifdef ARM32
80diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
81index 4c8b85e39..1885e1d3f 100644
82--- a/core/arch/arm/mm/core_mmu_lpae.c
83+++ b/core/arch/arm/mm/core_mmu_lpae.c
84@@ -234,19 +234,46 @@ typedef uint16_t l1_idx_t;
85 typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
86 typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
87
88+#ifdef __clang__
89+#pragma clang section bss=".nozi.mmu.base_table"
90+#endif
91 static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
92 __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
93- __section(".nozi.mmu.base_table");
94+#ifndef __clang__
95+ __section(".nozi.mmu.base_table")
96+#endif
97+;
98+#ifdef __clang__
99+#pragma clang section bss=""
100+#endif
101
102+#ifdef __clang__
103+#pragma clang section bss=".nozi.mmu.l2"
104+#endif
105 static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
106- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
107+ __aligned(XLAT_TABLE_SIZE)
108+#ifndef __clang__
109+ __section(".nozi.mmu.l2")
110+#endif
111+;
112+#ifdef __clang__
113+#pragma clang section bss=""
114+#endif
115
116 #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
117
118+#ifdef __clang__
119+#pragma clang section bss=".nozi.mmu.l2"
120+#endif
121 /* MMU L2 table for TAs, one for each thread */
122 static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
123- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
124-
125+#ifndef __clang__
126+ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
127+#endif
128+;
129+#ifdef __clang__
130+#pragma clang section bss=""
131+#endif
132 /*
133 * TAs page table entry inside a level 1 page table.
134 *
135diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c
136index 61e703da8..1960c08ca 100644
137--- a/core/arch/arm/mm/core_mmu_v7.c
138+++ b/core/arch/arm/mm/core_mmu_v7.c
139@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES];
140 typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
141 typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
142
143+#ifdef __clang__
144+#pragma clang section bss=".nozi.mmu.l1"
145+#endif
146 static l1_xlat_tbl_t main_mmu_l1_ttb
147- __aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
148+ __aligned(L1_ALIGNMENT)
149+#ifndef __clang__
150+ __section(".nozi.mmu.l1")
151+#endif
152+;
153+#ifdef __clang__
154+#pragma clang section bss=""
155+#endif
156
157 /* L2 MMU tables */
158+#ifdef __clang__
159+#pragma clang section bss=".nozi.mmu.l2"
160+#endif
161 static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
162- __aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
163+ __aligned(L2_ALIGNMENT)
164+#ifndef __clang__
165+ __section(".nozi.mmu.l2")
166+#endif
167+;
168+#ifdef __clang__
169+#pragma clang section bss=""
170+#endif
171
172 /* MMU L1 table for TAs, one for each thread */
173+#ifdef __clang__
174+#pragma clang section bss=".nozi.mmu.ul1"
175+#endif
176 static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
177- __aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
178+ __aligned(UL1_ALIGNMENT)
179+#ifndef __clang__
180+ __section(".nozi.mmu.ul1")
181+#endif
182+;
183+#ifdef __clang__
184+#pragma clang section bss=""
185+#endif
186
187 struct mmu_partition {
188 l1_xlat_tbl_t *l1_table;
189diff --git a/core/kernel/thread.c b/core/kernel/thread.c
190index 2a1f22dce..5516b6771 100644
191--- a/core/kernel/thread.c
192+++ b/core/kernel/thread.c
193@@ -39,13 +39,24 @@ static uint32_t end_canary_value = 0xababab00;
194 name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
195 #endif
196
197+#define DO_PRAGMA(x) _Pragma (#x)
198+
199+#ifdef __clang__
200+#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
201+DO_PRAGMA (clang section bss=".nozi_stack." #name) \
202+linkage uint32_t name[num_stacks] \
203+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
204+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
205+ __attribute__((aligned(STACK_ALIGNMENT))); \
206+DO_PRAGMA(clang section bss="")
207+#else
208 #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
209 linkage uint32_t name[num_stacks] \
210 [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
211 STACK_ALIGNMENT) / sizeof(uint32_t)] \
212 __attribute__((section(".nozi_stack." # name), \
213 aligned(STACK_ALIGNMENT)))
214-
215+#endif
216 #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
217
218 DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE,
219diff --git a/core/mm/pgt_cache.c b/core/mm/pgt_cache.c
220index 79553c6d2..b9efdf427 100644
221--- a/core/mm/pgt_cache.c
222+++ b/core/mm/pgt_cache.c
223@@ -410,8 +410,18 @@ void pgt_init(void)
224 * has a large alignment, while .bss has a small alignment. The current
225 * link script is optimized for small alignment in .bss
226 */
227+#ifdef __clang__
228+#pragma clang section bss=".nozi.mmu.l2"
229+#endif
230 static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
231- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
232+ __aligned(PGT_SIZE)
233+#ifndef __clang__
234+ __section(".nozi.pgt_cache")
235+#endif
236+ ;
237+#ifdef __clang__
238+#pragma clang section bss=""
239+#endif
240 size_t n;
241
242 for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
243--
2442.43.2
245
diff --git a/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch b/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch
deleted file mode 100644
index 1c5753c7f..000000000
--- a/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch
+++ /dev/null
@@ -1,133 +0,0 @@
1From 6f738803a59613ec4a683ddbc1747ebffd75a4e6 Mon Sep 17 00:00:00 2001
2From: Jerome Forissier <jerome.forissier@linaro.org>
3Date: Tue, 23 Aug 2022 12:31:46 +0000
4Subject: [PATCH 3/4] arm32: libutils, libutee, ta: add .note.GNU-stack section
5 to
6
7 .S files
8
9When building for arm32 with GNU binutils 2.39, the linker outputs
10warnings when linking Trusted Applications:
11
12 arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
13 arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
14
15We could silence the warning by adding the '-z execstack' option to the
16TA link flags, like we did in the parent commit for the TEE core and
17ldelf. Indeed, ldelf always allocates a non-executable piece of memory
18for the TA to use as a stack.
19
20However it seems preferable to comply with the common ELF practices in
21this case. A better fix is therefore to add the missing .note.GNU-stack
22sections in the assembler files.
23
24Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
25
26Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
27Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
28Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
29---
30
31 lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
32 lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
33 lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
34 lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
35 lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
36 lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
37 ta/arch/arm/ta_entry_a32.S | 2 ++
38 7 files changed, 14 insertions(+)
39
40diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
41index 2dea83ab8..668b65a86 100644
42--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
43+++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
44@@ -9,6 +9,8 @@
45
46 .section .note.GNU-stack,"",%progbits
47
48+ .section .note.GNU-stack,"",%progbits
49+
50 .section .text
51 .balign 4
52 .code 32
53diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
54index 2be73ffad..87ddf1065 100644
55--- a/lib/libutils/ext/arch/arm/atomic_a32.S
56+++ b/lib/libutils/ext/arch/arm/atomic_a32.S
57@@ -7,6 +7,8 @@
58
59 .section .note.GNU-stack,"",%progbits
60
61+ .section .note.GNU-stack,"",%progbits
62+
63 /* uint32_t atomic_inc32(uint32_t *v); */
64 FUNC atomic_inc32 , :
65 ldrex r1, [r0]
66diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
67index 54dc3c02d..2f24632b8 100644
68--- a/lib/libutils/ext/arch/arm/mcount_a32.S
69+++ b/lib/libutils/ext/arch/arm/mcount_a32.S
70@@ -9,6 +9,8 @@
71
72 .section .note.GNU-stack,"",%progbits
73
74+ .section .note.GNU-stack,"",%progbits
75+
76 /*
77 * Convert return address to call site address by subtracting the size of the
78 * mcount call instruction (blx __gnu_mcount_nc).
79diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
80index 37ae9ec6f..bc6c48b1a 100644
81--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
82+++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
83@@ -7,6 +7,8 @@
84
85 .section .note.GNU-stack,"",%progbits
86
87+ .section .note.GNU-stack,"",%progbits
88+
89 /*
90 * signed ret_idivmod_values(signed quot, signed rem);
91 * return quotient and remaining the EABI way (regs r0,r1)
92diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
93index 5c3353e2c..9fb5e0283 100644
94--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
95+++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
96@@ -7,6 +7,8 @@
97
98 .section .note.GNU-stack,"",%progbits
99
100+ .section .note.GNU-stack,"",%progbits
101+
102 /*
103 * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
104 */
105diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
106index f8a0b70df..37d7cb88e 100644
107--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
108+++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
109@@ -53,6 +53,8 @@
110
111 .section .note.GNU-stack,"",%progbits
112
113+ .section .note.GNU-stack,"",%progbits
114+
115 /* Arm/Thumb interworking support:
116
117 The interworking scheme expects functions to use a BX instruction
118diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
119index cd9a12f9d..ccdc19928 100644
120--- a/ta/arch/arm/ta_entry_a32.S
121+++ b/ta/arch/arm/ta_entry_a32.S
122@@ -7,6 +7,8 @@
123
124 .section .note.GNU-stack,"",%progbits
125
126+ .section .note.GNU-stack,"",%progbits
127+
128 /*
129 * This function is the bottom of the user call stack. Mark it as such so that
130 * the unwinding code won't try to go further down.
131--
1322.43.2
133
diff --git a/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch b/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch
deleted file mode 100644
index f32b2284f..000000000
--- a/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From a63f82f74e015eb662242cdb51ef814e3f576829 Mon Sep 17 00:00:00 2001
2From: Jerome Forissier <jerome.forissier@linaro.org>
3Date: Fri, 5 Aug 2022 09:48:03 +0200
4Subject: [PATCH 4/4] core: link: add --no-warn-rwx-segments
5
6Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
7Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5474]
8
9binutils ld.bfd generates one RWX LOAD segment by merging several sections
10with mixed R/W/X attributes (.text, .rodata, .data). After version 2.38 it
11also warns by default when that happens [1], which breaks the build due to
12--fatal-warnings. The RWX segment is not a problem for the TEE core, since
13that information is not used to set memory permissions. Therefore, silence
14the warning.
15
16Link: [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
17Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448
18Reported-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
19Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
20Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
21Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
22---
23
24 core/arch/arm/kernel/link.mk | 6 ++++--
25 1 file changed, 4 insertions(+), 2 deletions(-)
26
27diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
28index 49e9f4fa1..9e1cc172f 100644
29--- a/core/arch/arm/kernel/link.mk
30+++ b/core/arch/arm/kernel/link.mk
31@@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment
32 link-ldflags += --fatal-warnings
33 link-ldflags += --gc-sections
34 link-ldflags += $(link-ldflags-common)
35+link-ldflags += $(call ld-option,--no-warn-rwx-segments)
36
37 link-ldadd = $(LDADD)
38 link-ldadd += $(ldflags-external)
39@@ -61,6 +62,7 @@ link-script-cppflags := \
40 $(cppflagscore))
41
42 ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
43+ $(call ld-option,--no-warn-rwx-segments) \
44 $(link-ldflags-common) \
45 $(link-objs) $(link-ldadd) $(libgcccore)
46 cleanfiles += $(link-out-dir)/all_objs.o
47@@ -75,7 +77,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
48 $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
49
50 unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
51- $(link-ldflags-common)
52+ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
53 unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
54 cleanfiles += $(link-out-dir)/unpaged.o
55 $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
56@@ -104,7 +106,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
57 $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
58
59 init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
60- $(link-ldflags-common)
61+ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
62 init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
63 $(libgcccore)
64 cleanfiles += $(link-out-dir)/init.o
65--
662.43.2
67
diff --git a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch b/recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch
index dbc53542e..067ba6ebf 100644
--- a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch
+++ b/recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch
@@ -1,7 +1,7 @@
1From 2ba573c9763329fbfdfacc8393d565ab747cac4d Mon Sep 17 00:00:00 2001 1From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001
2From: Brett Warren <brett.warren@arm.com> 2From: Brett Warren <brett.warren@arm.com>
3Date: Wed, 23 Sep 2020 09:27:34 +0100 3Date: Wed, 23 Sep 2020 09:27:34 +0100
4Subject: [PATCH 2/4] optee: enable clang support 4Subject: [PATCH] optee: enable clang support
5 5
6When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used 6When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
7to provide a sysroot wasn't included, which results in not locating 7to provide a sysroot wasn't included, which results in not locating
@@ -10,17 +10,16 @@ compiler-rt. This is mitigated by including the variable as ammended.
10Upstream-Status: Pending 10Upstream-Status: Pending
11ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 11ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
12Signed-off-by: Brett Warren <brett.warren@arm.com> 12Signed-off-by: Brett Warren <brett.warren@arm.com>
13Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
14---
15 13
14---
16 mk/clang.mk | 2 +- 15 mk/clang.mk | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
18 17
19diff --git a/mk/clang.mk b/mk/clang.mk 18diff --git a/mk/clang.mk b/mk/clang.mk
20index a045beee8..1ebe2f702 100644 19index c141a3f2..7d067cc0 100644
21--- a/mk/clang.mk 20--- a/mk/clang.mk
22+++ b/mk/clang.mk 21+++ b/mk/clang.mk
23@@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \ 22@@ -27,7 +27,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
24 23
25 # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of 24 # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
26 # libgcc for clang 25 # libgcc for clang
@@ -29,6 +28,3 @@ index a045beee8..1ebe2f702 100644
29 -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) 28 -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
30 29
31 # Core ASLR relies on the executable being ready to run from its preferred load 30 # Core ASLR relies on the executable being ready to run from its preferred load
32--
332.43.2
34
diff --git a/recipes-security/optee-imx/optee-os_4.0.0.imx.bb b/recipes-security/optee-imx/optee-os_4.0.0.imx.bb
deleted file mode 100644
index ad6c6b406..000000000
--- a/recipes-security/optee-imx/optee-os_4.0.0.imx.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1# Copyright (C) 2017-2021 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.3_1.0.0"
12SRCREV = "e0a3e77735941e6057a1994a576b83a93ea0bdb9"
diff --git a/recipes-security/optee-imx/optee-os_4.4.0.imx.bb b/recipes-security/optee-imx/optee-os_4.4.0.imx.bb
new file mode 100644
index 000000000..dc6d3901d
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os_4.4.0.imx.bb
@@ -0,0 +1,6 @@
1# Copyright 2017-2024 NXP
2
3require optee-os-fslc-imx.inc
4
5SRCBRANCH = "lf-6.6.52_2.2.0"
6SRCREV = "60beb308810f9561a67fdb435388a64c85eb6dcb"
diff --git a/recipes-security/optee-imx/optee-test-fslc-imx.inc b/recipes-security/optee-imx/optee-test-fslc-imx.inc
new file mode 100644
index 000000000..ab16fd221
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test-fslc-imx.inc
@@ -0,0 +1,18 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-test-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-test-fslc.inc
5
6DEPENDS += "openssl"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-test:"
9
10SRC_URI:remove = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https"
11SRC_URI:prepend = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} "
12
13OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https"
14
15EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}"
16CFLAGS:append:libc-musl = " -Wno-error=deprecated-declarations"
17
18COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test-fslc.inc b/recipes-security/optee-imx/optee-test-fslc.inc
index e0c133a7c..ed64c87f8 100644
--- a/recipes-security/optee-imx/optee-test-fslc.inc
+++ b/recipes-security/optee-imx/optee-test-fslc.inc
@@ -1,38 +1,64 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-arm/recipes-security/optee/optee-test.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE sanity testsuite"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE test"
4LICENSE = "BSD-2-Clause & GPL-2.0-only" 8LICENSE = "BSD-2-Clause & GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" 9LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
6 10
11inherit python3native ptest
12inherit deploy
7require optee-fslc.inc 13require optee-fslc.inc
8 14
9DEPENDS += "optee-os optee-client openssl" 15DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl"
16
17SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \
18 file://run-ptest \
19 "
20
21B = "${WORKDIR}/build"
10 22
11EXTRA_OEMAKE += " \ 23EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
12 TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \ 24 OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR} \
13 CROSS_COMPILE_HOST=${HOST_PREFIX} \ 25 CROSS_COMPILE_HOST=${HOST_PREFIX} \
14 CROSS_COMPILE_TA=${HOST_PREFIX} \ 26 CROSS_COMPILE_TA=${HOST_PREFIX} \
15 CROSS_COMPILE=${HOST_PREFIX} \ 27 O=${B} \
16" 28 "
29
30CFLAGS += "-Wno-error=deprecated-declarations"
17 31
18do_compile() { 32do_compile() {
19 oe_runmake all 33 cd ${S}
34 # Top level makefile doesn't seem to handle parallel make gracefully
35 oe_runmake xtest
36 oe_runmake ta
37 oe_runmake test_plugin
20} 38}
21do_compile[cleandirs] = "${B}" 39do_compile[cleandirs] = "${B}"
22 40
23do_install () { 41do_install () {
24 install -d ${D}${bindir} 42 install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
25 install ${B}/xtest/xtest ${D}${bindir}
26 43
27 install -d ${D}${nonarch_base_libdir}/optee_armtz 44 # install path should match the value set in optee-client/tee-supplicant
28 find ${B}/ta -name '*.ta' | while read name; do 45 # default TEEC_LOAD_PATH is /lib
29 install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/ 46 mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
30 done 47 install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
48 mkdir -p ${D}${libdir}/tee-supplicant/plugins
49 install -D -p -m0444 ${B}/supp_plugin/*.plugin ${D}${libdir}/tee-supplicant/plugins/
50}
31 51
32 install -d ${D}${libdir}/tee-supplicant/plugins/ 52do_deploy () {
33 install ${B}/supp_plugin/*plugin ${D}${libdir}/tee-supplicant/plugins/ 53 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
54 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
34} 55}
35 56
36FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" 57addtask deploy before do_build after do_install
58
59FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ \
60 ${libdir}/tee-supplicant/plugins/ \
61 "
37 62
38RDEPENDS:${PN} = "optee-os" 63# Imports machine specific configs from staging to build
64PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-test/run-ptest b/recipes-security/optee-imx/optee-test/run-ptest
new file mode 100644
index 000000000..ba88c14d3
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test/run-ptest
@@ -0,0 +1,52 @@
1#!/bin/sh
2xtest | awk '
3
4 # Escapes the special characters in a string so that, when
5 # included in a regex, it represents a literal match
6 function regx_escape_literal(str, ret) {
7 ret = str
8 gsub(/[\[\]\^\$\.\*\?\+\{\}\\\(\)\|]/ , "\\\\&", str)
9 return str
10 }
11
12 # Returns the simple test formatted name
13 function name(n, ret) {
14 ret = n
15 gsub(/\./, " ", ret)
16 return ret
17 }
18
19 # Returns the simple test formatted result
20 function result(res) {
21 if(res ~ /OK/) {
22 return "PASS"
23 } else if(res ~ /FAILED/) {
24 return "FAIL"
25 }
26 }
27
28 function parse(name, description, has_subtests, result_line) {
29 has_subtests = 0
30
31 # Consume every line up to the result line
32 result_line = " " regx_escape_literal(name) " (OK|FAILED)"
33 do {
34 getline
35
36 # If this is a subtest (denoted by an "o" bullet) then subparse
37 if($0 ~ /^o /) {
38 parse($2, description " : " substr($0, index($0, $3)))
39 has_subtests = 1
40 }
41 } while ($0 !~ result_line)
42
43 # Only print the results for the deepest nested subtests
44 if(!has_subtests) {
45 print result($2) ": " name(name) " - " description
46 }
47 }
48
49 # Start parsing at the beginning of every test (denoted by a "*" bullet)
50 /^\* / { parse($2, substr($0, index($0, $3))) }
51
52'
diff --git a/recipes-security/optee-imx/optee-test_4.0.0.imx.bb b/recipes-security/optee-imx/optee-test_4.0.0.imx.bb
deleted file mode 100644
index 1717a713f..000000000
--- a/recipes-security/optee-imx/optee-test_4.0.0.imx.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1# Copyright (C) 2017-2021 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.3_1.0.0"
8SRCREV = "95c49d950f50fa774e4530d19a967079b3b61279"
9
10COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test_4.4.0.imx.bb b/recipes-security/optee-imx/optee-test_4.4.0.imx.bb
new file mode 100644
index 000000000..b4ac12714
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test_4.4.0.imx.bb
@@ -0,0 +1,13 @@
1# Copyright 2017-2024 NXP
2
3require optee-test-fslc-imx.inc
4
5# The BSD and GPL license files are now included in the source
6# https://github.com/OP-TEE/optee_test/commit/a748f5fcd9ec8a574dc86a5aa56d05bc6ac174e7
7LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8fa504109e4cd7ea575bc49ea4be560 \
8 file://LICENSE-BSD;md5=dca16d6efa93b55d0fd662ae5cd6feeb \
9 file://LICENSE-GPL;md5=10e86b5d2a6cb0e2b9dcfdd26a9ac58d"
10
11
12SRCBRANCH = "lf-6.6.52_2.2.0"
13SRCREV = "dafc98ed8364d7281a9a7f0788dd0a2067844a59"
diff --git a/recipes-security/optee-qoriq/optee-client.nxp.inc b/recipes-security/optee-qoriq/optee-client.nxp.inc
index a7d34497e..a7e51a29d 100644
--- a/recipes-security/optee-qoriq/optee-client.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-client.nxp.inc
@@ -13,7 +13,6 @@ SRCREV = "7c9c423d00e96bf51debd5fe10fd70dce83be5cc"
13FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:" 13FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
14SRC_URI += "file://tee-supplicant.service" 14SRC_URI += "file://tee-supplicant.service"
15 15
16S = "${WORKDIR}/git"
17B = "${WORKDIR}/build" 16B = "${WORKDIR}/build"
18 17
19OPTEE_ARCH ?= "arm32" 18OPTEE_ARCH ?= "arm32"
@@ -41,7 +40,7 @@ do_install () {
41 cp -a ${B}/export/usr/include ${D}${includedir} 40 cp -a ${B}/export/usr/include ${D}${includedir}
42 41
43 install -d ${D}${systemd_system_unitdir}/ 42 install -d ${D}${systemd_system_unitdir}/
44 install -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/ 43 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 44 sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${D}${systemd_system_unitdir}/tee-supplicant.service
46} 45}
47 46
diff --git a/recipes-security/optee-qoriq/optee-os.nxp.inc b/recipes-security/optee-qoriq/optee-os.nxp.inc
index 5b90b937c..989da06d7 100644
--- a/recipes-security/optee-qoriq/optee-os.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-os.nxp.inc
@@ -12,7 +12,6 @@ DEPENDS = "python3-pycryptodome-native python3-pyelftools-native python3-pycrypt
12SRC_URI = "git://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1" 12SRC_URI = "git://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1"
13SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e" 13SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e"
14 14
15S = "${WORKDIR}/git"
16B = "${WORKDIR}/build.${PLATFORM_FLAVOR}" 15B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
17 16
18PLATFORM_FLAVOR ?= "${MACHINE}" 17PLATFORM_FLAVOR ?= "${MACHINE}"
diff --git a/recipes-security/optee-qoriq/optee-test.nxp.inc b/recipes-security/optee-qoriq/optee-test.nxp.inc
index 14a42ac5a..17108ff38 100644
--- a/recipes-security/optee-qoriq/optee-test.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-test.nxp.inc
@@ -12,7 +12,6 @@ inherit python3native cmake
12SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1" 12SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1"
13SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad" 13SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad"
14 14
15S = "${WORKDIR}/git"
16B = "${WORKDIR}/build" 15B = "${WORKDIR}/build"
17 16
18TA_DEV_KIT_DIR ?= "${STAGING_INCDIR}/optee/export-user_ta" 17TA_DEV_KIT_DIR ?= "${STAGING_INCDIR}/optee/export-user_ta"
diff --git a/recipes-security/smw/keyctl-caam_git.bb b/recipes-security/smw/keyctl-caam_git.bb
index 25a5f656a..66ff7ecb0 100644
--- a/recipes-security/smw/keyctl-caam_git.bb
+++ b/recipes-security/smw/keyctl-caam_git.bb
@@ -11,8 +11,6 @@ SRC_URI = "git://github.com/nxp-imx/keyctl_caam.git;protocol=https;branch=${SRCB
11 11
12SRCREV = "81dc06cdb9c4d0d4ba10459d85af9a8603774948" 12SRCREV = "81dc06cdb9c4d0d4ba10459d85af9a8603774948"
13 13
14S = "${WORKDIR}/git"
15
16TARGET_CC_ARCH += "${LDFLAGS}" 14TARGET_CC_ARCH += "${LDFLAGS}"
17 15
18do_install () { 16do_install () {
diff --git a/recipes-security/smw/smw_git.bb b/recipes-security/smw/smw_git.bb
index 3f77ad06b..dbb59d2f3 100644
--- a/recipes-security/smw/smw_git.bb
+++ b/recipes-security/smw/smw_git.bb
@@ -19,7 +19,7 @@ SRC_URI = "git://github.com/nxp-imx/imx-smw.git;protocol=https;branch=release/ve
19SRCREV_smw = "f0570b3e8cb5f68d54edc4f9dd7cb984f6f604ed" 19SRCREV_smw = "f0570b3e8cb5f68d54edc4f9dd7cb984f6f604ed"
20SRCREV_psa = "463cb95ada820bc6f758d50066cf8c0ed5cc3a02" 20SRCREV_psa = "463cb95ada820bc6f758d50066cf8c0ed5cc3a02"
21SRCREV_FORMAT = "smw_psa" 21SRCREV_FORMAT = "smw_psa"
22S = "${WORKDIR}/git/smw" 22S = "${UNPACKDIR}/git/smw"
23 23
24inherit cmake python3native 24inherit cmake python3native
25 25
@@ -35,7 +35,7 @@ OPTEE_OS_TA_EXPORT_DIR:aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64"
35OPTEE_OS_TA_EXPORT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32" 35OPTEE_OS_TA_EXPORT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32"
36 36
37# Needs to sign OPTEE TAs 37# Needs to sign OPTEE TAs
38export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules" 38export OPENSSL_MODULES = "${STAGING_LIBDIR_NATIVE}/ossl-modules"
39 39
40EXTRA_OECMAKE = " \ 40EXTRA_OECMAKE = " \
41 -DTA_DEV_KIT_ROOT=${OPTEE_OS_TA_EXPORT_DIR} \ 41 -DTA_DEV_KIT_ROOT=${OPTEE_OS_TA_EXPORT_DIR} \
diff --git a/recipes-support/opencv/opencv_4.6.0.imx.bb b/recipes-support/opencv/opencv_4.6.0.imx.bb
index 6d13d107a..8a0ca2c1f 100644
--- a/recipes-support/opencv/opencv_4.6.0.imx.bb
+++ b/recipes-support/opencv/opencv_4.6.0.imx.bb
@@ -47,12 +47,12 @@ IPP_MD5 = "${@ipp_md5sum(d)}"
47 47
48SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" 48SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
49SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \ 49SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \
50 git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=master;protocol=https \ 50 git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=master;protocol=https \
51 git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=git/ipp;name=ipp;protocol=https \ 51 git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/ipp;name=ipp;protocol=https \
52 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \ 52 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/boostdesc;name=boostdesc;protocol=https \
53 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \ 53 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vgg;name=vgg;protocol=https \
54 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \ 54 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/face;name=face;protocol=https \
55 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \ 55 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/wechat_qrcode;name=wechat-qrcode;protocol=https \
56 file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ 56 file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
57 file://0003-To-fix-errors-as-following.patch \ 57 file://0003-To-fix-errors-as-following.patch \
58 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ 58 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
@@ -64,11 +64,9 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol
64 " 64 "
65SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" 65SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
66 66
67S = "${WORKDIR}/git"
68
69# OpenCV wants to download more files during configure. We download these in 67# OpenCV wants to download more files during configure. We download these in
70# do_fetch and construct a source cache in the format it expects 68# do_fetch and construct a source cache in the format it expects
71OPENCV_DLDIR = "${WORKDIR}/downloads" 69OPENCV_DLDIR = "${UNPACKDIR}/downloads"
72 70
73do_unpack_extra() { 71do_unpack_extra() {
74 tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S} 72 tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S}
@@ -145,7 +143,7 @@ PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtu
145PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," 143PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
146PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," 144PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
147PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," 145PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
148PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," 146PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/_core/include,,python3-numpy,"
149PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," 147PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
150PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," 148PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
151PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,," 149PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
@@ -158,11 +156,11 @@ inherit pkgconfig cmake
158inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)} 156inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)}
159inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} 157inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
160 158
161export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" 159export PYTHON_CSPEC = "-I${STAGING_INCDIR}/${PYTHON_DIR}"
162export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" 160export PYTHON = "${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
163export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" 161export ORACLE_JAVA_HOME = "${STAGING_DIR_NATIVE}/usr/bin/java"
164export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" 162export JAVA_HOME = "${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
165export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" 163export ANT_DIR = "${STAGING_DIR_NATIVE}/usr/share/ant/"
166 164
167TARGET_CC_ARCH += "-I${S}/include " 165TARGET_CC_ARCH += "-I${S}/include "
168 166
@@ -268,7 +266,7 @@ SRCREV_opencv = "d3440df40a6e90cd1d2a1b729bcbc16aa4d42f5d"
268# Add opencv_extra 266# Add opencv_extra
269SRC_URI += " \ 267SRC_URI += " \
270 git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \ 268 git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \
271 file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \ 269 file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=${UNPACKDIR}/extra \
272" 270"
273SRCREV_FORMAT:append = "_extra" 271SRCREV_FORMAT:append = "_extra"
274SRCREV_extra = "936854e2b666853d6d0732a8eabc2d699f4fa3d8" 272SRCREV_extra = "936854e2b666853d6d0732a8eabc2d699f4fa3d8"
@@ -293,7 +291,7 @@ PACKAGECONFIG_OPENCL:mx8mnul-nxp-bsp = ""
293PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx," 291PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx,"
294PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native," 292PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native,"
295PACKAGECONFIG[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native," 293PACKAGECONFIG[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native,"
296PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF," 294PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${UNPACKDIR}/extra/testdata, -DINSTALL_TESTS=OFF,"
297PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx" 295PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx"
298 296
299# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6 297# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6
@@ -302,10 +300,12 @@ EXTRA_OECMAKE:append = " -DBUILD_opencv_cvv=OFF"
302 300
303do_install:append() { 301do_install:append() {
304 ln -sf opencv4/opencv2 ${D}${includedir}/opencv2 302 ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
305 install -d ${D}${datadir}/OpenCV/samples/data 303 if ${@bb.utils.contains('PACKAGECONFIG', 'samples', 'true', 'false', d)}; then
306 cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data 304 install -d ${D}${datadir}/OpenCV/samples/data
307 install -d ${D}${datadir}/OpenCV/samples/bin/ 305 cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data
308 cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/ 306 install -d ${D}${datadir}/OpenCV/samples/bin/
307 cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/
308 fi
309 if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then 309 if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then
310 cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/ 310 cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/
311 fi 311 fi
diff --git a/scripts/generate-license-file b/scripts/generate-license-file
new file mode 100755
index 000000000..02b45ab30
--- /dev/null
+++ b/scripts/generate-license-file
@@ -0,0 +1,20 @@
1#!/bin/bash
2
3export LC_ALL=C
4
5# Create or clear the LICENSE file
6echo "# License Information" > LICENSE
7echo "" >> LICENSE
8echo "This file lists all licenses used by recipes in the meta-freescale layer." >> LICENSE
9echo "" >> LICENSE
10
11# Find all .bb and .inc files and extract license information
12find . -type f \( -name "*.bb" -o -name "*.inc" \) | sort | while read -r file; do
13 # Extract the license line from each recipe file, if it exists
14 license_line=$(grep -i "^LICENSE" "$file")
15 if [ -n "$license_line" ]; then
16 echo "$file: $license_line" >> LICENSE
17 fi
18done
19
20echo "LICENSE file has been generated and updated with current recipe licenses."
diff --git a/wic/imx-imx-boot-bootpart.wks.in b/wic/imx-imx-boot-bootpart.wks.in
index b50364d1b..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" --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
diff --git a/wic/imx-imx-boot.wks.in b/wic/imx-imx-boot.wks.in
index 8e78b5e35..fdb411803 100644
--- a/wic/imx-imx-boot.wks.in
+++ b/wic/imx-imx-boot.wks.in
@@ -13,7 +13,7 @@
13# 0 | 8MiB 8MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 13# 0 | 8MiB 8MiB + 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" --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 / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192 17part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192
18 18
19bootloader --ptable msdos 19bootloader --ptable msdos
diff --git a/wic/imx-uboot-bootpart.wks.in b/wic/imx-uboot-bootpart.wks.in
index 8fe019c01..4959d02df 100644
--- a/wic/imx-uboot-bootpart.wks.in
+++ b/wic/imx-uboot-bootpart.wks.in
@@ -12,7 +12,7 @@
12# | | | | 12# | | | |
13# 0 1kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 13# 0 1kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
14# 14#
15part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}" --ondisk mmcblk --no-table --align 1 15part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}.tagged" --ondisk mmcblk --no-table --align 1
16part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 16 16part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 16
17part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 17part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
18 18
diff --git a/wic/imx-uboot-spl-bootpart.wks.in b/wic/imx-uboot-spl-bootpart.wks.in
index 8062c51e6..be0f0fe03 100644
--- a/wic/imx-uboot-spl-bootpart.wks.in
+++ b/wic/imx-uboot-spl-bootpart.wks.in
@@ -13,7 +13,7 @@
13# 0 1kiB 69kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 13# 0 1kiB 69kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
14# 14#
15part SPL --source rawcopy --sourceparams="file=SPL" --ondisk mmcblk --no-table --align 1 15part SPL --source rawcopy --sourceparams="file=SPL" --ondisk mmcblk --no-table --align 1
16part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}" --ondisk mmcblk --no-table --align 69 16part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}.tagged" --ondisk mmcblk --no-table --align 69
17part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 16 17part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 16
18part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 18part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
19 19
diff --git a/wic/imx-uboot-spl.wks.in b/wic/imx-uboot-spl.wks.in
index db2f89ddb..c6c9aaa2c 100644
--- a/wic/imx-uboot-spl.wks.in
+++ b/wic/imx-uboot-spl.wks.in
@@ -13,7 +13,7 @@
13# 0 1kiB 69kiB 4MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 13# 0 1kiB 69kiB 4MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
14# 14#
15part SPL --source rawcopy --sourceparams="file=SPL" --ondisk mmcblk --no-table --align 1 15part SPL --source rawcopy --sourceparams="file=SPL" --ondisk mmcblk --no-table --align 1
16part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}" --ondisk mmcblk --no-table --align 69 16part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}.tagged" --ondisk mmcblk --no-table --align 69
17part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 17part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
18 18
19bootloader --ptable msdos 19bootloader --ptable msdos
diff --git a/wic/imx-uboot.wks b/wic/imx-uboot.wks
index 60870c34e..cde24798d 100644
--- a/wic/imx-uboot.wks
+++ b/wic/imx-uboot.wks
@@ -12,7 +12,7 @@
12# | | | | 12# | | | |
13# 0 1kiB 4MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 13# 0 1kiB 4MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
14# 14#
15part u-boot --source rawcopy --sourceparams="file=u-boot.imx" --ondisk mmcblk --no-table --align 1 15part u-boot --source rawcopy --sourceparams="file=${UBOOT_BINARY}.tagged" --ondisk mmcblk --no-table --align 1
16part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 16part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
17 17
18bootloader --ptable msdos 18bootloader --ptable msdos