summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--LICENSE254
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass1
-rw-r--r--conf/layer.conf2
-rw-r--r--conf/machine/imx8qm-mek.conf30
-rw-r--r--conf/machine/imx8qxp-mek.conf7
-rw-r--r--conf/machine/imx8ulp-lpddr4-evk.conf1
-rw-r--r--conf/machine/include/imx-base.inc101
-rw-r--r--conf/machine/include/imx8x-mek.inc2
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb2
-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)9
-rw-r--r--recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb2
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.10.bb4
-rw-r--r--recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb6
-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.24.4.bb95
-rw-r--r--recipes-bsp/qe-ucode/qe-ucode_git.bb4
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc (renamed from recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc)6
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.07.bb)0
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2025.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc_2024.07.bb)0
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc4
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst_git.bb4
-rw-r--r--recipes-dpaa2/dce/dce_git.bb2
-rw-r--r--recipes-dpaa2/restool/restool_git.bb2
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-isp.bb1
-rw-r--r--recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.2.bb (renamed from recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.0.bb)14
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb (renamed from recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.8.bb)6
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb20
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc7
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb (renamed from recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.8-aarch32.bb)6
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb (renamed from recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.8-aarch64.bb)6
-rw-r--r--recipes-graphics/libsdl2/libsdl2_%.bbappend3
-rw-r--r--recipes-graphics/mali/mali-imx_r50.2.bb (renamed from recipes-graphics/mali/mali-imx_r50.0.bb)6
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend5
-rw-r--r--recipes-graphics/wayland/weston_10.0.5.imx.bb2
-rw-r--r--recipes-graphics/wayland/weston_12.0.4.imx.bb2
-rw-r--r--recipes-graphics/xwayland/xwayland_23.2.5.imx.bb (renamed from recipes-graphics/xwayland/xwayland_23.1.1.imx.bb)4
-rw-r--r--recipes-graphics/xwayland/xwayland_23.2.5.imx.bbappend (renamed from recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend)6
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.6.bb23
-rw-r--r--recipes-kernel/linux/linux-fslc_6.12.bb7
-rw-r--r--recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch62
-rw-r--r--recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch38
-rw-r--r--recipes-kernel/linux/linux-imx_6.6.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch39
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb)19
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb)6
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.%.bbappend)4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb)21
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch109
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch51
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch74
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb)17
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb21
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb (renamed from recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb)2
-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.bb18
-rwxr-xr-xscripts/generate-license-file4
-rw-r--r--wic/imx-imx-boot-bootpart.wks.in2
64 files changed, 420 insertions, 2578 deletions
diff --git a/LICENSE b/LICENSE
index 166128b3..01604fd7 100644
--- a/LICENSE
+++ b/LICENSE
@@ -2,93 +2,119 @@
2 2
3This file lists all licenses used by recipes in the meta-freescale layer. 3This file lists all licenses used by recipes in the meta-freescale layer.
4 4
5./recipes-security/smw/smw_git.bb: LICENSE = "BSD-3-Clause" 5./dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb: LICENSE = "GPL-2.0-only"
6LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib" 6./dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb: LICENSE = "BSD-3-Clause"
7./recipes-security/smw/keyctl-caam_git.bb: LICENSE = "BSD-3-Clause" 7./dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb: LICENSE = "MIT"
8./recipes-security/optee-imx/optee-client-fslc.inc: LICENSE = "BSD-2-Clause" 8./recipes-bsp/atf/qoriq-atf-2.6.inc: LICENSE = "BSD-3-Clause"
9./recipes-security/optee-imx/optee-test-fslc.inc: LICENSE = "BSD-2-Clause & GPL-2.0-only" 9./recipes-bsp/boot-format/boot-format_git.bb: LICENSE = "GPL-2.0-only"
10./recipes-security/optee-imx/optee-os-fslc.inc: LICENSE = "BSD-2-Clause" 10./recipes-bsp/ddr-phy/ddr-phy_git.bb: LICENSE = "NXP-Binary-EULA"
11./recipes-security/optee-qoriq/optee-test.nxp.inc: LICENSE = "BSD & GPL-2.0-only" 11./recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: LICENSE = "Proprietary"
12./recipes-security/optee-qoriq/optee-client.nxp.inc: LICENSE = "BSD" 12./recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb: LICENSE = "Proprietary"
13./recipes-security/optee-qoriq/optee-os.nxp.inc: LICENSE = "BSD" 13./recipes-bsp/firmware-imx/firmware-imx-8.26.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.15.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.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.9.1.bb: LICENSE = "Proprietary"
31./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.9.bb: LICENSE = "MIT"
32./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.32.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.24.0.bb: LICENSE = "Proprietary"
36./recipes-bsp/isp-imx/isp-imx_4.2.2.24.4.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"
14./recipes-dpaa/eth-config/eth-config_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-or-later" 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"
15./recipes-dpaa/fm-ucode/fm-ucode_git.bb: LICENSE = "NXP-Binary-EULA" 65./recipes-dpaa/fm-ucode/fm-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
16./recipes-dpaa/fmlib/fmlib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only" 66./recipes-dpaa/fmlib/fmlib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only"
17./recipes-dpaa/flib/flib_git.bb: LICENSE = "BSD-3-Clause & GPL-2.0-only" 67./recipes-dpaa2/aiopsl/aiopsl_git.bb: LICENSE = "BSD-3-Clause"
18./dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb: LICENSE = "BSD-3-Clause" 68./recipes-dpaa2/dce/dce_git.bb: LICENSE = "BSD-3-Clause"
19./dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb: LICENSE = "GPL-2.0-only" 69./recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb: LICENSE = "BSD-3-Clause"
20./dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb: LICENSE = "MIT" 70./recipes-dpaa2/management-complex/management-complex_10.39.0.bb: LICENSE = "NXP-Binary-EULA"
21./recipes-extended/tsntool/tsntool_git.bb: LICENSE = "GPL-2.0-only" 71./recipes-dpaa2/restool/restool_git.bb: LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
22./recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb: LICENSE = "BSD" 72./recipes-dpaa2/spc/spc_git.bb: LICENSE = "MIT"
23./recipes-extended/odp/odp.inc: LICENSE = "BSD-3-Clause"
24./recipes-extended/skmm-ep/skmm-ep_git.bb: LICENSE = "BSD & GPL-2.0-only"
25./recipes-extended/testfloat/testfloat_2a.bb: LICENSE = "TestFloat"
26./recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb: LICENSE = "BSD"
27./recipes-extended/jailhouse/jailhouse-imx_git.bb: LICENSE = "GPL-2.0-only"
28./recipes-extended/ofp/ofp_git.bb: LICENSE = "BSD-3-Clause"
29./recipes-extended/crconf/crconf_git.bb: LICENSE = "GPL-2.0-only" 73./recipes-extended/crconf/crconf_git.bb: LICENSE = "GPL-2.0-only"
30./recipes-extended/dpdk/dpdk-20.11.inc: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only" 74./recipes-extended/dpdk/dpdk-20.11.inc: LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
31./recipes-extended/dpdk/dpdk_19.11-20.12.bb: 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"
32./recipes-extended/libpkcs11/libpkcs11_git.bb: LICENSE = "GPL-2.0-only" 77./recipes-extended/libpkcs11/libpkcs11_git.bb: LICENSE = "GPL-2.0-only"
33./recipes-extended/secure-obj/secure-obj.inc: LICENSE = "BSD-3-Clause"
34./recipes-extended/merge-files/merge-files_1.0.bb: LICENSE = "MIT" 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-m4-demos_1.0.1.bb: LICENSE = "Proprietary"
89./recipes-fsl/mcore-demos/imx-mcore-demos.inc: LICENSE = "Proprietary"
90./recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb: LICENSE = "MIT"
91./recipes-graphics/drm/libdrm_2.4.116.imx.bb: LICENSE = "MIT"
92./recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.2.bb: LICENSE = "Proprietary"
35./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause" 93./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause"
36./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.8.bb: LICENSE = "Proprietary" 94./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb: LICENSE = "Proprietary"
37./recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.0.bb: LICENSE = "Proprietary"
38./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary" 95./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary"
39./recipes-graphics/mali/mali-imx_r50.0.bb: LICENSE = "Proprietary" 96./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT"
40./recipes-graphics/xwayland/xwayland_23.1.1.imx.bb: LICENSE = "MIT" 97./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary"
41./recipes-graphics/drm/libdrm_2.4.116.imx.bb: LICENSE = "MIT" 98./recipes-graphics/mali/mali-imx_r50.2.bb: LICENSE = "Proprietary"
99./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT"
42./recipes-graphics/wayland/wayland-protocols_1.32.imx.bb: LICENSE = "MIT" 100./recipes-graphics/wayland/wayland-protocols_1.32.imx.bb: LICENSE = "MIT"
43./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT" 101./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT"
44./recipes-graphics/wayland/weston_12.0.4.imx.bb: LICENSE = "MIT" 102./recipes-graphics/wayland/weston_12.0.4.imx.bb: LICENSE = "MIT"
45./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary" 103./recipes-graphics/xwayland/xwayland_23.2.5.imx.bb: LICENSE = "MIT"
46./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT" 104./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only"
47./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT"
48./recipes-kernel/skmm-host/skmm-host_git.bb: LICENSE = "BSD & GPL-2.0-or-later"
49./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb: LICENSE = "GPL-2.0-only"
50./recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb: LICENSE = "GPL-2.0-only"
51./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD"
52./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD" 105./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD"
53./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.p2.2+fslc.bb: LICENSE = "GPL-2.0-only"
107./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb: LICENSE = "GPL-2.0-only"
108./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD"
109./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb: LICENSE = "GPL-2.0-only"
54./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later" 110./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later"
55./recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb: LICENSE = "GPL-2.0-only" 111./recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb: LICENSE = "GPL-2.0-only"
56./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb: LICENSE = "GPL-2.0-only" 112./recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb: LICENSE = "GPL-2.0-only"
57./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only"
58./recipes-kernel/linux/linux-qoriq.inc: LICENSE = "GPL-2.0-only"
59./recipes-kernel/linux/linux-imx.inc: LICENSE = "GPL-2.0-only"
60./recipes-kernel/linux/linux-imx-headers_6.6.bb: LICENSE = "GPL-2.0-only" 113./recipes-kernel/linux/linux-imx-headers_6.6.bb: LICENSE = "GPL-2.0-only"
61./recipes-devtools/utp-com/utp-com_git.bb: LICENSE = "GPL-2.0-only" 114./recipes-kernel/linux/linux-imx.inc: LICENSE = "GPL-2.0-only"
62./recipes-devtools/uuu/uuu-bin_1.5.165.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-or-later" 115./recipes-kernel/linux/linux-qoriq.inc: LICENSE = "GPL-2.0-only"
63./recipes-devtools/uuu/uuu_git.bb: LICENSE = "BSD-3-Clause" 116./recipes-kernel/skmm-host/skmm-host_git.bb: LICENSE = "BSD & GPL-2.0-or-later"
64./recipes-devtools/qemu/qemu.inc: LICENSE = "GPL-2.0-only & LGPL-2.1-only"
65./recipes-devtools/devregs/devregs_git.bb: LICENSE = "GPL-2.0-only"
66./recipes-devtools/qoriq-cst/qoriq-cst_git.bb: LICENSE = "BSD-3-Clause"
67./recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb: LICENSE = "LGPL-2.1-only"
68./recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb: LICENSE = "Proprietary"
69./recipes-multimedia/imx-dsp/imx-dsp_2.1.8.bb: LICENSE = "Proprietary"
70./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary"
71./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
72./recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
73./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
74./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later"
75./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
76LICENSE_FLAGS = "commercial"
77./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb: LICENSE_FLAGS = "commercial"
78LICENSE = "LGPL-2.1-or-later"
79./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later"
80./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
81./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
82./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
83./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
84./recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
85./recipes-multimedia/tinycompress/tinycompress_1.1.6.bb: LICENSE = "LGPL-2.1-only | BSD-3-Clause"
86./recipes-multimedia/alsa/imx-alsa-plugins_git.bb: LICENSE = "GPL-2.0-only" 117./recipes-multimedia/alsa/imx-alsa-plugins_git.bb: LICENSE = "GPL-2.0-only"
87./recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb: LICENSE = "LGPL-2.1-only"
88./recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb: LICENSE = "LGPL-2.1-only"
89./recipes-multimedia/imx-parser/imx-parser_4.9.1.bb: LICENSE = "Proprietary"
90./recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb: LICENSE = "Proprietary"
91./recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb: LICENSE = "Proprietary"
92./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" 118./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"
93LICENSE:${PN} = "GPL-2.0-or-later" 119LICENSE:${PN} = "GPL-2.0-or-later"
94LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}" 120LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
@@ -101,64 +127,38 @@ LICENSE:libpostproc = "GPL-2.0-or-later"
101LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}" 127LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
102LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}" 128LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
103LICENSE_FLAGS = "commercial" 129LICENSE_FLAGS = "commercial"
104./recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.5.0.bb: LICENSE = "Proprietary" 130./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later"
131./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb: LICENSE_FLAGS = "commercial"
132LICENSE = "LGPL-2.1-or-later"
133./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
134./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
135./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
136./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later"
137./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
138LICENSE_FLAGS = "commercial"
139./recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
140./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
141./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
142./recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
143./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
105./recipes-multimedia/imx-codec/imx-codec_4.9.0.bb: LICENSE = "Proprietary" 144./recipes-multimedia/imx-codec/imx-codec_4.9.0.bb: LICENSE = "Proprietary"
106./recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb: LICENSE = "Proprietary" 145./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary"
107./recipes-fsl/mcore-demos/imx-mcore-demos.inc: LICENSE = "Proprietary" 146./recipes-multimedia/imx-dsp/imx-dsp_2.1.8.bb: LICENSE = "Proprietary"
108./recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb: LICENSE = "MIT" 147./recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb: LICENSE = "Proprietary"
109./recipes-fsl/images/fsl-image-mfgtool-initramfs.bb: LICENSE = "MIT" 148./recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.5.0.bb: LICENSE = "Proprietary"
110./recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0" 149./recipes-multimedia/imx-parser/imx-parser_4.9.1.bb: LICENSE = "Proprietary"
111./recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb: LICENSE = "MIT" 150./recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb: LICENSE = "Proprietary"
112./recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT" 151./recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb: LICENSE = "Proprietary"
113./recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0" 152./recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb: LICENSE = "LGPL-2.1-only"
114./recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb: LICENSE = "Apache-2.0" 153./recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb: LICENSE = "LGPL-2.1-only"
115./recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb: LICENSE = "Apache-2.0 & MIT" 154./recipes-multimedia/tinycompress/tinycompress_1.2.5.bb: LICENSE = "LGPL-2.1-only | BSD-3-Clause"
116./recipes-core/udev/udev-rules-imx.bb: LICENSE = "MIT" 155./recipes-security/optee-imx/optee-client-fslc.inc: LICENSE = "BSD-2-Clause"
117./recipes-core/udev/udev-rules-qoriq.bb: LICENSE = "MIT" 156./recipes-security/optee-imx/optee-os-fslc.inc: LICENSE = "BSD-2-Clause"
118./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" 157./recipes-security/optee-imx/optee-test-fslc.inc: LICENSE = "BSD-2-Clause & GPL-2.0-only"
119./recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc: LICENSE = "GPL-2.0-or-later" 158./recipes-security/optee-qoriq/optee-client.nxp.inc: LICENSE = "BSD"
120./recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc: LICENSE = "GPL-2.0-or-later" 159./recipes-security/optee-qoriq/optee-os.nxp.inc: LICENSE = "BSD"
121./recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb: LICENSE = "BSD-3-Clause" 160./recipes-security/optee-qoriq/optee-test.nxp.inc: LICENSE = "BSD & GPL-2.0-only"
122./recipes-bsp/imx-seco/imx-seco-libs_git.bb: LICENSE = "Proprietary" 161./recipes-security/smw/keyctl-caam_git.bb: LICENSE = "BSD-3-Clause"
123./recipes-bsp/imx-seco/imx-seco_5.9.4.bb: LICENSE = "Proprietary" 162./recipes-security/smw/smw_git.bb: LICENSE = "BSD-3-Clause"
124./recipes-bsp/imx-lib/imx-lib_git.bb: LICENSE = "LGPL-2.1-only" 163LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
125./recipes-bsp/ddr-phy/ddr-phy_git.bb: LICENSE = "NXP-Binary-EULA"
126./recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb: LICENSE = "Proprietary"
127./recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb: LICENSE = "Proprietary"
128./recipes-bsp/atf/qoriq-atf-2.6.inc: LICENSE = "BSD-3-Clause"
129./recipes-bsp/rcw/rcw_git.bb: LICENSE = "BSD-3-Clause"
130./recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb: LICENSE = "Proprietary"
131./recipes-bsp/imx-kobs/imx-kobs_git.bb: LICENSE = "GPL-2.0-only"
132./recipes-bsp/ls2-phy/ls2-phy_git.bb: LICENSE = "NXP-Binary-EULA"
133./recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.1.bb: LICENSE = "Proprietary"
134./recipes-bsp/mc-utils/mc-utils_git.bb: LICENSE = "BSD-3-Clause"
135./recipes-bsp/qe-ucode/qe-ucode_git.bb: LICENSE = "NXP-Binary-EULA"
136./recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb: LICENSE = "Proprietary"
137./recipes-bsp/inphi/inphi_git.bb: LICENSE = "NXP-Binary-EULA"
138./recipes-bsp/boot-format/boot-format_git.bb: LICENSE = "GPL-2.0-only"
139./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.9.bb: LICENSE = "MIT"
140./recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.32.0.bb: LICENSE = "Proprietary"
141./recipes-bsp/uefi/uefi_git.bb: LICENSE = "NXP-Binary-EULA"
142./recipes-bsp/imx-atf/imx-atf_2.10.bb: LICENSE = "BSD-3-Clause"
143./recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb: LICENSE = "Proprietary"
144./recipes-bsp/firmware-imx/firmware-imx-8.26.inc: LICENSE = "Proprietary"
145./recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb: LICENSE = "BSD-3-Clause"
146./recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb: LICENSE = "Proprietary"
147./recipes-bsp/imx-uuc/imx-uuc_git.bb: LICENSE = "GPL-2.0-only"
148./recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb: LICENSE = "NXP-Binary-EULA"
149./recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb: LICENSE = "LGPL-2.1-only"
150./recipes-bsp/mxsldr/mxsldr_git.bb: LICENSE = "GPL-2.0-or-later"
151./recipes-bsp/imx-mkimage/imx-mkimage_git.bb: LICENSE = "GPL-2.0-only"
152./recipes-bsp/imx-mkimage/imx-boot_1.0.bb: LICENSE = "GPL-2.0-only"
153./recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb: LICENSE = "GPL-2.0-only"
154./recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb: LICENSE = "Proprietary"
155./recipes-bsp/imx-test/imx-test_git.bb: LICENSE = "GPL-2.0-or-later"
156./recipes-bsp/imx-test/imx-test_00.00.00.bb: LICENSE = "MIT"
157./recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: LICENSE = "Proprietary"
158./recipes-support/opencv/opencv_4.6.0.imx.bb: LICENSE = "Apache-2.0" 164./recipes-support/opencv/opencv_4.6.0.imx.bb: LICENSE = "Apache-2.0"
159./recipes-dpaa2/spc/spc_git.bb: LICENSE = "MIT"
160./recipes-dpaa2/dce/dce_git.bb: LICENSE = "BSD-3-Clause"
161./recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb: LICENSE = "BSD-3-Clause"
162./recipes-dpaa2/aiopsl/aiopsl_git.bb: LICENSE = "BSD-3-Clause"
163./recipes-dpaa2/restool/restool_git.bb: LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
164./recipes-dpaa2/management-complex/management-complex_10.39.0.bb: LICENSE = "NXP-Binary-EULA"
diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass
index 3a454ce1..975dd77c 100644
--- a/classes/use-imx-security-controller-firmware.bbclass
+++ b/classes/use-imx-security-controller-firmware.bbclass
@@ -22,6 +22,7 @@ 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"
26SECO_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95${IMX_SOC_REV_LOWER}-ahab-container.img" 27SECO_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95${IMX_SOC_REV_LOWER}-ahab-container.img"
27 28
diff --git a/conf/layer.conf b/conf/layer.conf
index 2376cbad..d3566050 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
8BBFILE_COLLECTIONS += "freescale-layer" 8BBFILE_COLLECTIONS += "freescale-layer"
9BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/" 9BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/"
10BBFILE_PRIORITY_freescale-layer = "5" 10BBFILE_PRIORITY_freescale-layer = "5"
11LAYERSERIES_COMPAT_freescale-layer = "styhead walnascar" 11LAYERSERIES_COMPAT_freescale-layer = "walnascar"
12LAYERDEPENDS_freescale-layer = "core" 12LAYERDEPENDS_freescale-layer = "core"
13 13
14# Add the Freescale-specific licenses into the metadata 14# Add the Freescale-specific licenses into the metadata
diff --git a/conf/machine/imx8qm-mek.conf b/conf/machine/imx8qm-mek.conf
index 2d876b68..47cfde19 100644
--- a/conf/machine/imx8qm-mek.conf
+++ b/conf/machine/imx8qm-mek.conf
@@ -38,17 +38,11 @@ KERNEL_DEVICETREE = " \
38 freescale/imx8qm-mek-dsi-serdes-rpmsg.dtb \ 38 freescale/imx8qm-mek-dsi-serdes-rpmsg.dtb \
39 freescale/imx8qm-mek-enet2-tja1100.dtb \ 39 freescale/imx8qm-mek-enet2-tja1100.dtb \
40 freescale/imx8qm-mek-hdmi.dtb \ 40 freescale/imx8qm-mek-hdmi.dtb \
41 freescale/imx8qm-mek-hdmi-rx.dtb \
42 freescale/imx8qm-mek-hdmi-rx-ov5640.dtb \
41 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \ 43 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \
42 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \ 44 freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \
43 freescale/imx8qm-mek-max9286-csi0.dtb \ 45 freescale/imx8qm-mek-ov5640.dtb \
44 freescale/imx8qm-mek-max9286-csi1.dtb \
45 freescale/imx8qm-mek-max9286-dual.dtb \
46 freescale/imx8qm-mek-ov5640-csi0.dtb \
47 freescale/imx8qm-mek-ov5640-csi0-rpmsg.dtb \
48 freescale/imx8qm-mek-ov5640-csi1.dtb \
49 freescale/imx8qm-mek-ov5640-csi1-rpmsg.dtb \
50 freescale/imx8qm-mek-ov5640-dual.dtb \
51 freescale/imx8qm-mek-ov5640-dual-rpmsg.dtb \
52 freescale/imx8qm-mek-pcie-ep.dtb \ 46 freescale/imx8qm-mek-pcie-ep.dtb \
53 freescale/imx8qm-mek-rpmsg.dtb \ 47 freescale/imx8qm-mek-rpmsg.dtb \
54 freescale/imx8qm-mek-sof.dtb \ 48 freescale/imx8qm-mek-sof.dtb \
@@ -56,24 +50,6 @@ KERNEL_DEVICETREE = " \
56 freescale/imx8qm-mek-sof-wm8960.dtb \ 50 freescale/imx8qm-mek-sof-wm8960.dtb \
57 freescale/imx8qm-mek-usd-wifi.dtb \ 51 freescale/imx8qm-mek-usd-wifi.dtb \
58 freescale/imx8qm-mek-usdhc3-m2.dtb \ 52 freescale/imx8qm-mek-usdhc3-m2.dtb \
59 freescale/imx8qm-mek-revd-ca53.dtb \
60 freescale/imx8qm-mek-revd-ca72.dtb \
61 freescale/imx8qm-mek-revd-dsi-rm67191.dtb \
62 freescale/imx8qm-mek-revd-dsi-rm67199.dtb \
63 freescale/imx8qm-mek-revd.dtb \
64 freescale/imx8qm-mek-revd-enet2-tja1100.dtb \
65 freescale/imx8qm-mek-revd-hdmi.dtb \
66 freescale/imx8qm-mek-revd-jdi-wuxga-lvds1-panel.dtb \
67 freescale/imx8qm-mek-revd-jdi-wuxga-lvds1-panel-rpmsg.dtb \
68 freescale/imx8qm-mek-revd-ov5640-csi0.dtb \
69 freescale/imx8qm-mek-revd-ov5640-csi1.dtb \
70 freescale/imx8qm-mek-revd-ov5640-dual.dtb \
71 freescale/imx8qm-mek-revd-pcie-ep.dtb \
72 freescale/imx8qm-mek-revd-root.dtb \
73 freescale/imx8qm-mek-revd-rpmsg.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" 53"
78 54
79UBOOT_MAKE_TARGET = \ 55UBOOT_MAKE_TARGET = \
diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf
index c78e0780..87df30f4 100644
--- a/conf/machine/imx8qxp-mek.conf
+++ b/conf/machine/imx8qxp-mek.conf
@@ -20,13 +20,6 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \
20 freescale/${KERNEL_DEVICETREE_BASENAME}-enet2-tja1100.dtb \ 20 freescale/${KERNEL_DEVICETREE_BASENAME}-enet2-tja1100.dtb \
21 freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \ 21 freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \
22 freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif-rpmsg.dtb \ 22 freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif-rpmsg.dtb \
23 freescale/${KERNEL_DEVICETREE_BASENAME}-max9286.dtb \
24 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-csi.dtb \
25 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-csi-rpmsg.dtb \
26 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-dual.dtb \
27 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-dual-rpmsg.dtb \
28 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-parallel.dtb \
29 freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-parallel-rpmsg.dtb \
30 freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \ 23 freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
31 freescale/${KERNEL_DEVICETREE_BASENAME}-sof.dtb \ 24 freescale/${KERNEL_DEVICETREE_BASENAME}-sof.dtb \
32 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \ 25 freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \
diff --git a/conf/machine/imx8ulp-lpddr4-evk.conf b/conf/machine/imx8ulp-lpddr4-evk.conf
index 91240252..273e1569 100644
--- a/conf/machine/imx8ulp-lpddr4-evk.conf
+++ b/conf/machine/imx8ulp-lpddr4-evk.conf
@@ -18,7 +18,6 @@ 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 \
22" 21"
23 22
24UBOOT_CONFIG_BASENAME = "imx8ulp_evk" 23UBOOT_CONFIG_BASENAME = "imx8ulp_evk"
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 32da2ea5..5c79a8c1 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -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,
@@ -165,6 +166,7 @@ DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto"
165DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto" 166DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto"
166DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto" 167DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto"
167DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto" 168DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto"
169DEFAULTTUNE:mx91-generic-bsp ?= "cortexa55"
168DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55" 170DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55"
169DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55" 171DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55"
170 172
@@ -181,6 +183,7 @@ IMX_SOC_REV:mx8dx-generic-bsp ??= "C0"
181IMX_SOC_REV:mx8ulp-generic-bsp ??= \ 183IMX_SOC_REV:mx8ulp-generic-bsp ??= \
182 "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \ 184 "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \
183 'A2', d)}" 185 'A2', d)}"
186IMX_SOC_REV:mx91-generic-bsp ??= "A0"
184IMX_SOC_REV:mx93-generic-bsp ??= "A1" 187IMX_SOC_REV:mx93-generic-bsp ??= "A1"
185 188
186IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}" 189IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}"
@@ -190,12 +193,12 @@ IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
190### NXP BSP specific overrides 193### NXP BSP specific overrides
191####### 194#######
192 195
193MACHINEOVERRIDES_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"
194MACHINEOVERRIDES_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"
195 198
196MACHINEOVERRIDES_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"
197 200
198MACHINEOVERRIDES_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"
199MACHINEOVERRIDES_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"
200 203
201MACHINEOVERRIDES_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"
@@ -203,26 +206,27 @@ MACHINEOVERRIDES_EXTENDER:mx6ull:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxf
203MACHINEOVERRIDES_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"
204 207
205MACHINEOVERRIDES_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"
206MACHINEOVERRIDES_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"
207 210
208MACHINEOVERRIDES_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"
209 212
210MACHINEOVERRIDES_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"
211 214
212MACHINEOVERRIDES_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"
213MACHINEOVERRIDES_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"
214MACHINEOVERRIDES_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"
215MACHINEOVERRIDES_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"
216MACHINEOVERRIDES_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"
217 220
218MACHINEOVERRIDES_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"
219MACHINEOVERRIDES_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"
220MACHINEOVERRIDES_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"
221 224
222MACHINEOVERRIDES_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"
223 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"
224MACHINEOVERRIDES_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"
225MACHINEOVERRIDES_EXTENDER:mx95:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx9-generic-bsp:mx9-nxp-bsp:mx95-generic-bsp:mx95-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"
226 230
227####### 231#######
228### Mainline BSP specific overrides 232### Mainline BSP specific overrides
@@ -265,6 +269,7 @@ MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
265 269
266MACHINEOVERRIDES_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"
267 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"
268MACHINEOVERRIDES_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"
269MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-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"
270 275
@@ -297,6 +302,7 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
297 mx8dx \ 302 mx8dx \
298 mx8dxl \ 303 mx8dxl \
299 mx8ulp \ 304 mx8ulp \
305 mx91 \
300 mx93 \ 306 mx93 \
301 mx95 \ 307 mx95 \
302" 308"
@@ -326,6 +332,7 @@ MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
326MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8" 332MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
327MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl" 333MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
328MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp" 334MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
335MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91"
329MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93" 336MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
330MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95" 337MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95"
331 338
@@ -404,6 +411,7 @@ IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware
404IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files" 411IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
405IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" 412IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
406IMX_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"
407IMX_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"
408PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager" 416PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager"
409IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager imx-oei" 417IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager imx-oei"
@@ -518,14 +526,14 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
518MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" 526MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
519 527
520# GStreamer forked recipes 528# GStreamer forked recipes
521PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.0.imx" 529PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.7.imx"
522PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.0.imx" 530PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.7.imx"
523PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.0.imx" 531PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.7.imx"
524PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.0.imx" 532PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.7.imx"
525PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.0.imx" 533PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.7.imx"
526PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.0.imx" 534PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.7.imx"
527PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.0.imx" 535PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.7.imx"
528PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.0.imx" 536PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.7.imx"
529 537
530# GStreamer copied recipes 538# GStreamer copied recipes
531PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx" 539PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx"
@@ -554,35 +562,26 @@ SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
554# 1 - machine has Vivante GPU driver support 562# 1 - machine has Vivante GPU driver support
555MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" 563MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}"
556 564
557# Graphics libraries 565# Override graphics for i.MX GPU
558PREFERRED_PROVIDER_virtual/egl ?= "mesa" 566IMXGPU_GRAPHICS_PROVIDER:imxviv ?= "imx-gpu-viv"
559PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 567IMXGPU_GRAPHICS_PROVIDER:imxmali ?= "mali-imx"
560PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 568
561PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 569PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "${IMXGPU_GRAPHICS_PROVIDER}"
562 570PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
563PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "imx-gpu-viv" 571PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl"
564PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl" 572PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
565PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl" 573PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
566PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "imx-gpu-viv" 574PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
567PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv" 575
568PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv" 576# The Vivante OpenCL implementation doesn't work with the standard headers and loader
569PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" 577PREFERRED_PROVIDER_opencl-clhpp:imxviv ?= "imx-gpu-viv"
570PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d" 578PREFERRED_PROVIDER_opencl-headers:imxviv ?= "imx-gpu-viv"
579PREFERRED_PROVIDER_opencl-icd-loader:imxviv ?= "imx-gpu-viv"
580PREFERRED_PROVIDER_virtual/opencl-icd:imxviv ?= "imx-gpu-viv"
581
582PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
583PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
571PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" 584PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d"
572PREFERRED_PROVIDER_opencl-clhpp:imxgpu ?= "imx-gpu-viv"
573PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv"
574PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv"
575PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv"
576
577PREFERRED_PROVIDER_virtual/egl:mx95-nxp-bsp ?= "mali-imx"
578PREFERRED_PROVIDER_virtual/libgles1:mx95-nxp-bsp ?= "mali-imx"
579PREFERRED_PROVIDER_virtual/libgles2:mx95-nxp-bsp ?= "mali-imx"
580PREFERRED_PROVIDER_virtual/libgles3:mx95-nxp-bsp ?= "mali-imx"
581PREFERRED_PROVIDER_opencl-clhpp:mx95-nxp-bsp ?= "opencl-clhpp"
582PREFERRED_PROVIDER_opencl-headers:mx95-nxp-bsp ?= "opencl-headers"
583# install libmali-opencl-icd package as the loaders backend
584PREFERRED_PROVIDER_opencl-icd-loader:mx95-nxp-bsp ?= "opencl-icd-loader"
585PREFERRED_PROVIDER_virtual/opencl-icd:mx95-nxp-bsp ?= "opencl-icd-loader"
586 585
587PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.4.imx" 586PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.4.imx"
588# i.MX 6 & 7 stay on weston 10.0 for fbdev 587# i.MX 6 & 7 stay on weston 10.0 for fbdev
@@ -592,7 +591,7 @@ PREFERRED_VERSION_weston:imx-mainline-bsp = ""
592 591
593PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.32.imx" 592PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.32.imx"
594 593
595PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx" 594PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.2.5.imx"
596 595
597# Use i.MX libdrm Version 596# Use i.MX libdrm Version
598PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.116.imx" 597PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.116.imx"
diff --git a/conf/machine/include/imx8x-mek.inc b/conf/machine/include/imx8x-mek.inc
index fc315fbc..9eaa77c5 100644
--- a/conf/machine/include/imx8x-mek.inc
+++ b/conf/machine/include/imx8x-mek.inc
@@ -33,6 +33,8 @@ 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 \
36 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \ 38 freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
37" 39"
38 40
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb
index 760b68ae..8a812f41 100644
--- a/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb
@@ -39,4 +39,4 @@ FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_N
39RREPLACES:${PN} = "firmware-sentinel" 39RREPLACES:${PN} = "firmware-sentinel"
40RPROVIDES:${PN} = "firmware-sentinel" 40RPROVIDES:${PN} = "firmware-sentinel"
41 41
42COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" 42COMPATIBLE_MACHINE = "(mx8ulp-generic-bsp|mx9-generic-bsp)"
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 b362c4e2..31c806b0 100644
--- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb
@@ -44,7 +44,10 @@ 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 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
48} 51}
49 52
50PACKAGES =+ " \ 53PACKAGES =+ " \
@@ -105,6 +108,7 @@ RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
105RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" 108RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
106 109
107FILES:${PN}-nxp8997-sdio = " \ 110FILES:${PN}-nxp8997-sdio = " \
111 ${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
108 ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \ 112 ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \
109" 113"
110RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common" 114RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
@@ -139,6 +143,7 @@ RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
139RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" 143RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
140 144
141FILES:${PN}-nxpiw416-sdio = " \ 145FILES:${PN}-nxpiw416-sdio = " \
146 ${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin \
142 ${nonarch_base_libdir}/firmware/nxp/*iw416* \ 147 ${nonarch_base_libdir}/firmware/nxp/*iw416* \
143" 148"
144RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common" 149RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
@@ -168,5 +173,3 @@ RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common"
168RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 173RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
169RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 174RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
170RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" 175RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
171
172COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
index e64bc0bc..7592a629 100644
--- a/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
+++ b/recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb
@@ -4,7 +4,7 @@ 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 = "${WORKDIR}/${PN}-${PV}"
10 10
diff --git a/recipes-bsp/imx-atf/imx-atf_2.10.bb b/recipes-bsp/imx-atf/imx-atf_2.10.bb
index 04826b4c..09b1905d 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.10.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.10.bb
@@ -9,7 +9,7 @@ PV .= "+git${SRCPV}"
9 9
10SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}" 10SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
11SRCBRANCH = "lf_v2.10" 11SRCBRANCH = "lf_v2.10"
12SRCREV = "28affcae957cb8194917b5246276630f9e6343e1" 12SRCREV = "1b27ee3edbb40ef9432c69ccaa744d1ac5d54c5d"
13 13
14S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
15 15
@@ -34,7 +34,7 @@ LD[unexport] = "1"
34 34
35# Baremetal, just need a compiler 35# Baremetal, just need a compiler
36INHIBIT_DEFAULT_DEPS = "1" 36INHIBIT_DEFAULT_DEPS = "1"
37DEPENDS = "virtual/${HOST_PREFIX}gcc" 37DEPENDS = "virtual/cross-cc"
38 38
39# Bring in clang compiler if using clang as default 39# Bring in clang compiler if using clang as default
40DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}" 40DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}"
diff --git a/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb b/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
index b065fc55..cebfbdf9 100644
--- a/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
+++ b/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb
@@ -9,10 +9,10 @@ DEPENDS = "openssl"
9 9
10inherit systemd 10inherit systemd
11 11
12SRC_URI = "git://github.com/NXP/imx-secure-enclave.git;protocol=https;branch=lf-6.6.3_1.0.0" 12SRC_URI = "git://github.com/NXP/imx-secure-enclave.git;protocol=https;branch=lf-6.6.52_2.2.0"
13SRCREV = "964affa2cb3f9f7fc85a6a18db60f9213f744495" 13SRCREV = "dffbb844e86f4a49058ffbb40548474059969c27"
14 14
15PV = "lf-6.6.3_1.0.0" 15PV = "lf-6.6.52_2.2.0"
16 16
17S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
18 18
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 3f04000c..00000000
--- 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 9e0f0265..00000000
--- 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.24.4.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.4.bb
new file mode 100644
index 00000000..8694489b
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.4.bb
@@ -0,0 +1,95 @@
1# Copyright 2020-2023 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
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 = "8527c7b"
12S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
13
14SRC_URI[sha256sum] = "481e49e9da6d7783d6c28385bb68463eac7b9e9fef6ea958950260a8ad6b1e4c"
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 -DQTLESS=1 \
40 -DFULL_SRC_COMPILE=1 \
41 -DWITH_DRM=1 \
42 -DWITH_DWE=1 \
43 -DSUBDEV_V4L2=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 libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/bin/isp_media_server
53 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/lib/libmedia_server.so
54 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/tuningext/install/tuningext
55}
56
57do_install() {
58 # FIXME: provided by the basler-camera package, do not install them here additionally
59 rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
60
61 # The Makefile unconditionally installs tuningext even if it is not built
62 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
63 touch ${B}/generated/release/bin/tuningext
64 fi
65
66 oe_runmake -f ${S}/Makefile install INSTALL_DIR=${D} SOURCE_DIR=${S}
67
68 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
69 rm ${D}/opt/imx8-isp/bin/tuningext
70 fi
71
72 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
73 install -d ${D}${systemd_system_unitdir}
74 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
75 fi
76
77}
78
79# The build contains a mix of versioned and unversioned libraries, so
80# the default packaging configuration needs some modification so that
81# unversioned .so libraries go to the main package and versioned .so
82# symlinks go to -dev.
83FILES_SOLIBSDEV = ""
84FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
85FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
86FILES_SOLIBS_VERSIONED = " \
87 ${libdir}/libcppnetlib-client-connections.so \
88 ${libdir}/libcppnetlib-server-parsers.so \
89 ${libdir}/libcppnetlib-uri.so \
90 ${libdir}/libos08a20.so \
91"
92
93RDEPENDS:${PN} = "libdrm"
94
95COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/qe-ucode/qe-ucode_git.bb b/recipes-bsp/qe-ucode/qe-ucode_git.bb
index 33648d1e..8562f38b 100644
--- a/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -1,12 +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 10
11S = "${WORKDIR}/git" 11S = "${WORKDIR}/git"
12 12
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc
index b2bea55c..f6262324 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2024.07.inc
+++ b/recipes-bsp/u-boot/u-boot-fslc-common_2025.01.inc
@@ -10,10 +10,10 @@ DEPENDS += "flex-native bison-native"
10 10
11SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https" 11SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https"
12 12
13SRCREV = "5b4d66dd41432d36c22bcdfa2d1ca4afc3a1c2fc" 13SRCREV = "aa4bc52d08c342df83e3c576e2c108d7c8816e0e"
14SRCBRANCH = "2024.07+fslc" 14SRCBRANCH = "2025.01+fslc"
15 15
16PV = "2024.07+fslc+git${SRCPV}" 16PV = "2025.01+fslc+git${SRCPV}"
17 17
18S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
19B = "${WORKDIR}/build" 19B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.07.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb
index b7e4ca76..b7e4ca76 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.07.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2025.01.bb
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2024.07.bb b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb
index 4dc69821..4dc69821 100644
--- a/recipes-bsp/u-boot/u-boot-fslc_2024.07.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
index 0c3f8504..f4e78c6c 100644
--- a/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
+++ b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a
5 5
6SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" 6SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
7SRCBRANCH = "lf_v2024.04" 7SRCBRANCH = "lf_v2024.04"
8LOCALVERSION ?= "-imx_v2024.04_6.6.36-2.1.0" 8LOCALVERSION ?= "-imx_v2024.04_6.6.52-2.2.0"
9SRCREV = "de16f4f17221b2ff72b8cb18c28cd8a29f3c2710" 9SRCREV = "6c4545203d123c246c5d7995f2893959506d28e0"
10 10
11DEPENDS += " \ 11DEPENDS += " \
12 bc-native \ 12 bc-native \
diff --git a/recipes-devtools/qoriq-cst/qoriq-cst_git.bb b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
index 8d345836..bcb4f8bf 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,7 +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 23
24S = "${WORKDIR}/git" 24S = "${WORKDIR}/git"
25 25
diff --git a/recipes-dpaa2/dce/dce_git.bb b/recipes-dpaa2/dce/dce_git.bb
index 7c0ec270..7beeb90f 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -7,7 +7,7 @@ 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"
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index bbf7fec2..d9e3b630 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=83af78c71766dd5fb1c1c3dd64a75ee7"
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 = "d9fbfc68018c8dbe33bdf236dc6b4c02f15aa6e1" 8SRCREV = "8c45e04363bf2a984a87b24d1dac80a286dd40d8"
9 9
10S = "${WORKDIR}/git" 10S = "${WORKDIR}/git"
11 11
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb b/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
index 415587a8..09eac053 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/imx-g2d/imx-dpu-g2d_2.2.0.bb b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.2.bb
index 5e8f5402..2ebff0c2 100644
--- a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.0.bb
+++ b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.2.bb
@@ -7,21 +7,21 @@ LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 7LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
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 = "7943590" 18IMX_SRCREV_ABBREV = "e2dce80"
19IMX_SRC_URI_NAME = "v1" 19IMX_SRC_URI_NAME = "v1"
20SRC_URI[v1.sha256sum] = "bf347f53e8f390a0554c0db76707819bb50cf4aaa564a9c86821ae9add26e113" 20SRC_URI[v1.sha256sum] = "d43b5d4b8e6015a029c6e8854982aa5d57de25bc0e3ff8209d4aab7679c2d240"
21 21
22IMX_SRCREV_ABBREV:mx95-nxp-bsp = "7943590" 22IMX_SRCREV_ABBREV:imxmali = "e2dce80"
23IMX_SRC_URI_NAME:mx95-nxp-bsp = "v2" 23IMX_SRC_URI_NAME:imxmali = "v2"
24SRC_URI[v2.sha256sum] = "c0a87908cd04c208659423746a57eaee6a30b4d680ec871f3495ad4a2acb5076" 24SRC_URI[v2.sha256sum] = "d9845356e0c9c959b1d57ebb3ee668ba6aa2b864999263a8c33cb053b83584e6"
25 25
26S = "${WORKDIR}/${IMX_BIN_NAME}" 26S = "${WORKDIR}/${IMX_BIN_NAME}"
27 27
diff --git a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.8.bb b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb
index 7ce542d0..342c29f0 100644
--- a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.8.bb
+++ b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb
@@ -11,9 +11,9 @@ PROVIDES = "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 = "95408a4" 14IMX_SRCREV_ABBREV = "accdd64"
15SRC_URI[aarch64.sha256sum] = "48327fe6315aa739d5665004289412ff2e3a4e0084d1664f837276f09d35b032" 15SRC_URI[aarch64.sha256sum] = "780479f19142126ed58e12222b80f8f3b882ad3d223ff61b7ea02001f517ff03"
16SRC_URI[arm.sha256sum] = "f28b2cd7b29302cd654fc845a0695d6fe935e383b56556e36933488dfa014830" 16SRC_URI[arm.sha256sum] = "cd4fd05dd6f6880edc3255c85fe08094a07ea4cd3eee947df004dcb8f37bc8fa"
17 17
18S = "${WORKDIR}/${IMX_BIN_NAME}" 18S = "${WORKDIR}/${IMX_BIN_NAME}"
19 19
diff --git a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
index 7d97f475..18fad56e 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
@@ -13,24 +13,18 @@ S = "${WORKDIR}/git"
13 13
14inherit cmake pkgconfig perlnative python3native 14inherit cmake pkgconfig perlnative python3native
15 15
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 ??= " \ 16PACKAGECONFIG ??= " \
30 egl \ 17 egl \
31 ${PACKAGECONFIG_BACKEND} \ 18 ${PACKAGECONFIG_BACKEND} \
32 ${PACKAGECONFIG_GPU2D} \ 19 ${PACKAGECONFIG_GPU2D} \
33" 20"
21PACKAGECONFIG_BACKEND = " \
22 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'waffle', \
23 bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
24 '', d), d)} \
25"
26PACKAGECONFIG_GPU2D = ""
27PACKAGECONFIG_GPU2D:imxviv:imxgpu2d = "vivante"
34 28
35PACKAGECONFIG[egl] = "-DENABLE_EGL=ON,-DENABLE_EGL=OFF,virtual/egl" 29PACKAGECONFIG[egl] = "-DENABLE_EGL=ON,-DENABLE_EGL=OFF,virtual/egl"
36PACKAGECONFIG[gui] = "-DENABLE_GUI=ON,-DENABLE_GUI=OFF" 30PACKAGECONFIG[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 ee9c391f..d96f75bf 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.
@@ -187,7 +184,7 @@ IMX_SOC:mx8mq-nxp-bsp = "mx8mq"
187IMX_SOC:mx8mn-nxp-bsp = "mx8mn" 184IMX_SOC:mx8mn-nxp-bsp = "mx8mn"
188IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" 185IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp"
189 186
190LIBVULKAN_API_VERSION = "1.3.239" 187LIBVULKAN_API_VERSION = "1.3.204"
191 188
192do_install () { 189do_install () {
193 install -d ${D}${libdir} 190 install -d ${D}${libdir}
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.8-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb
index 4cdc1d6a..753ab5ad 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.8-aarch32.bb
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb
@@ -1,9 +1,9 @@
1require imx-gpu-viv-6.inc 1require imx-gpu-viv-6.inc
2 2
3LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 3LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
4 4
5IMX_SRCREV_ABBREV = "95408a4" 5IMX_SRCREV_ABBREV = "accdd64"
6 6
7SRC_URI[sha256sum] = "c479c98e83866a7e95e5a6ae29b21ae41f9599326298d9a1debf009cac6e9406" 7SRC_URI[sha256sum] = "2242c7cbf1a2b07d40eefe5d1507747e477c54912f179ee0585a5d7965074ce0"
8 8
9COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)" 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.p2.8-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb
index c5208b55..6a6c6a7c 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.8-aarch64.bb
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb
@@ -1,9 +1,9 @@
1require imx-gpu-viv-6.inc 1require imx-gpu-viv-6.inc
2 2
3LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 3LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
4 4
5IMX_SRCREV_ABBREV = "95408a4" 5IMX_SRCREV_ABBREV = "accdd64"
6 6
7SRC_URI[sha256sum] = "aadfcf558d07da253a57acfd5aa4ca41d4c8195f04324d0c2f6746f6f18c5a46" 7SRC_URI[sha256sum] = "8108fd146de6986486f34860227511a5101b31072b99cd78ae38afba8939fd4e"
8 8
9COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" 9COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/libsdl2/libsdl2_%.bbappend b/recipes-graphics/libsdl2/libsdl2_%.bbappend
index 3b2655ce..e8c7ac16 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_r50.0.bb b/recipes-graphics/mali/mali-imx_r50.2.bb
index 3d30f468..97f6db71 100644
--- a/recipes-graphics/mali/mali-imx_r50.0.bb
+++ b/recipes-graphics/mali/mali-imx_r50.2.bb
@@ -1,11 +1,11 @@
1require mali-imx.inc 1require mali-imx.inc
2 2
3LICENSE = "Proprietary" 3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 4LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
5 5
6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
7SRC_URI[sha256sum] = "a787a3285c3e288eedacf1a746de2bc9f5fdc15f35cf8b6147deb436183baf6f" 7SRC_URI[sha256sum] = "947881cdad085a29dcb52dc4431f803b73c06141b31e06520f9bfe17d324f774"
8IMX_SRCREV_ABBREV = "39604c3" 8IMX_SRCREV_ABBREV = "710cfb6"
9 9
10S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" 10S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
11 11
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
index 9b0ce3b9..f4624921 100644
--- a/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
+++ b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend
@@ -10,6 +10,5 @@ FILES_SOLIBSDEV = ""
10INSANE_SKIP:${PN} += "dev-so" 10INSANE_SKIP:${PN} += "dev-so"
11 11
12# Override default mesa drivers with i.MX GPU drivers 12# Override default mesa drivers with i.MX GPU drivers
13RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx" 13RRECOMMENDS:${PN}:imxviv = "libvulkan-imx"
14# Override default mesa drivers with i.MX GPU drivers 14RRECOMMENDS:${PN}:imxmali = "mali-imx-libvulkan"
15RRECOMMENDS:${PN}:mx95-nxp-bsp = "mali-imx-libvulkan"
diff --git a/recipes-graphics/wayland/weston_10.0.5.imx.bb b/recipes-graphics/wayland/weston_10.0.5.imx.bb
index df2898f0..2c74481a 100644
--- a/recipes-graphics/wayland/weston_10.0.5.imx.bb
+++ b/recipes-graphics/wayland/weston_10.0.5.imx.bb
@@ -165,7 +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" 169S = "${WORKDIR}/git"
170 170
171# Disable OpenGL for parts with GPU support for 2D but not 3D 171# Disable OpenGL for parts with GPU support for 2D but not 3D
diff --git a/recipes-graphics/wayland/weston_12.0.4.imx.bb b/recipes-graphics/wayland/weston_12.0.4.imx.bb
index 8003da07..c988561e 100644
--- a/recipes-graphics/wayland/weston_12.0.4.imx.bb
+++ b/recipes-graphics/wayland/weston_12.0.4.imx.bb
@@ -172,7 +172,7 @@ SRC_URI:prepend = "${WESTON_SRC};branch=${SRCBRANCH} "
172WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https" 172WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https"
173SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch" 173SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch"
174SRCBRANCH = "weston-imx-12.0.4" 174SRCBRANCH = "weston-imx-12.0.4"
175SRCREV = "c3c1f9ff7824123dd4808ace3c9476345cb84177" 175SRCREV = "de7f8df4b4275e9bb345cacab6962d1a490d9eab"
176S = "${WORKDIR}/git" 176S = "${WORKDIR}/git"
177 177
178PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11" 178PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb b/recipes-graphics/xwayland/xwayland_23.2.5.imx.bb
index a9705a23..0535587b 100644
--- a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb
+++ b/recipes-graphics/xwayland/xwayland_23.2.5.imx.bb
@@ -16,8 +16,8 @@ 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}-23.2.5"
20SRC_URI[sha256sum] = "fb9461f5cb9fea5e07e91882311b0c88b43e8843b017ebac05eb5af69aa34c15" 20SRC_URI[sha256sum] = "33ec7ff2687a59faaa52b9b09aa8caf118e7ecb6aed8953f526a625ff9f4bd90"
21S = "${WORKDIR}/${BP_ORIGINAL}" 21S = "${WORKDIR}/${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"
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend b/recipes-graphics/xwayland/xwayland_23.2.5.imx.bbappend
index f71ba16c..d8f5bdde 100644
--- a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
+++ b/recipes-graphics/xwayland/xwayland_23.2.5.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/linux/linux-fslc-imx_6.6.bb b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
index 0e9a9edd..95c9f27c 100644
--- a/recipes-kernel/linux/linux-fslc-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
@@ -28,12 +28,12 @@ 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.54 31# tag: v6.6.74
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.23-2.0.0 36# tag: lf-6.6.52-2.2.0
37# 37#
38# ------------------------------------------------------------------------------ 38# ------------------------------------------------------------------------------
39# 3. Critical patches (SHA(s)) 39# 3. Critical patches (SHA(s))
@@ -42,7 +42,20 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
42# conflicts, prioritizing NXP BSP source code as the latest vendor updates. 42# conflicts, prioritizing NXP BSP source code as the latest vendor updates.
43# Additional commits may exist to better acommodate yocto builds. 43# Additional commits may exist to better acommodate yocto builds.
44# 44#
45# $ git log --oneline --no-merges v6.6.52.. ^mainline/linux-6.6.y ^NXP/lf-6.6.y 45# $ git log --oneline --no-merges v6.6.74.. ^mainline/linux-6.6.y ^NXP/lf-6.6.y
46# - 997b7e13e413 imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND
47# - b746c990ecba Revert "LF-12740: mxc: vpu: hantro_v4l2: report performance statistics"
48# - e349e6c45a94 arm64: imx_v8_defconfig: Enable CONFIG_GPIO_VF610
49# - 5a015324eddc arm64: dts: imx8qm: add missing imx8-ss-cm40.dtsi include
50# - 8a8245d395d5 arm64: dts: imx8: img: add #address-cells and #size-cells to I2C MIPI CSI nodes
51# - db13648c4be6 fw: imx: seco_mu: change dev_err to dev_err_probe for -EPROBE_DEFER
52# - 0451236fd0ae clk: imx: imx8qm: add more resources to whitelist
53# - 2ee789512d1b drm/imx: lcdifv3: Fix videomode settings
54# - 5cd4c30ec228 i2c: imx: Remove unnecessary clock reconfiguration
55# - 583f2a703c5d tty: vt: conmakehash: remove non-portable code printing comment header
56# - 4ddc4dae8515 tty: vt: conmakehash: cope with abs_srctree no longer in env
57# - 46a05495bce3 drm: of: Fix build without CONFIG_OF
58# - 3d6392b96bf1 Revert "LF-4131 iio: gyro: fxas21002c: Fix raw data is not updated in trigger/buffer"
46# - 93b9fc75becd nvmem: imx-ocotp-fsb-s400: BUG: Fix the word count 59# - 93b9fc75becd nvmem: imx-ocotp-fsb-s400: BUG: Fix the word count
47# - 090d101928fc tty: vt: conmakehash: Don't mention the full path of the input in output 60# - 090d101928fc tty: vt: conmakehash: Don't mention the full path of the input in output
48# - d16eb5ced32f arm64: dts: imx8mm-evk-qca-wifi: enable support for bluetooth 61# - d16eb5ced32f arm64: dts: imx8mm-evk-qca-wifi: enable support for bluetooth
@@ -63,14 +76,14 @@ require linux-imx.inc
63 76
64KBRANCH = "6.6-2.2.x-imx" 77KBRANCH = "6.6-2.2.x-imx"
65SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" 78SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
66SRCREV = "657504d5644f24a41822960ed31b883062ca30c9" 79SRCREV = "00aabf3c03c392a6993ab5037ac856b1e48edcad"
67 80
68# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 81# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
69# required by kernel-yocto.bbclass. 82# required by kernel-yocto.bbclass.
70# 83#
71# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 84# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
72# should be updated once patchlevel is merged. 85# should be updated once patchlevel is merged.
73LINUX_VERSION = "6.6.69" 86LINUX_VERSION = "6.6.74"
74 87
75KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 88KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
76KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 89KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-fslc_6.12.bb b/recipes-kernel/linux/linux-fslc_6.12.bb
index 74d2f3d1..b39130bb 100644
--- a/recipes-kernel/linux/linux-fslc_6.12.bb
+++ b/recipes-kernel/linux/linux-fslc_6.12.bb
@@ -23,10 +23,13 @@ DEPENDS += " \
23# 23#
24# 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
25# should be updated once patchlevel is merged. 25# should be updated once patchlevel is merged.
26LINUX_VERSION = "6.12.6" 26#
27# Linux kernel stable 6.12.13 changelog:
28# https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.13
29LINUX_VERSION = "6.12.13"
27 30
28KBRANCH = "6.12.x+fslc" 31KBRANCH = "6.12.x+fslc"
29SRCREV = "0c877b020d2adbf68ead444b25452c832a228a1d" 32SRCREV = "404e5a82446dbd2b7e7061e804afec00d16049e8"
30 33
31KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig" 34KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
32KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig" 35KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch b/recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch
deleted file mode 100644
index 2933c40e..00000000
--- a/recipes-kernel/linux/linux-imx/0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1From 5ef6dc08cfde240b8c748733759185646e654570 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
3Date: Wed, 13 Mar 2024 22:19:56 +0100
4Subject: [PATCH] lib/build_OID_registry: don't mention the full path of the
5 script in output
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10This change strips the full path of the script generating
11lib/oid_registry_data.c to just lib/build_OID_registry. The motivation
12for this change is Yocto emitting a build warning
13
14 File /usr/src/debug/linux-lxatac/6.7-r0/lib/oid_registry_data.c in package linux-lxatac-src contains reference to TMPDIR [buildpaths]
15
16So this change brings us one step closer to make the build result
17reproducible independent of the build path.
18
19Upstream-Status: Backport [https://github.com/torvalds/linux/commit/5ef6dc08cfde240b8c748733759185646e654570]
20
21Link: https://lkml.kernel.org/r/20240313211957.884561-2-u.kleine-koenig@pengutronix.de
22Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
23Cc: Masahiro Yamada <masahiroy@kernel.org>
24Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
25Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26---
27 lib/build_OID_registry | 5 ++++-
28 1 file changed, 4 insertions(+), 1 deletion(-)
29
30diff --git a/lib/build_OID_registry b/lib/build_OID_registry
31index d7fc32ea8ac2..56d8bafeb848 100755
32--- a/lib/build_OID_registry
33+++ b/lib/build_OID_registry
34@@ -8,6 +8,7 @@
35 #
36
37 use strict;
38+use Cwd qw(abs_path);
39
40 my @names = ();
41 my @oids = ();
42@@ -17,6 +18,8 @@ if ($#ARGV != 1) {
43 exit(2);
44 }
45
46+my $abs_srctree = abs_path($ENV{'srctree'});
47+
48 #
49 # Open the file to read from
50 #
51@@ -35,7 +38,7 @@ close IN_FILE || die;
52 #
53 open C_FILE, ">$ARGV[1]" or die;
54 print C_FILE "/*\n";
55-print C_FILE " * Automatically generated by ", $0, ". Do not edit\n";
56+print C_FILE " * Automatically generated by ", $0 =~ s#^\Q$abs_srctree/\E##r, ". Do not edit\n";
57 print C_FILE " */\n";
58
59 #
60--
612.34.1
62
diff --git a/recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch b/recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch
deleted file mode 100644
index b9ec1be3..00000000
--- a/recipes-kernel/linux/linux-imx/0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From fb3b9c2d217f1f51fffe19fc0f4eaf55e2d4ea4f Mon Sep 17 00:00:00 2001
2From: Lucas Stach <l.stach@pengutronix.de>
3Date: Wed, 10 Apr 2024 15:41:21 +0200
4Subject: [PATCH 6/6] video: logo: Drop full path of the input filename in
5 generated file
6
7Avoid this Yocto build warning to make build reproducible:
8
9 WARNING: linux-foo-6.8-r0 do_package_qa: QA Issue:
10 File /usr/src/debug/linux-foo/6.8-r0/drivers/video/logo/logo_linux_clut224.c
11 in package linux-foo-src contains reference to TMPDIR
12
13Helge modified the patch to drop the whole line.
14
15Upstream-Status: Backport [https://github.com/torvalds/linux/commit/fb3b9c2d217f1f51fffe19fc0f4eaf55e2d4ea4f]
16
17Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
18Signed-off-by: Helge Deller <deller@gmx.de>
19---
20 drivers/video/logo/pnmtologo.c | 2 --
21 1 file changed, 2 deletions(-)
22
23diff --git a/drivers/video/logo/pnmtologo.c b/drivers/video/logo/pnmtologo.c
24index 2434a25afb64..8080c4d9c4a2 100644
25--- a/drivers/video/logo/pnmtologo.c
26+++ b/drivers/video/logo/pnmtologo.c
27@@ -235,8 +235,6 @@ static void write_header(void)
28 fputs("/*\n", out);
29 fputs(" * DO NOT EDIT THIS FILE!\n", out);
30 fputs(" *\n", out);
31- fprintf(out, " * It was automatically generated from %s\n", filename);
32- fputs(" *\n", out);
33 fprintf(out, " * Linux logo %s\n", logoname);
34 fputs(" */\n\n", out);
35 fputs("#include <linux/linux_logo.h>\n\n", out);
36--
372.34.1
38
diff --git a/recipes-kernel/linux/linux-imx_6.6.bb b/recipes-kernel/linux/linux-imx_6.6.bb
index 320e8a0f..e039dd9c 100644
--- a/recipes-kernel/linux/linux-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-imx_6.6.bb
@@ -18,8 +18,6 @@ SRCREV = "e0f9e2afd4cff3f02d71891244b4aa5899dfc786"
18 18
19SRC_URI += " \ 19SRC_URI += " \
20 file://0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch \ 20 file://0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch \
21 file://0001-lib-build_OID_registry-don-t-mention-the-full-path-o.patch \
22 file://0001-video-logo-Drop-full-path-of-the-input-filename-in-g.patch \
23" 21"
24 22
25# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 23# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch
deleted file mode 100644
index d4fd8cf3..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-autovideoconvert-add-imxvideoconvert_g2d.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From 784881b9bffaa768c3a1e9cb3d8eead7b4ca356a Mon Sep 17 00:00:00 2001
2From: Hiago De Franco <hiago.franco@toradex.com>
3Date: Thu, 12 Sep 2024 18:44:14 +0200
4Subject: [PATCH] autovideoconvert: add imxvideoconvert_g2d
5
6On i.MX8 platform, autovideoconvert defaults to CPU-based processing as
7imxvideoconvert_g2d is not included as a listed filter, resulting in
8poor video playback performance.
9
10Add imxvideoconvert_g2d to improve performance by utilizing hardware
11acceleration.
12
13Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-bad/pull/2]
14Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
15---
16 gst/autoconvert/gstautovideoconvert.c | 7 +++++++
17 1 file changed, 7 insertions(+)
18
19diff --git a/gst/autoconvert/gstautovideoconvert.c b/gst/autoconvert/gstautovideoconvert.c
20index cf5468316cd5..b91bd1556c37 100644
21--- a/gst/autoconvert/gstautovideoconvert.c
22+++ b/gst/autoconvert/gstautovideoconvert.c
23@@ -85,6 +85,13 @@ gst_auto_video_convert_init (GstAutoVideoConvert * autovideoconvert)
24 .filters = { NULL },
25 .rank = GST_RANK_SECONDARY,
26 },
27+ {
28+ .first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
29+ .colorspace_converters = { "imxvideoconvert_g2d", NULL },
30+ .last_elements = { NULL, },
31+ .filters = { NULL },
32+ .rank = GST_RANK_PRIMARY + 1,
33+ },
34 {
35 .first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
36 .colorspace_converters = { "videoconvertscale", NULL },
37--
382.39.2
39
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
index f6d094f5..4b707875 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
@@ -178,9 +178,7 @@ FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
178 178
179DEFAULT_PREFERENCE = "-1" 179DEFAULT_PREFERENCE = "-1"
180 180
181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c" 181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
182
183DEPENDS:append:imxgpu2d = " virtual/libg2d"
184 182
185SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ 183SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
186 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ 184 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
@@ -188,10 +186,9 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plug
188 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 186 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
189 " 187 "
190SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
191SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch"
192GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" 189GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
193SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 190SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
194SRCREV = "7011fdfa6d60fb3ee1dc8545f675cfdb519203cd" 191SRCREV = "bba296b75dfb3e7ae4c836255edbd2b3c085c269"
195 192
196S = "${WORKDIR}/git" 193S = "${WORKDIR}/git"
197 194
@@ -214,13 +211,6 @@ PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
214PACKAGECONFIG[g2d] = ",,virtual/libg2d" 211PACKAGECONFIG[g2d] = ",,virtual/libg2d"
215PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress" 212PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
216 213
217# GCC-14 otherwise errors out
218CFLAGS += " \
219 -Wno-error=implicit-function-declaration \
220 -Wno-error=incompatible-pointer-types \
221 -Wno-error=return-mismatch \
222 -Wno-error=int-conversion \
223"
224EXTRA_OEMESON += " \ 214EXTRA_OEMESON += " \
225 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 215 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
226" 216"
@@ -229,8 +219,9 @@ EXTRA_OEMESON:remove = " \
229 -Dkate=disabled \ 219 -Dkate=disabled \
230" 220"
231 221
232COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
233# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE 222# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE
234# 223#
235TOOLCHAIN = "gcc" 224TOOLCHAIN = "gcc"
225
226COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
236########### End of i.MX overrides ######### 227########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
index 6e7bc20e..c15457ca 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
@@ -118,8 +118,8 @@ SRC_URI:remove = " \
118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
119 119
120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" 120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
121SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 121SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
122SRCREV = "97b1a45e945d3784790cafd2fcc4f6cb16e739d7" 122SRCREV = "031d262e65333e58b2ce01aaf47ab1012f93b21e"
123 123
124S = "${WORKDIR}/git" 124S = "${WORKDIR}/git"
125 125
@@ -135,8 +135,6 @@ PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
135PACKAGECONFIG[g2d] = ",,virtual/libg2d" 135PACKAGECONFIG[g2d] = ",,virtual/libg2d"
136PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" 136PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
137 137
138# GCC-14 otherwise errors out
139CFLAGS += "-Wno-error=incompatible-pointer-types"
140EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" 138EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
141 139
142# links with imx-gpu libs which are pre-built for glibc 140# links with imx-gpu libs which are pre-built for glibc
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend
index a834192e..528d7e1a 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.%.bbappend
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bbappend
@@ -13,5 +13,5 @@ PACKAGECONFIG_GL:use-mainline-bsp = \
13# does not depend on the viv-fb feature. It used to, but that was actually a bug 13# does not depend on the viv-fb feature. It used to, but that was actually a bug
14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is 14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".) 15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
16PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb " 16PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb"
17PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb " 17PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
index 67dc139f..5dd71743 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
@@ -94,11 +94,11 @@ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
94DEFAULT_PREFERENCE = "-1" 94DEFAULT_PREFERENCE = "-1"
95 95
96LIC_FILES_CHKSUM = " \ 96LIC_FILES_CHKSUM = " \
97 file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 97 file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \ 98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
99" 99"
100# Enable pulsesink in gstreamer 100# Enable pulsesink in gstreamer
101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" 101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', ' pulseaudio', '', d)}"
102 102
103# fb implementation of v4l2 uses libdrm 103# fb implementation of v4l2 uses libdrm
104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" 104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
@@ -111,20 +111,9 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plu
111 111
112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " 112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" 113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
114SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 114SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
115SRCREV = "d8727edd56536a5c39de7905f073fce61896c0af" 115SRCREV = "33b2732b873758a302064818b35dcad41b5bbc14"
116 116
117# set 32bit compile timer for 32-bit platform
118GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
119GLIBC_64BIT_TIME_FLAGS:mx7-nxp-bsp = ""
120INSANE_SKIP:mx6-nxp-bsp:append = " 32bit-time"
121INSANE_SKIP:mx7-nxp-bsp:append = " 32bit-time"
122
123# GCC-14 otherwise errors out
124CFLAGS += " \
125 -Wno-error=implicit-function-declaration \
126 -Wno-error=incompatible-pointer-types \
127"
128S = "${WORKDIR}/git" 117S = "${WORKDIR}/git"
129 118
130COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 119COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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 1b9278db..00000000
--- 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 456f0762..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
+++ /dev/null
@@ -1,109 +0,0 @@
1From 330e15374bb30ac29ee72c4b3de79c17b1157112 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH] tests: add support for install the tests
5
6This will provide to run the tests using the gnome-desktop-testing [1]
7
8[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13
14---
15 meson.build | 4 ++++
16 meson_options.txt | 1 +
17 tests/check/meson.build | 21 ++++++++++++++++++++-
18 tests/check/template.test.in | 3 +++
19 4 files changed, 28 insertions(+), 1 deletion(-)
20 create mode 100644 tests/check/template.test.in
21
22diff --git a/meson.build b/meson.build
23index 540d6d290e10..0267f22a79ea 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -624,6 +624,10 @@ if bashcomp_dep.found()
27 endif
28 endif
29
30+installed_tests_enabled = get_option('installed_tests')
31+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
32+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
33+
34 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
35
36 pkgconfig = import('pkgconfig')
37diff --git a/meson_options.txt b/meson_options.txt
38index 340fb5801d02..5b87f68e8d7f 100644
39--- a/meson_options.txt
40+++ b/meson_options.txt
41@@ -16,6 +16,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
42 option('memory-alignment', type: 'combo',
43 choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
44 value: 'malloc')
45+option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests')
46
47 # Feature options
48 option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
49diff --git a/tests/check/meson.build b/tests/check/meson.build
50index e9501feb2af5..fd5a99611e3d 100644
51--- a/tests/check/meson.build
52+++ b/tests/check/meson.build
53@@ -125,10 +125,16 @@ test_defines = [
54 '-UG_DISABLE_ASSERT',
55 '-UG_DISABLE_CAST_CHECKS',
56 '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
57- '-DTESTFILE="' + fsmod.as_posix(meson.current_source_dir()) + '/meson.build"',
58 '-DGST_DISABLE_DEPRECATED',
59 ]
60
61+testfile = meson.current_source_dir() + '/meson.build'
62+if installed_tests_enabled
63+ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile')
64+ testfile = installed_tests_metadir + '/testfile'
65+endif
66+test_defines += '-DTESTFILE="@0@"'.format(testfile)
67+
68 # sanity checking
69 if get_option('check').disabled()
70 if get_option('tests').enabled()
71@@ -151,6 +157,8 @@ foreach t : core_tests
72 include_directories : [configinc],
73 link_with : link_with_libs,
74 dependencies : gst_deps + test_deps,
75+ install_dir: installed_tests_execdir,
76+ install: installed_tests_enabled,
77 )
78
79 env = environment()
80@@ -161,6 +169,17 @@ foreach t : core_tests
81 env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
82 env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
83 env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
84+ if installed_tests_enabled
85+ test_conf = configuration_data()
86+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
87+ test_conf.set('program', test_name)
88+ configure_file(
89+ input: 'template.test.in',
90+ output: test_name + '.test',
91+ install_dir: installed_tests_metadir,
92+ configuration: test_conf
93+ )
94+ endif
95
96 test(test_name, exe, env: env, timeout : 3 * 60)
97 endif
98diff --git a/tests/check/template.test.in b/tests/check/template.test.in
99new file mode 100644
100index 000000000000..f701627f87a6
101--- /dev/null
102+++ b/tests/check/template.test.in
103@@ -0,0 +1,3 @@
104+[Test]
105+Type=session
106+Exec=@installed_tests_dir@/@program@
107--
1082.39.2
109
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
deleted file mode 100644
index 83f3870c..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From 1f13b802bdb1c1e414c70f770dc164c80e0dcd57 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 24 Apr 2021 10:34:47 +0100
4Subject: [PATCH 3/4] tests: use a dictionaries for environment
5
6meson environment() can't be passed to configure_file and it is needed for installed_tests,
7use a dictionary as this is simplest solution to install the environment.
8
9Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
10
11Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
12---
13 tests/check/meson.build | 22 ++++++++++++++--------
14 1 file changed, 14 insertions(+), 8 deletions(-)
15
16diff --git a/tests/check/meson.build b/tests/check/meson.build
17index fd5a99611e3d..330abaaeadd5 100644
18--- a/tests/check/meson.build
19+++ b/tests/check/meson.build
20@@ -161,14 +161,20 @@ foreach t : core_tests
21 install: installed_tests_enabled,
22 )
23
24- env = environment()
25- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
26- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
27- env.set('GST_STATE_IGNORE_ELEMENTS', '')
28- env.set('CK_DEFAULT_TIMEOUT', '20')
29- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
30- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
31- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
32+ # meson environment object can't be passed to configure_file and
33+ # installed tests uses configure_file to install the environment.
34+ # use a dictionary as this is the simplest solution
35+ # to install the environment.
36+ env = {
37+ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(),
38+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
39+ 'GST_STATE_IGNORE_ELEMENTS': '',
40+ 'CK_DEFAULT_TIMEOUT': '20',
41+ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name),
42+ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner',
43+ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer',
44+ }
45+
46 if installed_tests_enabled
47 test_conf = configuration_data()
48 test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
49--
502.39.2
51
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
deleted file mode 100644
index 0a312389..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1From 616c489d4ff1e7ed878bc3760180ba994fbd1974 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 2 May 2021 01:58:01 +0100
4Subject: [PATCH 4/4] tests: add helper script to run the installed_tests
5
6- this is a bash script that will run the installed_tests
7with some of the environment variables used in the meson
8testing framework.
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13---
14 tests/check/meson.build | 17 +++++++++++++++++
15 tests/check/template.sh.in | 9 +++++++++
16 tests/check/template.test.in | 2 +-
17 3 files changed, 27 insertions(+), 1 deletion(-)
18 create mode 100644 tests/check/template.sh.in
19
20diff --git a/tests/check/meson.build b/tests/check/meson.build
21index 330abaaeadd5..5d383b14dc29 100644
22--- a/tests/check/meson.build
23+++ b/tests/check/meson.build
24@@ -185,6 +185,23 @@ foreach t : core_tests
25 install_dir: installed_tests_metadir,
26 configuration: test_conf
27 )
28+
29+ # All the tests will be deployed on the target machine and
30+ # we use the home folder ~ for the registry which will then expand at runtime.
31+ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly
32+ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry
33+ # that is useful for debug propose of the tests itself.
34+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
35+
36+ # Set the full path for the test it self.
37+ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)}
38+
39+ configure_file(
40+ input : 'template.sh.in',
41+ output: test_name + '.sh',
42+ install_dir: installed_tests_execdir,
43+ configuration : env,
44+ )
45 endif
46
47 test(test_name, exe, env: env, timeout : 3 * 60)
48diff --git a/tests/check/template.sh.in b/tests/check/template.sh.in
49new file mode 100644
50index 000000000000..cf7d31b0ea5f
51--- /dev/null
52+++ b/tests/check/template.sh.in
53@@ -0,0 +1,9 @@
54+#!/bin/sh
55+
56+set -ax
57+
58+CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@"
59+GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@"
60+GST_REGISTRY=@GST_REGISTRY@
61+GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@"
62+exec @TEST@
63diff --git a/tests/check/template.test.in b/tests/check/template.test.in
64index f701627f87a6..b74ef6ad732a 100644
65--- a/tests/check/template.test.in
66+++ b/tests/check/template.test.in
67@@ -1,3 +1,3 @@
68 [Test]
69 Type=session
70-Exec=@installed_tests_dir@/@program@
71+Exec=@installed_tests_dir@/@program@.sh
72--
732.39.2
74
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
index 43cb6a4a..51a12f30 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
@@ -26,8 +26,8 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x
26 file://run-ptest \ 26 file://run-ptest \
27 file://0001-tests-respect-the-idententaion-used-in-meson.patch \ 27 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
28 file://0002-tests-add-support-for-install-the-tests.patch \ 28 file://0002-tests-add-support-for-install-the-tests.patch \
29 file://0003-tests-use-a-dictionaries-for-environment.patch \ 29 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch \ 30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
31 " 31 "
32SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61" 32SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
33 33
@@ -92,14 +92,21 @@ LIC_FILES_CHKSUM = " \
92" 92"
93 93
94# Use i.MX fork of GST for customizations 94# Use i.MX fork of GST for customizations
95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" 95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
96 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
97 file://0002-tests-add-support-for-install-the-tests.patch \
98 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
99 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
100"
96SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 101SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
97GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" 102GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
98SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 103SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
99SRCREV = "eb286c0766a4fbbae70c8e9dda074f5a90e52e42" 104SRCREV = "1a8f23da16cd224574ab2386803149c76f2cb628"
100 105
101S = "${WORKDIR}/git" 106S = "${WORKDIR}/git"
102 107
108PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled"
109
103COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 110COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
104 111
105########### End of i.MX overrides ######### 112########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
index e5898077..16710ec3 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -24,21 +24,21 @@ DEPENDS:append:imxvpu = " imx-vpuwrap"
24DEPENDS:append:imxfbdev:imxgpu = " libdrm" 24DEPENDS:append:imxfbdev:imxgpu = " libdrm"
25DEPENDS_IMXGPU = "" 25DEPENDS_IMXGPU = ""
26DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}" 26DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}"
27DEPENDS_IMX_OPENCL_CONVERTER = "" 27DEPENDS_IMX_OPENCL_CONVERTER = "imx-opencl-converter"
28DEPENDS_IMX_OPENCL_CONVERTER:mx8-nxp-bsp = "imx-opencl-converter" 28DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" 30DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
30DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter"
31 31
32# For backwards compatibility 32# For backwards compatibility
33RREPLACES:${PN} = "gst1.0-fsl-plugin" 33RREPLACES:${PN} = "gst1.0-fsl-plugin"
34RPROVIDES:${PN} = "gst1.0-fsl-plugin" 34RPROVIDES:${PN} = "gst1.0-fsl-plugin"
35RCONFLICTS:${PN} = "gst1.0-fsl-plugin" 35RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
36 36
37PV = "4.9.1+git${SRCPV}" 37PV = "4.9.2+git${SRCPV}"
38 38
39SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" 39SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
40SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 40SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
41SRCREV = "87135d5f084b6c61efa6671cddc3a5509ab11640" 41SRCREV = "ef9c1a080e739e6f0be878148d9f4a050dc83bec"
42 42
43S = "${WORKDIR}/git" 43S = "${WORKDIR}/git"
44 44
@@ -54,15 +54,6 @@ PLATFORM:mx7ulp-nxp-bsp= "MX7ULP"
54PLATFORM:mx8-nxp-bsp = "MX8" 54PLATFORM:mx8-nxp-bsp = "MX8"
55PLATFORM:mx9-nxp-bsp = "MX9" 55PLATFORM:mx9-nxp-bsp = "MX9"
56 56
57CFLAGS:append:toolchain-clang = " -Wno-implicit-int -Wno-int-conversion -Wno-incompatible-function-pointer-types"
58# GCC-14 otherwise errors out
59CFLAGS += " \
60 -Wno-error=int-conversion \
61 -Wno-error=incompatible-pointer-types \
62 -Wno-error=return-mismatch \
63 -Wno-error=implicit-function-declaration \
64"
65
66# Todo add a mechanism to map possible build targets 57# Todo add a mechanism to map possible build targets
67EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ 58EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
68 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 59 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb
index eef96e56..e1028779 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb
@@ -11,7 +11,7 @@ DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
11PV .= "+git${SRCPV}" 11PV .= "+git${SRCPV}"
12 12
13SRCBRANCH ?= "master" 13SRCBRANCH ?= "master"
14SRCREV = "8639837a246f8d85fba8a707c130239aeabc0a19" 14SRCREV = "37095a854aa176bb763a25ce98ceb6a787501271"
15SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" 15SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
16 16
17S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
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 78ff6989..00000000
--- 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 79544711..00000000
--- 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 7d8492b7..00000000
--- 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 dfedd186..00000000
--- 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 2f36551a..00000000
--- 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 5cad5ba6..00000000
--- a/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1DESCRIPTION = "A library to handle compressed formats like MP3 etc."
2LICENSE = "LGPL-2.1-only | BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://COPYING;md5=cf9105c1a2d4405cbe04bbe3367373a0"
4DEPENDS = "alsa-lib"
5
6SRC_URI = "git://git.alsa-project.org/http/tinycompress.git;protocol=https;branch=master \
7 file://0001-tinycompress-Add-id3-decoding.patch \
8 file://0002-cplay-Support-wave-file.patch \
9 file://0003-cplay-Add-pause-feature.patch \
10 file://0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch \
11 file://0005-cplay-Support-aac-streams.patch \
12"
13SRCREV = "995f2ed91045dad8c20485ab1a64727d22cd92e5"
14S = "${WORKDIR}/git"
15
16inherit autotools pkgconfig
diff --git a/recipes-multimedia/tinycompress/tinycompress_1.2.5.bb b/recipes-multimedia/tinycompress/tinycompress_1.2.5.bb
new file mode 100644
index 00000000..f37e786b
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress_1.2.5.bb
@@ -0,0 +1,18 @@
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
16S = "${WORKDIR}/git"
17
18inherit autotools pkgconfig
diff --git a/scripts/generate-license-file b/scripts/generate-license-file
index 2f4e9766..02b45ab3 100755
--- a/scripts/generate-license-file
+++ b/scripts/generate-license-file
@@ -1,5 +1,7 @@
1#!/bin/bash 1#!/bin/bash
2 2
3export LC_ALL=C
4
3# Create or clear the LICENSE file 5# Create or clear the LICENSE file
4echo "# License Information" > LICENSE 6echo "# License Information" > LICENSE
5echo "" >> LICENSE 7echo "" >> LICENSE
@@ -7,7 +9,7 @@ echo "This file lists all licenses used by recipes in the meta-freescale layer."
7echo "" >> LICENSE 9echo "" >> LICENSE
8 10
9# Find all .bb and .inc files and extract license information 11# Find all .bb and .inc files and extract license information
10find . -type f \( -name "*.bb" -o -name "*.inc" \) | while read -r file; do 12find . -type f \( -name "*.bb" -o -name "*.inc" \) | sort | while read -r file; do
11 # Extract the license line from each recipe file, if it exists 13 # Extract the license line from each recipe file, if it exists
12 license_line=$(grep -i "^LICENSE" "$file") 14 license_line=$(grep -i "^LICENSE" "$file")
13 if [ -n "$license_line" ]; then 15 if [ -n "$license_line" ]; then
diff --git a/wic/imx-imx-boot-bootpart.wks.in b/wic/imx-imx-boot-bootpart.wks.in
index e8e6e891..46a2a0a6 100644
--- a/wic/imx-imx-boot-bootpart.wks.in
+++ b/wic/imx-imx-boot-bootpart.wks.in
@@ -14,7 +14,7 @@
14# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual 14# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual
15# 15#
16part u-boot --source rawcopy --sourceparams="file=imx-boot.tagged" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK} 16part u-boot --source rawcopy --sourceparams="file=imx-boot.tagged" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK}
17part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 8192 --size 256 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