aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--EULA121
-rw-r--r--SCR/SCR-6.1.55-2.2.0.txt (renamed from SCR/SCR-5.15.5-1.0.0.txt)917
-rw-r--r--classes/fsl-dynamic-packagearch.bbclass11
-rw-r--r--classes/fsl-eula-unpack.bbclass103
-rw-r--r--classes/fsl-kernel-localversion.bbclass42
-rw-r--r--classes/fsl-u-boot-localversion.bbclass19
-rw-r--r--classes/image_populate_mfgtool.bbclass139
-rw-r--r--classes/image_types_fsl.bbclass14
-rw-r--r--classes/imx-boot-container.bbclass42
-rw-r--r--classes/kernel-itbimage.bbclass493
-rw-r--r--classes/mfgtool-initramfs-image.bbclass7
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass14
-rw-r--r--classes/uuu_bootloader_tag.bbclass5
-rw-r--r--conf/layer.conf20
-rw-r--r--conf/machine/imx23evk.conf4
-rw-r--r--conf/machine/imx28evk.conf4
-rw-r--r--conf/machine/imx51evk.conf2
-rw-r--r--conf/machine/imx53qsb.conf4
-rw-r--r--conf/machine/imx6qdlsabreauto.conf32
-rw-r--r--conf/machine/imx6qdlsabresd.conf26
-rw-r--r--conf/machine/imx6slevk.conf3
-rw-r--r--conf/machine/imx6sllevk.conf6
-rw-r--r--conf/machine/imx6sxsabreauto.conf3
-rw-r--r--conf/machine/imx6sxsabresd.conf3
-rw-r--r--conf/machine/imx6ulevk.conf20
-rw-r--r--conf/machine/imx6ullevk.conf11
-rw-r--r--conf/machine/imx6ulz-14x14-evk.conf2
-rw-r--r--conf/machine/imx7dsabresd.conf22
-rw-r--r--conf/machine/imx7ulpevk.conf3
-rw-r--r--conf/machine/imx8dx-mek.conf1
-rw-r--r--conf/machine/imx8dxl-a1-ddr3l-evk.conf9
-rw-r--r--conf/machine/imx8dxl-a1-lpddr4-evk.conf9
-rw-r--r--conf/machine/imx8dxl-b0-ddr3l-evk.conf11
-rw-r--r--conf/machine/imx8dxl-b0-lpddr4-evk.conf11
-rw-r--r--conf/machine/imx8dxl-ddr3l-evk.conf11
-rw-r--r--conf/machine/imx8mm-ddr4-evk.conf11
-rw-r--r--conf/machine/imx8mm-lpddr4-evk.conf40
-rw-r--r--conf/machine/imx8mn-lpddr4-evk.conf4
-rw-r--r--conf/machine/imx8mnul-ddr3l-evk.conf69
-rw-r--r--conf/machine/imx8mp-lpddr4-evk.conf66
-rw-r--r--conf/machine/imx8mq-evk.conf9
-rw-r--r--conf/machine/imx8mq-lpddr4-wevk.conf19
-rw-r--r--conf/machine/imx8qm-mek.conf44
-rw-r--r--conf/machine/imx8qxp-mek.conf27
-rw-r--r--conf/machine/imx8ulp-lpddr4-evk.conf27
-rw-r--r--conf/machine/imx93-11x11-lpddr4x-evk.conf34
-rw-r--r--conf/machine/imx93-14x14-lpddr4x-evk.conf31
-rw-r--r--conf/machine/imx93-9x9-lpddr4-qsb.conf30
-rw-r--r--conf/machine/include/imx-base.inc395
-rw-r--r--conf/machine/include/imx8dxl-ddr3l-evk.inc9
-rw-r--r--conf/machine/include/imx8dxl-evk.inc2
-rw-r--r--conf/machine/include/imx8dxl-lpddr4-evk.inc (renamed from conf/machine/imx8dxl-lpddr4-evk.conf)10
-rw-r--r--conf/machine/include/imx8mm-evk.inc19
-rw-r--r--conf/machine/include/imx8mn-evk.inc23
-rw-r--r--conf/machine/include/imx8mp-evk.inc9
-rw-r--r--conf/machine/include/imx8ulp-evk.inc44
-rw-r--r--conf/machine/include/imx8x-mek.inc2
-rw-r--r--conf/machine/include/imx93-evk.inc39
-rw-r--r--conf/machine/include/qoriq-base.inc2
-rw-r--r--conf/machine/ls1021atwr.conf35
-rw-r--r--conf/machine/ls1046ardb.conf1
-rw-r--r--conf/machine/ls2080ardb.conf20
-rw-r--r--conf/machine/ls2088ardb.conf2
-rw-r--r--conf/machine/mpc8548cds.conf1
-rw-r--r--custom-licenses/Freescale-EULA214
-rw-r--r--dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini1
-rw-r--r--dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend20
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/vlc/vlc_%.bbappend2
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch56
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb5
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb6
-rw-r--r--dynamic-layers/openembedded-layer/recipes-multimedia/mpv/mpv_%.bbappend2
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc4
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch25
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch25
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend9
-rw-r--r--dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend54
-rw-r--r--dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend6
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend4
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf (renamed from recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.conf)0
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf271
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.4.inc10
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.6.inc12
-rw-r--r--recipes-bsp/atf/qoriq-atf-tools_2.6.bb (renamed from recipes-bsp/atf/qoriq-atf-tools_2.4.bb)6
-rw-r--r--recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch35
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.6.bb (renamed from recipes-bsp/atf/qoriq-atf_2.4.bb)31
-rw-r--r--recipes-bsp/boot-format/boot-format/flags.patch7
-rw-r--r--recipes-bsp/boot-format/boot-format_git.bb2
-rw-r--r--recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb30
-rw-r--r--recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb29
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb32
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.22.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.15.inc)8
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb23
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb24
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.22.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.15.bb)26
-rw-r--r--recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb143
-rw-r--r--recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb (renamed from recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb)6
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb61
-rw-r--r--recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb31
-rw-r--r--recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb2
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.8.bb (renamed from recipes-bsp/imx-atf/imx-atf_2.4.bb)44
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch1
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs_git.bb7
-rw-r--r--recipes-bsp/imx-lib/imx-lib_git.bb24
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch28
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch62
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch71
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch75
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch55
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bb257
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.bb14
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.inc13
-rw-r--r--recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb (renamed from recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.12.1.bb)22
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch57
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs_git.bb15
-rw-r--r--recipes-bsp/imx-seco/imx-seco_5.9.0.bb (renamed from recipes-bsp/imx-seco/imx-seco_3.8.5.bb)13
-rw-r--r--recipes-bsp/imx-test/imx-test_git.bb27
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_git.bb6
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb (renamed from recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.7.0.bb)8
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb (renamed from recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.2.bb)8
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb (renamed from recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.25.0.bb)6
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb3
-rw-r--r--recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb (renamed from recipes-bsp/isp-imx/basler-camera_4.2.2.16.0.bb)11
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch44
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch28
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb94
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb105
-rw-r--r--recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb22
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.0.bb65
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb89
-rw-r--r--recipes-bsp/mc-utils/mc-utils_git.bb6
-rw-r--r--recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch1
-rw-r--r--recipes-bsp/rcw/rcw_git.bb7
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc (renamed from recipes-bsp/u-boot/u-boot-fslc-common_2022.04.inc)10
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb8
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc-mxsboot_2022.04.bb)14
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2024.01.bb (renamed from recipes-bsp/u-boot/u-boot-fslc_2022.04.bb)10
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc18
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc25
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb12
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2021.04.bb41
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2023.04.bb63
-rw-r--r--recipes-bsp/u-boot/u-boot-mfgtool.inc21
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb4
-rw-r--r--recipes-bsp/uefi/uefi_git.bb2
-rw-r--r--recipes-core/udev/udev-rules-qoriq.bb1
-rw-r--r--recipes-devtools/qemu/qemu-qoriq_4.2.bb2
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch (renamed from recipes-devtools/cst/cst/0001-tools-Mark-struct-input_field-file_field-extern.patch)0
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst_git.bb (renamed from recipes-devtools/cst/cst_git.bb)6
-rw-r--r--recipes-devtools/uuu/files/0001-remove-unnecessary-libzip-dependency.patch135
-rw-r--r--recipes-devtools/uuu/uuu-bin_1.5.165.bb35
-rw-r--r--recipes-devtools/uuu/uuu_git.bb14
-rw-r--r--recipes-downgrade/spir/spirv-headers_1.3.239.0.imx.bb18
-rw-r--r--recipes-downgrade/spir/spirv-tools_1.3.239.0.imx.bb42
-rw-r--r--recipes-downgrade/vulkan/vulkan-headers_1.3.239.0.imx.bb23
-rw-r--r--recipes-downgrade/vulkan/vulkan-loader_1.3.239.0.imx.bb38
-rw-r--r--recipes-downgrade/vulkan/vulkan-tools_1.3.239.0.imx.bb32
-rw-r--r--recipes-downgrade/vulkan/vulkan-validation-layers_1.3.239.0.imx.bb52
-rw-r--r--recipes-dpaa/eth-config/eth-config_git.bb6
-rw-r--r--recipes-dpaa/flib/flib_git.bb2
-rw-r--r--recipes-dpaa/fm-ucode/fm-ucode_git.bb6
-rw-r--r--recipes-dpaa/fmlib/fmlib_git.bb9
-rw-r--r--recipes-dpaa2/aiopsl/aiopsl_git.bb2
-rw-r--r--recipes-dpaa2/dce/dce_git.bb6
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-remove-libio.h.patch1
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb2
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.14.1.bb41
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.20.4.bb41
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.29.0.bb41
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.37.0.bb (renamed from recipes-dpaa2/management-complex/management-complex_10.24.0.bb)7
-rw-r--r--recipes-dpaa2/restool/files/disable-manpage-generation.patch1
-rw-r--r--recipes-dpaa2/restool/restool_git.bb8
-rw-r--r--recipes-dpaa2/spc/spc_git.bb6
-rw-r--r--recipes-extended/dpdk/dpdk-20.11.inc2
-rw-r--r--recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch1
-rw-r--r--recipes-extended/dpdk/dpdk.inc5
-rw-r--r--recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch1
-rw-r--r--recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch1
-rw-r--r--recipes-extended/dpdk/dpdk/0001-examples-fix-Arm-build-with-GCC-12.patch49
-rw-r--r--recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch5
-rw-r--r--recipes-extended/dpdk/dpdk_19.11-20.12.bb3
-rw-r--r--recipes-extended/ipc-ust/ipc-ust/Makefile-use-LDFLAGS-if-set.patch1
-rw-r--r--recipes-extended/ipc-ust/ipc-ust_git.bb52
-rw-r--r--recipes-extended/jailhouse/files/arm-arm64-Makefile-Remove-march-option-from-Makefile.patch40
-rw-r--r--recipes-extended/jailhouse/jailhouse-imx_git.bb (renamed from recipes-extended/jailhouse/jailhouse_0.12.bb)78
-rw-r--r--recipes-extended/jailhouse/jailhouse/0001-tools-scripts-update-shebang-to-python3.patch69
-rw-r--r--recipes-extended/libpkcs11/libpkcs11_git.bb2
-rw-r--r--recipes-extended/odp/odp.inc9
-rw-r--r--recipes-extended/odp/odp/0001-Fix-this-build-error.patch1
-rw-r--r--recipes-extended/odp/odp_git.bb1
-rw-r--r--recipes-extended/ofp/ofp_git.bb2
-rw-r--r--recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb2
-rw-r--r--recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch1
-rw-r--r--recipes-extended/secure-obj/secure-obj.inc2
-rw-r--r--recipes-extended/skmm-ep/skmm-ep/add-two-missing-header-files.patch3
-rw-r--r--recipes-extended/skmm-ep/skmm-ep_git.bb2
-rw-r--r--recipes-extended/testfloat/files/SoftFloat-powerpc-1.patch1
-rw-r--r--recipes-extended/testfloat/files/TestFloat-powerpc-E500v2-SPE-1.patch1
-rw-r--r--recipes-extended/testfloat/files/Yocto-replace-COMPILE_PREFIX-gcc.patch1
-rw-r--r--recipes-extended/tsntool/tsntool/0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch29
-rw-r--r--recipes-extended/tsntool/tsntool_git.bb10
-rw-r--r--recipes-fsl/mcore-demos/README13
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb15
-rw-r--r--recipes-fsl/mcore-demos/imx-m33-demos_2.14.2.bb12
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb28
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb19
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb11
-rw-r--r--recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb19
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb15
-rw-r--r--recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb12
-rw-r--r--recipes-fsl/mcore-demos/imx-mcore-demos.inc61
-rw-r--r--recipes-graphics/cairo/cairo_%.bbappend7
-rw-r--r--recipes-graphics/drm/libdrm_2.4.115.imx.bb (renamed from recipes-graphics/drm/libdrm_2.4.109.imx.bb)42
-rw-r--r--recipes-graphics/glew/glew_%.bbappend1
-rw-r--r--recipes-graphics/gtk+/gtk+3_%.bbappend4
-rw-r--r--recipes-graphics/harfbuzz/harfbuzz_%.bbappend5
-rw-r--r--recipes-graphics/imx-g2d/imx-dpu-g2d_2.0.0.bb27
-rw-r--r--recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.10.bb38
-rw-r--r--recipes-graphics/imx-g2d/imx-g2d-samples_2.0.0.bb32
-rw-r--r--recipes-graphics/imx-g2d/imx-g2d-samples_git.bb68
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.2.bb44
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.3.p4.0.bb33
-rw-r--r--recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb28
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb13
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc249
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json7
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch32.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch64.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch32.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch64.bb6
-rw-r--r--recipes-graphics/libva/libva_%.bbappend1
-rw-r--r--recipes-graphics/mesa/libglu_%.bbappend1
-rw-r--r--recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch84
-rw-r--r--recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch2
-rw-r--r--recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch3
-rw-r--r--recipes-graphics/mesa/mesa-demos_%.bbappend31
-rw-r--r--recipes-graphics/pango/pango_%.bbappend5
-rw-r--r--recipes-graphics/piglit/piglit_%.bbappend6
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_%.bbappend3
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.3.239.0.imx.bbappend7
-rw-r--r--recipes-graphics/waffle/waffle/0001-meson-Add-missing-wayland-dependency-on-EGL.patch14
-rw-r--r--recipes-graphics/wayland/required-distro-features.inc8
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.32.imx.bb (renamed from recipes-graphics/wayland/wayland-protocols_1.25.imx.bb)11
-rw-r--r--recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch41
-rw-r--r--recipes-graphics/wayland/wayland/run-ptest17
-rw-r--r--recipes-graphics/wayland/wayland_1.22.0.imx.bb67
-rw-r--r--recipes-graphics/wayland/weston-10.0.4.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch41
-rw-r--r--recipes-graphics/wayland/weston-10.0.4.imx/0001-g2d-renderer.c-Include-sys-stat.h.patch34
-rw-r--r--recipes-graphics/wayland/weston-init.bbappend106
-rw-r--r--recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini12
-rw-r--r--recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch41
-rw-r--r--recipes-graphics/wayland/weston/0001-g2d-renderer-Add-vsync-to-cloned-displays.patch102
-rw-r--r--recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch52
-rw-r--r--recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch32
-rw-r--r--recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch199
-rw-r--r--recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch23
-rw-r--r--recipes-graphics/wayland/weston/xwayland.weston-start3
-rw-r--r--recipes-graphics/wayland/weston_10.0.4.imx.bb (renamed from recipes-graphics/wayland/weston_9.0.0.imx.bb)83
-rw-r--r--recipes-graphics/wayland/weston_11.0.3.imx.bb188
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf2
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/vf-generic-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/vf/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch10
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch30
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch (renamed from recipes-graphics/xwayland/xwayland/0002-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch)15
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch34
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch44
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch49
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch47
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch116
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch47
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch322
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch31
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch132
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch265
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch287
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch669
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend17
-rw-r--r--recipes-graphics/xwayland/xwayland_23.1.1.imx.bb53
-rw-r--r--recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend (renamed from recipes-graphics/xwayland/xwayland_%.bbappend)10
-rw-r--r--recipes-kernel/ceetm/ceetm_git.bb9
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ar_git.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch4
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb (renamed from recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p2.4+fslc.bb)2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb (renamed from recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p4.0.bb)14
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ipc-multi_git.bb13
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ipc-single_git.bb13
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ipc.inc2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.16.0.bb19
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.0.bb20
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb2
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb22
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb17
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-perf-qoriq_0.8.2.bb18
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-scatter-gather_git.bb12
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb2
-rw-r--r--recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig584
-rw-r--r--recipes-kernel/linux/linux-fslc-imx/mx8-nxp-bsp/defconfig982
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.1.bb (renamed from recipes-kernel/linux/linux-fslc-imx_5.10.bb)57
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-mfgtool_5.10.bb15
-rw-r--r--recipes-kernel/linux/linux-fslc-lts/armv8a/defconfig1097
-rw-r--r--recipes-kernel/linux/linux-fslc-lts/defconfig481
-rw-r--r--recipes-kernel/linux/linux-fslc-lts/mxs-generic-bsp/defconfig180
-rw-r--r--recipes-kernel/linux/linux-fslc-lts_6.1.bb41
-rw-r--r--recipes-kernel/linux/linux-fslc-mfgtool_5.15.bb15
-rw-r--r--recipes-kernel/linux/linux-fslc.inc10
-rw-r--r--recipes-kernel/linux/linux-fslc/armv8a/defconfig1216
-rw-r--r--recipes-kernel/linux/linux-fslc/defconfig480
-rw-r--r--recipes-kernel/linux/linux-fslc/mxs-generic-bsp/defconfig174
-rw-r--r--recipes-kernel/linux/linux-fslc_5.15.bb27
-rw-r--r--recipes-kernel/linux/linux-fslc_6.6.bb (renamed from recipes-kernel/linux/linux-fslc-lts_5.10.bb)22
-rw-r--r--recipes-kernel/linux/linux-imx-headers_6.1.bb (renamed from recipes-kernel/linux/linux-imx-headers_5.15.bb)11
-rw-r--r--recipes-kernel/linux/linux-imx-mfgtool_5.15.bb14
-rw-r--r--recipes-kernel/linux/linux-imx.inc35
-rw-r--r--recipes-kernel/linux/linux-imx/imx-nxp-bsp/defconfig587
-rw-r--r--recipes-kernel/linux/linux-imx/mx8-nxp-bsp/defconfig1040
-rw-r--r--recipes-kernel/linux/linux-imx_6.1.bb (renamed from recipes-kernel/linux/linux-imx_5.15.bb)26
-rw-r--r--recipes-kernel/linux/linux-mfgtool.inc7
-rw-r--r--recipes-kernel/linux/linux-qoriq/0001-Makfefile-linux-5.4-add-warning-cflags-on-LSDK-20.04.patch26
-rw-r--r--recipes-kernel/linux/linux-qoriq/0001-libtraceevent-Fix-build-with-binutils-2.35.patch38
-rw-r--r--recipes-kernel/linux/linux-qoriq/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch239
-rw-r--r--recipes-kernel/linux/linux-qoriq/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch68
-rw-r--r--recipes-kernel/linux/linux-qoriq/0001-perf-tests-bp_account-Make-global-variable-static.patch42
-rw-r--r--recipes-kernel/linux/linux-qoriq_5.10.bb2
-rw-r--r--recipes-kernel/skmm-host/skmm-host_git.bb2
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch2
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch67
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch2
-rw-r--r--recipes-multimedia/alsa/alsa-lib_%.bbappend1
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_git.bb19
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch38
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch49
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb)20
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb52
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch88
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch42
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch31
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb)59
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend17
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb)53
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb)44
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb)18
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc19
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc73
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb)23
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb)16
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb64
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch69
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch)16
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch110
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch)59
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch)28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch74
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch107
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch58
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb)32
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch33
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch28
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch44
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch87
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch28
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch61
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch30
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch32
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch41
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch28
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch34
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb (renamed from recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb)47
-rw-r--r--recipes-multimedia/imx-codec/imx-codec_4.8.2.bb (renamed from recipes-multimedia/imx-codec/imx-codec_4.6.2.bb)32
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb21
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.6.bb27
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb45
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_2.1.6.bb57
-rw-r--r--recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb2
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.1.bb18
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.8.2.bb (renamed from recipes-multimedia/imx-parser/imx-parser_4.6.2.bb)10
-rw-r--r--recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb18
-rw-r--r--recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb22
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb (renamed from recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb)9
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb (renamed from recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb)7
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch32
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch (renamed from recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch)0
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf2
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa2
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio_%.bbappend24
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch1
-rw-r--r--recipes-sato/webkit/webkitgtk_%.bbappend4
-rw-r--r--recipes-security/optee-imx/optee-client-fslc-imx.inc7
-rw-r--r--recipes-security/optee-imx/optee-client-fslc.inc (renamed from recipes-security/optee-imx/optee-client_3.15.0.imx.bb)22
-rw-r--r--recipes-security/optee-imx/optee-client_4.0.0.imx.bb7
-rw-r--r--recipes-security/optee-imx/optee-fslc.inc26
-rw-r--r--recipes-security/optee-imx/optee-os-fslc-imx.inc26
-rw-r--r--recipes-security/optee-imx/optee-os-fslc.inc87
-rw-r--r--recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch245
-rw-r--r--recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch34
-rw-r--r--recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch133
-rw-r--r--recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch67
-rw-r--r--recipes-security/optee-imx/optee-os_3.15.0.imx.bb104
-rw-r--r--recipes-security/optee-imx/optee-os_4.0.0.imx.bb12
-rw-r--r--recipes-security/optee-imx/optee-test-fslc.inc38
-rw-r--r--recipes-security/optee-imx/optee-test_3.15.0.imx.bb66
-rw-r--r--recipes-security/optee-imx/optee-test_4.0.0.imx.bb10
-rw-r--r--recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb (renamed from recipes-security/optee/optee-client-qoriq_3.13.0.bb)0
-rw-r--r--recipes-security/optee-qoriq/optee-client.nxp.inc (renamed from recipes-security/optee/optee-client.nxp.inc)2
-rw-r--r--recipes-security/optee-qoriq/optee-client/tee-supplicant.service (renamed from recipes-security/optee/optee-client/tee-supplicant.service)0
-rw-r--r--recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb (renamed from recipes-security/optee/optee-os-qoriq_3.13.0.bb)0
-rw-r--r--recipes-security/optee-qoriq/optee-os.nxp.inc (renamed from recipes-security/optee/optee-os.nxp.inc)2
-rw-r--r--recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb (renamed from recipes-security/optee/optee-test-qoriq_3.13.0.bb)0
-rw-r--r--recipes-security/optee-qoriq/optee-test.nxp.inc (renamed from recipes-security/optee/optee-test.nxp.inc)2
-rw-r--r--recipes-security/smw/keyctl-caam_git.bb23
-rw-r--r--recipes-security/smw/smw_git.bb64
-rw-r--r--recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch1
-rw-r--r--recipes-support/opencv/opencv/0001-Add-missing-header-for-LIBAVCODEC_VERSION_INT.patch26
-rw-r--r--recipes-support/opencv/opencv/0001-Add-smaller-version-of-download_models.py.patch1
-rw-r--r--recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch1
-rw-r--r--recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch1
-rw-r--r--recipes-support/opencv/opencv/OpenCV_DNN_examples.patch26
-rw-r--r--recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch408
-rw-r--r--recipes-support/opencv/opencv_4.6.0.imx.bb (renamed from recipes-support/opencv/opencv_4.5.2.imx.bb)93
-rw-r--r--wic/imx-imx-boot.wks.in19
-rw-r--r--wic/imx-uboot-mxs-bootpart.wks.in2
431 files changed, 8318 insertions, 14555 deletions
diff --git a/EULA b/EULA
index d847ba48..8bdf1341 100644
--- a/EULA
+++ b/EULA
@@ -1,8 +1,8 @@
-LA_OPT_NXP_Software_License v34 February 2022
+LA_OPT_NXP_Software_License v49 September 2023
IMPORTANT. Read the following NXP Software License Agreement ("Agreement")
completely. By selecting the "I Accept" button at the end of this page, or by
downloading, installing, or using the Licensed Software, you indicate that you
-accept the terms of the Agreement and you acknowledge that you have the
+accept the terms of the Agreement, and you acknowledge that you have the
authority, for yourself or on behalf of your company, to bind your company to
these terms. You may then download or install the file. In the event of a
conflict between the terms of this Agreement and any license terms and
@@ -109,13 +109,13 @@ Section 2, are contained in Appendix A. The Licensed Software may be
accompanied by a Software Content Register which will identify that portion of
the Licensed Software, if any, that is subject to the different terms in
Appendix A.
-2.5. You may use subcontractors on your premises to exercise your
-rights under Section 2.2 and Section 2.3, if any, so long as you have an
-agreement in place with the subcontractor containing confidentiality
-restrictions no less stringent than those contained in this Agreement. You will
-remain liable for your subcontractors' adherence to the terms of this Agreement
-and for any and all acts and omissions of such subcontractors with respect to
-this Agreement and the Licensed Software.
+2.5. You may use subcontractors to exercise your rights under Section
+2.2 and Section 2.3, if any, so long as you have an agreement in place with the
+subcontractor containing confidentiality restrictions no less stringent than
+those contained in this Agreement. You will remain liable for your
+subcontractors' adherence to the terms of this Agreement and for any and all
+acts and omissions of such subcontractors with respect to this Agreement and
+the Licensed Software.
3. LICENSE LIMITATIONS AND RESTRICTIONS.
3.1. The licenses granted above in Section 2 only extend to NXP
Intellectual Property Rights that would be infringed by the unmodified Licensed
@@ -243,8 +243,8 @@ SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
12. EXPORT COMPLIANCE. Each party shall comply with all applicable
export and import control laws and regulations including but not limited to the
US Export Administration Regulation (including restrictions on certain military
-end uses and military end users as specified in Section 15 C.F.R. § 744.21 and
-prohibited party lists issued by other federal governments), Catch-all
+end uses and military end users as specified in Section 15 C.F.R. § 744.21
+and prohibited party lists issued by other federal governments), Catch-all
regulations and all national and international embargoes. Each party further
agrees that it will not knowingly transfer, divert, export or re-export,
directly or indirectly, any product, software, including software source code,
@@ -288,7 +288,7 @@ assumes all risk related to use of the Licensed Software in Critical
Applications and NXP SHALL NOT BE LIABLE FOR ANY SUCH USE IN CRITICAL
APPLICATIONS BY LICENSEE. Accordingly, Licensee will indemnify and hold NXP
harmless from any claims, liabilities, damages and associated costs and
-expenses (including attorneys' fees) that NXP may incur related to Licensee’s
+expenses (including attorneys' fees) that NXP may incur related to Licensee's
incorporation of the Licensed Software in a Critical Application.
15. CHOICE OF LAW; VENUE. This Agreement will be governed by,
construed, and enforced in accordance with the laws of The Netherlands, without
@@ -343,13 +343,15 @@ examination or audit.
22. NOTICES. All notices and communications under this
Agreement will be made in writing, and will be effective when received at the
following addresses:
- NXP: NXP B.V.
- High Tech Campus 60
- 5656 AG Eindhoven
- The Netherlands
- ATTN: Legal Department
+NXP:
+NXP B.V.
+High Tech Campus 60
+5656 AG Eindhoven
+The Netherlands
+ATTN: Legal Department
- You: The address provided at registration will be used.
+You:
+The address provided at registration will be used.
23. RELATIONSHIP OF THE PARTIES. The parties are independent
contractors. Nothing in this Agreement will be construed to create any
@@ -363,9 +365,9 @@ or delayed. NXP may assign this Agreement, or any part of this Agreement, in
its sole discretion.
25. PRIVACY. By agreeing to this Agreement and/or utilizing the Licensed
Software, Licensee consents to use of certain personal information, including
-but not limited to name, email address, and location, for the purpose of
-NXP’s internal analysis regarding future software offerings. NXP’s
-complete Privacy Statement can be found at:
+but not limited to name, email address, and location, for the purpose of NXP's
+internal analysis regarding future software offerings. NXP's complete Privacy
+Statement can be found at:
https://www.nxp.com/company/our-company/about-nxp/privacy-statement:PRIVACYPRACT
ICES.
@@ -380,17 +382,27 @@ Party Software or specific components of the NXP proprietary software, the
following terms apply to the extent they deviate from the terms in the
Agreement:
+AGGIOS, Inc.: EnergyLab LITE and Seed software are distributed by NXP under
+license from AGGIOS, Inc. Your use of AGGIOS software, as the Licensee, is
+subject to the following: (i) use of AGGIOS software is limited to object code
+and Authorized System only; (ii) Licensee may not sublicense the AGGIOS
+software to any third party; (iii) Licensee is only granted an evaluation
+license for the Seed software, defined as license to use the Seed software
+internally for own evaluation purposes, limited to three (3) months. Further
+rights including but not limited to production deployment must be obtained
+directly from AGGIOS, Inc.
+
Airbiquity Inc.: The Airbiquity software may only be used in object code and
Licensee may not sublicense the Airbiquity software to any third party.
-Licensee’s license to use the Airbiquity software expires on June 30, 2023.
+Licensee's license to use the Airbiquity software expires on June 30, 2024.
Amazon: Use of the Amazon software constitutes your acceptance of the terms of
the Amazon Program Materials License Agreement (including the AVS Component
Schedule, if applicable), located at
https://developer.amazon.com/support/legal/pml. All Amazon software is hereby
designated "Amazon confidential". With the exception of the binary library of
-the Amazon Wake Word Engine for “Alexa”, all Amazon software is also hereby
-designated as “Restricted Program Materials”. Amazon is a third-party
+the Amazon Wake Word Engine for "Alexa", all Amazon software is also hereby
+designated as "Restricted Program Materials". Amazon is a third-party
beneficiary to this Agreement with respect to the Amazon software.
Amazon Web Services, Inc.: AWS is an intended third-party beneficiary to this
@@ -407,6 +419,9 @@ Any dispute or claim relating to your use of the Greengrass software will be
resolved by binding arbitration, rather than in court, except that you may
assert claims in small claims court if your claims qualify.
+Amazon: AWS Fleetwise software must be used consistent with the terms found
+here: https://github.com/aws/aws-iot-fleetwise-edge/blob/main/LICENSE.
+
Amphion Semiconductor Ltd.: Distribution of Amphion software must be a part of,
or embedded within, Authorized Systems that include an Amphion Video Decoder.
@@ -420,6 +435,14 @@ software to an NXP Product which mates with an Aquantia device.
Argus Cyber Security: The Argus software may only be used in object code and
only for evaluation and demonstration purposes.
+Arm Toolkit: This tool is owned by Arm Limited. You may not reverse engineer,
+decompile or dissemble any ARM Toolkit. You agree to abide by any third-party
+IP requirements, including the relevant license terms where applicable, where
+such third-party IP is identified in the documentation provided with the ARM
+Toolkit. You may not copy the Arm Toolkit except solely for archival and backup
+purposes provided all notices are preserved. Arm disclaims any and all
+liability related to your use of the ARM Toolkit.
+
Atheros: Use of Atheros software is limited to evaluation and demonstration
only. Permitted distributions must be similarly limited. Further rights must
be obtained directly from Atheros.
@@ -450,6 +473,13 @@ distribution of one copy embedded in a single NXP Product. Your use of Cadence
NatureDSP Libraries whether in source code or in binary is restricted to NXP
SoC based systems or emulation enablement based on NXP SoC.
+CEVA D.S.P. Ltd. And CEVA Technologies Inc. ("CEVA"): The CEVA-SPF2 linear
+algebra, CEVA-SPF2 Neural Network Libraries, CEVA-SPF2 Core Libraries,
+CEVA-SPF2 OpenAMP and CEVA-SPF2 STL licensed modules are owned by CEVA and such
+materials may only be used in connection with an NXP product containing the
+S250 or S125 integrated circuits, whether or not the CEVA-SPF2 Core is
+physically implemented and/or enabled on such NXP product
+
Cirque Corporation: Use of Cirque Corporation technology is limited to
evaluation, demonstration, or certification testing only. Permitted
distributions must be similarly limited. Further rights, including but not
@@ -460,6 +490,10 @@ Coding Technologies (Dolby Labs): Use of CTS software is limited to evaluation
and demonstration only. Permitted distributions must be similarly limited.
Further rights must be obtained from Dolby Laboratories.
+Coremark: Use of the Coremark benchmarking software is subject to the
+following terms and conditions:
+https://github.com/eembc/coremark/blob/main/LICENSE.md
+
CSR: Use of Cambridge Silicon Radio, Inc. ("CSR") software is limited to
evaluation and demonstration only. Permitted distributions must be similarly
limited. Further rights must be obtained directly from CSR.
@@ -472,8 +506,8 @@ Cypress Semiconductor Corporation: WWD RTOS source code may only be used in
accordance with the Cypress IOT Community License Agreement obtained directly
from Cypress Semiconductor Corporation.
-Elektrobit Automotive GmbH (“EB”): EB software must be used consistent with
-the EB License Terms and Conditions, Version 1.4 (Dec 2019) found here:
+Elektrobit Automotive GmbH ("EB"): EB software must be used consistent with the
+EB License Terms and Conditions, Version 1.4 (Dec 2019) found here:
https://www.elektrobit.com/legal-notice/ . Licensee is only granted an
evaluation license for the EB software, defined as license to use the EB
software internally for own evaluation purposes, limited to three (3) months.
@@ -505,10 +539,16 @@ Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is
limited to evaluation and demonstration only. Permitted distributions must be
similarly limited. Further rights must be obtained from Global Locate.
-LC3plus: LC3plus short frame audio codec features as defined in ETSI TS 103634
-are included in the code. To enable the LC3plus features in a final product, a
-license has to be obtained from Fraunhofer. More information can be found on
-the following web page:
+IAR Systems: Use of IAR flashloader or any IAR source code is subject to the
+terms of the IAR Source License located within the IAR zip package. The IAR
+Source License applies to linker command files, example projects unless another
+license is explicitly stated, the cstartup code, low_level_init.c, and some
+other low-level runtime library files.
+
+LC3plus: the LC3plus Low Complexity Communication Codec Plus (LC3plus) per ETSI
+TS 103 634 V1.3.1, is subject to ETSI Intellectual Property Rights Policy, See
+https://portal.etsi.org/directives/45_directives_jun_2022.pdf. For application
+in an End Product, Fraunhofer communication applies, see
https://www.iis.fraunhofer.de/en/ff/amm/communication/lc3.html
Microsoft: Except for Microsoft PlayReady software, if the Licensed Software
@@ -553,6 +593,11 @@ MQX RTOS Code: MQX RTOS source code may not be re-distributed by any NXP
Licensee under any circumstance, even by a signed written amendment to this
Agreement.
+NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to
+Intent, and Conversa may be used for evaluation or demonstration purposes only.
+Any commercial distribution rights are subject to a separate royalty agreement
+obtained from NXP.
+
NXP Wireless Charging Library: License to the Software is limited to use in
inductive coupling or wireless charging applications
@@ -587,6 +632,13 @@ commercial use and distribution of products containing the GStreamer Optimized
Real Format Client Code implementation or OpenMax Optimized Real Format Client
Code
+Real-Time Innovations, Inc.: Not withstanding anything in this Agreement,
+Real-Time Innovations, Inc. software must be used strictly in accordance with
+Real-Time Innovations, Inc.'s Automotive Software Evaluation License Agreement,
+available here:
+https://www.rti.com/hubfs/_Collateral/Services_and_Support/Automotive_Evaluation
+_SLA_90_dayNXP.pdf . Any other use is expressly prohibited.
+
RivieraWaves SAS (a member of the CEVA, Inc. family of companies): You may not
use the RivieraWaves intellectual property licensed under this Agreement if you
develop, market, and/or license products similar to such RivieraWaves
@@ -616,6 +668,15 @@ Cortex-M3, Cortex-M4, Cortex-M33, Cortex-M7, and Cortex-A7 based products only.
SEGGER Microcontroller - J-Link/J-Trace Software: Segger software must be used
consistent with the terms found here: http://www.segger.com/jlink-software.html
+Synopsys/BLE Software: Your use of the Synopsys/BLE Software and related
+documentation is subject to the following:
+(1) Synopsys is third-party beneficiaries of, and thus may enforce against you,
+the license restrictions and confidentiality obligations in this agreement with
+respect to their intellectual property and proprietary information.
+(2) Your distribution of the Licensed Software shall subject any recipient to a
+written agreement at least as protective of the Licensed Software as provided
+in this Agreement.
+
Synopsys/Target Compiler Technologies: Your use of the Synopsys/Target Compiler
Technologies Licensed Software and related documentation is subject to the
following:
diff --git a/SCR/SCR-5.15.5-1.0.0.txt b/SCR/SCR-6.1.55-2.2.0.txt
index 1b2ce60b..16ef4e8c 100644
--- a/SCR/SCR-5.15.5-1.0.0.txt
+++ b/SCR/SCR-6.1.55-2.2.0.txt
@@ -1,41 +1,42 @@
NXP Software Content Register
-Release - Linux 5.15.5-1.0.0
- March 2022
+Release - Linux 6.1.55-2.2.0
+ December 2023
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 - Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
Yocto Project recipe manifest:
-repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-honister -m imx_5.15.5-1.0.0.xml
+repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml
-Release tag: rel_imx_5.15.5-1.0.0
+Release tag: lf-6.1.55-2.2.0
+Release Location: https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX
--------------------------------------------
BSP Packages
--------------------------------------------
Package: linux-imx.git
-Version: 5.15
+Version: 6.1
Outgoing License: GPL-2.0 WITH Linux-syscall-note
License File: COPYING
Package Category: BSP
Type of Content: source
Description and comments: The Linux kernel with i.MX-specific drivers
-Release Location: https://source.codeaurora.org/external/imx/linux-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/linux-imx -b lf-6.1.55-2.2.0
Origin: NXP (GPL-2.0)
kernel.org (GPL-2.0) - https://www.kernel.org/
--------------------------------------------
Package: uboot-imx.git
-Version: 2021.04
+Version: 2023.04
Outgoing License: GPL-2.0
License File: Licenses/gpl-2.0.txt
Package Category: BSP
Type of Content: source
Description and comments: Bootloader with i.MX-specific capabilities
-Release Location: https://source.codeaurora.org/external/imx/uboot-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/uboot-imx -b lf-6.1.55-2.2.0
Origin: NXP (GPL-2.0)
Das U-Boot - Universal Bootloader (GPL-2.0) - http://www.denx.de/wiki/U-Boot/WebHome
Android Open Source Project (BSD-2-Clause) - https://source.android.com/
@@ -44,95 +45,96 @@ Origin: NXP (GPL-2.0)
--------------------------------------------
Package: imx-atf.git
-Version: 2.4
+Version: 2.8
Outgoing License: BSD-3-Clause
License File: docs/license.rst
Package Category: BSP
Type of Content: source
Description and comments: ARM Trusted Firmware
-Release Location: https://source.codeaurora.org/external/imx/imx-atf -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-atf -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-clause)
arm-trusted-firmware - ARM Limited (BSD-3-clause) - http://github.com/ARM-software/arm-trusted-firmware/
--------------------------------------------
-Package: imx-sc-firmware-1.12.1.bin
-Version: 1.12.1
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-sc-firmware-1.15.0.bin
+Version: 1.15.0
+Outgoing License: LA_OPT_NXP_Software_License v39 August 2022 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: BSP
Type of Content: binary
Description and comments: System Controller Firmware
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
ARM CMSIS Library (BSD-3-clause) - https://silver.arm.com/
--------------------------------------------
-Package: firmware-imx-8.15.bin
-Version: 8.15
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: firmware-imx-8.22.bin
+Version: 8.22
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: BSP
Type of Content: binary
Description and comments: BSP firmware - DDR EPDC HDMI SDMA VPU
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
In addition, these components contain code from the companies listed below.
- DDR: origin: Synopsys DDR (proprietary)
- EASRC: origin: NXP (proprietary)
- EPDC: origin: E Ink Corporation (proprietary)
- HDMI: origin: Cadence Design Systems, Inc. (proprietary)
- SDMA: origin: NXP (proprietary)
- XCVR: origin: NXP (proprietary)
- XUVI: origin: NXP (proprietary)
+ DDR: origin: Synopsys DDR (LA_OPT_NXP_Software_License)
+ EASRC: origin: NXP (LA_OPT_NXP_Software_License)
+ EPDC: origin: E Ink Corporation (LA_OPT_NXP_Software_License)
+ HDMI: origin: Cadence Design Systems, Inc. (LA_OPT_NXP_Software_License)
+ SDMA: origin: NXP (LA_OPT_NXP_Software_License)
+ XCVR: origin: NXP (LA_OPT_NXP_Software_License)
+ XUVI: origin: NXP (LA_OPT_NXP_Software_License)
VPU: vpu_fw_imx27_TO1.bin
vpu_fw_imx27_TO2.bin
vpu_fw_imx51.bin
vpu_fw_imx53.bin
vpu_fw_imx6d.bin
vpu_fw_imx6q.bin
- origin: Chips & Media, Inc. (proprietary)
+ origin: Chips & Media, Inc. (LA_OPT_NXP_Software_License)
vpu_fw_imx8_dec.bin
vpu_fw_imx8_enc.bin
- origin: Amphion Semiconductor Ltd (proprietary)
+ origin: Amphion Semiconductor Ltd (LA_OPT_NXP_Software_License - see appendix)
--------------------------------------------
-Package: firmware-sentinel-0.3.bin
-Version: 0.3
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: firmware-ele-imx-0.1.0.bin
+Version: 0.1.0
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: BSP
Type of Content: binary
Description and comments: S400 firmware
Release Location: Mirror
Origin: NXP (proprietary)
+ CMSIS header files (Apache License 2.0; https://github.com/ARM-software/CMSIS_5)
--------------------------------------------
-Package: firmware-upower-0.1.2.bin
-Version: 0.1.2
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: firmware-upower-1.3.1.bin
+Version: 1.3.1
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: BSP
Type of Content: binary
Description and comments: uPower firmware
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
Package: imx-mkimage.git
Version:
Outgoing License: GPL-2.0
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: Make Image BootLoader
-Release Location: https://source.codeaurora.org/external/imx/imx-mkimage -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-mkimage -b lf-6.1.55-2.2.0
Origin: NXP (GPL-2.0)
Das U-Boot - Universal Bootloader (GPL-2.0) - http://www.denx.de/wiki/U-Boot/WebHome
@@ -141,11 +143,11 @@ Origin: NXP (GPL-2.0)
Package: imx-lib.git
Version:
Outgoing License: LGPL-2.1
-License File: COPYING-LGPL-2.1
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: BSP libraries
-Release Location: https://source.codeaurora.org/external/imx/imx-lib -b master
+Release Location: https://github.com/nxp-imx/imx-lib -b lf-6.1.55_2.2.0
Origin: NXP (LGPL-2.1)
--------------------------------------------
@@ -153,11 +155,11 @@ Origin: NXP (LGPL-2.1)
Package: imx-test.git
Version:
Outgoing License: Each test has its own license. It is one of GPL-2.0 LGPL-2.1 or Apache-2.0
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: Linux unit test applications
-Release Location: https://source.codeaurora.org/external/imx/imx-test -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-test -b lf-6.1.55-2.2.0
Origin: NXP (GPL-2.0)
module_test: NXP (GPL-2.0+)
Hantro Products Oy. (GPL-2.0+)
@@ -223,56 +225,56 @@ Origin: NXP (GPL-2.0)
Package: imx-firmware.git
Version:
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: EULA.txt
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
Package Category: BSP
Type of Content: binary
Description and comments: BSP firmware - Bluetooth and WIFI
Release Location: https://github.com/NXP/imx-firmware -b master
-Origin: brcm: Broadcom Corporation (proprietary)
- cyw-wifi-bt: Cypress Semiconductor Corporation (proprietary)
- nxp: NXP (proprietary)
+Origin: brcm: Broadcom Corporation (LA_OPT_NXP_Software_License - see appendix)
+ cyw-wifi-bt: Cypress Semiconductor Corporation (LA_OPT_NXP_Software_License - see appendix)
+ nxp: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
Package: mwifiex.git
Version:
Outgoing License: GPL-2.0
-License File: mxm_wifiex/wlan_src/gpl-2.0.txt
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: NXP Wi-Fi linux SDK
-Release Location: https://source.codeaurora.org/external/imx/mwifiex -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/mwifiex -b lf-6.1.55-2.2.0
Origin: NXP (GPL-2.0)
--------------------------------------------
-Package: imx-seco-3.8.5.bin
-Version: 3.8.5
-Outgoing License: LA_OPT_NXP_Software_License v33 January 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-seco-5.9.2.bin
+Version: 5.9.2
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: BSP
Type of Content: binary
Description and comments: BSP firmware - SECO
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
Package: imx-seco-libs.git
Version:
-Outgoing License: LA_OPT_NXP_Software_License v29 August 2021 - Additional distribution license granted - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v35 May 2022 Additional distribution license granted - Section 2.3 applies
License File: EULA.txt
Package Category: BSP
Type of Content: source
Description and comments: BSP source - SECO
-Release Location: https://github.com/NXP/imx-seco-libs.git -b rel_imx_5.15.5-1.0.0
-Origin: NXP (proprietary)
+Release Location: https://github.com/NXP/imx-seco-libs.git -b lf-6.1.55-2.2.0
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: sof-imx-2.0.0
-Version: 2.0.0
+Package: sof-imx-2.7.0
+Version: 2.7.0
Outgoing License: BSD-3-Clause
License File: LICENCE
Package Category: BSP
@@ -280,22 +282,46 @@ Type of Content: binary
Description and comments: Sound Open Firmware
Release Location: Mirror
Origin: NXP (BSD-3-clause)
- Intel Corporation (BSD-3-clause)
- Cadence Design Systems, Inc. (MIT)
- Ulf Magnusson (ISC)
- FreeBSD (BSD-2-clause)
- source code in: https://github.com/thesofproject/sof
+ sof (BSD-3-Clause) - https://github.com/thesofproject/sof
+
+--------------------------------------------
+
+Package: sof-zephyr-2.7.0
+Version: 2.7.0
+Outgoing License: BSD-3-Clause
+License File: LICENCE
+Package Category: BSP
+Type of Content: binary
+Description and comments: Sound Open Firmware with Zephyr
+Release Location: Mirror
+Origin: NXP (BSD-3-clause)
+ sof (BSD-3-Clause) - https://github.com/thesofproject/sof
+ zephyr project (Apache-2.0) - https://github.com/zephyrproject-rtos/zephyr
+
+--------------------------------------------
+
+Package: zephyr-demo-imx-3.5.0
+Version: 3.5.0
+Outgoing License: BSD-3-Clause
+License File: LICENCE
+Package Category: BSP
+Type of Content: binary
+Description and comments: Zephyr Demo for i.MX
+Release Location: Mirror
+Origin: NXP (BSD-3-clause)
+ zephyr project (Apache-2.0) - https://github.com/zephyrproject-rtos/zephyr
+
--------------------------------------------
Package: simg2img.git
Version:
Outgoing License: Apache-2.0
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: Tool to convert Android sparse images to raw images
-Release Location: https://source.codeaurora.org/external/imx/simg2img -b master
+Release Location: https://github.com/nxp-imx/simg2img -b master
Origin: NXP (Apache-2.0)
The Android Open Source Project (Apache-2.0) - https://android.googlesource.com/platform/system/core/+/master/libsparse
Gary S Brown (Public Domain) - http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/libkern/crc32.c?txt
@@ -305,11 +331,11 @@ Origin: NXP (Apache-2.0)
Package: imx-kobs.git
Version:
Outgoing License: GPL-2.0
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: NAND boot writer
-Release Location: https://github.com/NXPmicro/imx-kobs -b master
+Release Location: https://github.com/nxp-imx/imx-kobs -b master
Origin: NXP (GPL-2.0)
AES (BSD-3-Clause) - http://brgladman.org/oldsite/AES/
Secure Hash Algorithm Implementation (Public Domain) - http://www.nic.funet.fi/pub/crypt/hash/sha/
@@ -320,36 +346,36 @@ Origin: NXP (GPL-2.0)
Package: imx-uuc.git
Version:
Outgoing License: GPL-2.0
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: A daemon for mfgtools.
-Release Location: https://github.com/NXPmicro/imx-uuc -b master
+Release Location: https://github.com/nxp-imx/imx-uuc -b master
Origin: NXP (GPL-2.0)
--------------------------------------------
Package: imx-optee-client.git
-Version: 3.15.0.imx
+Version: 4.0.0.imx
Outgoing License: BSD-2-Clause
License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: Open Portable Trusted Execution Environment for TEE Client library
-Release Location: https://source.codeaurora.org/external/imx/imx-optee-client -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-optee-client -b lf-6.1.55-2.2.0
Origin: NXP (BSD-2-Clause)
optee_client (BSD-2-Clause) - https://github.com/OP-TEE/optee_client
--------------------------------------------
Package: imx-optee-os.git
-Version: 3.15.0.imx
+Version: 4.0.0.imx
Outgoing License: BSD-2-Clause
License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: Open Portable Trusted Execution Environment for Linux on ARM
-Release Location: https://source.codeaurora.org/external/imx/imx-optee-os -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-optee-os -b lf-6.1.55-2.2.0
Origin: NXP (BSD-2-Clause)
OP-TEE Trusted OS (BSD-2-Clause) - https://github.com/OP-TEE/optee_os
Mbed TLS (Apache-2.0) - https://github.com/ARMmbed/mbedtls/
@@ -357,66 +383,63 @@ Origin: NXP (BSD-2-Clause)
--------------------------------------------
Package: imx-optee-test.git
-Version: 3.15.0.imx
+Version: 4.0.0.imx
Outgoing License: BSD-2-Clause (ta/) and GPL-2.0 (host/)
License File: LICENSE.md
Package Category: BSP
Type of Content: source
Description and comments: Open Portable Trusted Execution Environment sanity tests
-Release Location: https://source.codeaurora.org/external/imx/imx-optee-test -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-optee-test -b lf-6.1.55-2.2.0
Origin: NXP (BSD-2-Clause)
optee_test (BSD-2-Clause) - https://github.com/OP-TEE/optee_test
--------------------------------------------
Package: imx-jailhouse.git
-Version: 0.12
+Version: git
Outgoing License: GPL-2.0
License File: COPYING
Package Category: BSP
Type of Content: source
Description and comments: A partitioning Hypervisor based on Linux
-Release Location: https://source.codeaurora.org/external/imx/imx-jailhouse -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-jailhouse -b lf-6.1.55-2.2.0
Origin: NXP (GPL-2.0)
Siemens AG (GPL-2.0) - https://github.com/siemens/jailhouse
--------------------------------------------
-Package: imx8ulp-m33-demo-2.11.1.bin
-Version: 2.11.1
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
+Package: imx-secure-enclave.git
+Version:
+Outgoing License: BSD-3-Clause Additional distribution license granted - Section 2.3 applies
+License File: LICENSE
Package Category: BSP
-Type of Content: binary
-Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M33 core
-Release Location: Mirror
-Origin: NXP (proprietary)
- ARM LIMITED (BSD-3-Clause)
- Real Time Engineers, Ltd (MIT) - https://aws.amazon.com/freertos/
- Mentor Graphics, Ltd. (BSD-3-Clause) - https://github.com/OpenAMP/open-amp/
+Type of Content: source
+Description and comments: i.MX secure enclave library
+Release Location: https://github.com/NXP/imx-secure-enclave.git -b lf-6.1.55-2.2.0
+Origin: NXP (BSD-3-Clause)
--------------------------------------------
-Package: ml-security-1.0.6.bin
-Version: 1.0.6
-Outgoing License: LA_OPT_NXP_Software_License v30 October 2021 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
+Package: imx-smw.git
+Version: 0.1
+Outgoing License: BSD-3-Clause
+License File: LICENSE
Package Category: BSP
-Type of Content: binary
-Description and comments: Machine Learning Security
-Release Location: Mirror
-Origin: NXP (NXP Proprietary)
+Type of Content: source
+Description and comments: NXP i.MX Security Middleware Library
+Release Location: https://github.com/nxp-imx/imx-smw -b lf-6.1.55-2.2.0
+Origin: NXP (BSD-3-Clause)
--------------------------------------------
-Package: imx-smw.git
-Version: 0.1
+Package: itest.git
+Version:
Outgoing License: BSD-3-Clause
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
-Description and comments: NXP i.MX Security Middleware Library
-Release Location: https://source.codeaurora.org/external/imx/imx-smw -b rel_imx_5.15.5-1.0.0
+Description and comments: Tools to test EdgeLock Enclave api bridge on the ele_libs layer
+Release Location: https://github.com/nxp-imx/itest -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
--------------------------------------------
@@ -424,24 +447,66 @@ Origin: NXP (BSD-3-Clause)
Package: keyctl_caam.git
Version:
Outgoing License: BSD-3-Clause
-License File: COPYING
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: NXP i.MX keyctl tool to manage CAAM Keys
-Release Location: https://source.codeaurora.org/external/imx/keyctl_caam -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/keyctl_caam -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
--------------------------------------------
+Package: el2go-agent.git
+Version:
+Outgoing License: Apache-2.0
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: Contains communication protocol stack
+Release Location: https://github.com/NXP/el2go-agent -b lf-6.1.55-2.2.0
+Origin: NXP(Apache-2.0)
+ Mbed-TLS(Apache-2.0) - https://github.com/Mbed-TLS/mbedtls
+ nanopb(zlib License) - https://cocoapods.org/pods/nanopb
+
+
+--------------------------------------------
+
+Package: se05x-openssl-provider.git
+Version: 1.0.0
+Outgoing License: Apache-2.0
+License File: LICENSE.txt
+Package Category: BSP
+Type of Content: source
+Description and comments: se05x openssl provider
+Release Location: https://github.com/NXPPlugNTrust/se05x-openssl-provider -b lf-6.1.55-2.2.0
+Origin: NXP (Apache-2.0)
+ OpenSSL 1.1 (OpenSSL) - https://github.com/openssl/openssl/tree/OpenSSL_1_1_1-stable
+
+--------------------------------------------
+
+Package: plug-and-trust.git
+Version: v04.04.00
+Outgoing License: Apache-2.0
+License File: LICENSE.txt
+Package Category: BSP
+Type of Content: source
+Description and comments: Plug & Trust ECC example for SE050
+Release Location: https://github.com/NXP/plug-and-trust
+Origin: NXP (Apache-2.0)
+ MbedTLS (Apache-2.0) - https://github.com/Mbed-TLS/mbedtls
+ OpenSSL 1.1 (OpenSSL) - https://github.com/openssl/openssl/tree/OpenSSL_1_1_1-stable
+
+--------------------------------------------
+
Package: ecdsa-lib-imx-3.3.2.3.bin
Version: 3.3.2.3
-Outgoing License: LA_OPT_NXP_Software_License v30 October 2021 - Additional distribution license granted - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v30 October 2021 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: BSP
Type of Content: binary
Description and comments: 2X signature verification library
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
trace - NXP (BSD-3-clause)
--------------------------------------------
@@ -449,11 +514,11 @@ Origin: NXP (proprietary)
Package: v2xsehsm.git
Version:
Outgoing License: BSD-3-Clause
-License File: BSD-3-Clause.txt
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: V2X Secure Element library
-Release Location: https://source.codeaurora.org/external/imx/v2xsehsm -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/v2xsehsm -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
--------------------------------------------
@@ -461,23 +526,23 @@ Origin: NXP (BSD-3-Clause)
Package: vtest.git
Version:
Outgoing License: BSD-3-Clause
-License File: BSD-3-Clause.txt
+License File: LICENSE
Package Category: BSP
Type of Content: source
Description and comments: V2X Test Suite
-Release Location: https://source.codeaurora.org/external/imx/vtest -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/vtest -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
--------------------------------------------
Package: dpdk.git
-Version: 21.11
+Version: 22.11
Outgoing License: BSD-3-Clause
License File: license/bsd-3-clause.txt
Package Category: BSP
Type of Content: source
Description and comments: Data Plane Development Kit
-Release Location: https://source.codeaurora.org/external/qoriq/qoriq-components/dpdk -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-qoriq/dpdk -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
DPDK - Intel Corporation (BSD-3-Clause) - https://github.com/DPDK/dpdk
KNI Linux Device driver - Intel Corporation (GPL-2.0) Separate component of DPDK
@@ -485,43 +550,56 @@ Origin: NXP (BSD-3-Clause)
--------------------------------------------
+
+Package: dpdk-extras.git
+Version: git
+Outgoing License: GPL-2.0
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: Kernel module for dpdk
+Release Location: https://github.com/nxp-qoriq/dpdk-extras -b lf-6.1.55-2.2.0
+Origin: NXP (GPL-2.0 or BSD-3-Clause)
+ DPDK-kmods (GPL-2.0) - http://git.dpdk.org/dpdk-kmods/
+
+--------------------------------------------
Graphics Packages
--------------------------------------------
Package: isp-vvcam.git
-Version: 4.2.2.17.0
+Version: 4.2.2.24.0
Outgoing License: GPL-2.0
License File: vvcam/LICENSE
Package Category: Graphics
Type of Content: ISP Kernel Module source
Description and comments: Kernel Loadable Module for ISP
-Release Location: https://source.codeaurora.org/external/imx/isp-vvcam -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/isp-vvcam -b lf-6.1.55-2.2.0
Origin: VeriSilicon Holdings Co., Ltd. (GPL-2.0)
--------------------------------------------
-Package: isp-imx-4.2.2.17.0.bin
-Version: 4.2.2.17.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: isp-imx-4.2.2.24.0.bin
+Version: 4.2.2.24.0
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary and source
Description and comments: i.MX software ISP
Release Location: Mirror
-Origin: VeriSilicon Holdings Co., Ltd. (proprietary)
+Origin: VeriSilicon Holdings Co., Ltd. (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: basler-camera-4.2.2.17.0.bin
-Version: 4.2.2.17.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: basler-camera-4.2.2.24.0.bin
+Version: 4.2.2.24.0
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary
Description and comments: Basler camera binary drivers
Release Location: Mirror
-Origin: Basler AG (proprietary)
- VeriSilicon Holdings Co., Ltd. (proprietary)
+Origin: Basler AG (LA_OPT_NXP_Software_License)
+ VeriSilicon Holdings Co., Ltd. (LA_OPT_NXP_Software_License)
--------------------------------------------
@@ -532,22 +610,22 @@ License File: LICENSE
Package Category: Graphics
Type of Content: source
Description and comments: GPU Core IP and test application source
-Release Location: https://source.codeaurora.org/external/imx/apitrace-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/apitrace-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
apitrace (MIT) - https://github.com/apitrace/apitrace
--------------------------------------------
-Package: imx-gpu-viv-6.4.3.p4.0-aarch32.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-gpu-viv-6.4.11.p2.2-aarch32.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary and source
Description and comments: GPU Core IP in binary and test application source
Release Location: Mirror
-Origin: NXP (proprietary)
- Verisilicon (formerly Vivante Corp.) (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
+ Verisilicon (formerly Vivante Corp.) (LA_OPT_NXP_Software_License - see appendix)
opengleskul (MIT) - https://code.google.com/archive/p/opengleskul/
The Khronos Group Inc. (MIT) - http://www.khronos.org/opencl/
Mesa3D - Mesa Lib [GL3ext header] (SGI-B-2.0) - http://mesa3d.sourceforge.net/
@@ -557,16 +635,16 @@ Origin: NXP (proprietary)
--------------------------------------------
-Package: imx-gpu-viv-6.4.3.p4.0-aarch64.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-gpu-viv-6.4.11.p2.2-aarch64.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary and source
Description and comments: GPU Core IP in binary and test application source
Release Location: Mirror
-Origin: NXP (proprietary)
- Verisilicon (formerly Vivante Corp.) (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
+ Verisilicon (formerly Vivante Corp.) (LA_OPT_NXP_Software_License - see appendix)
opengleskul (MIT) - https://code.google.com/archive/p/opengleskul/
The Khronos Group Inc. (MIT) - http://www.khronos.org/opencl/
Mesa3D - Mesa Lib [GL3ext header] (SGI-B-2.0) - http://mesa3d.sourceforge.net/
@@ -576,33 +654,14 @@ Origin: NXP (proprietary)
--------------------------------------------
-Package: xf86-video-imx-vivante.git
-Version: 6.4.0.p0.0
-Outgoing License: MIT
-License File: COPYING-MIT
-Package Category: Graphics
-Type of Content: source
-Description and comments: Xserver Library extensions
-Release Location: https://source.codeaurora.org/external/imx/xf86-video-imx-vivante -b rel_imx_5.15.5-1.0.0
-Origin: NXP (MIT)
- Vivante Corp. (MIT)
- xorg-server (MIT) - http://xorg.freedesktop.org/
- XFree86 Project (XFree86-1.0) - http://sourceforge.net/projects/xfree86/
-
- autohdmi utility (GPL-2.0) (source code for separate binary tool)
- NXP (GPL-2.0)
- X Consortium (MIT) - https://www.x.org/wiki/XConsortium/
-
---------------------------------------------
-
Package: gtec-demo-framework.git
-Version: 5.8.1
+Version: 6.2.1
Outgoing License: BSD-3-Clause
License File: License.md
Package Category: Graphics
Type of Content: source
Description and comments: Graphics sample applications
-Release Location: https://github.com/NXPmicro/gtec-demo-framework -b 5.8.1
+Release Location: https://github.com/nxp-imx/gtec-demo-framework -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-clause)
Demo Framework
Sascha Willems - Vulkan demo (MIT) - https://github.com/SaschaWillems/Vulkan
@@ -635,137 +694,162 @@ Origin: NXP (BSD-3-clause)
--------------------------------------------
-Package: imx-dpu-g2d-2.0.0.bin
-Version: 2.0.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
-Package Category: Graphics
-Type of Content: binary
-Description and comments: G2D implementation using DPU
-Release Location: Mirror
-Origin: NXP (proprietary)
-
---------------------------------------------
-
Package: libdrm-imx.git
-Version: 2.4.107.imx
+Version: 2.4.115.imx
Outgoing License: MIT
-License File: COPYING
+License File: LICENSE
Package Category: Graphics
Type of Content: source
Description and comments: i.MX DRM Direct Rendering Manager
-Release Location: https://source.codeaurora.org/external/imx/libdrm-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/libdrm-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
--------------------------------------------
Package: wayland-protocols-imx.git
-Version: 1.22.imx
+Version: 1.32.imx
Outgoing License: MIT
-License File: COPYING
+License File: LICENSE
Package Category: Graphics
Type of Content: source
Description and comments: Wayland protocol development
-Release Location: https://source.codeaurora.org/external/imx/wayland-protocols-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/wayland-protocols-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
Weston (MIT) - https://anongit.freedesktop.org/git/wayland/wayland-protocols.git
--------------------------------------------
Package: weston-imx.git
-Version: 9.0.0.imx
+Version: 11.0.3.imx
Outgoing License: MIT
-License File: COPYING
+License File: LICENSE
Package Category: Graphics
Type of Content: source
Description and comments: A reference implementation of a Wayland compositor
-Release Location: https://source.codeaurora.org/external/imx/weston-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/weston-imx -b lf-6.1.55-2.2.0
+Origin: NXP (MIT)
+ Weston (MIT) - http://github.com/wayland-project/weston/
+
+--------------------------------------------
+
+Package: weston-10-imx.git
+Version: 10.0.5.imx
+Outgoing License: MIT
+License File: LICENSE
+Package Category: Graphics
+Type of Content: source
+Description and comments: A reference implementation of a Wayland compositor
+Release Location: https://github.com/nxp-imx/weston-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
Weston (MIT) - http://github.com/wayland-project/weston/
--------------------------------------------
Package: imx-gputop.git
-Version: 6.4.3.p4.0
+Version: 6.4.11.p2.2
Outgoing License: MIT
License File: LICENSE.txt
Package Category: Graphics
Type of Content: source
Description and comments: Sample program to monitor i.MX GPU performance data
-Release Location: https://source.codeaurora.org/external/imx/imx-gputop -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-gputop -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
--------------------------------------------
-Package: imx-gpu-g2d-6.4.3.p4.0-arm.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-gpu-g2d-6.4.11.p2.2-arm.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary
Description and comments: Graphics 2D
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: imx-gpu-g2d-6.4.3.p4.0-aarch64.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-gpu-g2d-6.4.11.p2.2-aarch64.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary
Description and comments: Graphics 2D
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: imx-g2d-samples.git
-Version: 2.0.0
-Outgoing License: BSD-3-Clause
+Package: imx-dpu-g2d-2.1.10.bin
+Version: 2.1.10
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
+Type of Content: binary
+Description and comments: G2D implementation using DPU
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-g2d-pxp.git
+Version: 2.1.0
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
+Package Category: Graphics
+Type of Content: source
+Description and comments: G2D implementation using PXP
+Release Location: https://github.com/nxp-imx/imx-g2d-pxp -b lf-6.1.55-2.2.0
+Origin: NXP (Proprietary)
+
+--------------------------------------------
+
+Package: g2d-samples.git
+Version: 2.1
+Outgoing License: BSD-3-Clause
+License File: LICENSE
+Package Category: Graphics
Type of Content: source
Description and comments: Graphics G2D sample applications
-Release Location: https://source.codeaurora.org/external/imx/g2d-samples -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/g2d-samples -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
--------------------------------------------
-Package: libgpuperfcnt-6.4.3.p4.0-aarch64-wayland.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: libgpuperfcnt-6.4.11.p2.2-aarch64-wayland.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary
Description and comments: Library to retrieve i.MX GPU performance data
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: libgpuperfcnt-6.4.3.p4.0-arm-fb.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: libgpuperfcnt-6.4.11.p2.2-arm-fb.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary
Description and comments: Library to retrieve i.MX GPU performance data
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: libgpuperfcnt-6.4.3.p4.0-arm-wayland.bin
-Version: 6.4.3.p4.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: libgpuperfcnt-6.4.11.p2.2-arm-wayland.bin
+Version: 6.4.11.p2.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Graphics
Type of Content: binary
Description and comments: Library to retrieve i.MX GPU performance data
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
@@ -776,7 +860,7 @@ License File: LICENSE
Package Category: Graphics
Type of Content: source
Description and comments: i.MX Neural Networks Accelerator Plugin
-Release Location: https://source.codeaurora.org/external/imx/nn-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/nn-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
Vivante Corporation (MIT)
Boost Software (Boost) - https://www.boost.org/
@@ -788,13 +872,13 @@ Origin: NXP (MIT)
--------------------------------------------
Package: opencv-imx.git
-Version: 4.5.4.imx
+Version: 4.7.0.imx
Outgoing License: Apache-2.0
License File: LICENSE
Package Category: Graphics
Type of Content: source
Description and comments: i.MX OpenCV
-Release Location: https://source.codeaurora.org/external/imx/opencv-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/opencv-imx -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Cluse)
OpenCV Foundation (BSD-3-Clause) - https://github.com/opencv/opencv
Intel Corporation (BSD-3-Clause)
@@ -804,31 +888,18 @@ Origin: NXP (BSD-3-Cluse)
Itseez Inc. (BSD-3-Clause)
--------------------------------------------
-
-Package: arm-computelibrary-imx.git
-Version: 21.08
-Outgoing License: MIT
-License File: LICENSE
-Package Category: Graphics
-Type of Content: source
-Description and comments: ARM Compute Library fork
-Release Location: https://source.codeaurora.org/external/imx/arm-computelibrary-imx -b rel_imx_5.15.5-1.0.0
-Origin: NXP (MIT)
- ARM Software (MIT) - https://github.com/ARM-software/ComputeLibrary
-
---------------------------------------------
Multimedia Packages
--------------------------------------------
-Package: imx-codec-4.6.4.bin
-Version: 4.6.4
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-codec-4.8.2.bin
+Version: 4.8.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: i.MX multimedia codec libraries: Codecs and wrappers for: AAC AACD BMP BSAC DeInterlace FLAC GIF JPEG MP3 MP3d NB_AMR OGG PEQ PNG SBC SRC WB_AMR WBAMRD G.711 G.723 G.726 G.729ab
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
ISO/IEC 13818-7 and ISO/IEC 14496-3 standards
3GPP 26.173 standard
FLAC (BSD-3-clause) - https://sourceforge.net/projects/flac/
@@ -837,26 +908,26 @@ Origin: NXP (proprietary)
--------------------------------------------
-Package: imx-parser-4.6.4.bin
-Version: 4.6.4
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-parser-4.8.2.bin
+Version: 4.8.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: i.MX multimedia parser libraries: Parsers for: APE AVI FLV MKV MP3 MP4 MPG2 OGG
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
Package: imx-gst1.0-plugin.git
-Version: 4.6.4
+Version: git
Outgoing License: LGPL-2.1
-License File: COPYING-LGPL-2.1
+License File: LICENSE.txt
Package Category: Multimedia
Type of Content: source
Description and comments: i.MX Gstreamer 1.0 plugins
-Release Location: https://source.codeaurora.org/external/imx/imx-gst1.0-plugin -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/imx-gst1.0-plugin -b lf-6.1.55-2.2.0
Origin: NXP (LGPL-2.1)
Gstreamer plugins-Base (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
Gstreamer plugins-Good (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-good/
@@ -865,52 +936,52 @@ Origin: NXP (LGPL-2.1)
--------------------------------------------
Package: gstreamer.git
-Version: 1.18.5.imx
-Outgoing License: LGPL-2.0
-License File: COPYING
+Version: 1.22.5.imx
+Outgoing License: LGPL-2.1
+License File: LICENSE.txt
Package Category: Multimedia
Type of Content: source
Description and comments: Open Source Multimedia Farmework
-Release Location: https://source.codeaurora.org/external/imx/gstreamer -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/gstreamer -b lf-6.1.55-2.2.0
Origin: NXP (LGPL-2.1)
GStreamer (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gstreamer/
--------------------------------------------
Package: gst-plugins-good.git
-Version: 1.18.5.imx
+Version: 1.22.5.imx
Outgoing License: LGPL-2.1
-License File: COPYING
+License File: LICENSE.txt
Package Category: Multimedia
Type of Content: source
Description and comments: Gstreamer plugins with good quality code and correct functionality
-Release Location: https://source.codeaurora.org/external/imx/gst-plugins-good -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/gst-plugins-good -b lf-6.1.55-2.2.0
Origin: NXP (LGPL-2.1)
Gstreamer plugins-Good (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-good/
--------------------------------------------
Package: gst-plugins-base.git
-Version: 1.18.5.imx
-Outgoing License: LGPL-2.0
-License File: COPYING
+Version: 1.22.5.imx
+Outgoing License: LGPL-2.1
+License File: LICENSE.txt
Package Category: Multimedia
Type of Content: source
Description and comments: Collection of well-groomed and well-maintained Gstreamer plugins
-Release Location: https://source.codeaurora.org/external/imx/gst-plugins-base -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/gst-plugins-base -b lf-6.1.55-2.2.0
Origin: NXP (LGPL-2.1)
Gstreamer plugins-Base (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
--------------------------------------------
Package: gst-plugins-bad.git
-Version: 1.18.5.imx
-Outgoing License: LGPL-2.0
-License File: COPYING.LIB
+Version: 1.22.5.imx
+Outgoing License: LGPL-2.1
+License File: LICENSE.txt
Package Category: Multimedia
Type of Content: source
Description and comments: Gstreamer plug-ins that aren't up to par compared to the rest. Close to good quality but missing something.
-Release Location: https://source.codeaurora.org/external/imx/gst-plugins-bad -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/gst-plugins-bad -b lf-6.1.55-2.2.0
Origin: NXP (LGPL-2.1)
Gstreamer plugins-Bad (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
@@ -918,72 +989,84 @@ Origin: NXP (LGPL-2.1)
Package: imx-dspc-asrc-1.0.1.bin
Version: 1.0.1
-Outgoing License: LA_OPT_NXP_Software_License v8 June 2019 - Additional distribution license granted - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v8 June 2019 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: NXP Asynchronous Sample Rate Converter
Release Location: Mirror
-Origin: NXP (proprietary)
- DSP Concepts, Inc. (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
+ DSP Concepts, Inc. (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: imx-sw-pdm-1.0.2.bin
-Version: 1.0.2
-Outgoing License: LA_OPT_NXP_Software_License v30 October 2021 - Additional distribution license granted - Section 2.3 applies
+Package: imx-sw-pdm-1.0.3.bin
+Version: 1.0.3
+Outgoing License: LA_OPT_NXP_Software_License v45 May 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: NXP PDM to PCM Software Decimation SIMD Library
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-opencl-converter-0.1.bin
+Version: 0.1
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
+License File: COPYING
+Package Category: Multimedia
+Type of Content: binary
+Description and comments: i.MX multimedia opencl converter library
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
--------------------------------------------
Package: imx-vpuwrap.git
Version: git
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
Package Category: Multimedia
Type of Content: source
Description and comments: i.MX VPU wrapper library
-Release Location: https://github.com/NXP/imx-vpuwrap.git -b rel_imx_5.15.5-1.0.0
-Origin: NXP (proprietary)
+Release Location: https://github.com/NXP/imx-vpuwrap.git -b lf-6.1.55-2.2.0
+Origin: NXP (LA_OPT_NXP_Software_License)
sqlite (Public Domain) - http://www.hwaci.com/sw/sqlite/index.html
--------------------------------------------
Package: imx-vpu-5.4.39.3.bin
Version: 5.4.39.3
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Additional distribution license granted - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: VPU library
Release Location: Mirror
-Origin: NXP (proprietary)
- Chips & Media, Inc. (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
+ Chips & Media, Inc. (LA_OPT_NXP_Software_License)
--------------------------------------------
-Package: imx-vpu-hantro-1.25.0.bin
-Version: 1.25.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-vpu-hantro-1.31.0.bin
+Version: 1.31.0
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: VPU library
Release Location: Mirror
-Origin: VeriSilicon Inc. (proprietary)
+Origin: VeriSilicon Inc. (LA_OPT_NXP_Software_License)
The WebM project by Google Inc. (BSD-3-clause) https://bugs.chromium.org/p/webm/issues/list -- decoder_sw/software/source/vp9/; decoder_sw/software/test/common/vpxfilereader.c; decoder_sw/software/test/vp8/vp8filereader.c
MD5 - Command Line Mesage Digest Utility by Colin Plumb (Public Domain) http://www.fourmilab.ch/md5/ -- decoder_sw/software/test/common/swhw/md5.c&h
Khronos Group - OpenMAX (version?) (MIT) https://www.khronos.org/openmax/ -- openmax_il/headers/
--------------------------------------------
-Package: imx-vpu-hantro-daemon-1.1.2
-Version: 1.1.2
+Package: imx-vpu-hantro-daemon-1.1.9
+Version: 1.1.9
Outgoing License: MIT License
License File: LICENSE.txt
Package Category: Multimedia
@@ -996,15 +1079,15 @@ Origin: NXP (MIT)
--------------------------------------------
-Package: imx-vpu-hantro-vc-1.7.0.bin
-Version: 1.7.0
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-vpu-hantro-vc-1.9.1.bin
+Version: 1.9.1
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: VPU vc8000e encoder library
Release Location: Mirror
-Origin: VeriSilicon Inc. (proprietary)
+Origin: VeriSilicon Inc. (LA_OPT_NXP_Software_License)
Alliance for Open Media (BSD-2-clause, AFOM Patent License) - http://www.aomedia.org/
The WebM project by Google Inc. (BSD-3-clause) https://bugs.chromium.org/p/webm/issues/list
@@ -1013,40 +1096,40 @@ Origin: VeriSilicon Inc. (proprietary)
Package: imx-alsa-plugins.git
Version:
Outgoing License: GPL-2.0
-License File: COPYING.GPL
+License File: LICENSE
Package Category: Multimedia
Type of Content: source
Description and comments: Plugins for various audio libraries and sound servers
-Release Location: https://source.codeaurora.org/external/imx/imx-alsa-plugins -b nxp/master
+Release Location: https://github.com/nxp-imx/imx-alsa-plugins -b nxp/master
Origin: NXP (GPL-2.0)
Alsa Plugins (GPL-2.0+) - ftp://ftp.alsa-project.org/pub/plugins/
GNU libtool (GPL-2.0+) http://www.gnu.org/software/libtool/
--------------------------------------------
-Package: imx-dsp-1.2.1.bin
-Version: 1.2.1
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-dsp-2.1.6.bin
+Version: 2.1.6
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: Proprietary codecs and parsers
Release Location: Mirror
-Origin: NXP (proprietary)
- Cadence (MIT)
- Matt Redfearn (BSD-3-clause)
+Origin: NXP (LA_OPT_NXP_Software_License)
+ Cadence (MIT)
+ Matt Redfearn (BSD-3-clause)
--------------------------------------------
-Package: imx-dsp-codec-ext-1.2.1.bin
-Version: 1.2.1
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx-dsp-codec-ext-2.1.6.bin
+Version: 2.1.6
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: Multimedia
Type of Content: binary
Description and comments: Proprietary codecs and parsers
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
autoconf - Free Software Foundation (FSF All Permissive License)
X Consortium (MIT)
@@ -1059,22 +1142,38 @@ License File: LICENSE
Package Category: Multimedia
Type of Content: source
Description and comments: NXP Audio-Front-end is the software wrapper for ALSA
-Release Location: https://source.codeaurora.org/external/imx/nxp-afe -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/nxp-afe -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
--------------------------------------------
+
+Package: imx-voiceUI.git
+Version: 2.0
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
+Package Category: Multimedia
+Type of Content: source
+Description and comments: NXP RetuneDSP Voice Seeker
+Release Location: https://github.com/nxp-imx/imx-voiceUI -b lf-6.1.55-2.2.0
+Origin: NXP (Proprietary)
+ Ne10 (BSD-3-Clause) - https://github.com/projectNe10/Ne10
+ pugixml (MIT) - https://github.com/zeux/pugixml
+ ARM ComputeLibrary (MIT) - https://github.com/ARM-software/ComputeLibrary
+ CMSIS-5 (Apache-2.0) - https://github.com/ARM-software/CMSIS_5
+
+--------------------------------------------
M4 Processor Packages
--------------------------------------------
-Package: imx7ulp-m4-demo-2.11.0.bin
-Version: 2.11.0
-Outgoing License: LA_OPT_NXP_Software_License v32 January 2022 - Additional distribution license granted - Section 2.3 applies
+Package: imx7ulp-m4-demo-2.14.0.bin
+Version: 2.14.0
+Outgoing License: LA_OPT_NXP_Software_License v47 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M4_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M4 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
@@ -1082,41 +1181,41 @@ Origin: NXP (proprietary)
Package: imx8dxl-m4-demo-2.9.0.bin
Version: 2.9.0
-Outgoing License: LA_OPT_NXP_Software_License v17 October 2020 - Production Use - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v17 October 2020 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M4_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M4 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
--------------------------------------------
-Package: imx8mm-m4-demo-2.11.0.bin
-Version: 2.11.0
-Outgoing License: LA_OPT_NXP_Software_License v32 January 2022 - Production Use - Section 2.3 applies
+Package: imx8mm-m4-demo-2.14.1.bin
+Version: 2.14.1
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M4_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M4 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
--------------------------------------------
-Package: imx8mq-m4-demo-2.11.0.bin
-Version: 2.11.0
-Outgoing License: LA_OPT_NXP_Software_License v32 January 2022 - Production Use - Section 2.3 applies
+Package: imx8mq-m4-demo-2.14.0.bin
+Version: 2.14.0
+Outgoing License: LA_OPT_NXP_Software_License v47 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M4_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M4 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
@@ -1124,13 +1223,13 @@ Origin: NXP (proprietary)
Package: imx8qm-m4-demo-2.9.0.bin
Version: 2.9.0
-Outgoing License: LA_OPT_NXP_Software_License v19 February 2021 - Production Use - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v19 February 2021 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M4_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M4 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
@@ -1138,13 +1237,13 @@ Origin: NXP (proprietary)
Package: imx8qx-m4-demo-2.9.0.bin
Version: 2.9.0
-Outgoing License: LA_OPT_NXP_Software_License v19 February 2021 - Production Use - Section 2.3 applies
+Outgoing License: LA_OPT_NXP_Software_License v19 February 2021 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M4_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M4 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
@@ -1152,146 +1251,193 @@ Origin: NXP (proprietary)
M7 Processor Packages
--------------------------------------------
-Package: imx8mn-m7-demo-2.11.0.bin
-Version: 2.11.0
-Outgoing License: LA_OPT_NXP_Software_License v32 January 2022 - Production Use - Section 2.3 applies
+Package: imx8mn-m7-demo-2.14.0.bin
+Version: 2.14.0
+Outgoing License: LA_OPT_NXP_Software_License v47 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M7_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M7 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
--------------------------------------------
-Package: imx8mnddr3l-m7-demo-2.11.0.bin
-Version: 2.11.0
-Outgoing License: LA_OPT_NXP_Software_License v32 January 2022 - Production Use - Section 2.3 applies
+Package: imx8mnddr3l-m7-demo-2.14.0.bin
+Version: 2.14.0
+Outgoing License: LA_OPT_NXP_Software_License v47 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M7_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M7 core
Release Location: Mirror
-Origin: NXP (proprietary)
+Origin: NXP (LA_OPT_NXP_Software_License)
CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
--------------------------------------------
-Package: imx8mp-m7-demo-2.11.0.bin
-Version: 2.11.0
-Outgoing License: LA_OPT_NXP_Software_License v32 January 2022 - Production Use - Section 2.3 applies
+Package: imx8mp-m7-demo-2.14.1.bin
+Version: 2.14.1
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
License File: COPYING
Package Category: M7_Processor
Type of Content: binary
Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M7 core
Release Location: Mirror
-Origin: NXP (proprietary)
- ARM LIMITED (BSD-3-Clause)
+Origin: NXP (LA_OPT_NXP_Software_License)
+ CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
+ CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
+ Real Time Engineers, Ltd (MIT) - https://aws.amazon.com/freertos/
+ Mentor Graphics, Ltd. (BSD-3-Clause) - https://github.com/OpenAMP/open-amp/
+
+--------------------------------------------
+M33 Processor Packages
+--------------------------------------------
+
+Package: imx8ulp-m33-demo-2.14.1.bin
+Version: 2.14.1
+Outgoing License: LA_OPT_NXP_Software_License v48 July 2023 Additional distribution license granted - Section 2.3 applies
+License File: COPYING
+Package Category: M33_Processor
+Type of Content: binary
+Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M33 core
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
+ CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
+ CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
Real Time Engineers, Ltd (MIT) - https://aws.amazon.com/freertos/
Mentor Graphics, Ltd. (BSD-3-Clause) - https://github.com/OpenAMP/open-amp/
--------------------------------------------
+
+Package: imx93-m33-demo-2.14.2.bin
+Version: 2.14.2
+Outgoing License: LA_OPT_NXP_Software_License v49 September 2023 Additional distribution license granted - Section 2.3 applies
+License File: COPYING
+Package Category: M33_Processor
+Type of Content: binary
+Description and comments: i.MX MCUXpresso SDK demo image on Cortex-M33 core
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
+ CMSIS Core Header files - ARM Limited (BSD-3-clause) - http://silver.arm.com
+ CMSIS DSP Library - ARM Limited (BSD-3-clause) - http://silver.arm.com
+ Real Time Engineers, Ltd (MIT) - https://aws.amazon.com/freertos/
+ Mentor Graphics, Ltd. (BSD-3-Clause) - https://github.com/OpenAMP/open-amp/
+ KEYnetik, Inc (Proprietary)
+
+--------------------------------------------
MachineLearning Packages
--------------------------------------------
-Package: armnn.git
-Version: 21.08
+Package: arm-computelibrary-imx.git
+Version: 22.05
Outgoing License: MIT
License File: LICENSE
Package Category: MachineLearning
Type of Content: source
-Description and comments: ARM Neural Network SDK
-Release Location: https://source.codeaurora.org/external/imx/armnn-imx -b rel_imx_5.15.5-1.0.0
+Description and comments: ARM Compute Library fork
+Release Location: https://github.com/nxp-imx/arm-computelibrary-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
- armnn (MIT) - https://github.com/ARM-software/armnn
+ ARM Software (MIT) - https://github.com/ARM-software/ComputeLibrary
--------------------------------------------
-Package: coral-posenet-imx.git
+Package: eiq-examples.git
Version:
Outgoing License: Apache-2.0
License File: LICENSE
Package Category: MachineLearning
Type of Content: source
-Description and comments: Google Coral Edge TPU Posenet Library
-Release Location: https://source.codeaurora.org/external/imx/coral-posenet-imx -b rel_imx_5.15.5-1.0.0
-Origin: NXP (LGPL-2.1)
- Google LLC - Google Coral Edge Project Posenet (Apache-2.0) https://github.com/google-coral/project-posenet/
+Description and comments: eIQ examples based on TensorFlow Lite
+Release Location: https://github.com/nxp-imx/eiq-examples -b lf-6.1.55-2.2.0
+Origin: NXP (Apache-2.0)
+ tensorflow v2.10.0 (Apache-2.0) - https://github.com/tensorflow/tensorflow
+ hand_tracking (Apache-2.0) - https://github.com/wolterlw/hand_tracking
--------------------------------------------
-Package: deepview-rt-2.4.36-aarch64.bin
-Version: 2.4.36-aarch64
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
+Package: eiq-tvm-imx.git
+Version: 0.7.0
+Outgoing License: Apache-2.0
+License File: LICENSE
Package Category: MachineLearning
-Type of Content: binary
-Description and comments: Machine Learning Au-Zone DeepViewRT and ModelRunner for i.MX8 Application Processors
-Release Location: Mirror
-Origin: Au-Zone Technologies (proprietary)
+Type of Content: source
+Description and comments: Open Deep Learning Compiler Stack
+Release Location: https://github.com/nxp-imx/eiq-tvm-imx -b lf-6.1.55-2.2.0
+Origin: NXP (Apache-2.0)
+ Apache TVM (Apache-2.0) - https://github.com/apache/tvm
--------------------------------------------
-Package: deepview-rt-examples-1.3.bin
-Version: 1.3
-Outgoing License: LA_OPT_NXP_Software_License v34 February 2022 - Additional distribution license granted - Section 2.3 applies
-License File: COPYING
+Package: ethos-u-driver-stack-imx.git
+Version: 23.08
+Outgoing License: Apache-2.0
+License File: LICENSE.txt
Package Category: MachineLearning
-Type of Content: binary
-Description and comments: DeepViewRT Examples
-Release Location: Mirror
-Origin: Au-Zone Technologies (proprietary)
- Viktor Kutuzov (MIT)
+Type of Content: source
+Description and comments: ethos-u-driver-stack is the user space driver library for ethos-u NPU on iMX93 platform
+Release Location: https://github.com/nxp-imx/ethos-u-driver-stack-imx -b lf-6.1.55-2.2.0
+Origin: NXP (BSD-3-Clause)
+ ARM Limited ethos-u-linux-driver-stack v22.02 (Apache-2.0) - https://git.mlplatform.org/ml/ethos-u/ethos-u-linux-driver-stack.git
+ FlatBuffers (Apache-2.0)
+ Linux Kernel Header file - ARM Limited (GPL-2.0) - https://git.mlplatform.org/ml/ethos-u/ethos-u-linux-driver-stack.git
--------------------------------------------
-Package: eiq-apps-imx
-Version:
-Outgoing License: LGPL-2.1
-License File: COPYING-LGPL2.1
+Package: ethos-u-firmware.git
+Version: 23.08
+Outgoing License: Apache-2.0
+License File: LICENSE.txt
Package Category: MachineLearning
Type of Content: source
-Description and comments: Gstreamer Neural Network inference Demo
-Release Location: https://source.codeaurora.org/external/imx/eiq-apps-imx -b rel_imx_5.15.5-1.0.0
-Origin: NXP (LGPL-2.1)
- Gstreamer plugins-Base (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
+Description and comments: ethos-u-firmware is the binary NPU driver running on cortex-m33 core of NXP iMX93 platform
+Release Location: https://github.com/nxp-imx/ethos-u-firmware -b lf-6.1.55-2.2.0
+Origin: NXP (BSD-3-Clause)
+ ARM Limited ethos-u-linux-driver-stack v22.02 (Apache-2.0) - https://git.mlplatform.org/ml/ethos-u/ethos-u-core-software.git
+ Amazon.com, Inc. FreeRTOS (MIT) - https://git.mlplatform.org/ml/ethos-u/ethos-u-core-software.git/tree/rtos/freertos_config/FreeRTOSConfig.h.in
--------------------------------------------
-Package: eiq-tvm-imx.git
-Version: 0.7.0
+Package: ethos-u-vela.git
+Version: 3.9.0
Outgoing License: Apache-2.0
-License File: LICENSE
+License File: LICENSE.txt
Package Category: MachineLearning
Type of Content: source
-Description and comments: Open Deep Learning Compiler Stack
-Release Location: https://source.codeaurora.org/external/imx/eiq-tvm-imx -b rel_imx_5.15.5-1.0.0
-Origin: NXP (Apache-2.0)
- Apache TVM (Apache-2.0) - https://github.com/apache/tvm
+Description and comments: Tool to compile a TensorFlow Lite for Microcontrollers neural network model
+Release Location: https://github.com/nxp-imx/ethos-u-vela -b lf-6.1.55-2.2.0
+Origin: NXP (BSD-3-Clause)
+ ARM Limited ethos-u-vela v22.02 (Apache-2.0) - https://git.mlplatform.org/ml/ethos-u/ethos-u-vela.git
+ FlatBuffers (Apache-2.0)
--------------------------------------------
Package: nnshark.git
-Version: 2021.10.imx
+Version: 2023.11.imx
Outgoing License: LGPL-2.1
License File: COPYING.LESSER
Package Category: MachineLearning
Type of Content: source
Description and comments: A GStreamer NNstreamer pipelines real-time profiling plugin
-Release Location: https://source.codeaurora.org/external/imx/nnshark -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/nnshark -b lf-6.1.55-2.2.0
+Origin: NXP (LGPL-2.1)
+ GstShark (LGPL-2.1) - https://github.com/RidgeRun/gst-shark
+
+ Separate Component: Eclipse Tools (EPL-1.0) - These run separately on windows.
+
--------------------------------------------
Package: onnxruntime-imx.git
-Version: 1.10.0
+Version: 1.16.1
Outgoing License: MIT
License File: LICENSE
Package Category: MachineLearning
Type of Content: source
Description and comments: Onnxruntime cross-platform scoring engine
-Release Location: https://source.codeaurora.org/external/imx/onnxruntime-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/onnxruntime-imx -b lf-6.1.55-2.2.0
Origin: NXP (MIT)
Microsoft/onnxruntime (MIT) - https://github.com/Microsoft/onnxruntime
Google's Protocol Buffer (BSD-3-clause) - https://tracker.debian.org/pkg/protobuf
@@ -1306,69 +1452,60 @@ License File: LICENSE
Package Category: MachineLearning
Type of Content: source
Description and comments: Tensors and Dynamic neural networks in Python with strong GPU acceleration
-Release Location: https://github.com/NXPmicro/pytorch-release -b rel_imx_5.15.5-1.0.0
-Origin: NXP (BSD-3-Clause)
- pytorch (BSD-3-clause) - https://github.com/pytorch/pytorch
-
---------------------------------------------
-
-Package: torchvision.git
-Version:
-Outgoing License: BSD-3-Clause
-License File: LICENSE
-Package Category: MachineLearning
-Type of Content: source
-Description and comments: The torchvision package consists of popular datasets model architectures and common image transformations for computer vision
-Release Location: https://github.com/NXPmicro/pytorch-release -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/pytorch-release -b lf-6.1.55-2.2.0
Origin: NXP (BSD-3-Clause)
pytorch (BSD-3-clause) - https://github.com/pytorch/pytorch
--------------------------------------------
Package: tensorflow-imx.git
-Version: 2.6.0
+Version: 2.12.1
Outgoing License: Apache-2.0
License File: LICENSE
Package Category: MachineLearning
Type of Content: source
Description and comments: TensorFlow Lite C++ Library
-Release Location: https://source.codeaurora.org/external/imx/tensorflow-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/tensorflow-imx -b lf-6.1.55-2.2.0
Origin: NXP (Apache-2.0)
TensorFlow (Apache-2.0) - https://github.com/tensorflow/tensorflow/
--------------------------------------------
-Package: tensorflow-lite-extras.git
-Version:
+Package: tflite-ethosu-delegate.git
+Version: 2.12.1
Outgoing License: Apache-2.0
-License File: LICENSE.txt
+License File: LICENSE
Package Category: MachineLearning
Type of Content: source
-Description and comments: TensorFlow Lite extras packages
-Release Location: https://github.com/NXPmicro/efficientdet-imx -b rel_imx_5.15.5-1.0.0
+Description and comments: TensorFlow Lite Ethos-u Delegate
+Release Location: https://github.com/nxp-imx/tflite-ethosu-delegate-imx -b lf-6.1.55-2.2.0
+Origin: NXP (Apache-2.0)
+ tensorflow v2.10.0 (Apache-2.0) - https://github.com/tensorflow/tensorflow
+ ARM ethos-u-linux-driver-stack v22.08 (Apache-2.0) - https://git.mlplatform.org/ml/ethos-u/ethos-u-linux-driver-stack.git
+
--------------------------------------------
Package: tflite-vx-delegate-imx.git
-Version: 2.6.0
-Outgoing License: Apache-2.0
+Version: 2.12.1
+Outgoing License: MIT
License File: LICENSE
Package Category: MachineLearning
Type of Content: source
Description and comments: TensorFlow Lite VX Delegate
-Release Location: https://source.codeaurora.org/external/imx/tflite-vx-delegate-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/tflite-vx-delegate-imx -b lf-6.1.55-2.2.0
Origin: VeriSilicon Inc. (Apache-2.0) - https://github.com/VeriSilicon/tflite-vx-delegate.git
The TensorFlow Authors (Apache-2.0) - https://cs.opensource.google/tensorflow/tensorflow/+/master:tensorflow/lite/examples/minimal/
--------------------------------------------
Package: tim-vx-imx.git
-Version: 1.1.37
+Version: 1.1.42
Outgoing License: MIT
License File: LICENSE
Package Category: MachineLearning
Type of Content: source
Description and comments: Tensor Interface Module for OpenVX
-Release Location: https://github.com/nxp/tim-vx-imx -b rel_imx_5.15.5-1.0.0
+Release Location: https://github.com/nxp-imx/tim-vx-imx -b lf-6.1.55-2.2.0
Origin: Vivante Corporation (MIT)
The Khronos Group Inc. (Apache-2.0) - https://www.khronos.org/
The Android Open Source Project (Apache 2.0) - https://developer.android.com/index.html
@@ -1377,24 +1514,26 @@ Origin: Vivante Corporation (MIT)
Tools Packages
--------------------------------------------
-Package: VivanteIDE-6.4.3.p4.0.tgz
-Version: 6.4.3.p4.0
+Package: VivanteIDE-6.4.11.p2.tgz
+Version: 6.4.11.p2
Outgoing License: VeriSilicon License
License File:
Package Category: Tools
Type of Content: binary
Description and comments: VeriSilicon Tools
Release Location: nxp.com
+Origin: VeriSilicon (Verisilicon License)
+
--------------------------------------------
Package: mfgtools.git
-Version: 1.4.193
+Version: 3
Outgoing License: BSD-3-Clause
License File: LICENSE
Package Category: Tools
Type of Content: source
Description and comments: NXP I.MX Chip image deploy tools. Use uuu.
-Release Location: https://github.com/NXPmicro/mfgtools -b master
+Release Location: https://github.com/nxp-imx/mfgtools -b master
Origin: NXP (BSD-3-clause)
zlib (zlib) - https://github.com/madler/zlib
libusb (LGPL-2.1) [libusb-1.0.dll] [dynamic link] - https://github.com/libusb/libusb
@@ -1404,13 +1543,13 @@ Origin: NXP (BSD-3-clause)
--------------------------------------------
Package: bcu.git
-Version: 1.1.38
+Version: 1.1.71
Outgoing License: BSD-3-Clause
License File: LICENSE
Package Category: Tools
Type of Content: source
Description and comments: NXP I.MX Chip image deploy tools. Use bcu.
-Release Location: ssh://git@bitbucket.sw.nxp.com/imx/bcu.git -b master
+Release Location: https://github.com/nxp-imx/bcu.git -b master
Origin: NXP (BSD-3-Clause)
--------------------------------------------
diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass
index 9fcf37be..6cb0c0a9 100644
--- a/classes/fsl-dynamic-packagearch.bbclass
+++ b/classes/fsl-dynamic-packagearch.bbclass
@@ -54,6 +54,17 @@ python __anonymous () {
if not machine_socarch in cur_package_archs:
d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % machine_socarch)
+ multilib_variants = (d.getVar("MULTILIB_VARIANTS") or "").split()
+ for variant in multilib_variants:
+ defaulttune = d.getVar("DEFAULTTUNE:virtclass-multilib-" + variant)
+ if defaulttune:
+ package_extra_archs_tune_archs = (d.getVar("PACKAGE_EXTRA_ARCHS:tune-" + defaulttune) or "").split()
+ arch_suffix = d.getVar("MACHINE_SOCARCH_SUFFIX")
+ for arch in package_extra_archs_tune_archs:
+ socarch = arch + arch_suffix
+ if not socarch in cur_package_archs:
+ d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % socarch )
+
if d.getVar("TUNE_ARCH") == "arm":
# For ARM we have two possible machine_socarch values, one for the arm and one for the thumb instruction set
# add the other value to extra archs also, so that a image recipe searches both for packages.
diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass
index a16a1871..56d2844c 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -45,6 +45,20 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V31 = "dedee5689786754f61ea3a76
FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V32 = "17d2319de7baa686e8a755ba58a9ebf5"
FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V33 = "e4098ac4459cb81b07d3f0c22b3e8370"
FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V34 = "be5ff43682ed6c57dfcbeb97651c2829"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V35 = "d3c315c6eaa43e07d8c130dc3a04a011"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V36 = "b54da624b8d2ffe8a3b47757da48e60f"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V37 = "37cb2d8c2bcf8bf2fbe0366d5d928c29"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V38 = "65c483bb431ccd9a1820e6872c604771"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V39 = "5a0bf11f745e68024f37b4724a5364fe"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V40 = "add2d392714d3096ed7e0f7e2190724b"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V42 = "ea25d099982d035af85d193c88a1b479"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V44 = "d7853b7bf2936b2c25c893eac7033374"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V45 = "63a38e9f392d8813d6f1f4d0d6fbe657"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V46 = "673fa34349fa40f59e0713cb0ac22b1f"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V47 = "9135422c7a38dac21bf1f858b6ef3bac"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48 = "db4762b09b6bda63da103963e6e081de"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49 = "2827219e81f28aba7c6a569f7c437fa7"
+
FSL_EULA_FILE_MD5SUMS = " \
${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V10} \
@@ -85,11 +99,24 @@ FSL_EULA_FILE_MD5SUMS = " \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V32} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V33} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V34} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V35} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V36} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V37} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V38} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V39} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V40} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V42} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V44} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V45} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V46} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V47} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \
"
# The checksum for the EULA in the layer
FSL_EULA_FILE_MD5SUM ?= \
- "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V34}"
+ "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49}"
LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
@@ -102,13 +129,34 @@ do_fetch:prepend() {
bb.fatal("The recipe LICENSE should include Proprietary but is " + d.getVar("LICENSE") + ".")
}
+do_unpack[vardepsexclude] += "FSL_EULA_FILE"
+python do_unpack() {
+ eula = d.getVar('ACCEPT_FSL_EULA')
+ eula_file = d.getVar('FSL_EULA_FILE')
+ pkg = d.getVar('PN')
+ if eula == None:
+ bb.fatal("To use '%s' you need to accept the Freescale EULA at '%s'. "
+ "Please read it and in case you accept it, write: "
+ "ACCEPT_FSL_EULA = \"1\" in your local.conf." % (pkg, eula_file))
+ elif eula == '0':
+ bb.fatal("To use '%s' you need to accept the Freescale EULA." % pkg)
+ else:
+ bb.note("Freescale EULA has been accepted for '%s'" % pkg)
+
+ try:
+ bb.build.exec_func('base_do_unpack', d)
+ except:
+ raise
+
+ bb.build.exec_func('fsl_bin_do_unpack', d)
+}
+
python fsl_bin_do_unpack() {
src_uri = (d.getVar('SRC_URI') or "").split()
if len(src_uri) == 0:
return
localdata = bb.data.createCopy(d)
- bb.data.update_data(localdata)
rootdir = localdata.getVar('WORKDIR', True)
fetcher = bb.fetch2.Fetch(src_uri, localdata)
@@ -126,16 +174,28 @@ python fsl_bin_do_unpack() {
bb.note("Handling file '%s' as a Freescale EULA-licensed archive." % url.basename)
cmd = "sh %s --auto-accept --force" % (url.localpath)
bb.fetch2.runfetchcmd(cmd, d, quiet=True, workdir=rootdir)
+ if not found:
+ bb.fatal("The recipe inherits 'fsl-eula-unpack.bbclass' but does not mark any URL in SRC_URI with the option 'fsl-eula=true'")
# Check for two EULAs, one from the layer and one from the package
bb.note("Checking LIC_FILES_CHKSUM for Freescale EULA consistency...")
if found > 1:
bb.warn("The package contains multiple Freescale EULA-licensed archives. The consistency logic may not be able to detect a EULA problem.")
+ (layer_license, licenses, md5sums, found_layer_licenses, found_package_licenses) = find_nxp_eula_licenses(d)
+ if not found_layer_licenses:
+ bb.fatal("The Freescale layer EULA '%s' is not listed in LIC_FILES_CHKSUM '%s'."
+ % (layer_license, licenses))
+ if not found_package_licenses:
+ bb.fatal("A valid package EULA with md5sum in %s was not found in LIC_FILES_CHKSUM '%s'."
+ % (md5sums.split(), licenses))
+}
+
+def find_nxp_eula_licenses(d):
layer_license = d.getVar('LIC_FILES_CHKSUM_LAYER')
licenses = d.getVar('LIC_FILES_CHKSUM') or ""
md5sums = d.getVar('FSL_EULA_FILE_MD5SUMS') or ""
- found_layer_license = False
- found_package_license = False
+ found_layer_licenses = ""
+ found_package_licenses = ""
for license in licenses.split():
try:
(method, host, path, user, pswd, parm) = bb.fetch.decodeurl(license)
@@ -145,37 +205,8 @@ python fsl_bin_do_unpack() {
bb.fatal("%s: LIC_FILES_CHKSUM contains an invalid URL: %s" % (d.getVar('PF'), license))
if license == layer_license:
bb.note("Found Freescale EULA for the layer %s." % license)
- found_layer_license = True
+ found_layer_licenses += license
elif parm.get('md5') in md5sums:
bb.note("Found Freescale EULA for the package %s." % license)
- found_package_license = True
- if not found_layer_license:
- bb.fatal("The Freescale layer EULA '%s' is not listed in LIC_FILES_CHKSUM '%s'."
- % (layer_license, licenses))
- if not found_package_license:
- bb.fatal("A valid package EULA with md5sum in %s was not found in LIC_FILES_CHKSUM '%s'."
- % (md5sums.split(), licenses))
-}
-
-python do_unpack() {
- eula = d.getVar('ACCEPT_FSL_EULA')
- eula_file = d.getVar('FSL_EULA_FILE')
- pkg = d.getVar('PN')
- if eula == None:
- bb.fatal("To use '%s' you need to accept the Freescale EULA at '%s'. "
- "Please read it and in case you accept it, write: "
- "ACCEPT_FSL_EULA = \"1\" in your local.conf." % (pkg, eula_file))
- elif eula == '0':
- bb.fatal("To use '%s' you need to accept the Freescale EULA." % pkg)
- else:
- bb.note("Freescale EULA has been accepted for '%s'" % pkg)
-
- try:
- bb.build.exec_func('base_do_unpack', d)
- except:
- raise
-
- bb.build.exec_func('fsl_bin_do_unpack', d)
-}
-
-do_unpack[vardepsexclude] += "FSL_EULA_FILE"
+ found_package_licenses += license
+ return (layer_license, licenses, md5sums, found_layer_licenses, found_package_licenses)
diff --git a/classes/fsl-kernel-localversion.bbclass b/classes/fsl-kernel-localversion.bbclass
index c782a3d3..9ef0a62f 100644
--- a/classes/fsl-kernel-localversion.bbclass
+++ b/classes/fsl-kernel-localversion.bbclass
@@ -12,34 +12,36 @@
SCMVERSION ??= "y"
LOCALVERSION ??= "+fslc"
-kernel_conf_variable() {
- CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
- if test "$2" = "n"
- then
- echo "# CONFIG_$1 is not set" >> ${B}/.config
- else
- echo "CONFIG_$1=$2" >> ${B}/.config
- fi
-}
+# LINUX_VERSION_EXTENSION is used as CONFIG_LOCALVERSION by kernel-yocto class
+LINUX_VERSION_EXTENSION ?= "${LOCALVERSION}"
do_kernel_localversion[dirs] += "${S} ${B}"
do_kernel_localversion() {
- mkdir -p ${B}
- echo "" > ${B}/.config
- CONF_SED_SCRIPT=""
- kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
- if [ "${SCMVERSION}" = "y" ]; then
- kernel_conf_variable LOCALVERSION_AUTO y
+ # Fallback for recipes not able to use LINUX_VERSION_EXTENSION
+ if [ "${@bb.data.inherits_class('kernel-yocto', d)}" = "False" ]; then
+ echo 'CONFIG_LOCALVERSION="${LOCALVERSION}"' >> ${B}/.config
fi
- sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
-
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
- head=`git --git-dir=${S}/.git rev-parse --verify --short HEAD 2> /dev/null`
- printf "%s%s" +g $head > ${S}/.scmversion
+ if [ "${SRCREV}" = "INVALID" ]; then
+ hash=${SRCREV_machine}
+ else
+ hash=${SRCREV}
+ fi
+ if [ "$hash" = "AUTOINC" ]; then
+ branch=`git --git-dir=${S}/.git symbolic-ref --short -q HEAD`
+ head=`git --git-dir=${S}/.git rev-parse --verify --short origin/${branch} 2> /dev/null`
+ else
+ head=`git --git-dir=${S}/.git rev-parse --verify --short $hash 2> /dev/null`
+ fi
+ patches=`git --git-dir=${S}/.git rev-list --count $head..HEAD 2> /dev/null`
+ printf "%s%s%s%s" +g $head +p $patches > ${S}/.scmversion
+
+ sed -i -e "/CONFIG_LOCALVERSION_AUTO[ =]/d" ${B}/.config
+ echo "CONFIG_LOCALVERSION_AUTO=y" >> ${B}/.config
fi
}
-addtask kernel_localversion before do_configure after do_patch do_kernel_metadata
+addtask kernel_localversion before do_configure after do_patch do_kernel_configme
diff --git a/classes/fsl-u-boot-localversion.bbclass b/classes/fsl-u-boot-localversion.bbclass
index ebde8ea7..94b30c04 100644
--- a/classes/fsl-u-boot-localversion.bbclass
+++ b/classes/fsl-u-boot-localversion.bbclass
@@ -17,10 +17,21 @@ UBOOT_LOCALVERSION = "${LOCALVERSION}"
do_compile:prepend() {
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
- head=`cd ${S} ; git rev-parse --verify --short HEAD 2> /dev/null`
- printf "%s%s%s" "${UBOOT_LOCALVERSION}" +g $head > ${S}/.scmversion
- printf "%s%s%s" "${UBOOT_LOCALVERSION}" +g $head > ${B}/.scmversion
- else
+ if [ "${SRCREV}" = "INVALID" ]; then
+ hash=${SRCREV_machine}
+ else
+ hash=${SRCREV}
+ fi
+ if [ "$hash" = "AUTOINC" ]; then
+ branch=`git --git-dir=${S}/.git symbolic-ref --short -q HEAD`
+ head=`git --git-dir=${S}/.git rev-parse --verify --short origin/${branch} 2> /dev/null`
+ else
+ head=`git --git-dir=${S}/.git rev-parse --verify --short $hash 2> /dev/null`
+ fi
+ patches=`git --git-dir=${S}/.git rev-list --count $head..HEAD 2> /dev/null`
+ printf "%s%s%s%s" +g $head +p $patches > ${S}/.scmversion
+ printf "%s%s%s%s" +g $head +p $patches > ${B}/.scmversion
+ else
printf "%s" "${UBOOT_LOCALVERSION}" > ${S}/.scmversion
printf "%s" "${UBOOT_LOCALVERSION}" > ${B}/.scmversion
fi
diff --git a/classes/image_populate_mfgtool.bbclass b/classes/image_populate_mfgtool.bbclass
new file mode 100644
index 00000000..d30b47a3
--- /dev/null
+++ b/classes/image_populate_mfgtool.bbclass
@@ -0,0 +1,139 @@
+# Allow generation of mfgtool bundle
+#
+# The class provides the infrastructure for MFGTOOL generation and is tied to images. To generate
+# the bundle, the task populate_mfgtool must be called. For example:
+#
+# ,----[ Running populate_mfgtool for core-image-minimal image ]
+# | $: bitbake core-image-minimal -c populate_mfgtool
+# `----
+#
+# The class behavior is controlled through the MFGTOOLCONFIG (analogous to PACKAGECONFIG)
+# variable. The MFGTOOLCONFIG variable itself specifies a space-separated list of the script to
+# enable. Following the script, you can determine the behavior of each script by providing up to two
+# order-dependent arguments, which are separated by commas. You can omit any argument you like but
+# must retain the separating commas. The order is important and specifies the following:
+#
+# 1. Extra dependencies that should be added to the do_populate_mfgtool task, if the script is
+# enabled.
+# 2. Extra binaries that should be added to the bundle, if the script is enabled.
+#
+# For example:
+#
+# ,----[ Defining foo.uuu.in and bar.uuu script ]
+# | MFGTOOLCONFIG = "foo.uuu.in bar.uuu"
+# | MFGTOOLCONFIG[foo.uuu.in] = "dep-foo1:do_deploy dep-foo2:do_deploy,file-foo1"
+# | MFGTOOLCONFIG[bar.uuu] = "dep-bar1:do_deploy,file-bar1 file-bar2"
+# `----
+#
+# The dep-foo1:do_deploy, dep-foo2:do_deploy, and dep-bar1:do_deploy are added to
+# do_populate_mfgtool dependencies. In addition, file-foo1, file-bar1, and file-bar2 are copied to
+# the bundle, only if the script is enabled.
+#
+# During the mfgtool bundle generation, the uuu.in files are processed and some variables
+# replaced. The variables are:
+#
+# - MACHINE
+# - UBOOT_BINARY
+# - SPL_BINARY
+# - IMAGE_BASENAME
+#
+# Copyright 2022-2023 (C) O.S. Systems Software LTDA.
+#
+# SPDX-License-Identifier: MIT
+
+MFGTOOL_FILESPATH ??= " \
+ ${@base_set_filespath(["%s/mfgtool" % p for p in "${BBPATH}".split(":")] \
+ + ["${FILE_DIRNAME}/${BP}/mfgtool", \
+ "${FILE_DIRNAME}/${BPN}/mfgtool", \
+ "${FILE_DIRNAME}/files/mfgtool"] \
+ , d)} \
+"
+
+MFGTOOLDIR = "${WORKDIR}/mfgtool-${PN}"
+do_populate_mfgtool[dirs] += "${MFGTOOLDIR}"
+do_populate_mfgtool[cleandirs] = "${MFGTOOLDIR}"
+
+addtask populate_mfgtool after do_image_complete do_unpack before do_deploy
+do_populate_mfgtool[nostamp] = "1"
+do_populate_mfgtool[dirs] += "${DEPLOY_DIR_IMAGE} ${WORKDIR}"
+do_populate_mfgtool[recrdeptask] += "do_deploy"
+do_populate_mfgtool[depends] += "uuu-bin:do_populate_sysroot"
+
+python () {
+ depends = []
+ deploy_files = ""
+ scripts = (d.getVar('MFGTOOLCONFIG') or "").split()
+ scripts_and_flags = d.getVarFlags('MFGTOOLCONFIG') or {}
+ for flag, flagval in sorted(scripts_and_flags.items()):
+ items = flagval.split(",")
+ num = len(items)
+ if num > 2:
+ bb.error("%s: MFGTOOLCONFIG[%s] Only \"depends,deploy files\" can be specified!" % (d.getVar("PN"), flag))
+
+ if flag in scripts:
+ if num >= 2 and items[1]:
+ deploy_files += ' ' + items[1]
+ if num >= 1 and items[0]:
+ depends.append(items[0])
+
+ d.appendVarFlag('do_populate_mfgtool', 'depends', ' ' + ' '.join(depends))
+ d.setVar('_SCRIPT_DEPLOY_FILES', ' '.join(sorted(list(set(deploy_files.split())))))
+}
+
+python do_populate_mfgtool() {
+ # For MFGTOOLCONFIG items we use BitBake's fetcher module allowing a consistent behavior.
+ scripts = (d.getVar('MFGTOOLCONFIG') or "").split()
+ src_uri = ["file://%s" % f for f in scripts]
+ if not src_uri:
+ bb.fatal("MFGTOOLCONFIG is empty so populate_mfgtool cannot be run.")
+ return
+ bb.debug(1, "following scripts are used: %s" % ', '.join(scripts))
+
+ localdata = bb.data.createCopy(d)
+ filespath = (d.getVar('MFGTOOL_FILESPATH') or "")
+ localdata.setVar('FILESPATH', filespath)
+
+ try:
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+ fetcher.unpack(localdata.getVar('WORKDIR'))
+ except bb.fetch2.BBFetchException as e:
+ bb.fatal("BitBake Fetcher Error: " + repr(e))
+
+ # Generate MFGTOOL bundle.
+ bb.build.exec_func('generate_mfgtool_bundle', d)
+}
+
+generate_mfgtool_bundle() {
+ bbnote "Processing uuu files ..."
+ for src in $(ls -1 ${WORKDIR}/*.uuu.in); do
+ dest=$(echo $src | sed 's,.in$,,g')
+ bbnote " - $src -> $dest"
+ sed -e 's/@@MACHINE@@/${MACHINE}/g' \
+ -e "s,@@UBOOT_BINARY@@,${UBOOT_BINARY},g" \
+ -e "s,@@SPL_BINARY@@,${SPL_BINARY},g" \
+ -e "s,@@IMAGE_BASENAME@@,${IMAGE_BASENAME},g" \
+ $src > $dest
+ done
+
+ bbnote "Deploying uuu files ..."
+ for src in $(ls -1 ${WORKDIR}/*.uuu); do
+ dest=$(basename $src)
+ bbnote " - $src -> ${MFGTOOLDIR}/${PN}-${MACHINE}/$dest"
+ install -D -m 0644 $src ${MFGTOOLDIR}/${PN}-${MACHINE}/$dest
+ done
+
+ bbnote "Copying uuu binaries..."
+ cp -v -s ${STAGING_LIBDIR}/uuu/* ${MFGTOOLDIR}/${PN}-${MACHINE}/
+
+ bbnote "Copying MFGTOOL extra deploy files..."
+ for f in ${_SCRIPT_DEPLOY_FILES}; do
+ mkdir -p ${MFGTOOLDIR}/${PN}-${MACHINE}/binaries
+ cp -v -s ${DEPLOY_DIR_IMAGE}/$f ${MFGTOOLDIR}/${PN}-${MACHINE}/binaries/
+ done
+
+ tar -czf ${DEPLOY_DIR_IMAGE}/mfgtool-bundle-${PN}-${MACHINE}.tar.gz \
+ --dereference -C ${MFGTOOLDIR} ${PN}-${MACHINE}
+
+ ln -fs mfgtool-bundle-${PN}-${MACHINE}.tar.gz \
+ ${DEPLOY_DIR_IMAGE}/mfgtool-bundle-${PN}.tar.gz
+}
diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass
index cdfbb97e..63a10f30 100644
--- a/classes/image_types_fsl.bbclass
+++ b/classes/image_types_fsl.bbclass
@@ -13,9 +13,9 @@ do_image_uboot_mxsboot_sdcard[depends] += "u-boot-mxsboot-native:do_populate_sys
u-boot:do_deploy"
IMAGE_CMD:uboot-mxsboot-sdcard() {
mxsboot sd ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
- ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot-mxsboot-sdcard
- ln -sf ${IMAGE_NAME}.rootfs.uboot-mxsboot-sdcard \
- ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.uboot-mxsboot-sdcard
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.uboot-mxsboot-sdcard
+ ln -sf ${IMAGE_NAME}.uboot-mxsboot-sdcard \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.uboot-mxsboot-sdcard
}
# U-Boot mxsboot generation for NAND
@@ -24,9 +24,9 @@ do_image_uboot_mxsboot_nand[depends] += "u-boot-mxsboot-native:do_populate_sysro
IMAGE_CMD:uboot-mxsboot-nand() {
mxsboot ${MXSBOOT_NAND_ARGS} nand \
${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
- ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot-mxsboot-nand
- ln -sf ${IMAGE_NAME}.rootfs.uboot-mxsboot-nand \
- ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.uboot-mxsboot-nand
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.uboot-mxsboot-nand
+ ln -sf ${IMAGE_NAME}.uboot-mxsboot-nand \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.uboot-mxsboot-nand
}
# In case we are building for i.MX23 or i.MX28 we need to have the
@@ -40,5 +40,5 @@ do_image_wic[depends] += " \
IMAGE_CMD:wic:append:mxs-generic-bsp() {
# Change partition type for mxs processor family
bbnote "Setting partition type to 0x53 as required for mxs' SoC family."
- echo -n S | dd of=$out${IMAGE_NAME_SUFFIX}.wic bs=1 count=1 seek=450 conv=notrunc
+ echo -n S | dd of=$out.wic bs=1 count=1 seek=450 conv=notrunc
}
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass
index 71c2809d..53c70a0b 100644
--- a/classes/imx-boot-container.bbclass
+++ b/classes/imx-boot-container.bbclass
@@ -18,18 +18,30 @@
#
# Class inheritance is performed in u-boot-fslc recipe, and is controlled
# by variable UBOOT_PROVIDES_BOOT_CONTAINER, which is defined in the
-# base machine include file (imx-base.inc), and is set to "1" when the
-# 'imx-boot-container' is present in MACHINEOVERRIDES.
+# base machine include file (imx-base.inc).
+#
+# NOTE: A backwards-compatible symlink is added for 'flash.bin', named
+# 'imx-boot', during the deployment task.
# Define ATF binary file to be deployed to the U-Boot build folder
ATF_MACHINE_NAME = "bl31-${ATF_PLATFORM}.bin"
ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
+IMX_BOOT_CONTAINER_FIRMWARE_SOC = ""
+IMX_BOOT_CONTAINER_FIRMWARE_SOC:mx8mq-generic-bsp = " \
+ signed_dp_imx8m.bin \
+ signed_hdmi_imx8m.bin \
+"
+IMX_BOOT_CONTAINER_FIRMWARE ?= " \
+ ${IMX_BOOT_CONTAINER_FIRMWARE_SOC} \
+ ${DDR_FIRMWARE_NAME} \
+"
+
# This package aggregates output deployed by other packages, so set the
# appropriate dependencies for populate binaries task
do_resolve_and_populate_binaries[depends] += " \
${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
- imx-atf:do_deploy \
+ ${IMX_DEFAULT_ATF_PROVIDER}:do_deploy \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
"
@@ -42,12 +54,12 @@ do_resolve_and_populate_binaries() {
for type in ${UBOOT_CONFIG}; do
j=$(expr $j + 1);
if [ $j -eq $i ]; then
- for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
- bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${B}/${config}/${ddr_firmware_name}"
- cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${B}/${config}/
+ for firmware in ${IMX_BOOT_CONTAINER_FIRMWARE}; do
+ bbnote "Copy firmware: ${firmware} from ${DEPLOY_DIR_IMAGE} -> ${B}/${config}/"
+ cp ${DEPLOY_DIR_IMAGE}/${firmware} ${B}/${config}/
done
if [ -n "${ATF_MACHINE_NAME}" ]; then
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${B}/${config}/bl31.bin
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${B}/${config}/bl31.bin
else
bberror "ATF binary is undefined, result binary would be unusable!"
fi
@@ -80,14 +92,14 @@ do_deploy:append() {
then
install -m 0644 ${B}/${config}/flash.bin ${DEPLOYDIR}/flash.bin-${MACHINE}-${type}
# When there's more than one word in UBOOT_CONFIG,
- # this will overwrite the links created in
- # previous loop iterations, effectively making
- # u-boot.itb and flash.bin correspond to the _last_
- # word in UBOOT_CONFIG. This is also how all other
- # artifacts handled by oe-core's u-boot.inc are
- # treated.
- ln -sf flash.bin-${MACHINE}-${type} flash.bin
- ln -sf flash.bin-${MACHINE}-${type} imx-boot
+ # the first UBOOT_CONFIG listed will be the imx-boot binary
+ if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then
+ ln -sf flash.bin-${MACHINE}-${type} flash.bin
+ ln -sf flash.bin-${MACHINE}-${type} imx-boot
+
+ else
+ bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type"
+ fi
fi
done
unset j
diff --git a/classes/kernel-itbimage.bbclass b/classes/kernel-itbimage.bbclass
deleted file mode 100644
index 91bceb85..00000000
--- a/classes/kernel-itbimage.bbclass
+++ /dev/null
@@ -1,493 +0,0 @@
-inherit kernel-uboot uboot-sign
-
-python __anonymous () {
- kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
- if 'itbImage' in kerneltypes.split():
- depends = d.getVar("DEPENDS")
- depends = "%s u-boot-mkimage-native dtc-native" % depends
- d.setVar("DEPENDS", depends)
-
- if d.getVar("UBOOT_ARCH") == "x86":
- replacementtype = "bzImage"
- else:
- replacementtype = "vmlinux"
-
- # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
- # to kernel.bbclass . We have to override it, since we pack zImage
- # (at least for now) into the fitImage .
- typeformake = d.getVar("KERNEL_IMAGETYPE_FOR_MAKE") or ""
- if 'itbImage' in typeformake.split():
- d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake.replace('itbImage', replacementtype))
-
- image = d.getVar('INITRAMFS_IMAGE')
- if image:
- d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
- def extraimage_getdepends(task):
- deps = ""
- for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
- deps += " %s:%s" % (dep, task)
- return deps
-
- d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_lic'))
- d.appendVarFlag('do_image_complete', 'depends', extraimage_getdepends('do_populate_sysroot'))
-
- # Verified boot will sign the fitImage and append the public key to
- # U-Boot dtb. We ensure the U-Boot dtb is deployed before assembling
- # the fitImage:
- if d.getVar('UBOOT_SIGN_ENABLE') == "1":
- uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
- d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_deploy' % uboot_pn)
-}
-
-# Options for the device tree compiler passed to mkimage '-D' feature:
-UBOOT_MKIMAGE_DTCOPTS ??= ""
-
-#
-# Emit the fitImage ITS header
-#
-# $1 ... .its filename
-fitimage_emit_fit_header() {
- cat << EOF >> ${1}
-/dts-v1/;
-
-/ {
- description = "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}";
- #address-cells = <1>;
-EOF
-}
-
-#
-# Emit the fitImage section bits
-#
-# $1 ... .its filename
-# $2 ... Section bit type: imagestart - image section start
-# confstart - configuration section start
-# sectend - section end
-# fitend - fitimage end
-#
-fitimage_emit_section_maint() {
- case $2 in
- imagestart)
- cat << EOF >> ${1}
-
- images {
-EOF
- ;;
- confstart)
- cat << EOF >> ${1}
-
- configurations {
-EOF
- ;;
- sectend)
- cat << EOF >> ${1}
- };
-EOF
- ;;
- fitend)
- cat << EOF >> ${1}
-};
-EOF
- ;;
- esac
-}
-
-#
-# Emit the fitImage ITS kernel section
-#
-# $1 ... .its filename
-# $2 ... Image counter
-# $3 ... Path to kernel image
-# $4 ... Compression type
-fitimage_emit_section_kernel() {
-
- kernel_csum="sha1"
-
- ENTRYPOINT=${UBOOT_ENTRYPOINT}
- if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then
- ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
- awk '$4=="${UBOOT_ENTRYSYMBOL}" {print $2}'`
- fi
-
- cat << EOF >> ${1}
- kernel@${2} {
- description = "Linux kernel";
- data = /incbin/("${3}");
- type = "kernel";
- arch = "${UBOOT_ARCH}";
- os = "linux";
- compression = "${4}";
- load = <${UBOOT_LOADADDRESS}>;
- entry = <${ENTRYPOINT}>;
- hash@1 {
- algo = "${kernel_csum}";
- };
- };
-EOF
-}
-
-#
-# Emit the fitImage ITS DTB section
-#
-# $1 ... .its filename
-# $2 ... Image counter
-# $3 ... Path to DTB image
-fitimage_emit_section_dtb() {
-
- dtb_csum="sha1"
-
- if [ -n "${DTB_LOAD}" ]; then
- dtb_loadline="load = <${DTB_LOAD}>;"
- fi
-
- cat << EOF >> ${1}
- fdt@${2} {
- description = "Flattened Device Tree blob";
- data = /incbin/("${3}");
- type = "flat_dt";
- arch = "${UBOOT_ARCH}";
- compression = "none";
- ${dtb_loadline}
- hash@1 {
- algo = "${dtb_csum}";
- };
- };
-EOF
-}
-
-#
-# Emit the fitImage ITS setup section
-#
-# $1 ... .its filename
-# $2 ... Image counter
-# $3 ... Path to setup image
-fitimage_emit_section_setup() {
-
- setup_csum="sha1"
-
- cat << EOF >> ${1}
- setup@${2} {
- description = "Linux setup.bin";
- data = /incbin/("${3}");
- type = "x86_setup";
- arch = "${UBOOT_ARCH}";
- os = "linux";
- compression = "none";
- load = <0x00090000>;
- entry = <0x00090000>;
- hash@1 {
- algo = "${setup_csum}";
- };
- };
-EOF
-}
-
-#
-# Emit the fitImage ITS ramdisk section
-#
-# $1 ... .its filename
-# $2 ... Image counter
-# $3 ... Path to ramdisk image
-fitimage_emit_section_ramdisk() {
-
- ramdisk_csum="sha1"
- ramdisk_ctype="none"
- ramdisk_loadline=""
- ramdisk_entryline=""
-
- if [ -n "${UBOOT_RD_LOADADDRESS}" ]; then
- ramdisk_loadline="load = <${UBOOT_RD_LOADADDRESS}>;"
- fi
- if [ -n "${UBOOT_RD_ENTRYPOINT}" ]; then
- ramdisk_entryline="entry = <${UBOOT_RD_ENTRYPOINT}>;"
- fi
-
- case $3 in
- *.gz)
- ramdisk_ctype="gzip"
- ;;
- *.bz2)
- ramdisk_ctype="bzip2"
- ;;
- *.lzma)
- ramdisk_ctype="lzma"
- ;;
- *.lzo)
- ramdisk_ctype="lzo"
- ;;
- *.lz4)
- ramdisk_ctype="lz4"
- ;;
- esac
-
- cat << EOF >> ${1}
- ramdisk@${2} {
- description = "${INITRAMFS_IMAGE}";
- data = /incbin/("${3}");
- type = "ramdisk";
- arch = "${UBOOT_ARCH}";
- os = "linux";
- compression = "${ramdisk_ctype}";
- ${ramdisk_loadline}
- ${ramdisk_entryline}
- hash@1 {
- algo = "${ramdisk_csum}";
- };
- };
-EOF
-}
-
-#
-# Emit the fitImage ITS configuration section
-#
-# $1 ... .its filename
-# $2 ... Linux kernel ID
-# $3 ... DTB image name
-# $4 ... ramdisk ID
-# $5 ... config ID
-# $6 ... default flag
-fitimage_emit_section_config() {
-
- conf_csum="sha1"
- if [ -n "${UBOOT_SIGN_ENABLE}" ] ; then
- conf_sign_keyname="${UBOOT_SIGN_KEYNAME}"
- fi
-
- # Test if we have any DTBs at all
- conf_desc="Linux kernel"
- kernel_line="kernel = \"kernel@${2}\";"
- fdt_line=""
- ramdisk_line=""
- setup_line=""
- default_line=""
-
- if [ -n "${3}" ]; then
- conf_desc="${conf_desc}, FDT blob"
- fdt_line="fdt = \"fdt@${3}\";"
- fi
-
- if [ -n "${4}" ]; then
- conf_desc="${conf_desc}, ramdisk"
- ramdisk_line="ramdisk = \"ramdisk@${4}\";"
- fi
-
- if [ -n "${5}" ]; then
- conf_desc="${conf_desc}, setup"
- setup_line="setup = \"setup@${5}\";"
- fi
-
- if [ "${6}" = "1" ]; then
- default_line="default = \"conf@${3}\";"
- fi
-
- cat << EOF >> ${1}
- ${default_line}
- conf@${3} {
- description = "${6} ${conf_desc}";
- ${kernel_line}
- ${fdt_line}
- ${ramdisk_line}
- ${setup_line}
- hash@1 {
- algo = "${conf_csum}";
- };
-EOF
-
- if [ ! -z "${conf_sign_keyname}" ] ; then
-
- sign_line="sign-images = \"kernel\""
-
- if [ -n "${3}" ]; then
- sign_line="${sign_line}, \"fdt\""
- fi
-
- if [ -n "${4}" ]; then
- sign_line="${sign_line}, \"ramdisk\""
- fi
-
- if [ -n "${5}" ]; then
- sign_line="${sign_line}, \"setup\""
- fi
-
- sign_line="${sign_line};"
-
- cat << EOF >> ${1}
- signature@1 {
- algo = "${conf_csum},rsa2048";
- key-name-hint = "${conf_sign_keyname}";
- ${sign_line}
- };
-EOF
- fi
-
- cat << EOF >> ${1}
- };
-EOF
-}
-
-#
-# Assemble fitImage
-#
-# $1 ... .its filename
-# $2 ... fitImage name
-# $3 ... include ramdisk
-fitimage_assemble() {
- kernelcount=1
- dtbcount=""
- DTBS=""
- ramdiskcount=${3}
- setupcount=""
- rm -f ${1} arch/${ARCH}/boot/${2}
-
- fitimage_emit_fit_header ${1}
-
- #
- # Step 1: Prepare a kernel image section.
- #
- fitimage_emit_section_maint ${1} imagestart
-
- uboot_prep_kimage
- fitimage_emit_section_kernel ${1} "${kernelcount}" linux.bin "${linux_comp}"
-
- #
- # Step 2: Prepare a DTB image section
- #
- if [ -n "${KERNEL_DEVICETREE}" ]; then
- dtbcount=1
- for DTB in ${KERNEL_DEVICETREE}; do
- if echo ${DTB} | grep -q '/dts/'; then
- bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used."
- DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
- fi
- DTB_PATH="arch/${ARCH}/boot/dts/${DTB}"
- DTB=`basename ${DTB}`
- if [ ! -e "${DTB_PATH}" ]; then
- DTB_PATH="arch/${ARCH}/boot/${DTB}"
- fi
-
- DTBS="${DTBS} ${DTB}"
- fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}
- done
- fi
-
- #
- # Step 3: Prepare a setup section. (For x86)
- #
- if [ -e arch/${ARCH}/boot/setup.bin ]; then
- setupcount=1
- fitimage_emit_section_setup ${1} "${setupcount}" arch/${ARCH}/boot/setup.bin
- fi
-
- #
- # Step 4: Prepare a ramdisk section.
- #
- if [ "x${ramdiskcount}" = "x1" ] ; then
- # Find and use the first initramfs image archive type we find
- for img in cpio.lz4 cpio.lzo cpio.lzma cpio.zst cpio.xz cpio.gz ext2.gz cpio; do
- initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}"
- echo "Using $initramfs_path"
- if [ -e "${initramfs_path}" ]; then
- fitimage_emit_section_ramdisk ${1} "${ramdiskcount}" "${initramfs_path}"
- break
- fi
- done
- fi
-
- fitimage_emit_section_maint ${1} sectend
-
- # Force the first Kernel and DTB in the default config
- kernelcount=1
- if [ -n "${dtbcount}" ]; then
- dtbcount=1
- fi
-
- #
- # Step 5: Prepare a configurations section
- #
- fitimage_emit_section_maint ${1} confstart
-
- if [ -n "${DTBS}" ]; then
- i=1
- for DTB in ${DTBS}; do
- fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`"
- i=`expr ${i} + 1`
- done
- fi
-
- fitimage_emit_section_maint ${1} sectend
-
- fitimage_emit_section_maint ${1} fitend
-
- #
- # Step 6: Assemble the image
- #
- uboot-mkimage \
- ${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
- -f ${1} \
- arch/${ARCH}/boot/${2}
-
- #
- # Step 7: Sign the image and add public key to U-Boot dtb
- #
- if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
- uboot-mkimage \
- ${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
- -F -k "${UBOOT_SIGN_KEYDIR}" \
- -K "${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY}" \
- -r arch/${ARCH}/boot/${2}
- fi
-}
-
-do_assemble_fitimage() {
- if echo ${KERNEL_IMAGETYPES} | grep -wq "itbImage"; then
- cd ${B}
- fitimage_assemble itb-image.its itbImage
- fi
-}
-
-addtask assemble_fitimage before do_install after do_compile
-
-do_assemble_fitimage_initramfs() {
- if echo ${KERNEL_IMAGETYPES} | grep -wq "itbImage" && \
- test -n "${INITRAMFS_IMAGE}" ; then
- cd ${B}
- fitimage_assemble itb-image-${INITRAMFS_IMAGE}.its itbImage-${INITRAMFS_IMAGE} 1
- fi
-}
-
-addtask assemble_fitimage_initramfs before do_deploy after do_install
-
-
-kernel_do_deploy[vardepsexclude] = "DATETIME"
-kernel_do_deploy:append() {
- # Update deploy directory
- if echo ${KERNEL_IMAGETYPES} | grep -wq "itbImage"; then
- cd ${B}
- echo "Copying fit-image.its source file..."
- its_base_name="itbImage-its-${PV}-${PR}-${MACHINE}-${DATETIME}"
- its_symlink_name=itbImage-its-${MACHINE}
- install -m 0644 itb-image.its ${DEPLOYDIR}/${its_base_name}.its
- linux_bin_base_name="itbImage-linux.bin-${PV}-${PR}-${MACHINE}-${DATETIME}"
- linux_bin_symlink_name=itbImage-linux.bin-${MACHINE}
- install -m 0644 linux.bin ${DEPLOYDIR}/${linux_bin_base_name}.bin
-
- if [ -n "${INITRAMFS_IMAGE}" ]; then
- echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..."
- its_initramfs_base_name="itbImage-its-${INITRAMFS_IMAGE_NAME}-${PV}-${PR}-${DATETIME}"
- its_initramfs_symlink_name=itbImage-its-${INITRAMFS_IMAGE_NAME}
- install -m 0644 itb-image-${INITRAMFS_IMAGE}.its ${DEPLOYDIR}/${its_initramfs_base_name}.its
- fit_initramfs_base_name="itbImage-${INITRAMFS_IMAGE_NAME}-${PV}-${PR}-${DATETIME}"
- fit_initramfs_symlink_name=itbImage-${INITRAMFS_IMAGE_NAME}
- install -m 0644 arch/${ARCH}/boot/itbImage-${INITRAMFS_IMAGE} ${DEPLOYDIR}/${fit_initramfs_base_name}.bin
- fi
-
- cd ${DEPLOYDIR}
- ln -sf ${its_base_name}.its ${its_symlink_name}.its
- ln -sf ${linux_bin_base_name}.bin ${linux_bin_symlink_name}.bin
-
- if [ -n "${INITRAMFS_IMAGE}" ]; then
- ln -sf ${its_initramfs_base_name}.its ${its_initramfs_symlink_name}.its
- ln -sf ${fit_initramfs_base_name}.bin ${fit_initramfs_symlink_name}.bin
- fi
- fi
-}
diff --git a/classes/mfgtool-initramfs-image.bbclass b/classes/mfgtool-initramfs-image.bbclass
index 4f67621f..f338bf82 100644
--- a/classes/mfgtool-initramfs-image.bbclass
+++ b/classes/mfgtool-initramfs-image.bbclass
@@ -6,16 +6,17 @@
#
# Copyright 2014-2017 (C) O.S. Systems Software LTDA.
-DEPENDS += "u-boot-mfgtool linux-mfgtool"
+DEPENDS += "linux-mfgtool"
FEATURE_PACKAGES_mtd = "packagegroup-fsl-mfgtool-mtd"
FEATURE_PACKAGES_extfs = "packagegroup-fsl-mfgtool-extfs"
FEATURE_PACKAGES_f2fs = "packagegroup-fsl-mfgtool-f2fs"
ZSTD_COMPRESSION_LEVEL ?= "-10"
-IMAGE_FSTYPES = "cpio.zst.u-boot"
-IMAGE_FSTYPES:mxs-generic-bsp = "cpio.gz.u-boot"
+SOC_DEFAULT_IMAGE_FSTYPES = "cpio.zst.u-boot"
+SOC_DEFAULT_IMAGE_FSTYPES:mxs-generic-bsp = "cpio.gz.u-boot"
IMAGE_ROOTFS_SIZE ?= "8192"
+IMAGE_NAME_SUFFIX = ""
# Filesystems enabled by default
DEFAULT_FS_SUPPORT = " \
diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass
index eb88fb99..f07580dd 100644
--- a/classes/use-imx-security-controller-firmware.bbclass
+++ b/classes/use-imx-security-controller-firmware.bbclass
@@ -16,13 +16,13 @@
# This behavior ensures that derivatives which requires SECO Firmware to be
# present in the image file have it properly defined.
-SECO_FIRMWARE_NAME ?= ""
-SECO_FIRMWARE_NAME:mx8qm-nxp-bsp = "mx8qmb0-ahab-container.img"
-SECO_FIRMWARE_NAME:mx8qxp-nxp-bsp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'mx8qxb0-ahab-container.img', \
- 'mx8qxc0-ahab-container.img', d)}"
-SECO_FIRMWARE_NAME:mx8dx-nxp-bsp = "mx8qxc0-ahab-container.img"
-SECO_FIRMWARE_NAME:mx8dxl-nxp-bsp = "mx8dxla1-ahab-container.img"
+SECO_FIRMWARE_NAME ?= ""
+SECO_FIRMWARE_NAME:mx8qm-generic-bsp ?= "mx8qm${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8qxp-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8dx-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8dxl-generic-bsp ?= "mx8dxl${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx93-generic-bsp ?= "mx93${IMX_SOC_REV_LOWER}-ahab-container.img"
python () {
if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"):
diff --git a/classes/uuu_bootloader_tag.bbclass b/classes/uuu_bootloader_tag.bbclass
index fb6acd72..87745660 100644
--- a/classes/uuu_bootloader_tag.bbclass
+++ b/classes/uuu_bootloader_tag.bbclass
@@ -4,8 +4,9 @@
do_deploy:append() {
if [ "${UUU_BOOTLOADER}" != "" ]; then
cp ${DEPLOYDIR}/${UUU_BOOTLOADER} ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED}
+ cp ${DEPLOYDIR}/${UUU_BOOTLOADER} ${DEPLOYDIR}/${UUU_BOOTLOADER_UNTAGGED}
ln -sf ${UUU_BOOTLOADER_TAGGED} ${DEPLOYDIR}/${UUU_BOOTLOADER}
- stat -L -cUUUBURNXXOEUZX7+A-XY5601QQWWZ%sEND ${DEPLOYDIR}/${UUU_BOOTLOADER} \
- >> ${DEPLOYDIR}/${UUU_BOOTLOADER}
+ stat -L -cUUUBURNXXOEUZX7+A-XY5601QQWWZ%sEND ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED} \
+ >> ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED}
fi
}
diff --git a/conf/layer.conf b/conf/layer.conf
index 98169255..ef4e3e6e 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -8,7 +8,8 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "freescale-layer"
BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_freescale-layer = "5"
-LAYERSERIES_COMPAT_freescale-layer = "kirkstone"
+LAYERSERIES_COMPAT_freescale-layer = "kirkstone langdale mickledore nanbield scarthgap"
+LAYERDEPENDS_freescale-layer = "core"
# Add the Freescale-specific licenses into the metadata
LICENSE_PATH += "${LAYERDIR}/custom-licenses"
@@ -23,6 +24,15 @@ FSL_MIRROR ?= "${IMX_MIRROR}"
MIRRORS += " \
${IMX_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
"
+# Needs gbm_bo_create_with_modifiers2() API which is not
+# implemented in imx GL driver implementation
+COMPATIBLE_HOST:pn-xdg-desktop-portal-wlr:imxgpu = "(null)"
+
+# For compatibility with layers before scarthgap
+PROVIDES:pn-bmap-tools-native = "bmaptool-native"
+RPROVIDES:pn-bmap-tools-native:bmap-tools-native = "bmaptool-native"
+PROVIDES:pn-bmap-tools = "bmaptool"
+RPROVIDES:pn-bmap-tools:bmap-tools = "bmaptool"
BBFILES_DYNAMIC += " \
aglprofilegraphical:${LAYERDIR}/dynamic-layers/aglprofilegraphical/*/*/*.bb \
@@ -40,6 +50,11 @@ BBFILES_DYNAMIC += " \
ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bb \
ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bbappend \
\
+ meta-arm:${LAYERDIR}/dynamic-layers/meta-arm/*/*/*.bbappend \
+ \
+ multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \
+ multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \
+ \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
\
@@ -49,6 +64,9 @@ BBFILES_DYNAMIC += " \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
\
+ qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/*/*/*.bb \
+ qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/*/*/*.bbappend \
+ \
virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/*/*/*.bb \
virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/*/*/*.bbappend \
"
diff --git a/conf/machine/imx23evk.conf b/conf/machine/imx23evk.conf
index 5e8be1e9..4e2fe980 100644
--- a/conf/machine/imx23evk.conf
+++ b/conf/machine/imx23evk.conf
@@ -18,6 +18,4 @@ UBOOT_SUFFIX = "sb"
UBOOT_MACHINE = "mx23evk_config"
-KERNEL_DEVICETREE = "imx23-evk.dtb"
-
-MACHINE_FEATURES = "usbgadget usbhost vfat touchscreen"
+KERNEL_DEVICETREE = "nxp/mxs/imx23-evk.dtb"
diff --git a/conf/machine/imx28evk.conf b/conf/machine/imx28evk.conf
index 9763a396..cecb97d2 100644
--- a/conf/machine/imx28evk.conf
+++ b/conf/machine/imx28evk.conf
@@ -21,12 +21,10 @@ UBOOT_CONFIG[sd] = "mx28evk_config,sdcard"
UBOOT_CONFIG[nand] = "mx28evk_nand_config,ubifs"
UBOOT_CONFIG[sd-auart-console] = "mx28evk_auart_console_config,sdcard"
-KERNEL_DEVICETREE = "imx28-evk.dtb"
+KERNEL_DEVICETREE = "nxp/mxs/imx28-evk.dtb"
SERIAL_CONSOLES = "115200;ttyAMA0"
-MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen"
-
## Parameters for NAND IC part-# K9LBG08U0D-PCB0
MKUBIFS_ARGS = "--min-io-size 4096 --leb-size 516096 --max-leb-cnt 8139"
diff --git a/conf/machine/imx51evk.conf b/conf/machine/imx51evk.conf
index 7c66435d..5934afa1 100644
--- a/conf/machine/imx51evk.conf
+++ b/conf/machine/imx51evk.conf
@@ -9,7 +9,7 @@ MACHINEOVERRIDES =. "mx5:mx51:"
include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa8.inc
-KERNEL_DEVICETREE = "imx51-babbage.dtb"
+KERNEL_DEVICETREE = "nxp/imx/imx51-babbage.dtb"
# This machine is not supported by u-boot-imx as it is not tested by NXP on this
# board. So we force it to use u-boot-fslc which is based on mainline here.
diff --git a/conf/machine/imx53qsb.conf b/conf/machine/imx53qsb.conf
index 0d6a7b22..60ac75d6 100644
--- a/conf/machine/imx53qsb.conf
+++ b/conf/machine/imx53qsb.conf
@@ -2,14 +2,14 @@
#@NAME: NXP i.MX53 Quick Start Board
#@SOC: i.MX53
#@DESCRIPTION: Machine configuration for NXP i.MX53 Quick Start Board
-#@MAINTAINER: Trevor Woerner <trevor.woerner@linaro.org>
+#@MAINTAINER: Trevor Woerner <twoerner@gmail.com>
MACHINEOVERRIDES =. "mx5:mx53:"
include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa8.inc
-KERNEL_DEVICETREE = "imx53-qsb.dtb imx53-qsrb.dtb"
+KERNEL_DEVICETREE = "nxp/imx/imx53-qsb.dtb nxp/imx/imx53-qsrb.dtb"
# This machine is not supported by u-boot-imx as it is not tested by NXP on this
# board. So we force it to use u-boot-fslc which is based on mainline here.
diff --git a/conf/machine/imx6qdlsabreauto.conf b/conf/machine/imx6qdlsabreauto.conf
index a5ec1249..eb521579 100644
--- a/conf/machine/imx6qdlsabreauto.conf
+++ b/conf/machine/imx6qdlsabreauto.conf
@@ -32,30 +32,34 @@ KERNEL_DEVICETREE:use-mainline-bsp = " \
imx6dl-sabreauto.dtb \
"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@oe.utils.ifelse(d.getVar('IMX_DEFAULT_BOOTLOADER') == 'u-boot-imx', \
+ bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d), '')}"
+
### u-boot-fslc settings ###
SPL_BINARY:pn-u-boot-fslc = "SPL"
-UBOOT_CONFIG:pn-u-boot-fslc ??= "sd-fslc"
UBOOT_SUFFIX:pn-u-boot-fslc = "img"
### u-boot-imx settings ###
SPL_BINARY:pn-u-boot-imx = ""
-UBOOT_CONFIG:pn-u-boot-imx ??= " \
- sd-imx \
- ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee-imx', '', d)} \
-"
UBOOT_MAKE_TARGET:pn-u-boot-imx = "u-boot.imx"
UBOOT_SUFFIX:pn-u-boot-imx = "imx"
+UBOOT_MAKE_TARGET:pn-u-boot-imx-mfgtool = "u-boot.imx"
+UBOOT_SUFFIX:pn-u-boot-imx-mfgtool = "imx"
+
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_MACHINE_NAME}_defconfig,sdcard"
+UBOOT_CONFIG[sd-optee] = "${UBOOT_CONFIG_MACHINE_NAME}_optee_defconfig,sdcard"
+UBOOT_CONFIG[eimnor] = "${UBOOT_CONFIG_MACHINE_NAME}_eimnor_defconfig"
+UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_MACHINE_NAME}_nand_defconfig,ubifs"
+UBOOT_CONFIG[spinor] = "${UBOOT_CONFIG_MACHINE_NAME}_spinor_defconfig"
+UBOOT_CONFIG[sata] = "${UBOOT_CONFIG_MACHINE_NAME}_sata_defconfig"
# The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
# variants. Change the defconfig to the targeted SoC variant.
-UBOOT_CONFIG[sd-fslc] = "mx6sabreauto_defconfig,sdcard"
-UBOOT_CONFIG[sd-imx] = "mx6qpsabreauto_defconfig,sdcard"
-UBOOT_CONFIG[sd-optee-imx] = "mx6qpsabreauto_optee_defconfig,sdcard"
-UBOOT_CONFIG[eimnor-imx] = "mx6qpsabreauto_eimnor_defconfig"
-UBOOT_CONFIG[nand-imx] = "mx6qpsabreauto_nand_defconfig,ubifs"
-UBOOT_CONFIG[spinor-imx] = "mx6qpsabreauto_spinor_defconfig"
-UBOOT_CONFIG[sata-imx] = "mx6qpsabreauto_sata_defconfig"
-UBOOT_CONFIG[mfgtool-imx] = "mx6qpsabreauto_defconfig"
+UBOOT_CONFIG_MACHINE_NAME = "mx6sabreauto"
+UBOOT_CONFIG_MACHINE_NAME:pn-u-boot-imx = "mx6qpsabreauto"
+UBOOT_CONFIG_MACHINE_NAME:pn-u-boot-imx-mfgtool = "mx6qpsabreauto"
WKS_FILE = " \
${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
@@ -68,4 +72,4 @@ SERIAL_CONSOLES = "115200;ttymxc3"
MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
-MACHINE_FEATURES += " pci wifi bluetooth"
+MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio"
diff --git a/conf/machine/imx6qdlsabresd.conf b/conf/machine/imx6qdlsabresd.conf
index 81d1c962..580a57c6 100644
--- a/conf/machine/imx6qdlsabresd.conf
+++ b/conf/machine/imx6qdlsabresd.conf
@@ -41,27 +41,31 @@ KERNEL_DEVICETREE:use-mainline-bsp = " \
imx6dl-sabresd.dtb \
"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@oe.utils.ifelse(d.getVar('IMX_DEFAULT_BOOTLOADER') == 'u-boot-imx', \
+ bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d), '')}"
+
### u-boot-fslc settings ###
SPL_BINARY:pn-u-boot-fslc = "SPL"
-UBOOT_CONFIG:pn-u-boot-fslc ??= "sd-fslc"
UBOOT_SUFFIX:pn-u-boot-fslc = "img"
### u-boot-imx settings ###
SPL_BINARY:pn-u-boot-imx = ""
-UBOOT_CONFIG:pn-u-boot-imx ??= " \
- sd-imx \
- ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee-imx', '', d)} \
-"
UBOOT_MAKE_TARGET:pn-u-boot-imx = "u-boot.imx"
UBOOT_SUFFIX:pn-u-boot-imx = "imx"
+UBOOT_MAKE_TARGET:pn-u-boot-imx-mfgtool = "u-boot.imx"
+UBOOT_SUFFIX:pn-u-boot-imx-mfgtool = "imx"
+
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_MACHINE_NAME}_defconfig,sdcard"
+UBOOT_CONFIG[sd-optee] = "${UBOOT_CONFIG_MACHINE_NAME}_optee_defconfig,sdcard"
+UBOOT_CONFIG[sata] = "${UBOOT_CONFIG_MACHINE_NAME}_sata_defconfig"
# The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
# variants. Change the defconfig to the targeted SoC variant.
-UBOOT_CONFIG[sd-fslc] = "mx6sabresd_defconfig,sdcard"
-UBOOT_CONFIG[sd-imx] = "mx6qsabresd_defconfig,sdcard"
-UBOOT_CONFIG[sd-optee-imx] = "mx6qsabresd_optee_defconfig,sdcard"
-UBOOT_CONFIG[sata-imx] = "mx6qsabresd_sata_defconfig"
-UBOOT_CONFIG[mfgtool-imx] = "mx6qsabresd_defconfig"
+UBOOT_CONFIG_MACHINE_NAME = "mx6sabresd"
+UBOOT_CONFIG_MACHINE_NAME:pn-u-boot-imx = "mx6qsabresd"
+UBOOT_CONFIG_MACHINE_NAME:pn-u-boot-imx-mfgtool = "mx6qsabresd"
WKS_FILE = " \
${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
@@ -74,4 +78,4 @@ SERIAL_CONSOLES = "115200;ttymxc0"
MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
-MACHINE_FEATURES += " pci wifi bluetooth"
+MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio"
diff --git a/conf/machine/imx6slevk.conf b/conf/machine/imx6slevk.conf
index a0048974..601fa303 100644
--- a/conf/machine/imx6slevk.conf
+++ b/conf/machine/imx6slevk.conf
@@ -28,12 +28,11 @@ UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard"
UBOOT_CONFIG[sd-optee] = "mx6slevk_optee_config,sdcard"
UBOOT_CONFIG[epdc] = "mx6slevk_epdc_config"
UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config"
-UBOOT_CONFIG[mfgtool] = "mx6slevk_config"
OPTEE_BIN_EXT = "6slevk"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc"
diff --git a/conf/machine/imx6sllevk.conf b/conf/machine/imx6sllevk.conf
index 19df28a4..96f077cb 100644
--- a/conf/machine/imx6sllevk.conf
+++ b/conf/machine/imx6sllevk.conf
@@ -10,6 +10,9 @@ include conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv7a/tune-cortexa9.inc
KERNEL_DEVICETREE = "imx6sll-evk.dtb"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ imx6sll-evk-btwifi.dtb \
+ imx6sll-evk-reva.dtb"
UBOOT_MAKE_TARGET = "u-boot.imx"
UBOOT_SUFFIX = "imx"
@@ -21,13 +24,12 @@ UBOOT_CONFIG ??= " \
UBOOT_CONFIG[sd] = "mx6sllevk_config,sdcard"
UBOOT_CONFIG[sd-optee] = "mx6sllevk_optee_config,sdcard"
UBOOT_CONFIG[epdc] = "mx6sllevk_epdc_config"
-UBOOT_CONFIG[mfgtool] = "mx6sllevk_config"
OPTEE_BIN_EXT:imx6sllevk = "6sllevk"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
# MESA DRI library
XSERVER += "mesa-driver-swrast"
diff --git a/conf/machine/imx6sxsabreauto.conf b/conf/machine/imx6sxsabreauto.conf
index 18f490f4..e51d5d49 100644
--- a/conf/machine/imx6sxsabreauto.conf
+++ b/conf/machine/imx6sxsabreauto.conf
@@ -23,7 +23,6 @@ UBOOT_CONFIG[sd] = "mx6sxsabreauto_config,sdcard"
UBOOT_CONFIG[sd-optee] = "mx6sxsabreauto_optee_config,sdcard"
UBOOT_CONFIG[qspi1] = "mx6sxsabreauto_qspi1_config"
UBOOT_CONFIG[nand] = "mx6sxsabreauto_nand_config,ubifs"
-UBOOT_CONFIG[mfgtool] = "mx6sxsabreauto_config"
OPTEE_BIN_EXT = "6sxauto"
@@ -31,4 +30,4 @@ SERIAL_CONSOLES = "115200;ttymxc3"
MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
-MACHINE_FEATURES += " pci wifi bluetooth"
+MACHINE_FEATURES += " pci wifi bluetooth nxp8987-sdio"
diff --git a/conf/machine/imx6sxsabresd.conf b/conf/machine/imx6sxsabresd.conf
index 9f939ca7..56e2ac9d 100644
--- a/conf/machine/imx6sxsabresd.conf
+++ b/conf/machine/imx6sxsabresd.conf
@@ -37,7 +37,6 @@ UBOOT_CONFIG[sd-optee] = "mx6sxsabresd_optee_config,sdcard"
UBOOT_CONFIG[emmc] = "mx6sxsabresd_emmc_config,sdcard"
UBOOT_CONFIG[qspi2] = "mx6sxsabresd_qspi2_config"
UBOOT_CONFIG[m4fastup] = "mx6sxsabresd_m4fastup_config"
-UBOOT_CONFIG[mfgtool] = "mx6sxsabresd_config"
OPTEE_BIN_EXT = "6sxsdb"
@@ -45,4 +44,4 @@ SERIAL_CONSOLES = "115200;ttymxc0"
MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
-MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
diff --git a/conf/machine/imx6ulevk.conf b/conf/machine/imx6ulevk.conf
index 8f908efe..5be340bd 100644
--- a/conf/machine/imx6ulevk.conf
+++ b/conf/machine/imx6ulevk.conf
@@ -9,16 +9,17 @@ MACHINEOVERRIDES =. "mx6ul:"
include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa7.inc
-MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
KERNEL_DEVICETREE = " \
- imx6ul-14x14-evk-btwifi.dtb \
- imx6ul-14x14-evk-csi.dtb \
- imx6ul-14x14-evk.dtb \
- imx6ul-14x14-evk-ecspi.dtb \
- imx6ul-14x14-evk-ecspi-slave.dtb \
- imx6ul-14x14-evk-emmc.dtb \
- imx6ul-14x14-evk-gpmi-weim.dtb \
+ imx6ul-14x14-evk-btwifi.dtb \
+ imx6ul-14x14-evk-btwifi-sdio3_0.dtb \
+ imx6ul-14x14-evk-csi.dtb \
+ imx6ul-14x14-evk.dtb \
+ imx6ul-14x14-evk-ecspi.dtb \
+ imx6ul-14x14-evk-ecspi-slave.dtb \
+ imx6ul-14x14-evk-emmc.dtb \
+ imx6ul-14x14-evk-gpmi-weim.dtb \
"
KERNEL_DEVICETREE:use-mainline-bsp = "imx6ul-14x14-evk.dtb"
@@ -32,7 +33,9 @@ UBOOT_SUFFIX:pn-u-boot-fslc = "img"
# The u-boot-imx does not provide SPL support
SPL_BINARY:pn-u-boot-imx = ""
UBOOT_MAKE_TARGET:pn-u-boot-imx = "u-boot.imx"
+UBOOT_MAKE_TARGET:pn-u-boot-imx-mfgtool = "u-boot.imx"
UBOOT_SUFFIX:pn-u-boot-imx = "imx"
+UBOOT_SUFFIX:pn-u-boot-imx-mfgtool = "imx"
WKS_FILE = " \
${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
@@ -47,6 +50,5 @@ UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_config,sdcard"
UBOOT_CONFIG[sd-optee] = "mx6ul_14x14_evk_optee_config,sdcard"
UBOOT_CONFIG[emmc] = "mx6ul_14x14_evk_emmc_config,sdcard"
UBOOT_CONFIG[qspi1] = "mx6ul_14x14_evk_qspi1_config"
-UBOOT_CONFIG[mfgtool] = "mx6ul_14x14_evk_config"
OPTEE_BIN_EXT = "6ulevk"
diff --git a/conf/machine/imx6ullevk.conf b/conf/machine/imx6ullevk.conf
index e5ea2ec2..60668c2f 100644
--- a/conf/machine/imx6ullevk.conf
+++ b/conf/machine/imx6ullevk.conf
@@ -9,16 +9,16 @@ MACHINEOVERRIDES =. "mx6ull:"
include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa7.inc
-MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8801-sdio nxp8987-sdio"
KERNEL_DEVICETREE = " \
- imx6ull-14x14-evk.dtb \
+ imx6ull-14x14-evk.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- imx6ull-14x14-evk-btwifi.dtb \
- imx6ull-14x14-evk-emmc.dtb \
- imx6ull-14x14-evk-gpmi-weim.dtb \
+ imx6ull-14x14-evk-btwifi.dtb \
+ imx6ull-14x14-evk-emmc.dtb \
+ imx6ull-14x14-evk-gpmi-weim.dtb \
"
UBOOT_MAKE_TARGET = "u-boot.imx"
@@ -33,6 +33,5 @@ UBOOT_CONFIG[sd-optee] = "mx6ull_14x14_evk_optee_config,sdcard"
UBOOT_CONFIG[emmc] = "mx6ull_14x14_evk_emmc_config,sdcard"
UBOOT_CONFIG[nand] = "mx6ull_14x14_evk_nand_config,ubifs"
UBOOT_CONFIG[qspi1] = "mx6ull_14x14_evk_qspi1_config"
-UBOOT_CONFIG[mfgtool] = "mx6ull_14x14_evk_config"
OPTEE_BIN_EXT = "6ullevk"
diff --git a/conf/machine/imx6ulz-14x14-evk.conf b/conf/machine/imx6ulz-14x14-evk.conf
index 7775fde3..6cb1698d 100644
--- a/conf/machine/imx6ulz-14x14-evk.conf
+++ b/conf/machine/imx6ulz-14x14-evk.conf
@@ -9,7 +9,7 @@ MACHINEOVERRIDES =. "mx6ulz:"
include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa7.inc
-MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
KERNEL_DEVICETREE = " \
imx6ulz-14x14-evk.dtb \
diff --git a/conf/machine/imx7dsabresd.conf b/conf/machine/imx7dsabresd.conf
index 7183d6f9..7bea7b83 100644
--- a/conf/machine/imx7dsabresd.conf
+++ b/conf/machine/imx7dsabresd.conf
@@ -9,19 +9,20 @@ MACHINEOVERRIDES =. "mx7:mx7d:"
require conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa7.inc
-MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455"
+MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
KERNEL_DEVICETREE = "imx7d-sdb.dtb"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- imx7d-sdb-epdc.dtb \
- imx7d-sdb-gpmi-weim.dtb \
- imx7d-sdb-m4.dtb \
- imx7d-sdb-mipi-dsi.dtb \
- imx7d-sdb-pcie-ep.dtb \
- imx7d-sdb-qspi.dtb \
- imx7d-sdb-reva.dtb \
- imx7d-sdb-sht11.dtb \
- imx7d-sdb-usd-wifi.dtb \
+ imx7d-sdb-epdc.dtb \
+ imx7d-sdb-gpmi-weim.dtb \
+ imx7d-sdb-m4.dtb \
+ imx7d-sdb-mipi-dsi.dtb \
+ imx7d-sdb-mqs.dtb \
+ imx7d-sdb-pcie-ep.dtb \
+ imx7d-sdb-qspi.dtb \
+ imx7d-sdb-reva.dtb \
+ imx7d-sdb-sht11.dtb \
+ imx7d-sdb-usd-wifi.dtb \
"
UBOOT_MAKE_TARGET = "u-boot.imx"
@@ -37,7 +38,6 @@ UBOOT_CONFIG[nonsec] = "mx7dsabresd_nonsec_config,sdcard"
UBOOT_CONFIG[qspi1] = "mx7dsabresd_qspi1_config"
UBOOT_CONFIG[nand] = "mx7dsabresd_nand_config,ubifs"
UBOOT_CONFIG[epdc] = "mx7dsabresd_epdc_config"
-UBOOT_CONFIG[mfgtool] = "mx7dsabresd_config"
OPTEE_BIN_EXT = "7dsdb"
diff --git a/conf/machine/imx7ulpevk.conf b/conf/machine/imx7ulpevk.conf
index 77774e2c..6825669f 100644
--- a/conf/machine/imx7ulpevk.conf
+++ b/conf/machine/imx7ulpevk.conf
@@ -9,7 +9,7 @@ MACHINEOVERRIDES =. "mx7:mx7ulp:"
require conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa7.inc
-MACHINE_FEATURES += "pci wifi bluetooth bcm43430"
+MACHINE_FEATURES += "pci wifi bluetooth bcm43430 nxp8987-sdio"
KERNEL_DEVICETREE = " \
imx7ulp-evk.dtb \
@@ -38,7 +38,6 @@ UBOOT_CONFIG ??= " \
UBOOT_CONFIG[sd] = "mx7ulp_evk_config,sdcard"
UBOOT_CONFIG[sd-optee] = "mx7ulp_evk_optee_config,sdcard"
UBOOT_CONFIG[emmc] = "mx7ulp_evk_emmc_config,sdcard"
-UBOOT_CONFIG[mfgtool] = "mx7ulp_evk_config"
OPTEE_BIN_EXT = "7ulp"
diff --git a/conf/machine/imx8dx-mek.conf b/conf/machine/imx8dx-mek.conf
index fbb35f13..f7abd89a 100644
--- a/conf/machine/imx8dx-mek.conf
+++ b/conf/machine/imx8dx-mek.conf
@@ -1,5 +1,6 @@
#@TYPE: Machine
#@NAME: i.MX 8DX MEK
+#@SOC: i.MX8DX
#@DESCRIPTION: i.MX 8DualX Multisensory Enablement Kit board
#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
diff --git a/conf/machine/imx8dxl-a1-ddr3l-evk.conf b/conf/machine/imx8dxl-a1-ddr3l-evk.conf
new file mode 100644
index 00000000..e2be4277
--- /dev/null
+++ b/conf/machine/imx8dxl-a1-ddr3l-evk.conf
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: i.MX 8DXL A1 EVK with DDR3L
+#@SOC: i.MX8DXL A1
+#@DESCRIPTION: Machine configuration for NXP i.MX 8DualXLite A1 Evaluation Kit with DDR3L
+#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
+
+require conf/machine/include/imx8dxl-ddr3l-evk.inc
+
+IMX_SOC_REV = "A1"
diff --git a/conf/machine/imx8dxl-a1-lpddr4-evk.conf b/conf/machine/imx8dxl-a1-lpddr4-evk.conf
new file mode 100644
index 00000000..24942cf4
--- /dev/null
+++ b/conf/machine/imx8dxl-a1-lpddr4-evk.conf
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: i.MX 8DXL A1 EVK with LPDDR4
+#@SOC: i.MX8DXL A1
+#@DESCRIPTION: Machine configuration for NXP i.MX 8DualXLite A1 Evaluation Kit with LPDDR4
+#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
+
+require conf/machine/include/imx8dxl-lpddr4-evk.inc
+
+IMX_SOC_REV = "A1"
diff --git a/conf/machine/imx8dxl-b0-ddr3l-evk.conf b/conf/machine/imx8dxl-b0-ddr3l-evk.conf
new file mode 100644
index 00000000..0ffc176d
--- /dev/null
+++ b/conf/machine/imx8dxl-b0-ddr3l-evk.conf
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME: i.MX 8DXL B0 EVK with DDR3L
+#@SOC: i.MX8DXL B0
+#@DESCRIPTION: Machine configuration for NXP i.MX 8DualXLite B0 Evaluation Kit with DDR3L
+#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
+
+require conf/machine/include/imx8dxl-ddr3l-evk.inc
+
+IMX_SOC_REV = "B0"
+
+MACHINE_FEATURES:append:use-nxp-bsp = " optee"
diff --git a/conf/machine/imx8dxl-b0-lpddr4-evk.conf b/conf/machine/imx8dxl-b0-lpddr4-evk.conf
new file mode 100644
index 00000000..2d4d1e0d
--- /dev/null
+++ b/conf/machine/imx8dxl-b0-lpddr4-evk.conf
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME: i.MX 8DXL B0 EVK with LPDDR4
+#@SOC: i.MX8DXL B0
+#@DESCRIPTION: Machine configuration for NXP i.MX 8DualXLite B0 Evaluation Kit with LPDDR4
+#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
+
+require conf/machine/include/imx8dxl-lpddr4-evk.inc
+
+IMX_SOC_REV = "B0"
+
+MACHINE_FEATURES:append:use-nxp-bsp = " optee"
diff --git a/conf/machine/imx8dxl-ddr3l-evk.conf b/conf/machine/imx8dxl-ddr3l-evk.conf
deleted file mode 100644
index e74bc259..00000000
--- a/conf/machine/imx8dxl-ddr3l-evk.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-#@TYPE: Machine
-#@NAME: i.MX 8DXL EVK with DDR3
-#@DESCRIPTION: NXP i.MX 8DXLite Evaluation Kit with DDR3
-#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
-
-require conf/machine/include/imx8dxl-evk.inc
-KERNEL_DEVICETREE_BASENAME = "imx8dxl-ddr3-evk"
-UBOOT_CONFIG_BASENAME = "imx8dxl_ddr3_evk"
-UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig"
-
-BOARD_TYPE = "ddr3-evk"
diff --git a/conf/machine/imx8mm-ddr4-evk.conf b/conf/machine/imx8mm-ddr4-evk.conf
index 431485e7..467ca863 100644
--- a/conf/machine/imx8mm-ddr4-evk.conf
+++ b/conf/machine/imx8mm-ddr4-evk.conf
@@ -8,8 +8,11 @@ require include/imx8mm-evk.inc
KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-revb.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191-cmd-ram.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67199.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67199-cmd-ram.dtb \
"
UBOOT_CONFIG_BASENAME = "imx8mm_ddr4_evk"
@@ -24,7 +27,5 @@ DDR_FIRMWARE_NAME = " \
IMXBOOT_TARGETS_BASENAME = "flash_ddr4_evk"
-# Mainline BSP doesn't support DDR4 so it must be set to nxp.
-# Also this machine isn't supported by u-boot-fslc but imx8mm-evk.inc already
-# set the bootloader to u-boot-imx instead when NXP BSP is used.
-IMX_DEFAULT_BSP = "nxp"
+# Mainline U-Boot doesn't support DDR4 so it must be set to u-boot-imx.
+IMX_DEFAULT_BOOTLOADER = "u-boot-imx"
diff --git a/conf/machine/imx8mm-lpddr4-evk.conf b/conf/machine/imx8mm-lpddr4-evk.conf
index 0c886cb1..1387e594 100644
--- a/conf/machine/imx8mm-lpddr4-evk.conf
+++ b/conf/machine/imx8mm-lpddr4-evk.conf
@@ -9,17 +9,22 @@ require include/imx8mm-evk.inc
# The device tree name is implicit for LPDDR4, so can't use MACHINE here
KERNEL_DEVICETREE_BASENAME = "imx8mm-evk"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-ak4497.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-audio-tdm.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-qca-wifi.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-revb-qca-wifi.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ak4497.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-audio-tdm.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-dpdk.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ecspi-slave.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lk.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-qca-wifi.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-revb-qca-wifi.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-wm8524.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-wm8524-lpv.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
"
@@ -27,15 +32,10 @@ UBOOT_CONFIG_BASENAME = "imx8mm_evk"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
DDR_FIRMWARE_NAME = " \
- lpddr4_pmu_train_1d_imem.bin \
- lpddr4_pmu_train_1d_dmem.bin \
- lpddr4_pmu_train_2d_imem.bin \
- lpddr4_pmu_train_2d_dmem.bin \
+ lpddr4_pmu_train_1d_imem.bin \
+ lpddr4_pmu_train_1d_dmem.bin \
+ lpddr4_pmu_train_2d_imem.bin \
+ lpddr4_pmu_train_2d_dmem.bin \
"
IMXBOOT_TARGETS_BASENAME = "flash_evk"
-
-# Mainline BSP doesn't support LPDDR4 so it must be set to nxp.
-# Also this machine isn't supported by u-boot-fslc but imx8mn-evk.inc already
-# set the bootloader to u-boot-imx instead when NXP BSP is used.
-IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/imx8mn-lpddr4-evk.conf b/conf/machine/imx8mn-lpddr4-evk.conf
index 51a79c38..25103706 100644
--- a/conf/machine/imx8mn-lpddr4-evk.conf
+++ b/conf/machine/imx8mn-lpddr4-evk.conf
@@ -9,7 +9,11 @@ require include/imx8mn-evk.inc
# The device tree name is implicit for LPDDR4, so can't use MACHINE here
KERNEL_DEVICETREE_BASENAME = "imx8mn-evk"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \
"
UBOOT_CONFIG_BASENAME = "imx8mn_evk"
DDR_FIRMWARE_NAME = " \
diff --git a/conf/machine/imx8mnul-ddr3l-evk.conf b/conf/machine/imx8mnul-ddr3l-evk.conf
new file mode 100644
index 00000000..de00b6f6
--- /dev/null
+++ b/conf/machine/imx8mnul-ddr3l-evk.conf
@@ -0,0 +1,69 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8MNUL EVK with DDR3L
+#@SOC: i.MX8MN
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Nano UltraLite Evaluation Kit with DDR3L
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+MACHINEOVERRIDES =. "mx8mnul:"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8a/tune-cortexa53.inc
+
+MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356"
+
+# NXP BSP can consume proprietary jailhouse and Broadcom drivers
+# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
+# a full support for it yet.
+MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359"
+
+KERNEL_DEVICETREE_BASENAME = "imx8mn-ddr3l-evk"
+KERNEL_DEVICETREE = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
+"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+"
+
+UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
+
+IMX_DEFAULT_BOOTLOADER = "u-boot-imx"
+IMX_DEFAULT_KERNEL = "linux-imx"
+
+UBOOT_SUFFIX = "bin"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG_BASENAME = "imx8mn_ddr3l_evk"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_config,sdcard"
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+ATF_PLATFORM = "imx8mn"
+
+# Set DDR FIRMWARE
+DDR_FIRMWARE_VERSION = "201810"
+DDR_FIRMWARE_NAME = " \
+ ddr3_dmem_1d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr3_imem_1d_${DDR_FIRMWARE_VERSION}.bin \
+"
+
+# Set imx-mkimage boot target
+IMXBOOT_TARGETS_BASENAME = "flash_ddr3l_evk"
+IMXBOOT_TARGETS = " \
+ ${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', \
+ '${IMXBOOT_TARGETS_BASENAME}', d)}"
+
+IMX_BOOT_SOC_TARGET = "iMX8MN"
+
+SERIAL_CONSOLES = "115200;ttymxc1"
+
+IMAGE_BOOTLOADER = "imx-boot"
+
+BOOT_SPACE = "65536"
+LOADADDR = ""
+UBOOT_MAKE_TARGET = "all"
+UBOOT_MAKE_TARGET:pn-u-boot-imx = ""
+IMX_BOOT_SEEK = "32"
+
+OPTEE_BIN_EXT = "8mnul"
diff --git a/conf/machine/imx8mp-lpddr4-evk.conf b/conf/machine/imx8mp-lpddr4-evk.conf
index c015963c..39108716 100644
--- a/conf/machine/imx8mp-lpddr4-evk.conf
+++ b/conf/machine/imx8mp-lpddr4-evk.conf
@@ -12,31 +12,39 @@ KERNEL_DEVICETREE_BASENAME = "imx8mp-evk"
# NXP kernel has additional DTB files for various board configuration and
# derivates. Include them here for NXP BSP only
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- freescale/imx8mp-ab2.dtb \
- freescale/imx8mp-evk-basler.dtb \
- freescale/imx8mp-evk-basler-ov2775.dtb \
- freescale/imx8mp-evk-basler-ov5640.dtb \
- freescale/imx8mp-evk-dual-basler.dtb \
- freescale/imx8mp-evk-dual-ov2775.dtb \
- freescale/imx8mp-evk-ecspi-slave.dtb \
- freescale/imx8mp-evk-flexcan2.dtb \
- freescale/imx8mp-evk-hifiberry-dacplus.dtb \
- freescale/imx8mp-evk-inmate.dtb \
- freescale/imx8mp-evk-iqaudio-dacplus.dtb \
- freescale/imx8mp-evk-iqaudio-dacpro.dtb \
- freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
- freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
- freescale/imx8mp-evk-ndm.dtb \
- freescale/imx8mp-evk-ov2775.dtb \
- freescale/imx8mp-evk-ov2775-ov5640.dtb \
- freescale/imx8mp-evk-pcie-ep.dtb \
- freescale/imx8mp-evk-rm67191.dtb \
- freescale/imx8mp-evk-rm67199.dtb \
- freescale/imx8mp-evk-root.dtb \
- freescale/imx8mp-evk-rpmsg.dtb \
- freescale/imx8mp-evk-sof-wm8960.dtb \
- freescale/imx8mp-evk-spdif-lb.dtb \
- freescale/imx8mp-evk-usdhc1-m2.dtb \
+ freescale/imx8mp-ab2.dtb \
+ freescale/imx8mp-evk-basler.dtb \
+ freescale/imx8mp-evk-basler-ov2775.dtb \
+ freescale/imx8mp-evk-basler-ov5640.dtb \
+ freescale/imx8mp-evk-dpdk.dtb \
+ freescale/imx8mp-evk-dsp.dtb \
+ freescale/imx8mp-evk-dual-basler.dtb \
+ freescale/imx8mp-evk-dual-os08a20.dtb \
+ freescale/imx8mp-evk-dual-ov2775.dtb \
+ freescale/imx8mp-evk-ecspi-slave.dtb \
+ freescale/imx8mp-evk-flexcan2.dtb \
+ freescale/imx8mp-evk-hifiberry-dacplus.dtb \
+ freescale/imx8mp-evk-inmate.dtb \
+ freescale/imx8mp-evk-iqaudio-dacplus.dtb \
+ freescale/imx8mp-evk-iqaudio-dacpro.dtb \
+ freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
+ freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
+ freescale/imx8mp-evk-ndm.dtb \
+ freescale/imx8mp-evk-os08a20.dtb \
+ freescale/imx8mp-evk-os08a20-ov5640.dtb \
+ freescale/imx8mp-evk-ov2775.dtb \
+ freescale/imx8mp-evk-ov2775-ov5640.dtb \
+ freescale/imx8mp-evk-pcie-ep.dtb \
+ freescale/imx8mp-evk-revA3-8mic-revE.dtb \
+ freescale/imx8mp-evk-rm67191.dtb \
+ freescale/imx8mp-evk-rm67199.dtb \
+ freescale/imx8mp-evk-root.dtb \
+ freescale/imx8mp-evk-rpmsg.dtb \
+ freescale/imx8mp-evk-rpmsg-lpv.dtb \
+ freescale/imx8mp-evk-sof-wm8960.dtb \
+ freescale/imx8mp-evk-spdif-lb.dtb \
+ freescale/imx8mp-evk-usdhc1-m2.dtb \
+ freescale/imx8mp-evk-8mic-swpdm.dtb \
"
UBOOT_CONFIG_BASENAME = "imx8mp_evk"
@@ -46,10 +54,10 @@ UBOOT_CONFIG[ndm] = "${UBOOT_CONFIG_BASENAME}_ndm_defconfig"
# Set DDR FIRMWARE
DDR_FIRMWARE_VERSION = "202006"
DDR_FIRMWARE_NAME = " \
- lpddr4_pmu_train_1d_dmem_${DDR_FIRMWARE_VERSION}.bin \
- lpddr4_pmu_train_1d_imem_${DDR_FIRMWARE_VERSION}.bin \
- lpddr4_pmu_train_2d_dmem_${DDR_FIRMWARE_VERSION}.bin \
- lpddr4_pmu_train_2d_imem_${DDR_FIRMWARE_VERSION}.bin \
+ lpddr4_pmu_train_1d_dmem_${DDR_FIRMWARE_VERSION}.bin \
+ lpddr4_pmu_train_1d_imem_${DDR_FIRMWARE_VERSION}.bin \
+ lpddr4_pmu_train_2d_dmem_${DDR_FIRMWARE_VERSION}.bin \
+ lpddr4_pmu_train_2d_imem_${DDR_FIRMWARE_VERSION}.bin \
"
IMXBOOT_TARGETS_BASENAME = "flash_evk"
diff --git a/conf/machine/imx8mq-evk.conf b/conf/machine/imx8mq-evk.conf
index 1e8146a8..92a436e5 100644
--- a/conf/machine/imx8mq-evk.conf
+++ b/conf/machine/imx8mq-evk.conf
@@ -4,7 +4,7 @@
#@DESCRIPTION: Machine configuration for NXP i.MX 8M Quad Evaluation Kit
#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
-MACHINEOVERRIDES =. "imx-boot-container:mx8mq:"
+MACHINEOVERRIDES =. "mx8mq:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
@@ -14,7 +14,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
-MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356"
+MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio"
MACHINE_FEATURES:append:use-nxp-bsp = " optee bcm4359"
MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
@@ -50,7 +50,6 @@ UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "imx8mq_evk_config,sdcard"
-UBOOT_CONFIG[mfgtool] = "imx8mq_evk_config"
SPL_BINARY = "spl/u-boot-spl.bin"
@@ -68,9 +67,6 @@ UBOOT_DTB_NAME = "imx8mq-evk.dtb"
# Set ATF platform name
ATF_PLATFORM = "imx8mq"
-# Extra firmware package name, that is required to build boot container for fslc bsp
-IMX_EXTRA_FIRMWARE = "firmware-imx-8m"
-
# Set imx-mkimage boot target
IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk"
IMX_BOOT_SOC_TARGET = "iMX8M"
@@ -95,7 +91,6 @@ UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp ??= "root=/dev/mmcblk1p2"
IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
IMX_BOOT_SEEK = "33"
diff --git a/conf/machine/imx8mq-lpddr4-wevk.conf b/conf/machine/imx8mq-lpddr4-wevk.conf
new file mode 100644
index 00000000..6aa8e0ee
--- /dev/null
+++ b/conf/machine/imx8mq-lpddr4-wevk.conf
@@ -0,0 +1,19 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Quad LPDDR4 WEVK
+#@SOC: i.MX8MQ
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Quad LPDDR4 EVK with NXP Wi-Fi
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+MACHINEOVERRIDES =. "imx8mq-evk:"
+require conf/machine/imx8mq-evk.conf
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "imx8mq_wevk_config,sdcard"
+
+# Set imx-mkimage boot target
+IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi"
+
+# Mainline BSP doesn't support LPDDR4 WEVK board so it must be set to nxp.
+# Also this machine isn't supported by u-boot-fslc but imx8mq-evk.conf already
+# set the bootloader to u-boot-imx instead when NXP BSP is used.
+IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/imx8qm-mek.conf b/conf/machine/imx8qm-mek.conf
index eff8da49..5dea4e41 100644
--- a/conf/machine/imx8qm-mek.conf
+++ b/conf/machine/imx8qm-mek.conf
@@ -1,5 +1,6 @@
#@TYPE: Machine
#@NAME: i.MX 8QM MEK
+#@SOC: i.MX8QM
#@DESCRIPTION: i.MX 8QuadMax Multisensory Enablement Kit board, rev B0
#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
@@ -10,7 +11,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
IMX_DEFAULT_BSP = "nxp"
-MACHINE_FEATURES += "pci optee bcm43455 bcm4356"
+MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
@@ -26,26 +27,26 @@ SERIAL_CONSOLES = "115200;ttyAMA0"
USE_VT = "0"
KERNEL_DEVICETREE = " \
- freescale/imx8qm-mek.dtb \
- freescale/imx8qm-mek-ca53.dtb \
- freescale/imx8qm-mek-ca72.dtb \
- freescale/imx8qm-mek-dom0.dtb \
- freescale/imx8qm-mek-domu.dtb \
- freescale/imx8qm-mek-dsi-rm67191.dtb \
- freescale/imx8qm-mek-enet2-tja1100.dtb \
- freescale/imx8qm-mek-esai.dtb \
- freescale/imx8qm-mek-hdmi.dtb \
- freescale/imx8qm-mek-inmate.dtb \
- freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \
- freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \
- freescale/imx8qm-mek-ov5640.dtb \
- freescale/imx8qm-mek-pcie-ep.dtb \
- freescale/imx8qm-mek-root.dtb \
- freescale/imx8qm-mek-rpmsg.dtb \
- freescale/imx8qm-mek-sof-cs42888.dtb \
- freescale/imx8qm-mek-sof-wm8960.dtb \
- freescale/imx8qm-mek-usd-wifi.dtb \
- freescale/imx8qm-mek-usdhc3-m2.dtb \
+ freescale/imx8qm-mek.dtb \
+ freescale/imx8qm-mek-ca53.dtb \
+ freescale/imx8qm-mek-ca72.dtb \
+ freescale/imx8qm-mek-dsi-rm67191.dtb \
+ freescale/imx8qm-mek-dsi-rm67199.dtb \
+ freescale/imx8qm-mek-enet2-tja1100.dtb \
+ freescale/imx8qm-mek-esai.dtb \
+ freescale/imx8qm-mek-hdmi.dtb \
+ freescale/imx8qm-mek-hdmi-rx.dtb \
+ freescale/imx8qm-mek-hdmi-rx-ov5640.dtb \
+ freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \
+ freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \
+ freescale/imx8qm-mek-ov5640.dtb \
+ freescale/imx8qm-mek-pcie-ep.dtb \
+ freescale/imx8qm-mek-rpmsg.dtb \
+ freescale/imx8qm-mek-sof.dtb \
+ freescale/imx8qm-mek-sof-cs42888.dtb \
+ freescale/imx8qm-mek-sof-wm8960.dtb \
+ freescale/imx8qm-mek-usd-wifi.dtb \
+ freescale/imx8qm-mek-usdhc3-m2.dtb \
"
UBOOT_MAKE_TARGET = \
@@ -62,7 +63,6 @@ UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "imx8qm_mek_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "imx8qm_mek_fspi_defconfig"
-UBOOT_CONFIG[mfgtool] = "imx8qm_mek_defconfig"
IMX_BOOT_SEEK = "32"
diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf
index 29412cc3..72867a95 100644
--- a/conf/machine/imx8qxp-mek.conf
+++ b/conf/machine/imx8qxp-mek.conf
@@ -1,5 +1,6 @@
#@TYPE: Machine
#@NAME: i.MX 8QXP MEK
+#@SOC: i.MX8QXP
#@DESCRIPTION: i.MX 8QuadXPlus Multisensory Enablement Kit board
#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
@@ -9,18 +10,20 @@ require include/imx8x-mek.inc
KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-a0.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-dom0.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif-rpmsg.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-enet2.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif-rpmsg.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-a0.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67199.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67199-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-enet2.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-enet2-sja1105.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-enet2-tja1100.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-sof.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \
"
UBOOT_CONFIG_BASENAME = "imx8qxp_mek"
diff --git a/conf/machine/imx8ulp-lpddr4-evk.conf b/conf/machine/imx8ulp-lpddr4-evk.conf
new file mode 100644
index 00000000..273e1569
--- /dev/null
+++ b/conf/machine/imx8ulp-lpddr4-evk.conf
@@ -0,0 +1,27 @@
+#@TYPE: Machine
+#@NAME: i.MX 8ULP EVK
+#@SOC: i.MX8ULP
+#@DESCRIPTION: Machine configuration for NXP i.MX 8ULP Evaluation Kit with LPDDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8ulp-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "imx8ulp-evk"
+
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-epdc.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpa.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-nd.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4m.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4mv2.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-sof-btsco.dtb \
+"
+
+UBOOT_CONFIG_BASENAME = "imx8ulp_evk"
+
+MACHINE_FEATURES += "soc-reva1"
+UPOWER_FIRMWARE_NAME = "upower_a1.bin"
+IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/imx93-11x11-lpddr4x-evk.conf b/conf/machine/imx93-11x11-lpddr4x-evk.conf
new file mode 100644
index 00000000..159a4472
--- /dev/null
+++ b/conf/machine/imx93-11x11-lpddr4x-evk.conf
@@ -0,0 +1,34 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 93 11x11 Evaluation Kit with LPDDR4X
+#@SOC: i.MX93
+#@DESCRIPTION: Machine configuration for NXP i.MX 93 11x11 EVK with LPDDR4X
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx93-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "imx93-11x11-evk"
+
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-aud-hat.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-boe-wxga-lvds-panel.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpuart.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-mt9m114.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
+ "
+
+UBOOT_CONFIG_BASENAME = "imx93_11x11_evk"
+
+DDR_FIRMWARE_NAME = " \
+ lpddr4_dmem_1d_v202201.bin \
+ lpddr4_dmem_2d_v202201.bin \
+ lpddr4_imem_1d_v202201.bin \
+ lpddr4_imem_2d_v202201.bin \
+"
diff --git a/conf/machine/imx93-14x14-lpddr4x-evk.conf b/conf/machine/imx93-14x14-lpddr4x-evk.conf
new file mode 100644
index 00000000..9ac24b65
--- /dev/null
+++ b/conf/machine/imx93-14x14-lpddr4x-evk.conf
@@ -0,0 +1,31 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 93 14x14 Evaluation Kit with LPDDR4X
+#@SOC: i.MX93
+#@DESCRIPTION: Machine configuration for NXP i.MX 93 14x14 EVK with LPDDR4X
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require conf/machine/include/imx93-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "imx93-14x14-evk"
+
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-aud-hat.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-tja1103.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lvds-it6263.dtb \
+"
+
+UBOOT_CONFIG_BASENAME = "imx93_14x14_evk"
+IMXBOOT_TARGETS_BASENAME = "flash_singleboot"
+
+DDR_FIRMWARE_NAME = " \
+ lpddr4_dmem_1d_v202201.bin \
+ lpddr4_dmem_2d_v202201.bin \
+ lpddr4_imem_1d_v202201.bin \
+ lpddr4_imem_2d_v202201.bin \
+"
+
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
+
+IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
diff --git a/conf/machine/imx93-9x9-lpddr4-qsb.conf b/conf/machine/imx93-9x9-lpddr4-qsb.conf
new file mode 100644
index 00000000..3ccd6fd7
--- /dev/null
+++ b/conf/machine/imx93-9x9-lpddr4-qsb.conf
@@ -0,0 +1,30 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX93 9x9 Quick Start Board with LPDDR4
+#@SOC: i.MX93
+#@DESCRIPTION: Machine configuration for NXP i.MX93 9x9 QSB with LPDDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx93-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "imx93-9x9-qsb"
+
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-can1.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-flexspi-m2.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-mt9m114.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ontat-wvga-panel.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg-lpv.dtb \
+"
+
+UBOOT_CONFIG_BASENAME = "imx93_9x9_qsb"
+
+DDR_FIRMWARE_NAME = " \
+ lpddr4_dmem_1d_v202201.bin \
+ lpddr4_dmem_2d_v202201.bin \
+ lpddr4_imem_1d_v202201.bin \
+ lpddr4_imem_2d_v202201.bin \
+"
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index d108552d..7f4ae4d7 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -60,6 +60,14 @@ UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
# |
# | UBOOT_MACHINE = "mx53loco_config"
# `----
+#
+# Please note that UBOOT_SUFFIX must be set in the machine config even
+# if the value is the same for the U-Boot flavors. If the value is not
+# set, then the assignment here is the one used, the value resolves to
+# empty, and the build fails:
+# | cp: cannot stat '/.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/build/imx8qm_mek_defconfig/u-boot.': No such file or directory
+#| WARNING: /.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/temp/run.do_compile.21223:186 exit 1 from 'cp /.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/build/${config}/${binary} /.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/build/${config}/u-boot-${type}.${UBOOT_SUFFIX:pn-u-boot-imx}'
+#
IMX_DEFAULT_BOOTLOADER ??= "u-boot-fslc"
UBOOT_SUFFIX ?= "${UBOOT_SUFFIX:pn-${IMX_DEFAULT_BOOTLOADER}}"
@@ -67,34 +75,61 @@ UBOOT_SUFFIX ?= "${UBOOT_SUFFIX:pn-${IMX_DEFAULT_BOOTLOADER}}"
# wic based images.
SPL_BINARY ??= "${@get_spl_binary(d)}"
-IMX_DEFAULT_MFGTOOL = "${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', 'u-boot-imx','u-boot-imx-mfgtool', 'u-boot-fslc', d)}"
-
PREFERRED_PROVIDER_u-boot ??= "${IMX_DEFAULT_BOOTLOADER}"
-PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_MFGTOOL}"
+PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_BOOTLOADER}"
PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}"
PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native"
-UBOOT_ENTRYPOINT:mxs-generic-bsp = "0x40008000"
-UBOOT_ENTRYPOINT:mx51-generic-bsp = "0x90008000"
-UBOOT_ENTRYPOINT:mx53-generic-bsp = "0x70008000"
-UBOOT_ENTRYPOINT:mx6-generic-bsp = "0x10008000"
-UBOOT_ENTRYPOINT:mx6sl-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx6sll-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx6sx-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx6ul-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx6ull-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx6ulz-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx7-generic-bsp = "0x80008000"
-UBOOT_ENTRYPOINT:mx7ulp-generic-bsp = "0x60008000"
-UBOOT_ENTRYPOINT:mx8m-generic-bsp = "0x40480000"
-UBOOT_ENTRYPOINT:vf-generic-bsp = "0x80008000"
-
-# Some derivates can utilize the boot container provided by U-Boot,
-# below variable sets that those machines which have a imx-boot-container
-# in their MACHINEOVERRIDES can inherit a imx-boot-container class
+UBOOT_ENTRYPOINT:mxs-generic-bsp ?= "0x40008000"
+UBOOT_ENTRYPOINT:mx51-generic-bsp ?= "0x90008000"
+UBOOT_ENTRYPOINT:mx53-generic-bsp ?= "0x70008000"
+UBOOT_ENTRYPOINT:mx6-generic-bsp ?= "0x10008000"
+UBOOT_ENTRYPOINT:mx6sl-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx6sll-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx6sx-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx6ul-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx6ull-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx6ulz-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000"
+UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000"
+UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000"
+UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000"
+
+# Some SoC can utilize the boot container provided by U-Boot,
+# below variable sets that those SoC do use this rather than
+# assembling it in the imx-boot recipe.
UBOOT_PROVIDES_BOOT_CONTAINER = "0"
-UBOOT_PROVIDES_BOOT_CONTAINER:imx-boot-container = "1"
+
+# The boot container should be used only if we're not using u-boot-imx as
+# IMX_DEFAULT_BOOTLOADER.
+UBOOT_PROVIDES_BOOT_CONTAINER:mx8m-generic-bsp = "${@oe.utils.ifelse(d.getVar('IMX_DEFAULT_BOOTLOADER') == 'u-boot-imx', '0', '1')}"
+
+# Trusted Firmware for Cortex-A (TF-A) can have different providers, either
+# from upstream or from NXP downstream fork. Below variable defines which TF-A
+# shall be taken into the build, and will be integrated into runtime image.
+#
+# Upstream TF-A recipe resides in the meta-arm layer and in maintained by OE
+# community. Therefore, in order to add upstream TF-A - additional layer has
+# to be included in the bblayers.con file. Compatible machines are added to
+# this layer via dynamic-layers mechanism.
+#
+# NOTE: Current upstream TF-A version (v2.7) does not support HAB feature of
+# i.MX8M family. If the upstream TF-A version is chosen, then HAB will not be
+# available for all SoCs that are opting-in. This might change with future TF-A
+# release, so this statement shall be kept here until support is added.
+#
+# Default TF-A provider to NXP downstream fork
+IMX_DEFAULT_ATF_PROVIDER ??= "imx-atf"
+
+# Allow setting the UART used during the boot by ATF.
+
+# FIXME: We should return INVALID here but currently only i.MX8M has support to override the UART
+# base address in source code.
+SOC_ATF_BOOT_UART_BASE = ""
+
+SOC_ATF_BOOT_UART_BASE:mx8m-generic-bsp = "0x30890000"
+ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER_DRIVER = "xf86-video-fbdev"
@@ -129,9 +164,27 @@ DEFAULTTUNE:vf-generic-bsp ?= "cortexa5thf-neon"
DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto"
DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto"
DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto"
+DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto"
+DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55"
INHERIT += "machine-overrides-extender"
+IMX_SOC_REV ??= "A0"
+IMX_SOC_REV:mx8qm-generic-bsp ??= "B0"
+IMX_SOC_REV:mx8qxp-generic-bsp ??= \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'B0', \
+ 'C0', d)}"
+IMX_SOC_REV:mx8dx-generic-bsp ??= "C0"
+# WARNING: Don't set a default for 8DXL since an image built with A1 can brick a B0 board
+#IMX_SOC_REV:mx8dxl-generic-bsp ??= ""
+IMX_SOC_REV:mx8ulp-generic-bsp ??= \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \
+ 'A2', d)}"
+IMX_SOC_REV:mx93-generic-bsp ??= "A1"
+
+IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}"
+IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
+
#######
### NXP BSP specific overrides
#######
@@ -151,16 +204,23 @@ MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxf
MACHINEOVERRIDES_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"
MACHINEOVERRIDES_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"
-MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp"
+MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp"
+
+MACHINEOVERRIDES_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"
MACHINEOVERRIDES_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"
-MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp"
-MACHINEOVERRIDES_EXTENDER:mx8mp: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:mx8mp-generic-bsp:mx8mp-nxp-bsp"
-MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp"
+MACHINEOVERRIDES_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"
+MACHINEOVERRIDES_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"
+MACHINEOVERRIDES_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"
+MACHINEOVERRIDES_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"
-MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp"
-MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp"
-MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8dxl-generic-bsp:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-nxp-bsp"
+MACHINEOVERRIDES_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"
+MACHINEOVERRIDES_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"
+MACHINEOVERRIDES_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"
+
+MACHINEOVERRIDES_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"
+
+MACHINEOVERRIDES_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"
#######
### Mainline BSP specific overrides
@@ -169,8 +229,6 @@ MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxf
MACHINEOVERRIDES_EXTENDER:mx23:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mxs-generic-bsp:mxs-mainline-bsp:mx23-generic-bsp:mx23-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx28:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mxs-generic-bsp:mxs-mainline-bsp:mx28-generic-bsp:mx28-mainline-bsp"
-MACHINEOVERRIDES_EXTENDER:mx27:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx27-generic-bsp:mx27-mainline-bsp"
-
MACHINEOVERRIDES_EXTENDER:mx51:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx5-generic-bsp:mx5-mainline-bsp:mx51-generic-bsp:mx51-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx53:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx5-generic-bsp:mx5-mainline-bsp:mx53-generic-bsp:mx53-mainline-bsp"
@@ -189,10 +247,13 @@ MACHINEOVERRIDES_EXTENDER:mx6ulz:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
MACHINEOVERRIDES_EXTENDER:mx7d:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx7-generic-bsp:mx7-mainline-bsp:mx7d-generic-bsp:mx7d-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx7ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx7-generic-bsp:mx7-mainline-bsp:mx7ulp-generic-bsp:mx7ulp-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:vf:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:vf-generic-bsp:vf-mainline-bsp"
+
MACHINEOVERRIDES_EXTENDER:mx8qm:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8qm-generic-bsp:mx8qm-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mm:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mm-generic-bsp:mx8mm-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mn:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mn-generic-bsp:mx8mn-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx8mnul:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mnul-generic-bsp:mx8mnul-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mp-generic-bsp:mx8mp-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mq:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mq-generic-bsp:mx8mq-mainline-bsp"
@@ -200,6 +261,10 @@ MACHINEOVERRIDES_EXTENDER:mx8qxp:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
MACHINEOVERRIDES_EXTENDER:mx8dx:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dx-generic-bsp:mx8dx-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dxl-generic-bsp:mx8dxl-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp"
+
MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
mx6 \
mx6q \
@@ -215,16 +280,21 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
mx7d \
mx7ulp \
\
+ vf \
+ \
mx8 \
mx8m \
mx8qm \
mx8mm \
mx8mn \
+ mx8mnul \
mx8mp \
mx8mq \
mx8qxp \
mx8dx \
mx8dxl \
+ mx8ulp \
+ mx93 \
"
MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'."
@@ -238,19 +308,21 @@ MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl"
MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp= "-mx6sll"
MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d"
MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp"
-MACHINE_SOCARCH_SUFFIX:vf60-nxp-bsp = "-vf60"
-MACHINE_SOCARCH_SUFFIX:vf50-nxp-bsp = "-vf50"
+MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf"
MACHINE_SOCARCH_SUFFIX:mx6ul-nxp-bsp = "-mx6ul"
MACHINE_SOCARCH_SUFFIX:mx6ull-nxp-bsp = "-mx6ul"
MACHINE_SOCARCH_SUFFIX:mx6ulz-nxp-bsp = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX:mx8qm-nxp-bsp = "-mx8"
-MACHINE_SOCARCH_SUFFIX:mx8mm-nxp-bsp = "-mx8mm"
-MACHINE_SOCARCH_SUFFIX:mx8mn-nxp-bsp = "-mx8mn"
-MACHINE_SOCARCH_SUFFIX:mx8mp-nxp-bsp = "-mx8mp"
-MACHINE_SOCARCH_SUFFIX:mx8mq-nxp-bsp = "-mx8m"
-MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
-MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
-MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
+MACHINE_SOCARCH_SUFFIX:mx8qm-nxp-bsp = "-mx8"
+MACHINE_SOCARCH_SUFFIX:mx8mm-nxp-bsp = "-mx8mm"
+MACHINE_SOCARCH_SUFFIX:mx8mn-nxp-bsp = "-mx8mn"
+MACHINE_SOCARCH_SUFFIX:mx8mnul-nxp-bsp = "-mx8mnl"
+MACHINE_SOCARCH_SUFFIX:mx8mp-nxp-bsp = "-mx8mp"
+MACHINE_SOCARCH_SUFFIX:mx8mq-nxp-bsp = "-mx8m"
+MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
+MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
+MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
+MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
+MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
# For Mainline we use a single SoC suffix as we don't have different build options
MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx"
@@ -267,13 +339,23 @@ MACHINE_SOCARCH_FILTER:append:imxvpu = " \
libimxvpuapi \
virtual/imxvpu \
"
+MACHINE_SOCARCH_FILTER:append:imxvulkan = " \
+ vulkan-headers \
+ vulkan-loader \
+ vulkan-tools \
+ vulkan-validation-layers \
+"
MACHINE_SOCARCH_FILTER:append:imxgpu = " \
virtual/egl \
- virtual/mesa \
virtual/libopenvg \
+ virtual/mesa \
+ virtual/opencl-icd \
libdrm \
cairo \
libgal-imx \
+ opencl-icd-loader \
+ opencl-clhpp \
+ opencl-headers \
opencv \
pango \
"
@@ -297,16 +379,6 @@ MACHINE_SOCARCH_FILTER:append:imx-mainline-bsp = " \
pango \
qtbase \
"
-MACHINE_SOCARCH_FILTER:append:mx6q-nxp-bsp = " \
- opencl-icd-loader \
- opencl-clhpp \
- opencl-headers \
-"
-MACHINE_SOCARCH_FILTER:append:mx8-nxp-bsp = " \
- opencl-icd-loader \
- opencl-clhpp \
- opencl-headers \
-"
MACHINE_SOCARCH_FILTER:append:mx8qm-nxp-bsp = " \
virtual/libopenvx \
"
@@ -321,26 +393,34 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS:append = " \
imx-test->virtual/imxvpu \
"
+# Firmware used for boot.
+IMX_EXTRA_FIRMWARE ?= ""
+IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware imx-seco"
+IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
+IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
+IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx"
+IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
+
# Firmware
MACHINE_FIRMWARE ?= ""
-MACHINE_FIRMWARE:append:mx27-generic-bsp = " firmware-imx-vpu-imx27"
-MACHINE_FIRMWARE:append:mx7d-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc"
-MACHINE_FIRMWARE:append:mx6-generic-bsp = " linux-firmware-imx-sdma-imx6q"
-MACHINE_FIRMWARE:append:mx6q-generic-bsp = " firmware-imx-vpu-imx6q"
-MACHINE_FIRMWARE:append:mx6dl-generic-bsp = " firmware-imx-vpu-imx6d firmware-imx-epdc"
-MACHINE_FIRMWARE:append:mx6sl-generic-bsp = " firmware-imx-epdc"
-MACHINE_FIRMWARE:append:mx6sll-generic-bsp = " firmware-imx-epdc"
-MACHINE_FIRMWARE:append:mx6ull-generic-bsp = " firmware-imx-epdc"
-MACHINE_FIRMWARE:append:mx53-generic-bsp = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
-MACHINE_FIRMWARE:append:mx51-generic-bsp = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
-MACHINE_FIRMWARE:append:mx8mm-generic-bsp = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE:append:mx8mn-generic-bsp = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE:append:mx8mp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx"
-MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE:append:mx8qm-generic-bsp = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
+MACHINE_FIRMWARE:append:mx51-generic-bsp = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
+MACHINE_FIRMWARE:append:mx53-generic-bsp = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
+MACHINE_FIRMWARE:append:mx6-generic-bsp = " linux-firmware-imx-sdma-imx6q"
+MACHINE_FIRMWARE:append:mx6q-generic-bsp = " firmware-imx-vpu-imx6q"
+MACHINE_FIRMWARE:append:mx6dl-generic-bsp = " firmware-imx-vpu-imx6d firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6sl-generic-bsp = " firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6sll-generic-bsp = " firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6ull-generic-bsp = " firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx7d-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx8qm-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx8"
+MACHINE_FIRMWARE:append:mx8mm-generic-bsp = " linux-firmware-imx-sdma-imx7d"
+MACHINE_FIRMWARE:append:mx8mn-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn"
+MACHINE_FIRMWARE:append:mx8mnul-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn"
+MACHINE_FIRMWARE:append:mx8mp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx"
+MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d"
+MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx8"
+MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx8"
+MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
@@ -350,16 +430,48 @@ IMX_ALSA_EXTRA:imx-nxp-bsp = "imx-alsa-plugins"
MACHINE_EXTRA_RRECOMMENDS:append:mx6-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append:mx7-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append:mx8-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append:mx9-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
# Extra Cypress Wi-Fi and BTW firmware (Murata)
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4339', 'linux-firmware-bcm4339', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43430', 'linux-firmware-bcm43430', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43455', 'linux-firmware-bcm43455', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4356', 'linux-firmware-bcm4356-pcie', '', d)}"
-MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4359', 'linux-firmware-bcm4359-pcie', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4359', 'firmware-nxp-wifi-bcm4359-pcie', '', d)}"
+
+# Extra NXP Wi-Fi and Bluetooth driver firmware and driver
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8801-sdio', 'firmware-nxp-wifi-nxp8801-sdio', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8801-sdio', 'kernel-module-nxp-wlan', '', d)}"
+
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987-sdio', 'firmware-nxp-wifi-nxp8987-sdio', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987-sdio', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxp8987-sdio = "firmware-nxp-wifi"
+
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-pcie', 'firmware-nxp-wifi-nxp8997-pcie', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-pcie', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxp8997-common = "firmware-nxp-wifi"
+PREFERRED_RPROVIDER_linux-firmware-nxp8997-pcie = "firmware-nxp-wifi"
+
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-sdio', 'firmware-nxp-wifi-nxp8997-sdio', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-sdio', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxp8997-sdio = "firmware-nxp-wifi"
-#Extra NXP89xx Wi-Fi and Bluetooth driver
-MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987', 'kernel-module-nxp89xx', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-pcie', 'firmware-nxp-wifi-nxp9098-pcie', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-pcie', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxp9098-common = "firmware-nxp-wifi"
+PREFERRED_RPROVIDER_linux-firmware-nxp9098-pcie = "firmware-nxp-wifi"
+
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-sdio', 'firmware-nxp-wifi-nxp9098-sdio', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-sdio', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxp9098-sdio = "firmware-nxp-wifi"
+
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw416-sdio', 'firmware-nxp-wifi-nxpiw416-sdio', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw416-sdio', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxpiw416-sdio = "firmware-nxp-wifi"
+
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw612-sdio', 'firmware-nxp-wifi-nxpiw612-sdio', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw612-sdio', 'kernel-module-nxp-wlan', '', d)}"
+PREFERRED_RPROVIDER_linux-firmware-nxpiw612-sdio = "firmware-nxp-wifi"
# Extra QCA Wi-Fi & BTE driver and firmware
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca6174', 'packagegroup-fsl-qca6174', '', d)}"
@@ -369,6 +481,7 @@ MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'q
MACHINE_EXTRA_RRECOMMENDS += "udev-rules-imx"
# Jailhouse
+PREFERRED_PROVIDER_jailhouse:imx-nxp-bsp ?= "jailhouse-imx"
MACHINE_EXTRA_RRECOMMENDS += " \
${@bb.utils.filter('COMBINED_FEATURES', 'jailhouse', d)} \
"
@@ -382,22 +495,45 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx6sx-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6ul-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6ull-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx7d-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN:mx8mm-nxp-bsp ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8mm-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8mn-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8mp-nxp-bsp ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN:mx8mq-nxp-bsp ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8mq-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin"
-
-PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ?= "1.18.5"
-PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ?= "1.18.5"
-PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ?= "1.18.5"
-PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ?= "4.4.1"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
+
+# GStreamer forked recipes
+PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.22.5.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.22.5.imx"
+
+# GStreamer copied recipes
+PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-omx:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-omx:mx9-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.22.0.imx"
+
+# GStreamer downgrade ffmpeg
+PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
+PREFERRED_VERSION_ffmpeg:mx9-nxp-bsp ??= "4.4.1"
# Determines if the SoC has support for Vivante kernel driver
SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0"
@@ -418,31 +554,55 @@ PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgl:imxgpu3d ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
+PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d"
PREFERRED_PROVIDER_opencl-clhpp:imxgpu ?= "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv"
+
+PREFERRED_VERSION_weston:imx-nxp-bsp ??= "11.0.3.imx"
+# i.MX 6 & 7 stay on weston 10.0 for fbdev
+PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.4.imx"
+PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.4.imx"
+PREFERRED_VERSION_weston:imx-mainline-bsp = ""
-PREFERRED_VERSION_weston:imx-nxp-bsp ?= "9.0.0.imx"
-PREFERRED_VERSION_weston:imx-mainline-bsp = ""
+PREFERRED_VERSION_wayland-protocols:mx6-nxp-bsp ??= "1.32.imx"
+PREFERRED_VERSION_wayland-protocols:mx7-nxp-bsp ??= "1.32.imx"
+PREFERRED_VERSION_wayland-protocols:mx8-nxp-bsp ??= "1.32.imx"
+PREFERRED_VERSION_wayland-protocols:mx9-nxp-bsp ??= "1.32.imx"
-PREFERRED_VERSION_wayland-protocols:mx6-nxp-bsp ?= "1.25.imx"
-PREFERRED_VERSION_wayland-protocols:mx7-nxp-bsp ?= "1.25.imx"
-PREFERRED_VERSION_wayland-protocols:mx8-nxp-bsp ?= "1.25.imx"
+PREFERRED_VERSION_wayland-native ??= "1.22.0.imx"
+PREFERRED_VERSION_nativesdk-wayland ??= "1.22.0.imx"
+PREFERRED_VERSION_wayland:imx-nxp-bsp ??= "1.22.0.imx"
+PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx"
# Use i.MX libdrm Version
-PREFERRED_VERSION_libdrm:mx6-nxp-bsp ?= "2.4.109.imx"
-PREFERRED_VERSION_libdrm:mx7-nxp-bsp ?= "2.4.109.imx"
-PREFERRED_VERSION_libdrm:mx8-nxp-bsp ?= "2.4.109.imx"
+PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.115.imx"
+PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.115.imx"
+PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.115.imx"
+PREFERRED_VERSION_libdrm:mx9-nxp-bsp ??= "2.4.115.imx"
+
+PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.239.0.imx"
# Use i.MX optee Version
-PREFERRED_VERSION_optee-os:mx8-nxp-bsp ?= "3.15.0.imx"
-PREFERRED_VERSION_optee-client:mx8-nxp-bsp ?= "3.15.0.imx"
-PREFERRED_VERSION_optee-test:mx8-nxp-bsp ?= "3.15.0.imx"
+PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.0.0.imx"
+PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.0.0.imx"
+PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.0.0.imx"
+PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.0.0.imx"
+PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.0.0.imx"
+PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.0.0.imx"
-#Use i.MX opencv Version for mx8
-PREFERRED_VERSION_opencv:mx8-nxp-bsp ?= "4.5.2.imx"
+# Use i.MX opencv Version
+PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx"
+PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx"
# Handle default kernel
IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc"
@@ -458,7 +618,8 @@ WIC_CREATE_EXTRA_ARGS ?= "--no-fstab-update"
OPTEE_BIN_EXT ??= ""
OPTEE_BOOT_IMAGE = "tee.bin uTee-${OPTEE_BIN_EXT}"
-OPTEE_BOOT_IMAGE:aarch64 = "tee.bin"
+OPTEE_BOOT_IMAGE:mx8-generic-bsp = "tee.bin"
+OPTEE_BOOT_IMAGE:mx9-generic-bsp = "tee.bin"
IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
@@ -476,34 +637,32 @@ WKS_FILE_DEPENDS ?= " \
virtual/bootloader \
\
e2fsprogs-native \
- bmap-tools-native \
+ bmaptool-native \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_WKS_FILE_DEPENDS}', '', d)} \
"
-WKS_FILE_DEPENDS:append:mx8-nxp-bsp = " imx-boot"
-WKS_FILE_DEPENDS:append:mx8m-nxp-bsp = " imx-boot"
-
# We need to restrict the append so we don't add this for other i.MX SoC's.
# Derivatives that are not yet adopted the usage of boot container provided
# by U-Boot build are still targeted to use 'imx-boot' package provided by
-# NXP. Moving those derivatives to mainline BSP would require to define an
-# 'imx-boot-container' override, and test if the U-Boot built 'flash.bin'
-# binary is used a replacement.
-# Note, that the results binary name of the boot container is set to 'imx-boot'
+# NXP.
+#
+# Moving those derivatives to mainline BSP would require to set
+# UBOOT_PROVIDES_BOOT_CONTAINER to "1" and test if the U-Boot built 'flash.bin'
+# binary is a working replacement.
+#
+# NOTE: the results binary name of the boot container is set to 'imx-boot'
# for both NXP and Mainline BSP.
-# For Mainline BSP: the 'flash.bin' boot container is renamed during the
-# deployment task extesion execution defined in imx-boot-container class.
-# For NXP BSP: rename is done in 'imx-boot' recipe at the execution of compile
-# task.
-WKS_FILE_DEPENDS:append:imx-mainline-bsp:aarch64 = " \
+WKS_FILE_DEPENDS:append:imx-generic-bsp:mx8-generic-bsp = " \
+ ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \
+"
+WKS_FILE_DEPENDS:append:imx-generic-bsp:mx9-generic-bsp = " \
${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \
"
SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks.in"
-SOC_DEFAULT_WKS_FILE:mx8m-nxp-bsp ?= "imx-imx-boot-bootpart.wks.in"
-
-SOC_DEFAULT_WKS_FILE:mx8-nxp-bsp ?= "imx-imx-boot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:mx8-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
SOC_DEFAULT_WKS_FILE:mxs-generic-bsp ?= "imx-uboot-mxs-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:mx9-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
@@ -511,11 +670,15 @@ SERIAL_CONSOLES = "115200;ttymxc0"
SERIAL_CONSOLES:mxs-generic-bsp = "115200;ttyAMA0"
KERNEL_IMAGETYPE = "zImage"
-KERNEL_IMAGETYPE:aarch64 = "Image"
+KERNEL_IMAGETYPE:mx8-generic-bsp = "Image"
+KERNEL_IMAGETYPE:mx9-generic-bsp = "Image"
-MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen"
+MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen screen"
HOSTTOOLS_NONFATAL:append:mx8-nxp-bsp = " sha384sum"
+# Add task to generate the mfgtool bundle for the image.
+IMAGE_CLASSES:append:imx-generic-bsp = " image_populate_mfgtool"
+
# Allow meta-imx to add NIP devices information until upstreamed.
include conf/machine/include/imx-base-extend.inc
diff --git a/conf/machine/include/imx8dxl-ddr3l-evk.inc b/conf/machine/include/imx8dxl-ddr3l-evk.inc
new file mode 100644
index 00000000..9c21aa35
--- /dev/null
+++ b/conf/machine/include/imx8dxl-ddr3l-evk.inc
@@ -0,0 +1,9 @@
+require conf/machine/include/imx8dxl-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "imx8dxl-ddr3l-evk"
+
+UBOOT_CONFIG_BASENAME = "imx8dxl_ddr3l_evk"
+
+UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig"
+
+BOARD_TYPE = "ddr3-evk"
diff --git a/conf/machine/include/imx8dxl-evk.inc b/conf/machine/include/imx8dxl-evk.inc
index f940fef7..0f9aa1f0 100644
--- a/conf/machine/include/imx8dxl-evk.inc
+++ b/conf/machine/include/imx8dxl-evk.inc
@@ -5,7 +5,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa35.inc
IMX_DEFAULT_BSP = "nxp"
-MACHINE_FEATURES += "pci bcm43455 bcm4356"
+MACHINE_FEATURES += "pci bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
diff --git a/conf/machine/imx8dxl-lpddr4-evk.conf b/conf/machine/include/imx8dxl-lpddr4-evk.inc
index 2ca9b986..b3b906ec 100644
--- a/conf/machine/imx8dxl-lpddr4-evk.conf
+++ b/conf/machine/include/imx8dxl-lpddr4-evk.inc
@@ -1,19 +1,15 @@
-#@TYPE: Machine
-#@NAME: i.MX 8DXL EVK with LPDDR4
-#@DESCRIPTION: i.MX 8DXLite Evaluation Kit with LPDDR4
-#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
-
require conf/machine/include/imx8dxl-evk.inc
+
KERNEL_DEVICETREE_BASENAME = "imx8dxl-evk"
+
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-enet0.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-enet0-tja1100.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
"
+
UBOOT_CONFIG_BASENAME = "imx8dxl_evk"
UBOOT_CONFIG[lcd] = "${UBOOT_CONFIG_BASENAME}_lcd_defconfig"
diff --git a/conf/machine/include/imx8mm-evk.inc b/conf/machine/include/imx8mm-evk.inc
index eba4ac9f..442f4477 100644
--- a/conf/machine/include/imx8mm-evk.inc
+++ b/conf/machine/include/imx8mm-evk.inc
@@ -1,4 +1,4 @@
-MACHINEOVERRIDES =. "imx-boot-container:mx8mm:"
+MACHINEOVERRIDES =. "mx8mm:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
@@ -8,7 +8,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
-MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356"
+MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
# NXP BSP can consume proprietary jailhouse and BCM4359 firmware
# Since the firmware is not available publicly, and rather distributed
@@ -22,27 +22,23 @@ KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191-cmd-ram.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199-cmd-ram.dtb \
"
UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
-IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
-
UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
-UBOOT_CONFIG[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
ATF_PLATFORM = "imx8mm"
-# Extra firmware package name, that is required to build boot container for fslc bsp
-IMX_EXTRA_FIRMWARE = "firmware-imx-8m"
-
IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
IMX_BOOT_SOC_TARGET = "iMX8MM"
@@ -69,7 +65,6 @@ UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = "all"
IMX_BOOT_SEEK = "33"
diff --git a/conf/machine/include/imx8mn-evk.inc b/conf/machine/include/imx8mn-evk.inc
index 5a5b447f..11657bcc 100644
--- a/conf/machine/include/imx8mn-evk.inc
+++ b/conf/machine/include/imx8mn-evk.inc
@@ -1,4 +1,4 @@
-MACHINEOVERRIDES =. "imx-boot-container:mx8mn:"
+MACHINEOVERRIDES =. "mx8mn:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
@@ -8,7 +8,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
-MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356"
+MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
# NXP BSP can consume proprietary jailhouse and Broadcom drivers
# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
@@ -16,14 +16,16 @@ MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356"
MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359"
KERNEL_DEVICETREE = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lk.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191-cmd-ram.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199-cmd-ram.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
"
UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
@@ -36,15 +38,11 @@ UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
UBOOT_CONFIG[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig"
-UBOOT_CONFIG[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
ATF_PLATFORM = "imx8mn"
-# Extra firmware package name, that is required to build boot container for fslc bsp
-IMX_EXTRA_FIRMWARE = "firmware-imx-8m"
-
IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
IMX_BOOT_SOC_TARGET = "iMX8MN"
@@ -72,7 +70,6 @@ IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.con
BOOT_SPACE = "65536"
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = "all"
# Image boot offset as defined in section 6.1.6.1 "Primary image offset and IVT offset" of
diff --git a/conf/machine/include/imx8mp-evk.inc b/conf/machine/include/imx8mp-evk.inc
index 3e98d3c1..24e5588f 100644
--- a/conf/machine/include/imx8mp-evk.inc
+++ b/conf/machine/include/imx8mp-evk.inc
@@ -1,4 +1,4 @@
-MACHINEOVERRIDES =. "imx-boot-container:mx8mp:"
+MACHINEOVERRIDES =. "mx8mp:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
@@ -8,7 +8,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
-MACHINE_FEATURES += "pci wifi bluetooth"
+MACHINE_FEATURES += "pci wifi bluetooth nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio"
# NXP BSP can consume proprietary jailhouse and Marvell drivers
# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
@@ -31,15 +31,11 @@ UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig"
-UBOOT_CONFIG[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
ATF_PLATFORM = "imx8mp"
-# Extra firmware package name, that is required to build boot container for fslc bsp
-IMX_EXTRA_FIRMWARE = "firmware-imx-8m"
-
IMXBOOT_TARGETS = \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', \
'${IMXBOOT_TARGETS_BASENAME}', d)}"
@@ -68,7 +64,6 @@ UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = "all"
IMX_BOOT_SEEK = "32"
diff --git a/conf/machine/include/imx8ulp-evk.inc b/conf/machine/include/imx8ulp-evk.inc
new file mode 100644
index 00000000..23269530
--- /dev/null
+++ b/conf/machine/include/imx8ulp-evk.inc
@@ -0,0 +1,44 @@
+MACHINEOVERRIDES =. "mx8:mx8ulp:"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8a/tune-cortexa35.inc
+
+MACHINE_FEATURES += "pci wifi bluetooth optee jailhouse"
+
+KERNEL_DEVICETREE = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
+"
+
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
+
+LOADADDR = ""
+UBOOT_SUFFIX = "bin"
+UBOOT_MAKE_TARGET = ""
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
+UBOOT_CONFIG[nd] = "${UBOOT_CONFIG_BASENAME}_nd_defconfig"
+
+# Set ATF platform name
+ATF_PLATFORM = "imx8ulp"
+
+IMXBOOT_TARGETS_SD = "flash_singleboot flash_dualboot"
+IMXBOOT_TARGETS_FSPI = "flash_dualboot_flexspi"
+IMXBOOT_TARGETS_ND = ""
+
+IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
+ bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', \
+ '${IMXBOOT_TARGETS_ND}', d), d)}"
+
+IMX_BOOT_SOC_TARGET = "iMX8ULP"
+IMX_BOOT_SEEK = "32"
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+SERIAL_CONSOLES = "115200;ttyLP1"
+
+# Add additional firmware
+MACHINE_FIRMWARE:append = " firmware-imx-epdc"
diff --git a/conf/machine/include/imx8x-mek.inc b/conf/machine/include/imx8x-mek.inc
index 55bce728..9eaa77c5 100644
--- a/conf/machine/include/imx8x-mek.inc
+++ b/conf/machine/include/imx8x-mek.inc
@@ -3,7 +3,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa35.inc
IMX_DEFAULT_BSP = "nxp"
-MACHINE_FEATURES += "pci optee bcm43455 bcm4356"
+MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
diff --git a/conf/machine/include/imx93-evk.inc b/conf/machine/include/imx93-evk.inc
new file mode 100644
index 00000000..3a922282
--- /dev/null
+++ b/conf/machine/include/imx93-evk.inc
@@ -0,0 +1,39 @@
+MACHINEOVERRIDES =. "mx93:"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
+
+MACHINE_FEATURES += "pci wifi bluetooth"
+MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse nxpiw612-sdio"
+
+KERNEL_DEVICETREE = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
+"
+UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
+
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
+
+LOADADDR = ""
+UBOOT_SUFFIX = "bin"
+UBOOT_MAKE_TARGET = ""
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
+UBOOT_CONFIG[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig"
+UBOOT_CONFIG[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig"
+
+# Set ATF platform name
+ATF_PLATFORM = "imx93"
+
+IMXBOOT_TARGETS = "flash_singleboot"
+
+IMX_BOOT_SOC_TARGET = "iMX9"
+IMX_BOOT_SEEK = "32"
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+SERIAL_CONSOLES = "115200;ttyLP0"
+
+IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/include/qoriq-base.inc b/conf/machine/include/qoriq-base.inc
index 35b7d82e..4340c942 100644
--- a/conf/machine/include/qoriq-base.inc
+++ b/conf/machine/include/qoriq-base.inc
@@ -39,7 +39,7 @@ WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
MACHINE_FEATURES ?= "pci ext2 ext3 serial"
MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf udev-rules-qoriq kernel-modules"
-EXTRA_IMAGEDEPENDS += "u-boot cst-native"
+EXTRA_IMAGEDEPENDS += "u-boot qoriq-cst-native"
MACHINEOVERRIDES =. "qoriq:"
diff --git a/conf/machine/ls1021atwr.conf b/conf/machine/ls1021atwr.conf
deleted file mode 100644
index dff6767c..00000000
--- a/conf/machine/ls1021atwr.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP LS1021ATWR board
-#@SOC: ls102xa
-#@DESCRIPTION: Machine configuration for NXP QorIQ LS1 Tower System
-# Module Rev2.0 with ARM Cortex-A7 core
-#@MAINTAINER: Zhenhua Luo <zhenhua.luo@freescale.com>
-
-MACHINEOVERRIDES =. "ls102xa:"
-
-require conf/machine/include/qoriq-arm.inc
-require conf/machine/include/arm/armv7a/tune-cortexa7.inc
-
-MACHINE_FEATURES += "optee"
-
-DEFAULTTUNE = "cortexa7hf-neon"
-
-UBOOT_CONFIG ??= "sdcard-ifc-secure-boot sdcard-ifc sdcard-qspi lpuart qspi secure-boot nor"
-UBOOT_CONFIG[nor] = "ls1021atwr_nor_defconfig"
-UBOOT_CONFIG[sdcard-ifc] = "ls1021atwr_sdcard_ifc_defconfig,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[sdcard-qspi] = "ls1021atwr_sdcard_qspi_defconfig,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[lpuart] = "ls1021atwr_nor_lpuart_defconfig"
-UBOOT_CONFIG[qspi] = "ls1021atwr_qspi_defconfig"
-UBOOT_CONFIG[secure-boot] = "ls1021atwr_nor_SECURE_BOOT_defconfig"
-UBOOT_CONFIG[sdcard-ifc-secure-boot] = "ls1021atwr_sdcard_ifc_SECURE_BOOT_defconfig,,u-boot-with-spl-pbl.bin"
-
-QE_UCODE="iram_Type_A_LS1021a_r1.0.bin"
-
-KERNEL_DEVICETREE ?= "ls1021a-twr.dtb"
-KERNEL_DEFCONFIG ?= "multi_v7_defconfig"
-
-KERNEL_IMAGETYPES = "zImage"
-
-UBOOT_ENTRYPOINT = "0x80008000"
-EXTRA_IMAGEDEPENDS += "rcw qe-ucode"
-USE_VT ?= "0"
diff --git a/conf/machine/ls1046ardb.conf b/conf/machine/ls1046ardb.conf
index 8e815295..2b82c98f 100644
--- a/conf/machine/ls1046ardb.conf
+++ b/conf/machine/ls1046ardb.conf
@@ -29,6 +29,7 @@ KERNEL_DEVICETREE ?= "\
KERNEL_DEVICETREE:prepend:use-nxp-bsp = "\
freescale/fsl-ls1046a-rdb-sdk.dtb \
freescale/fsl-ls1046a-rdb-usdpaa.dtb \
+ freescale/fsl-ls1046a-rdb-usdpaa-shared.dtb \
freescale/fsl-ls1046a-qds-sdk.dtb \
"
KERNEL_DEFCONFIG ?= "defconfig"
diff --git a/conf/machine/ls2080ardb.conf b/conf/machine/ls2080ardb.conf
deleted file mode 100644
index 5bd4dae8..00000000
--- a/conf/machine/ls2080ardb.conf
+++ /dev/null
@@ -1,20 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP LS2080ARDB board
-#@SOC: LSCH3
-#@DESCRIPTION: Machine configuration for NXP QorIQ LS2080ARDB
-# with ARM Cortext-A57 core
-#@MAINTAINER: Zongchun Yu <Zongchun.Yu@nxp.com>
-
-MACHINEOVERRIDES =. "fsl-lsch3:ls2080a:"
-
-require conf/machine/include/qoriq-arm64.inc
-require conf/machine/include/arm/arch-arm64.inc
-
-UBOOT_CONFIG ??= "nor"
-UBOOT_CONFIG[nor] = "ls2080ardb_defconfig"
-
-KERNEL_DEVICETREE ?= "freescale/fsl-ls2080a-rdb.dtb"
-KERNEL_DEFCONFIG ?= "defconfig"
-
-EXTRA_IMAGEDEPENDS += "ls2-phy rcw management-complex"
-USE_VT = "0"
diff --git a/conf/machine/ls2088ardb.conf b/conf/machine/ls2088ardb.conf
index 7f83e89d..8c8e586a 100644
--- a/conf/machine/ls2088ardb.conf
+++ b/conf/machine/ls2088ardb.conf
@@ -5,7 +5,7 @@
#@MAINTAINER: Zongchun Yu <Zongchun.Yu@nxp.com>
require conf/machine/include/qoriq-arm64.inc
-require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/arm/arch-armv8a.inc
MACHINEOVERRIDES =. "fsl-lsch3:ls2088a:"
diff --git a/conf/machine/mpc8548cds.conf b/conf/machine/mpc8548cds.conf
index c7c49ddc..bd4b6500 100644
--- a/conf/machine/mpc8548cds.conf
+++ b/conf/machine/mpc8548cds.conf
@@ -1,5 +1,6 @@
#@TYPE: Machine
#@Name: NXP MPC8548CDS
+#@SOC: MPC8548CDS
#@DESCRIPTION: Machine configuration for the NXP MPC8548CDS
#@MAINTAINER: Chunrong Guo <chunrong.guo@nxp.com>
diff --git a/custom-licenses/Freescale-EULA b/custom-licenses/Freescale-EULA
deleted file mode 100644
index 2122a1fd..00000000
--- a/custom-licenses/Freescale-EULA
+++ /dev/null
@@ -1,214 +0,0 @@
-IMPORTANT. Read the following Freescale Software License Agreement ("Agreement")
-completely. By selecting the "I Accept" button at the end of this page, you
-indicate that you accept the terms of the Freescale Proprietary Software License
-Agreement and you also acknowledge that you have the authority, on behalf of your
-company, to bind your company to such terms. You may then download or install the
-file.
-
-FREESCALE PROPRIETARY SOFTWARE LICENSE AGREEMENT
-This is a license agreement ("Agreement") between you (either as an individual
-or as an authorized representative acting on behalf of your employer) and Freescale
-Semiconductor, Inc. ("Freescale"). It concerns your rights to use the software
-provided to you in binary or source code form and any accompanying written materials
-(the "Software"). The Software may include any updates or error corrections or
-documentation relating to the Software provided to you by Freescale under this
-License. In consideration for Freescale allowing you to access the Software, you are
-agreeing to be bound by the terms of this Agreement. If you do not agree to all of
-the terms of this Agreement, do not download or install the Software. If you change
-your mind later, stop using the Software and delete all copies of the Software in
-your possession or control. Any copies of the Software that you have already
-distributed, where permitted, and do not destroy will continue to be governed by
-this Agreement. Your prior use will also continue to be governed by this Agreement.
-
-1. LICENSE GRANT. Freescale grants to you, free of charge, the non-exclusive,
-non-transferable, non-sublicensable right (1) to use the Software, (2) to reproduce
-the Software, (3) to prepare derivative works of the Software, (4) to distribute the
-Software and derivative works thereof in object (machine-readable) form as part of
-a programmable processing unit (e.g. a microprocessor, microcontroller, or digital
-signal processor) supplied directly or indirectly from Freescale ("Freescale
-System") and (5) to sublicense to others the right to use the distributed Software,
-provided that any and all such sublicenses include the same terms and conditions of
-this Agreement. Notwithstanding the limitation on damages in Section 8, Licensee
-will indemnify, defend, and hold harmless Freescale against any and all claims,
-costs, damages, liabilities, judgments and attorneys' fees resulting from or
-arising out of any breach by the sublicensee, or resulting from or arising out of
-any action by the sublicensee inconsistent with this Agreement.
-You must notify Freescale, in writing, any time you create a derivative of the
-Software. Freescale owns all derivatives created from the Software, and derivatives
-are licensed to you under the same terms as the Software under this Agreement. Upon
-request, you must provide Freescale the source code of any derivative of the Software.
-If you violate any of the terms or restrictions of this Agreement, Freescale may
-immediately terminate this Agreement, and require that you stop using and delete all
-copies of the Software and any derivative in your possession or control. Any license
-granted above only extends to Freescale's intellectual property rights that would
-be necessarily infringed by the Software as provided to you by Freescale and as used
-within the scope of the licenses granted. You must advise Freescale of any results
-obtained including any problems or suggested improvements thereof. Freescale retains
-the right to use such results and related information in any manner it deems
-appropriate.
-
-2. OTHER RESTRICTIONS. Subject to the license grant above, the following restrictions
- apply:
-
-a. Freescale reserves all rights not expressly granted herein.
-b. You may not rent, lease, sublicense, lend or encumber the Software, unless
- otherwise expressly agreed to within this Agreement
-c. You may not distribute, manufacture, have manufactured, sublicense or otherwise
- reproduce the Software for purposes other than intended in this Agreement.
-d. You may not remove or alter any proprietary legends, notices, or trademarks
- contained in the Licensed Software,
-e. The terms and conditions of this Agreement will apply to any Software updates,
- provided to you at Freescale's discretion, that replace and/or supplement the
- original Software, unless such update contains a separate license.
-f. You may not translate, reverse engineer, decompile, or disassemble the Software
- provided to you solely in object code format (machine readable) except to the
- extent applicable law specifically prohibits such restriction. You will prohibit
- your sublicensees from translating, reverse engineering, decompiling, or
- disassembling the Software except to the extent applicable law specifically
- prohibits such restriction.
-
-3. OPEN SOURCE. You are about to download or install certain software that is
-subject to various open source licenses such as the Apache License, the BSD license,
-the Free Software Foundation General Public License and Lesser General Public
-License, the Mozilla Public License and others. Your use of such open source
-software is subject to the terms of each applicable license. You must agree to the
-terms of each such applicable license, or you should not use the open source software.
-Any open source license that is incompatible with the terms of this Agreement
-supersedes the terms of this Agreement.
-
-4. COPYRIGHT. The Software is licensed to you, not sold. Freescale owns the
-Software, and United States copyright laws and international treaty provisions
-protect the Software. Therefore, you must treat the Software like any other
-copyrighted material (e.g. a book or musical recording). You may not use or
-copy the Software for any other purpose than what is described in this Agreement.
-Except as expressly provided herein, Freescale does not grant to you any express or
-implied rights under any Freescale or third party patents, copyrights, trademarks,
-or trade secrets. Additionally, you must reproduce and apply any copyright or other
-proprietary rights notices included on or embedded in the Software to any copies
-made thereof, in whole or in part, if any. You may not remove any copyright
-notices of Freescale incorporated in the Software.
-
-5. TERM AND TERMINATION. The term of this Agreement shall commence on the date
-of installation or download and shall continue perpetually, unless earlier
-terminated in accordance with this Agreement. Freescale has the right to terminate
-this Agreement without notice and require that you stop using and delete all copies
-of the Software in your possession or control if you violate any of the terms or
-restrictions of this Agreement. Freescale may terminate this Agreement should any
-of the Software become, or in Freescale's reasonable opinion is likely to become,
-the subject of a claim of intellectual infringement or trade secret misappropriation.
-Upon termination, you must cease use of and destroy, the Software and confirm
-compliance in writing to Freescale. Upon termination, the license granted pursuant
-to this Agreement immediately terminates and the provisions of Sections 4 through
-18 will survive any termination of this Agreement.
-
-6. SUPPORT. Freescale is NOT obligated to provide any support, upgrades or new
-releases of the Software. If you wish, you may contact Freescale and report problems
-and provide suggestions regarding the Software. Freescale has no obligation
-whatsoever to respond in any way to such a problem report or suggestion. Freescale
-may make changes to the Software at any time, without any obligation to notify or
-provide updated versions of the Software to you.
-
-7. NO WARRANTY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, FREESCALE EXPRESSLY
-DISCLAIMS ANY WARRANTY FOR THE SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS",
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT
-LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE, OR NON-INFRINGEMENT. YOU ASSUME THE ENTIRE RISK ARISING OUT OF THE USE
-OR PERFORMANCE OF THE SOFTWARE, OR ANY SYSTEMS YOU DESIGN USING THE SOFTWARE (IF
-ANY). NOTHING IN THIS AGREEMENT MAY BE CONSTRUED AS A WARRANTY OR REPRESENTATION
-BY FREESCALE THAT THE SOFTWARE OR ANY DERIVATIVE WORK DEVELOPED WITH OR INCORPORATING
-THE SOFTWARE WILL BE FREE FROM INFRINGEMENT OF THE INTELLECTUAL PROPERTY RIGHTS OF
-THIRD PARTIES.
-
-8. INDEMNITY. You agree to fully defend and indemnify Freescale from any and all
-claims, liabilities, and costs (including reasonable attorney's fees) related to
-(1) your use (including your sublicensee's use, if permitted) of the Software or
-(2) your violation of the terms and conditions of this Agreement.
-
-9. LIMITATION OF LIABILITY. IN NO EVENT WILL FREESCALE BE LIABLE, WHETHER IN
-CONTRACT, TORT, OR OTHERWISE, FOR ANY INCIDENTAL, SPECIAL, INDIRECT, CONSEQUENTIAL
-OR PUNITIVE DAMAGES, INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR ANY LOSS OF USE,
-LOSS OF TIME, INCONVENIENCE, COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR REVENUES
-TO THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW EVEN IF INFORMED IN ADVANCE OF THE
-POSSIBILITY OF SUCH DAMAGES. FREESCALE'S LIABILITY WILL IN ANY EVENT AND UNDER ANY
-THEORY OF RECOVERY BE LIMITED TO THE TOTAL AMOUNT RECEIVED BY FREESCALE UNDER THIS
-AGREEMENT.
-
-10. COMPLIANCE WITH LAWS; EXPORT RESTRICTIONS. You must not resell, re-export, or
-provide, directly or indirectly, the licensed software or direct product thereof,
-in any form without obtaining appropriate export or re-export licenses from the
-United States Government and from the country from which the export or re-export
-is to occur. An export occurs when products, technology, or software is transferred
-from one country to another by any means, including physical shipments, FTP file
-transfers, E-mails, faxes, remote server access, conversations, and the like. An
-export also occurs when technology or software is transferred to a foreign national
-in the United States, or foreign national of the country in which the business
-activity is taking place. A foreign national is any person who is neither a citizen
-nor permanent resident of the United States, or the country in which the business
-activity is taking place. Furthermore, if an export/import license, permit or other
-government required authority (collectively referred to as "government
-authorization") is required to transfer technology, software, hardware or other
-Freescale property to non- Freescale party(ies) and is not approved, then Freescale
-is not obligated to transfer the Software under this Agreement until such
-"government authorization" is granted..
-
-11. GOVERNMENT RIGHTS. The Licensed Software is a "Commercial Item as defined in
-48 C.F.R. $2.101, consisting of "Commercial Computer Software" and "Commercial
-Computer Software Documentation," as such terms are used in 48 C.F.R. $ 12.212 or
-48 C.F.R. $227.7202, as applicable and are only licensed to U.S. Government end
-users with the rights as are set forth herein..
-
-12. HIGH RISK ACTIVITIES. You acknowledge that the Software is not fault tolerant
-and is not designed, manufactured or intended by Freescale for incorporation into
-products intended for use or resale in on-line control equipment in hazardous,
-dangerous to life or potentially life-threatening environments requiring fail-safe
- performance, such as in the operation of nuclear facilities, aircraft navigation
- or communication systems, air traffic control, direct life support machines or
-weapons systems, in which the failure of products could lead directly to death,
-personal injury or severe physical or environmental damage ("High Risk Activities").
- You specifically represent and warrant that you will not use the Software or any
-derivative work of the Software for High Risk Activities.
-
-13. CHOICE OF LAW; VENUE; LIMITATIONS. You agree that the statutes and laws of the
-United States and the State of Texas, USA, without regard to conflicts of laws
-principles, will apply to all matters relating to this Agreement or the Software,
-and you agree that any litigation will be subject to the exclusive jurisdiction of
-the state or federal courts in Texas, USA. You agree that regardless of any
-statute or law to the contrary, any claim or cause of action arising out of or
-related to this Agreement or the Software must be filed within one (1) year after
-such claim or cause of action arose or be forever barred.
-
-14. CONFIDENTIAL INFORMATION. You must treat the Software as confidential
-information and you agree to retain the Software in confidence perpetually, with
-respect to Software in source code form (human readable), or for a period of five
-(5) years from the date of termination of this Agreement, with respect to all other
-parts of the Software. During this period you may not disclose any part of the
-Software to anyone other than employees who have a need to know of the Software and
- who have executed written agreements obligating them to protect such Licensed
-Software to at least the same degree of care as in this Agreement. You agree to use
- the same degree of care, but no less than a reasonable degree of care, with the
-Software as you do with your own confidential information. You may disclose Software
- to the extent required by a court or under operation of law or order provided that
- you notify Freescale of such requirement prior to disclosure, which you only
-disclose information required, and that you allow Freescale the opportunity to
-object to such court or other legal body requiring such disclosure.
-
-15. PRODUCT LABELING. You are not authorized to use any Freescale trademarks,
-brand names, or logos.
-
-16. ENTIRE AGREEMENT. This Agreement constitutes the entire agreement between you
-and Freescale regarding the subject matter of this Agreement, and supersedes all
-prior communications, negotiations, understandings, agreements or representations,
-either written or oral, if any. This Agreement may only be amended in written form,
-executed by you and Freescale.
-
-17. SEVERABILITY. If any provision of this Agreement is held for any reason to be
-invalid or unenforceable, then the remaining provisions of this Agreement will be
-unimpaired and, unless a modification or replacement of the invalid or unenforceable
-provision is further held to deprive you or Freescale of a material benefit, in
-which case the Agreement will immediately terminate, the invalid or unenforceable
-provision will be replaced with a provision that is valid and enforceable and that
-comes closest to the intention underlying the invalid or unenforceable provision.
-
-18. NO WAIVER. The waiver by Freescale of any breach of any provision of this
-Agreement will not operate or be construed as a waiver of any other or a subsequent
-breach of the same or a different provision.
diff --git a/dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini b/dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini
index 707a4078..b1392871 100644
--- a/dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini
+++ b/dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini
@@ -4,7 +4,6 @@ modules=hmi-controller.so
#gbm-format=argb8888
idle-time=0
#use-g2d=1
-#xwayland=true
#repaint-window=16
#enable-overlay-view=1
diff --git a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
new file mode 100644
index 00000000..7b7784ab
--- /dev/null
+++ b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
@@ -0,0 +1,20 @@
+# List of supported machines from this layer
+COMPATIBLE_MACHINE:imx8mm-lpddr4-evk = "imx8mm-lpddr4-evk"
+TFA_BUILD_TARGET:imx8mm-lpddr4-evk = "all"
+TFA_INSTALL_TARGET:imx8mm-lpddr4-evk = "bl31"
+TFA_PLATFORM:imx8mm-lpddr4-evk = "imx8mm"
+
+COMPATIBLE_MACHINE:imx8mn-ddr4-evk = "imx8mn-ddr4-evk"
+TFA_BUILD_TARGET:imx8mn-ddr4-evk = "all"
+TFA_INSTALL_TARGET:imx8mn-ddr4-evk = "bl31"
+TFA_PLATFORM:imx8mn-ddr4-evk = "imx8mn"
+
+COMPATIBLE_MACHINE:imx8mp-lpddr4-evk = "imx8mp-lpddr4-evk"
+TFA_BUILD_TARGET:imx8mp-lpddr4-evk = "all"
+TFA_INSTALL_TARGET:imx8mp-lpddr4-evk = "bl31"
+TFA_PLATFORM:imx8mp-lpddr4-evk = "imx8mp"
+
+COMPATIBLE_MACHINE:imx8mq-evk = "imx8mq-evk"
+TFA_BUILD_TARGET:imx8mq-evk = "all"
+TFA_INSTALL_TARGET:imx8mq-evk = "bl31"
+TFA_PLATFORM:imx8mq-evk = "imx8mq"
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/vlc/vlc_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/vlc/vlc_%.bbappend
new file mode 100644
index 00000000..b85752b7
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/vlc/vlc_%.bbappend
@@ -0,0 +1,2 @@
+# vivante drivers does not provide glx
+PACKAGECONFIG:remove:imxgpu = "x11"
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch b/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch
new file mode 100644
index 00000000..a3f5c828
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch
@@ -0,0 +1,56 @@
+NXP uses weaken to solve conflict in linking.
+On Ubuntu 22.04(LTS) this fails to link cst with libcrypto.
+
+The patch fixes the conflict in the code itself.
+It restricts the scope of err_msg to the module.
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
+----
+diff --git a/code/cst/code/build/make/rules.mk b/code/cst/code/build/make/rules.mk
+index 1c0842b..9c46cc4 100644
+--- a/code/cst/code/build/make/rules.mk
++++ b/code/cst/code/build/make/rules.mk
+@@ -25,11 +25,11 @@ LFLAGS := -t
+ %.a:
+ @echo "Create archive $@"
+ $(AR) $(ARFLAGS) $@ $^
+-ifneq ($(OSTYPE),mingw32)
+-ifneq ($(OSTYPE),osx)
+- $(OBJCOPY) --weaken $@
+-endif
+-endif
++#ifneq ($(OSTYPE),mingw32)
++#ifneq ($(OSTYPE),osx)
++# $(OBJCOPY) --weaken $@
++#endif
++#endif
+
+ %.exe:
+ @echo "Link $@"
+diff --git a/code/cst/code/front_end/src/acst.c b/code/cst/code/front_end/src/acst.c
+index fb1e8aa..1e993ee 100644
+--- a/code/cst/code/front_end/src/acst.c
++++ b/code/cst/code/front_end/src/acst.c
+@@ -65,7 +65,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ /*===========================================================================
+ LOCAL VARIABLES
+ =============================================================================*/
+-char err_msg[MAX_ERR_MSG_BYTES];
++static char err_msg[MAX_ERR_MSG_BYTES];
+
+ /*===========================================================================
+ LOCAL FUNCTION PROTOTYPES
+diff --git a/code/cst/code/front_end/src/misc_helper.c b/code/cst/code/front_end/src/misc_helper.c
+index 678dc17..9014b2a 100644
+--- a/code/cst/code/front_end/src/misc_helper.c
++++ b/code/cst/code/front_end/src/misc_helper.c
+@@ -60,7 +60,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ /*===========================================================================
+ LOCAL VARIABLES
+ =============================================================================*/
+-char err_msg[MAX_ERR_MSG_BYTES];
++static char err_msg[MAX_ERR_MSG_BYTES];
+
+ /*===========================================================================
+ LOCAL FUNCTION PROTOTYPES
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb b/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb
index 317ca379..5f808a97 100644
--- a/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb
@@ -9,7 +9,10 @@ DEPENDS = "byacc-native flex-native openssl"
# tag=debian/3.3.1+dfsg-2
SRCREV = "e2c687a856e6670e753147aacef42d0a3c07891a"
-SRC_URI = "git://gitlab.apertis.org/pkg/imx-code-signing-tool.git;protocol=https;branch=apertis/v2022pre"
+SRC_URI = " \
+ file://0001-fix-err-msg-linking.patch \
+ git://gitlab.apertis.org/pkg/imx-code-signing-tool.git;protocol=https;branch=apertis/v2022pre \
+"
S = "${WORKDIR}/git"
diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb b/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb
index 70e5a1a3..62a71772 100644
--- a/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb
+++ b/dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb
@@ -1,13 +1,13 @@
SUMMARY = "Frame Manager Configuration tool"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a504ab5a8ff235e67c7301214749346c"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a504ab5a8ff235e67c7301214749346c"
PR = "r2"
DEPENDS = "libxml2 fmlib tclap"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/fmc;nobranch=1"
-SRCREV = "c2ed7c269e86ac6a0aac361f5876c96e700443f4"
+SRC_URI = "git://github.com/nxp-qoriq/fmc;protocol=https;nobranch=1"
+SRCREV = "63c8ac99899a9bcd723801579b4d786594670455"
S = "${WORKDIR}/git"
diff --git a/dynamic-layers/openembedded-layer/recipes-multimedia/mpv/mpv_%.bbappend b/dynamic-layers/openembedded-layer/recipes-multimedia/mpv/mpv_%.bbappend
new file mode 100644
index 00000000..5cf6d411
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-multimedia/mpv/mpv_%.bbappend
@@ -0,0 +1,2 @@
+# testbuild/../test.c:10: undefined reference to `glXCreateContext'
+PACKAGECONFIG:remove:imxgpu = "x11"
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
index 03e09e57..1f63cd7a 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
@@ -8,10 +8,12 @@ python __anonymous () {
d.appendVarFlag('do_configure', 'depends', ' virtual/kernel:do_shared_workdir')
}
-SRC_URI:append:imxgpu2d += " \
+SRC_URI:append:imxgpu2d = " \
file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
file://0003-i.MX6-force-egl-visual-ID-33.patch \
+ file://0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch \
+ file://0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch \
"
DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch
new file mode 100644
index 00000000..7eee7cf2
--- /dev/null
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch
@@ -0,0 +1,25 @@
+From 234580de9d63fd79a8b444358cdaeac111a17061 Mon Sep 17 00:00:00 2001
+From: Mauro Salvini <m.salvini@koansoftware.com>
+Date: Thu, 29 Sep 2022 16:06:04 +0200
+Subject: [PATCH 1/2] config.tests: add DEFINES to compile egl test with
+ imxgpu2d (Vivante)
+
+Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
+---
+ config.tests/unix/egl/egl.pro | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/config.tests/unix/egl/egl.pro b/config.tests/unix/egl/egl.pro
+index f04d0535..bc35b908 100644
+--- a/config.tests/unix/egl/egl.pro
++++ b/config.tests/unix/egl/egl.pro
+@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
+
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
++DEFINES += LINUX=1 EGL_API_FB=1
+
+ CONFIG -= qt
+--
+2.17.1
+
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch
new file mode 100644
index 00000000..993df85e
--- /dev/null
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch
@@ -0,0 +1,25 @@
+From adb19c68d3c92eb1a88e49e447ce827f14943486 Mon Sep 17 00:00:00 2001
+From: Mauro Salvini <m.salvini@koansoftware.com>
+Date: Thu, 29 Sep 2022 16:12:11 +0200
+Subject: [PATCH 2/2] config.tests: add DEFINES to compile egl4gles1 test with
+ imxgpu2d (Vivante)
+
+Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
+---
+ config.tests/unix/egl4gles1/egl4gles1.pro | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/config.tests/unix/egl4gles1/egl4gles1.pro b/config.tests/unix/egl4gles1/egl4gles1.pro
+index 667ea8e3..14cb4a76 100644
+--- a/config.tests/unix/egl4gles1/egl4gles1.pro
++++ b/config.tests/unix/egl4gles1/egl4gles1.pro
+@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
+
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
++DEFINES += LINUX=1 EGL_API_FB=1
+
+ CONFIG -= qt
+--
+2.17.1
+
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend
new file mode 100644
index 00000000..f019c72d
--- /dev/null
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend
@@ -0,0 +1,9 @@
+# Fixes QT5 application builds searching for libimx6vivantevideonode.so
+# via cmake cmake/Qt5Multimedia/Qt5MultimediaConfig.cmake
+do_install:append:imxgpu() {
+ install -d ${D}${libdir}/plugins/videoimx6vivantevideonode
+ ln -sf ../video/videonode/libeglvideonode.so ${D}${libdir}/plugins/videoimx6vivantevideonode/libeglvideonode.so
+ ln -sf ../video/videonode/libimx6vivantevideonode.so ${D}${libdir}/plugins/videoimx6vivantevideonode/libimx6vivantevideonode.so
+}
+
+INSANE_SKIP:${PN}-plugins:imxgpu = "dev-so"
diff --git a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend
new file mode 100644
index 00000000..1c51fc09
--- /dev/null
+++ b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend
@@ -0,0 +1,54 @@
+# Copyright (C) 2013 Eric Bénard - Eukréa Electromatique
+# Copyright (C) 2016 Freescale Semiconductor
+# Copyright (C) 2016, 2017 O.S. Systems Software LTDA.
+# Copyright (C) 2017-2018 NXP
+
+PACKAGECONFIG_GRAPHICS:imxpxp = " \
+ gles2"
+PACKAGECONFIG_GRAPHICS:imxgpu2d = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \
+ ${PACKAGECONFIG_GRAPHICS_IMX_GPU}"
+PACKAGECONFIG_GRAPHICS:imxgpu3d = " \
+ gles2 \
+ ${PACKAGECONFIG_GRAPHICS_IMX_GPU}"
+PACKAGECONFIG_GRAPHICS_IMX_GPU = ""
+PACKAGECONFIG_GRAPHICS_IMX_GPU:mx8-nxp-bsp = " \
+ gbm kms"
+
+PACKAGECONFIG_GRAPHICS:use-mainline-bsp ?= " \
+ gles2 gbm kms"
+
+PACKAGECONFIG += " \
+ ${PACKAGECONFIG_PLATFORM}"
+
+PACKAGECONFIG_PLATFORM = ""
+PACKAGECONFIG_PLATFORM:imxgpu2d = " \
+ no-opengl \
+ linuxfb \
+ ${PACKAGECONFIG_PLATFORM_EGLFS}"
+PACKAGECONFIG_PLATFORM:imxgpu3d = " \
+ ${PACKAGECONFIG_PLATFORM_EGLFS}"
+
+PACKAGECONFIG_PLATFORM_EGLFS = ""
+PACKAGECONFIG_PLATFORM_EGLFS:imxgpu3d = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', \
+ bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
+ 'eglfs', d), d)}"
+PACKAGECONFIG_PLATFORM_EGLFS:mx8-nxp-bsp = " \
+ eglfs"
+
+PACKAGECONFIG_PLATFORM:use-mainline-bsp = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}"
+
+PACKAGECONFIG += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_WAYLAND}', '', d)}"
+PACKAGECONFIG_WAYLAND = "wayland"
+
+PACKAGECONFIG += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', '${PACKAGECONFIG_VULKAN}', '', d)}"
+PACKAGECONFIG_VULKAN = ""
+PACKAGECONFIG_VULKAN:imxgpu = " \
+ ${PACKAGECONFIG_VULKAN_IMX_GPU}"
+PACKAGECONFIG_VULKAN_IMX_GPU = ""
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan"
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = ""
diff --git a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
new file mode 100644
index 00000000..ca011758
--- /dev/null
+++ b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
@@ -0,0 +1,6 @@
+# etnaviv mesa does not have glx
+PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx"
+
+PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx"
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index b4b1eddf..b6194d76 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS:prepend:imx-generic-bsp := "${THISDIR}/${PN}/imx-generic-bsp:"
+# Prepend path to override files from upstream recipe
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-# Append path for freescale layer
PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
index c511018e..c511018e 100644
--- a/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.conf
+++ b/recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf
diff --git a/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
new file mode 100644
index 00000000..0084f4a0
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf
@@ -0,0 +1,271 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.asymed{
+type asym
+playback.pcm "dmix_44100"
+capture.pcm "dsnoop_44100"
+}
+
+pcm.dsp0{
+type plug
+slave.pcm "asymed"
+}
+
+pcm.!default{
+type plug
+route_policy "average"
+slave.pcm "asymed"
+}
+
+ctl.!default{
+type hw
+card 0
+}
+
+ctl.mixer0{
+type hw
+card 0
+}
+
+pcm_slave.esai{
+ pcm "hw:0,0"
+ channels 8
+ rate 48000
+ period_time 40000
+}
+
+pcm.esaich1to6{
+ type dshare
+ ipc_key 5778293
+ slave esai
+ bindings.0 0
+ bindings.1 4
+ bindings.2 1
+ bindings.3 5
+ bindings.4 2
+ bindings.5 6
+}
+
+pcm.esaich78{
+ type dshare
+ ipc_key 5778293
+ slave esai
+ bindings.0 3
+ bindings.1 7
+}
diff --git a/recipes-bsp/atf/qoriq-atf-2.4.inc b/recipes-bsp/atf/qoriq-atf-2.4.inc
deleted file mode 100644
index 38a992b3..00000000
--- a/recipes-bsp/atf/qoriq-atf-2.4.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "ARM Trusted Firmware"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf.git;nobranch=1"
-SRCREV = "bb4957067d4b96a6ee197a333425948e409e990d"
-
-S = "${WORKDIR}/git"
-
diff --git a/recipes-bsp/atf/qoriq-atf-2.6.inc b/recipes-bsp/atf/qoriq-atf-2.6.inc
new file mode 100644
index 00000000..d5ef5e75
--- /dev/null
+++ b/recipes-bsp/atf/qoriq-atf-2.6.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "ARM Trusted Firmware"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
+
+ATF_BRANCH ?= "lf_v2.6"
+ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https"
+SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}"
+SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75"
+
+S = "${WORKDIR}/git"
+
diff --git a/recipes-bsp/atf/qoriq-atf-tools_2.4.bb b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
index eccf12c8..2c1db306 100644
--- a/recipes-bsp/atf/qoriq-atf-tools_2.4.bb
+++ b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
@@ -1,8 +1,10 @@
-require recipes-bsp/atf/qoriq-atf-2.4.inc
+require qoriq-atf-${PV}.inc
DEPENDS += "openssl"
-EXTRA_OEMAKE = "fiptool V=1 HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'"
+PV:append = "+${SRCPV}"
+
+EXTRA_OEMAKE = "fiptool V=1 PLAT=lx2162aqds HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'"
do_install () {
install -m 0755 -d ${D}/${bindir}
diff --git a/recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch b/recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch
new file mode 100644
index 00000000..a8801082
--- /dev/null
+++ b/recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch
@@ -0,0 +1,35 @@
+From 9ceeb0cadffee1b1476718795d0568f6b244bf44 Mon Sep 17 00:00:00 2001
+From: Jun Zhu <junzhu@nxp.com>
+Date: Mon, 31 Oct 2022 21:24:15 +0800
+Subject: [PATCH] tf-a-tests-no-warn-rwx-segments
+
+Binutils 2.39 now warns when a segment has RXW permissions[1]:
+
+aarch64-poky-linux-musl-ld: tftf.elf has a LOAD segment with RWX permissions
+
+There is a ticket filed upstream[2], so until that is resolved just disable the warning
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+[2] https://developer.trustedfirmware.org/T996
+
+Upstream-Status: Backport [https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19401]
+Signed-off-by: Jun Zhu <junzhu@nxp.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index dccf0121d..0d082344b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -445,7 +445,7 @@ TF_LDFLAGS += --gc-sections
+ # ld.lld doesn't recognize the errata flags,
+ # therefore don't add those in that case
+ ifeq ($(findstring ld.lld,$(notdir $(LD))),)
+-TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
++TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) --no-warn-rwx-segments
+ endif
+ endif
+
+--
+2.25.1
+
diff --git a/recipes-bsp/atf/qoriq-atf_2.4.bb b/recipes-bsp/atf/qoriq-atf_2.6.bb
index b6716272..5ae2ed9d 100644
--- a/recipes-bsp/atf/qoriq-atf_2.4.bb
+++ b/recipes-bsp/atf/qoriq-atf_2.6.bb
@@ -1,14 +1,18 @@
-require recipes-bsp/atf/qoriq-atf-2.4.inc
+require qoriq-atf-${PV}.inc
inherit deploy
-DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native rcw cst-native bc-native"
-DEPENDS:append:lx2160a = " ddr-phy"
-DEPENDS:append:lx2162a = " ddr-phy"
+DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native rcw qoriq-cst-native bc-native"
do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
-SRC_URI += "git://github.com/ARMmbed/mbedtls;nobranch=1;destsuffix=git/mbedtls;name=mbedtls;protocol=https"
+PV:append = "+${SRCPV}"
+
+SRC_URI += "git://github.com/ARMmbed/mbedtls;protocol=https;nobranch=1;destsuffix=git/mbedtls;name=mbedtls \
+ git://github.com/nxp/ddr-phy-binary;protocol=https;nobranch=1;destsuffix=git/ddr-phy-binary;name=ddr \
+ file://tf-a-tests-no-warn-rwx-segments.patch \
+"
SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708"
+SRCREV_ddr = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
SRCREV_FORMAT = "atf"
COMPATIBLE_MACHINE = "(qoriq)"
@@ -17,12 +21,14 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
PLATFORM = "${MACHINE}"
PLATFORM:ls1088ardb-pb = "ls1088ardb"
+PLATFORM:lx2160ardb-rev2 = "lx2160ardb"
PLATFORM_ADDITIONAL_TARGET ??= ""
PLATFORM_ADDITIONAL_TARGET:ls1012afrwy = "ls1012afrwy_512mb"
RCW_FOLDER ?= "${MACHINE}"
RCW_FOLDER:ls1088ardb-pb = "ls1088ardb"
RCW_FOLDER:lx2160ardb = "lx2160ardb_rev2"
+RCW_FOLDER:lx2160ardb-rev2 = "lx2160ardb_rev2"
RCW_SUFFIX ?= ".bin"
RCW_SUFFIX:ls1012a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '_default.bin', d)}"
@@ -40,9 +46,9 @@ chassistype:ls1012a = "ls104x_1012"
chassistype:ls1043a = "ls104x_1012"
chassistype:ls1046a = "ls104x_1012"
-DDR_PHY_BIN_PATH ?= ""
-DDR_PHY_BIN_PATH:lx2160a = "${DEPLOY_DIR_IMAGE}/ddr-phy"
-DDR_PHY_BIN_PATH:lx2162a = "${DEPLOY_DIR_IMAGE}/ddr-phy"
+FIP_DDR ?= ""
+FIP_DDR:lx2160a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
+FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
# requires CROSS_COMPILE set by hand as there is no configure script
export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -125,18 +131,15 @@ do_compile() {
cp *.pem build/${PLATFORM}/release/
fi
- oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
+ oe_runmake V=1 all fip pbl ${FIP_DDR} PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
cp build/${PLATFORM}/release/bl2_${d}${SECURE_EXTENTION}.pbl .
cp build/${PLATFORM}/release/fip.bin fip_uboot${SECURE_EXTENTION}.bin
if [ -e build/${PLATFORM}/release/fuse_fip.bin ]; then
cp build/${PLATFORM}/release/fuse_fip.bin .
fi
- if [ -n "${SECURE_EXTENTION}" -a -n "${DDR_PHY_BIN_PATH}" -a ! -f ddr_fip_sec.bin ]; then
- oe_runmake V=1 fip_ddr PLAT=${PLATFORM} DDR_PHY_BIN_PATH=${DDR_PHY_BIN_PATH}
- if [ -e build/${PLATFORM}/release/ddr_fip_sec.bin ]; then
- cp build/${PLATFORM}/release/ddr_fip_sec.bin .
- fi
+ if [ -e build/${PLATFORM}/release/ddr_fip_sec.bin ] && [ ! -f ddr_fip_sec.bin ]; then
+ cp build/${PLATFORM}/release/ddr_fip_sec.bin .
fi
if [ -e build/${PLATFORM}/release/rot_key.pem ] && [ ! -f rot_key.pem ]; then
diff --git a/recipes-bsp/boot-format/boot-format/flags.patch b/recipes-bsp/boot-format/boot-format/flags.patch
index cddb34cd..0a64b86b 100644
--- a/recipes-bsp/boot-format/boot-format/flags.patch
+++ b/recipes-bsp/boot-format/boot-format/flags.patch
@@ -1,3 +1,10 @@
+Respect LDFLAGS from environment
+
+This fixes cross build using OE
+
+Upstream-Status: Pending
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
Index: git/Makefile
===================================================================
--- git.orig/Makefile
diff --git a/recipes-bsp/boot-format/boot-format_git.bb b/recipes-bsp/boot-format/boot-format_git.bb
index 25a2015c..0916b45b 100644
--- a/recipes-bsp/boot-format/boot-format_git.bb
+++ b/recipes-bsp/boot-format/boot-format_git.bb
@@ -3,7 +3,7 @@ LICENSE = "GPL-2.0-only"
PR = "r6"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/boot-format;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/boot-format;protocol=https;nobranch=1 \
file://flags.patch"
SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550"
diff --git a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb
deleted file mode 100644
index 7b77e6f8..00000000
--- a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_20.04.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "DP firmware"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
-
-inherit deploy fsl-eula-unpack
-
-SRC_URI = "https://www.nxp.com/lgfiles/sdk/lsdk2004/firmware-cadence-lsdk2004.bin;fsl-eula=true"
-
-SRC_URI[md5sum] = "d7eb8ef87cae8e4a205c266b3ac6f330"
-SRC_URI[sha256sum] = "bef89a3eceed95e90748a2301d6f6ffbdf1a72237c0045093cb9485b05eb8fbd"
-
-S = "${WORKDIR}/firmware-cadence-lsdk2004"
-
-do_install () {
- install -d ${D}/boot
- cp -fr ${S}/dp/*.bin ${D}/boot
-}
-
-do_deploy () {
- install -d ${DEPLOYDIR}/dp
- cp -fr ${S}/dp/*.bin ${DEPLOYDIR}/dp
-}
-addtask deploy before do_build after do_install
-
-PACKAGES += "${PN}-image"
-FILES:${PN}-image += "/boot"
-
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
new file mode 100644
index 00000000..5cf543ab
--- /dev/null
+++ b/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
@@ -0,0 +1,29 @@
+SUMMARY = "DP firmware"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
+
+inherit deploy fsl-eula-unpack
+
+SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "9ed2923c0eb511c7fcf37dd607944124"
+SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84"
+
+S = "${WORKDIR}/firmware-imx-8.16"
+
+do_install () {
+ install -d ${D}/boot
+ install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${D}/boot/ls1028a-dp-fw.bin
+}
+
+do_deploy () {
+ install -d ${DEPLOYDIR}/dp
+ install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${DEPLOYDIR}/dp/ls1028a-dp-fw.bin
+}
+addtask deploy before do_build after do_install
+
+PACKAGES += "${PN}-image"
+FILES:${PN}-image += "/boot"
+
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb
new file mode 100644
index 00000000..83c865c2
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb
@@ -0,0 +1,32 @@
+# Copyright 2021-2023 NXP
+SUMMARY = "NXP i.MX ELE firmware"
+DESCRIPTION = "EdgeLock Enclave firmware for i.MX series SoCs"
+SECTION = "base"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "7532c2e356574c1c9255c01169d38427"
+SRC_URI[sha256sum] = "4a0440168d8dfb95989a17be8fafb149589e110e7d4518e5e8a33463dfb5e5ca"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
+ install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele
+}
+
+do_deploy () {
+ # Deploy the related firmware to be package by imx-boot
+ install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
+}
+addtask deploy after do_install before do_build
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}"
+
+RREPLACES:${PN} = "firmware-sentinel"
+RPROVIDES:${PN} = "firmware-sentinel"
+
+COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.15.inc b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
index 73f627fb..804a7db0 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.15.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
@@ -1,16 +1,16 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017-2021 NXP
+# Copyright 2017-2022 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "ef91390da6c8a6a48c8121a5dd667de8"
-SRC_URI[sha256sum] = "937e196476b8e95b4b7f2501a14c8326d8a0649f8a3f9228b72373770a08deb3"
+SRC_URI[md5sum] = "c5cf3842569f0a7fd990fbc64979e84f"
+SRC_URI[sha256sum] = "94c8bceac56ec503c232e614f77d6bbd8e17c7daa71d4e651ea8fd5034c30350"
S = "${WORKDIR}/firmware-imx-${PV}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb
deleted file mode 100644
index 18ce14d3..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.15.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-SUMMARY = "Freescale i.MX firmware for 8 family"
-DESCRIPTION = "Freescale i.MX firmware for 8 family"
-
-require firmware-imx-${PV}.inc
-
-inherit deploy
-
-do_install[noexec] = "1"
-
-do_deploy() {
- # Cadence HDMI
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
- install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
-}
-addtask deploy after do_install before do_build
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-
-COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
-COMPATIBLE_MACHINE:mx8m-nxp-bsp = "(^$)"
-COMPATIBLE_MACHINE:mx8x-nxp-bsp = "(^$)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb
deleted file mode 100644
index 152ef0b5..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.15.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family"
-DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family"
-
-require firmware-imx-${PV}.inc
-
-inherit deploy
-
-do_install[noexec] = "1"
-
-do_deploy() {
- # Synopsys DDR
- for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
- install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
- done
- # Cadence DP and HDMI
- install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR}
- install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR}
-}
-addtask deploy after do_install before do_build
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-
-COMPATIBLE_MACHINE = "(mx8m-generic-bsp)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.15.bb b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
index cfc98a73..a9e36b5e 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.15.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
@@ -1,5 +1,5 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017-2021 NXP
+# Copyright 2017-2021 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SUMMARY = "Freescale i.MX firmware"
DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
@@ -65,6 +65,29 @@ do_install() {
# which contains only files that matches the pattern.
#
python populate_packages:prepend() {
+ # CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to
+ # avoid fallback loading which is usually 40-60 seconds later after system boots up, let's
+ # create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares.
+ def coda_vpu_links(file, pkg, pattern, format, basename):
+ # Only CODA VPU firmwares need this procedure
+ if 'imx8' in basename:
+ return
+
+ dir = os.path.dirname(file)
+ dir = os.path.abspath(os.path.join(dir, os.pardir))
+ cwd = os.getcwd()
+
+ os.chdir(dir)
+
+ name = os.path.basename(file)
+ os.symlink(os.path.join("vpu", name), name)
+
+ oldfiles = d.getVar('FILES:' + pkg)
+ newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name)
+ d.setVar('FILES:' + pkg, oldfiles + " " + newfile)
+
+ os.chdir(cwd)
+
easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d)
do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin',
output_pattern='firmware-imx-easrc-%s',
@@ -76,6 +99,7 @@ python populate_packages:prepend() {
do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
output_pattern='firmware-imx-vpu-%s',
description='Freescale IMX VPU Firmware [%s]',
+ hook=coda_vpu_links,
extra_depends='',
prepend=True)
diff --git a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
index 5a7e6a1d..8dc7ae64 100644
--- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
@@ -1,17 +1,17 @@
-# Copyright 2020-2021 NXP
+# Copyright 2020-2023 NXP
SUMMARY = "Wi-Fi firmware redistributed by NXP"
-DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP, \
-which is not covered by linux-firmware package. Once package becomes \
-available as a part of linux-firmware - it can be dropped from this \
-recipe in favor of upstream."
+DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \
+is available in linux-firmware, but what is here is the latest and \
+should be preferred."
SECTION = "kernel"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://cyw-wifi-bt/EULA.txt;md5=80c0478f4339af024519b3723023fe28"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2827219e81f28aba7c6a569f7c437fa7"
-SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https;branch=master"
-SRCREV = "484d38224fa2c26b8859a7bf20b7c4d49100f5bc"
+SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "7be5a936ce8677962dd7b41c6c9f41dd14350bec"
S = "${WORKDIR}/git"
@@ -25,17 +25,41 @@ do_compile() {
}
do_install() {
- install -d ${D}${sysconfdir}/firmware
- install -d ${D}${nonarch_base_libdir}/firmware/brcm
- # Install various flavors of Broadcom firmware provided by Murata:
- # - bcm4359-pcie
- install -m 0644 cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie* ${D}${nonarch_base_libdir}/firmware/brcm
- install -m 0644 cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd ${D}${sysconfdir}/firmware
+ install -d ${D}${nonarch_base_libdir}/firmware/nxp
+ install -d ${D}${nonarch_base_libdir}/firmware/brcm/
+
+ # Install bcm4359-pcie
+ for f in cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie*; do
+ install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/brcm/$(basename $f)
+ done
+
+ for f in cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd; do
+ install -D -m 0644 $f ${D}${sysconfdir}/firmware/$(basename $f)
+ done
+
+ for f in nxp/FwImage_IW612_SD/*; do
+ install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/$(basename $f)
+ done
+
+ oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp
+
+
}
PACKAGES =+ " \
${PN}-bcm4359-pcie \
+ ${PN}-nxp-common \
+ ${PN}-nxp8801-sdio \
+ ${PN}-nxp8987-sdio \
+ ${PN}-nxp8997-common \
+ ${PN}-nxp8997-pcie \
+ ${PN}-nxp8997-sdio \
+ ${PN}-nxp9098-pcie \
+ ${PN}-nxp9098-common \
+ ${PN}-nxp9098-sdio \
+ ${PN}-nxpiw416-sdio \
+ ${PN}-nxpiw612-sdio \
"
FILES:${PN}-bcm4359-pcie = " \
@@ -43,4 +67,93 @@ FILES:${PN}-bcm4359-pcie = " \
${sysconfdir}/firmware/BCM4349B1_*.hcd \
"
-RPROVIDES:${PN}-bcm4359-pcie = "linux-firmware-bcm4359-pcie"
+FILES:${PN}-nxp-common = " \
+ ${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf \
+ ${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \
+"
+
+FILES:${PN}-nxp8801-sdio = " \
+ ${nonarch_base_libdir}/firmware/nxp/*8801* \
+"
+RDEPENDS:${PN}-nxp8801-sdio += "${PN}-nxp-common"
+
+FILES:${PN}-nxp8987-sdio = " \
+ ${nonarch_base_libdir}/firmware/nxp/*8987* \
+"
+RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-common"
+RPROVIDES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
+RREPLACES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
+RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
+
+FILES:${PN}-nxp8997-common = " \
+ ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \
+ ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \
+ ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \
+"
+RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common"
+RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
+RREPLACES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
+RCONFLICTS:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
+
+FILES:${PN}-nxp8997-pcie = " \
+ ${nonarch_base_libdir}/firmware/nxp/pci*8997* \
+"
+RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common"
+RPROVIDES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
+RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
+RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
+
+FILES:${PN}-nxp8997-sdio = " \
+ ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \
+"
+RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
+RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
+RREPLACES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
+RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
+
+FILES:${PN}-nxp9098-common = " \
+ ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \
+ ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \
+ ${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin \
+"
+RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common"
+RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
+RREPLACES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
+RCONFLICTS:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
+
+FILES:${PN}-nxp9098-pcie = " \
+ ${nonarch_base_libdir}/firmware/nxp/pcie*9098* \
+"
+RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common"
+RPROVIDES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
+RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
+RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
+
+FILES:${PN}-nxp9098-sdio = " \
+ ${nonarch_base_libdir}/firmware/nxp/sdio*9098* \
+"
+RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
+RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
+RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
+RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
+
+FILES:${PN}-nxpiw416-sdio = " \
+ ${nonarch_base_libdir}/firmware/nxp/*iw416* \
+"
+RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
+RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
+RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
+RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
+
+FILES:${PN}-nxpiw612-sdio = " \
+ ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
+ ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \
+ ${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \
+ ${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \
+"
+RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common"
+RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
+RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
+RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
+
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
index d0a497b8..9778bd1c 100644
--- a/recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb
+++ b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
@@ -1,4 +1,4 @@
-# Copyright (C) 2020 Mihai Lindner <mihai.lindner@nxp.com>
+# Copyright (C) 2020-2022 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Sound Open Firmware"
@@ -8,8 +8,8 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444"
SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz"
-SRC_URI[md5sum] = "7560d41c3be0a97c744874b531649326"
-SRC_URI[sha256sum] = "106cfb3da27867520d86649cde98256217829c97f41984e10161c1e2707e2c4e"
+SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6"
+SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
S = "${WORKDIR}/sof-imx-${PV}"
diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb
new file mode 100644
index 00000000..24619859
--- /dev/null
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb
@@ -0,0 +1,61 @@
+# Copyright (C) 2018-2023 NXP
+SUMMARY = "Freescale i.MX Firmware files used for boot"
+
+require firmware-imx-${PV}.inc
+
+inherit deploy nopackages
+
+do_install[noexec] = "1"
+
+DEPLOY_FOR = ""
+DEPLOY_FOR:mx8-generic-bsp = "mx8"
+DEPLOY_FOR:mx8m-generic-bsp = "mx8m"
+DEPLOY_FOR:mx9-generic-bsp = "mx9"
+
+deploy_for_mx8() {
+ # Cadence HDMI
+ install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
+ install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
+ install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
+}
+
+deploy_for_mx8m() {
+ # Synopsys DDR
+ for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
+ install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
+ done
+
+ # Cadence DP and HDMI
+ install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR}
+ install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR}
+}
+
+
+deploy_for_mx9() {
+ # Synopsys DDR
+ for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
+ install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
+ done
+}
+
+python () {
+ # Manually add the required functions as dependencies otherwise they won't be included in the
+ # final run script.
+ deploy_for = d.getVar('DEPLOY_FOR', True).split()
+ for soc in deploy_for:
+ d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc)
+}
+
+do_deploy () {
+ for soc in ${DEPLOY_FOR}; do
+ bbnote "Running deploy for $soc"
+ deploy_for_$soc
+ done
+}
+
+addtask deploy after do_install before do_build
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+
+COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
+COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)"
diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb b/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb
new file mode 100644
index 00000000..f21de75a
--- /dev/null
+++ b/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb
@@ -0,0 +1,31 @@
+# Copyright 2021-2022 NXP
+DESCRIPTION = "NXP i.MX uPower firmware"
+LICENSE = "Proprietary"
+SECTION = "BSP"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe"
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+
+S = "${WORKDIR}/${PN}-${PV}"
+
+inherit fsl-eula-unpack pkgconfig deploy
+
+SRC_URI[md5sum] = "d2cbe8d2f8fa170e5d48c599c4caac5e"
+SRC_URI[sha256sum] = "c02595917744769abe810107a08506e4055b8077b5fc4ed17c353b833756c8b0"
+
+do_configure[noexec] = "1"
+
+do_compile[noexec] = "1"
+
+do_install[noexec] = "1"
+
+BOOT_TOOLS = "imx-boot-tools"
+
+do_deploy () {
+ # Deploy the related firmware to be package by imx-boot
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${S}/${UPOWER_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/upower.bin
+}
+addtask deploy after do_install before do_build
+
+COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)"
diff --git a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
index 260737ff..3883c024 100644
--- a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
+++ b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
@@ -5,7 +5,7 @@ and configuration files."
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1"
SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/imx-atf/imx-atf_2.4.bb b/recipes-bsp/imx-atf/imx-atf_2.8.bb
index dd718289..ce9ca9dc 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.4.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.8.bb
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2021 NXP
+# Copyright (C) 2017-2023 NXP
DESCRIPTION = "i.MX ARM Trusted Firmware"
SECTION = "BSP"
@@ -7,21 +7,22 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;m
PV .= "+git${SRCPV}"
-SRCBRANCH = "lf_v2.4"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
-"
-SRCREV = "05f788b9bbb13d002997e35008a4b945f7e2957b"
+SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf_v2.8"
+SRCREV = "08e9d4eef2262c0dd072b4325e8919e06d349e02"
S = "${WORKDIR}/git"
inherit deploy
-BOOT_TOOLS = "imx-boot-tools"
-
ATF_PLATFORM ??= "INVALID"
+# FIXME: We should return INVALID here but currently only i.MX8M has support to override the UART
+# base address in source code.
+ATF_BOOT_UART_BASE ?= ""
+
EXTRA_OEMAKE += " \
- CROSS_COMPILE="${TARGET_PREFIX}" \
+ CROSS_COMPILE=${TARGET_PREFIX} \
PLAT=${ATF_PLATFORM} \
"
@@ -32,7 +33,11 @@ AS[unexport] = "1"
LD[unexport] = "1"
# Baremetal, just need a compiler
-DEPENDS:remove = "virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS = "virtual/${HOST_PREFIX}gcc"
+
+# Bring in clang compiler if using clang as default
+DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}"
BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
@@ -43,28 +48,33 @@ def remove_options_tail (in_string):
from itertools import takewhile
return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
-EXTRA_OEMAKE += 'LD="${@remove_options_tail(d.getVar('LD'))}"'
+EXTRA_OEMAKE += 'LD="${@remove_options_tail(d.getVar('LD'))}.bfd"'
EXTRA_OEMAKE += 'CC="${@remove_options_tail(d.getVar('CC'))}"'
+# Set the UART to use during the boot.
+EXTRA_OEMAKE += 'IMX_BOOT_UART_BASE=${ATF_BOOT_UART_BASE}'
+
+do_configure[noexec] = "1"
+
do_compile() {
# Clear LDFLAGS to avoid the option -Wl recognize issue
oe_runmake bl31
if ${BUILD_OPTEE}; then
- oe_runmake clean BUILD_BASE=build-optee
- oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
+ oe_runmake clean BUILD_BASE=build-optee
+ oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
fi
}
do_install[noexec] = "1"
+addtask deploy after do_compile
do_deploy() {
- install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin
+ install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin
if ${BUILD_OPTEE}; then
- install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin-optee
+ install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin-optee
fi
}
-addtask deploy after do_compile
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(mx8-generic-bsp)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
diff --git a/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch b/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch
index 9c86f074..297e64e2 100644
--- a/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch
+++ b/recipes-bsp/imx-kobs/imx-kobs/0001-Add-missing-includes-as-pointed-out-by-musl.patch
@@ -6,6 +6,7 @@ Subject: [PATCH] Add missing includes as pointed out by musl
These headers are indrectly included when building with
glibc, this is exposed when compiling with musl systems
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/mtd.h | 3 +++
diff --git a/recipes-bsp/imx-kobs/imx-kobs_git.bb b/recipes-bsp/imx-kobs/imx-kobs_git.bb
index 761aac55..bdb02475 100644
--- a/recipes-bsp/imx-kobs/imx-kobs_git.bb
+++ b/recipes-bsp/imx-kobs/imx-kobs_git.bb
@@ -1,16 +1,17 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
+# Copyright (C) 2017-2019,2024 NXP
# Copyright 2018 (C) O.S. Systems Software LTDA.
SUMMARY = "Nand boot write source"
SECTION = "base"
LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
PV = "5.5+git${SRCPV}"
SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https;branch=master \
+ file://0001-Add-missing-includes-as-pointed-out-by-musl.patch \
"
-SRCREV = "269fdffcf97238684de9f28977a73677282e061f"
+SRCREV = "ff13a99a22aa73cca0e09a33c2ebb6a94ad698da"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/recipes-bsp/imx-lib/imx-lib_git.bb b/recipes-bsp/imx-lib/imx-lib_git.bb
index 99a156a5..74b7bddf 100644
--- a/recipes-bsp/imx-lib/imx-lib_git.bb
+++ b/recipes-bsp/imx-lib/imx-lib_git.bb
@@ -6,31 +6,31 @@ DESCRIPTION = "Platform specific libraries for imx platform"
LICENSE = "LGPL-2.1-only"
SECTION = "multimedia"
-LIC_FILES_CHKSUM = "file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fbc093901857fcd118f065f900982c24"
PE = "1"
PV = "5.9+${SRCPV}"
-SRCBRANCH = "lf-5.10.52_2.1.0"
-
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "87ddd80953835eb29027d1d5a12044a08e809e40"
+SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547"
S = "${WORKDIR}/git"
inherit use-imx-headers
-PLATFORM:mx6q-nxp-bsp = "IMX6Q"
-PLATFORM:mx6dl-nxp-bsp = "IMX6Q"
-PLATFORM:mx6sl-nxp-bsp = "IMX6S"
+PLATFORM:mx6q-nxp-bsp = "IMX6Q"
+PLATFORM:mx6dl-nxp-bsp = "IMX6Q"
+PLATFORM:mx6sl-nxp-bsp = "IMX6S"
PLATFORM:mx6sll-nxp-bsp = "IMX6UL"
-PLATFORM:mx6sx-nxp-bsp = "IMX6S"
-PLATFORM:mx6ul-nxp-bsp = "IMX6UL"
+PLATFORM:mx6sx-nxp-bsp = "IMX6S"
+PLATFORM:mx6ul-nxp-bsp = "IMX6UL"
PLATFORM:mx6ull-nxp-bsp = "IMX6UL"
-PLATFORM:mx7d-nxp-bsp = "IMX7"
+PLATFORM:mx7d-nxp-bsp = "IMX7"
PLATFORM:mx7ulp-nxp-bsp = "IMX7"
PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
+PLATFORM:mx9-nxp-bsp = "IMX8ULP"
PARALLEL_MAKE="-j 1"
EXTRA_OEMAKE = ""
@@ -47,4 +47,4 @@ do_install () {
find ${D}/ -name *.go -exec rm {} \;
}
-COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp)"
+COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch b/recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch
deleted file mode 100644
index f8c68d45..00000000
--- a/recipes-bsp/imx-mkimage/files/0001-Add-LDFLAGS-to-link-step.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2a6e2d40a4af78d4a0824e384c3aec55db758fee Mon Sep 17 00:00:00 2001
-From: Erik Larsson <erik.larsson@combitech.se>
-Date: Tue, 6 Mar 2018 12:28:39 +0100
-Subject: [PATCH] Add LDFLAGS to link step
-
-Upstream-Status: Pending
-
-Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
----
- iMX8M/soc.mak | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
-index 03b05f7aafeb..4d5df0777704 100644
---- a/iMX8M/soc.mak
-+++ b/iMX8M/soc.mak
-@@ -84,7 +84,7 @@ FW_DIR = imx-boot/imx-boot-tools/$(PLAT)
- $(MKIMG): mkimage_imx8.c
- @echo "PLAT="$(PLAT) "HDMI="$(HDMI)
- @echo "Compiling mkimage_imx8"
-- $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz
-+ $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(BUILD_LDFLAGS) -lz
-
- lpddr4_imem_1d = lpddr4_pmu_train_1d_imem$(LPDDR_FW_VERSION).bin
- lpddr4_dmem_1d = lpddr4_pmu_train_1d_dmem$(LPDDR_FW_VERSION).bin
---
-2.35.1
-
diff --git a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch b/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch
deleted file mode 100644
index 4e0d954a..00000000
--- a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 8fc8fc3dfce7533b9c965185277d34e27055cc8f Mon Sep 17 00:00:00 2001
-From: Thomas Perrot <thomas.perrot@bootlin.com>
-Date: Tue, 26 Apr 2022 15:10:04 +0200
-Subject: [PATCH] Add support for overriding BL31, BL32 and BL33
-
-Upstream-Status: Pending
-
-Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
----
- iMX8M/print_fit_hab.sh | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/iMX8M/print_fit_hab.sh b/iMX8M/print_fit_hab.sh
-index b915115d1ecc..dbc28f2d9af5 100755
---- a/iMX8M/print_fit_hab.sh
-+++ b/iMX8M/print_fit_hab.sh
-@@ -1,12 +1,16 @@
- #!/bin/bash
-
--BL32="tee.bin"
--
- let fit_off=$1
-
- # keep backward compatibility
- [ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000"
-
-+[ -z "$BL31" ] && BL31="bl31.bin"
-+
-+[ -z "$BL32" ] && BL32="tee.bin"
-+
-+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin"
-+
- if [ -z "$ATF_LOAD_ADDR" ]; then
- echo "ERROR: BL31 load address is not set" >&2
- exit 0
-@@ -26,7 +30,7 @@ else
- let uboot_sign_off=$((fit_off - 0x8000 - ivt_off + 0x3000))
- fi
-
--let uboot_size=$(ls -lct u-boot-nodtb.bin | awk '{print $5}')
-+let uboot_size=$(ls -lct $BL33 | awk '{print $5}')
- let uboot_load_addr=0x40200000
-
- let last_sign_off=$(((uboot_sign_off + uboot_size + 3) & ~3))
-@@ -64,13 +68,13 @@ done
-
- let atf_sign_off=$((last_sign_off))
- let atf_load_addr=$ATF_LOAD_ADDR
--let atf_size=$(ls -lct bl31.bin | awk '{print $5}')
-+let atf_size=$(ls -lct $BL31 | awk '{print $5}')
-
- if [ ! -f $BL32 ]; then
- let tee_size=0x0
- let tee_sign_off=$((atf_sign_off + atf_size))
- else
-- let tee_size=$(ls -lct tee.bin | awk '{print $5}')
-+ let tee_size=$(ls -lct $BL32 | awk '{print $5}')
-
- let tee_sign_off=$(((atf_sign_off + atf_size + 3) & ~3))
- let tee_load_addr=$TEE_LOAD_ADDR
---
-2.35.1
diff --git a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch b/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch
deleted file mode 100644
index 72d83e63..00000000
--- a/recipes-bsp/imx-mkimage/files/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From ef28030129a04b1d70dbca3f2236fe7b1c67b4ed Mon Sep 17 00:00:00 2001
-From: Erik Larsson <erik.larsson@combitech.se>
-Date: Thu, 8 Mar 2018 19:04:37 +0100
-Subject: [PATCH] Add support for overriding BL32 and BL33 not only BL31
-
-Upstream-Status: Pending
-
-Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
-Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
-Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
-Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
----
- iMX8M/mkimage_fit_atf.sh | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh
-index 10903ea3bbf5..341a4b3da1ef 100755
---- a/iMX8M/mkimage_fit_atf.sh
-+++ b/iMX8M/mkimage_fit_atf.sh
-@@ -6,6 +6,7 @@
- # usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
-
- [ -z "$BL31" ] && BL31="bl31.bin"
-+
- # keep backward compatibility
- [ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000"
-
-@@ -18,23 +19,23 @@ if [ ! -f $BL31 ]; then
- echo "ERROR: BL31 file $BL31 NOT found" >&2
- exit 0
- else
-- echo "bl31.bin size: " >&2
-- ls -lct bl31.bin | awk '{print $5}' >&2
-+ echo "$BL31 size: " >&2
-+ ls -lct $BL31 | awk '{print $5}' >&2
- fi
-
--BL32="tee.bin"
-+[ -z "$BL32" ] && BL32="tee.bin"
- LOADABLES="\"atf-1\""
-
- if [ ! -f $BL32 ]; then
- BL32=/dev/null
- else
-- echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2
-- echo "tee.bin size: " >&2
-- ls -lct tee.bin | awk '{print $5}' >&2
-+ echo "Building with TEE support, make sure $BL31 is compiled with spd. If you do not want tee, please delete $BL32" >&2
-+ echo "$BL32 size: " >&2
-+ ls -lct $BL32 | awk '{print $5}' >&2
- LOADABLES="$LOADABLES, \"tee-1\""
- fi
-
--BL33="u-boot-nodtb.bin"
-+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin"
- DEK_BLOB="dek_blob_fit_dummy.bin"
-
- if [ ! -f $DEK_BLOB ]; then
-@@ -49,8 +50,8 @@ if [ ! -f $BL33 ]; then
- exit 0
- else
-
-- echo "u-boot-nodtb.bin size: " >&2
-- ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2
-+ echo "$BL33 size: " >&2
-+ ls -lct $BL33 | awk '{print $5}' >&2
- fi
-
- for dtname in $*
---
-2.35.1
diff --git a/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch b/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
index a879208c..f182a2f1 100644
--- a/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
+++ b/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
@@ -1,6 +1,6 @@
-From a4af3747abd88247bf4498ec0cf67a4151e64d41 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Thu, 21 Oct 2021 08:53:38 +0000
+From 3e0f78a4efeac4ea0651ac763099d780447a18b4 Mon Sep 17 00:00:00 2001
+From: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
+Date: Wed, 19 Jul 2023 18:34:32 +0300
Subject: [PATCH] iMX8M: soc.mak: use native mkimage from sysroot
mkimage tool is provided as a part of sysroot from Yocto build. Current
@@ -13,63 +13,65 @@ build.
Use it from the build sysroot, and do not pull the local version of it.
-Upstream-Status: Inappropriate [OE-specific]
+Reinjected the original patch from Andrey Zhizhikin <andrey.z@gmail.com>
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
---
+
iMX8M/soc.mak | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
-diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
-index 4bfdc37..03b05f7 100644
---- a/iMX8M/soc.mak
-+++ b/iMX8M/soc.mak
-@@ -148,7 +148,7 @@ u-boot.itb: $(dtb)
+Index: git/iMX8M/soc.mak
+===================================================================
+--- git.orig/iMX8M/soc.mak
++++ git/iMX8M/soc.mak
+@@ -160,7 +160,7 @@ u-boot.itb: $(dtb) $(supp_dtbs)
./$(PAD_IMAGE) bl31.bin
- ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb)
- DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb) > u-boot.its
-- ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
-+ mkimage -E -p 0x3000 -f u-boot.its u-boot.itb
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) $(supp_dtbs)
+ BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) $(supp_dtbs) > u-boot.its
+- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
@rm -f u-boot.its $(dtb)
dtb_ddr3l = valddr3l.dtb
-@@ -160,7 +160,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l)
+@@ -172,7 +172,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) $(supp_dt
./$(PAD_IMAGE) bl31.bin
- ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l)
- DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr3l) > u-boot-ddr3l.its
-- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
-+ mkimage -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l) $(supp_dtbs)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l) $(supp_dtbs) > u-boot-ddr3l.its
+- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
@rm -f u-boot.its $(dtb_ddr3l)
dtb_ddr3l_evk = evkddr3l.dtb
-@@ -172,7 +172,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk)
+@@ -184,7 +184,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk) $
./$(PAD_IMAGE) bl31.bin
- ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk)
- DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr3l_evk) > u-boot-ddr3l-evk.its
-- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
-+ mkimage -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk) $(supp_dtbs)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l_evk) $(supp_dtbs) > u-boot-ddr3l-evk.its
+- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
@rm -f u-boot.its $(dtb_ddr3l_evk)
dtb_ddr4 = valddr4.dtb
-@@ -184,7 +184,7 @@ u-boot-ddr4.itb: $(dtb_ddr4)
+@@ -196,7 +196,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) $(supp_dtbs
./$(PAD_IMAGE) bl31.bin
- ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4)
- DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr4) > u-boot-ddr4.its
-- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
-+ mkimage -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4) $(supp_dtbs)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4) $(supp_dtbs) > u-boot-ddr4.its
+- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
@rm -f u-boot.its $(dtb_ddr4)
dtb_ddr4_evk = evkddr4.dtb
-@@ -196,7 +196,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk)
+@@ -208,7 +208,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk) $(s
./$(PAD_IMAGE) bl31.bin
- ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk)
- DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb_ddr4_evk) > u-boot-ddr4-evk.its
-- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
-+ mkimage -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk) $(supp_dtbs)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4_evk) $(supp_dtbs) > u-boot-ddr4-evk.its
+- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
@rm -f u-boot.its $(dtb_ddr4_evk)
ifeq ($(HDMI),yes)
-@@ -312,7 +312,6 @@ nightly :
+@@ -358,7 +358,6 @@ nightly :
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/fsl-$(PLAT)-evk.dtb -O fsl-$(PLAT)-evk.dtb
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_hdmi_imx8m.bin -O signed_hdmi_imx8m.bin
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_dp_imx8m.bin -O signed_dp_imx8m.bin
@@ -77,6 +79,3 @@ index 4bfdc37..03b05f7 100644
archive :
git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME)
---
-2.17.1
-
diff --git a/recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch b/recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch
deleted file mode 100644
index 5a4a895b..00000000
--- a/recipes-bsp/imx-mkimage/files/0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From f281b935985f1b592534ee2837ce0d0b28c7dc43 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Tue, 11 Jan 2022 15:32:05 -0600
-Subject: [PATCH] mkimage_fit_atf: fix fit generator node naming
-
-Extend sections which contains "firmware" in their types with "os"
-parameter to conform to the latest FIT specification.
-
-Indicate that load and entry addresses are covered by one 32-bit value
-by adding "address-cells" in the root node of the generated ITS.
-
-Upstream-Status: Inappropriate [script is imx-boot specific]
-Link: [1] https://github.com/u-boot/u-boot/commit/79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
-Cc: Tom Hochstein <tom.hochstein@nxp.com>
----
- iMX8M/mkimage_fit_atf.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh
-index 4f2b3f3..10903ea 100755
---- a/iMX8M/mkimage_fit_atf.sh
-+++ b/iMX8M/mkimage_fit_atf.sh
-@@ -64,10 +64,12 @@ cat << __HEADER_EOF
-
- / {
- description = "Configuration to load ATF before U-Boot";
-+ #address-cells = <1>;
-
- images {
- uboot-1 {
- description = "U-Boot (64-bit)";
-+ os = "u-boot";
- data = /incbin/("$BL33");
- type = "standalone";
- arch = "arm64";
-@@ -93,6 +95,7 @@ done
- cat << __HEADER_EOF
- atf-1 {
- description = "ARM Trusted Firmware";
-+ os = "arm-trusted-firmware";
- data = /incbin/("$BL31");
- type = "firmware";
- arch = "arm64";
-@@ -106,6 +109,7 @@ if [ -f $BL32 ]; then
- cat << __HEADER_EOF
- tee-1 {
- description = "TEE firmware";
-+ os = "op-tee-firmware";
- data = /incbin/("$BL32");
- type = "firmware";
- arch = "arm64";
---
-2.17.1
-
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
index 4e1b860a..a761870b 100644
--- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -7,11 +7,8 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
-inherit use-imx-security-controller-firmware
+inherit use-imx-security-controller-firmware uboot-sign
-IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware imx-seco"
-IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "firmware-imx-8m"
-IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
DEPENDS += " \
u-boot \
${IMX_EXTRA_FIRMWARE} \
@@ -28,6 +25,7 @@ inherit deploy uuu_bootloader_tag
UUU_BOOTLOADER = "${BOOT_NAME}"
UUU_BOOTLOADER_TAGGED = "${BOOT_NAME}-tagged"
+UUU_BOOTLOADER_UNTAGGED = "${BOOT_NAME}-untagged"
# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}"
@@ -46,9 +44,6 @@ SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin"
ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
-UBOOT_NAME = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
-BOOT_CONFIG_MACHINE = "${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG}.bin"
-
TOOLS_NAME ?= "mkimage_imx8"
IMX_BOOT_SOC_TARGET ?= "INVALID"
@@ -63,17 +58,23 @@ IMXBOOT_TARGETS ?= \
BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M"
BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX"
+BOOT_STAGING:mx9-generic-bsp = "${S}/iMX9"
-SOC_FAMILY = "INVALID"
-SOC_FAMILY:mx8-generic-bsp = "mx8"
-SOC_FAMILY:mx8m-generic-bsp = "mx8m"
-SOC_FAMILY:mx8x-generic-bsp = "mx8x"
+SOC_FAMILY = "INVALID"
+SOC_FAMILY:mx8-generic-bsp = "mx8"
+SOC_FAMILY:mx8m-generic-bsp = "mx8m"
+SOC_FAMILY:mx8x-generic-bsp = "mx8x"
+SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp"
+SOC_FAMILY:mx91p-generic-bsp = "mx93"
+SOC_FAMILY:mx93-generic-bsp = "mx93"
-REV_OPTION ?= ""
-REV_OPTION:mx8qxp-generic-bsp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', '', \
- 'REV=C0', d)}"
-REV_OPTION:mx8dx-generic-bsp = "REV=C0"
+REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
+
+do_uboot_assemble_fitimage:prepend:imx-generic-bsp() {
+ for config in ${UBOOT_MACHINE}; do
+ mkdir -p ${B}/${config}
+ done
+}
compile_mx8m() {
bbnote 8MQ/8MM/8MN/8MP boot binary build
@@ -81,24 +82,35 @@ compile_mx8m() {
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
done
+
cp ${DEPLOY_DIR_IMAGE}/signed_dp_imx8m.bin ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
${BOOT_STAGING}/u-boot-spl.bin
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \
+
+ if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
+ # Use DTB binary patched with signature node
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA}
+ else
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}
+ fi
+
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
${BOOT_STAGING}/u-boot-nodtb.bin
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
- cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
+
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
+
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
+
}
compile_mx8() {
bbnote 8QM boot binary build
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
- cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
- if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
- cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
${BOOT_STAGING}/u-boot-spl.bin
fi
}
@@ -107,65 +119,172 @@ compile_mx8x() {
bbnote 8QX boot binary build
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
- cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
- if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
- cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${BOOT_STAGING}/u-boot-spl.bin
+ fi
+}
+
+compile_mx8ulp() {
+ bbnote 8ULP boot binary build
+ cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/upower.bin ${BOOT_STAGING}/upower.bin
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
${BOOT_STAGING}/u-boot-spl.bin
fi
}
+
+compile_mx93() {
+ bbnote i.MX 93 boot binary build
+ for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
+ bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
+ cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
+ done
+
+ cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/
+ cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${BOOT_STAGING}/u-boot-spl.bin
+ fi
+}
+
do_compile() {
# mkimage for i.MX8
# Copy TEE binary to SoC target folder to mkimage
if ${DEPLOY_OPTEE}; then
cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
fi
- for target in ${IMXBOOT_TARGETS}; do
- compile_${SOC_FAMILY}
- if [ "$target" = "flash_linux_m4_no_v2x" ]; then
- # Special target build for i.MX 8DXL with V2X off
- bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}"
- make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME} flash_linux_m4
+ for type in ${UBOOT_CONFIG}; do
+ if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then
+ UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
else
- bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${target}"
- make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} dtbs=${UBOOT_DTB_NAME} ${target}
- fi
- if [ -e "${BOOT_STAGING}/flash.bin" ]; then
- cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${target}
+ UBOOT_DTB_NAME_FLAGS="${@' '.join(flag + ':' + dtb for flag, dtb in (d.getVarFlags('UBOOT_DTB_NAME')).items()) if d.getVarFlags('UBOOT_DTB_NAME') is not None else '' }"
fi
+
+ for key_value in ${UBOOT_DTB_NAME_FLAGS}; do
+ type_key="${key_value%%:*}"
+ dtb_name="${key_value#*:}"
+
+ if [ "$type_key" = "$type" ]
+ then
+ bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name"
+
+ UBOOT_CONFIG_EXTRA="$type_key"
+ if [ -e ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${dtb_name}-${type} ] ; then
+ UBOOT_DTB_NAME_EXTRA="${dtb_name}-${type}"
+ else
+ # backward compatibility
+ UBOOT_DTB_NAME_EXTRA="${dtb_name}"
+ fi
+ UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
+ BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
+
+ for target in ${IMXBOOT_TARGETS}; do
+ compile_${SOC_FAMILY}
+ if [ "$target" = "flash_linux_m4_no_v2x" ]; then
+ # Special target build for i.MX 8DXL with V2X off
+ bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}"
+ make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4
+ else
+ bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${target}"
+ make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} dtbs=${UBOOT_DTB_NAME_EXTRA} ${target}
+ fi
+ if [ -e "${BOOT_STAGING}/flash.bin" ]; then
+ cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target}
+ fi
+ done
+
+ unset UBOOT_CONFIG_EXTRA
+ unset UBOOT_DTB_NAME_EXTRA
+ unset UBOOT_NAME_EXTRA
+ unset BOOT_CONFIG_MACHINE_EXTRA
+ fi
+
+ unset type_key
+ unset dtb_name
+ done
+
+ unset UBOOT_DTB_NAME_FLAGS
done
+ unset type
}
do_install () {
install -d ${D}/boot
- for target in ${IMXBOOT_TARGETS}; do
- install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${D}/boot/
+ for type in ${UBOOT_CONFIG}; do
+
+ bbnote "UBOOT_CONFIG = $type"
+
+ UBOOT_CONFIG_EXTRA="$type"
+ BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
+
+ for target in ${IMXBOOT_TARGETS}; do
+ install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/
+ done
+
+ unset UBOOT_CONFIG_EXTRA
+ unset BOOT_CONFIG_MACHINE_EXTRA
done
+
+ unset type
}
deploy_mx8m() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
- ${DEPLOYDIR}/${BOOT_TOOLS}
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
done
+
install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
}
+
deploy_mx8() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+}
+
+deploy_mx8x() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
${DEPLOYDIR}/${BOOT_TOOLS}
fi
}
-deploy_mx8x() {
+
+deploy_mx8ulp() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+}
+
+deploy_mx93() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+
+ for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
+ done
+
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
@@ -173,33 +292,55 @@ deploy_mx8x() {
${DEPLOYDIR}/${BOOT_TOOLS}
fi
}
+
do_deploy() {
deploy_${SOC_FAMILY}
- # copy the sc fw, dcd and uboot to deploy path
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
# copy tee.bin to deploy path
if ${DEPLOY_OPTEE}; then
install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
fi
-
# copy makefile (soc.mak) for reference
install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
- # copy the generated boot image to deploy path
- for target in ${IMXBOOT_TARGETS}; do
- # Use first "target" as IMAGE_IMXBOOT_TARGET
- if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then
- IMAGE_IMXBOOT_TARGET="$target"
- echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
+
+ for type in ${UBOOT_CONFIG}; do
+ UBOOT_CONFIG_EXTRA="$type"
+ UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
+ BOOT_CONFIG_MACHINE_EXTRA="${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
+
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
fi
- install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${DEPLOYDIR}
- done
+ # copy the tool mkimage to deploy path and sc fw, dcd and uboot
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${DEPLOYDIR}/${BOOT_TOOLS}
+
+ # copy the generated boot image to deploy path
+ for target in ${IMXBOOT_TARGETS}; do
+ # Use first "target" as IMAGE_IMXBOOT_TARGET
+ if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then
+ IMAGE_IMXBOOT_TARGET="$target"
+ echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
+ fi
+ install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${DEPLOYDIR}
+ done
- ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}
+ # The first UBOOT_CONFIG listed will be the ${BOOT_NAME} binary
+ if [ ! -f "${DEPLOYDIR}/${UUU_BOOTLOADER}" ]; then
+ ln -sf ${BOOT_CONFIG_MACHINE_EXTRA}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}
+ else
+ bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type"
+ fi
+
+ unset UBOOT_CONFIG_EXTRA
+ unset UBOOT_NAME_EXTRA
+ unset BOOT_CONFIG_MACHINE_EXTRA
+ done
+ unset type
}
addtask deploy before do_build after do_compile
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES:${PN} = "/boot"
-COMPATIBLE_MACHINE = "(mx8-generic-bsp)"
+COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
index 4906121f..f95f2a2b 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
@@ -1,5 +1,5 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2021 NXP
+# Copyright (C) 2017-2022 NXP
require imx-mkimage_git.inc
@@ -10,17 +10,11 @@ SECTION = "BSP"
inherit deploy native
-CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
+EXTRA_OEMAKE = "SOC=iMX8M mkimage_imx8"
-do_compile () {
- cd ${S}
- oe_runmake clean
- oe_runmake bin
- oe_runmake -C iMX8M -f soc.mak mkimage_imx8
-}
+CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
-do_install () {
- cd ${S}
+do_install() {
install -d ${D}${bindir}
install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m
install -m 0755 iMX8M/mkimage_fit_atf.sh ${D}${bindir}/mkimage_fit_atf.sh
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index 165ba64e..20402697 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -1,16 +1,13 @@
-# Copyright 2017-2021 NXP
+# Copyright 2017-2022 NXP
DEPENDS = "zlib-native openssl-native"
-SRCBRANCH = "lf-5.15.5_1.0.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch \
+SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \
- file://0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch \
- file://0001-Add-LDFLAGS-to-link-step.patch \
- file://0001-Add-support-for-overriding-BL31-BL32-and-BL33.patch \
"
-SRCREV = "22346a32a88aa752d4bad8f2ed1eb641e18849dc"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "c4365450fb115d87f245df2864fee1604d97c06a"
+
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"
diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.12.1.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
index 919a474e..7dc2e593 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.12.1.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
@@ -1,24 +1,24 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2021 NXP
+# Copyright 2017-2022 NXP
DESCRIPTION = "i.MX System Controller Firmware"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe"
SECTION = "BSP"
inherit fsl-eula-unpack pkgconfig deploy
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "ebe1cd97369e08709594b72b065cea3d"
-SRC_URI[sha256sum] = "5ab47143623003cbe151b39a5ffcb7ea0dd5587a776e040453884e9608634b0e"
+SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f"
+SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
BOARD_TYPE ?= "mek"
SC_FIRMWARE_NAME ?= "INVALID"
-SC_FIRMWARE_NAME:mx8qm-nxp-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME:mx8qxp-nxp-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME:mx8dxl-nxp-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME:mx8dx-nxp-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8qm-generic-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8qxp-generic-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8dxl-generic-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8dx-generic-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin"
symlink_name = "scfw_tcm.bin"
@@ -38,4 +38,8 @@ INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
+LDFLAGS:remove = "-fuse-ld=lld"
+
+DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
+
+COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch b/recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch
new file mode 100644
index 00000000..656469c2
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs/0001-Fix-return-value-of-void-functions.patch
@@ -0,0 +1,57 @@
+From 2eff97fe2345d8255869224404322d23193f1115 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 7 Jan 2023 21:59:15 -0800
+Subject: [PATCH] Fix return value of void* functions
+
+This is found with clang
+
+Fixes
+error: non-void function does not return a value [-Werror,-Wreturn-type]
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/hsm/hsm_test.c | 1 +
+ test/she/src/she_test_storage_manager.c | 1 +
+ test/v2x/v2x_test.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/test/hsm/hsm_test.c b/test/hsm/hsm_test.c
+index 9f29ca9..01820b8 100644
+--- a/test/hsm/hsm_test.c
++++ b/test/hsm/hsm_test.c
+@@ -391,6 +391,7 @@ static uint32_t nvm_status;
+ static void *hsm_storage_thread(void *arg)
+ {
+ seco_nvm_manager(NVM_FLAGS_HSM, &nvm_status);
++ return 0;
+ }
+
+
+diff --git a/test/she/src/she_test_storage_manager.c b/test/she/src/she_test_storage_manager.c
+index 32a4cb9..68cdba7 100644
+--- a/test/she/src/she_test_storage_manager.c
++++ b/test/she/src/she_test_storage_manager.c
+@@ -28,6 +28,7 @@ static uint32_t nvm_status;
+ static void *she_storage_thread(void *arg)
+ {
+ seco_nvm_manager(NVM_FLAGS_SHE, &nvm_status);
++ return 0;
+ }
+
+
+diff --git a/test/v2x/v2x_test.c b/test/v2x/v2x_test.c
+index aeb3d2a..5f02354 100644
+--- a/test/v2x/v2x_test.c
++++ b/test/v2x/v2x_test.c
+@@ -181,6 +181,7 @@ static uint32_t nvm_status;
+ static void *v2x_hsm_storage_thread(void *arg)
+ {
+ seco_nvm_manager(NVM_FLAGS_V2X | NVM_FLAGS_HSM, &nvm_status);
++ return 0;
+ }
+
+
+--
+2.39.0
+
diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
index 2f59f214..b0296e97 100644
--- a/recipes-bsp/imx-seco/imx-seco-libs_git.bb
+++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
@@ -1,26 +1,27 @@
-# Copyright (C) 2019-2021 NXP
+# Copyright 2019-22 NXP
SUMMARY = "NXP i.MX SECO library"
-DESCRIPTION = "NXP i.MX Security Controller library"
+DESCRIPTION = "Library for NXP i.MX Security Controller Subsystem"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://EULA.txt;md5=76871788f27c28af824e2ec1ca187832"
+LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011"
DEPENDS = "zlib"
-SRCBRANCH = "lf-5.15.5_1.0.0"
+SRCBRANCH = "imx_5.4.70_2.3.11"
SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \
file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \
- file://0001-add-v2x_test-to-the-installed-binaries.patch"
-SRCREV = "06a9062cdf51aa29a1c872709e21f927ca00d0b6"
+ file://0001-add-v2x_test-to-the-installed-binaries.patch \
+ file://0001-Fix-return-value-of-void-functions.patch"
+SRCREV = "aa8d62900c41cc779c11fe4e6f58b40c3c9f82f0"
S = "${WORKDIR}/git"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install () {
- oe_runmake DESTDIR=${D} install
+ oe_runmake DESTDIR=${D} BINDIR=${bindir} LIBDIR=${libdir} install
}
COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco_3.8.5.bb b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
index fbd72cd0..f7dadea5 100644
--- a/recipes-bsp/imx-seco/imx-seco_3.8.5.bb
+++ b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
@@ -1,17 +1,18 @@
-# Copyright (C) 2019-2021 NXP
+# Copyright 2019-2022 NXP
SUMMARY = "NXP i.MX SECO firmware"
-DESCRIPTION = "NXP i.MX Security Controller firmware"
+DESCRIPTION = "Firmware for i.MX Security Controller Subsystem"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4098ac4459cb81b07d3f0c22b3e8370"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe"
inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "c1797407517b0499f6d5151c1e62e78f"
-SRC_URI[sha256sum] = "b8731c626139c9bd1d530f243c2131c031a523f1428c6a40b017e5352b1da656"
+SRC_URI[md5sum] = "b722a534c4d3cc90270e05eaa812514d"
+SRC_URI[sha256sum] = "c3bd761f457e939035b01a0ab36e79064a2a1bc6c3cdb3cd847f7f38df0964df"
+
do_compile[noexec] = "1"
@@ -23,4 +24,4 @@ do_deploy () {
install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
}
-COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
+COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
diff --git a/recipes-bsp/imx-test/imx-test_git.bb b/recipes-bsp/imx-test/imx-test_git.bb
index b5ee124e..5d30179d 100644
--- a/recipes-bsp/imx-test/imx-test_git.bb
+++ b/recipes-bsp/imx-test/imx-test_git.bb
@@ -1,6 +1,6 @@
# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2021 NXP
+# Copyright (C) 2017-2022 NXP
SUMMARY = "Test programs for i.MX BSP"
DESCRIPTION = "Unit tests for the i.MX BSP"
@@ -8,20 +8,20 @@ SECTION = "base"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c"
-DEPENDS = "alsa-lib libdrm"
-DEPENDS:append:mx6-nxp-bsp = " imx-lib"
-DEPENDS:append:mx7-nxp-bsp = " imx-lib"
+DEPENDS = "alsa-lib freetype libdrm"
DEPENDS:append:imxvpu = " virtual/imxvpu"
+DEPENDS:append:mx6-nxp-bsp = " imx-lib"
+DEPENDS:append:mx7-nxp-bsp = " imx-lib"
+DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
PE = "1"
PV = "7.0+${SRCPV}"
-SRCBRANCH = "lf-5.15.5_1.0.0"
-SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
- file://memtool_profile \
-"
-SRCREV = "b364c1aacc72a63290106ae065bb2f6a8c365ec6"
+SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
+ file://memtool_profile"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "e8b3c9026553233491abb4df4185dd7291a8ffb2"
+
S = "${WORKDIR}/git"
inherit module-base use-imx-headers
@@ -38,6 +38,7 @@ PLATFORM:mx6ul-nxp-bsp = "IMX6UL"
PLATFORM:mx7d-nxp-bsp = "IMX7D"
PLATFORM:mx7ulp-nxp-bsp = "IMX7D"
PLATFORM:mx8-nxp-bsp = "IMX8"
+PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
PARALLEL_MAKE = "-j 1"
EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
@@ -72,11 +73,11 @@ do_install() {
if [ -e ${WORKDIR}/clocks.sh ]; then
install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh
fi
- install -d -m 0755 ${D}/home/root/
- install -m 0644 ${WORKDIR}/memtool_profile ${D}/home/root/.profile
+ install -d -m 0755 ${D}${ROOT_HOME}/
+ install -m 0644 ${WORKDIR}/memtool_profile ${D}${ROOT_HOME}/.profile
}
-FILES:${PN} += "/unit_tests /home/root/.profile"
+FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile"
RDEPENDS:${PN} = "bash"
FILES:${PN}-dbg += "/unit_tests/.debug"
diff --git a/recipes-bsp/imx-uuc/imx-uuc_git.bb b/recipes-bsp/imx-uuc/imx-uuc_git.bb
index 2f001dda..49fc1558 100644
--- a/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -1,10 +1,10 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
+# Copyright (C) 2017-2019,2024 NXP
SUMMARY = "A Daemon wait for NXP mfgtools host's command"
SECTION = "base"
DEPENDS = "virtual/kernel dosfstools-native"
LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit autotools-brokensep
@@ -12,7 +12,7 @@ PR = "r1"
PV = "0.5.1+git${SRCPV}"
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
-SRCREV = "d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc"
+SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.7.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
index 96c0c589..26ebf181 100644
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.7.0.bb
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
@@ -1,8 +1,8 @@
-# Copyright (C) 2019-2021 NXP
+# Copyright 2019-2022 NXP
DESCRIPTION = "i.MX VC8000E Encoder library"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe"
inherit fsl-eula-unpack
@@ -10,8 +10,8 @@ SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
S = "${WORKDIR}/${BPN}-${PV}"
-SRC_URI[md5sum] = "2dbcd9a71d53b86654704932798f263e"
-SRC_URI[sha256sum] = "8af665f8e06e0e467f563e372f43583d94128f0d37f75321965bc26bd4404b2b"
+SRC_URI[md5sum] = "192b354d1c21836dc7338606e60b45ae"
+SRC_URI[sha256sum] = "62b5ba3c4aab21d0d4be3eee9b204a9bb50b83b6140ee1a3b27c648809bdfbaa"
# SCR is the location and name of the Software Content Register file
# relative to ${D}${D_SUBDIR}.
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.2.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
index 25cd931e..f603190b 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.2.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
@@ -6,11 +6,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1"
DEPENDS = "imx-vpu-hantro"
DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
-SRC_URI = " \
- ${FSL_MIRROR}/${BP}.tar.gz \
-"
-SRC_URI[md5sum] = "f30942393a9093388adf91edb458f7a6"
-SRC_URI[sha256sum] = "77e25ad1e1860f0a3983f07d6beb9a04ff32763bacf26db9aefd16559e6eea9b"
+SRC_URI = "${FSL_MIRROR}/${BP}.tar.gz"
+SRC_URI[md5sum] = "23997361dab3054e5a3757a15d33db16"
+SRC_URI[sha256sum] = "ac2b60fb754792eedcfdfc8cf59663cfeaedc402857eff13ac97a911d2c65801"
PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.25.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
index f2381d43..0757a7fb 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.25.0.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
@@ -2,13 +2,13 @@
DESCRIPTION = "i.MX Hantro VPU library"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
PROVIDES = "virtual/imxvpu"
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "6d84b9eecc2f6027f9dbe1c875a4e7b5"
-SRC_URI[sha256sum] = "dd812b92b302bcfb92c10e937d9cad9224edf1593e9e4691d539ab4e190583f0"
+SRC_URI[md5sum] = "81b4eb801349a0c198b7cc43eb8b6097"
+SRC_URI[sha256sum] = "e868e12945b4f217e2e0511fdc2587875d6c9124e8673b67f1e7de367ff5012f"
inherit fsl-eula-unpack use-imx-headers
diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
index 77c81f19..383a0e2a 100644
--- a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
+++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
@@ -2,7 +2,7 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
# Copyright (C) 2017-2020 NXP
-DESCRIPTION = "Freescale VPU library"
+DESCRIPTION = "Freescale VPU library for Chips&Media VPU"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
@@ -28,5 +28,4 @@ do_install() {
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
}
-# Compatible only for i.MX with Chips&Media VPU
COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.16.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
index 5b53068c..0ab44074 100644
--- a/recipes-bsp/isp-imx/basler-camera_4.2.2.16.0.bb
+++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
@@ -1,15 +1,15 @@
-# Copyright 2020-2021 NXP
+# Copyright 2020-2023 NXP
DESCRIPTION = "Basler camera binary drivers"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
inherit fsl-eula-unpack
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "489763169857773bade28611e649172e"
-SRC_URI[sha256sum] = "3d4ae594659a697eef7479ca2480cc53f1d460f22bcc1c58104cff63bc6705fe"
+SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71"
+SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
do_install() {
dest_dir=${D}/opt/imx8-isp/bin
@@ -22,6 +22,7 @@ do_install() {
SYSTEMD_AUTO_ENABLE = "enable"
FILES:${PN} = "${libdir} /opt"
-INSANE_SKIP:${PN} = "file-rdeps already-stripped"
+INSANE_SKIP:${PN} = "already-stripped"
+RDEPENDS:${PN} += "isp-imx"
COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
new file mode 100644
index 00000000..3f04000c
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
@@ -0,0 +1,44 @@
+From 15aae364fb52df30e4a49e73e2048fdc633e6868 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Sun, 8 Oct 2023 09:15:54 -0300
+Subject: [PATCH] cpp-netlib: parsers.ipp: add missing include
+
+With the update to boost from 1.82.0 -> 1.83.0 we now get compiler errors:
+
+| .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:58:3: error: 'u8_to_u32_iterator' was not declared in this scope
+
+Add the missing explicit include. Before the file was indirectly included from qi.hpp:
+
+| In file included from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/regex/pending/unicode_iterator.hpp:27,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/utf8.hpp:15,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/info.hpp:17,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/domain.hpp:16,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/meta_compiler.hpp:15,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action/action.hpp:14,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action.hpp:14,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi.hpp:14,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/include/qi.hpp:16,
+| from .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:5,
+
+Upstream-Status: Pending
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ .../boost/network/protocol/http/server/impl/parsers.ipp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
+index c31e60e..2b83fbe 100755
+--- a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
++++ b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
+@@ -13,6 +13,7 @@
+ #include <tuple>
+ #include <boost/fusion/include/std_tuple.hpp>
+ #include <boost/network/protocol/http/message/header.hpp>
++#include <boost/regex/pending/unicode_iterator.hpp>
+
+ #ifdef BOOST_NETWORK_NO_LIB
+ #ifndef BOOST_NETWORK_INLINE
+--
+2.35.3
+
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch b/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch
deleted file mode 100644
index bfea33a7..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a48c605b9f3860ee7abaca1a37add444a1b4001a Mon Sep 17 00:00:00 2001
-From: Chris Dimich <chris.dimich@boundarydevices.com>
-Date: Tue, 8 Mar 2022 14:45:28 -0800
-Subject: [PATCH 1/1] start_isp.sh: fix NR_DEVICE_TREE_BASLER variable
-
-The NR_DEVICE_TREE_BASLER variable has the wrong path.
-
-Signed-off-by: Chris Dimich <chris.dimich@boundarydevices.com>
----
- imx/start_isp.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/imx/start_isp.sh b/imx/start_isp.sh
-index 6daabc59c..8a07acfed 100755
---- a/imx/start_isp.sh
-+++ b/imx/start_isp.sh
-@@ -7,7 +7,7 @@
- #
-
- RUNTIME_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
--NR_DEVICE_TREE_BASLER=$(grep basler-camera-vvcam /sys/firmware/devicetree/base/soc@0/*/i2c@*/*/compatible -l | wc -l 2> /dev/null)
-+NR_DEVICE_TREE_BASLER=$(grep basler-camera-vvcam `find /sys/firmware/devicetree/base/soc@0/ -name compatible | grep i2c` -l | wc -l 2> /dev/null)
- NR_DEVICE_TREE_OV5640=$(grep ov5640 /sys/firmware/devicetree/base/soc@0/*/i2c@*/*/compatible -l | wc -l 2> /dev/null)
-
- # check if the basler device has been enabled in the device tree
---
-2.31.1
-
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb
deleted file mode 100644
index b8cd5033..00000000
--- a/recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2020-2021 NXP
-
-DESCRIPTION = "i.MX Verisilicon Software ISP"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f"
-DEPENDS = "python3 libdrm virtual/libg2d libtinyxml2-8"
-
-SRC_URI = " \
- ${FSL_MIRROR}/${BP}.bin;fsl-eula=true \
- file://0001-start_isp.sh-fix-NR_DEVICE_TREE_BASLER-variable.patch \
-"
-
-SRC_URI[md5sum] = "f490153dbec234a04416ad41834806b2"
-SRC_URI[sha256sum] = "83b24b9d1f7a40a506a45a1c5c2ef2ca2313fe9b23fde591e3b7dce77ea359ca"
-
-inherit fsl-eula-unpack cmake systemd use-imx-headers
-
-# Build the sub-folder appshell
-OECMAKE_SOURCEPATH = "${S}/appshell"
-
-# Use make instead of ninja
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-# Workaround for linking issues seen with gold linker
-LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
-
-EXTRA_OECMAKE += " \
- -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
- -DCMAKE_BUILD_TYPE=release \
- -DISP_VERSION=ISP8000NANO_V1802 \
- -DPLATFORM=ARM64 \
- -DAPPMODE=V4L2 \
- -DQTLESS=1 \
- -DFULL_SRC_COMPILE=1 \
- -DWITH_DRM=1 \
- -DWITH_DWE=1 \
- -DSERVER_LESS=1 \
- -DSUBDEV_V4L2=1 \
- -DENABLE_IRQ=1 \
- -DPARTITION_BUILD=0 \
- -D3A_SRC_BUILD=0 \
- -DIMX_G2D=ON \
- -Wno-dev \
-"
-
-do_configure:prepend() {
- export SDKTARGETSYSROOT=${STAGING_DIR_HOST}
-}
-
-do_compile:prepend() {
- ln -sf ${RECIPE_SYSROOT}/${libdir}/libtinyxml2.so.?.?.? ${RECIPE_SYSROOT}/${libdir}/libtinyxml2.so
-}
-
-do_install() {
- install -d ${D}/${libdir}
- install -d ${D}/${includedir}
- install -d ${D}/opt/imx8-isp/bin
-
- cp -r ${WORKDIR}/build/generated/release/bin/*_test ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/bin/*2775* ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/bin/vvext ${D}/opt/imx8-isp/bin
- cp -r ${WORKDIR}/build/generated/release/lib/*.so* ${D}/${libdir}
- cp -r ${WORKDIR}/build/generated/release/include/* ${D}/${includedir}
-
- cp ${WORKDIR}/${BP}/imx/run.sh ${D}/opt/imx8-isp/bin
- cp ${WORKDIR}/${BP}/imx/start_isp.sh ${D}/opt/imx8-isp/bin
-
- chmod +x ${D}/opt/imx8-isp/bin/run.sh
- chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/${BP}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
- fi
-}
-
-# The build contains a mix of versioned and unversioned libraries, so
-# the default packaging configuration needs some modifications
-FILES_SOLIBSDEV = ""
-FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
-FILES:${PN}-dev += " \
- ${libdir}/libjsoncpp.so \
- ${libdir}/libos08a20.so \
- ${libdir}/libov2775.so \
-"
-
-INSANE_SKIP:${PN} = "rpaths"
-
-RDEPENDS:${PN} = "libdrm libpython3"
-
-COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
new file mode 100644
index 00000000..9e0f0265
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb
@@ -0,0 +1,105 @@
+# Copyright 2020-2023 NXP
+
+DESCRIPTION = "i.MX Verisilicon Software ISP"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 patchelf-native"
+
+SRC_URI = " \
+ ${FSL_MIRROR}/${BP}.bin;fsl-eula=true \
+ file://0001-cpp-netlib-parsers.ipp-add-missing-include.patch \
+"
+
+SRC_URI[sha256sum] = "34b23f5b9f0856a8f5722e339a7ad4ccf4d99614788598306ff8b20093c1e846"
+
+inherit fsl-eula-unpack cmake systemd use-imx-headers
+
+# Build the sub-folder appshell
+OECMAKE_SOURCEPATH = "${S}/appshell"
+
+# Use make instead of ninja
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+# Workaround for linking issues seen with gold linker
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
+
+EXTRA_OECMAKE += " \
+ -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
+ -DCMAKE_BUILD_TYPE=release \
+ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
+ -DCMAKE_INSTALL_LIBDIR=${libdir} \
+ -DISP_VERSION=ISP8000NANO_V1802 \
+ -DPLATFORM=ARM64 \
+ -DAPPMODE=V4L2 \
+ -DTUNINGEXT=1 \
+ -DQTLESS=1 \
+ -DFULL_SRC_COMPILE=1 \
+ -DWITH_DRM=1 \
+ -DWITH_DWE=1 \
+ -DSERVER_LESS=1 \
+ -DSUBDEV_V4L2=1 \
+ -DENABLE_IRQ=1 \
+ -DPARTITION_BUILD=0 \
+ -D3A_SRC_BUILD=0 \
+ -DIMX_G2D=ON \
+ -Wno-dev \
+"
+
+do_configure:prepend () {
+ # FIXME: Should be rebuild.
+ patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/units/cam_device/proprietories/lib/libcam_device.so
+ patchelf --replace-needed libtinyxml2.so.9 libtinyxml2.so.10 ${S}/mediacontrol/lib/arm-64/fpga/libcam_device.so
+}
+
+do_install() {
+ # FIXME: provided by the basler-camera package, do not install them here additionally
+ rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
+
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+ install -d ${D}/opt/imx8-isp/bin
+ install -d ${D}/opt/imx8-isp/bin/dewarp_config
+
+ cp -r ${B}/generated/release/bin/*_test ${D}/opt/imx8-isp/bin
+ cp -r ${B}/generated/release/bin/*.xml ${D}/opt/imx8-isp/bin
+ cp -r ${B}/generated/release/bin/*.drv ${D}/opt/imx8-isp/bin
+ cp -r ${B}/generated/release/bin/tuningext ${D}/opt/imx8-isp/bin
+ cp -r ${B}/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin
+ cp -r ${B}/generated/release/bin/vvext ${D}/opt/imx8-isp/bin
+
+ cp -r ${B}/generated/release/lib/*.so* ${D}/${libdir}
+ cp -r ${B}/generated/release/include/* ${D}/${includedir}
+
+ cp -r ${S}/dewarp/dewarp_config/ ${D}/opt/imx8-isp/bin
+ cp ${S}/imx/run.sh ${D}/opt/imx8-isp/bin
+ cp ${S}/imx/start_isp.sh ${D}/opt/imx8-isp/bin
+
+ chmod +x ${D}/opt/imx8-isp/bin/run.sh
+ chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
+ fi
+}
+
+# The build contains a mix of versioned and unversioned libraries, so
+# the default packaging configuration needs some modification so that
+# unversioned .so libraries go to the main package and versioned .so
+# symlinks go to -dev.
+FILES_SOLIBSDEV = ""
+FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
+FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
+FILES_SOLIBS_VERSIONED = " \
+ ${libdir}/libcppnetlib-client-connections.so \
+ ${libdir}/libcppnetlib-server-parsers.so \
+ ${libdir}/libcppnetlib-uri.so \
+ ${libdir}/libjsoncpp.so \
+ ${libdir}/libos08a20.so \
+"
+
+RDEPENDS:${PN} = "libdrm"
+
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb b/recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb
deleted file mode 100644
index 07d52355..00000000
--- a/recipes-bsp/isp-imx/libtinyxml2-8_8.0.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
-HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
-SECTION = "libs"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd"
-
-SRC_URI = "git://github.com/leethomason/tinyxml2.git;branch=master;protocol=https"
-
-SRCREV = "bf15233ad88390461f6ab0dbcf046cce643c5fcb"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# make sure we don't provide files which are also present in the
-# current libtinyxml2 version's -dev package.
-do_install:append() {
- rm -rf ${D}/${includedir}
- rm -rf ${D}/${libdir}/cmake
- rm -rf ${D}/${libdir}/libtinyxml2.so
- rm -rf ${D}/${libdir}/pkgconfig
-}
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.0.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.0.bb
deleted file mode 100644
index 3b820ed6..00000000
--- a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
- ("DMA memory" or "DMA buffers") on i.MX devices.'
-HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
-SECTION = "base"
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH ?= "master"
-SRCREV = "5e15481b71468e689f7529d7609dc31790275504"
-SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH};protocol=https \
- file://run-ptest \
- "
-
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig waf use-imx-headers ptest
-
-# Device node path to the DMA-BUF heap to use in the dma-heap allocator.
-# This must be one that allocates physically contiguous memory, otherwise
-# it cannot allocate usable DMA buffers.
-DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma"
-
-EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
- --dma-heap-device-node-path=${DMA_HEAP_DEVICE_NODE_PATH} \
- --libdir=${libdir} \
- ${PACKAGECONFIG_CONFARGS}"
-
-# If imxdpu is in use, the DPU is also used for implementing
-# libg2d. However, that implementation's g2d_alloc() function
-# is broken, so we cannot use it.
-LIBG2D_PACKAGECONFIG = "g2d"
-LIBG2D_PACKAGECONFIG:imxdpu = ""
-
-PACKAGECONFIG ?= " "
-PACKAGECONFIG:append:imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
-PACKAGECONFIG:append:imxipu = " ipu"
-PACKAGECONFIG:append:imxpxp = " pxp"
-# All i.MX8 machines can use the dma-heap allocator. i.MX8m ones
-# can also use the DWL allocator, though dma-heap is preferred.
-# Vendor kernels that are older than kernel 5.6 cannot use
-# dma-heap, however, and should use ion instead, since the
-# former is not available pre-5.6.
-PACKAGECONFIG:append:mx8-nxp-bsp = " dma-heap"
-PACKAGECONFIG:append:mx8m-nxp-bsp = " dwl"
-
-HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
-
-PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF},--with-dwl-allocator=no,imx-vpu-hantro"
-PACKAGECONFIG[ion] = "--with-ion-allocator=yes, --with-ion-allocator=no,"
-PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes, --with-ipu-allocator=no,"
-PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes, --with-g2d-allocator=no,virtual/libg2d"
-PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes, --with-pxp-allocator=no,"
-PACKAGECONFIG[dma-heap] = "--with-dma-heap-allocator=yes, --with-dma-heap-allocator=no,"
-
-# Using do_install_ptest_base instead of do_install_ptest, since
-# the default do_install_ptest_base is hardcoded to expect Makefiles.
-do_install_ptest_base() {
- install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
- install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
-}
-
-COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
new file mode 100644
index 00000000..b160c31d
--- /dev/null
+++ b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb
@@ -0,0 +1,89 @@
+DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
+ ("DMA memory" or "DMA buffers") on i.MX devices.'
+HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
+SECTION = "base"
+
+PV .= "+git${SRCPV}"
+
+SRCBRANCH ?= "master"
+SRCREV = "faf547cc2345bfbf95507ab7e86530f85289bb5b"
+SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH};protocol=https \
+ file://run-ptest \
+ "
+
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig waf use-imx-headers ptest
+
+EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
+ --libdir=${libdir} \
+ ${@bb.utils.contains_any('PACKAGECONFIG', \
+ [ 'dma-heap-cached', 'dma-heap-uncached' ], \
+ '', '--with-dma-heap-allocator=no',d)} \
+ ${PACKAGECONFIG_CONFARGS}"
+
+# If imxdpu is in use, the DPU is also used for implementing
+# libg2d. However, that implementation's g2d_alloc() function
+# is broken, so we cannot use it.
+LIBG2D_PACKAGECONFIG = "g2d"
+LIBG2D_PACKAGECONFIG:imxdpu = ""
+
+# The dma-heap allocator is special in that it can use more than one heap device
+# node. In libimxdmabuffer, only heaps that allocate physically contiguous memory
+# can be used, otherwise usable DMA buffers cannot be allocated. Furthermore,
+# on NXP machines, there is a dma-heap for cached and one for uncached memory.
+#
+# One of them has to be selected by choosing either the "dma-heap-cached" or the
+# "dma-heap-uncached" PACKAGECONFIG. The uncached one is picked by default for
+# performance reasons (it does not suffer from cache coherence issues).
+#
+# Note that the uncached heap is not available prior to imx-kernel 5.15.5;
+# older kernels can only use the cached one.
+
+CACHED_DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma"
+UNCACHED_DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma-uncached"
+
+CACHED_DMA_HEAP_CONF = "--dma-heap-device-node-path=${CACHED_DMA_HEAP_DEVICE_NODE_PATH}"
+UNCACHED_DMA_HEAP_CONF = "--dma-heap-device-node-path=${UNCACHED_DMA_HEAP_DEVICE_NODE_PATH} \
+ --dma-heap-uncached-memory"
+
+PACKAGECONFIG ?= " "
+PACKAGECONFIG:append:imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
+PACKAGECONFIG:append:imxipu = " ipu"
+PACKAGECONFIG:append:imxpxp = " pxp"
+# All i.MX8 machines can use the dma-heap allocator. i.MX8m ones
+# can also use the DWL allocator, though dma-heap is preferred.
+# Vendor kernels that are older than kernel 5.6 cannot use
+# dma-heap, however, and should use ion instead, since the
+# former is not available pre-5.6. Out of the dma-heaps, we
+# pick the uncached one by default (see above).
+PACKAGECONFIG:append:mx8-nxp-bsp = " dma-heap-uncached"
+PACKAGECONFIG:append:mx8m-nxp-bsp = " dwl"
+
+HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
+
+PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF}, --with-dwl-allocator=no,imx-vpu-hantro"
+PACKAGECONFIG[ion] = "--with-ion-allocator=yes, --with-ion-allocator=no,"
+PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes, --with-ipu-allocator=no,"
+PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes, --with-g2d-allocator=no,virtual/libg2d"
+PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes, --with-pxp-allocator=no,"
+# --with-dma-heap-allocator=no is not added by these packageconfigs.
+# Otherwise, it would always be added, since only one of these two
+# dma-heap-* packageconfigs can be selected. Instead, that switch
+# is added to EXTRA_OECONF above.
+PACKAGECONFIG[dma-heap-cached] = "--with-dma-heap-allocator=yes ${CACHED_DMA_HEAP_CONF}, \
+ ,,,,dma-heap-uncached"
+PACKAGECONFIG[dma-heap-uncached] = "--with-dma-heap-allocator=yes ${UNCACHED_DMA_HEAP_CONF}, \
+ ,,,,dma-heap-cached"
+
+# Using do_install_ptest_base instead of do_install_ptest, since
+# the default do_install_ptest_base is hardcoded to expect Makefiles.
+do_install_ptest_base() {
+ install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
+ install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
+}
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-bsp/mc-utils/mc-utils_git.bb b/recipes-bsp/mc-utils/mc-utils_git.bb
index 97bbd7e7..568096c4 100644
--- a/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -1,14 +1,14 @@
DESCRIPTION = "The Management Complex (MC) is a key component of DPAA"
SECTION = "mc-utils"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987"
DEPENDS += "dtc-native"
inherit deploy
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils;nobranch=1"
-SRCREV = "12ffee82d210cb6b5c8fa30fbc6f5d29e4be2e6f"
+SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1"
+SRCREV = "8efeeac253ff780cbf1382ff40e09436d65e220d"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch b/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch
index c8c8413a..e1be2318 100644
--- a/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch
+++ b/recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch
@@ -3,6 +3,7 @@ From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 25 Sep 2018 01:23:02 -0700
Subject: [PATCH] Do not ignore OE cflags and ldflags
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile | 4 ++--
diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
index 04f71ba3..5721313b 100644
--- a/recipes-bsp/rcw/rcw_git.bb
+++ b/recipes-bsp/rcw/rcw_git.bb
@@ -1,14 +1,14 @@
SUMMARY = "Reset Configuration Word"
DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=44a0d0fad189770cc022af4ac6262cbe"
DEPENDS += "tcl-native"
inherit deploy siteinfo
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/rcw;nobranch=1"
-SRCREV = "1f431891c7f0e7d4f52327f1fe19504a284491c4"
+SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
+SRCREV = "020dcf0645959afec6705f518e8350476891ef4f"
S = "${WORKDIR}/git"
@@ -20,6 +20,7 @@ BOARD_TARGETS="${M}"
BOARD_TARGETS:ls2088ardb="${M} ${M}_rev1.1"
BOARD_TARGETS:ls1088ardb-pb="ls1088ardb"
BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2"
+BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2"
do_compile () {
oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2022.04.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc
index 0fad0367..ee05df89 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2022.04.inc
+++ b/recipes-bsp/u-boot/u-boot-fslc-common_2024.01.inc
@@ -1,19 +1,19 @@
-# Copyright (C) 2012-2019 O.S. Systems Software LTDA.
+# Copyright (C) 2012-2022 O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
inherit fsl-u-boot-localversion
LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
DEPENDS += "flex-native bison-native"
SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https"
-SRCREV = "f88519827335b548fcd276acda32107f5120276f"
-SRCBRANCH = "2022.04+fslc"
+SRCREV = "9ff224ca0039e9cd22be2ec4b56408cb64d71a87"
+SRCBRANCH = "2024.01+fslc"
-PV = "v2022.04+git${SRCPV}"
+PV = "2024.01+git${SRCPV}"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb b/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb
deleted file mode 100644
index 2e79166b..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2022.04.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (C) 2014 O.S. Systems Software LTDA.
-# Copyright (C) 2014-2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot-fslc:"
-
-require u-boot-fslc_${PV}.bb
-require u-boot-mfgtool.inc
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2022.04.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.01.bb
index 2660df9e..b7e4ca76 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2022.04.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.01.bb
@@ -3,7 +3,17 @@ require u-boot-fslc-common_${PV}.inc
DESCRIPTION = "U-boot bootloader mxsboot tool"
SECTION = "bootloader"
-DEPENDS = "bison-native gnutls-native dtc openssl"
+inherit python3native
+
+DEPENDS += " \
+ bison-native \
+ dtc \
+ gnutls \
+ openssl \
+ python3-setuptools-native \
+ swig-native \
+ util-linux-libuuid \
+"
PROVIDES = "u-boot-mxsboot"
@@ -12,7 +22,7 @@ EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" H
EXTRA_OEMAKE:class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
do_compile () {
- oe_runmake -C ${S} O=${B} sandbox_defconfig
+ oe_runmake -C ${S} O=${B} tools-only_defconfig
# Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
# generating it requires bin2header tool, which for target build
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2022.04.bb b/recipes-bsp/u-boot/u-boot-fslc_2024.01.bb
index ec5298b6..eba8876a 100644
--- a/recipes-bsp/u-boot/u-boot-fslc_2022.04.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc_2024.01.bb
@@ -8,15 +8,9 @@ version, or because it is not applicable for upstreaming."
inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
-DEPENDS += "bc-native dtc-native python3-setuptools-native lzop-native"
+DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
-# Location known to imx-boot component, where U-Boot artifacts
-# should be additionally deployed.
-# See below note above do_deploy:append:mx8m-nxp-bsp for the purpose of
-# this delopyment location
-BOOT_TOOLS = "imx-boot-tools"
-
-PROVIDES += "u-boot"
+PROVIDES += "u-boot u-boot-mfgtool"
B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc
deleted file mode 100644
index 36f948c5..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-common_2021.04.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRCBRANCH = "lf_v2021.04"
-SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "f7b43f8b4c1e4e3ee6c6ff2fe9c61b2092e8b96b"
-LOCALVERSION ?= "-imx_v2021.04_5.15.5-1.0.0"
-
-DEPENDS += "flex-native bison-native bc-native dtc-native"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-inherit fsl-u-boot-localversion
-
-BOOT_TOOLS = "imx-boot-tools"
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc
new file mode 100644
index 00000000..6912eb29
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf_v2023.04"
+LOCALVERSION ?= "-imx_v2023.04_6.1.55-2.2.0"
+SRCREV = "49b102d98881fc28af6e0a8af5ea2186c1d90a5f"
+
+DEPENDS += " \
+ bc-native \
+ bison-native \
+ dtc-native \
+ flex-native \
+ gnutls-native \
+ xxd-native \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+inherit fsl-u-boot-localversion
+
+BOOT_TOOLS = "imx-boot-tools"
diff --git a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb
deleted file mode 100644
index 500b2de0..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (C) 2014 O.S. Systems Software LTDA.
-# Copyright (C) 2014-2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot-imx:"
-
-require u-boot-imx_${PV}.bb
-require u-boot-mfgtool.inc
-
-UUU_BOOTLOADER_TAGGED = ""
-UUU_BOOTLOADER_TAGGED:mx6-nxp-bsp = "u-boot-mfgtool-tagged.${UBOOT_SUFFIX}"
-UUU_BOOTLOADER_TAGGED:mx7-nxp-bsp = "u-boot-mfgtool-tagged.${UBOOT_SUFFIX}"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2021.04.bb b/recipes-bsp/u-boot/u-boot-imx_2021.04.bb
deleted file mode 100644
index 21883af8..00000000
--- a/recipes-bsp/u-boot/u-boot-imx_2021.04.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Copyright (C) 2017-2021 NXP
-
-require recipes-bsp/u-boot/u-boot.inc
-require u-boot-imx-common_${PV}.inc
-
-PROVIDES += "u-boot"
-
-inherit uuu_bootloader_tag
-
-UUU_BOOTLOADER = ""
-UUU_BOOTLOADER:mx6-nxp-bsp = "${UBOOT_BINARY}"
-UUU_BOOTLOADER:mx7-nxp-bsp = "${UBOOT_BINARY}"
-UUU_BOOTLOADER_TAGGED = ""
-UUU_BOOTLOADER_TAGGED:mx6-nxp-bsp = "u-boot-tagged.${UBOOT_SUFFIX}"
-UUU_BOOTLOADER_TAGGED:mx7-nxp-bsp = "u-boot-tagged.${UBOOT_SUFFIX}"
-
-do_deploy:append:mx8m-nxp-bsp() {
- # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
- if [ -n "${UBOOT_CONFIG}" ]
- then
- for config in ${UBOOT_MACHINE}; do
- i=$(expr $i + 1);
- for type in ${UBOOT_CONFIG}; do
- j=$(expr $j + 1);
- if [ $j -eq $i ]
- then
- install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type}
- fi
- done
- unset j
- done
- unset i
- fi
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx6-generic-bsp|mx7-generic-bsp|mx8-generic-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2023.04.bb b/recipes-bsp/u-boot/u-boot-imx_2023.04.bb
new file mode 100644
index 00000000..0e7c467b
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx_2023.04.bb
@@ -0,0 +1,63 @@
+# Copyright (C) 2013-2016 Freescale Semiconductor
+# Copyright 2018 (C) O.S. Systems Software LTDA.
+# Copyright (C) 2017-2023 NXP
+
+require recipes-bsp/u-boot/u-boot.inc
+require u-boot-imx-common_${PV}.inc
+
+PROVIDES += "u-boot u-boot-mfgtool"
+
+inherit uuu_bootloader_tag
+
+UUU_BOOTLOADER = ""
+UUU_BOOTLOADER:mx6-generic-bsp = "${UBOOT_BINARY}"
+UUU_BOOTLOADER:mx7-generic-bsp = "${UBOOT_BINARY}"
+UUU_BOOTLOADER_TAGGED = ""
+UUU_BOOTLOADER_TAGGED:mx6-generic-bsp = "u-boot-tagged.${UBOOT_SUFFIX}"
+UUU_BOOTLOADER_TAGGED:mx7-generic-bsp = "u-boot-tagged.${UBOOT_SUFFIX}"
+UUU_BOOTLOADER_UNTAGGED = ""
+UUU_BOOTLOADER_UNTAGGED:mx6-generic-bsp = "u-boot-untagged.${UBOOT_SUFFIX}"
+UUU_BOOTLOADER_UNTAGGED:mx7-generic-bsp = "u-boot-untagged.${UBOOT_SUFFIX}"
+
+do_deploy:append:mx8m-generic-bsp() {
+ # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
+ if [ -n "${UBOOT_CONFIG}" ]
+ then
+ for config in ${UBOOT_MACHINE}; do
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
+ if [ $j -eq $i ]
+ then
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type}
+ UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
+ for key_value in ${UBOOT_DTB_NAME_FLAGS}; do
+ local type_key="${key_value%%:*}"
+ local dtb_name="${key_value#*:}"
+ if [ "$type_key" = "$type" ]
+ then
+ bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name"
+ # There is only one ${dtb_name}, the first one. All the other are with the type appended
+ if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then
+ install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}
+ else
+ bbwarn "Use custom wks.in for $dtb_name = $type"
+ fi
+ install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type}
+ fi
+ unset type_key
+ unset dtb_name
+ done
+
+ unset UBOOT_DTB_NAME_FLAGS
+ fi
+ done
+ unset j
+ done
+ unset i
+ fi
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mx6-generic-bsp|mx7-generic-bsp|mx8-generic-bsp|mx9-generic-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-mfgtool.inc b/recipes-bsp/u-boot/u-boot-mfgtool.inc
deleted file mode 100644
index 92d055bf..00000000
--- a/recipes-bsp/u-boot/u-boot-mfgtool.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-# Produces a Manufacturing Tool compatible U-Boot
-#
-# This makes a separated binary set for Manufacturing Tool use
-# without clobbering the U-Boot used for normal use.
-#
-# This file must to be included after the original u-boot.inc file,
-# as it overrides the need values.
-#
-# Copyright (C) 2014 O.S. Systems Software LTDA.
-
-# Adjust provides
-PROVIDES = "u-boot-mfgtool"
-
-# Use 'mfgtool' config
-UBOOT_CONFIG = "mfgtool"
-
-# Add 'mfgtool' suffix
-UBOOT_IMAGE = "u-boot-${MACHINE}-mfgtool-${PV}-${PR}.${UBOOT_SUFFIX}"
-UBOOT_SYMLINK = "u-boot-${MACHINE}-mfgtool.${UBOOT_SUFFIX}"
-SPL_IMAGE = "${SPL_BINARYNAME}-${MACHINE}-mfgtool-${PV}-${PR}"
-SPL_SYMLINK = "${SPL_BINARYNAME}-mfgtool-${MACHINE}"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
index b6385322..c46eae33 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = " \
file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/u-boot;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477"
S = "${WORKDIR}/git"
@@ -23,7 +23,7 @@ PV:append = "+fslgit"
LOCALVERSION = "+fsl"
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native"
+DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native python3-setuptools-native"
DEPENDS:append:qoriq-arm64 = " dtc-native"
DEPENDS:append:qoriq-arm = " dtc-native"
DEPENDS:append:qoriq-ppc = " boot-format-native"
diff --git a/recipes-bsp/uefi/uefi_git.bb b/recipes-bsp/uefi/uefi_git.bb
index d7ef0b72..b001a325 100644
--- a/recipes-bsp/uefi/uefi_git.bb
+++ b/recipes-bsp/uefi/uefi_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
inherit deploy
SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https"
-SRCREV= "1b28cad962a3f7b61baae2229cb3b84926941cfa"
+SRCREV = "15deb924ff063007592ee647602dd454353f5aee"
S = "${WORKDIR}/git"
diff --git a/recipes-core/udev/udev-rules-qoriq.bb b/recipes-core/udev/udev-rules-qoriq.bb
index 525e642e..1200527c 100644
--- a/recipes-core/udev/udev-rules-qoriq.bb
+++ b/recipes-core/udev/udev-rules-qoriq.bb
@@ -22,7 +22,6 @@ RULE:ls1046a = "73-fsl-dpaa-persistent-networking.rules \
74-ls1046a-xfi2-networking.rules \
"
RULE:ls1012a = ""
-RULE:ls2080a = ""
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d/
diff --git a/recipes-devtools/qemu/qemu-qoriq_4.2.bb b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
index f788f724..5ac774ed 100644
--- a/recipes-devtools/qemu/qemu-qoriq_4.2.bb
+++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
@@ -9,7 +9,7 @@ DEPENDS = "glib-2.0 zlib pixman bison-native"
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
-SRC_URI = "gitsm://source.codeaurora.org/external/qoriq/qoriq-components/qemu;nobranch=1 \
+SRC_URI = "gitsm://github.com/nxp-qoriq/qemu;protocol=https;nobranch=1 \
file://powerpc_rom.bin \
file://run-ptest \
file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
diff --git a/recipes-devtools/cst/cst/0001-tools-Mark-struct-input_field-file_field-extern.patch b/recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
index d25675aa..d25675aa 100644
--- a/recipes-devtools/cst/cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
+++ b/recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
diff --git a/recipes-devtools/cst/cst_git.bb b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
index b9ac3e9e..8d345836 100644
--- a/recipes-devtools/cst/cst_git.bb
+++ b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e959d5d617e33779d0e90ce1d9043eff"
-DEPENDS += "openssl cst-native"
+DEPENDS += "openssl qoriq-cst-native"
RDEPENDS:${PN} = "bash"
GENKEYS ?= "${STAGING_BINDIR_NATIVE}/cst/gen_keys"
@@ -16,10 +16,10 @@ inherit kernel-arch
#SECURE_PRI_KEY = "/path/srk.pri"
#SECURE_PUB_KEY = "/path/srk.pub"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/cst;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq/cst;protocol=https;nobranch=1 \
file://0001-tools-Mark-struct-input_field-file_field-extern.patch \
"
-SRCREV = "dfe30d3f05cfe281896482839e57ed49c52f2088"
+SRCREV = "af56e6c5c66dd2bc86a83b0bee8cb61b88d2120c"
S = "${WORKDIR}/git"
diff --git a/recipes-devtools/uuu/files/0001-remove-unnecessary-libzip-dependency.patch b/recipes-devtools/uuu/files/0001-remove-unnecessary-libzip-dependency.patch
deleted file mode 100644
index 52a6b880..00000000
--- a/recipes-devtools/uuu/files/0001-remove-unnecessary-libzip-dependency.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 96ed03b04cb9a94043e44c5f5caa8825a0e89f3a Mon Sep 17 00:00:00 2001
-From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
-Date: Wed, 13 Oct 2021 10:18:50 +0200
-Subject: [PATCH] remove unnecessary libzip dependency
-
-It seems that the libzip dependency has been added by mistake. See
-full analysis in https://github.com/NXPmicro/mfgtools/issues/294 .
-
-Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
-Upstream-Status: Backport [https://github.com/NXPmicro/mfgtools/pull/295]
----
- .travis.yml | 1 -
- README.md | 4 ++--
- appveyor.yml | 4 ++--
- libuuu/CMakeLists.txt | 1 -
- snap/snapcraft.yaml | 2 --
- uuu/CMakeLists.txt | 5 ++---
- 6 files changed, 6 insertions(+), 11 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 9138aff..1d2d235 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -33,7 +33,6 @@ addons:
- packages:
- - cmake
- - libusb
-- - libzip
- - openssl
- - pkg-config
-
-diff --git a/README.md b/README.md
-index 20c3f97..6910276 100644
---- a/README.md
-+++ b/README.md
-@@ -68,7 +68,7 @@ Note that, since uuu is an OSI compliant Open Source project, you are entitled t
- ## Linux
- - `git clone https://github.com/NXPmicro/mfgtools.git`
- - `cd mfgtools`
--- `sudo apt-get install libusb-1.0-0-dev libzip-dev libbz2-dev pkg-config cmake libssl-dev g++`
-+- `sudo apt-get install libusb-1.0-0-dev libbz2-dev pkg-config cmake libssl-dev g++`
- - `cmake . && make`
-
- The above commands build mfgtools in source. To build it out of source
-@@ -83,7 +83,7 @@ For cmake prior 3.13:
- ## macOS
- - `git clone https://github.com/NXPmicro/mfgtools.git`
- - `cd mfgtools`
--- `brew install cmake libusb libzip openssl pkg-config`
-+- `brew install cmake libusb openssl pkg-config`
- - `cmake -DOPENSSL_ROOT_DIR=$(brew --prefix)/opt/openssl . && make`
-
- Note that we assume [brew](https://brew.sh) is installed and can be used to resolve dependencies as shown above. The remaining dependency `libbz2` can be resolved via the XCode supplied libraries.
-diff --git a/appveyor.yml b/appveyor.yml
-index 9e1c74a..e679f84 100644
---- a/appveyor.yml
-+++ b/appveyor.yml
-@@ -28,11 +28,11 @@ install:
-
- - cmd: cd ..
-
--- sh: if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = "macOS" ]; then brew install libusb libzip pkg-config; fi
-+- sh: if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = "macOS" ]; then brew install libusb pkg-config; fi
-
- - sh: if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" != "macOS" ]; then sudo apt-get update; fi
-
--- sh: if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" != "macOS" ]; then sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --force-yes install libusb-1.0-0-dev libzip-dev libbz2-dev asciidoc rename; fi
-+- sh: if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" != "macOS" ]; then sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --force-yes install libusb-1.0-0-dev libbz2-dev asciidoc rename; fi
-
- build_script:
-
-diff --git a/libuuu/CMakeLists.txt b/libuuu/CMakeLists.txt
-index f4390a7..2ace072 100644
---- a/libuuu/CMakeLists.txt
-+++ b/libuuu/CMakeLists.txt
-@@ -7,7 +7,6 @@ set(CMAKE_SKIP_RPATH ON)
- find_package(BZip2 REQUIRED)
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(LIBUSB REQUIRED libusb-1.0>=1.0.16)
--pkg_check_modules(LIBZIP REQUIRED libzip)
- find_package(Threads)
-
- if (STATIC)
-diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
-index 09b9065..8a98cca 100644
---- a/snap/snapcraft.yaml
-+++ b/snap/snapcraft.yaml
-@@ -103,14 +103,12 @@ parts:
- - libbz2-dev
- - libusb-1.0-0-dev
- - libssl-dev
-- - libzip-dev
- - pkg-config
- plugin: cmake
- stage-packages:
- - libbz2-1.0
- - libusb-1.0-0
- - libssl1.0.0
-- - libzip4
- filesets:
- docs-copyright:
- - usr/share/doc/*/copyright
-diff --git a/uuu/CMakeLists.txt b/uuu/CMakeLists.txt
-index b57a67e..ab78529 100644
---- a/uuu/CMakeLists.txt
-+++ b/uuu/CMakeLists.txt
-@@ -6,7 +6,6 @@ set(CMAKE_SKIP_RPATH ON)
-
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(LIBUSB REQUIRED libusb-1.0>=1.0.16)
--pkg_check_modules(LIBZIP REQUIRED libzip)
- pkg_check_modules(LIBZ REQUIRED zlib)
- find_package(Threads)
-
-@@ -34,7 +33,7 @@ set(LSTS
- nand_burn_loader.lst
- )
-
--link_directories(${CMAKE_CURRENT_SOURCE_DIR}/libuuu ${LIBUSB_LIBRARY_DIRS} ${LIBZIP_LIBRARY_DIRS} ${LIBZ_LIBRARY_DIRS})
-+link_directories(${CMAKE_CURRENT_SOURCE_DIR}/libuuu ${LIBUSB_LIBRARY_DIRS} ${LIBZ_LIBRARY_DIRS})
-
- set(CLIST_EXECUTABLE ${CMAKE_CURRENT_SOURCE_DIR}/gen_txt_include.sh)
- set(generated_files_dir "${CMAKE_BINARY_DIR}/uuu/gen")
-@@ -70,7 +69,7 @@ set(SOURCES
- )
-
- add_executable(uuu ${SOURCES})
--target_link_libraries(uuu uuc_s ${OPENSSL_LIBRARIES} ${LIBUSB_LIBRARIES} ${LIBZIP_LIBRARIES} ${LIBZ_LIBRARIES} dl bz2)
-+target_link_libraries(uuu uuc_s ${OPENSSL_LIBRARIES} ${LIBUSB_LIBRARIES} ${LIBZ_LIBRARIES} dl bz2)
-
- install(TARGETS uuu DESTINATION bin)
- target_compile_definitions(uuu
---
-2.31.1
-
diff --git a/recipes-devtools/uuu/uuu-bin_1.5.165.bb b/recipes-devtools/uuu/uuu-bin_1.5.165.bb
new file mode 100644
index 00000000..2b5feda1
--- /dev/null
+++ b/recipes-devtools/uuu/uuu-bin_1.5.165.bb
@@ -0,0 +1,35 @@
+# Copyright (C) 2022-2023 O.S. Systems Software LTDA.
+# Released under the MIT License (see COPYING.MIT for the terms)
+
+SUMMARY = "Universal Update Utility - Binaries"
+DESCRIPTION = "Image deploy tool for i.MX chips"
+HOMEPAGE = "https://github.com/nxp-imx/mfgtools"
+
+LICENSE = "BSD-3-Clause & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
+ file://${COMMON_LICENSE_DIR}/LGPL-2.1-or-later;md5=2a4f4fd2128ea2f65047ee63fbca9f68"
+
+SRC_URI = " \
+ https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu;downloadfilename=uuu-${PV};name=Linux \
+ https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac;downloadfilename=uuu-${PV}_mac;name=Mac \
+ https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu.exe;downloadfilename=uuu-${PV}.exe;name=Windows \
+"
+
+SRC_URI[Linux.sha256sum] = "f863bba022202361d19e5026be0af408d307f78d2dbf2c139fb7eaaabd220442"
+SRC_URI[Mac.sha256sum] = "62da0bd7e333931fba100823aa50133621c7e6047be0546bc12e29c0ea78a4d8"
+SRC_URI[Windows.sha256sum] = "013ed8bb45e21b971b6b3a5802c5f154733913714bece0b020cb770a809cd206"
+
+S = "${WORKDIR}"
+
+inherit allarch
+
+do_install() {
+ install -D -m 0755 ${WORKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu
+ install -D -m 0755 ${WORKDIR}/uuu-${PV}_mac ${D}${libdir}/uuu/uuu_mac
+ install -D -m 0644 ${WORKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe
+}
+
+# HACK! We are not aiming to run those binaries during the build but copy then for MFGTOOL bundle.
+INSANE_SKIP:${PN} += "arch file-rdeps"
+FILES:${PN} = "${libdir}/uuu"
+SYSROOT_DIRS = "${libdir}/uuu"
diff --git a/recipes-devtools/uuu/uuu_git.bb b/recipes-devtools/uuu/uuu_git.bb
index caa349b2..e48698a8 100644
--- a/recipes-devtools/uuu/uuu_git.bb
+++ b/recipes-devtools/uuu/uuu_git.bb
@@ -1,12 +1,10 @@
SUMMARY = "Universal Update Utility"
DESCRIPTION = "Image deploy tool for i.MX chips"
-HOMEPAGE = "https://github.com/NXPmicro/mfgtools"
+HOMEPAGE = "https://github.com/nxp-imx/mfgtools"
-SRC_URI = "git://github.com/NXPmicro/mfgtools.git;protocol=https;branch=master"
-SRCREV = "e10b0260076e0119c259f7f44447904f14109ba2"
-PV = "1.4.165"
-
-SRC_URI += "file://0001-remove-unnecessary-libzip-dependency.patch"
+SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master"
+SRCREV = "7347a80c7a943dd7e9081d9d2bab9e6ca8e0ba07"
+PV = "1.5.165"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5"
@@ -15,8 +13,6 @@ inherit cmake pkgconfig
S = "${WORKDIR}/git"
-DEPENDS = "libusb zlib bzip2 openssl"
-
-COMPATIBLE_MACHINE = "(imx-generic-bsp)"
+DEPENDS = "libusb zlib bzip2 openssl zstd libtinyxml2"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-downgrade/spir/spirv-headers_1.3.239.0.imx.bb b/recipes-downgrade/spir/spirv-headers_1.3.239.0.imx.bb
new file mode 100644
index 00000000..afd59cbc
--- /dev/null
+++ b/recipes-downgrade/spir/spirv-headers_1.3.239.0.imx.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Machine-readable files for the SPIR-V Registry"
+DESCRIPTION = "Headers are provided in the include directory, with up-to-date \
+headers in the unified1 subdirectory. Older headers are provided according to \
+their version."
+SECTION = "graphics"
+HOMEPAGE = "https://www.khronos.org/registry/spir-v"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
+
+SRCREV = "d13b52222c39a7e9a401b44646f0ca3a640fbd47"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main"
+PE = "1"
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-downgrade/spir/spirv-tools_1.3.239.0.imx.bb b/recipes-downgrade/spir/spirv-tools_1.3.239.0.imx.bb
new file mode 100644
index 00000000..5109bb53
--- /dev/null
+++ b/recipes-downgrade/spir/spirv-tools_1.3.239.0.imx.bb
@@ -0,0 +1,42 @@
+SUMMARY = "The SPIR-V Tools project provides an API and commands for \
+processing SPIR-V modules"
+DESCRIPTION = "The project includes an assembler, binary module parser, \
+disassembler, validator, and optimizer for SPIR-V."
+HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools"
+SECTION = "graphics"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "63de608daeb7e91fbea6d7477a50debe7cac57ce"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https"
+PE = "1"
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+DEPENDS = "spirv-headers"
+
+EXTRA_OECMAKE += "\
+ -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \
+ -DSPIRV_TOOLS_BUILD_STATIC=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DSPIRV_SKIP_TESTS=ON \
+"
+
+do_install:append:class-target() {
+ # Properly set _IMPORT_PREFIX in INTERFACE_LINK_LIBRARIES so that dependent
+ # tools can find the right library
+ sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \
+ -e 's:INTERFACE_LINK_LIBRARIES.*$:INTERFACE_LINK_LIBRARIES "\$\{_IMPORT_PREFIX\}/lib":'
+}
+
+# all the libraries are unversioned, so don't pack it on PN-dev
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+PACKAGES =+ "${PN}-lesspipe"
+FILES:${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
+RDEPENDS:${PN}-lesspipe += "${PN} bash"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-downgrade/vulkan/vulkan-headers_1.3.239.0.imx.bb b/recipes-downgrade/vulkan/vulkan-headers_1.3.239.0.imx.bb
new file mode 100644
index 00000000..a6b30fa8
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-headers_1.3.239.0.imx.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Vulkan Header files and API registry"
+DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \
+to modern GPUs with low overhead and targeting realtime graphics applications such as \
+games and interactive media. This package contains the development headers \
+for packages wanting to make use of Vulkan."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
+
+SRCREV = "2bb0a23104ceffd9a28d5b7401f2cee7dae35bb8"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES:${PN} += "${datadir}/vulkan"
+RDEPENDS:${PN} += "python3-core"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-loader_1.3.239.0.imx.bb b/recipes-downgrade/vulkan/vulkan-loader_1.3.239.0.imx.bb
new file mode 100644
index 00000000..e11f936a
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-loader_1.3.239.0.imx.bb
@@ -0,0 +1,38 @@
+SUMMARY = "3D graphics and compute API common loader"
+DESCRIPTION = "Vulkan is a new generation graphics and compute API \
+that provides efficient access to modern GPUs. These packages \
+provide only the common vendor-agnostic library loader, headers and \
+the vulkaninfo utility."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.3.239;protocol=https"
+SRCREV = "fa421a02686e7f01c8e4af24650fa04374df8338"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+inherit cmake features_check pkgconfig
+
+DEPENDS += "vulkan-headers"
+
+EXTRA_OECMAKE = "\
+ -DBUILD_TESTS=OFF \
+ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
+ -DASSEMBLER_WORKS=FALSE \
+ -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \
+ -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-tools_1.3.239.0.imx.bb b/recipes-downgrade/vulkan/vulkan-tools_1.3.239.0.imx.bb
new file mode 100644
index 00000000..934bd53e
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-tools_1.3.239.0.imx.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Vulkan Utilities and Tools"
+DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.3.239;protocol=https"
+SRCREV = "84c61c463aecdda385de33b0149c7368119c23f6"
+
+S = "${WORKDIR}/git"
+
+inherit cmake features_check pkgconfig
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+DEPENDS += "vulkan-headers vulkan-loader"
+
+EXTRA_OECMAKE = "\
+ -DBUILD_TESTS=OFF \
+ -DBUILD_CUBE=OFF \
+ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
+ "
+
+# must choose x11 or wayland or both
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.239.0.imx.bb b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.239.0.imx.bb
new file mode 100644
index 00000000..5f699c2b
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.239.0.imx.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Vulkan Validation layers"
+DESCRIPTION = "Khronos official Vulkan validation layers to assist developers \
+in verifying that their applications correctly use the Vulkan API"
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8df9e8826734226d08cb412babfa599c"
+
+SRC_URI = "git://git@github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=main;protocol=https"
+SRCREV = "60e58bc683807fa396b1287deace8b45cfd957a3"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang"
+
+# BUILD_TESTS - Not required for OE builds
+# BUILD_WERROR - There are too many compiler warnings/errors due to upgrades in version
+# of clang. Requiring a number of patches from upstream. Disable compiler
+# -Werror to bypass build issues.
+# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms.
+# Yocto project doesn't contain a recipe for package so disabled it.
+EXTRA_OECMAKE = "\
+ -DBUILD_TESTS=OFF \
+ -DBUILD_WERROR=OFF \
+ -DUSE_ROBIN_HOOD_HASHING=OFF \
+ -DGLSLANG_INSTALL_DIR=${STAGING_DATADIR} \
+ -DVULKAN_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
+ -DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \
+ "
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
+
+inherit cmake features_check pkgconfig
+
+FILES:${PN} += "${datadir}/vulkan"
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+# These recipes need to be updated in lockstep with each other:
+# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
+# vulkan-validation-layers, spirv-headers, spirv-tools
+# The tags versions should always be sdk-x.y.z, as this is what
+# upstream considers a release.
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-dpaa/eth-config/eth-config_git.bb b/recipes-dpaa/eth-config/eth-config_git.bb
index b2f0713c..aee2e234 100644
--- a/recipes-dpaa/eth-config/eth-config_git.bb
+++ b/recipes-dpaa/eth-config/eth-config_git.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "Ethernet Configuration Files"
SECTION = "eth-config"
LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=47716bd5b656aa5e298a132a64d2d1e4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=47716bd5b656aa5e298a132a64d2d1e4"
PR = "r2"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/eth-config;nobranch=1"
-SRCREV = "6164664070e45810c793f112781ebcedc979e132"
+SRC_URI = "git://github.com/nxp-qoriq/eth-config;protocol=https;nobranch=1"
+SRCREV = "00fa9c6db5813735676b30b1516e30a460d61b28"
S = "${WORKDIR}/git"
diff --git a/recipes-dpaa/flib/flib_git.bb b/recipes-dpaa/flib/flib_git.bb
index 51620b77..f1ebd87f 100644
--- a/recipes-dpaa/flib/flib_git.bb
+++ b/recipes-dpaa/flib/flib_git.bb
@@ -3,7 +3,7 @@ SECTION = "flib"
LICENSE = "BSD-3-Clause & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9f6d1afdf6b0f6b3ba65c25ba589ee53"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/flib;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1"
SRCREV = "cbb31427466649c07d2ac2739a41bb42f5f6be7c"
S = "${WORKDIR}/git"
diff --git a/recipes-dpaa/fm-ucode/fm-ucode_git.bb b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
index f79122c6..22f04d01 100644
--- a/recipes-dpaa/fm-ucode/fm-ucode_git.bb
+++ b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
@@ -1,14 +1,14 @@
DESCRIPTION = "Fman microcode binary"
SECTION = "fm-ucode"
-LICENSE = "Freescale-Binary-EULA"
-LIC_FILES_CHKSUM = "file://Freescale-Binary-EULA;md5=b784c031868ba1bd5ebc5de372c823fa"
+LICENSE = "NXP-Binary-EULA"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=12e248d404ce1ea8bed0148fcf127e69"
PR = "r1"
inherit deploy
SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;nobranch=1;protocol=https"
-SRCREV = "c275e91392e2adab1ed22f3867b8269ca3c54014"
+SRCREV = "41d603a1ad78e0bb61365500828d9f484bf9bf10"
S = "${WORKDIR}/git"
diff --git a/recipes-dpaa/fmlib/fmlib_git.bb b/recipes-dpaa/fmlib/fmlib_git.bb
index bf834c4b..71ad3df1 100644
--- a/recipes-dpaa/fmlib/fmlib_git.bb
+++ b/recipes-dpaa/fmlib/fmlib_git.bb
@@ -1,15 +1,18 @@
DESCRIPTION = "Frame Manager User Space Library"
SECTION = "fman"
LICENSE = "BSD-3-Clause & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9c7bd5e45d066db084bdb3543d55b1ac"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9c7bd5e45d066db084bdb3543d55b1ac"
PR = "r1"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/fmlib;nobranch=1"
-SRCREV = "69a70474cd8411d5a099c34f40760b6567d781d6"
+SRC_URI = "git://github.com/nxp-qoriq/fmlib;protocol=https;nobranch=1"
+SRCREV = "9fb916f255214013aa6003496c47bab0b5add2d9"
S = "${WORKDIR}/git"
+CFLAGS += "-fmacro-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1 \
+ -fdebug-prefix-map=${STAGING_KERNEL_DIR}=/usr/src/debug/fmlib/git-r1"
+
EXTRA_OEMAKE = "DESTDIR=${D} PREFIX=${prefix} LIB_DEST_DIR=${libdir} \
CROSS_COMPILE=${TARGET_PREFIX} KERNEL_SRC=${STAGING_KERNEL_DIR}"
diff --git a/recipes-dpaa2/aiopsl/aiopsl_git.bb b/recipes-dpaa2/aiopsl/aiopsl_git.bb
index 4f21a696..68f7a8de 100644
--- a/recipes-dpaa2/aiopsl/aiopsl_git.bb
+++ b/recipes-dpaa2/aiopsl/aiopsl_git.bb
@@ -7,7 +7,7 @@ BASEDEPENDS = ""
S = "${WORKDIR}/git"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/aiopsl;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/aiopsl;protocol=https;nobranch=1"
SRCREV = "87d83d8e99770325cc7ad9e10965c9959e7cb828"
do_configure[noexec] = "1"
diff --git a/recipes-dpaa2/dce/dce_git.bb b/recipes-dpaa2/dce/dce_git.bb
index 368e5aa6..7c0ec270 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -3,13 +3,15 @@ SECTION = "dpaa2"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=956df5ea6cfe0a1dcf2dee7ca37c0cdf"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dce;nobranch=1 \
- git://source.codeaurora.org/external/qoriq/qoriq-components/qbman_userspace;nobranch=1;name=qbman;destsuffix=git/lib/qbman_userspace \
+SRC_URI = "git://github.com/nxp-qoriq/dce;protocol=https;nobranch=1 \
+ git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/lib/qbman_userspace \
file://0001-support-user-merge.patch \
"
SRCREV = "9db9c08379aa89f45f514f4f3f0a8e8212198758"
SRCREV_qbman = "2f92993a9f34e5221d6b36c63b9e30ef703e9ac3"
+SRCREV_FORMAT = "default_qbman"
+
S = "${WORKDIR}/git"
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
diff --git a/recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-remove-libio.h.patch b/recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-remove-libio.h.patch
index 92b75f76..d8bc30b4 100644
--- a/recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-remove-libio.h.patch
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-remove-libio.h.patch
@@ -5,6 +5,7 @@ Subject: [PATCH] remove libio.h
update for glibc libio.h removal in 2.28+
+Upstream-Status: Pending
Signed-off-by: BJ DevOps Team <bjdevops@NXP1.onmicrosoft.com>
---
flib/mc/fsl_mc_sys.h | 1 -
diff --git a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
index a96913e8..303aa8ff 100644
--- a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
@@ -6,7 +6,7 @@ SECTION = "dpaa2"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/gpp-aioptool;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq/gpp-aioptool;protocol=https;nobranch=1 \
file://0001-remove-libio.h.patch \
file://0001-add-fcommon-to-fix-gcc-10-build-issue.patch \
"
diff --git a/recipes-dpaa2/management-complex/management-complex_10.14.1.bb b/recipes-dpaa2/management-complex/management-complex_10.14.1.bb
deleted file mode 100644
index 4d4f1dcd..00000000
--- a/recipes-dpaa2/management-complex/management-complex_10.14.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "DPAA2 Management Complex Firmware"
-LICENSE = "NXP-Binary-EULA"
-LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=afcb1213054384820390d410ab62105f"
-
-inherit deploy
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;nobranch=1;protocol=https"
-SRCREV = "408110ee632f6291545b0b156cd74e7e3b4612cc"
-
-S = "${WORKDIR}/git"
-
-REGLEX:ls2088a = "ls2088a"
-REGLEX:ls2080a = "ls2080a"
-REGLEX:ls1088a = "ls1088a"
-REGLEX:lx2160a = "lx2160a"
-
-do_install () {
- install -d ${D}/boot
- install -m 755 ${S}/${REGLEX}/*.itb ${D}/boot
-}
-
-do_deploy () {
- install -d ${DEPLOYDIR}/mc_app
- install -m 755 ${S}/${REGLEX}/*.itb ${DEPLOYDIR}/mc_app
- # make a symlink to the latest binary
- for mc_binary in `find ${DEPLOYDIR}/mc_app -type f -printf "%f\n" |sort`;do
- ln -sfT ${mc_binary} ${DEPLOYDIR}/mc_app/mc.itb
- done
-}
-addtask deploy before do_build after do_install
-
-PACKAGES += "${PN}-image"
-FILES:${PN}-image += "/boot"
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-dpaa2/management-complex/management-complex_10.20.4.bb b/recipes-dpaa2/management-complex/management-complex_10.20.4.bb
deleted file mode 100644
index 07f26b29..00000000
--- a/recipes-dpaa2/management-complex/management-complex_10.20.4.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "DPAA2 Management Complex Firmware"
-LICENSE = "NXP-Binary-EULA"
-LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=73d4b970c18882e229e4bf1ada5bb8d6"
-
-inherit deploy
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;nobranch=1;protocol=https"
-SRCREV = "f73683596a7b72124d67b62e64f3dc2bb36b9321"
-
-S = "${WORKDIR}/git"
-
-REGLEX:ls2088a = "ls2088a"
-REGLEX:ls2080a = "ls2080a"
-REGLEX:ls1088a = "ls1088a"
-REGLEX:lx2160a = "lx2160a"
-
-do_install () {
- install -d ${D}/boot
- install -m 755 ${S}/${REGLEX}/*.itb ${D}/boot
-}
-
-do_deploy () {
- install -d ${DEPLOYDIR}/mc_app
- install -m 755 ${S}/${REGLEX}/*.itb ${DEPLOYDIR}/mc_app
- # make a symlink to the latest binary
- for mc_binary in `find ${DEPLOYDIR}/mc_app -type f -printf "%f\n" |sort`;do
- ln -sfT ${mc_binary} ${DEPLOYDIR}/mc_app/mc.itb
- done
-}
-addtask deploy before do_build after do_install
-
-PACKAGES += "${PN}-image"
-FILES:${PN}-image += "/boot"
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-dpaa2/management-complex/management-complex_10.29.0.bb b/recipes-dpaa2/management-complex/management-complex_10.29.0.bb
deleted file mode 100644
index 08991f09..00000000
--- a/recipes-dpaa2/management-complex/management-complex_10.29.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "DPAA2 Management Complex Firmware"
-LICENSE = "NXP-Binary-EULA"
-LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=2cb2fee5d3558ee2a81331ed121647ad"
-
-inherit deploy
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;nobranch=1;protocol=https"
-SRCREV = "d21bc22000a14b0b6eeafc017fb93bc70499f74a"
-
-S = "${WORKDIR}/git"
-
-REGLEX:ls2088a = "ls2088a"
-REGLEX:ls2080a = "ls2080a"
-REGLEX:ls1088a = "ls1088a"
-REGLEX:lx2160a = "lx216xa"
-REGLEX:lx2162a = "lx216xa"
-
-do_install () {
- install -d ${D}/boot
- install -m 755 ${S}/${REGLEX}/*.itb ${D}/boot
-}
-
-do_deploy () {
- install -d ${DEPLOYDIR}/mc_app
- install -m 755 ${S}/${REGLEX}/*.itb ${DEPLOYDIR}/mc_app
- # make a symlink to the latest binary
- for mc_binary in `find ${DEPLOYDIR}/mc_app -type f -printf "%f\n" |sort`;do
- ln -sfT ${mc_binary} ${DEPLOYDIR}/mc_app/mc.itb
- done
-}
-addtask deploy before do_build after do_install
-
-PACKAGES += "${PN}-image"
-FILES:${PN}-image += "/boot"
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-dpaa2/management-complex/management-complex_10.24.0.bb b/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
index 3408fba0..d1877159 100644
--- a/recipes-dpaa2/management-complex/management-complex_10.24.0.bb
+++ b/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
@@ -1,18 +1,17 @@
SUMMARY = "DPAA2 Management Complex Firmware"
LICENSE = "NXP-Binary-EULA"
-LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=481d6288552113961a835bbabceb0c33"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=481d6288552113961a835bbabceb0c33"
inherit deploy
INHIBIT_DEFAULT_DEPS = "1"
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;nobranch=1;protocol=https"
-SRCREV = "324817697a4c89a9a940fb7dba1b18909913ee20"
+SRC_URI = "git://github.com/nxp/qoriq-mc-binary;protocol=https;nobranch=1"
+SRCREV = "bb19f586b87b97878b4bd0d3e57da2ca40c5c69f"
S = "${WORKDIR}/git"
REGLEX:ls2088a = "ls2088a"
-REGLEX:ls2080a = "ls2080a"
REGLEX:ls1088a = "ls1088a"
REGLEX:lx2160a = "lx216xa"
REGLEX:lx2162a = "lx216xa"
diff --git a/recipes-dpaa2/restool/files/disable-manpage-generation.patch b/recipes-dpaa2/restool/files/disable-manpage-generation.patch
index ec512830..34f2ae2d 100644
--- a/recipes-dpaa2/restool/files/disable-manpage-generation.patch
+++ b/recipes-dpaa2/restool/files/disable-manpage-generation.patch
@@ -3,6 +3,7 @@ From: Ting Liu <ting.liu@nxp.com>
Date: Fri, 15 Oct 2021 09:36:04 +0530
Subject: [PATCH] disable manpage generation
+Upstream-Status: Inappropriate [Cross-compile specific]
Signed-off-by: Ting Liu <ting.liu@nxp.com>
---
Makefile | 1 -
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 3ff5afd8..1d1aeffe 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -1,11 +1,11 @@
SUMMARY = "DPAA2 Resource Manager Tool"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ec8d84e9cd4de287e290275d09db27f0"
+LICENSE = "BSD-3-Clause | GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ec8d84e9cd4de287e290275d09db27f0"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/restool;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq/restool;protocol=https;nobranch=1 \
file://disable-manpage-generation.patch \
"
-SRCREV = "d29522aef9f92ff2557978d5d3979b771a9576fe"
+SRCREV = "46604e41f4c7e54efa62503c6b4629321b21e056"
S = "${WORKDIR}/git"
diff --git a/recipes-dpaa2/spc/spc_git.bb b/recipes-dpaa2/spc/spc_git.bb
index 2ef1d01d..2c695368 100644
--- a/recipes-dpaa2/spc/spc_git.bb
+++ b/recipes-dpaa2/spc/spc_git.bb
@@ -1,11 +1,11 @@
SUMMARY = "Soft Parser Configuration tool"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=163b09a1c249a6ff2b28da1ceca2e0a8"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=163b09a1c249a6ff2b28da1ceca2e0a8"
DEPENDS = "libxml2 fmlib tclap"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/spc;nobranch=1"
-SRCREV = "398138687a3d3d6ef174501221711de74ff7bc40"
+SRC_URI = "git://github.com/nxp-qoriq/spc;protocol=https;nobranch=1"
+SRCREV = "d624b7809be48e4cf29a7bfa201028e4de1d1955"
S = "${WORKDIR}/git"
diff --git a/recipes-extended/dpdk/dpdk-20.11.inc b/recipes-extended/dpdk/dpdk-20.11.inc
index 38c34e1b..90b4c405 100644
--- a/recipes-extended/dpdk/dpdk-20.11.inc
+++ b/recipes-extended/dpdk/dpdk-20.11.inc
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4
file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dpdk;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1"
SRCREV = "f74b8bd5ab1c6ff76e956fc202a56aea2d200270"
S = "${WORKDIR}/git"
diff --git a/recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch b/recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch
index f19b2b32..f88b6484 100644
--- a/recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch
+++ b/recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch
@@ -7,6 +7,7 @@ Subject: [PATCH] drivers/net/enetfec/enet_uio.c: fix multiple definition
.../examples/flow_classify/flow_classify.c:170: first defined here
collect2: error: ld returned 1 exit status
+Upstream-Status: Pending
Signed-off-by: Ting Liu <ting.liu@nxp.com>
---
drivers/net/enetfec/enet_uio.c | 2 +-
diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc
index ba36260e..f2ab1370 100644
--- a/recipes-extended/dpdk/dpdk.inc
+++ b/recipes-extended/dpdk/dpdk.inc
@@ -24,7 +24,7 @@ DPDK_RTE_TARGET ?= "${ARCH}-dpaa-linuxapp-gcc"
export RTE_TARGET = "${DPDK_RTE_TARGET}"
export RTE_OUTPUT = "${S}/${RTE_TARGET}"
-export MODULE_DIR = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/net"
+export MODULE_DIR = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net"
S = "${WORKDIR}/git"
@@ -117,3 +117,6 @@ FILES:${PN} += " ${datadir}/ \
FILES:${PN}-examples += " \
${datadir}/examples/* \
"
+
+TOOLCHAIN = "gcc"
+
diff --git a/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch b/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
index 5ee48a59..383b9085 100644
--- a/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
+++ b/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
@@ -3,6 +3,7 @@ From: Chunrong Guo <chunrong.guo@nxp.com>
Date: Wed, 3 Jul 2019 08:50:45 +0200
Subject: [PATCH] Add RTE_KERNELDIR_OUT
+Upstream-Status: Pending
Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
---
kernel/linux/kni/Makefile | 2 +-
diff --git a/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch b/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch
index fa0eda87..b4b8a548 100644
--- a/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch
+++ b/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch
@@ -4,6 +4,7 @@ Date: Wed, 27 Mar 2019 09:35:43 +0100
Subject: [PATCH] add -Wno-cast-function-type
Upstream-Status: Inappropriate [configuration]
+Signed-off-by: "C.r. Guo" <nxa13725@lsv07005.swis.us-cdc01.nxp.com>
---
examples/cmdif/lib/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes-extended/dpdk/dpdk/0001-examples-fix-Arm-build-with-GCC-12.patch b/recipes-extended/dpdk/dpdk/0001-examples-fix-Arm-build-with-GCC-12.patch
new file mode 100644
index 00000000..b73b3a96
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk/0001-examples-fix-Arm-build-with-GCC-12.patch
@@ -0,0 +1,49 @@
+From 229fc129be85a4d2d2c4efddae7bb97c3d87d416 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Mar 2023 22:02:01 -0700
+Subject: [PATCH] examples: fix Arm build with GCC 12
+
+GCC-12 warns when a pointer of type union points to an array of same
+defined size, as union internally gets paded with pad bytes.
+
+ ../examples/common/neon/port_group.h:42:21: error: array subscript
+ 'union <anonymous>[0]' is partly outside array bounds of
+ 'uint16_t[5]' {aka 'short unsigned int[5]'}
+ [-Werror=array-bounds]
+ 42 | pnum->u64 = gptbl[v].pnum;
+ | ^~
+ ../examples/common/neon/port_group.h:21:23: note: object 'pn' of
+ size [0, 10]
+ 21 | port_groupx4(uint16_t pn[FWDSTEP + 1], uint16_t *lp, uint16x8_t dp1
+ | ~~~~~~~~~^~~~~~~~~~~~~~~
+ ../examples/common/neon/port_group.h:43:21: error: array subscript
+ 'union <anonymous>[0]' is partly outside array bounds of
+ 'uint16_t[5]' {aka 'short unsigned int[5]'} [-Werror=array-bounds]
+ 43 | pnum->u16[FWDSTEP] = 1;
+ | ^~
+
+Fixes: 732115ce38c6 ("examples/l3fwd: move packet group function in common")
+
+Upstream-Status: Backport [https://github.com/DPDK/dpdk/commit/b269bd630e96b276a69d698e13ad9ebfbbb67512]
+Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/l3fwd/l3fwd_neon.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/l3fwd/l3fwd_neon.h b/examples/l3fwd/l3fwd_neon.h
+index 86ac5971d7..dc73e9fef7 100644
+--- a/examples/l3fwd/l3fwd_neon.h
++++ b/examples/l3fwd/l3fwd_neon.h
+@@ -77,7 +77,7 @@ port_groupx4(uint16_t pn[FWDSTEP + 1], uint16_t *lp, uint16x8_t dp1,
+ union {
+ uint16_t u16[FWDSTEP + 1];
+ uint64_t u64;
+- } *pnum = (void *)pn;
++ } __rte_packed *pnum = (void *)pn;
+
+ int32_t v;
+ uint16x8_t mask = {1, 2, 4, 8, 0, 0, 0, 0};
+--
+2.39.2
+
diff --git a/recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch b/recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch
index 81ca1244..b1bdf09b 100644
--- a/recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch
+++ b/recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch
@@ -1,3 +1,8 @@
+Explicitly use python3
+
+Upstream-Status: Pending
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+
diff --git a/app/test-bbdev/test-bbdev.py b/app/test-bbdev/test-bbdev.py
index 0194be046..86fe3a89d 100755
--- a/app/test-bbdev/test-bbdev.py
diff --git a/recipes-extended/dpdk/dpdk_19.11-20.12.bb b/recipes-extended/dpdk/dpdk_19.11-20.12.bb
index 765c9420..b14d4fbf 100644
--- a/recipes-extended/dpdk/dpdk_19.11-20.12.bb
+++ b/recipes-extended/dpdk/dpdk_19.11-20.12.bb
@@ -3,11 +3,12 @@ LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4
file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dpdk;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1 \
file://add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
file://0001-add-Wno-cast-function-type.patch \
file://0001-Add-RTE_KERNELDIR_OUT.patch \
file://0005-use-python3-instead-of-python.patch \
+ file://0001-examples-fix-Arm-build-with-GCC-12.patch \
"
SRCREV = "7071c27f6f5aefb57de1cffab3484707b1e82e2b"
diff --git a/recipes-extended/ipc-ust/ipc-ust/Makefile-use-LDFLAGS-if-set.patch b/recipes-extended/ipc-ust/ipc-ust/Makefile-use-LDFLAGS-if-set.patch
index e991f70a..6a0d82a6 100644
--- a/recipes-extended/ipc-ust/ipc-ust/Makefile-use-LDFLAGS-if-set.patch
+++ b/recipes-extended/ipc-ust/ipc-ust/Makefile-use-LDFLAGS-if-set.patch
@@ -3,6 +3,7 @@ From: Ting Liu <ting.liu@nxp.com>
Date: Fri, 12 Aug 2016 10:41:51 +0800
Subject: [PATCH] Makefile: use LDFLAGS if set
+Upstream-Status: Pending
Signed-off-by: Ting Liu <ting.liu@nxp.com>
---
dsp_boot/Makefile | 6 +++---
diff --git a/recipes-extended/ipc-ust/ipc-ust_git.bb b/recipes-extended/ipc-ust/ipc-ust_git.bb
deleted file mode 100644
index f307816e..00000000
--- a/recipes-extended/ipc-ust/ipc-ust_git.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Linux IPC Userspace Tool"
-DESCRIPTION = "DSP boot application and ipc test application"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fa38cd73d71527dc6efb546474f64d10"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/ipc;branch=nxp/sdk-v2.0.x \
- file://Makefile-use-LDFLAGS-if-set.patch \
-"
-SRCREV = "74d662707558290f070f9589177db730444bc435"
-
-S = "${WORKDIR}/git"
-
-# workaround for issue of parallel build, required a actual fix in ipc source
-PARALLEL_MAKE = ""
-
-EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC}" AR="${AR}" B4860=1'
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${includedir}
- install -d ${D}/ipc
- install -m 755 ${S}/dsp_boot/dsp_bt ${D}/ipc
- install -m 755 ${S}/ipc/ipc_test ${D}/ipc
- install -m 755 ${S}/ipc/ipc_test67 ${D}/ipc
- install -m 755 ${S}/ipc/l1d_app ${D}/ipc
- install -m 755 ${S}/fsl_shm/app ${D}${bindir}/lg_shm_test
- install -d ${D}${base_libdir}
- install -m 755 ${S}/ipc/libipc.so ${D}${base_libdir}
- install -m 755 ${S}/ipc/libmem.so ${D}${base_libdir}
- install -m 755 ${S}/ipc/libdspboot.so ${D}${base_libdir}
- install -d ${D}${includedir}/ipc
- install -d ${D}${includedir}/ipc/ipc/include
- install -d ${D}${includedir}/ipc/fsl_shm/lib
- install ${S}/ipc/include/*.h ${D}${includedir}/ipc/ipc/include
- install ${S}/dsp_boot/*.h ${D}${includedir}/ipc/ipc/include
- install ${S}/kernel/fsl_ipc_types.h ${D}${includedir}/ipc/ipc/include
- install ${S}/kernel/fsl_heterogeneous_common.h ${D}${includedir}/ipc/ipc/include
- install ${S}/kernel/fsl_heterogeneous_l1_defense.h ${D}${includedir}/ipc/ipc/include
- install ${S}/fsl_shm/include/*.h ${D}${includedir}/ipc/ipc/include
- install ${S}/fsl_shm/lib/*.h ${D}${includedir}/ipc/fsl_shm/lib
-}
-
-FILES:${PN} += "${base_libdir}/*.so /ipc/*"
-FILES:${PN}-dev = "${includedir}"
-FILES:${PN}-dbg += "/ipc/.debug"
-
-INSANE_SKIP:${PN} += "file-rdeps"
-INSANE_SKIP:${PN}-dev += "dev-elf"
-
-COMPATIBLE_MACHINE = "(b4860qds|b4420qds)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-extended/jailhouse/files/arm-arm64-Makefile-Remove-march-option-from-Makefile.patch b/recipes-extended/jailhouse/files/arm-arm64-Makefile-Remove-march-option-from-Makefile.patch
new file mode 100644
index 00000000..442d2831
--- /dev/null
+++ b/recipes-extended/jailhouse/files/arm-arm64-Makefile-Remove-march-option-from-Makefile.patch
@@ -0,0 +1,40 @@
+From 7117c1fe979053e4b1071968b444c03fbffe55bb Mon Sep 17 00:00:00 2001
+From: Daiane Angolini <daiane.angolini@foundries.io>
+Date: Tue, 6 Feb 2024 18:01:07 -0300
+Subject: [PATCH] arm:arm64: Makefile: Remove -march option from Makefile
+
+It let the recipe to decide which are the compilation flags to be used.
+
+It acomodates to [1].
+
+[1] https://git.yoctoproject.org/poky/commit/?id=04eac1f2b67eac5f892a9e0f8fcfe54849923af5
+
+Upstream-Status: Inappropriate [See above]
+
+Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
+---
+ hypervisor/arch/arm/Makefile | 2 --
+ hypervisor/arch/arm64/Makefile | 1 -
+ 2 files changed, 3 deletions(-)
+
+diff --git a/hypervisor/arch/arm/Makefile b/hypervisor/arch/arm/Makefile
+index a54370fc..cddb6cd3 100644
+--- a/hypervisor/arch/arm/Makefile
++++ b/hypervisor/arch/arm/Makefile
+@@ -12,5 +12,3 @@
+
+ LINUXINCLUDE += -I$(src)/arch/arm-common/include
+
+-KBUILD_CFLAGS += -marm -march=armv7ve -msoft-float
+-KBUILD_AFLAGS += -march=armv7ve -msoft-float
+diff --git a/hypervisor/arch/arm64/Makefile b/hypervisor/arch/arm64/Makefile
+index 0718994d..5d7a80c6 100644
+--- a/hypervisor/arch/arm64/Makefile
++++ b/hypervisor/arch/arm64/Makefile
+@@ -12,4 +12,3 @@
+
+ LINUXINCLUDE += -I$(src)/arch/arm-common/include
+
+-KBUILD_CFLAGS += -march=armv8-a+nofp
+--
+2.34.1
diff --git a/recipes-extended/jailhouse/jailhouse_0.12.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb
index 0787523f..5b3391bd 100644
--- a/recipes-extended/jailhouse/jailhouse_0.12.bb
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -13,12 +13,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
file://driver/jailhouse.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
"
-SRCBRANCH = "imx_5.4.47_2.2.0"
-SRCREV = "8bbe203ee7c1fc16198ce1bf964e54c90606c3c2"
+PROVIDES = "jailhouse"
+RPROVIDES:${PN} += "jailhouse"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-jailhouse.git;protocol=ssh;branch=${SRCBRANCH} \
- file://0001-tools-scripts-update-shebang-to-python3.patch \
-"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "139bb5fff80579ae3602061392b9424d6432710a"
+
+IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https"
+SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \
+ file://arm-arm64-Makefile-Remove-march-option-from-Makefile.patch \
+ "
DEPENDS = " \
make-native \
@@ -27,7 +31,7 @@ DEPENDS = " \
dtc-native \
"
-inherit module python3native bash-completion deploy setuptools3
+inherit module bash-completion deploy setuptools3
S = "${WORKDIR}/git"
B = "${S}"
@@ -38,50 +42,33 @@ CELL_DIR ?= "${JH_DATADIR}/cells"
CELLCONF_DIR ?= "${JH_DATADIR}/configs"
INMATES_DIR ?= "${JH_DATADIR}/inmates"
-JH_CONFIG ?= "${S}/ci/jailhouse-config-x86.h"
-JH_CONFIG:x86 ?= "${S}/ci/jailhouse-config-x86.h"
-JH_CONFIG:x86-64 ?= "${S}/ci/jailhouse-config-x86.h"
-JH_CONFIG:arm ?= "${S}/ci/jailhouse-config-banana-pi.h"
+TUNE_CCARGS:remove:mx93-nxp-bsp = "-mcpu=cortex-a55"
+
+EXTRA_OEMAKE += 'V=1'
+EXTRA_OEMAKE += 'PYTHON=python3'
+EXTRA_OEMAKE += 'LDFLAGS=""'
+EXTRA_OEMAKE += 'CC="${CC}"'
+EXTRA_OEMAKE += 'ARCH=${JH_ARCH}'
+EXTRA_OEMAKE += 'CROSS_COMPILE=${TARGET_PREFIX}'
+EXTRA_OEMAKE += 'KDIR=${STAGING_KERNEL_BUILDDIR}'
+EXTRA_OEMAKE += 'MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}"'
+EXTRA_OEMAKE += 'INSTALL_MOD_PATH=${D}${root_prefix}'
+EXTRA_OEMAKE += 'firmwaredir=${nonarch_base_libdir}/firmware'
-do_configure() {
+do_configure:prepend() {
if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
then
cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/${ARCH}/
fi
}
-USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \
- -DJAILHOUSE_VERSION=\\\"$JAILHOUSE_VERSION\\\" \
- -Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Werror \
- -I../driver'
-
-TOOLS_SRC_DIR = "${S}/tools"
-TOOLS_OBJ_DIR = "${S}/tools"
-
-do_compile() {
- unset LDFLAGS
- oe_runmake V=1 CC="${CC}" \
- ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} \
- KDIR=${STAGING_KERNEL_BUILDDIR}
-
- cd ${TOOLS_SRC_DIR}
- export JAILHOUSE_VERSION=$(cat ../VERSION)
- oe_runmake V=1 \
- CFLAGS="${USER_SPACE_CFLAGS}" \
- src=${TOOLS_SRC_DIR} obj=${TOOLS_OBJ_DIR} \
- ${TOOLS_OBJ_DIR}/jailhouse-config-collect ${TOOLS_OBJ_DIR}/jailhouse
+do_compile:prepend() {
+ # explicity call make to build the kernel module and tools
+ oe_runmake
}
-do_install() {
- oe_runmake \
- PYTHON=python3 \
- V=1 \
- LDFLAGS="" \
- CC="${CC}" \
- ARCH=${JH_ARCH} \
- CROSS_COMPILE=${TARGET_PREFIX} \
- KDIR=${STAGING_KERNEL_BUILDDIR} \
- DESTDIR=${D} install
+do_install:append() {
+ oe_runmake DESTDIR=${D} install
install -d ${D}${CELL_DIR}
install ${B}/configs/${JH_ARCH}/*.cell ${D}${CELL_DIR}/
@@ -99,12 +86,15 @@ do_install() {
install ${B}/inmates/tools/${JH_ARCH}/linux-loader.bin ${D}${INMATES_DIR}/tools/${JH_ARCH}
}
-PACKAGE_BEFORE_PN = "kernel-module-jailhouse pyjailhouse"
+PACKAGE_BEFORE_PN = "pyjailhouse"
FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
-FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}/pyjailhouse"
+# Remove libdir/* appended by setuptools3-base.bbclass for module split to work correctly
+FILES:${PN}:remove = "${libdir}/*"
+FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS:${PN} += " \
+ pyjailhouse \
python3-curses \
python3-datetime \
python3-mmap \
@@ -119,4 +109,4 @@ RDEPENDS:pyjailhouse = " \
INSANE_SKIP:${PN} = "ldflags"
-COMPATIBLE_MACHINE = "(mx8m-nxp-bsp)"
+COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx93-nxp-bsp)"
diff --git a/recipes-extended/jailhouse/jailhouse/0001-tools-scripts-update-shebang-to-python3.patch b/recipes-extended/jailhouse/jailhouse/0001-tools-scripts-update-shebang-to-python3.patch
deleted file mode 100644
index df2f37ad..00000000
--- a/recipes-extended/jailhouse/jailhouse/0001-tools-scripts-update-shebang-to-python3.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From f07cd0e5f32a00a4091fa964d0dae0cd46c17554 Mon Sep 17 00:00:00 2001
-From: Cristinel Panfir <cristinel.panfir@nxp.com>
-Date: Sat, 23 May 2020 08:51:31 +0000
-Subject: [PATCH] tools/scripts: update shebang to python3
-
-Upstream-Status: Pending
-
-Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
----
- scripts/arm64-parsedump.py | 2 +-
- tools/jailhouse-cell-linux | 2 +-
- tools/jailhouse-cell-stats | 2 +-
- tools/jailhouse-config-create | 2 +-
- tools/jailhouse-hardware-check | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/scripts/arm64-parsedump.py b/scripts/arm64-parsedump.py
-index 9519eb5..c695706 100755
---- a/scripts/arm64-parsedump.py
-+++ b/scripts/arm64-parsedump.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- # Jailhouse, a Linux-based partitioning hypervisor
- #
-diff --git a/tools/jailhouse-cell-linux b/tools/jailhouse-cell-linux
-index 215932a..bcbb902 100755
---- a/tools/jailhouse-cell-linux
-+++ b/tools/jailhouse-cell-linux
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- # Jailhouse, a Linux-based partitioning hypervisor
- #
-diff --git a/tools/jailhouse-cell-stats b/tools/jailhouse-cell-stats
-index 2f7e966..4c5289f 100755
---- a/tools/jailhouse-cell-stats
-+++ b/tools/jailhouse-cell-stats
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- # Jailhouse, a Linux-based partitioning hypervisor
- #
-diff --git a/tools/jailhouse-config-create b/tools/jailhouse-config-create
-index 55601a6..9869b94 100755
---- a/tools/jailhouse-config-create
-+++ b/tools/jailhouse-config-create
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Jailhouse, a Linux-based partitioning hypervisor
- #
-diff --git a/tools/jailhouse-hardware-check b/tools/jailhouse-hardware-check
-index b86756a..0c8fb42 100755
---- a/tools/jailhouse-hardware-check
-+++ b/tools/jailhouse-hardware-check
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- # Jailhouse, a Linux-based partitioning hypervisor
- #
---
-2.7.4
-
diff --git a/recipes-extended/libpkcs11/libpkcs11_git.bb b/recipes-extended/libpkcs11/libpkcs11_git.bb
index 74176b9a..731b7a23 100644
--- a/recipes-extended/libpkcs11/libpkcs11_git.bb
+++ b/recipes-extended/libpkcs11/libpkcs11_git.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "PKCS library"
LICENSE = "GPL-2.0-only & BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=803852533e29eb1d6d5e55ad3078b625"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/libpkcs11;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq/libpkcs11;protocol=https;nobranch=1 \
file://0001-fix-multiple-definition-error.patch \
"
SRCREV = "8d85182b7a7cd393ab6dd72930f8d1b69468f741"
diff --git a/recipes-extended/odp/odp.inc b/recipes-extended/odp/odp.inc
index d1e10b0f..0c90d0c5 100644
--- a/recipes-extended/odp/odp.inc
+++ b/recipes-extended/odp/odp.inc
@@ -9,9 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ca6103dc75397fb6bec596187d6b7829"
FILESEXTRAPATHS:prepend := "${THISDIR}/odp:"
SRC_URI = " \
-git://source.codeaurora.org/external/qoriq/qoriq-components/odp;nobranch=1 \
-git://source.codeaurora.org/external/qoriq/qoriq-components/qbman_userspace;nobranch=1;name=qbman;destsuffix=git/platform/linux-dpaa2/flib/qbman \
-git://source.codeaurora.org/external/qoriq/qoriq-components/flib;nobranch=1;name=rta;destsuffix=git/platform/linux-dpaa2/flib/rta \
+git://github.com/nxp-qoriq/odp;protocol=https;nobranch=1 \
+git://github.com/nxp-qoriq/qbman_userspace;protocol=https;nobranch=1;name=qbman;destsuffix=git/platform/linux-dpaa2/flib/qbman \
+git://github.com/nxp-qoriq/flib;protocol=https;nobranch=1;name=rta;destsuffix=git/platform/linux-dpaa2/flib/rta \
"
SRC_URI += "file://0001-Fix-this-build-error.patch"
@@ -21,6 +21,7 @@ SRCREV = "0bda2c9736a72ef41a411e193bc31487ecce6731"
SRCREV_qbman = "75ff61a7ca6acdbdbb780161b053cbcbc990f1be"
SRCREV_rta = "bbab28b03ae21c52ce913f8b052acf53bd24ff5d"
+SRCREV_FORMAT = "default_qbman_rta"
S = "${WORKDIR}/git"
-COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2080a|ls2088a|ls1088a)"
+COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a|ls1088a)"
diff --git a/recipes-extended/odp/odp/0001-Fix-this-build-error.patch b/recipes-extended/odp/odp/0001-Fix-this-build-error.patch
index fd276437..cebd7da1 100644
--- a/recipes-extended/odp/odp/0001-Fix-this-build-error.patch
+++ b/recipes-extended/odp/odp/0001-Fix-this-build-error.patch
@@ -6,6 +6,7 @@ Subject: [PATCH] Fix this build error
fix the below error:
|error: 'SIGEV_THREAD' undeclared (first use in this function); did you mean 'CLONE_THREAD'?
+Upstream-Status: Pending
Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
example/lpm-ipfwd/app/odp_lpmfwd.c | 1 +
diff --git a/recipes-extended/odp/odp_git.bb b/recipes-extended/odp/odp_git.bb
index 9c94e432..7d6600d0 100644
--- a/recipes-extended/odp/odp_git.bb
+++ b/recipes-extended/odp/odp_git.bb
@@ -15,7 +15,6 @@ ODP_PLATFORM ?= "linux-dpaa2"
ODP_BUILD_TYPE ?= "ls2088"
ODP_BUILD_TYPE:ls1043ardb = "ls1043"
ODP_BUILD_TYPE:ls1046ardb = "ls1046"
-ODP_BUILD_TYPE:ls2080ardb = "ls2080"
ODP_BUILD_TYPE:ls1088ardb = "ls1088"
EXTRA_OECONF = "--with-platform=${ODP_PLATFORM} \
diff --git a/recipes-extended/ofp/ofp_git.bb b/recipes-extended/ofp/ofp_git.bb
index ec7328c8..47e54315 100644
--- a/recipes-extended/ofp/ofp_git.bb
+++ b/recipes-extended/ofp/ofp_git.bb
@@ -6,7 +6,7 @@ SECTION = "console/network"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fbe4957c430eed6cc20521d4eb429fae"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ofp;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/ofp;protocol=https;nobranch=1"
SRCREV = "fe66f4659f7d356f7aa73a8fb32fcf67c6cf1108"
diff --git a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
index fb41b457..20d06dd6 100644
--- a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
+++ b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
@@ -7,7 +7,7 @@ RDEPENDS:${PN} = "bash libcrypto libssl python3"
inherit python3native pkgconfig
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ovs-dpdk;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/ovs-dpdk;protocol=https;nobranch=1"
SRCREV = "f2c0744d2f68c4cd2840d6e409d7b0520e4caf99"
S = "${WORKDIR}/git"
diff --git a/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch b/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch
index a2befbd6..e535487f 100644
--- a/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch
+++ b/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch
@@ -26,6 +26,7 @@ Fix build error with gcc 11:
| | ^~~~~~~~~~~~~~~~~~~~~
| cc1: all warnings being treated as errors
+Upstream-Status: Pending
Signed-off-by: Ting Liu <ting.liu@nxp.com>
---
app/pktgen.h | 2 +-
diff --git a/recipes-extended/secure-obj/secure-obj.inc b/recipes-extended/secure-obj/secure-obj.inc
index 2d26a7e9..64e4a6b7 100644
--- a/recipes-extended/secure-obj/secure-obj.inc
+++ b/recipes-extended/secure-obj/secure-obj.inc
@@ -10,7 +10,7 @@ inherit python3native
LDFLAGS += "${TOOLCHAIN_OPTIONS}"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/secure_obj;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/secure_obj;protocol=https;nobranch=1"
SRCREV = "5ff1231f74b4b01744be95a3137a14ad0a483e61"
WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
diff --git a/recipes-extended/skmm-ep/skmm-ep/add-two-missing-header-files.patch b/recipes-extended/skmm-ep/skmm-ep/add-two-missing-header-files.patch
index 2a7bb9f2..dca8b72e 100644
--- a/recipes-extended/skmm-ep/skmm-ep/add-two-missing-header-files.patch
+++ b/recipes-extended/skmm-ep/skmm-ep/add-two-missing-header-files.patch
@@ -1,7 +1,8 @@
add two missing header files
-Upstream-status: Pending
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
include/linux/fsl_pci_ep_vfio.h | 79 ++++++
include/linux/vfio.h | 555 ++++++++++++++++++++++++++++++++++++++++
diff --git a/recipes-extended/skmm-ep/skmm-ep_git.bb b/recipes-extended/skmm-ep/skmm-ep_git.bb
index ec051bea..c08c9492 100644
--- a/recipes-extended/skmm-ep/skmm-ep_git.bb
+++ b/recipes-extended/skmm-ep/skmm-ep_git.bb
@@ -7,7 +7,7 @@ DEPENDS = "libedit openssl virtual/kernel"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/skmm-ep;protocol=https;nobranch=1 \
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-ep;protocol=https;nobranch=1 \
file://add-two-missing-header-files.patch \
"
SRCREV = "de6816c7d66129683bc62229b482ac3cf585d896"
diff --git a/recipes-extended/testfloat/files/SoftFloat-powerpc-1.patch b/recipes-extended/testfloat/files/SoftFloat-powerpc-1.patch
index b6db2de2..51a0da19 100644
--- a/recipes-extended/testfloat/files/SoftFloat-powerpc-1.patch
+++ b/recipes-extended/testfloat/files/SoftFloat-powerpc-1.patch
@@ -1,5 +1,6 @@
This patch adds PowerPC support in SoftFloat.
+Upstream-Status: Pending
Signed-off-by: Ebony Zhu <ebony.zhu@freescale.com>
Signed-off-by: Liu Yu <Yu.Liu@freescale.com>
---
diff --git a/recipes-extended/testfloat/files/TestFloat-powerpc-E500v2-SPE-1.patch b/recipes-extended/testfloat/files/TestFloat-powerpc-E500v2-SPE-1.patch
index c34421cf..2e904174 100644
--- a/recipes-extended/testfloat/files/TestFloat-powerpc-E500v2-SPE-1.patch
+++ b/recipes-extended/testfloat/files/TestFloat-powerpc-E500v2-SPE-1.patch
@@ -1,6 +1,7 @@
This patch adds PowerPC E500v2 SPE support in TestFloat.
And it disables the testing for hardware that can not trigger SPE interrupt.
+Upstream-Status: Pending
Signed-off-by: Ebony Zhu <ebony.zhu@freescale.com>
Signed-off-by: Liu Yu <Yu.Liu@freescale.com>
---
diff --git a/recipes-extended/testfloat/files/Yocto-replace-COMPILE_PREFIX-gcc.patch b/recipes-extended/testfloat/files/Yocto-replace-COMPILE_PREFIX-gcc.patch
index f2ff1c00..c6cfaf41 100644
--- a/recipes-extended/testfloat/files/Yocto-replace-COMPILE_PREFIX-gcc.patch
+++ b/recipes-extended/testfloat/files/Yocto-replace-COMPILE_PREFIX-gcc.patch
@@ -3,6 +3,7 @@ From: Ting Liu <b28495@freescale.com>
Date: Wed, 9 May 2012 02:42:57 -0500
Subject: [PATCH] Yocto: replace $(COMPILE_PREFIX)gcc with $(CC) and remove -te500v2 flags
+Upstream-Status: Pending
Signed-off-by: Ting Liu <b28495@freescale.com>
---
SoftFloat-2b/softfloat/bits32/powerpc-GCC/Makefile | 4 ++--
diff --git a/recipes-extended/tsntool/tsntool/0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch b/recipes-extended/tsntool/tsntool/0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch
new file mode 100644
index 00000000..3a9bc31f
--- /dev/null
+++ b/recipes-extended/tsntool/tsntool/0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch
@@ -0,0 +1,29 @@
+From 2cf9a3f919317784e7cecdff6b632cdb2665c580 Mon Sep 17 00:00:00 2001
+From: Meng Li <Meng.Li@windriver.com>
+Date: Mon, 12 Jun 2023 15:17:21 +0800
+Subject: [PATCH] tsntool: remove redundant parameters from BIN_LDFLAGS
+
+The recipe file has pass the same parameter(-Wl,-rpath-link,<lib path>)
+to Makefile, so remove redundant parameters from BIN_LDFLAGS.
+
+Upstream-Status: Pending
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0ba88b4..39a98c0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,7 +16,6 @@ BIN_CFLAGS += -Wall -Wextra -Wno-error=unused-parameter -Wno-error=sign-compare
+ BIN_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0 libnl-genl-3.0 libcjson) -Iinclude
+ BIN_LDFLAGS += -ltsn $(shell $(PKG_CONFIG) --libs libnl-3.0 libnl-genl-3.0 libcjson) -lpthread -lm -lrt
+ BIN_LDFLAGS += -lreadline -ltermcap -L.
+-BIN_LDFLAGS += -Wl,-rpath,$(shell pwd) # Compiled lib at local folder
+
+ BIN_SRC =
+ LIB_SRC =
+--
+2.40.1
+
diff --git a/recipes-extended/tsntool/tsntool_git.bb b/recipes-extended/tsntool/tsntool_git.bb
index a2e8b49e..2ad4a0c4 100644
--- a/recipes-extended/tsntool/tsntool_git.bb
+++ b/recipes-extended/tsntool/tsntool_git.bb
@@ -7,8 +7,14 @@ DEPENDS = "cjson libnl readline"
inherit pkgconfig
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/tsntool;protocol=https;nobranch=1"
-SRCREV = "b767c260b851aac94828ed26c6a9a327e4e98334"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI = "git://github.com/nxp-qoriq/tsntool;protocol=https;nobranch=1"
+SRCREV = "a0769e23304957a22f0cbeee6d1f547b20c3c21e"
+
+SRC_URI:append = " \
+ file://0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch \
+"
S = "${WORKDIR}/git"
diff --git a/recipes-fsl/mcore-demos/README b/recipes-fsl/mcore-demos/README
new file mode 100644
index 00000000..59053f59
--- /dev/null
+++ b/recipes-fsl/mcore-demos/README
@@ -0,0 +1,13 @@
+The M4 demo app version of each SoCs are followed:
+* 2.14.0 -- i.MX 7ULP, 8MQ
+* 2.14.1 -- i.MX 8MM
+* 2.9.0 -- i.MX 8DXL, 8QM, 8QXP
+* 1.0.1 -- i.MX 7D
+
+The M7 demo app version of each SoCs are followed:
+* 2.14.0 -- i.MX 8MNULite, 8MN
+* 2.14.1 -- i.MX 8MP
+
+The M33 demo app version of each SoCs are followed:
+* 2.14.1 -- i.MX 8ULP
+* 2.14.2 -- i.MX 93
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb b/recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb
new file mode 100644
index 00000000..fa91ad80
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m33-demos_2.14.1.bb
@@ -0,0 +1,15 @@
+# Copyright 2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
+LIC_FILES_CHKSUM:mx8ulp-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
+
+SRC_URI[imx8ulp.md5sum] = "6a1d2b904255ad2b514a234e6282209f"
+SRC_URI[imx8ulp.sha256sum] = "eb8710c31dd58e23ed50653a1b90106e78776a1062abea2a16139cf371828a5a"
+
+SRC_URI[imx93.md5sum] = "6c48e178dd3ddb95151f1eeade984a21"
+SRC_URI[imx93.sha256sum] = "0848b5055ca693badd5ee923347fcebcac04e8aade22a4f26441669ef653eb01"
+
+COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m33-demos_2.14.2.bb b/recipes-fsl/mcore-demos/imx-m33-demos_2.14.2.bb
new file mode 100644
index 00000000..6ee72cbb
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m33-demos_2.14.2.bb
@@ -0,0 +1,12 @@
+# Copyright 2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+
+SRC_URI[imx93.md5sum] = "3f420c28fdc159ecd5148a931a5ff02c"
+SRC_URI[imx93.sha256sum] = "31f6e8b08edb677614e65b11bbcc796218691fe746b84ec2503b8a5060d69ef2"
+
+COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb b/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
new file mode 100644
index 00000000..fd99c637
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "i.MX M4 core Demo images"
+SECTION = "app"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM:mx7d-nxp-bsp = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
+
+inherit deploy fsl-eula-unpack
+
+M4_SOC ?= "INVALID"
+M4_SOC:mx7d-nxp-bsp = "imx7d-sabresd"
+
+SRC_URI = "${FSL_MIRROR}/${M4_SOC}-m4-freertos-${PV}.bin;fsl-eula=true"
+S = "${WORKDIR}/${M4_SOC}-m4-freertos-${PV}"
+
+SRC_URI[md5sum] = "b05b780ff3916f4953ab58ac95233c38"
+SRC_URI[sha256sum] = "cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254"
+
+do_deploy () {
+ # Install the demo binaries
+ install -d ${DEPLOYDIR}
+ cp ${S}/*.bin ${DEPLOYDIR}/
+ ls ${DEPLOYDIR}/
+}
+
+addtask deploy before do_build after do_compile
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx7d-nxp-bsp)"
+
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb
new file mode 100644
index 00000000..0afd9677
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_2.14.0.bb
@@ -0,0 +1,19 @@
+# Copyright 2017-2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx8mm-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
+LIC_FILES_CHKSUM:mx8mq-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
+LIC_FILES_CHKSUM:mx7ulp-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
+
+SRC_URI[imx8mm.md5sum] = "788192fd5e42d0eab95a27a3738b8615"
+SRC_URI[imx8mm.sha256sum] = "178150e9720b84838f26cfcf14d25be247bd9e55e39bfb8238e47aee2d0f6244"
+
+SRC_URI[imx8mq.md5sum] = "0235860aca583e50af88b141e8f25d13"
+SRC_URI[imx8mq.sha256sum] = "decb52b246800e3fa926704207a0ac9a960723da8502887a31f353aaa370c9d9"
+
+SRC_URI[imx7ulp.md5sum] = "4ec757b7a2a2bdf33f583c328a4631f1"
+SRC_URI[imx7ulp.sha256sum] = "51715bee5e300ee6160c92979e7075e3aa7f7114e7742699bfaa9779113a6fe9"
+
+COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mm-nxp-bsp|mx8mq-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb
new file mode 100644
index 00000000..67fadb2f
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_2.14.1.bb
@@ -0,0 +1,11 @@
+# Copyright 2017-2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx8mm-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
+
+SRC_URI[imx8mm.md5sum] = "8db99da9efe8a5409a246c8a63d418dc"
+SRC_URI[imx8mm.sha256sum] = "8269d7461efcdba0b8c3e684df8b45c2d8ace3fdf426b81bdfb46855a1577987"
+
+COMPATIBLE_MACHINE = "(mx8mm-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb b/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb
new file mode 100644
index 00000000..63c402dd
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb
@@ -0,0 +1,19 @@
+# Copyright 2017-2021 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx8dxl-nxp-bsp = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM:mx8qm-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a"
+LIC_FILES_CHKSUM:mx8qxp-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a"
+
+SRC_URI[imx8dxl.md5sum] = "8850c04a8af91e2bd822cecd5ec56e12"
+SRC_URI[imx8dxl.sha256sum] = "66ddba970712ed394de4034b362334a12caa5865a6afc1dfb5a897bb55b4fcf1"
+
+SRC_URI[imx8qm.md5sum] = "5912ca94847ee56a7e8b866b211b67d9"
+SRC_URI[imx8qm.sha256sum] = "c695e72b0c7f609132f5990469cf950c03e137de887bd7e24d059c51a7b499be"
+
+SRC_URI[imx8qx.md5sum] = "5bc15014f59b2b11c71299fac608be5d"
+SRC_URI[imx8qx.sha256sum] = "bbb268a30a58a86e38966122191c8aa69f427c6c1d56b0ce81e518f4d652782a"
+
+COMPATIBLE_MACHINE = "(mx8dxl-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb
new file mode 100644
index 00000000..7849ccca
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_2.14.0.bb
@@ -0,0 +1,15 @@
+# Copyright 2019-2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx8mn-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
+LIC_FILES_CHKSUM:mx8mnul-nxp-bsp = "file://COPYING;md5=9135422c7a38dac21bf1f858b6ef3bac"
+
+SRC_URI[imx8mn.md5sum] = "5ba15434b72f1eb7315e6ddb8a66a0f9"
+SRC_URI[imx8mn.sha256sum] = "8fe6c76da7eb0bbebb8e18a308249ca78a1c5c1d58034cf0fd3c5028aa5740e2"
+
+SRC_URI[imx8mnddr3l.md5sum] = "62115bc3415eac0f9a4249ed9bb94f98"
+SRC_URI[imx8mnddr3l.sha256sum] = "4b405e1ae439f651c21c4d4bd88f89695974a15aabb89cba65daa2f9922b273d"
+
+COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb b/recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb
new file mode 100644
index 00000000..ddd99661
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-m7-demos_2.14.1.bb
@@ -0,0 +1,12 @@
+# Copyright 2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-mcore-demos.inc
+
+LIC_FILES_CHKSUM:mx8mp-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
+LIC_FILES_CHKSUM:mx8mpul-nxp-bsp = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
+
+SRC_URI[imx8mp.md5sum] = "f12cd36cd48cfc65ada700445f8cecaf"
+SRC_URI[imx8mp.sha256sum] = "f2da9e7d7ea6d7b5f33eb12d20e6c5c07fe3110d362f5263d672729f2cd73b37"
+
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp|mx8mpul-nxp-bsp)"
diff --git a/recipes-fsl/mcore-demos/imx-mcore-demos.inc b/recipes-fsl/mcore-demos/imx-mcore-demos.inc
new file mode 100644
index 00000000..b73baf67
--- /dev/null
+++ b/recipes-fsl/mcore-demos/imx-mcore-demos.inc
@@ -0,0 +1,61 @@
+# Copyright 2017-2021 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "i.MX M4/M7/M33 core Demo images"
+SECTION = "app"
+LICENSE = "Proprietary"
+
+inherit deploy fsl-eula-unpack
+
+SOC ?= "INVALID"
+SOC:mx7ulp-nxp-bsp = "imx7ulp"
+SOC:mx8dxl-nxp-bsp = "imx8dxl"
+SOC:mx8mm-nxp-bsp = "imx8mm"
+SOC:mx8mn-nxp-bsp = "imx8mn"
+SOC:mx8mnul-nxp-bsp = "imx8mnddr3l"
+SOC:mx8mp-nxp-bsp = "imx8mp"
+SOC:mx8mpul-nxp-bsp = "imx8mp"
+SOC:mx8mq-nxp-bsp = "imx8mq"
+SOC:mx8qm-nxp-bsp = "imx8qm"
+SOC:mx8qxp-nxp-bsp = "imx8qx"
+SOC:mx8dx-nxp-bsp = "imx8qx"
+SOC:mx8ulp-nxp-bsp = "imx8ulp"
+SOC:mx93-nxp-bsp = "imx93"
+
+MCORE_TYPE ?= "m4"
+MCORE_TYPE:mx8mn-nxp-bsp = "m7"
+MCORE_TYPE:mx8mnul-nxp-bsp = "m7"
+MCORE_TYPE:mx8mp-nxp-bsp = "m7"
+MCORE_TYPE:mx8mpul-nxp-bsp = "m7"
+MCORE_TYPE:mx8ulp-nxp-bsp = "m33"
+MCORE_TYPE:mx93-nxp-bsp = "m33"
+
+SRC_URI = "${FSL_MIRROR}/${SOC}-${MCORE_TYPE}-demo-${PV}.bin;name=${SOC};fsl-eula=true"
+
+S = "${WORKDIR}/${SOC}-${MCORE_TYPE}-demo-${PV}"
+
+#SRC_URI="https://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx93-m33-demo-2.14.0.bin;fsl-eula=true;name=imx93"
+
+
+SCR = "SCR-${SOC}-${MCORE_TYPE}-demo.txt"
+
+do_install () {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/*.elf ${D}${nonarch_base_libdir}/firmware
+}
+
+DEPLOY_FILE_EXT ?= "bin"
+DEPLOY_FILE_EXT:mx7ulp-nxp-bsp = "img"
+
+do_deploy () {
+ # Install the demo binaries
+ install -m 0644 ${S}/*.${DEPLOY_FILE_EXT} ${DEPLOYDIR}/
+}
+
+addtask deploy after do_install
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+
+FILES:${PN} = "${nonarch_base_libdir}/firmware"
+
+INSANE_SKIP:${PN} = "arch"
diff --git a/recipes-graphics/cairo/cairo_%.bbappend b/recipes-graphics/cairo/cairo_%.bbappend
index 2c73c7f3..bf8c38fc 100644
--- a/recipes-graphics/cairo/cairo_%.bbappend
+++ b/recipes-graphics/cairo/cairo_%.bbappend
@@ -1,2 +1,5 @@
-PACKAGECONFIG:append:imxgpu3d = " egl glesv2"
-PACKAGECONFIG:remove:imxgpu3d = "opengl"
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
+RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat"
diff --git a/recipes-graphics/drm/libdrm_2.4.109.imx.bb b/recipes-graphics/drm/libdrm_2.4.115.imx.bb
index 6a9ab254..ada0b7ae 100644
--- a/recipes-graphics/drm/libdrm_2.4.109.imx.bb
+++ b/recipes-graphics/drm/libdrm_2.4.115.imx.bb
@@ -6,14 +6,16 @@ accelerated OpenGL drivers."
HOMEPAGE = "http://dri.freedesktop.org"
SECTION = "x11/base"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9eb1f4831351ab42d762c40b3ebb7add \
+ file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
PROVIDES = "drm"
DEPENDS = "libpthread-stubs"
-IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
-SRCBRANCH ?= "libdrm-imx-2.4.109"
SRC_URI = "${IMX_LIBDRM_SRC};branch=${SRCBRANCH}"
-SRCREV = "1d943abb1fccc350a129950d2690948f64503bb7"
+IMX_LIBDRM_SRC ?= "git://github.com/nxp-imx/libdrm-imx.git;protocol=https"
+SRCBRANCH ?= "libdrm-imx-2.4.115"
+SRCREV = "0f889a1f9640f6210132dd565141eb19005245fb"
+
S = "${WORKDIR}/git"
DEFAULT_PREFERENCE = "-1"
@@ -21,25 +23,25 @@ COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
inherit meson pkgconfig manpages
-PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
-PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false"
-PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
-PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
-PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
-PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
-PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
-PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
-PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
-PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
-PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
-PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
-PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
+PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv tests install-test-programs"
+PACKAGECONFIG[intel] = "-Dintel=enabled,-Dintel=disabled,libpciaccess"
+PACKAGECONFIG[radeon] = "-Dradeon=enabled,-Dradeon=disabled"
+PACKAGECONFIG[amdgpu] = "-Damdgpu=enabled,-Damdgpu=disabled"
+PACKAGECONFIG[nouveau] = "-Dnouveau=enabled,-Dnouveau=disabled"
+PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=enabled,-Dvmwgfx=disabled"
+PACKAGECONFIG[omap] = "-Domap=enabled,-Domap=disabled"
+PACKAGECONFIG[exynos] = "-Dexynos=enabled,-Dexynos=disabled"
+PACKAGECONFIG[freedreno] = "-Dfreedreno=enabled,-Dfreedreno=disabled"
+PACKAGECONFIG[tegra] = "-Dtegra=enabled,-Dtegra=disabled"
+PACKAGECONFIG[vc4] = "-Dvc4=enabled,-Dvc4=disabled"
+PACKAGECONFIG[etnaviv] = "-Detnaviv=enabled,-Detnaviv=disabled"
PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
+PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind"
PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
-PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
+PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=enabled,-Dcairo-tests=disabled"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
-PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native"
+PACKAGECONFIG[manpages] = "-Dman-pages=enabled,-Dman-pages=disabled,libxslt-native xmlto-native python3-docutils-native"
ALLOW_EMPTY:${PN}-drivers = "1"
PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
diff --git a/recipes-graphics/glew/glew_%.bbappend b/recipes-graphics/glew/glew_%.bbappend
new file mode 100644
index 00000000..95da4790
--- /dev/null
+++ b/recipes-graphics/glew/glew_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG:imxgpu = "egl-gles2"
diff --git a/recipes-graphics/gtk+/gtk+3_%.bbappend b/recipes-graphics/gtk+/gtk+3_%.bbappend
index 2f108a27..6bc01807 100644
--- a/recipes-graphics/gtk+/gtk+3_%.bbappend
+++ b/recipes-graphics/gtk+/gtk+3_%.bbappend
@@ -1,5 +1 @@
DEPENDS:append:imxgpu2d = " virtual/egl"
-
-PACKAGECONFIG:remove:imxgpu2d = " \
- ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "x11", "", d)} \
-"
diff --git a/recipes-graphics/harfbuzz/harfbuzz_%.bbappend b/recipes-graphics/harfbuzz/harfbuzz_%.bbappend
new file mode 100644
index 00000000..bf8c38fc
--- /dev/null
+++ b/recipes-graphics/harfbuzz/harfbuzz_%.bbappend
@@ -0,0 +1,5 @@
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
+RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat"
diff --git a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.0.0.bb b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.0.0.bb
deleted file mode 100644
index c8e4169d..00000000
--- a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.0.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2016 Freescale Semiconductor
-# Copyright 2017-2022 NXP
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "G2D library using i.MX DPU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
-
-DEPENDS = "libgal-imx libdrm"
-PROVIDES += "virtual/libg2d"
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "96bc124401896dec1272a86cb2baef54"
-SRC_URI[sha256sum] = "8e636b65b08cba6b4c2130c8dbff81ee1af42ef818c013aede81ab7e321899a4"
-
-inherit fsl-eula-unpack
-
-do_install () {
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- cp -r ${S}/g2d/usr/lib/*.so* ${D}${libdir}
- cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
-}
-
-INSANE_SKIP:${PN} += "ldflags"
-
-COMPATIBLE_MACHINE = "(imxdpu)"
diff --git a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.10.bb b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.10.bb
new file mode 100644
index 00000000..16011bd4
--- /dev/null
+++ b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.10.bb
@@ -0,0 +1,38 @@
+# Copyright (C) 2016 Freescale Semiconductor
+# Copyright 2017-2022 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "G2D library using i.MX DPU"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
+
+DEPENDS = "libgal-imx libdrm"
+PROVIDES += "virtual/libg2d"
+
+SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;fsl-eula=true"
+IMX_BIN_NAME = "${BP}-${IMX_SRCREV_ABBREV}"
+IMX_SRCREV_ABBREV = "7ed5396"
+SRC_URI[md5sum] = "eed4f724973192564474efbda83f67bc"
+SRC_URI[sha256sum] = "bca725e442c1438990cf1b41a59194e6efbd080c63d9b683a0d572e27f900e25"
+
+S = "${WORKDIR}/${IMX_BIN_NAME}"
+
+inherit fsl-eula-unpack
+
+do_install () {
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ cp -d ${S}/g2d/usr/lib/*.so* ${D}${libdir}
+ cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
+}
+
+INSANE_SKIP:append:libc-musl = " file-rdeps"
+RDEPENDS:${PN}:append:libc-musl = " gcompat"
+
+# The packaged binaries have been stripped of debug info, so disable
+# operations accordingly.
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+COMPATIBLE_MACHINE = "(imxdpu)"
diff --git a/recipes-graphics/imx-g2d/imx-g2d-samples_2.0.0.bb b/recipes-graphics/imx-g2d/imx-g2d-samples_2.0.0.bb
deleted file mode 100644
index 9832aac2..00000000
--- a/recipes-graphics/imx-g2d/imx-g2d-samples_2.0.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "i.MX G2D Samples"
-DESCRIPTION = "Set of sample applications for i.MX G2D"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0858ec9c7a80c4a2cf16e4f825a2cc91"
-
-DEPENDS = "virtual/libg2d"
-
-GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxpmicro/g2d-samples.git;protocol=https"
-SRCBRANCH ?= "imx_2.0"
-SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}"
-SRCREV = "267af142881d350218c2c2cead8f304a28bbee07"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
-
-PACKAGECONFIG[wayland] = "USE_WAYLAND=true,USE_WAYLAND=false,wayland-native wayland-protocols"
-
-EXTRA_OEMAKE += " \
- SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
- ${PACKAGECONFIG_CONFARGS} \
-"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-FILES:${PN} += "/opt"
-
-COMPATIBLE_MACHINE = "(imxgpu2d)"
diff --git a/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb b/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
new file mode 100644
index 00000000..649a16d2
--- /dev/null
+++ b/recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
@@ -0,0 +1,68 @@
+SUMMARY = "i.MX G2D Samples"
+DESCRIPTION = "Set of sample applications for i.MX G2D"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0858ec9c7a80c4a2cf16e4f825a2cc91"
+
+DEPENDS = "cairo"
+
+PV = "2.1+git${SRCPV}"
+
+SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}"
+GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxp-imx/g2d-samples.git;protocol=https"
+SRCBRANCH ?= "imx_2.1"
+SRCREV = "4391dcda499870418bb38fe395c3cba0664c5bab"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_IMPLEMENTATION}"
+PACKAGECONFIG_IMPLEMENTATION = ""
+PACKAGECONFIG_IMPLEMENTATION:imxgpu2d:imxdpu = "dpu"
+PACKAGECONFIG_IMPLEMENTATION:imxgpu2d = "gpu-drm"
+PACKAGECONFIG_IMPLEMENTATION:imxgpu2d:imxfbdev = "gpu-fbdev"
+PACKAGECONFIG_IMPLEMENTATION:mx93-nxp-bsp = "pxp"
+
+PACKAGECONFIG[dpu] = " \
+ BUILD_IMPLEMENTATION=dpu, \
+ , \
+ imx-dpu-g2d wayland-native wayland wayland-protocols, \
+ , \
+ , \
+ gpu-drm gpu-fbdev pxp"
+PACKAGECONFIG[gpu-drm] = " \
+ BUILD_IMPLEMENTATION=gpu-drm, \
+ , \
+ imx-gpu-g2d wayland-native wayland wayland-protocols, \
+ , \
+ , \
+ dpu gpu-fbdev pxp"
+PACKAGECONFIG[gpu-fbdev] = " \
+ BUILD_IMPLEMENTATION=gpu-fbdev, \
+ , \
+ imx-gpu-g2d, \
+ , \
+ , \
+ dpu gpu-drm pxp"
+PACKAGECONFIG[pxp] = " \
+ BUILD_IMPLEMENTATION=pxp, \
+ , \
+ imx-pxp-g2d wayland-native wayland wayland-protocols, \
+ , \
+ , \
+ dpu gpu-drm gpu-fbdev"
+
+EXTRA_OEMAKE += " \
+ SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+FILES:${PN} += "/opt"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+
+COMPATIBLE_MACHINE = "(imxgpu2d|mx93-nxp-bsp)"
diff --git a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.2.bb b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.2.bb
new file mode 100644
index 00000000..b9a7d938
--- /dev/null
+++ b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.2.bb
@@ -0,0 +1,44 @@
+# Copyright (C) 2016 Freescale Semiconductor
+# Copyright 2017-2022 NXP
+# Copyright 2018 (C) O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "G2D library using i.MX GPU"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+DEPENDS = "libgal-imx"
+PROVIDES = "virtual/libg2d"
+
+SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true"
+IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}"
+IMX_SRCREV_ABBREV = "fd0148d"
+SRC_URI[aarch64.md5sum] = "ebc4cb8fdfa0b8ef9b11d7bb0fd4710f"
+SRC_URI[aarch64.sha256sum] = "1cedc606be965b01300613ccea81b4fd589d940306bb1caa30a37c41928616ec"
+SRC_URI[arm.md5sum] = "77233957a27ae4da3f01d33b3fbc69d9"
+SRC_URI[arm.sha256sum] = "bc168b19096a997251e7137f82ffcff404c61709cf5f227c53a099f631569f76"
+
+S = "${WORKDIR}/${IMX_BIN_NAME}"
+
+inherit fsl-eula-unpack
+
+SOC_INSTALL_DIR = "SOC_INSTALL_DIR_NOT_SET"
+SOC_INSTALL_DIR:mx8mm-nxp-bsp = "mx8mm"
+
+do_install () {
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ cp -d ${S}/g2d/usr/lib/*.so* ${D}${libdir}
+ if [ -d ${S}/g2d/usr/lib/${SOC_INSTALL_DIR} ]; then
+ cp -d ${S}/g2d/usr/lib/${SOC_INSTALL_DIR}/*.so* ${D}${libdir}
+ fi
+ cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
+}
+
+# The packaged binaries have been stripped of debug info, so disable
+# operations accordingly.
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(imxgpu2d)"
diff --git a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.3.p4.0.bb b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.3.p4.0.bb
deleted file mode 100644
index 1f3c2e60..00000000
--- a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.3.p4.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (C) 2016 Freescale Semiconductor
-# Copyright 2017-2022 NXP
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "G2D library using i.MX GPU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
-DEPENDS = "libgal-imx"
-PROVIDES = "virtual/libg2d"
-
-FSLBIN_NAME = "${PN}-${PV}-${TARGET_ARCH}"
-
-SRC_URI = "${FSL_MIRROR}/${FSLBIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true"
-SRC_URI[aarch64.md5sum] = "b3b3c285796cd5d47841b73c4735e6bd"
-SRC_URI[aarch64.sha256sum] = "f2d592d1389be0c16f8dbe6374d480d674c2e31f4195916dbd6baf71473a0e60"
-SRC_URI[arm.md5sum] = "82f6a394505bc9d348a35f26cd02bd6a"
-SRC_URI[arm.sha256sum] = "96f0213009087de0842740401a67a19d70d5a7ae928843c9c9bee3f8f177b2a0"
-
-S = "${WORKDIR}/${FSLBIN_NAME}"
-
-inherit fsl-eula-unpack
-
-do_install () {
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- cp -r ${S}/g2d/usr/lib/*.so* ${D}${libdir}
- cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
-}
-
-INSANE_SKIP:${PN} = "ldflags"
-
-COMPATIBLE_MACHINE = "(imxgpu2d)"
diff --git a/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb b/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
new file mode 100644
index 00000000..dedee983
--- /dev/null
+++ b/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb
@@ -0,0 +1,28 @@
+# Copyright (C) 2016 Freescale Semiconductor
+# Copyright 2017-2023 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "G2D library using i.MX PXP"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+PROVIDES += "virtual/libg2d"
+
+PV = "2.1.0+git${SRCPV}"
+
+SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}"
+IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https"
+SRCBRANCH ?= "imx_2.1"
+SRCREV = "f3adab05bd0cbb7c38578110d772e8ddf52b4e8e"
+
+S = "${WORKDIR}/git"
+
+inherit use-imx-headers
+
+EXTRA_OEMAKE = "PLATFORM=IMX93 INCLUDE='-I${STAGING_INCDIR_IMX}' DEST_DIR=${D}"
+
+do_install() {
+ oe_runmake install
+}
+
+COMPATIBLE_MACHINE = "(mx93-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
index bd041582..a2f049a8 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
@@ -4,10 +4,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50"
DEPENDS = "imx-gpu-viv zlib libpng procps"
-SRC_URI = "git://source.codeaurora.org/external/imx/apitrace-imx.git;protocol=https;branch=imx_10.0 \
+SRC_URI = "git://github.com/nxp-imx/apitrace-imx.git;protocol=https;branch=imx_10.0 \
file://0001-dlsym-workaround-glibc-2.34-build-failure.patch \
"
-SRCREV = "90a59407f1cddd31b4dac67e5a2500100eb091bc"
+SRCREV = "522cb2981289b7ba20d6dd4b4bf75097e079815b"
S = "${WORKDIR}/git"
@@ -43,6 +43,13 @@ FILES:${PN} += " \
${libdir}/apitrace/scripts/* \
${libdir}/apitrace/wrappers/* \
"
-
+EXTRA_OECMAKE += "\
+ -DENABLE_GUI=OFF \
+ -DENABLE_STATIC_LIBGCC=OFF \
+ -DENABLE_STATIC_LIBSTDCXX=OFF \
+ -DPython3_ROOT_DIR=/usr/bin/python3-native \
+"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(imxgpu)"
+SECURITY_CFLAGS:toolchain-clang = ""
+
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 8d014259..56a9ec4d 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -1,12 +1,12 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
-# Copyright 2017-2021 NXP
+# Copyright 2017-2023 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "GPU driver and apps for i.MX"
SECTION = "libs"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
DEPENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -25,7 +25,20 @@ DEPENDS:append:mx8-nxp-bsp = " patchelf-native"
# We depend on mesa to fill in what is missing.
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}"
-EXTRA_PROVIDES = ""
+DEPENDS:append:libc-musl = " gcompat"
+
+PROVIDES += " \
+ imx-gpu-viv \
+ libgal-imx \
+ virtual/egl \
+ virtual/libopenvg \
+ ${EXTRA_PROVIDES} \
+"
+EXTRA_PROVIDES = " \
+ ${PROVIDES_OPENCL} \
+ ${PROVIDES_OPENGLES3} \
+ ${PROVIDES_OPENVX} \
+"
EXTRA_PROVIDES:append:imxgpu3d = " \
virtual/libgl \
virtual/libgles1 \
@@ -34,31 +47,37 @@ EXTRA_PROVIDES:append:imxgpu3d = " \
EXTRA_PROVIDES:append:mx8-nxp-bsp = " \
virtual/libgbm \
"
-PROVIDES_OPENVX = ""
-PROVIDES_OPENVX:mx8-nxp-bsp = "virtual/libopenvx"
-PROVIDES_OPENVX:mx8mm-nxp-bsp = ""
-PROVIDES += " \
- imx-gpu-viv \
- libgal-imx \
+
+PROVIDES_OPENCL = " \
opencl-headers \
opencl-clhpp \
opencl-icd-loader \
- virtual/egl \
- virtual/libopenvg \
virtual/opencl-icd \
- ${PROVIDES_OPENVX} \
- ${EXTRA_PROVIDES} \
"
+PROVIDES_OPENCL:mx7-nxp-bsp = ""
+PROVIDES_OPENCL:mx8mm-nxp-bsp = ""
+
+PROVIDES_OPENGLES3 = ""
+PROVIDES_OPENGLES3:mx8-nxp-bsp = "virtual/libgles3"
+
+# Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus.
+# However, only limited support is provided on other i.MX 8 machines
+# as needed for i.MX machine learning packages.
+PROVIDES_OPENVX = ""
+PROVIDES_OPENVX:mx8-nxp-bsp = "virtual/libopenvx"
+PROVIDES_OPENVX:mx8mm-nxp-bsp = ""
RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv"
PE = "1"
-inherit fsl-eula-unpack features_check
+inherit fsl-eula-unpack
-REQUIRED_DISTRO_FEATURES:mx8-nxp-bsp = "wayland"
+FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:"
+SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
+ file://imx_icd.json"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
+S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
PACKAGECONFIG ?= ""
@@ -66,27 +85,42 @@ PACKAGECONFIG ?= ""
PACKAGECONFIG[valgrind] = ""
# Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below
-IMX_PACKAGES_GBM = ""
-IMX_PACKAGES_GBM:mx8-nxp-bsp = "libgbm-imx libgbm-imx-dev"
-PACKAGES =+ "libclc-imx libclc-imx-dev \
+PACKAGES =+ " \
libgl-imx libgl-imx-dev \
libgles1-imx libgles1-imx-dev \
libgles2-imx libgles2-imx-dev \
libgles3-imx-dev \
libglslc-imx libglslc-imx-dev \
- libopencl-imx libopencl-imx-dev \
+ ${PACKAGES_OPENCL} \
libopenvg-imx libopenvg-imx-dev \
libvdk-imx libvdk-imx-dev \
libegl-imx libegl-imx-dev \
libgal-imx libgal-imx-dev \
libvsc-imx \
- ${IMX_PACKAGES_GBM} \
+ ${PACKAGES_GBM} \
imx-gpu-viv-tools \
imx-gpu-viv-demos \
- libvulkan-imx libvulkan-imx-dev \
- libopenvx-imx libopenvx-imx-dev \
+ ${PACKAGES_VULKAN} \
+ ${PACKAGES_OPENVX} \
libnn-imx \
+ libspirv-imx \
"
+
+PACKAGES_GBM = ""
+PACKAGES_GBM:mx8-nxp-bsp = "libgbm-imx libgbm-imx-dev"
+
+PACKAGES_OPENCL = "libclc-imx libopencl-imx libopencl-imx-dev"
+PACKAGES_OPENCL:mx7-nxp-bsp = ""
+PACKAGES_OPENCL:mx8mm-nxp-bsp = ""
+
+PACKAGES_OPENVX = \
+ "${@bb.utils.contains("PROVIDES_OPENVX", "virtual/libopenvx", \
+ "libopenvx-imx libopenvx-imx-dev", "", d)}"
+
+PACKAGES_VULKAN = ""
+PACKAGES_VULKAN:imxvulkan = "libvulkan-imx libvulkan-imx-dev"
+PACKAGES_VULKAN:mx8mm-nxp-bsp = "libvulkan-imx libvulkan-imx-dev"
+
python __anonymous () {
has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT') or '0')
if has_vivante_kernel_driver_support != '1':
@@ -154,8 +188,7 @@ IMX_SOC:mx8mq-nxp-bsp = "mx8mq"
IMX_SOC:mx8mn-nxp-bsp = "mx8mn"
IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp"
-LIBVULKAN_VERSION_MAJOR = "1"
-LIBVULKAN_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.1"
+LIBVULKAN_API_VERSION = "1.3.239"
do_install () {
install -d ${D}${libdir}
@@ -170,6 +203,7 @@ do_install () {
# Use vulkan header from vulkan-headers recipe to support vkmark
rm -rf ${D}${includedir}/vulkan/
+ # Install SOC-specific drivers
if [ -d ${S}/gpu-core/usr/lib/${IMX_SOC} ]; then
cp -r ${S}/gpu-core/usr/lib/${IMX_SOC}/* ${D}${libdir}
fi
@@ -179,38 +213,78 @@ do_install () {
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
fi
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
+
+ # Install backend-specific drivers
if [ "${BACKEND}" = "wayland" ]; then
+ # Wayland backend
+ if ! ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)}; then
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gl.pc ${D}${libdir}/pkgconfig/gl.pc
+ fi
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
- else
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
+ cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir}
+ elif [ "${IS_MX8}" != "1" ]; then
+ # Framebuffer backend for i.MX 6 and 7
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc
+ cp -r ${S}/gpu-core/usr/lib/fb/* ${D}${libdir}
+ else
+ # Framebuffer backend for i.MX 8 and beyond
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/egl.pc
+ cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir}
+ set -f
+ for f in ${FILES:libvdk-imx} ${FILES:libvdk-imx-dev}; do
+ set +f
+ rm -rf ${D}/$f
+ done
+ rm -rf \
+ ${D}/opt/viv_samples/es20 \
+ ${D}/opt/viv_samples/tiger \
+ ${D}/opt/viv_samples/vdk
fi
-
- # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader)
- install -d ${D}${sysconfdir}/OpenCL/vendors/
- install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
-
- # Handle backend specific drivers
- cp -r ${S}/gpu-core/usr/lib/${BACKEND}/* ${D}${libdir}
if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then
# Special case for libVDK on Wayland backend, deliver fb library as well.
cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0
fi
+
+ if [ -z "${PACKAGES_OPENCL}" ]; then
+ set -f
+ for f in ${FILES:libopencl-imx} ${FILES:libopencl-imx-dev} ${FILES:libclc-imx}; do
+ set +f
+ rm -rf ${D}$f
+ done
+ rm -rf ${D}/opt/viv_samples/cl11
+ else
+ # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader)
+ install -d ${D}${sysconfdir}/OpenCL/vendors/
+ install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
+
+ if [ "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" = "" ]; then
+ rm -f ${D}${includedir}/CL/cl_viv_vx_ext.h
+ fi
+ fi
+
+ if [ -z "${PACKAGES_OPENVX}" ]; then
+ set -f
+ for f in ${FILES:libopenvx-imx} ${FILES:libopenvx-imx-dev}; do
+ set +f
+ rm -rf ${D}$f
+ done
+ fi
+
if [ "${IS_MX8}" = "1" ]; then
- # Rename the vulkan implementation library which is wrapped by the vulkan-loader
- # library of the same name
- MAJOR=${LIBVULKAN_VERSION_MAJOR}
- FULL=${LIBVULKAN_VERSION}
- mv ${D}${libdir}/libvulkan.so.$FULL ${D}${libdir}/libvulkan_VSI.so.$FULL
- patchelf --set-soname libvulkan_VSI.so.$MAJOR ${D}${libdir}/libvulkan_VSI.so.$FULL
- rm ${D}${libdir}/libvulkan.so.$MAJOR ${D}${libdir}/libvulkan.so
- ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so.$MAJOR
- ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so
+ if [ -z "${PACKAGES_VULKAN}" ]; then
+ set -f
+ for f in ${FILES:libvulkan-imx} ${FILES:libvulkan-imx-dev}; do
+ set +f
+ rm -rf ${D}$f
+ done
+ else
+ install -Dm 0644 ${WORKDIR}/imx_icd.json ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
+ sed -i "s,%libdir%,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
+ sed -i "s,%api_version%,${LIBVULKAN_API_VERSION}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
+ fi
fi
# FIXME: MX6SL does not have 3D support; hack it for now
@@ -239,18 +313,35 @@ do_install () {
chown -R root:root "${D}"
}
+do_install:append:libc-musl() {
+ # libs
+ for f in `find ${D}${libdir} -name '*.so*' -type f`
+ do
+ patchelf --add-needed libgcompat.so.0 $f
+ done
+ # binaries
+ for f in `find ${D}/opt ${D}${bindir} -name '*' -type f -executable`
+ do
+ # prune scripts
+ if `patchelf --print-interpreter $f 2>&1 > /dev/null`
+ then
+ patchelf --set-interpreter ${root_prefix}`patchelf --print-interpreter $f` $f
+ patchelf --add-needed libgcompat.so.0 $f
+ fi
+ done
+}
+
ALLOW_EMPTY:${PN} = "1"
-FILES:libclc-imx = "${libdir}/libCLC${SOLIBS} ${includedir}/CL/cl_viv_vx_ext.h"
-FILES:libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
+FILES:libclc-imx = "${libdir}/libCLC${SOLIBS}"
+FILES:libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBS} "
+FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
# libEGL.so is used by some demo apps from Freescale
INSANE_SKIP:libegl-imx += "dev-so"
-FILES:libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
-FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
-FILES:libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
+FILES:libgal-imx-dev = "${includedir}/HAL"
RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
RPROVIDES:libgal-imx += "libgal-imx"
RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv"
@@ -258,14 +349,20 @@ INSANE_SKIP:libgal-imx += "build-deps"
FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}"
-FILES:libgbm-imx:mx8-nxp-bsp = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}"
-FILES:libgbm-imx-dev:mx8-nxp-bsp = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
-RDEPENDS:libgbm-imx:append:mx8-nxp-bsp = " libdrm"
+FILES:libgbm-imx = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBS} ${libdir}/libgbm_viv${SOLIBS}"
+FILES:libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
+RDEPENDS:libgbm-imx:append = " libdrm"
INSANE_SKIP:libgbm-imx += "dev-so"
-FILES:libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}"
+FILES:libvulkan-imx = "\
+ ${libdir}/libvulkan_VSI${REALSOLIBS} \
+ ${sysconfdir}/vulkan"
FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
+FILES:libspirv-imx = " \
+ ${libdir}/libSPIRV_viv${SOLIBS} \
+"
+
FILES:libopenvx-imx = " \
${libdir}/libOpenVX${REALSOLIBS} \
${libdir}/libOpenVXC${SOLIBS} \
@@ -274,27 +371,33 @@ FILES:libopenvx-imx = " \
${libdir}/libArchModelSw${SOLIBS} \
"
FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
-RDEPENDS:libopenvx-imx = "libnn-imx"
-
+RDEPENDS:libopenvx-imx = "libnn-imx ${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}"
+OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = ""
+OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev"
+OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev"
+INSANE_SKIP:libopenvx-imx += "dev-deps"
+
+FILES:libgl-imx = "${libdir}/libGL${REALSOLIBS} ${libdir}/libGL${SOLIBS}"
+FILES:libgl-imx-dev = "${includedir}/GL ${libdir}/pkgconfig/gl.pc"
# libGL is only targeting X11 backend, and in case if Wayland-only is used -
# package QA complains on missing RDEPENDS, which are only available for X11.
# Skip "file-rdeps" QA for this package.
-FILES:libgl-imx = "${libdir}/libGL${REALSOLIBS}"
-FILES:libgl-imx-dev = "${libdir}/libGL${SOLIBSDEV} ${includedir}/GL"
INSANE_SKIP:libgl-imx += "file-rdeps"
+# libEGL does dlopen of libGL.so
+INSANE_SKIP:libgl-imx += "dev-so"
-# libEGL needs to open libGLESv1.so
-INSANE_SKIP:libgles1-imx += "dev-so"
FILES:libgles1-imx = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${REALSOLIBS} ${libdir}/libGLES_*${SOLIBS}"
-FILES:libgles1-imx-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
+FILES:libgles1-imx-dev = "${includedir}/GLES ${libdir}/pkgconfig/glesv1_cm.pc"
RPROVIDES:libgles1-imx = "libgles-imx"
RPROVIDES:libgles1-imx-dev = "libgles-imx-dev"
+# libEGL does dlopen of libGLESv1.so
+INSANE_SKIP:libgles1-imx += "dev-so"
-# libEGL needs to open libGLESv2.so
-INSANE_SKIP:libgles2-imx += "dev-so"
FILES:libgles2-imx = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
-FILES:libgles2-imx-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
+FILES:libgles2-imx-dev = "${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
RDEPENDS:libgles2-imx = "libglslc-imx"
+# libEGL does dlopen of libGLESv2.so
+INSANE_SKIP:libgles2-imx += "dev-so"
FILES:libgles3-imx-dev = "${includedir}/GLES3"
# as long as there is no libgles3: ship libgles3-dev along with
@@ -302,7 +405,6 @@ FILES:libgles3-imx-dev = "${includedir}/GLES3"
RDEPENDS:libgles2-imx-dev += "libgles3-imx-dev"
FILES:libglslc-imx = "${libdir}/libGLSLC${SOLIBS}"
-FILES:libglslc-imx-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
${libdir}/libVivanteOpenCL${SOLIBS} \
@@ -311,8 +413,10 @@ FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
RDEPENDS:libopencl-imx= "libclc-imx"
-FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS}"
-FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
+FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}"
+FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc"
+# libEGL does dlopen of libOpenVG.so
+INSANE_SKIP:libopenvg-imx += "dev-so"
FILES:libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
FILES:libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
@@ -323,3 +427,8 @@ FILES:imx-gpu-viv-demos = "/opt"
INSANE_SKIP:imx-gpu-viv-demos += "rpaths dev-deps"
FILES:libnn-imx = "${libdir}/libNN*${SOLIBS}"
+
+# It will use gcompat at runtime therefore checking for these at compile time wont be useful as
+# they dont match musl/gcompat but it should run fine
+INSANE_SKIP:append:libc-musl = " file-rdeps"
+
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json b/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
new file mode 100644
index 00000000..21d83f94
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
@@ -0,0 +1,7 @@
+{
+ "file_format_version": "1.0.0",
+ "ICD": {
+ "library_path": "%libdir%/libvulkan_VSI.so.1",
+ "api_version": "%api_version%"
+ }
+}
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch32.bb
new file mode 100644
index 00000000..07a92246
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch32.bb
@@ -0,0 +1,10 @@
+require imx-gpu-viv-6.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+IMX_SRCREV_ABBREV = "fd0148d"
+
+SRC_URI[md5sum] = "267d3e2d580e264157b7de01df22fb66"
+SRC_URI[sha256sum] = "15efe6da5d4bac2a6067c2a898190be8754df6f14128c3db4756cff59c6da049"
+
+COMPATIBLE_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.2-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch64.bb
new file mode 100644
index 00000000..cea83ddc
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.2-aarch64.bb
@@ -0,0 +1,10 @@
+require imx-gpu-viv-6.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+IMX_SRCREV_ABBREV = "fd0148d"
+
+SRC_URI[md5sum] = "b76784e04f24ec9f2bedf2dd377ed5a8"
+SRC_URI[sha256sum] = "6e34f3718925ba37c362cd09a3228cc56d03cfad323ebae0932f64449dbaeb2e"
+
+COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch32.bb
deleted file mode 100644
index d6cae8b6..00000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch32.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017-2020 NXP
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require imx-gpu-viv-6.inc
-
-SRC_URI[md5sum] = "9abc4e59919b68f81094c194edb525a2"
-SRC_URI[sha256sum] = "5f56e4690287fd4e8480d2c43101ef30383c95d155a3f06beadecad309e684a3"
-
-COMPATIBLE_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.3.p4.0-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch64.bb
deleted file mode 100644
index 81ca2526..00000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.0-aarch64.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require imx-gpu-viv-6.inc
-
-SRC_URI[md5sum] = "20cecb3e5440f63bb6612c740ccfe43a"
-SRC_URI[sha256sum] = "283f2f51cadf5138bd47269a73425a51f69453556fb80f18521da04317e547a8"
-
-COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/libva/libva_%.bbappend b/recipes-graphics/libva/libva_%.bbappend
new file mode 100644
index 00000000..080052f8
--- /dev/null
+++ b/recipes-graphics/libva/libva_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG:remove:imxgpu = "glx"
diff --git a/recipes-graphics/mesa/libglu_%.bbappend b/recipes-graphics/mesa/libglu_%.bbappend
new file mode 100644
index 00000000..96745dd8
--- /dev/null
+++ b/recipes-graphics/mesa/libglu_%.bbappend
@@ -0,0 +1 @@
+REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11"
diff --git a/recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch b/recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch
deleted file mode 100644
index 19bcca98..00000000
--- a/recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 8aba54422d9a77383c150f9f70240b18b6e1918e Mon Sep 17 00:00:00 2001
-From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
-Date: Thu, 9 Apr 2015 15:47:21 -0500
-Subject: [PATCH] Add OpenVG demos to support wayland.
-
-Upstream-Status: Pending
-
-Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
----
- src/egl/Makefile.am | 6 +++---
- src/egl/openvg/Makefile.am | 33 +++++++++++++++++++++++++++++----
- 2 files changed, 32 insertions(+), 7 deletions(-)
-
-Index: mesa-demos-8.2.0/src/egl/Makefile.am
-===================================================================
---- mesa-demos-8.2.0.orig/src/egl/Makefile.am 2016-05-09 11:45:51.479100180 -0500
-+++ mesa-demos-8.2.0/src/egl/Makefile.am 2016-05-09 11:45:51.475100160 -0500
-@@ -26,10 +26,10 @@
- eglut \
- opengles1 \
- opengles2 \
-- oes_vg
-+ oes_vg \
-+ openvg
-
- if HAVE_GLU
- SUBDIRS += \
-- opengl \
-- openvg
-+ opengl
- endif
-Index: mesa-demos-8.2.0/src/egl/openvg/Makefile.am
-===================================================================
---- mesa-demos-8.2.0.orig/src/egl/openvg/Makefile.am 2016-05-09 11:45:51.479100180 -0500
-+++ mesa-demos-8.2.0/src/egl/openvg/Makefile.am 2016-05-09 12:39:30.000000000 -0500
-@@ -47,13 +47,26 @@
- endif
- endif
-
-+if HAVE_WAYLAND
-+EGL_WL_DEMOS = \
-+ lion_wayland \
-+ sp_wayland
-+
-+if HAVE_FREETYPE2
-+EGL_WL_DEMOS += \
-+ vgtext_wayland
-+endif
-+endif
-+
- if HAVE_EGL
- if HAVE_VG
- bin_PROGRAMS = \
-- $(EGL_X11_DEMOS)
-+ $(EGL_X11_DEMOS) \
-+ $(EGL_WL_DEMOS)
- endif
- endif
-
-+if HAVE_X11
- lion_x11_SOURCES = lion.c lion-render.c lion-render.h
- sp_x11_SOURCES = sp.c
-
-@@ -63,6 +76,20 @@
- text_SOURCES = text.c
- text_CFLAGS = $(AM_CFLAGS) @FREETYPE2_CFLAGS@
- text_LDADD = @FREETYPE2_LIBS@ ../eglut/libeglut_x11.la
-+endif
-+
-+if HAVE_WAYLAND
-+lion_wayland_SOURCES = lion.c lion-render.c lion-render.h
-+lion_wayland_LDADD = ../eglut/libeglut_wayland.la
-+
-+sp_wayland_SOURCES = sp.c
-+sp_wayland_LDADD = ../eglut/libeglut_wayland.la
-+
-+vgtext_wayland_SOURCES = text.c
-+vgtext_wayland_CFLAGS = $(AM_CFLAGS) @FREETYPE2_CFLAGS@
-+vgtext_wayland_LDADD = @FREETYPE2_LIBS@ ../eglut/libeglut_wayland.la
-+
-+endif
-
- SUBDIRS = \
- trivial
diff --git a/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
index d899540f..8401793c 100644
--- a/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
+++ b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i
Vivante libGL does not provide the glWindowPos2iARB symbol, but
glWindowPos2i. Use this instead.
-Upstream-Status: Inapropriate [embedded specific]
+Upstream-Status: Inappropriate [embedded specific]
Reported-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
diff --git a/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch b/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
index eb541d65..459a6ebd 100644
--- a/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
+++ b/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
@@ -1,7 +1,8 @@
mesa-demos: Add extension header to fix build break now that gl1 is removed
-Upstream Status: Pending
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
diff --git a/src/egl/opengles1/clear.c b/src/egl/opengles1/clear.c
index 9fe1b5291e1905fd6fe572063ed707d59ce45a81..ca9954a21b5f475709dbdef07f90b900962fcbc7 100644
--- a/src/egl/opengles1/clear.c
diff --git a/recipes-graphics/mesa/mesa-demos_%.bbappend b/recipes-graphics/mesa/mesa-demos_%.bbappend
index 4b518185..ff5d71ae 100644
--- a/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -1,26 +1,23 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-SRC_URI:append:imxgpu = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
- file://fix-clear-build-break.patch \
- file://Add-OpenVG-demos-to-support-wayland.patch"
+SRC_URI:append:imxgpu = " \
+ file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
+ file://fix-clear-build-break.patch"
+REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11"
+
+PACKAGECONFIG:remove = " \
+ ${PACKAGECONFIG_REMOVE_IF_2D_ONLY} \
+ ${PACKAGECONFIG_REMOVE_IF_GPU}"
PACKAGECONFIG_REMOVE_IF_2D_ONLY = ""
PACKAGECONFIG_REMOVE_IF_2D_ONLY:imxgpu2d = "gles1 gles2"
PACKAGECONFIG_REMOVE_IF_2D_ONLY:imxgpu3d = ""
PACKAGECONFIG_REMOVE_IF_GPU = ""
-PACKAGECONFIG_REMOVE_IF_GPU:imxgpu = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'glu x11', '', d)} \
-"
-PACKAGECONFIG:remove = " \
- ${PACKAGECONFIG_REMOVE_IF_2D_ONLY} \
- ${PACKAGECONFIG_REMOVE_IF_GPU} \
-"
+PACKAGECONFIG_REMOVE_IF_GPU:imxgpu = "x11"
-PACKAGECONFIG_APPEND_IF_GPU = ""
-PACKAGECONFIG_APPEND_IF_GPU:imxgpu = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland vg', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glut', '', d)} \
-"
PACKAGECONFIG:append = " \
- ${PACKAGECONFIG_APPEND_IF_GPU} \
-"
+ ${PACKAGECONFIG_APPEND_IF_GPU}"
+PACKAGECONFIG_APPEND_IF_GPU = ""
+PACKAGECONFIG_APPEND_IF_GPU:imxgpu = "glu"
+
+PACKAGECONFIG[glu] = ",,libglu"
diff --git a/recipes-graphics/pango/pango_%.bbappend b/recipes-graphics/pango/pango_%.bbappend
new file mode 100644
index 00000000..bf8c38fc
--- /dev/null
+++ b/recipes-graphics/pango/pango_%.bbappend
@@ -0,0 +1,5 @@
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
+RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat"
diff --git a/recipes-graphics/piglit/piglit_%.bbappend b/recipes-graphics/piglit/piglit_%.bbappend
new file mode 100644
index 00000000..fe2a0bc2
--- /dev/null
+++ b/recipes-graphics/piglit/piglit_%.bbappend
@@ -0,0 +1,6 @@
+PACKAGECONFIG:remove:imxgpu = "glx"
+
+PACKAGECONFIG:append:mx8-nxp-bsp = " opencl"
+PACKAGECONFIG:append:mx9-nxp-bsp = " opencl"
+
+CFLAGS:append:imxgpu:toolchain-clang = " -Wno-error=int-conversion"
diff --git a/recipes-graphics/vulkan/vulkan-loader_%.bbappend b/recipes-graphics/vulkan/vulkan-loader_%.bbappend
deleted file mode 100644
index 90776168..00000000
--- a/recipes-graphics/vulkan/vulkan-loader_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# The i.MX implementation is dynamically loaded, so it requires an
-# explicit runtime dependency.
-RRECOMMENDS:${PN}:append:imxgpu = " libvulkan-imx"
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.239.0.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.239.0.imx.bbappend
new file mode 100644
index 00000000..05f566a8
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_1.3.239.0.imx.bbappend
@@ -0,0 +1,7 @@
+# libvulkan.so is loaded dynamically, so put it in the main package
+SOLIBS = ".so*"
+FILES_SOLIBSDEV = ""
+INSANE_SKIP:${PN} += "dev-so"
+
+# Override default mesa drivers with i.MX GPU drivers
+RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx"
diff --git a/recipes-graphics/waffle/waffle/0001-meson-Add-missing-wayland-dependency-on-EGL.patch b/recipes-graphics/waffle/waffle/0001-meson-Add-missing-wayland-dependency-on-EGL.patch
index 5f587d84..6f4be031 100644
--- a/recipes-graphics/waffle/waffle/0001-meson-Add-missing-wayland-dependency-on-EGL.patch
+++ b/recipes-graphics/waffle/waffle/0001-meson-Add-missing-wayland-dependency-on-EGL.patch
@@ -14,9 +14,11 @@ Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
meson.build | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---- a/meson.build
-+++ b/meson.build
-@@ -63,6 +63,7 @@ dep_gl = _dep_null
+Index: git/meson.build
+===================================================================
+--- git.orig/meson.build
++++ git/meson.build
+@@ -65,6 +65,7 @@ dep_gl = _dep_null
dep_egl = _dep_null
dep_wayland_client = _dep_null
dep_wayland_egl = _dep_null
@@ -24,7 +26,7 @@ Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
dep_wayland_scanner = _dep_null
dep_wayland_proto = _dep_null
dep_x11_xcb = _dep_null
-@@ -104,7 +105,8 @@ else
+@@ -106,7 +107,8 @@ else
dep_wayland_client = dependency(
'wayland-client', version : '>= 1.10', required : get_option('wayland'),
)
@@ -34,8 +36,8 @@ Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
'wayland-egl', version : '>= 9.1', required : get_option('wayland'),
)
dep_wayland_scanner = dependency(
-@@ -120,7 +122,7 @@ else
- wayland_xdg_shell_xml = join_paths(dep_wayland_proto.get_pkgconfig_variable('pkgdatadir'),
+@@ -124,7 +126,7 @@ else
+ wayland_xdg_shell_xml = join_paths(dep_wayland_proto.get_variable(pkgconfig: 'pkgdatadir'),
'stable/xdg-shell/xdg-shell.xml')
endif
- build_wayland = dep_egl.found() and dep_wayland_client.found() and dep_wayland_egl.found() and dep_wayland_scanner.found() and dep_wayland_proto.found()
diff --git a/recipes-graphics/wayland/required-distro-features.inc b/recipes-graphics/wayland/required-distro-features.inc
new file mode 100644
index 00000000..bb4a0e8e
--- /dev/null
+++ b/recipes-graphics/wayland/required-distro-features.inc
@@ -0,0 +1,8 @@
+# distro features required by weston recipes
+
+inherit features_check
+
+# requires pam enabled if started via systemd
+#
+REQUIRED_DISTRO_FEATURES = "wayland opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+
diff --git a/recipes-graphics/wayland/wayland-protocols_1.25.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
index be6cbdb0..6b2a7091 100644
--- a/recipes-graphics/wayland/wayland-protocols_1.25.imx.bb
+++ b/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
@@ -6,11 +6,12 @@ protocol either in Wayland core, or some other protocol in \
wayland-protocols."
HOMEPAGE = "http://wayland.freedesktop.org"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7b12b6702da38ca028ace54aae3d484 \
file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
-SRC_URI = "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.25"
-SRCREV = "a104fb66d1b899dc04077422c2204638675ee4a6"
+SRC_URI = "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-${@oe.utils.trim_version("${PV}", 2)}"
+SRCREV = "7ece577d467f8afb2f5a2f7fff3761a1e0ee9dad"
+
S = "${WORKDIR}/git"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
@@ -24,5 +25,7 @@ EXTRA_OEMESON += "-Dtests=false"
PACKAGES = "${PN}"
FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
+BBCLASSEXTEND = "native nativesdk"
+
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)"
+COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp|mx9-nxp-bsp)"
diff --git a/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch
new file mode 100644
index 00000000..bc753de1
--- /dev/null
+++ b/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch
@@ -0,0 +1,41 @@
+From b4c64b6f07743e3fb63ce52359bc664ab7d60df0 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Thu, 20 Feb 2020 15:20:45 -0600
+Subject: [PATCH] build: Fix strndup detection on MinGW
+
+GCC and meson conspire together to incorrectly detect that strndup()
+exists on MinGW as __builtin_strndup, when no such function exists. As a
+work around, meson will skip looking for __builtin functions if an
+'#include' is in the prefix, so add '#include <string.h>' when looking
+for strndup().
+
+See: https://github.com/mesonbuild/meson/issues/3672
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63]
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+Signed-off-by: Denys Dmytriyenko <denis@denix.org>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 3bc25c9..adde7b9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -38,11 +38,11 @@ have_funcs = [
+ 'prctl',
+ 'memfd_create',
+ 'mremap',
+- 'strndup',
+ ]
+ foreach f: have_funcs
+ config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f))
+ endforeach
++config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup'))
+ config_h.set10('HAVE_XUCRED_CR_PID', cc.has_member('struct xucred', 'cr_pid', prefix : '#include <sys/ucred.h>'))
+ have_broken_msg_cmsg_cloexec = false
+ if host_machine.system() == 'freebsd'
+--
+2.7.4
+
diff --git a/recipes-graphics/wayland/wayland/run-ptest b/recipes-graphics/wayland/wayland/run-ptest
new file mode 100644
index 00000000..7e8d9de0
--- /dev/null
+++ b/recipes-graphics/wayland/wayland/run-ptest
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+export WAYLAND_SCANNER=wayland-scanner
+export TEST_DATA_DIR=tests/data
+export TEST_OUTPUT_DIR=tests/output
+export SED=sed
+export WAYLAND_EGL_LIB=/usr/lib/libwayland-egl.so.1
+export NM=nm
+
+for i in `ls tests/*-test tests/wayland-egl-symbols-check tests/scanner-test.sh`; do
+ $i
+ if [ $? -eq 0 ]; then
+ echo "PASS: $i"
+ else
+ echo "FAIL: $i"
+ fi
+done
diff --git a/recipes-graphics/wayland/wayland_1.22.0.imx.bb b/recipes-graphics/wayland/wayland_1.22.0.imx.bb
new file mode 100644
index 00000000..eb1066c8
--- /dev/null
+++ b/recipes-graphics/wayland/wayland_1.22.0.imx.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Wayland, a protocol between a compositor and clients"
+DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
+as well as a C library implementation of that protocol. The compositor can be \
+a standalone display server running on Linux kernel modesetting and evdev \
+input devices, an X application, or a wayland client itself. The clients can \
+be traditional applications, X servers (rootless or fullscreen) or other \
+display servers."
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
+ file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
+
+DEPENDS = "expat libffi wayland-native"
+
+SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.22.0/downloads/${BP_ORIGINAL}.tar.xz \
+ file://run-ptest \
+ file://0001-build-Fix-strndup-detection-on-MinGW.patch \
+ "
+SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842"
+BP_ORIGINAL = "${BPN}-1.22.0"
+S = "${WORKDIR}/${BP_ORIGINAL}"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
+
+inherit meson pkgconfig ptest
+
+PACKAGECONFIG ??= "dtd-validation"
+PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
+
+EXTRA_OEMESON = "-Ddocumentation=false"
+EXTRA_OEMESON:class-native = "-Ddocumentation=false"
+
+# Wayland installs a M4 macro for other projects to use, which uses the target
+# pkg-config to find files. Replace pkg-config with pkg-config-native.
+do_install:append:class-native() {
+ sed -e 's,PKG_CHECK_MODULES(.*),,g' \
+ -e 's,$PKG_CONFIG,pkg-config-native,g' \
+ -i ${D}/${datadir}/aclocal/wayland-scanner.m4
+}
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/tests/data
+ cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests
+ cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH}
+ cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/
+ cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
+}
+
+sysroot_stage_all:append:class-target () {
+ rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
+ cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
+}
+
+PACKAGES =+ "${PN}-tools"
+
+FILES:${PN}-tools = "${bindir}/wayland-scanner"
+FILES:${PN}-dev += "${datadir}/${BPN}/wayland-scanner.mk"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN}-ptest += "binutils sed ${PN}-tools"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+
+DEFAULT_PREFERENCE = "-1"
diff --git a/recipes-graphics/wayland/weston-10.0.4.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch b/recipes-graphics/wayland/weston-10.0.4.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch
new file mode 100644
index 00000000..59f2a4b6
--- /dev/null
+++ b/recipes-graphics/wayland/weston-10.0.4.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch
@@ -0,0 +1,41 @@
+From 77eba6f6b04ff21b77c41500657495b4fd12a5f6 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Mon, 11 Jul 2022 19:38:19 +0000
+Subject: [PATCH] Revert "protocol: no found wayland-scanner with Yocto
+ toolchain"
+
+This reverts commit 7859a762617682bd804e210ad3bda6bdcd3ea24a.
+
+With openembedded commit e525db4eb9 ("wayland: update 1.20.0 -> 1.21.0")
+package config seems no longer to provide the path to the native
+weston scanner.
+
+Thus the build fails with:
+
+| Run-time dependency wayland-scanner found: YES 1.21.0
+| Program /usr/bin/wayland-scanner found: NO
+|
+| ../git/protocol/meson.build:2:0: ERROR: Program '/usr/bin/wayland-scanner' not found or not executable
+
+Dropping weston 9.0.0-imx commit 7859a762 (protocol: no found
+wayland-scanner with Yocto toolchain") fixes the issue.
+
+Upstream-Status: Inappropriate [Cross-compile Specific]
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ protocol/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/protocol/meson.build b/protocol/meson.build
+index bdd322ac..e50b23bb 100644
+--- a/protocol/meson.build
++++ b/protocol/meson.build
+@@ -1,4 +1,4 @@
+-dep_scanner = dependency('wayland-scanner', native: false)
++dep_scanner = dependency('wayland-scanner', native: true)
+ prog_scanner = find_program(dep_scanner.get_pkgconfig_variable('wayland_scanner'))
+
+ dep_wp = dependency('wayland-protocols', version: '>= 1.24')
+--
+2.17.1
+
diff --git a/recipes-graphics/wayland/weston-10.0.4.imx/0001-g2d-renderer.c-Include-sys-stat.h.patch b/recipes-graphics/wayland/weston-10.0.4.imx/0001-g2d-renderer.c-Include-sys-stat.h.patch
new file mode 100644
index 00000000..b9cb31fb
--- /dev/null
+++ b/recipes-graphics/wayland/weston-10.0.4.imx/0001-g2d-renderer.c-Include-sys-stat.h.patch
@@ -0,0 +1,34 @@
+From 4afe9b2f9ef24ce0c9bf1cd41f94ca45afa4f445 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Sep 2022 20:58:14 -0700
+Subject: [PATCH] g2d-renderer.c: Include sys/stat.h
+
+This is needed for getting stat() prototype, its flagged with clang-15
+as error.
+
+| ../git/libweston/renderer-g2d/g2d-renderer.c:2057:6: error: call to undeclared function 'stat'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+| if (stat(gr->drm_device, &dev_stat) != 0) {
+| ^
+| 1 error generated.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libweston/renderer-g2d/g2d-renderer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libweston/renderer-g2d/g2d-renderer.c b/libweston/renderer-g2d/g2d-renderer.c
+index f59fc4ee..36a458fc 100644
+--- a/libweston/renderer-g2d/g2d-renderer.c
++++ b/libweston/renderer-g2d/g2d-renderer.c
+@@ -41,6 +41,7 @@
+ #include <drm_fourcc.h>
+ #include <poll.h>
+ #include <errno.h>
++#include <sys/stat.h> /* stat() */
+
+ #include <libweston/libweston.h>
+ #include "g2d-renderer.h"
+--
+2.37.3
+
diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend
index 4ba6cba7..9d04df23 100644
--- a/recipes-graphics/wayland/weston-init.bbappend
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -8,46 +8,86 @@ REQUIRED_DISTRO_FEATURES:remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
SRC_URI:append:mx6sl-nxp-bsp = " file://weston.config"
-# To customize weston.ini, start by setting the desired assignment in weston.ini,
-# commented out. For example:
-# #xwayland=true
-# Then add the assignment to INI_UNCOMMENT_ASSIGNMENTS.
-INI_UNCOMMENT_ASSIGNMENTS:append:imx-nxp-bsp = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland=true', '', d)} \
-"
-INI_UNCOMMENT_ASSIGNMENTS:append:mx8-nxp-bsp = " \
- repaint-window=16 \
-"
-INI_UNCOMMENT_ASSIGNMENTS:append:mx8mq-nxp-bsp = " \
- gbm-format=argb8888 \
- \\[shell\\] \
- size=1920x1080 \
+PACKAGECONFIG ??= " \
+ no-idle-timeout \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)} \
+ ${PACKAGECONFIG_GBM_FORMAT} \
+ ${PACKAGECONFIG_REPAINT_WINDOW} \
+ ${PACKAGECONFIG_SIZE} \
+ ${PACKAGECONFIG_USE_G2D} \
"
-# FIXME: The 8QM and 8QXP SoCs have better performance without G2D so don't enable it
-# Ideally, this should be seamless and Vivante ought to handle it internally and take the fastest
-# rendering code.
-INI_UNCOMMENT_USE_G2D:imxgpu2d ?= "use-g2d=1"
-INI_UNCOMMENT_USE_G2D:mx8qm-nxp-bsp = ""
-INI_UNCOMMENT_USE_G2D:mx8qxp-nxp-bsp = ""
-INI_UNCOMMENT_USE_G2D:mx8dx-nxp-bsp = ""
-INI_UNCOMMENT_ASSIGNMENTS:append:imxgpu2d = " \
- ${INI_UNCOMMENT_USE_G2D} \
-"
+# Mainline BSPs dont support xwayland
+PACKAGECONFIG:remove:use-mainline-bsp = "xwayland"
-uncomment() {
- if ! grep -q "^#$1" $2 && ! grep -q "^$1" $2; then
- bbwarn "Commented setting '#$1' not found in file $2"
- fi
- sed -i -e 's,^#'"$1"','"$1"',g' $2
-}
+PACKAGECONFIG_GBM_FORMAT ?= ""
+PACKAGECONFIG_GBM_FORMAT:mx8mq-nxp-bsp ?= "gbm-format"
+PACKAGECONFIG_GBM_FORMAT:mx93-nxp-bsp ?= "gbm-format"
+
+GBM_FORMAT_VALUE:mx8mq-nxp-bsp = "argb8888"
+GBM_FORMAT_VALUE:mx93-nxp-bsp = "argb8888"
+
+PACKAGECONFIG_REPAINT_WINDOW ?= ""
+PACKAGECONFIG_REPAINT_WINDOW:mx8-nxp-bsp ?= "repaint-window"
+PACKAGECONFIG_REPAINT_WINDOW:mx9-nxp-bsp ?= "repaint-window"
+
+PACKAGECONFIG_SIZE ?= ""
+PACKAGECONFIG_SIZE:mx8mq-nxp-bsp ?= "size"
+
+SIZE_VALUE:mx8mq-nxp-bsp = "1920x1080"
+
+HAS_G2D = "false"
+HAS_G2D:imxgpu2d = "true"
+
+PACKAGECONFIG_USE_G2D ?= ""
+PACKAGECONFIG_USE_G2D:imxgpu2d ?= "use-g2d"
+PACKAGECONFIG_USE_G2D:mx8qm-nxp-bsp ?= ""
+PACKAGECONFIG_USE_G2D:mx8qxp-nxp-bsp ?= ""
+PACKAGECONFIG_USE_G2D:mx8dx-nxp-bsp ?= ""
+PACKAGECONFIG_USE_G2D:mx93-nxp-bsp ?= "use-g2d"
+
+USE_G2D_VALUE = "true"
+USE_G2D_VALUE:mx6-nxp-bsp = "1"
+USE_G2D_VALUE:mx7-nxp-bsp = "1"
+
+PACKAGECONFIG[gbm-format] = ",,"
+PACKAGECONFIG[rdp] = ",,"
+PACKAGECONFIG[repaint-window] = ",,"
+PACKAGECONFIG[size] = ",,"
+PACKAGECONFIG[use-g2d] = ",,"
+PACKAGECONFIG[xwayland] = ",,"
do_install:append() {
if [ -f "${WORKDIR}/weston.config" ]; then
install -Dm0755 ${WORKDIR}/weston.config ${D}${sysconfdir}/default/weston
fi
- for assignment in ${INI_UNCOMMENT_ASSIGNMENTS}; do
- uncomment "$assignment" ${D}${sysconfdir}/xdg/weston/weston.ini
- done
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'gbm-format', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[core\]/a gbm-format=${GBM_FORMAT_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'rdp', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "s|^command=${bindir}/weston .*|& --rdp-tls-cert=${sysconfdir}/freerdp/keys/server.crt --rdp-tls-key=${sysconfdir}/freerdp/keys/server.key|" ${D}${sysconfdir}/xdg/weston/weston.ini
+ sed -i -e "/^\[core\]/a modules=screen-share.so" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'repaint-window', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[core\]/a repaint-window=16" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'size', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[shell\]/a size=${SIZE_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-g2d', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[core\]/a use-g2d=${USE_G2D_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ elif ${HAS_G2D}; then
+ sed -i -e "/^\[core\]/a #use-g2d=${USE_G2D_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "no" ]; then
+ sed -i -e "s/^xwayland=true/#xwayland=true/g" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
sed -i -e 's,@bindir@,${bindir},g' ${D}${sysconfdir}/xdg/weston/weston.ini
}
diff --git a/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini b/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
index 3e8be42f..19e6ad24 100644
--- a/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
+++ b/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
@@ -1,14 +1,7 @@
[core]
-#gbm-format=argb8888
-idle-time=0
-#use-g2d=1
-#xwayland=true
-#repaint-window=16
#enable-overlay-view=1
-modules=screen-share.so
-#[shell]
-#size=1920x1080
+[shell]
[libinput]
touchscreen_calibrator=true
@@ -28,4 +21,5 @@ touchscreen_calibrator=true
#transform=rotate-90
[screen-share]
-command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key
+command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
+#start-on-startup=true
diff --git a/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch b/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch
new file mode 100644
index 00000000..25a4770f
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch
@@ -0,0 +1,41 @@
+From 3aa4024ac4107e68552be4dfe5fce511900629c9 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Mon, 11 Jul 2022 19:38:19 +0000
+Subject: [PATCH] Revert "protocol: no found wayland-scanner with Yocto
+ toolchain"
+
+This reverts commit 7859a762617682bd804e210ad3bda6bdcd3ea24a.
+
+With openembedded commit e525db4eb9 ("wayland: update 1.20.0 -> 1.21.0")
+package config seems no longer to provide the path to the native
+weston scanner.
+
+Thus the build fails with:
+
+| Run-time dependency wayland-scanner found: YES 1.21.0
+| Program /usr/bin/wayland-scanner found: NO
+|
+| ../git/protocol/meson.build:2:0: ERROR: Program '/usr/bin/wayland-scanner' not found or not executable
+
+Dropping weston 9.0.0-imx commit 7859a762 (protocol: no found
+wayland-scanner with Yocto toolchain") fixes the issue.
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ protocol/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/protocol/meson.build b/protocol/meson.build
+index e8698530..ba52089b 100644
+--- a/protocol/meson.build
++++ b/protocol/meson.build
+@@ -1,4 +1,4 @@
+-dep_scanner = dependency('wayland-scanner', native: false)
++dep_scanner = dependency('wayland-scanner', native: true)
+ prog_scanner = find_program(dep_scanner.get_pkgconfig_variable('wayland_scanner'))
+
+ dep_wp = dependency('wayland-protocols', version: '>= 1.26',
+--
+2.25.1
+
diff --git a/recipes-graphics/wayland/weston/0001-g2d-renderer-Add-vsync-to-cloned-displays.patch b/recipes-graphics/wayland/weston/0001-g2d-renderer-Add-vsync-to-cloned-displays.patch
deleted file mode 100644
index fb2d47bf..00000000
--- a/recipes-graphics/wayland/weston/0001-g2d-renderer-Add-vsync-to-cloned-displays.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From b719011b7c015e2d6f0108c9d0709b98d21d6a89 Mon Sep 17 00:00:00 2001
-From: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
-Date: Mon, 21 Mar 2022 12:37:18 +0100
-Subject: [PATCH] g2d-renderer: Add vsync to cloned displays.
-
-When using g2d clone mode allocates additional surfaces according to
-FB_MULTI_BUFFER for each cloned display. The g2d blit from the main screen
-to the cloned displays is done using inactive surface. The FBIOPAN_DISPLAY
-ioctl to the surface is done afterwards.
-
-Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
----
- libweston/renderer-g2d/g2d-renderer.c | 33 +++++++++++++++++++++------
- 1 file changed, 26 insertions(+), 7 deletions(-)
-
-diff --git a/libweston/renderer-g2d/g2d-renderer.c b/libweston/renderer-g2d/g2d-renderer.c
-index 34a077b7..3e6395d6 100644
---- a/libweston/renderer-g2d/g2d-renderer.c
-+++ b/libweston/renderer-g2d/g2d-renderer.c
-@@ -525,6 +525,7 @@ g2d_blit_surface(void *handle, struct g2d_surfaceEx * srcG2dSurface, struct g2d_
- static void
- g2d_flip_surface(struct weston_output *output)
- {
-+ int i;
- struct g2d_output_state *go = get_output_state(output);
- go->fb_info.varinfo.yoffset = go->activebuffer * go->fb_info.y_resolution;
-
-@@ -532,6 +533,16 @@ g2d_flip_surface(struct weston_output *output)
- {
- weston_log("FBIOPAN_DISPLAY Failed\n");
- }
-+
-+ for (i = 0; i < go->clone_display_num; i++)
-+ {
-+ go->mirror_fb_info[i].varinfo.yoffset = go->activebuffer * go->mirror_fb_info[i].y_resolution;
-+ if(ioctl(go->mirror_fb_info[i].fb_fd, FBIOPAN_DISPLAY, &(go->mirror_fb_info[i].varinfo)) < 0)
-+ {
-+ weston_log("FBIOPAN_DISPLAY clone %d Failed\n", i);
-+ }
-+ }
-+
- go->activebuffer = (go->activebuffer + 1) % go->nNumBuffers;
- }
-
-@@ -571,17 +582,18 @@ copy_to_framebuffer(struct weston_output *output, pixman_region32_t* output_dama
- int i = 0;
- for(i = 0; i < go->clone_display_num; i++)
- {
-+ int idx = i * go->nNumBuffers + go->activebuffer;
- g2dRECT srcRect = {0, 0, go->renderSurf[go->activebuffer].base.width, go->renderSurf[go->activebuffer].base.height};
-- g2dRECT dstrect = {0, 0, go->mirrorSurf[i].base.width, go->mirrorSurf[i].base.height};
-+ g2dRECT dstrect = {0, 0, go->mirrorSurf[idx].base.width, go->mirrorSurf[idx].base.height};
- if(go->directBlit || go->nNumBuffers > 1)
- {
- g2d_blit_surface(gr->handle, &go->renderSurf[go->activebuffer],
-- &go->mirrorSurf[i], &srcRect, &dstrect);
-+ &go->mirrorSurf[idx], &srcRect, &dstrect);
- }
- else
- {
- g2d_blit_surface(gr->handle, &go->offscreenSurface,
-- &go->mirrorSurf[i], &srcRect, &dstrect);
-+ &go->mirrorSurf[idx], &srcRect, &dstrect);
- }
- }
- }
-@@ -2113,6 +2125,7 @@ g2d_fbdev_renderer_output_create(struct weston_output *output,
- int clone_display_num = 0;
- int count = 0;
- int k=0, dispCount = 0;
-+ int offset = 0;
- char displays[5][32];
- weston_log("g2d_renderer_output_create device=%s\n", device);
- count = strlen(device);
-@@ -2166,7 +2179,7 @@ g2d_fbdev_renderer_output_create(struct weston_output *output,
-
- if(go->clone_display_num)
- {
-- go->mirrorSurf = zalloc(sizeof(struct g2d_surfaceEx) * clone_display_num);
-+ go->mirrorSurf = zalloc(sizeof(struct g2d_surfaceEx) * clone_display_num * go->nNumBuffers);
- go->mirror_fb_info = zalloc(sizeof(struct fb_screeninfo) * clone_display_num);
- if(go->mirrorSurf == NULL || go->mirror_fb_info == NULL)
- return -1;
-@@ -2178,9 +2191,15 @@ g2d_fbdev_renderer_output_create(struct weston_output *output,
- weston_log("Open frame buffer failed.\n");
- return -1;
- }
-- get_G2dSurface_from_screeninfo(&go->mirror_fb_info[i], &go->mirrorSurf[i]);
-- go->mirrorSurf[i].base.planes[0] = go->mirror_fb_info[i].physical;
-- g2d_clear(gr->handle, &go->mirrorSurf[i].base);
-+
-+ offset = go->mirror_fb_info[i].stride_bytes * go->mirror_fb_info[i].y_resolution;
-+ for(k = 0; k < go->nNumBuffers; k++)
-+ {
-+ int idx = i * go->nNumBuffers + k;
-+ get_G2dSurface_from_screeninfo(&go->mirror_fb_info[i], &go->mirrorSurf[idx]);
-+ go->mirrorSurf[idx].base.planes[0] = go->mirror_fb_info[i].physical + (offset * k);
-+ g2d_clear(gr->handle, &go->mirrorSurf[idx].base);
-+ }
- }
- }
- g2d_finish(gr->handle);
diff --git a/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
deleted file mode 100644
index db640055..00000000
--- a/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 4be82f75a47bd456452ab713d7d57a75d844f42a Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Thu, 1 Apr 2021 00:12:00 +0300
-Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at
- DRM-backend tear down
-
-Tearing down the drm-backend when there are no input devices, would call
-for the gbm device destruction before compositor shutdown. The latter
-would call into the renderer detroy function and assume that the
-EGLDisplay, which was created using the before-mentioned gbm device, is
-still available. This patch re-orders the gbm destruction after the
-compositor shutdown when no one would make use of it.
-
-Fixes: #314
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-Suggested-by: Daniel Stone <daniel.stone@collabora.com>
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb]
----
- libweston/backend-drm/drm.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
-index 9d3b5dcc..67834d3e 100644
---- a/libweston/backend-drm/drm.c
-+++ b/libweston/backend-drm/drm.c
-@@ -3402,10 +3402,6 @@ err_drm_source:
- wl_event_source_remove(b->drm_source);
- err_udev_input:
- udev_input_destroy(&b->input);
--#ifdef BUILD_DRM_GBM
-- if (b->gbm)
-- gbm_device_destroy(b->gbm);
--#endif
- destroy_sprites(b);
- err_udev_dev:
- udev_device_unref(drm_device);
-@@ -3415,6 +3411,10 @@ err_launcher:
- weston_launcher_destroy(compositor->launcher);
- err_compositor:
- weston_compositor_shutdown(compositor);
-+#ifdef BUILD_DRM_GBM
-+ if (b->gbm)
-+ gbm_device_destroy(b->gbm);
-+#endif
- free(b);
- return NULL;
- }
---
-2.17.1
-
diff --git a/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
deleted file mode 100644
index 06e0f7ba..00000000
--- a/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a2ba4714a6872e547621d29d9ddcb0f374b88cf6 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 20 Apr 2021 20:42:18 -0700
-Subject: [PATCH] meson.build: fix incorrect header
-
-The wayland.c actually include 'xdg-shell-client-protocol.h' instead of
-the server one, so fix it. Otherwise, it's possible to get build failure
-due to race condition.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- libweston/backend-wayland/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libweston/backend-wayland/meson.build b/libweston/backend-wayland/meson.build
-index 7e82513..29270b5 100644
---- a/libweston/backend-wayland/meson.build
-+++ b/libweston/backend-wayland/meson.build
-@@ -10,7 +10,7 @@ srcs_wlwl = [
- fullscreen_shell_unstable_v1_protocol_c,
- presentation_time_protocol_c,
- presentation_time_server_protocol_h,
-- xdg_shell_server_protocol_h,
-+ xdg_shell_client_protocol_h,
- xdg_shell_protocol_c,
- ]
-
---
-2.30.2
-
diff --git a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
deleted file mode 100644
index f6ebfd8f..00000000
--- a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From a1548c742bf2dedbb47282d8a00407b60bbab669 Mon Sep 17 00:00:00 2001
-From: Tom Hochstein <tom.hochstein@nxp.com>
-Date: Wed, 22 Feb 2017 15:53:30 +0200
-Subject: [PATCH] weston-launch: Provide a default version that doesn't require
-
- PAM
-
-weston-launch requires PAM for starting weston as a non-root user.
-
-Since starting weston as root is a valid use case by itself, if
-PAM is not available, provide a default version of weston-launch
-without non-root-user support.
-
-Upstream-Status: Denied [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/725]
-
-Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-Signed-off-by: Ming Liu <ming.liu@toradex.com>
-
----
- libweston/meson.build | 16 ++++++++++++----
- libweston/weston-launch.c | 21 +++++++++++++++++++++
- meson_options.txt | 7 +++++++
- 3 files changed, 40 insertions(+), 4 deletions(-)
-
-diff --git a/libweston/meson.build b/libweston/meson.build
-index 08d23ec..cb9fd3f 100644
---- a/libweston/meson.build
-+++ b/libweston/meson.build
-@@ -216,16 +216,24 @@ dep_vertex_clipping = declare_dependency(
- )
-
- if get_option('weston-launch')
-- dep_pam = cc.find_library('pam')
-+ deps_weston_launch = [systemd_dep, dep_libdrm]
-
-- if not cc.has_function('pam_open_session', dependencies: dep_pam)
-- error('pam_open_session not found for weston-launch')
-+ if get_option('pam')
-+ dep_pam = cc.find_library('pam')
-+ if not cc.has_function('pam_open_session', dependencies: dep_pam)
-+ error('pam_open_session not found for weston-launch')
-+ endif
-+
-+ if dep_pam.found()
-+ deps_weston_launch += dep_pam
-+ config_h.set('HAVE_PAM', '1')
-+ endif
- endif
-
- executable(
- 'weston-launch',
- 'weston-launch.c',
-- dependencies: [dep_pam, systemd_dep, dep_libdrm],
-+ dependencies: deps_weston_launch,
- include_directories: common_inc,
- install: true
- )
-diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 521cb2c..2d42d33 100644
---- a/libweston/weston-launch.c
-+++ b/libweston/weston-launch.c
-@@ -51,7 +51,9 @@
-
- #include <pwd.h>
- #include <grp.h>
-+#ifdef HAVE_PAM
- #include <security/pam_appl.h>
-+#endif
-
- #ifdef HAVE_SYSTEMD_LOGIN
- #include <systemd/sd-login.h>
-@@ -100,8 +102,10 @@ drmSetMaster(int drm_fd)
- #endif
-
- struct weston_launch {
-+#ifdef HAVE_PAM
- struct pam_conv pc;
- pam_handle_t *ph;
-+#endif
- int tty;
- int ttynr;
- int sock[2];
-@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl)
- return false;
- }
-
-+#ifdef HAVE_PAM
- static int
- pam_conversation_fn(int msg_count,
- const struct pam_message **messages,
-@@ -232,6 +237,7 @@ setup_pam(struct weston_launch *wl)
-
- return 0;
- }
-+#endif
-
- static int
- setup_launcher_socket(struct weston_launch *wl)
-@@ -466,6 +472,7 @@ quit(struct weston_launch *wl, int status)
- close(wl->signalfd);
- close(wl->sock[0]);
-
-+#ifdef HAVE_PAM
- if (wl->new_user) {
- err = pam_close_session(wl->ph, 0);
- if (err)
-@@ -473,6 +480,7 @@ quit(struct weston_launch *wl, int status)
- err, pam_strerror(wl->ph, err));
- pam_end(wl->ph, err);
- }
-+#endif
-
- /*
- * Get a fresh handle to the tty as the previous one is in
-@@ -710,6 +718,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
- setenv("HOME", wl->pw->pw_dir, 1);
- setenv("SHELL", wl->pw->pw_shell, 1);
-
-+#ifdef HAVE_PAM
- env = pam_getenvlist(wl->ph);
- if (env) {
- for (i = 0; env[i]; ++i) {
-@@ -718,6 +727,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
- }
- free(env);
- }
-+#endif
-
- /*
- * We open a new session, so it makes sense
-@@ -789,8 +799,10 @@ static void
- help(const char *name)
- {
- fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
-+#ifdef HAVE_PAM
- fprintf(stderr, " -u, --user Start session as specified username,\n"
- " e.g. -u joe, requires root.\n");
-+#endif
- fprintf(stderr, " -t, --tty Start session on alternative tty,\n"
- " e.g. -t /dev/tty4, requires -u option.\n");
- fprintf(stderr, " -v, --verbose Be verbose\n");
-@@ -804,7 +816,9 @@ main(int argc, char *argv[])
- int i, c;
- char *tty = NULL;
- struct option opts[] = {
-+#ifdef HAVE_PAM
- { "user", required_argument, NULL, 'u' },
-+#endif
- { "tty", required_argument, NULL, 't' },
- { "verbose", no_argument, NULL, 'v' },
- { "help", no_argument, NULL, 'h' },
-@@ -816,11 +830,16 @@ main(int argc, char *argv[])
- while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) {
- switch (c) {
- case 'u':
-+#ifdef HAVE_PAM
- wl.new_user = optarg;
- if (getuid() != 0) {
- fprintf(stderr, "weston: Permission denied. -u allowed for root only\n");
- exit(EXIT_FAILURE);
- }
-+#else
-+ fprintf(stderr, "weston: -u is unsupported in this weston-launch build\n");
-+ exit(EXIT_FAILURE);
-+#endif
- break;
- case 't':
- tty = optarg;
-@@ -872,8 +891,10 @@ main(int argc, char *argv[])
- if (setup_tty(&wl, tty) < 0)
- exit(EXIT_FAILURE);
-
-+#ifdef HAVE_PAM
- if (wl.new_user && setup_pam(&wl) < 0)
- exit(EXIT_FAILURE);
-+#endif
-
- if (setup_launcher_socket(&wl) < 0)
- exit(EXIT_FAILURE);
-diff --git a/meson_options.txt b/meson_options.txt
-index 239bd2d..99e4ec3 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -73,6 +73,13 @@ option(
- )
-
- option(
-+ 'pam',
-+ type: 'boolean',
-+ value: true,
-+ description: 'Define if PAM is available'
-+)
-+
-+option(
- 'xwayland',
- type: 'boolean',
- value: true,
diff --git a/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
deleted file mode 100644
index a4444e5d..00000000
--- a/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fix atomic modesetting with musl
-
-atomic modesetting seems to fail with drm weston backend and this patch fixes
-it, below errors are seen before weston exits
-
-atomic: couldn't commit new state: Invalid argument
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/libweston/backend-drm/kms.c
-+++ b/libweston/backend-drm/kms.c
-@@ -1168,8 +1168,8 @@ drm_pending_state_apply_atomic(struct dr
- wl_list_for_each(plane, &b->plane_list, link) {
- drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n",
- (unsigned long) plane->plane_id);
-- plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
-- plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
-+ //plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
-+ //plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
- }
-
- flags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
diff --git a/recipes-graphics/wayland/weston/xwayland.weston-start b/recipes-graphics/wayland/weston/xwayland.weston-start
index db384b1a..49204f21 100644
--- a/recipes-graphics/wayland/weston/xwayland.weston-start
+++ b/recipes-graphics/wayland/weston/xwayland.weston-start
@@ -1,5 +1,6 @@
#!/bin/sh
if type Xwayland >/dev/null 2>/dev/null; then
- mkdir -p /tmp/.X11-unix
+ mkdir -m 775 -p /tmp/.X11-unix
+ chown root:video /tmp/.X11-unix
fi
diff --git a/recipes-graphics/wayland/weston_9.0.0.imx.bb b/recipes-graphics/wayland/weston_10.0.4.imx.bb
index 228cf4fa..e31d2280 100644
--- a/recipes-graphics/wayland/weston_9.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_10.0.4.imx.bb
@@ -3,37 +3,33 @@
# recipe. The second section customizes the recipe for i.MX.
########### OE-core copy ##################
-# Upstream hash: c8aa0222ce2be647911114aaebcbb0d55d7caf87
+# Upstream hash: 4b42fd87da290ddea098605aea3a5cce1fb432a7
SUMMARY = "Weston, a Wayland compositor"
DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
HOMEPAGE = "http://wayland.freedesktop.org"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
- file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a"
+ file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
+ "
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
file://weston.png \
file://weston.desktop \
file://xwayland.weston-start \
file://systemd-notify.weston-start \
- file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
- file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
- file://0001-meson.build-fix-incorrect-header.patch \
- file://0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch \
- file://0001-g2d-renderer-Add-vsync-to-cloned-displays.patch \
-"
+ "
-SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
-
-SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
+SRC_URI[sha256sum] = "89646ca0d9f8d413c2767e5c3828eaa3fa149c2a105b3729a6894fa7cf1549e7"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
+
+inherit meson pkgconfig useradd
-inherit meson pkgconfig useradd features_check
# depends on virtual/egl
-# weston-init requires pam enabled if started via systemd
-REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+#
+require ${THISDIR}/required-distro-features.inc
DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
@@ -42,19 +38,22 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '',
WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
-EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false"
+EXTRA_OEMESON += "-Dpipewire=false"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
- launch \
+ ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'sysvinit', 'launcher-libseat', '', d)} \
image-jpeg \
screenshare \
shell-desktop \
shell-fullscreen \
shell-ivi"
+# Can be 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-feedback', 'dmabuf-v4l', 'dmabuf-egl' or 'all'
+SIMPLECLIENTS ?= "all"
+
#
# Compositor choices
#
@@ -67,11 +66,11 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
# Headless Weston
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
# Weston on framebuffer
-PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev"
+PACKAGECONFIG[fbdev] = "-Ddeprecated-backend-fbdev=true,-Ddeprecated-backend-fbdev=false,udev mtdev"
# Weston on RDP
PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
# weston-launch
-PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
+PACKAGECONFIG[launch] = "-Ddeprecated-weston-launch=true,-Ddeprecated-weston-launch=false,drm"
# VA-API desktop recorder
PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
# Weston with EGL support
@@ -87,11 +86,9 @@ PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false"
# colord CMS support
PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord"
# Clients support
-PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
+PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
# Virtual remote output with GStreamer on DRM backend
PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
-# Weston with PAM support
-PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
# Weston with screen-share support
PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false"
# Traditional desktop shell
@@ -102,6 +99,8 @@ PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=fa
PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
# JPEG image loading support
PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
+# support libseat based launch
+PACKAGECONFIG[launcher-libseat] = "-Dlauncher-libseat=true,-Dlauncher-libseat=false,seatd"
do_install:append() {
# Weston doesn't need the .la files to load modules, so wipe them
@@ -156,14 +155,17 @@ GROUPADD_PARAM:${PN} = "--system weston-launch"
SUMMARY = "Weston, a Wayland compositor, i.MX fork"
+LIC_FILES_CHKSUM:remove = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70"
+LIC_FILES_CHKSUM:append = "file://LICENSE;md5=d79ee9e66bb0f95d3386a7acae780b70"
+
DEFAULT_PREFERENCE = "-1"
-SRCBRANCH = "weston-imx-9.0"
-SRC_URI:remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
-"
-SRC_URI:prepend = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} "
-SRCREV = "7859a762617682bd804e210ad3bda6bdcd3ea24a"
+SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
+SRC_URI:prepend = "git://github.com/nxp-imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} "
+SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch \
+ file://0001-g2d-renderer.c-Include-sys-stat.h.patch"
+SRCBRANCH = "weston-imx-10.0.4"
+SRCREV = "6210a8f1302252273b50cc3c0ff55ec680dda479"
S = "${WORKDIR}/git"
# Disable OpenGL for parts with GPU support for 2D but not 3D
@@ -174,7 +176,8 @@ PACKAGECONFIG_OPENGL = "opengl"
PACKAGECONFIG_OPENGL:imxgpu2d = ""
PACKAGECONFIG_OPENGL:imxgpu3d = "opengl"
-PACKAGECONFIG:remove = "wayland x11"
+PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
+PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}"
PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}"
PACKAGECONFIG:remove:imxfbdev = "kms"
@@ -182,11 +185,10 @@ PACKAGECONFIG:append:imxfbdev = " fbdev clients"
PACKAGECONFIG:append:imxgpu = " imxgpu"
PACKAGECONFIG:append:imxgpu2d = " imxg2d"
-# Clients support
-SIMPLE_CLIENTS = "all"
-SIMPLE_CLIENTS:imxfbdev = "damage,im,egl,shm,touch,dmabuf-v4l"
-PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcursor"
-PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLE_CLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
+SIMPLECLIENTS:imxfbdev = "damage,im,egl,shm,touch,dmabuf-v4l"
+
+# Override
+PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcursor xwayland"
# Weston with i.MX GPU support
PACKAGECONFIG[imxgpu] = "-Dimxgpu=true,-Dimxgpu=false,virtual/egl"
# Weston with i.MX G2D renderer
@@ -194,6 +196,15 @@ PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d
# Weston with OpenGL support
PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false"
+PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev libdrm"
+EXTRA_OEMESON:append:imxfbdev = " -Dbackend-default=fbdev"
+
+EXTRA_OEMESON += "-Ddeprecated-wl-shell=true"
+
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)"
diff --git a/recipes-graphics/wayland/weston_11.0.3.imx.bb b/recipes-graphics/wayland/weston_11.0.3.imx.bb
new file mode 100644
index 00000000..67eae268
--- /dev/null
+++ b/recipes-graphics/wayland/weston_11.0.3.imx.bb
@@ -0,0 +1,188 @@
+# This recipe is for the i.MX fork of weston. For ease of
+# maintenance, the top section is a verbatim copy of an OE-core
+# recipe. The second section customizes the recipe for i.MX.
+
+########### OE-core copy ##################
+# Upstream hash: 7f1932cb5a408320a5b542e20ba2807718349e8f
+
+SUMMARY = "Weston, a Wayland compositor"
+DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
+ file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
+ "
+
+SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/uploads/f5648c818fba5432edc3ea63c4db4813/${BPN}-${PV}.tar.xz \
+ file://weston.png \
+ file://weston.desktop \
+ file://xwayland.weston-start \
+ file://systemd-notify.weston-start \
+ "
+
+SRC_URI[sha256sum] = "a413f68c252957fc3191c3650823ec356ae8c124ccc0cb440da5cdc4e2cb9e57"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
+
+inherit meson pkgconfig useradd
+
+# depends on virtual/egl
+#
+require ${THISDIR}/required-distro-features.inc
+
+DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
+DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
+
+LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}"
+
+WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
+
+EXTRA_OEMESON += "-Dpipewire=false"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
+ ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
+ ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'sysvinit', 'launcher-libseat', '', d)} \
+ image-jpeg \
+ screenshare \
+ shell-desktop \
+ shell-fullscreen \
+ shell-ivi \
+ shell-kiosk \
+ "
+
+# Can be 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-feedback', 'dmabuf-v4l', 'dmabuf-egl' or 'all'
+SIMPLECLIENTS ?= "all"
+
+#
+# Compositor choices
+#
+# Weston on KMS
+PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev"
+# Weston on Wayland (nested Weston)
+PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
+# Weston on X11
+PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo"
+# Headless Weston
+PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
+# Weston on RDP
+PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
+# VA-API desktop recorder
+PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
+# Weston with EGL support
+PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
+# Weston with lcms support
+PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
+# Weston with webp support
+PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
+# Weston with systemd-login support
+PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus"
+# Weston with Xwayland support (requires X11 and Wayland)
+PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,xwayland"
+# colord CMS support
+PACKAGECONFIG[colord] = "-Ddeprecated-color-management-colord=true,-Ddeprecated-color-management-colord=false,colord"
+# Clients support
+PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
+# Virtual remote output with GStreamer on DRM backend
+PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
+# Weston with screen-share support
+PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false"
+# Traditional desktop shell
+PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false"
+# Fullscreen shell
+PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false"
+# In-Vehicle Infotainment (IVI) shell
+PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
+# Kiosk shell
+PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
+# JPEG image loading support
+PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
+# support libseat based launch
+PACKAGECONFIG[launcher-libseat] = "-Dlauncher-libseat=true,-Dlauncher-libseat=false,seatd"
+
+do_install:append() {
+ # Weston doesn't need the .la files to load modules, so wipe them
+ rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
+
+ # If X11, ship a desktop file to launch it
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
+ install -d ${D}${datadir}/applications
+ install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
+
+ install -d ${D}${datadir}/icons/hicolor/48x48/apps
+ install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
+ install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
+ install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
+ chmod u+s ${D}${bindir}/weston-launch
+ fi
+}
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
+ libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
+
+FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
+FILES:${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
+
+FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
+SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
+
+FILES:${PN}-examples = "${bindir}/*"
+
+FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
+RDEPENDS:${PN}-xwayland += "xwayland"
+
+RDEPENDS:${PN} += "xkeyboard-config"
+RRECOMMENDS:${PN} = "weston-init liberation-fonts"
+RRECOMMENDS:${PN}-dev += "wayland-protocols"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system weston-launch"
+
+########### End of OE-core copy ###########
+
+########### i.MX overrides ################
+
+SUMMARY = "Weston, a Wayland compositor, i.MX fork"
+LIC_FILES_CHKSUM:remove = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70"
+LIC_FILES_CHKSUM += "file://LICENSE;md5=d79ee9e66bb0f95d3386a7acae780b70"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI:remove = "https://gitlab.freedesktop.org/wayland/weston/uploads/f5648c818fba5432edc3ea63c4db4813/${BPN}-${PV}.tar.xz"
+SRC_URI:prepend = "git://github.com/nxp-imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} "
+SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch"
+SRCBRANCH = "weston-imx-11.0.3"
+SRCREV = "a509c319b7bfc72638c9b9d8f5e4b6259aba0ab7"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
+PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}"
+
+PACKAGECONFIG:append:imxgpu2d = " imxg2d"
+PACKAGECONFIG:append:mx93-nxp-bsp = " imxg2d"
+
+# Override
+PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcursor xwayland"
+
+# Weston with i.MX G2D renderer
+PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d"
+
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
+
+########### End of i.MX overrides #########
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf
index 0c52ad3b..6fe64e11 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf
@@ -1,7 +1,7 @@
Section "Device"
Identifier "etnaviv"
Driver "modesetting"
- Option "kmsdev" "/dev/dri/card0"
+ Option "kmsdev" "/dev/dri/card1"
Option "AccelMethod" "glamor"
Option "Atomic" "On"
EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/vf/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/vf-generic-bsp/xorg.conf
index b4ee82a9..b4ee82a9 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/vf/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/vf-generic-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch
index caf2fcd6..71e045b2 100644
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch
@@ -1,4 +1,4 @@
-From 9c8b815520bf52caf780dc4defea0fe2fe8e33a3 Mon Sep 17 00:00:00 2001
+From 8f50f62cf9030d1839e23a7f1ff9688dec2063e4 Mon Sep 17 00:00:00 2001
From: Daniel Abrecht <public@danielabrecht.ch>
Date: Wed, 21 Oct 2020 21:13:30 +0200
Subject: [PATCH] Allow to enable atomic in modesetting DDX
@@ -11,17 +11,19 @@ anymore.
This change doesn't enable atomic by default, but it allows a user to
enabled it again.
+Upstream-Status: Pending
Signed-off-by: Daniel Abrecht <public@danielabrecht.ch>
+
---
hw/xfree86/drivers/modesetting/driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
-index 6549ef8e1..bd8576f81 100644
+index 535f49d..58a1c67 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
-@@ -1216,7 +1216,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
- }
+@@ -1236,7 +1236,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
+ ms->atomic_modeset_capable = (ret == 0);
if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_ATOMIC, FALSE)) {
- ret = drmSetClientCap(ms->fd, DRM_CLIENT_CAP_ATOMIC, 1);
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch
deleted file mode 100644
index 6f232589..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From ed3c55fa6260ad125a32f9ac67f9e44a9bce7cf1 Mon Sep 17 00:00:00 2001
-From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
-Date: Mon, 11 May 2020 19:12:51 -0500
-Subject: [PATCH] MGS-5186 Per Specification EGL_NATIVE_PIXMAP_KHR requires
- EGL_NO_CONTEXT
-
-https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_image_pixmap.txt
-
-Per Specification EGL_NATIVE_PIXMAP_KHR requires EGL_NO_CONTEXT.
-So passing context will result in error.
-
-Upstream-Status: Pending
-Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
----
- hw/xwayland/xwayland-glamor-gbm.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: xorg-server-1.20.8/hw/xwayland/xwayland-glamor-gbm.c
-===================================================================
---- xorg-server-1.20.8.orig/hw/xwayland/xwayland-glamor-gbm.c
-+++ xorg-server-1.20.8/hw/xwayland/xwayland-glamor-gbm.c
-@@ -167,7 +167,7 @@ xwl_glamor_gbm_create_pixmap_for_bo(Scre
- xwl_pixmap->bo = bo;
- xwl_pixmap->buffer = NULL;
- xwl_pixmap->image = eglCreateImageKHR(xwl_screen->egl_display,
-- xwl_screen->egl_context,
-+ EGL_NO_CONTEXT,
- EGL_NATIVE_PIXMAP_KHR,
- xwl_pixmap->bo, NULL);
- if (xwl_pixmap->image == EGL_NO_IMAGE_KHR)
diff --git a/recipes-graphics/xwayland/xwayland/0002-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch
index 1c6cf2ec..960bf3b5 100644
--- a/recipes-graphics/xwayland/xwayland/0002-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch
@@ -1,24 +1,23 @@
-From 4508e54dae9d2884b2d6ccca13450b25d509cc9a Mon Sep 17 00:00:00 2001
+From c76f5d2c0a0dda534888025d7236465202884665 Mon Sep 17 00:00:00 2001
From: Xianzhong <xianzhong.li@nxp.com>
Date: Thu, 5 Aug 2021 16:57:43 +0800
-Subject: [PATCH 3/3] glamor: Fix fbo pixmap format with GL_BGRA_EXT
+Subject: [PATCH] glamor: Fix fbo pixmap format with GL_BGRA_EXT
Red and Blue channels are swizzled in GLES path,
Fix color inverse problem with ximagesink command:
gst-launch-1.0 videotestsrc pattern=6 num-buffers=1 ! video/x-raw,format=BGRx ! videoconvert ! ximagesink display=:0 -v
-This fix requires GL_EXT_texture_format_BGRA8888 extension, not applicable for upstream.
+This fix requires GL_EXT_texture_format_BGRA8888 extention, not applicable for upstream.
+
+Upstream-Status: Inappropriate
-Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
---
glamor/glamor.c | 7 +++++++
1 file changed, 7 insertions(+)
-Index: xwayland-21.1.4/glamor/glamor.c
-===================================================================
---- xwayland-21.1.4.orig/glamor/glamor.c
-+++ xwayland-21.1.4/glamor/glamor.c
+--- a/glamor/glamor.c
++++ b/glamor/glamor.c
@@ -586,10 +586,17 @@ glamor_setup_formats(ScreenPtr screen)
if (glamor_priv->is_gles) {
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch
deleted file mode 100644
index c8f1ae73..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From cc05c01925755310f027c61daa29648a10155f96 Mon Sep 17 00:00:00 2001
-From: Rohan Garg <rohan@garg.io>
-Date: Thu, 13 Dec 2018 19:15:01 +0100
-Subject: [PATCH] glamor/glamor_egl.c: EGL_NATIVE_PIXMAP_KHR do not require
- contexts
-
-From https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_image_pixmap.txt
-
- * If <target> is EGL_NATIVE_PIXMAP_KHR, and <ctx> is not EGL_NO_CONTEXT,
- the error EGL_BAD_PARAMETER is generated.
-
-Fixes: a5321ea4 ("Allow to create textured pixmaps from gbm_bo without using gem names")
----
- glamor/glamor_egl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Upstream-Status: Backport [cc05c01925755310f027c61daa29648a10155f96]
-
-diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
-index 0f4edb5a3..69844d4e2 100644
---- a/glamor/glamor_egl.c
-+++ b/glamor/glamor_egl.c
-@@ -233,7 +233,7 @@ glamor_egl_create_textured_pixmap_from_gbm_bo(PixmapPtr pixmap,
- glamor_make_current(glamor_priv);
-
- image = eglCreateImageKHR(glamor_egl->display,
-- glamor_egl->context,
-+ EGL_NO_CONTEXT,
- EGL_NATIVE_PIXMAP_KHR, bo, NULL);
- if (image == EGL_NO_IMAGE_KHR) {
- glamor_set_pixmap_type(pixmap, GLAMOR_DRM_ONLY);
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch
deleted file mode 100644
index 48f271ae..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 836f93de99b35050d78d61d3654f7c5655184144 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Fri, 19 Apr 2019 10:19:50 +0200
-Subject: [PATCH] hw/xwayland/Makefile.am: fix build without glx
-
-Commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b added libglxvnd.la to
-Xwayland_LDFLAGS but GLX can be disabled through --disable-glx.
-In this case, build fails on:
-
-make[3]: *** No rule to make target '../../glx/libglxvnd.la', needed by 'Xwayland'. Stop.
-make[3]: *** Waiting for unfinished jobs....
-
-Fixes:
- - http://autobuild.buildroot.org/results/397f8098c57fc6c88aa12dc8d35ebb1b933d52ef
-
-Upstream-Status: Backport [836f93de99b35050d78d61d3654f7c5655184144]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- hw/xwayland/Makefile.am | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/hw/xwayland/Makefile.am b/hw/xwayland/Makefile.am
-index bc1cb8506..502879e2a 100644
---- a/hw/xwayland/Makefile.am
-+++ b/hw/xwayland/Makefile.am
-@@ -21,10 +21,14 @@ Xwayland_SOURCES = \
- $(top_srcdir)/Xi/stubs.c \
- $(top_srcdir)/mi/miinitext.c
-
-+if GLX
-+GLXVND_LIB = $(top_builddir)/glx/libglxvnd.la
-+endif
-+
- Xwayland_LDADD = \
- $(glamor_lib) \
- $(XWAYLAND_LIBS) \
-- $(top_builddir)/glx/libglxvnd.la \
-+ $(GLXVND_LIB) \
- $(XWAYLAND_SYS_LIBS) \
- $(top_builddir)/Xext/libXvidmode.la \
- $(XSERVER_SYS_LIBS)
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch
deleted file mode 100644
index 6e140eaa..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a99ff39b3b6095a16977fbb13b2b453a7359850f Mon Sep 17 00:00:00 2001
-From: Xianzhong <xianzhong.li@nxp.com>
-Date: Mon, 11 Jan 2021 11:53:29 +0800
-Subject: [PATCH] prefer to use GLES2 for glamor EGL config
-
-created the initial patch for xorg/xserver 1.20.8
-
-Upstream-Status: Pending
-Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
----
- hw/xwayland/xwayland-glamor-gbm.c | 13 ++++---------
- 1 file changed, 4 insertions(+), 9 deletions(-)
-
-diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c
-index dce782fc3..1fdf45490 100644
---- a/hw/xwayland/xwayland-glamor-gbm.c
-+++ b/hw/xwayland/xwayland-glamor-gbm.c
-@@ -912,13 +912,8 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen)
- struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen);
- EGLint major, minor;
- Bool egl_initialized = FALSE;
-- static const EGLint config_attribs_core[] = {
-- EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR,
-- EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR,
-- EGL_CONTEXT_MAJOR_VERSION_KHR,
-- GLAMOR_GL_CORE_VER_MAJOR,
-- EGL_CONTEXT_MINOR_VERSION_KHR,
-- GLAMOR_GL_CORE_VER_MINOR,
-+ static const EGLint config_attribs_gles2[] = {
-+ EGL_CONTEXT_CLIENT_VERSION, 2,
- EGL_NONE
- };
- const GLubyte *renderer;
-@@ -947,10 +942,10 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen)
- goto error;
- }
-
-- eglBindAPI(EGL_OPENGL_API);
-+ eglBindAPI(EGL_OPENGL_ES_API);
-
- xwl_screen->egl_context = eglCreateContext(
-- xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, config_attribs_core);
-+ xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, config_attribs_gles2);
- if (xwl_screen->egl_context == EGL_NO_CONTEXT) {
- xwl_screen->egl_context = eglCreateContext(
- xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, NULL);
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch
deleted file mode 100644
index e0958558..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3a6fe85a5f123f53319b5be8a69666174cad09cf Mon Sep 17 00:00:00 2001
-From: Julien Isorce <julien.isorce@gmail.com>
-Date: Thu, 6 Sep 2018 15:38:13 -0700
-Subject: [PATCH 1/8] xfree86: define FOURCC_NV12 and XVIMAGE_NV12
-
-Useful for glamor.
-
-Upstream-Status: Backport
-Signed-off-by: Julien Isorce <jisorce@oblong.com>
-Tested-by: Olivier Fourdan <ofourdan@redhat.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
----
- hw/xfree86/common/fourcc.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/hw/xfree86/common/fourcc.h b/hw/xfree86/common/fourcc.h
-index e6126b7fe..a19e6869e 100644
---- a/hw/xfree86/common/fourcc.h
-+++ b/hw/xfree86/common/fourcc.h
-@@ -156,4 +156,24 @@
- XvTopToBottom \
- }
-
-+#define FOURCC_NV12 0x3231564e
-+#define XVIMAGE_NV12 \
-+ { \
-+ FOURCC_NV12, \
-+ XvYUV, \
-+ LSBFirst, \
-+ {'N','V','1','2', \
-+ 0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
-+ 12, \
-+ XvPlanar, \
-+ 2, \
-+ 0, 0, 0, 0, \
-+ 8, 8, 8, \
-+ 1, 2, 2, \
-+ 1, 2, 2, \
-+ {'Y','U','V', \
-+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
-+ XvTopToBottom \
-+ }
-+
- #endif /* _XF86_FOURCC_H_ */
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch
deleted file mode 100644
index 78988373..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 7f46b31e3d80ca769f68a4ffb201d0fc4801ea93 Mon Sep 17 00:00:00 2001
-From: Julien Isorce <julien.isorce@gmail.com>
-Date: Thu, 6 Sep 2018 15:38:14 -0700
-Subject: [PATCH 2/8] glamor: add support for GL_RG
-
-Allow to upload the CbCr plane of an NV12 image into a GL texture.
-
-Upstream-Status: Backport
-Signed-off-by: Julien Isorce <jisorce@oblong.com>
-Tested-by: Olivier Fourdan <ofourdan@redhat.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
----
- glamor/glamor.c | 2 ++
- glamor/glamor.h | 1 +
- glamor/glamor_priv.h | 4 +++-
- glamor/glamor_transfer.c | 10 ++++++++--
- glamor/glamor_utils.h | 4 ++++
- 5 files changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index abefef614..3e9cf284c 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -222,6 +222,8 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
-
- pixmap_priv = glamor_get_pixmap_private(pixmap);
-
-+ pixmap_priv->is_cbcr = (usage == GLAMOR_CREATE_FORMAT_CBCR);
-+
- format = gl_iformat_for_pixmap(pixmap);
-
- pitch = (((w * pixmap->drawable.bitsPerPixel + 7) / 8) + 3) & ~3;
-diff --git a/glamor/glamor.h b/glamor/glamor.h
-index be04bf858..e5992aa56 100644
---- a/glamor/glamor.h
-+++ b/glamor/glamor.h
-@@ -129,6 +129,7 @@ extern _X_EXPORT Bool glamor_destroy_pixmap(PixmapPtr pixmap);
- #define GLAMOR_CREATE_FBO_NO_FBO 0x103
- #define GLAMOR_CREATE_NO_LARGE 0x105
- #define GLAMOR_CREATE_PIXMAP_NO_TEXTURE 0x106
-+#define GLAMOR_CREATE_FORMAT_CBCR 0x107
-
- /* @glamor_egl_exchange_buffers: Exchange the underlying buffers(KHR image,fbo).
- *
-diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h
-index 4353a99f1..a14aaf624 100644
---- a/glamor/glamor_priv.h
-+++ b/glamor/glamor_priv.h
-@@ -380,6 +380,8 @@ typedef struct glamor_pixmap_private {
- * names.
- */
- glamor_pixmap_fbo **fbo_array;
-+
-+ Bool is_cbcr;
- } glamor_pixmap_private;
-
- extern DevPrivateKeyRec glamor_pixmap_private_key;
-@@ -902,7 +904,7 @@ int glamor_xv_put_image(glamor_port_private *port_priv,
- Bool sync,
- RegionPtr clipBoxes);
- void glamor_xv_core_init(ScreenPtr screen);
--void glamor_xv_render(glamor_port_private *port_priv);
-+void glamor_xv_render(glamor_port_private *port_priv, int id);
-
- #include "glamor_utils.h"
-
-diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c
-index ebb5101d1..421ed3a5f 100644
---- a/glamor/glamor_transfer.c
-+++ b/glamor/glamor_transfer.c
-@@ -27,6 +27,7 @@
- void
- glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type)
- {
-+ glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap);
- switch (pixmap->drawable.depth) {
- case 24:
- case 32:
-@@ -38,8 +39,13 @@ glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type)
- *type = GL_UNSIGNED_INT_2_10_10_10_REV;
- break;
- case 16:
-- *format = GL_RGB;
-- *type = GL_UNSIGNED_SHORT_5_6_5;
-+ if (priv->is_cbcr) {
-+ *format = priv->fbo->format;
-+ *type = GL_UNSIGNED_BYTE;
-+ } else {
-+ *format = GL_RGB;
-+ *type = GL_UNSIGNED_SHORT_5_6_5;
-+ }
- break;
- case 15:
- *format = GL_BGRA;
-diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h
-index 0d5674d63..1890c1fe5 100644
---- a/glamor/glamor_utils.h
-+++ b/glamor/glamor_utils.h
-@@ -613,10 +613,14 @@ gl_iformat_for_pixmap(PixmapPtr pixmap)
- {
- glamor_screen_private *glamor_priv =
- glamor_get_screen_private((pixmap)->drawable.pScreen);
-+ glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap);
-
- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP &&
- ((pixmap)->drawable.depth == 1 || (pixmap)->drawable.depth == 8)) {
- return glamor_priv->one_channel_format;
-+ } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP &&
-+ (pixmap)->drawable.depth == 16 && pixmap_priv->is_cbcr) {
-+ return GL_RG;
- } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP &&
- (pixmap)->drawable.depth == 30) {
- return GL_RGB10_A2;
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch
deleted file mode 100644
index beed6cb4..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001
-From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
-Date: Mon, 30 Jan 2017 16:32:06 -0600
-Subject: [PATCH] Remove check for useSIGIO option
-
-Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of useSIGIO
-option.
-
-As the xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO
-and OsReleaseSIGIO.
-
-No longer the check for useSIGIO is needed
-
-Upstream-Status: Pending
-
-Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
----
- hw/xfree86/os-support/shared/sigio.c | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c
-index 884a71c..be76498 100644
---- a/hw/xfree86/os-support/shared/sigio.c
-+++ b/hw/xfree86/os-support/shared/sigio.c
-@@ -185,9 +185,6 @@ xf86InstallSIGIOHandler(int fd, void (*f) (int, void *), void *closure)
- int i;
- int installed = FALSE;
-
-- if (!xf86Info.useSIGIO)
-- return 0;
--
- for (i = 0; i < MAX_FUNCS; i++) {
- if (!xf86SigIOFuncs[i].f) {
- if (xf86IsPipe(fd))
-@@ -256,9 +253,6 @@ xf86RemoveSIGIOHandler(int fd)
- int max;
- int ret;
-
-- if (!xf86Info.useSIGIO)
-- return 0;
--
- max = 0;
- ret = 0;
- for (i = 0; i < MAX_FUNCS; i++) {
---
-2.7.4
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch
deleted file mode 100644
index 855d1938..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch
+++ /dev/null
@@ -1,322 +0,0 @@
-From 17a3528162304f1586329aabd606d3498bfe48a5 Mon Sep 17 00:00:00 2001
-From: Julien Isorce <julien.isorce@gmail.com>
-Date: Tue, 11 Sep 2018 10:28:33 -0700
-Subject: [PATCH 3/8] glamor: add support for NV12 in Xv
-
-Useful when video decoders only output NV12. Currently
-glamor Xv only supports I420 and YV12.
-
-Note that Intel's sna supports I420, YV12, YUY2, UYVY, NV12.
-
-Test: xvinfo | grep NV12
-Test: gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12 ! xvimagesink
-
-v2: Combine the two texture2Ds on u_sampler.
-
-Upstream-Status: Backport
-Signed-off-by: Julien Isorce <jisorce@oblong.com>
-Tested-by: Olivier Fourdan <ofourdan@redhat.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
----
- glamor/glamor_xv.c | 180 ++++++++++++++++++++++++++++++++++++++-------
- 1 file changed, 155 insertions(+), 25 deletions(-)
-
-diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c
-index 62fc4fff5..6fef6ed0d 100644
---- a/glamor/glamor_xv.c
-+++ b/glamor/glamor_xv.c
-@@ -59,8 +59,40 @@ typedef struct tagREF_TRANSFORM {
- #define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0)
- #define RTFHue(a) (((a)*3.1416)/1000.0)
-
--static const glamor_facet glamor_facet_xv_planar = {
-- .name = "xv_planar",
-+static const glamor_facet glamor_facet_xv_planar_2 = {
-+ .name = "xv_planar_2",
-+
-+ .version = 120,
-+
-+ .source_name = "v_texcoord0",
-+ .vs_vars = ("attribute vec2 position;\n"
-+ "attribute vec2 v_texcoord0;\n"
-+ "varying vec2 tcs;\n"),
-+ .vs_exec = (GLAMOR_POS(gl_Position, position)
-+ " tcs = v_texcoord0;\n"),
-+
-+ .fs_vars = ("uniform sampler2D y_sampler;\n"
-+ "uniform sampler2D u_sampler;\n"
-+ "uniform vec4 offsetyco;\n"
-+ "uniform vec4 ucogamma;\n"
-+ "uniform vec4 vco;\n"
-+ "varying vec2 tcs;\n"),
-+ .fs_exec = (
-+ " float sample;\n"
-+ " vec2 sample_uv;\n"
-+ " vec4 temp1;\n"
-+ " sample = texture2D(y_sampler, tcs).w;\n"
-+ " temp1.xyz = offsetyco.www * vec3(sample) + offsetyco.xyz;\n"
-+ " sample_uv = texture2D(u_sampler, tcs).xy;\n"
-+ " temp1.xyz = ucogamma.xyz * vec3(sample_uv.x) + temp1.xyz;\n"
-+ " temp1.xyz = clamp(vco.xyz * vec3(sample_uv.y) + temp1.xyz, 0.0, 1.0);\n"
-+ " temp1.w = 1.0;\n"
-+ " gl_FragColor = temp1;\n"
-+ ),
-+};
-+
-+static const glamor_facet glamor_facet_xv_planar_3 = {
-+ .name = "xv_planar_3",
-
- .version = 120,
-
-@@ -110,26 +142,50 @@ Atom glamorBrightness, glamorContrast, glamorSaturation, glamorHue,
- XvImageRec glamor_xv_images[] = {
- XVIMAGE_YV12,
- XVIMAGE_I420,
-+ XVIMAGE_NV12
- };
- int glamor_xv_num_images = ARRAY_SIZE(glamor_xv_images);
-
- static void
--glamor_init_xv_shader(ScreenPtr screen)
-+glamor_init_xv_shader(ScreenPtr screen, int id)
- {
- glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
- GLint sampler_loc;
-+ const glamor_facet *glamor_facet_xv_planar = NULL;
-+
-+ switch (id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ glamor_facet_xv_planar = &glamor_facet_xv_planar_3;
-+ break;
-+ case FOURCC_NV12:
-+ glamor_facet_xv_planar = &glamor_facet_xv_planar_2;
-+ break;
-+ default:
-+ break;
-+ }
-
- glamor_build_program(screen,
- &glamor_priv->xv_prog,
-- &glamor_facet_xv_planar, NULL, NULL, NULL);
-+ glamor_facet_xv_planar, NULL, NULL, NULL);
-
- glUseProgram(glamor_priv->xv_prog.prog);
- sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "y_sampler");
- glUniform1i(sampler_loc, 0);
- sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "u_sampler");
- glUniform1i(sampler_loc, 1);
-- sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "v_sampler");
-- glUniform1i(sampler_loc, 2);
-+
-+ switch (id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "v_sampler");
-+ glUniform1i(sampler_loc, 2);
-+ break;
-+ case FOURCC_NV12:
-+ break;
-+ default:
-+ break;
-+ }
-
- }
-
-@@ -227,6 +283,21 @@ glamor_xv_query_image_attributes(int id,
- offsets[2] = size;
- size += tmp;
- break;
-+ case FOURCC_NV12:
-+ *w = ALIGN(*w, 2);
-+ *h = ALIGN(*h, 2);
-+ size = ALIGN(*w, 4);
-+ if (pitches)
-+ pitches[0] = size;
-+ size *= *h;
-+ if (offsets)
-+ offsets[1] = offsets[2] = size;
-+ tmp = ALIGN(*w, 4);
-+ if (pitches)
-+ pitches[1] = pitches[2] = tmp;
-+ tmp *= (*h >> 1);
-+ size += tmp;
-+ break;
- }
- return size;
- }
-@@ -240,7 +311,7 @@ static REF_TRANSFORM trans[2] = {
- };
-
- void
--glamor_xv_render(glamor_port_private *port_priv)
-+glamor_xv_render(glamor_port_private *port_priv, int id)
- {
- ScreenPtr screen = port_priv->pPixmap->drawable.pScreen;
- glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
-@@ -264,7 +335,7 @@ glamor_xv_render(glamor_port_private *port_priv)
- int dst_box_index;
-
- if (!glamor_priv->xv_prog.prog)
-- glamor_init_xv_shader(screen);
-+ glamor_init_xv_shader(screen, id);
-
- cont = RTFContrast(port_priv->contrast);
- bright = RTFBrightness(port_priv->brightness);
-@@ -293,6 +364,8 @@ glamor_xv_render(glamor_port_private *port_priv)
- glamor_get_pixmap_private(port_priv->src_pix[i]);
- pixmap_priv_get_scale(src_pixmap_priv[i], &src_xscale[i],
- &src_yscale[i]);
-+ } else {
-+ src_pixmap_priv[i] = NULL;
- }
- }
- glamor_make_current(glamor_priv);
-@@ -319,12 +392,21 @@ glamor_xv_render(glamor_port_private *port_priv)
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-
-- glActiveTexture(GL_TEXTURE2);
-- glBindTexture(GL_TEXTURE_2D, src_pixmap_priv[2]->fbo->tex);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-+ switch (id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ glActiveTexture(GL_TEXTURE2);
-+ glBindTexture(GL_TEXTURE_2D, src_pixmap_priv[2]->fbo->tex);
-+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-+ break;
-+ case FOURCC_NV12:
-+ break;
-+ default:
-+ break;
-+ }
-
- glEnableVertexAttribArray(GLAMOR_VERTEX_POS);
- glEnableVertexAttribArray(GLAMOR_VERTEX_SOURCE);
-@@ -336,7 +418,7 @@ glamor_xv_render(glamor_port_private *port_priv)
- /* Set up a single primitive covering the area being drawn. We'll
- * clip it to port_priv->clip using GL scissors instead of just
- * emitting a GL_QUAD per box, because this way we hopefully avoid
-- * diagonal tearing between the two trangles used to rasterize a
-+ * diagonal tearing between the two triangles used to rasterize a
- * GL_QUAD.
- */
- i = 0;
-@@ -417,6 +499,7 @@ glamor_xv_put_image(glamor_port_private *port_priv,
- RegionPtr clipBoxes)
- {
- ScreenPtr pScreen = pDrawable->pScreen;
-+ glamor_screen_private *glamor_priv = glamor_get_screen_private(pScreen);
- int srcPitch, srcPitch2;
- int top, nlines;
- int s2offset, s3offset, tmp;
-@@ -425,9 +508,16 @@ glamor_xv_put_image(glamor_port_private *port_priv,
- s2offset = s3offset = srcPitch2 = 0;
-
- if (!port_priv->src_pix[0] ||
-- (width != port_priv->src_pix_w || height != port_priv->src_pix_h)) {
-+ (width != port_priv->src_pix_w || height != port_priv->src_pix_h) ||
-+ (port_priv->src_pix[2] && id == FOURCC_NV12) ||
-+ (!port_priv->src_pix[2] && id != FOURCC_NV12)) {
- int i;
-
-+ if (glamor_priv->xv_prog.prog) {
-+ glDeleteProgram(glamor_priv->xv_prog.prog);
-+ glamor_priv->xv_prog.prog = 0;
-+ }
-+
- for (i = 0; i < 3; i++)
- if (port_priv->src_pix[i])
- glamor_destroy_pixmap(port_priv->src_pix[i]);
-@@ -435,17 +525,34 @@ glamor_xv_put_image(glamor_port_private *port_priv,
- port_priv->src_pix[0] =
- glamor_create_pixmap(pScreen, width, height, 8,
- GLAMOR_CREATE_FBO_NO_FBO);
-- port_priv->src_pix[1] =
-- glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8,
-- GLAMOR_CREATE_FBO_NO_FBO);
-- port_priv->src_pix[2] =
-- glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8,
-- GLAMOR_CREATE_FBO_NO_FBO);
-+
-+ switch (id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ port_priv->src_pix[1] =
-+ glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8,
-+ GLAMOR_CREATE_FBO_NO_FBO);
-+ port_priv->src_pix[2] =
-+ glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8,
-+ GLAMOR_CREATE_FBO_NO_FBO);
-+ if (!port_priv->src_pix[2])
-+ return BadAlloc;
-+ break;
-+ case FOURCC_NV12:
-+ port_priv->src_pix[1] =
-+ glamor_create_pixmap(pScreen, width >> 1, height >> 1, 16,
-+ GLAMOR_CREATE_FBO_NO_FBO |
-+ GLAMOR_CREATE_FORMAT_CBCR);
-+ port_priv->src_pix[2] = NULL;
-+ break;
-+ default:
-+ return BadMatch;
-+ }
-+
- port_priv->src_pix_w = width;
- port_priv->src_pix_h = height;
-
-- if (!port_priv->src_pix[0] || !port_priv->src_pix[1] ||
-- !port_priv->src_pix[2])
-+ if (!port_priv->src_pix[0] || !port_priv->src_pix[1])
- return BadAlloc;
- }
-
-@@ -489,6 +596,29 @@ glamor_xv_put_image(glamor_port_private *port_priv,
- 0, 0, 0, 0,
- buf + s3offset, srcPitch2);
- break;
-+ case FOURCC_NV12:
-+ srcPitch = ALIGN(width, 4);
-+ s2offset = srcPitch * height;
-+ s2offset += ((top >> 1) * srcPitch);
-+
-+ full_box.x1 = 0;
-+ full_box.y1 = 0;
-+ full_box.x2 = width;
-+ full_box.y2 = nlines;
-+
-+ half_box.x1 = 0;
-+ half_box.y1 = 0;
-+ half_box.x2 = width;
-+ half_box.y2 = (nlines + 1) >> 1;
-+
-+ glamor_upload_boxes(port_priv->src_pix[0], &full_box, 1,
-+ 0, 0, 0, 0,
-+ buf + (top * srcPitch), srcPitch);
-+
-+ glamor_upload_boxes(port_priv->src_pix[1], &half_box, 1,
-+ 0, 0, 0, 0,
-+ buf + s2offset, srcPitch);
-+ break;
- default:
- return BadMatch;
- }
-@@ -511,7 +641,7 @@ glamor_xv_put_image(glamor_port_private *port_priv,
- port_priv->w = width;
- port_priv->h = height;
- port_priv->pDraw = pDrawable;
-- glamor_xv_render(port_priv);
-+ glamor_xv_render(port_priv, id);
- return Success;
- }
-
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch
deleted file mode 100644
index c116576f..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 69892ca6a623057ed4e3be0c22cb7fd812425024 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
-Date: Wed, 19 Dec 2018 10:11:22 +0100
-Subject: [PATCH 4/8] glamor: Remove unused format_for_pixmap helper
-
-Upstream-Status: Backport
-Reviewed-by: Eric Anholt <eric@anholt.net>
----
- glamor/glamor_utils.h | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h
-index 1890c1fe5..8a147ca7e 100644
---- a/glamor/glamor_utils.h
-+++ b/glamor/glamor_utils.h
-@@ -629,12 +629,6 @@ gl_iformat_for_pixmap(PixmapPtr pixmap)
- }
- }
-
--static inline CARD32
--format_for_pixmap(PixmapPtr pixmap)
--{
-- return format_for_depth((pixmap)->drawable.depth);
--}
--
- #define REVERT_NONE 0
- #define REVERT_NORMAL 1
- #define REVERT_UPLOADING_A1 3
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch
deleted file mode 100644
index 9a0aa7ab..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 2498f6712c3b551c4d8104628aff78246b5cd6c8 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 26 Mar 2019 15:58:59 -0700
-Subject: [PATCH 5/8] glamor: Stop trying to store the pixmap's "format" in
- glamor_pixmap_fbo.
-
-"format" is a bit of a confused term (internalformat vs GL format),
-and all we really needed was "is this GL_RED?"
-
-Upstream-Status: Backport
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- glamor/glamor.c | 3 +--
- glamor/glamor_fbo.c | 7 ++++---
- glamor/glamor_priv.h | 13 ++-----------
- glamor/glamor_render.c | 2 +-
- glamor/glamor_transfer.c | 2 +-
- 5 files changed, 9 insertions(+), 18 deletions(-)
-
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index 3e9cf284c..c36b6ea74 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -184,8 +184,7 @@ glamor_bind_texture(glamor_screen_private *glamor_priv, GLenum texture,
- /* Is the operand a GL_RED fbo?
- */
-
-- if (glamor_fbo_red_is_alpha(glamor_priv, fbo)) {
--
-+ if (fbo->is_red) {
- /* If destination is also GL_RED, then preserve the bits in
- * the R channel */
-
-diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c
-index f939a6c2f..58eb97bf4 100644
---- a/glamor/glamor_fbo.c
-+++ b/glamor/glamor_fbo.c
-@@ -95,7 +95,7 @@ glamor_pixmap_ensure_fb(glamor_screen_private *glamor_priv,
-
- glamor_pixmap_fbo *
- glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
-- int w, int h, GLenum format, GLint tex, int flag)
-+ int w, int h, Bool is_red, GLint tex, int flag)
- {
- glamor_pixmap_fbo *fbo;
-
-@@ -106,7 +106,7 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
- fbo->tex = tex;
- fbo->width = w;
- fbo->height = h;
-- fbo->format = format;
-+ fbo->is_red = is_red;
-
- if (flag != GLAMOR_CREATE_FBO_NO_FBO) {
- if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) {
-@@ -163,7 +163,8 @@ glamor_create_fbo(glamor_screen_private *glamor_priv,
- if (!tex) /* Texture creation failed due to GL_OUT_OF_MEMORY */
- return NULL;
-
-- return glamor_create_fbo_from_tex(glamor_priv, w, h, format, tex, flag);
-+ return glamor_create_fbo_from_tex(glamor_priv, w, h, format == GL_RED,
-+ tex, flag);
- }
-
- /**
-diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h
-index a14aaf624..e70d349da 100644
---- a/glamor/glamor_priv.h
-+++ b/glamor/glamor_priv.h
-@@ -317,8 +317,7 @@ typedef struct glamor_pixmap_fbo {
- GLuint fb; /**< GL FBO name */
- int width; /**< width in pixels */
- int height; /**< height in pixels */
-- GLenum format; /**< GL format used to create the texture. */
-- GLenum type; /**< GL type used to create the texture. */
-+ Bool is_red;
- } glamor_pixmap_fbo;
-
- typedef struct glamor_pixmap_clipped_regions {
-@@ -533,7 +532,7 @@ glamor_pixmap_fbo *glamor_pixmap_detach_fbo(glamor_pixmap_private *
- void glamor_pixmap_attach_fbo(PixmapPtr pixmap, glamor_pixmap_fbo *fbo);
- glamor_pixmap_fbo *glamor_create_fbo_from_tex(glamor_screen_private *
- glamor_priv, int w, int h,
-- GLenum format, GLint tex,
-+ Bool is_red, GLint tex,
- int flag);
- glamor_pixmap_fbo *glamor_create_fbo(glamor_screen_private *glamor_priv, int w,
- int h, GLenum format, int flag);
-@@ -549,14 +548,6 @@ static inline Bool glamor_picture_is_alpha(PicturePtr picture)
- return picture->format == PICT_a1 || picture->format == PICT_a8;
- }
-
--/* Return whether 'fbo' is storing alpha bits in the red channel */
--static inline Bool
--glamor_fbo_red_is_alpha(glamor_screen_private *glamor_priv, glamor_pixmap_fbo *fbo)
--{
-- /* True when the format is GL_RED (that can only happen when our one channel format is GL_RED */
-- return fbo->format == GL_RED;
--}
--
- /* Return whether 'picture' is storing alpha bits in the red channel */
- static inline Bool
- glamor_picture_red_is_alpha(PicturePtr picture)
-diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c
-index d5737018f..6db6bfbc3 100644
---- a/glamor/glamor_render.c
-+++ b/glamor/glamor_render.c
-@@ -529,7 +529,7 @@ glamor_set_composite_texture(glamor_screen_private *glamor_priv, int unit,
- * sometimes get zero bits in the R channel, which is harmless.
- */
- glamor_bind_texture(glamor_priv, GL_TEXTURE0 + unit, fbo,
-- glamor_fbo_red_is_alpha(glamor_priv, dest_priv->fbo));
-+ dest_priv->fbo->is_red);
- repeat_type = picture->repeatType;
- switch (picture->repeatType) {
- case RepeatNone:
-diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c
-index 421ed3a5f..215752d7b 100644
---- a/glamor/glamor_transfer.c
-+++ b/glamor/glamor_transfer.c
-@@ -40,7 +40,7 @@ glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type)
- break;
- case 16:
- if (priv->is_cbcr) {
-- *format = priv->fbo->format;
-+ *format = GL_RG;
- *type = GL_UNSIGNED_BYTE;
- } else {
- *format = GL_RGB;
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch
deleted file mode 100644
index 66d2877c..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-From 3c14a16e1b4277aa00a2b23d5758d99dc20ca819 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 26 Mar 2019 16:57:24 -0700
-Subject: [PATCH 6/8] glamor: Plumb the pixmap through fbo creation instead of
- a "format"
-
-For GLES, we're going to need a lot more logic for picking the
-iformat/format/type of texture setup, so we'll want the pixmap's depth
-and is_cbcr flag.
-
-Upstream-Status: Backport
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- glamor/glamor.c | 20 +++++++-------------
- glamor/glamor_fbo.c | 33 +++++++++++++++++++--------------
- glamor/glamor_picture.c | 2 +-
- glamor/glamor_priv.h | 12 ++++++------
- 4 files changed, 33 insertions(+), 34 deletions(-)
-
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index c36b6ea74..f618c2128 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -106,7 +106,6 @@ glamor_set_pixmap_texture(PixmapPtr pixmap, unsigned int tex)
- glamor_pixmap_private *pixmap_priv;
- glamor_screen_private *glamor_priv;
- glamor_pixmap_fbo *fbo;
-- GLenum format;
-
- glamor_priv = glamor_get_screen_private(screen);
- pixmap_priv = glamor_get_pixmap_private(pixmap);
-@@ -116,9 +115,9 @@ glamor_set_pixmap_texture(PixmapPtr pixmap, unsigned int tex)
- glamor_destroy_fbo(glamor_priv, fbo);
- }
-
-- format = gl_iformat_for_pixmap(pixmap);
-- fbo = glamor_create_fbo_from_tex(glamor_priv, pixmap->drawable.width,
-- pixmap->drawable.height, format, tex, 0);
-+ fbo = glamor_create_fbo_from_tex(glamor_priv, pixmap,
-+ pixmap->drawable.width,
-+ pixmap->drawable.height, tex, 0);
-
- if (fbo == NULL) {
- ErrorF("XXX fail to create fbo.\n");
-@@ -204,7 +203,6 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
- glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
- glamor_pixmap_fbo *fbo = NULL;
- int pitch;
-- GLenum format;
-
- if (w > 32767 || h > 32767)
- return NullPixmap;
-@@ -223,8 +221,6 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
-
- pixmap_priv->is_cbcr = (usage == GLAMOR_CREATE_FORMAT_CBCR);
-
-- format = gl_iformat_for_pixmap(pixmap);
--
- pitch = (((w * pixmap->drawable.bitsPerPixel + 7) / 8) + 3) & ~3;
- screen->ModifyPixmapHeader(pixmap, w, h, 0, 0, pitch, NULL);
-
-@@ -238,12 +234,12 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
- glamor_check_fbo_size(glamor_priv, w, h))
- {
- glamor_init_pixmap_private_small(pixmap, pixmap_priv);
-- fbo = glamor_create_fbo(glamor_priv, w, h, format, usage);
-+ fbo = glamor_create_fbo(glamor_priv, pixmap, w, h, usage);
- } else {
- int tile_size = glamor_priv->max_fbo_size;
- DEBUGF("Create LARGE pixmap %p width %d height %d, tile size %d\n",
- pixmap, w, h, tile_size);
-- fbo = glamor_create_fbo_array(glamor_priv, w, h, format, usage,
-+ fbo = glamor_create_fbo_array(glamor_priv, pixmap, usage,
- tile_size, tile_size, pixmap_priv);
- }
-
-@@ -860,8 +856,7 @@ _glamor_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
- switch (pixmap_priv->type) {
- case GLAMOR_TEXTURE_DRM:
- case GLAMOR_TEXTURE_ONLY:
-- if (!glamor_pixmap_ensure_fbo(pixmap, pixmap->drawable.depth == 30 ?
-- GL_RGB10_A2 : GL_RGBA, 0))
-+ if (!glamor_pixmap_ensure_fbo(pixmap, 0))
- return 0;
-
- if (modifier) {
-@@ -937,8 +932,7 @@ glamor_name_from_pixmap(PixmapPtr pixmap, CARD16 *stride, CARD32 *size)
- switch (pixmap_priv->type) {
- case GLAMOR_TEXTURE_DRM:
- case GLAMOR_TEXTURE_ONLY:
-- if (!glamor_pixmap_ensure_fbo(pixmap, pixmap->drawable.depth == 30 ?
-- GL_RGB10_A2 : GL_RGBA, 0))
-+ if (!glamor_pixmap_ensure_fbo(pixmap, 0))
- return -1;
- return glamor_egl_fd_name_from_pixmap(pixmap->drawable.pScreen,
- pixmap, stride, size);
-diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c
-index 58eb97bf4..75f7e2baa 100644
---- a/glamor/glamor_fbo.c
-+++ b/glamor/glamor_fbo.c
-@@ -95,8 +95,9 @@ glamor_pixmap_ensure_fb(glamor_screen_private *glamor_priv,
-
- glamor_pixmap_fbo *
- glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
-- int w, int h, Bool is_red, GLint tex, int flag)
-+ PixmapPtr pixmap, int w, int h, GLint tex, int flag)
- {
-+ GLenum format = gl_iformat_for_pixmap(pixmap);
- glamor_pixmap_fbo *fbo;
-
- fbo = calloc(1, sizeof(*fbo));
-@@ -106,7 +107,7 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
- fbo->tex = tex;
- fbo->width = w;
- fbo->height = h;
-- fbo->is_red = is_red;
-+ fbo->is_red = format == GL_RED;
-
- if (flag != GLAMOR_CREATE_FBO_NO_FBO) {
- if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) {
-@@ -120,13 +121,15 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
-
- static int
- _glamor_create_tex(glamor_screen_private *glamor_priv,
-- int w, int h, GLenum format)
-+ PixmapPtr pixmap, int w, int h)
- {
-+ GLenum iformat = gl_iformat_for_pixmap(pixmap);
-+ GLenum format = iformat;
- unsigned int tex;
-- GLenum iformat = format;
-
- if (format == GL_RGB10_A2)
- format = GL_RGBA;
-+
- glamor_make_current(glamor_priv);
- glGenTextures(1, &tex);
- glBindTexture(GL_TEXTURE_2D, tex);
-@@ -156,14 +159,14 @@ _glamor_create_tex(glamor_screen_private *glamor_priv,
-
- glamor_pixmap_fbo *
- glamor_create_fbo(glamor_screen_private *glamor_priv,
-- int w, int h, GLenum format, int flag)
-+ PixmapPtr pixmap, int w, int h, int flag)
- {
-- GLint tex = _glamor_create_tex(glamor_priv, w, h, format);
-+ GLint tex = _glamor_create_tex(glamor_priv, pixmap, w, h);
-
- if (!tex) /* Texture creation failed due to GL_OUT_OF_MEMORY */
- return NULL;
-
-- return glamor_create_fbo_from_tex(glamor_priv, w, h, format == GL_RED,
-+ return glamor_create_fbo_from_tex(glamor_priv, pixmap, w, h,
- tex, flag);
- }
-
-@@ -173,10 +176,12 @@ glamor_create_fbo(glamor_screen_private *glamor_priv,
- */
- glamor_pixmap_fbo *
- glamor_create_fbo_array(glamor_screen_private *glamor_priv,
-- int w, int h, GLenum format, int flag,
-+ PixmapPtr pixmap, int flag,
- int block_w, int block_h,
- glamor_pixmap_private *priv)
- {
-+ int w = pixmap->drawable.width;
-+ int h = pixmap->drawable.height;
- int block_wcnt;
- int block_hcnt;
- glamor_pixmap_fbo **fbo_array;
-@@ -216,8 +221,8 @@ glamor_create_fbo_array(glamor_screen_private *glamor_priv,
- box_array[i * block_wcnt + j].x2 - box_array[i * block_wcnt +
- j].x1;
- fbo_array[i * block_wcnt + j] = glamor_create_fbo(glamor_priv,
-+ pixmap,
- fbo_w, fbo_h,
-- format,
- GLAMOR_CREATE_PIXMAP_FIXUP);
- if (fbo_array[i * block_wcnt + j] == NULL)
- goto cleanup;
-@@ -315,7 +320,7 @@ glamor_pixmap_destroy_fbo(PixmapPtr pixmap)
- }
-
- Bool
--glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag)
-+glamor_pixmap_ensure_fbo(PixmapPtr pixmap, int flag)
- {
- glamor_screen_private *glamor_priv;
- glamor_pixmap_private *pixmap_priv;
-@@ -325,8 +330,8 @@ glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag)
- pixmap_priv = glamor_get_pixmap_private(pixmap);
- if (pixmap_priv->fbo == NULL) {
-
-- fbo = glamor_create_fbo(glamor_priv, pixmap->drawable.width,
-- pixmap->drawable.height, format, flag);
-+ fbo = glamor_create_fbo(glamor_priv, pixmap, pixmap->drawable.width,
-+ pixmap->drawable.height, flag);
- if (fbo == NULL)
- return FALSE;
-
-@@ -336,8 +341,8 @@ glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag)
- /* We do have a fbo, but it may lack of fb or tex. */
- if (!pixmap_priv->fbo->tex)
- pixmap_priv->fbo->tex =
-- _glamor_create_tex(glamor_priv, pixmap->drawable.width,
-- pixmap->drawable.height, format);
-+ _glamor_create_tex(glamor_priv, pixmap, pixmap->drawable.width,
-+ pixmap->drawable.height);
-
- if (flag != GLAMOR_CREATE_FBO_NO_FBO && pixmap_priv->fbo->fb == 0)
- if (glamor_pixmap_ensure_fb(glamor_priv, pixmap_priv->fbo) != 0)
-diff --git a/glamor/glamor_picture.c b/glamor/glamor_picture.c
-index 685d8d618..e6d387d42 100644
---- a/glamor/glamor_picture.c
-+++ b/glamor/glamor_picture.c
-@@ -340,7 +340,7 @@ glamor_upload_picture_to_texture(PicturePtr picture)
- else
- iformat = format;
-
-- if (!glamor_pixmap_ensure_fbo(pixmap, iformat, GLAMOR_CREATE_FBO_NO_FBO)) {
-+ if (!glamor_pixmap_ensure_fbo(pixmap, GLAMOR_CREATE_FBO_NO_FBO)) {
- ret = FALSE;
- goto fail;
- }
-diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h
-index e70d349da..a87caec9b 100644
---- a/glamor/glamor_priv.h
-+++ b/glamor/glamor_priv.h
-@@ -531,11 +531,11 @@ glamor_pixmap_fbo *glamor_pixmap_detach_fbo(glamor_pixmap_private *
- pixmap_priv);
- void glamor_pixmap_attach_fbo(PixmapPtr pixmap, glamor_pixmap_fbo *fbo);
- glamor_pixmap_fbo *glamor_create_fbo_from_tex(glamor_screen_private *
-- glamor_priv, int w, int h,
-- Bool is_red, GLint tex,
-+ glamor_priv, PixmapPtr pixmap,
-+ int w, int h, GLint tex,
- int flag);
--glamor_pixmap_fbo *glamor_create_fbo(glamor_screen_private *glamor_priv, int w,
-- int h, GLenum format, int flag);
-+glamor_pixmap_fbo *glamor_create_fbo(glamor_screen_private *glamor_priv,
-+ PixmapPtr pixmap, int w, int h, int flag);
- void glamor_destroy_fbo(glamor_screen_private *glamor_priv,
- glamor_pixmap_fbo *fbo);
- void glamor_pixmap_destroy_fbo(PixmapPtr pixmap);
-@@ -563,7 +563,7 @@ void glamor_bind_texture(glamor_screen_private *glamor_priv,
- Bool destination_red);
-
- glamor_pixmap_fbo *glamor_create_fbo_array(glamor_screen_private *glamor_priv,
-- int w, int h, GLenum format,
-+ PixmapPtr pixmap,
- int flag, int block_w, int block_h,
- glamor_pixmap_private *);
-
-@@ -673,7 +673,7 @@ glamor_put_vbo_space(ScreenPtr screen);
- * the fbo has valid texture and attach to a valid fb.
- * If the fbo already has a valid glfbo then do nothing.
- */
--Bool glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag);
-+Bool glamor_pixmap_ensure_fbo(PixmapPtr pixmap, int flag);
-
- glamor_pixmap_clipped_regions *
- glamor_compute_clipped_regions(PixmapPtr pixmap,
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch
deleted file mode 100644
index f2947f32..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch
+++ /dev/null
@@ -1,287 +0,0 @@
-From 3a03576d672d24f19fdb930b08afde9a3a3f55da Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 26 Mar 2019 15:02:38 -0700
-Subject: [PATCH 7/8] glamor: Switch the gl_flavor to a boolean is_gles.
-
-There are only 2 flavors we are distinguishing -- GL versions are
-handled separately.
-
-Upstream-Status: Backport
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- glamor/glamor.c | 20 +++++++++-----------
- glamor/glamor_picture.c | 22 +++++++++++-----------
- glamor/glamor_pixmap.c | 2 +-
- glamor/glamor_priv.h | 7 +------
- glamor/glamor_program.c | 2 +-
- glamor/glamor_render.c | 2 +-
- glamor/glamor_utils.h | 6 +++---
- 7 files changed, 27 insertions(+), 34 deletions(-)
-
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index f618c2128..019edbbb1 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -505,10 +505,8 @@ glamor_init(ScreenPtr screen, unsigned int flags)
-
- glamor_make_current(glamor_priv);
-
-- if (epoxy_is_desktop_gl())
-- glamor_priv->gl_flavor = GLAMOR_GL_DESKTOP;
-- else
-- glamor_priv->gl_flavor = GLAMOR_GL_ES2;
-+ if (!epoxy_is_desktop_gl())
-+ glamor_priv->is_gles = TRUE;
-
- gl_version = epoxy_gl_version();
-
-@@ -540,7 +538,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
- }
- glamor_priv->glsl_version = glsl_major * 100 + glsl_minor;
-
-- if (glamor_priv->gl_flavor == GLAMOR_GL_ES2) {
-+ if (glamor_priv->is_gles) {
- /* Force us back to the base version of our programs on an ES
- * context, anyway. Basically glamor only uses desktop 1.20
- * or 1.30 currently. 1.30's new features are also present in
-@@ -564,7 +562,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
- * have support for it, with most of the ones lacking it being on
- * Windows with Intel 4-series (G45) graphics or older.
- */
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- if (gl_version < 21) {
- ErrorF("Require OpenGL version 2.1 or later.\n");
- goto fail;
-@@ -610,7 +608,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
- }
-
- glamor_priv->has_rw_pbo = FALSE;
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP)
-+ if (!glamor_priv->is_gles)
- glamor_priv->has_rw_pbo = TRUE;
-
- glamor_priv->has_khr_debug = epoxy_has_gl_extension("GL_KHR_debug");
-@@ -628,11 +626,11 @@ glamor_init(ScreenPtr screen, unsigned int flags)
- glamor_priv->has_nv_texture_barrier =
- epoxy_has_gl_extension("GL_NV_texture_barrier");
- glamor_priv->has_unpack_subimage =
-- glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP ||
-+ !glamor_priv->is_gles ||
- epoxy_gl_version() >= 30 ||
- epoxy_has_gl_extension("GL_EXT_unpack_subimage");
- glamor_priv->has_pack_subimage =
-- glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP ||
-+ !glamor_priv->is_gles ||
- epoxy_gl_version() >= 30 ||
- epoxy_has_gl_extension("GL_NV_pack_subimage");
- glamor_priv->has_dual_blend =
-@@ -643,7 +641,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
-
- glamor_setup_debug_output(screen);
-
-- glamor_priv->use_quads = (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) &&
-+ glamor_priv->use_quads = !glamor_priv->is_gles &&
- !glamor_priv->is_core_profile;
-
- /* Driver-specific hack: Avoid using GL_QUADS on VC4, where
-@@ -665,7 +663,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
-
- glamor_priv->has_texture_swizzle =
- (epoxy_has_gl_extension("GL_ARB_texture_swizzle") ||
-- (glamor_priv->gl_flavor != GLAMOR_GL_DESKTOP && gl_version >= 30));
-+ (glamor_priv->is_gles && gl_version >= 30));
-
- glamor_priv->one_channel_format = GL_ALPHA;
- if (epoxy_has_gl_extension("GL_ARB_texture_rg") &&
-diff --git a/glamor/glamor_picture.c b/glamor/glamor_picture.c
-index e6d387d42..ed2decc83 100644
---- a/glamor/glamor_picture.c
-+++ b/glamor/glamor_picture.c
-@@ -90,7 +90,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_b8g8r8x8:
- case PICT_b8g8r8a8:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_BGRA;
- *tex_type = GL_UNSIGNED_INT_8_8_8_8;
- } else {
-@@ -109,7 +109,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_x8r8g8b8:
- case PICT_a8r8g8b8:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_BGRA;
- *tex_type = GL_UNSIGNED_INT_8_8_8_8_REV;
- } else {
-@@ -128,7 +128,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
- case PICT_x8b8g8r8:
- case PICT_a8b8g8r8:
- *tex_format = GL_RGBA;
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_type = GL_UNSIGNED_INT_8_8_8_8_REV;
- } else {
- *tex_format = GL_RGBA;
-@@ -141,7 +141,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_x2r10g10b10:
- case PICT_a2r10g10b10:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_BGRA;
- *tex_type = GL_UNSIGNED_INT_2_10_10_10_REV;
- } else {
-@@ -151,7 +151,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_x2b10g10r10:
- case PICT_a2b10g10r10:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_RGBA;
- *tex_type = GL_UNSIGNED_INT_2_10_10_10_REV;
- } else {
-@@ -165,7 +165,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
- break;
- case PICT_b5g6r5:
- *tex_format = GL_RGB;
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_type = GL_UNSIGNED_SHORT_5_6_5_REV;
- } else {
- *tex_type = GL_UNSIGNED_SHORT_5_6_5;
-@@ -177,7 +177,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
- case PICT_x1b5g5r5:
- case PICT_a1b5g5r5:
- *tex_format = GL_RGBA;
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_type = GL_UNSIGNED_SHORT_1_5_5_5_REV;
- } else {
- return FALSE;
-@@ -186,7 +186,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_x1r5g5b5:
- case PICT_a1r5g5b5:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_BGRA;
- *tex_type = GL_UNSIGNED_SHORT_1_5_5_5_REV;
- } else {
-@@ -201,7 +201,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_x4r4g4b4:
- case PICT_a4r4g4b4:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_BGRA;
- *tex_type = GL_UNSIGNED_SHORT_4_4_4_4_REV;
- } else {
-@@ -213,7 +213,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- case PICT_x4b4g4r4:
- case PICT_a4b4g4r4:
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) {
-+ if (!glamor_priv->is_gles) {
- *tex_format = GL_RGBA;
- *tex_type = GL_UNSIGNED_SHORT_4_4_4_4_REV;
- } else {
-@@ -335,7 +335,7 @@ glamor_upload_picture_to_texture(PicturePtr picture)
- stride = pixman_image_get_stride(converted_image);
- }
-
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP)
-+ if (!glamor_priv->is_gles)
- iformat = gl_iformat_for_pixmap(pixmap);
- else
- iformat = format;
-diff --git a/glamor/glamor_pixmap.c b/glamor/glamor_pixmap.c
-index 166bde509..9aa169cdc 100644
---- a/glamor/glamor_pixmap.c
-+++ b/glamor/glamor_pixmap.c
-@@ -124,7 +124,7 @@ glamor_set_alu(ScreenPtr screen, unsigned char alu)
- {
- glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
-
-- if (glamor_priv->gl_flavor == GLAMOR_GL_ES2) {
-+ if (glamor_priv->is_gles) {
- if (alu != GXcopy)
- return FALSE;
- else
-diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h
-index a87caec9b..8e8433ff3 100644
---- a/glamor/glamor_priv.h
-+++ b/glamor/glamor_priv.h
-@@ -155,11 +155,6 @@ enum gradient_shader {
- struct glamor_screen_private;
- struct glamor_pixmap_private;
-
--enum glamor_gl_flavor {
-- GLAMOR_GL_DESKTOP, // OPENGL API
-- GLAMOR_GL_ES2 // OPENGL ES2.0 API
--};
--
- #define GLAMOR_COMPOSITE_VBO_VERT_CNT (64*1024)
-
- struct glamor_saved_procs {
-@@ -185,7 +180,7 @@ struct glamor_saved_procs {
- };
-
- typedef struct glamor_screen_private {
-- enum glamor_gl_flavor gl_flavor;
-+ Bool is_gles;
- int glsl_version;
- Bool has_pack_invert;
- Bool has_fbo_blit;
-diff --git a/glamor/glamor_program.c b/glamor/glamor_program.c
-index 830deb38b..b0a9d07a4 100644
---- a/glamor/glamor_program.c
-+++ b/glamor/glamor_program.c
-@@ -459,7 +459,7 @@ glamor_set_blend(CARD8 op, glamor_program_alpha alpha, PicturePtr dst)
- break;
- }
-
-- if (glamor_priv->gl_flavor != GLAMOR_GL_ES2)
-+ if (!glamor_priv->is_gles)
- glDisable(GL_COLOR_LOGIC_OP);
-
- if (op == PictOpSrc)
-diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c
-index 6db6bfbc3..d3859e4d1 100644
---- a/glamor/glamor_render.c
-+++ b/glamor/glamor_render.c
-@@ -1091,7 +1091,7 @@ glamor_composite_set_shader_blend(glamor_screen_private *glamor_priv,
- }
- }
-
-- if (glamor_priv->gl_flavor != GLAMOR_GL_ES2)
-+ if (!glamor_priv->is_gles)
- glDisable(GL_COLOR_LOGIC_OP);
-
- if (op_info->source_blend == GL_ONE && op_info->dest_blend == GL_ZERO) {
-diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h
-index 8a147ca7e..cbb808294 100644
---- a/glamor/glamor_utils.h
-+++ b/glamor/glamor_utils.h
-@@ -615,13 +615,13 @@ gl_iformat_for_pixmap(PixmapPtr pixmap)
- glamor_get_screen_private((pixmap)->drawable.pScreen);
- glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap);
-
-- if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP &&
-+ if (!glamor_priv->is_gles &&
- ((pixmap)->drawable.depth == 1 || (pixmap)->drawable.depth == 8)) {
- return glamor_priv->one_channel_format;
-- } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP &&
-+ } else if (!glamor_priv->is_gles &&
- (pixmap)->drawable.depth == 16 && pixmap_priv->is_cbcr) {
- return GL_RG;
-- } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP &&
-+ } else if (!glamor_priv->is_gles &&
- (pixmap)->drawable.depth == 30) {
- return GL_RGB10_A2;
- } else {
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch
deleted file mode 100644
index dd82340a..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch
+++ /dev/null
@@ -1,669 +0,0 @@
-From b75296bee6ab3578f3a13cfb6de5d77ec02b9047 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 26 Mar 2019 15:10:49 -0700
-Subject: [PATCH 8/8] glamor: Introduce a central place for our pixmap
- format/type handling.
-
-We had various helper functions trying to come up with the
-internalformat/format/type/render formats for pixmaps, and it's much
-nicer to just detect what those should be once at startup. This gives
-us a chance to do the right thing for GLES.
-
-It also, notably, fixes our format/type for depth 15 and 16 setup for
-desktop GL, so that we actually allocate 16bpp (GL_RGB/565) on most
-drivers instead of 32bpp (GL_RGB/UBYTE).
-
-GLES still has regressions over desktop (2 regressions in llvmpipe
-XTS, many in rendercheck), but I think this is a good baseline.
-
-Upstream-Status: Backport
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- glamor/glamor.c | 167 ++++++++++++++++++++++++++++++++++++--
- glamor/glamor_fbo.c | 16 ++--
- glamor/glamor_picture.c | 7 +-
- glamor/glamor_priv.h | 22 ++++-
- glamor/glamor_render.c | 7 +-
- glamor/glamor_spans.c | 14 ++--
- glamor/glamor_transfer.c | 56 ++-----------
- glamor/glamor_transfer.h | 3 -
- glamor/glamor_transform.c | 5 +-
- glamor/glamor_utils.h | 57 -------------
- 10 files changed, 209 insertions(+), 145 deletions(-)
-
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index 019edbbb1..3450113e0 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -212,7 +212,7 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
- w <= glamor_priv->glyph_max_dim &&
- h <= glamor_priv->glyph_max_dim)
- || (w == 0 && h == 0)
-- || !glamor_check_pixmap_fbo_depth(depth)))
-+ || !glamor_priv->formats[depth].format))
- return fbCreatePixmap(screen, w, h, depth, usage);
- else
- pixmap = fbCreatePixmap(screen, 0, 0, depth, usage);
-@@ -440,6 +440,165 @@ glamor_setup_debug_output(ScreenPtr screen)
- glEnable(GL_DEBUG_OUTPUT);
- }
-
-+const struct glamor_format *
-+glamor_format_for_pixmap(PixmapPtr pixmap)
-+{
-+ ScreenPtr pScreen = pixmap->drawable.pScreen;
-+ glamor_screen_private *glamor_priv = glamor_get_screen_private(pScreen);
-+ glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap);
-+
-+ if (pixmap_priv->is_cbcr)
-+ return &glamor_priv->cbcr_format;
-+ else
-+ return &glamor_priv->formats[pixmap->drawable.depth];
-+}
-+
-+static void
-+glamor_add_format(ScreenPtr screen, int depth, CARD32 render_format,
-+ GLenum internalformat, GLenum format, GLenum type)
-+{
-+ glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
-+ struct glamor_format *f = &glamor_priv->formats[depth];
-+
-+ /* If we're trying to run on GLES, make sure that we get the read
-+ * formats that we're expecting, since glamor_transfer relies on
-+ * them matching to get data back out. To avoid this limitation, we
-+ * would need to have a more general glReadPixels() path in
-+ * glamor_transfer that re-encoded the bits to the pixel format that
-+ * we intended after.
-+ *
-+ * Note that we can't just create a pixmap because we're in
-+ * screeninit.
-+ */
-+ if (glamor_priv->is_gles) {
-+ unsigned fbo, tex;
-+ int read_format, read_type;
-+ GLenum status;
-+
-+ glGenTextures(1, &tex);
-+ glBindTexture(GL_TEXTURE_2D, tex);
-+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-+ glTexImage2D(GL_TEXTURE_2D, 0, internalformat, 1, 1, 0,
-+ format, type, NULL);
-+
-+ glGenFramebuffers(1, &fbo);
-+ glBindFramebuffer(GL_FRAMEBUFFER, fbo);
-+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
-+ GL_TEXTURE_2D, tex, 0);
-+ status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
-+ if (status != GL_FRAMEBUFFER_COMPLETE) {
-+ ErrorF("glamor: Test fbo for depth %d incomplete. "
-+ "Falling back to software.\n", depth);
-+ glDeleteTextures(1, &tex);
-+ glDeleteFramebuffers(1, &fbo);
-+ return;
-+ }
-+
-+ glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_FORMAT, &read_format);
-+ glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_TYPE, &read_type);
-+
-+ glDeleteTextures(1, &tex);
-+ glDeleteFramebuffers(1, &fbo);
-+
-+ if (format != read_format || type != read_type) {
-+ ErrorF("glamor: Implementation returned 0x%x/0x%x read format/type "
-+ "for depth %d, expected 0x%x/0x%x. "
-+ "Falling back to software.\n",
-+ read_format, read_type, depth, format, type);
-+ return;
-+ }
-+ }
-+
-+ f->depth = depth;
-+ f->render_format = render_format;
-+ f->internalformat = internalformat;
-+ f->format = format;
-+ f->type = type;
-+}
-+
-+/* Set up the GL format/types that glamor will use for the various depths
-+ *
-+ * X11's pixel data doesn't have channels, but to store our data in GL
-+ * we have to pick some sort of format to move X11 pixel data in and
-+ * out with in glamor_transfer.c. For X11 core operations, other than
-+ * GL logic ops (non-GXcopy GC ops) what the driver chooses internally
-+ * doesn't matter as long as it doesn't drop any bits (we expect them
-+ * to generally expand, if anything). For Render, we can expect
-+ * clients to tend to render with PictFormats matching our channel
-+ * layouts here since ultimately X11 pixels tend to end up on the
-+ * screen. The render implementation will fall back to fb if the
-+ * channels don't match.
-+ *
-+ * Note that these formats don't affect what glamor_egl.c or
-+ * Xwayland's EGL layer choose for surfaces exposed through DRI or
-+ * scanout. For now, those layers need to match what we're choosing
-+ * here, or channels will end up swizzled around. Similarly, the
-+ * driver's visual masks also need to match what we're doing here.
-+ */
-+static void
-+glamor_setup_formats(ScreenPtr screen)
-+{
-+ glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
-+
-+ /* Prefer r8 textures since they're required by GLES3 and core,
-+ * only falling back to a8 if we can't do them.
-+ */
-+ if (glamor_priv->is_gles || epoxy_has_gl_extension("GL_ARB_texture_rg")) {
-+ glamor_add_format(screen, 8, PICT_a8,
-+ GL_R8, GL_RED, GL_UNSIGNED_BYTE);
-+ } else {
-+ glamor_add_format(screen, 8, PICT_a8,
-+ GL_ALPHA, GL_ALPHA, GL_UNSIGNED_BYTE);
-+ }
-+
-+ if (glamor_priv->is_gles) {
-+ /* For 15bpp, GLES supports format/type RGBA/5551, rather than
-+ * bgra/1555_rev. GL_EXT_bgra lets the impl say the color
-+ * read format/type is bgra/1555 even if we had to create it
-+ * with rgba/5551, with Mesa does. That means we can't use
-+ * the same format/type for TexSubImage and readpixels.
-+ *
-+ * Instead, just store 16 bits using the trusted 565 path, and
-+ * disable render accel for now.
-+ */
-+ glamor_add_format(screen, 15, PICT_x1r5g5b5,
-+ GL_RGB5_A1, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1);
-+ } else {
-+ glamor_add_format(screen, 15, PICT_x1r5g5b5,
-+ GL_RGBA, GL_BGRA, GL_UNSIGNED_SHORT_1_5_5_5_REV);
-+ }
-+
-+ glamor_add_format(screen, 16, PICT_r5g6b5,
-+ GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5);
-+
-+ if (glamor_priv->is_gles) {
-+ assert(X_BYTE_ORDER == X_LITTLE_ENDIAN);
-+ glamor_add_format(screen, 24, PICT_x8b8g8r8,
-+ GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE);
-+ glamor_add_format(screen, 32, PICT_a8b8g8r8,
-+ GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE);
-+ } else {
-+ glamor_add_format(screen, 24, PICT_x8r8g8b8,
-+ GL_RGBA, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV);
-+ glamor_add_format(screen, 32, PICT_a8r8g8b8,
-+ GL_RGBA, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV);
-+ }
-+
-+ if (glamor_priv->is_gles) {
-+ glamor_add_format(screen, 30, PICT_x2b10g10r10,
-+ GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV);
-+ } else {
-+ glamor_add_format(screen, 30, PICT_x2r10g10b10,
-+ GL_RGB10_A2, GL_BGRA, GL_UNSIGNED_INT_2_10_10_10_REV);
-+ }
-+
-+ glamor_priv->cbcr_format.depth = 16;
-+ glamor_priv->cbcr_format.internalformat = GL_RG8;
-+ glamor_priv->cbcr_format.format = GL_RG;
-+ glamor_priv->cbcr_format.type = GL_UNSIGNED_BYTE;
-+}
-+
- /** Set up glamor for an already-configured GL context. */
- Bool
- glamor_init(ScreenPtr screen, unsigned int flags)
-@@ -665,11 +824,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
- (epoxy_has_gl_extension("GL_ARB_texture_swizzle") ||
- (glamor_priv->is_gles && gl_version >= 30));
-
-- glamor_priv->one_channel_format = GL_ALPHA;
-- if (epoxy_has_gl_extension("GL_ARB_texture_rg") &&
-- glamor_priv->has_texture_swizzle) {
-- glamor_priv->one_channel_format = GL_RED;
-- }
-+ glamor_setup_formats(screen);
-
- glamor_set_debug_level(&glamor_debug_level);
-
-diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c
-index 75f7e2baa..dfb3f754d 100644
---- a/glamor/glamor_fbo.c
-+++ b/glamor/glamor_fbo.c
-@@ -97,7 +97,7 @@ glamor_pixmap_fbo *
- glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
- PixmapPtr pixmap, int w, int h, GLint tex, int flag)
- {
-- GLenum format = gl_iformat_for_pixmap(pixmap);
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
- glamor_pixmap_fbo *fbo;
-
- fbo = calloc(1, sizeof(*fbo));
-@@ -107,7 +107,7 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv,
- fbo->tex = tex;
- fbo->width = w;
- fbo->height = h;
-- fbo->is_red = format == GL_RED;
-+ fbo->is_red = f->format == GL_RED;
-
- if (flag != GLAMOR_CREATE_FBO_NO_FBO) {
- if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) {
-@@ -123,23 +123,19 @@ static int
- _glamor_create_tex(glamor_screen_private *glamor_priv,
- PixmapPtr pixmap, int w, int h)
- {
-- GLenum iformat = gl_iformat_for_pixmap(pixmap);
-- GLenum format = iformat;
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
- unsigned int tex;
-
-- if (format == GL_RGB10_A2)
-- format = GL_RGBA;
--
- glamor_make_current(glamor_priv);
- glGenTextures(1, &tex);
- glBindTexture(GL_TEXTURE_2D, tex);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-- if (format == glamor_priv->one_channel_format && format == GL_RED)
-+ if (f->format == GL_RED)
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_RED);
- glamor_priv->suppress_gl_out_of_memory_logging = true;
-- glTexImage2D(GL_TEXTURE_2D, 0, iformat, w, h, 0,
-- format, GL_UNSIGNED_BYTE, NULL);
-+ glTexImage2D(GL_TEXTURE_2D, 0, f->internalformat, w, h, 0,
-+ f->format, f->type, NULL);
- glamor_priv->suppress_gl_out_of_memory_logging = false;
-
- if (glGetError() == GL_OUT_OF_MEMORY) {
-diff --git a/glamor/glamor_picture.c b/glamor/glamor_picture.c
-index ed2decc83..33b3bebd9 100644
---- a/glamor/glamor_picture.c
-+++ b/glamor/glamor_picture.c
-@@ -83,7 +83,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
-
- switch (format) {
- case PICT_a1:
-- *tex_format = glamor_priv->one_channel_format;
-+ *tex_format = glamor_priv->formats[1].format;
- *tex_type = GL_UNSIGNED_BYTE;
- *temp_format = PICT_a8;
- break;
-@@ -195,7 +195,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
- break;
-
- case PICT_a8:
-- *tex_format = glamor_priv->one_channel_format;
-+ *tex_format = glamor_priv->formats[8].format;
- *tex_type = GL_UNSIGNED_BYTE;
- break;
-
-@@ -286,6 +286,7 @@ glamor_upload_picture_to_texture(PicturePtr picture)
- Bool ret = TRUE;
- Bool needs_swizzle;
- pixman_image_t *converted_image = NULL;
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
-
- assert(glamor_pixmap_is_memory(pixmap));
- assert(!pixmap_priv->fbo);
-@@ -336,7 +337,7 @@ glamor_upload_picture_to_texture(PicturePtr picture)
- }
-
- if (!glamor_priv->is_gles)
-- iformat = gl_iformat_for_pixmap(pixmap);
-+ iformat = f->internalformat;
- else
- iformat = format;
-
-diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h
-index 8e8433ff3..b8e2b932e 100644
---- a/glamor/glamor_priv.h
-+++ b/glamor/glamor_priv.h
-@@ -157,6 +157,21 @@ struct glamor_pixmap_private;
-
- #define GLAMOR_COMPOSITE_VBO_VERT_CNT (64*1024)
-
-+struct glamor_format {
-+ /** X Server's "depth" value */
-+ int depth;
-+ /** GL internalformat for creating textures of this type */
-+ GLenum internalformat;
-+ /** GL format transferring pixels in/out of textures of this type. */
-+ GLenum format;
-+ /** GL type transferring pixels in/out of textures of this type. */
-+ GLenum type;
-+ /* Render PICT_* matching GL's channel layout for pixels
-+ * transferred using format/type.
-+ */
-+ CARD32 render_format;
-+};
-+
- struct glamor_saved_procs {
- CloseScreenProcPtr close_screen;
- CreateGCProcPtr create_gc;
-@@ -199,7 +214,8 @@ typedef struct glamor_screen_private {
- Bool can_copyplane;
- int max_fbo_size;
-
-- GLuint one_channel_format;
-+ struct glamor_format formats[33];
-+ struct glamor_format cbcr_format;
-
- /* glamor point shader */
- glamor_program point_prog;
-@@ -537,6 +553,8 @@ void glamor_pixmap_destroy_fbo(PixmapPtr pixmap);
- Bool glamor_pixmap_fbo_fixup(ScreenPtr screen, PixmapPtr pixmap);
- void glamor_pixmap_clear_fbo(glamor_screen_private *glamor_priv, glamor_pixmap_fbo *fbo);
-
-+const struct glamor_format *glamor_format_for_pixmap(PixmapPtr pixmap);
-+
- /* Return whether 'picture' is alpha-only */
- static inline Bool glamor_picture_is_alpha(PicturePtr picture)
- {
-@@ -549,7 +567,7 @@ glamor_picture_red_is_alpha(PicturePtr picture)
- {
- /* True when the picture is alpha only and the screen is using GL_RED for alpha pictures */
- return glamor_picture_is_alpha(picture) &&
-- glamor_get_screen_private(picture->pDrawable->pScreen)->one_channel_format == GL_RED;
-+ glamor_get_screen_private(picture->pDrawable->pScreen)->formats[8].format == GL_RED;
- }
-
- void glamor_bind_texture(glamor_screen_private *glamor_priv,
-diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c
-index d3859e4d1..a8dc3924b 100644
---- a/glamor/glamor_render.c
-+++ b/glamor/glamor_render.c
-@@ -772,12 +772,15 @@ static Bool
- glamor_render_format_is_supported(PicturePtr picture)
- {
- PictFormatShort storage_format;
-+ glamor_screen_private *glamor_priv;
-
- /* Source-only pictures should always work */
- if (!picture->pDrawable)
- return TRUE;
-
-- storage_format = format_for_depth(picture->pDrawable->depth);
-+ glamor_priv = glamor_get_screen_private(picture->pDrawable->pScreen);
-+ storage_format =
-+ glamor_priv->formats[picture->pDrawable->depth].render_format;
-
- switch (picture->format) {
- case PICT_x2r10g10b10:
-@@ -898,7 +901,7 @@ glamor_composite_choose_shader(CARD8 op,
- }
-
- if (dest_pixmap->drawable.bitsPerPixel <= 8 &&
-- glamor_priv->one_channel_format == GL_RED) {
-+ glamor_priv->formats[8].format == GL_RED) {
- key.dest_swizzle = SHADER_DEST_SWIZZLE_ALPHA_TO_RED;
- } else {
- key.dest_swizzle = SHADER_DEST_SWIZZLE_DEFAULT;
-diff --git a/glamor/glamor_spans.c b/glamor/glamor_spans.c
-index b3c028d67..b5f297d2f 100644
---- a/glamor/glamor_spans.c
-+++ b/glamor/glamor_spans.c
-@@ -187,9 +187,8 @@ glamor_get_spans_gl(DrawablePtr drawable, int wmax,
- int box_index;
- int n;
- char *d;
-- GLenum type;
-- GLenum format;
- int off_x, off_y;
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
-
- pixmap_priv = glamor_get_pixmap_private(pixmap);
- if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv))
-@@ -197,8 +196,6 @@ glamor_get_spans_gl(DrawablePtr drawable, int wmax,
-
- glamor_get_drawable_deltas(drawable, pixmap, &off_x, &off_y);
-
-- glamor_format_for_pixmap(pixmap, &format, &type);
--
- glamor_make_current(glamor_priv);
-
- glamor_pixmap_loop(pixmap_priv, box_index) {
-@@ -234,7 +231,8 @@ glamor_get_spans_gl(DrawablePtr drawable, int wmax,
- if (y >= box->y2)
- continue;
-
-- glReadPixels(x1 - box->x1, y - box->y1, x2 - x1, 1, format, type, l);
-+ glReadPixels(x1 - box->x1, y - box->y1, x2 - x1, 1,
-+ f->format, f->type, l);
- }
- }
-
-@@ -269,11 +267,10 @@ glamor_set_spans_gl(DrawablePtr drawable, GCPtr gc, char *src,
- glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
- PixmapPtr pixmap = glamor_get_drawable_pixmap(drawable);
- glamor_pixmap_private *pixmap_priv;
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
- int box_index;
- int n;
- char *s;
-- GLenum type;
-- GLenum format;
- int off_x, off_y;
-
- pixmap_priv = glamor_get_pixmap_private(pixmap);
-@@ -287,7 +284,6 @@ glamor_set_spans_gl(DrawablePtr drawable, GCPtr gc, char *src,
- goto bail;
-
- glamor_get_drawable_deltas(drawable, pixmap, &off_x, &off_y);
-- glamor_format_for_pixmap(pixmap, &format, &type);
-
- glamor_make_current(glamor_priv);
-
-@@ -348,7 +344,7 @@ glamor_set_spans_gl(DrawablePtr drawable, GCPtr gc, char *src,
-
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- x1 - box->x1, y1 - box->y1, x2 - x1, 1,
-- format, type,
-+ f->format, f->type,
- l);
- }
- s += PixmapBytePad(w, drawable->depth);
-diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c
-index 215752d7b..e706e0fb4 100644
---- a/glamor/glamor_transfer.c
-+++ b/glamor/glamor_transfer.c
-@@ -23,44 +23,6 @@
- #include "glamor_priv.h"
- #include "glamor_transfer.h"
-
--/* XXX a kludge for now */
--void
--glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type)
--{
-- glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap);
-- switch (pixmap->drawable.depth) {
-- case 24:
-- case 32:
-- *format = GL_BGRA;
-- *type = GL_UNSIGNED_INT_8_8_8_8_REV;
-- break;
-- case 30:
-- *format = GL_BGRA;
-- *type = GL_UNSIGNED_INT_2_10_10_10_REV;
-- break;
-- case 16:
-- if (priv->is_cbcr) {
-- *format = GL_RG;
-- *type = GL_UNSIGNED_BYTE;
-- } else {
-- *format = GL_RGB;
-- *type = GL_UNSIGNED_SHORT_5_6_5;
-- }
-- break;
-- case 15:
-- *format = GL_BGRA;
-- *type = GL_UNSIGNED_SHORT_1_5_5_5_REV;
-- break;
-- case 8:
-- *format = glamor_get_screen_private(pixmap->drawable.pScreen)->one_channel_format;
-- *type = GL_UNSIGNED_BYTE;
-- break;
-- default:
-- FatalError("Invalid pixmap depth %d\n", pixmap->drawable.depth);
-- break;
-- }
--}
--
- /*
- * Write a region of bits into a pixmap
- */
-@@ -75,10 +37,7 @@ glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox,
- glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap);
- int box_index;
- int bytes_per_pixel = pixmap->drawable.bitsPerPixel >> 3;
-- GLenum type;
-- GLenum format;
--
-- glamor_format_for_pixmap(pixmap, &format, &type);
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
-
- glamor_make_current(glamor_priv);
-
-@@ -116,14 +75,14 @@ glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox,
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- x1 - box->x1, y1 - box->y1,
- x2 - x1, y2 - y1,
-- format, type,
-+ f->format, f->type,
- bits + ofs);
- } else {
- for (; y1 < y2; y1++, ofs += byte_stride)
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- x1 - box->x1, y1 - box->y1,
- x2 - x1, 1,
-- format, type,
-+ f->format, f->type,
- bits + ofs);
- }
- }
-@@ -178,10 +137,7 @@ glamor_download_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox,
- glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap);
- int box_index;
- int bytes_per_pixel = pixmap->drawable.bitsPerPixel >> 3;
-- GLenum type;
-- GLenum format;
--
-- glamor_format_for_pixmap(pixmap, &format, &type);
-+ const struct glamor_format *f = glamor_format_for_pixmap(pixmap);
-
- glamor_make_current(glamor_priv);
-
-@@ -216,10 +172,10 @@ glamor_download_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox,
-
- if (glamor_priv->has_pack_subimage ||
- x2 - x1 == byte_stride / bytes_per_pixel) {
-- glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, y2 - y1, format, type, bits + ofs);
-+ glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, y2 - y1, f->format, f->type, bits + ofs);
- } else {
- for (; y1 < y2; y1++, ofs += byte_stride)
-- glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, 1, format, type, bits + ofs);
-+ glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, 1, f->format, f->type, bits + ofs);
- }
- }
- }
-diff --git a/glamor/glamor_transfer.h b/glamor/glamor_transfer.h
-index de8186a70..a6137b3ff 100644
---- a/glamor/glamor_transfer.h
-+++ b/glamor/glamor_transfer.h
-@@ -23,9 +23,6 @@
- #ifndef _GLAMOR_TRANSFER_H_
- #define _GLAMOR_TRANSFER_H_
-
--void
--glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type);
--
- void
- glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox,
- int dx_src, int dy_src,
-diff --git a/glamor/glamor_transform.c b/glamor/glamor_transform.c
-index 2d5a634a8..348d00be1 100644
---- a/glamor/glamor_transform.c
-+++ b/glamor/glamor_transform.c
-@@ -121,10 +121,9 @@ glamor_set_color_depth(ScreenPtr pScreen,
-
- glamor_get_rgba_from_pixel(pixel,
- &color[0], &color[1], &color[2], &color[3],
-- format_for_depth(depth));
-+ glamor_priv->formats[depth].render_format);
-
-- if ((depth == 1 || depth == 8) &&
-- glamor_priv->one_channel_format == GL_RED)
-+ if ((depth <= 8) && glamor_priv->formats[8].format == GL_RED)
- color[0] = color[3];
-
- glUniform4fv(uniform, 1, color);
-diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h
-index cbb808294..651faf2fe 100644
---- a/glamor/glamor_utils.h
-+++ b/glamor/glamor_utils.h
-@@ -570,65 +570,8 @@
- && (_w_) <= _glamor_->max_fbo_size \
- && (_h_) <= _glamor_->max_fbo_size)
-
--/* For 1bpp pixmap, we don't store it as texture. */
--#define glamor_check_pixmap_fbo_depth(_depth_) ( \
-- _depth_ == 8 \
-- || _depth_ == 15 \
-- || _depth_ == 16 \
-- || _depth_ == 24 \
-- || _depth_ == 30 \
-- || _depth_ == 32)
--
- #define GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv) (pixmap_priv->gl_fbo == GLAMOR_FBO_NORMAL)
-
--/**
-- * Borrow from uxa.
-- */
--static inline CARD32
--format_for_depth(int depth)
--{
-- switch (depth) {
-- case 1:
-- return PICT_a1;
-- case 4:
-- return PICT_a4;
-- case 8:
-- return PICT_a8;
-- case 15:
-- return PICT_x1r5g5b5;
-- case 16:
-- return PICT_r5g6b5;
-- default:
-- case 24:
-- return PICT_x8r8g8b8;
-- case 30:
-- return PICT_x2r10g10b10;
-- case 32:
-- return PICT_a8r8g8b8;
-- }
--}
--
--static inline GLenum
--gl_iformat_for_pixmap(PixmapPtr pixmap)
--{
-- glamor_screen_private *glamor_priv =
-- glamor_get_screen_private((pixmap)->drawable.pScreen);
-- glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap);
--
-- if (!glamor_priv->is_gles &&
-- ((pixmap)->drawable.depth == 1 || (pixmap)->drawable.depth == 8)) {
-- return glamor_priv->one_channel_format;
-- } else if (!glamor_priv->is_gles &&
-- (pixmap)->drawable.depth == 16 && pixmap_priv->is_cbcr) {
-- return GL_RG;
-- } else if (!glamor_priv->is_gles &&
-- (pixmap)->drawable.depth == 30) {
-- return GL_RGB10_A2;
-- } else {
-- return GL_RGBA;
-- }
--}
--
- #define REVERT_NONE 0
- #define REVERT_NORMAL 1
- #define REVERT_UPLOADING_A1 3
---
-2.17.1
-
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index c956245b..cf1c3a50 100644
--- a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1,21 +1,8 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
SRC_URI:append:use-mainline-bsp = " file://0001-Allow-to-enable-atomic-in-modesetting-DDX.patch"
-SRC_URI:append:imxgpu = " \
- file://0003-Remove-check-for-useSIGIO-option.patch \
- file://0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch \
- file://0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch \
- file://0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch \
- file://0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch \
- file://0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch \
- file://0002-glamor-add-support-for-GL_RG.patch \
- file://0003-glamor-add-support-for-NV12-in-Xv.patch \
- file://0004-glamor-Remove-unused-format_for_pixmap-helper.patch \
- file://0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch \
- file://0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch \
- file://0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch \
- file://0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch \
-"
+
+SRC_URI:append:imxgpu = " file://0001-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch"
IMX_OPENGL_PKGCONFIGS_REMOVE = ""
IMX_OPENGL_PKGCONFIGS_REMOVE:imxgpu = "glamor"
diff --git a/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb b/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb
new file mode 100644
index 00000000..a9705a23
--- /dev/null
+++ b/recipes-graphics/xwayland/xwayland_23.1.1.imx.bb
@@ -0,0 +1,53 @@
+# This recipe copy helps keep meta-freescale master branch compatible
+# with Yocto langdale.
+# (From OE-Core rev: 35fdbd0ea81650a0421d50fb53989d96c5956331)
+
+SUMMARY = "XWayland is an X Server that runs under Wayland."
+DESCRIPTION = "XWayland is an X Server running as a Wayland client, \
+and thus is capable of displaying native X11 client applications in a \
+Wayland compositor environment. The goal of XWayland is to facilitate \
+the transition from X Window System to Wayland environments, providing \
+a way to run unported applications in the meantime."
+HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone"
+
+DEFAULT_PREFERENCE = "-1"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
+
+SRC_URI = "https://www.x.org/archive/individual/xserver/${BP_ORIGINAL}.tar.xz"
+BP_ORIGINAL = "${BPN}-23.1.1"
+SRC_URI[sha256sum] = "fb9461f5cb9fea5e07e91882311b0c88b43e8843b017ebac05eb5af69aa34c15"
+S = "${WORKDIR}/${BP_ORIGINAL}"
+
+UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
+
+inherit meson features_check pkgconfig
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt"
+
+OPENGL_PKGCONFIGS = "glx glamor dri3"
+PACKAGECONFIG ??= "${XORG_CRYPTO} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
+"
+PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence"
+PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11"
+PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl"
+PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
+PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false"
+
+# Xorg requires a SHA1 implementation, pick one
+XORG_CRYPTO ??= "openssl"
+PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
+PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
+PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
+
+do_install:append() {
+ # remove files not needed and clashing with xserver-xorg
+ rm -rf ${D}/${libdir}/xorg/
+}
+
+FILES:${PN} += "${libdir}/xorg/protocol.txt"
+
+RDEPENDS:${PN} += "xkbcomp"
diff --git a/recipes-graphics/xwayland/xwayland_%.bbappend b/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
index 69063121..e1708a96 100644
--- a/recipes-graphics/xwayland/xwayland_%.bbappend
+++ b/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
@@ -2,7 +2,6 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:imxgpu = " \
file://0001-Prefer-to-create-GLES2-context-for-glamor-EGL.patch \
- file://0002-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch \
"
OPENGL_PKGCONFIGS:remove:imxgpu = "${OPENGL_PKGCONFIGS_REMOVE_IMXGPU}"
@@ -10,3 +9,12 @@ OPENGL_PKGCONFIGS_REMOVE_IMXGPU = ""
OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx6-nxp-bsp = "glamor glx"
OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx7-nxp-bsp = "glamor glx"
OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx"
+
+
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
+RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-kernel/ceetm/ceetm_git.bb b/recipes-kernel/ceetm/ceetm_git.bb
index a6381174..1059e006 100644
--- a/recipes-kernel/ceetm/ceetm_git.bb
+++ b/recipes-kernel/ceetm/ceetm_git.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "CEETM TC QDISC"
-LICENSE = "GPL-2.0-only & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bac620b9883d38a84dfb73ca7122d915"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ceetm;nobranch=1"
-SRCREV = "6a7f2ec2091df2f4380cb8d25a36c399aed5af1b"
+SRC_URI = "git://github.com/nxp-qoriq/ceetm;protocol=https;nobranch=1"
+SRCREV = "27218bc625e83458db2301f6c07de133cb5f6792"
SRC_URI:append = " file://0001-Makefile-update-CFLAGS.patch \
file://0001-use-new-api-tc_print_rate.patch \
"
@@ -27,4 +27,3 @@ INHIBIT_PACKAGE_STRIP = "1"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-
diff --git a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
index 7fecf0c6..553e2013 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b5881ecf398da8a03a3f4c501e29d287"
inherit module
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/auto-resp;branch=nxp/sdk-v2.0.x"
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/auto-resp;branch=nxp/sdk-v2.0.x;protocol=https"
SRCREV = "9a74743167dcfcfbca5056eedbff9a52337c9712"
S = "${WORKDIR}/git"
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch
index 63f408c5..efe6cec6 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch
@@ -1,3 +1,7 @@
+Add makefile to kernel-module-imx-gpu-viv
+
+Upstream-Status: Pending
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Index: git/Makefile
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p2.4+fslc.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
index c0943907..13793132 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p2.4+fslc.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
PV .= "+git${SRCPV}"
-SRCREV = "5c7b8847fb9533aaea809d9d5a4eba2f1792f93c"
+SRCREV = "4d035200e7b15d2713d49979a1d05f201b92cf4c"
SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p4.0.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb
index 12de35be..7aae0cd7 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p4.0.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb
@@ -7,14 +7,12 @@ allowing flexibility to use a newer graphics release with an older kernel."
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
-SRCBRANCH = "lf-5.15.y"
-LOCALVERSION = "-5.15.5-1.0.0"
-KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=master"
-SRC_URI = " \
- ${KERNEL_SRC};branch=${SRCBRANCH};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \
- file://Add-makefile.patch \
-"
-SRCREV = "e47e5ff6895a7aa2f75dcb2e2c7257e25cf77901"
+SRC_URI = "${KERNEL_SRC};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \
+ file://Add-makefile.patch"
+KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf-6.1.y"
+LOCALVERSION = "-6.1.55-2.2.0"
+SRCREV = "770c5fe2c1d1529fae21b7043911cd50c6cf087e"
S = "${WORKDIR}/git"
diff --git a/recipes-kernel/kernel-modules/kernel-module-ipc-multi_git.bb b/recipes-kernel/kernel-modules/kernel-module-ipc-multi_git.bb
deleted file mode 100644
index c2effd01..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-ipc-multi_git.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require kernel-module-ipc.inc
-
-EXTRA_OEMAKE ="KERNEL_DIR=${STAGING_KERNEL_DIR} B4860=1 CONFIG_MULTI_RAT=1"
-
-do_install(){
- install -d ${D}/usr/driver/IPC/multi_rat
- install -m 755 ${S}/kernel/*.ko ${D}/usr/driver/IPC/multi_rat
-}
-
-FILES:${PN} += "/usr/driver/IPC/multi_rat/*.ko"
-FILES:${PN}-dbg += "/usr/driver/IPC/multi_rat/.debug"
-
-COMPATIBLE_MACHINE = "(b4860qds|b4420qds)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-ipc-single_git.bb b/recipes-kernel/kernel-modules/kernel-module-ipc-single_git.bb
deleted file mode 100644
index 23418175..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-ipc-single_git.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require kernel-module-ipc.inc
-
-EXTRA_OEMAKE ="KERNEL_DIR=${STAGING_KERNEL_DIR} B4860=1"
-
-do_install(){
- install -d ${D}/usr/driver/IPC/single_rat
- install -m 755 ${S}/kernel/*.ko ${D}/usr/driver/IPC/single_rat
-}
-
-FILES:${PN} += "/usr/driver/IPC/single_rat/*.ko"
-FILES:${PN}-dbg += "/usr/driver/IPC/single_rat/.debug"
-
-COMPATIBLE_MACHINE = "(b4860qds|b4420qds)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-ipc.inc b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
index 903c53a4..d2316fe0 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ipc.inc
+++ b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fa38cd73d71527dc6efb546474f64d10"
inherit module qoriq_build_64bit_kernel
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/ipc;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ipc;protocol=https;nobranch=1"
SRCREV = "74d662707558290f070f9589177db730444bc435"
S = "${WORKDIR}/git"
diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.16.0.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.16.0.bb
deleted file mode 100644
index f9018ec8..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.16.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2020-2021 NXP
-
-DESCRIPTION = "Kernel loadable module for ISP"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/git/vvcam/LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
-
-SRCBRANCH = "lf-5.10.y_2.2.0"
-ISP_KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/isp-vvcam.git;protocol=https;branch=master"
-
-SRC_URI = " \
- ${ISP_KERNEL_SRC};branch=${SRCBRANCH} \
-"
-SRCREV = "b2321c0c513322aca8187ebf0328b74fe45a0f01"
-
-S = "${WORKDIR}/git/vvcam/v4l2"
-
-inherit module
-
-COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.0.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.0.bb
new file mode 100644
index 00000000..d5804634
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.0.bb
@@ -0,0 +1,20 @@
+# Copyright 2020-2023 NXP
+
+DESCRIPTION = "Kernel loadable module for ISP"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${S}/../LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
+
+SRC_URI = "${ISP_KERNEL_SRC};branch=${SRCBRANCH}"
+ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "2c762259b979d7ec5a2e17df6ad823de49d43a28"
+
+S = "${WORKDIR}/git/vvcam/v4l2"
+
+inherit module
+
+DEBUG_PREFIX_MAP:prepend = " \
+ -fmacro-prefix-map=${WORKDIR}/git/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${WORKDIR}/git/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} "
+
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
index 0a83a4a2..ba156161 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94263f12f9416f9fd0493c8f9e8085a3"
inherit module autotools-brokensep
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/ls-dbg;branch=nxp/master"
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/ls-dbg;branch=nxp/master;protocol=https"
SRCREV = "40501f6659e880d38508cdd34a4df2d348d1c68e"
S = "${WORKDIR}/git"
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
new file mode 100644
index 00000000..0bf6154d
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "NXP Wi-Fi driver for module 88w8801/8987/8997/9098 IW416/612"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://../../LICENSE;md5=ab04ac0f249af12befccb94447c08b77"
+
+# For backwards compatibility
+PROVIDES += "kernel-module-nxp89xx"
+RREPLACES:${PN} = "kernel-module-nxp89xx"
+RPROVIDES:${PN} = "kernel-module-nxp89xx"
+RCONFLICTS:${PN} = "kernel-module-nxp89xx"
+
+SRCBRANCH = "lf-6.1.55_2.2.0"
+MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https"
+SRC_URI = "${MRVL_SRC};branch=${SRCBRANCH}"
+SRCREV = "952d10f3349426f917636a4560974117eb6eef5b"
+
+S = "${WORKDIR}/git/mxm_wifiex/wlan_src"
+
+inherit module
+
+EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR} -C ${STAGING_KERNEL_BUILDDIR} M=${S}"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb b/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb
deleted file mode 100644
index e8360b46..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "NXP Wi-Fi driver for module 88w8997/8987"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=ab04ac0f249af12befccb94447c08b77"
-
-SRCBRANCH = "lf-5.10.72_2.2.0"
-MRVL_SRC ?= "git://source.codeaurora.org/external/imx/mwifiex.git;protocol=https"
-SRC_URI = "${MRVL_SRC};branch=${SRCBRANCH}"
-SRCREV = "3c2a3c2cd25e9dce95f34c21bb4e728647eb64ee"
-
-S = "${WORKDIR}/git/mxm_wifiex/wlan_src"
-
-inherit module
-
-EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR} -C ${STAGING_KERNEL_BUILDDIR} M=${S}"
-
-COMPATIBLE_MACHINE = "(imx)"
-
diff --git a/recipes-kernel/kernel-modules/kernel-module-perf-qoriq_0.8.2.bb b/recipes-kernel/kernel-modules/kernel-module-perf-qoriq_0.8.2.bb
deleted file mode 100644
index 7beaf0e7..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-perf-qoriq_0.8.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "QorIQ extension to Perf for supporting non core counters"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e29234dd5d40dc352cc60cc0c93437ba"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/qoriq-perf;branch=nxp/master"
-SRCREV = "7beb3783edac66bab00c85d99a7b073f569af7fd"
-
-S = "${WORKDIR}/git"
-
-inherit module autotools-brokensep qoriq_build_64bit_kernel
-
-PROCESSOR_REV ?= "B4860_R1"
-EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_DIR} \
- --with-processor=${PROCESSOR_REV}"
-
-EXTRA_OEMAKE += 'SYSROOT="${D}"'
-
-COMPATIBLE_MACHINE = "(b4860qds)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-scatter-gather_git.bb b/recipes-kernel/kernel-modules/kernel-module-scatter-gather_git.bb
deleted file mode 100644
index b80aa79b..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-scatter-gather_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Scatter-gather logic for multiple tables"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e9605a22ea50467bd2bfe4cdd66e69ae"
-
-inherit module
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/scatter-gather;branch=nxp/master"
-SRCREV = "97db173d08a70abe2b9a6fa928299a117f3febc2"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE = "(ls1021a)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb b/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
index a8d5d498..efccc286 100644
--- a/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-uio-seville_0.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "UIO driver for T1040 L2 Switch"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/l2switch-uio;branch=nxp/sdk-v2.0.x"
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/l2switch-uio;branch=nxp/sdk-v2.0.x;protocol=https"
SRCREV = "0f31fbcbe9ab1ab9c424da34f70c82314b16f8de"
inherit module
diff --git a/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig b/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig
deleted file mode 100644
index 6ca0833e..00000000
--- a/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig
+++ /dev/null
@@ -1,584 +0,0 @@
-CONFIG_KERNEL_LZO=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_CGROUPS=y
-CONFIG_MEMCG=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_NAMESPACES=y
-CONFIG_USER_NS=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_SLUB_DEBUG is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6UL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX7ULP=y
-CONFIG_SMP=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_ARM_PSCI=y
-CONFIG_HIGHMEM=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-CONFIG_KEXEC=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=y
-CONFIG_CPU_IDLE=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_CMA=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_NETFILTER=y
-CONFIG_VLAN_8021Q=m
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_BT=y
-CONFIG_BT_RFCOMM=y
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-CONFIG_BT_HCIBTUSB=y
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_MRVL=y
-CONFIG_BT_HCIVHCI=y
-CONFIG_BT_MRVL=y
-CONFIG_BT_MRVL_SDIO=y
-CONFIG_CFG80211=y
-CONFIG_NL80211_TESTMODE=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_PCI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_IMX6_HOST=y
-CONFIG_PCI_IMX6_EP=y
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_IMX_WEIM=y
-CONFIG_CONNECTOR=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_NAND_MXC=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_FASTMAP=y
-CONFIG_MTD_UBI_BLOCK=y
-CONFIG_OF_OVERLAY=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_SENSORS_FXOS8700=y
-CONFIG_SENSORS_FXAS2100X=y
-CONFIG_PCI_ENDPOINT_TEST=y
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_AT25=y
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=y
-CONFIG_PATA_IMX=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_CRYPT=m
-CONFIG_NETDEVICES=y
-# CONFIG_NET_VENDOR_BROADCOM is not set
-CONFIG_CS89x0=y
-CONFIG_CS89x0_PLATFORM=y
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_SMC91X=y
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_MICREL_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=y
-CONFIG_USB_LAN78XX=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_HOSTAP=y
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-# CONFIG_WILINK_PLATFORM_DATA is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_RPMSG=y
-CONFIG_KEYBOARD_IMX=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
-CONFIG_TOUCHSCREEN_AD7879=y
-CONFIG_TOUCHSCREEN_AD7879_I2C=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=y
-CONFIG_TOUCHSCREEN_DA9052=y
-CONFIG_TOUCHSCREEN_EGALAX=y
-CONFIG_TOUCHSCREEN_ELAN_TS=y
-CONFIG_TOUCHSCREEN_GOODIX=y
-CONFIG_TOUCHSCREEN_ILI210X=y
-CONFIG_TOUCHSCREEN_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_EDT_FT5X06=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2004=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=y
-CONFIG_TOUCHSCREEN_SX8654=y
-CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
-CONFIG_TOUCHSCREEN_FTS=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=y
-CONFIG_INPUT_MPL3115=y
-CONFIG_SENSOR_FXLS8471=y
-CONFIG_SENSOR_IMX_RPMSG=y
-CONFIG_INPUT_ISL29023=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_GPIO=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_GPIO=y
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_SPI=y
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_SPI_SLAVE=y
-CONFIG_SPI_SLAVE_TIME=y
-CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MXC=y
-CONFIG_GPIO_SIOX=m
-CONFIG_GPIO_IMX_RPMSG=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCF857X=y
-CONFIG_GPIO_STMPE=y
-CONFIG_GPIO_74X164=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_SABRESD_MAX8903=y
-CONFIG_SENSORS_MC13783_ADC=y
-CONFIG_SENSORS_GPIO_FAN=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_SENSORS_MAG3110=y
-CONFIG_THERMAL=y
-CONFIG_THERMAL_STATISTICS=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_DA9063_WATCHDOG=m
-CONFIG_DA9062_WATCHDOG=y
-CONFIG_RN5T618_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_DA9062=y
-CONFIG_MFD_DA9063=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_MAX17135=y
-CONFIG_MFD_RN5T618=y
-CONFIG_MFD_SI476X_CORE=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_DA9062=y
-CONFIG_REGULATOR_DA9063=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PF1550_RPMSG=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_RN5T618=y
-CONFIG_RC_CORE=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_RADIO_SI476X=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MUX=y
-CONFIG_VIDEO_MXC_CAPTURE=m
-CONFIG_VIDEO_MXC_OUTPUT=y
-CONFIG_VIDEO_MXC_CSI_CAMERA=m
-CONFIG_MXC_VADC=m
-CONFIG_MXC_MIPI_CSI=m
-CONFIG_MXC_CAMERA_OV5640=m
-CONFIG_MXC_CAMERA_OV5640_V2=m
-CONFIG_MXC_CAMERA_OV5640_MIPI=m
-CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
-CONFIG_MXC_TVIN_ADV7180=m
-CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
-CONFIG_VIDEO_MXC_IPU_OUTPUT=y
-CONFIG_VIDEO_MXC_PXP_V4L2=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=m
-CONFIG_VIDEO_IMX_PXP=y
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_DRM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_TI_TFP410=y
-CONFIG_FB_MXS=y
-CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_OVERLAY=y
-CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y
-CONFIG_FB_MXC_ADV7535=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_RK_PANEL_RK055AHD042=y
-CONFIG_FB_MXC_RK_PANEL_RK055IQH042=y
-CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_EINK_PANEL=y
-CONFIG_FB_MXC_EINK_V2_PANEL=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXS_SII902X=y
-CONFIG_FB_MXC_DCIC=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_GPIO=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_FSL_ASRC=y
-CONFIG_SND_SOC_FSL_MQS=y
-CONFIG_SND_SOC_FSL_RPMSG=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_SII902X=y
-CONFIG_SND_SOC_IMX_WM8958=y
-CONFIG_SND_SOC_IMX_RPMSG=y
-CONFIG_SND_SOC_IMX_ES8328=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_IMX_SI476X=y
-CONFIG_SND_SOC_IMX_HDMI=y
-CONFIG_SND_SOC_AC97_CODEC=y
-CONFIG_SND_SOC_CS42XX8_I2C=y
-CONFIG_SND_SOC_TLV320AIC3X=y
-CONFIG_SND_SOC_WM8960=y
-CONFIG_SND_SOC_RPMSG_WM8960=y
-CONFIG_SND_SOC_WM8962=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MXC=y
-CONFIG_USB_HCD_TEST_MODE=y
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=m
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_FSL_USB2=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_USB_CONFIGFS_F_UVC=y
-CONFIG_USB_CONFIGFS_F_PRINTER=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FUNCTIONFS=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_ISL1208=y
-CONFIG_RTC_DRV_PCF8523=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_RTC_DRV_M41T80=y
-CONFIG_RTC_DRV_RC5T619=y
-CONFIG_RTC_DRV_DA9063=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_RTC_DRV_MXC_V2=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_RPMSG=y
-CONFIG_DMADEVICES=y
-CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
-CONFIG_MXS_DMA=y
-CONFIG_MXC_PXP_V2=y
-CONFIG_MXC_PXP_V3=y
-CONFIG_DMATEST=m
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_MAILBOX=y
-CONFIG_REMOTEPROC=y
-CONFIG_IMX_REMOTEPROC=y
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_IMX7D_ADC=y
-CONFIG_RN5T618_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_PWM=y
-CONFIG_PWM_FSL_FTM=y
-CONFIG_PWM_IMX27=y
-CONFIG_PWM_IMX_TPM=y
-CONFIG_PHY_MIXEL_LVDS=y
-CONFIG_PHY_MIXEL_LVDS_COMBO=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_SNVS_LPGPR=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=y
-CONFIG_SIOX=m
-CONFIG_SIOX_BUS_GPIO=m
-CONFIG_MXC_SIM=y
-CONFIG_MXC_IPU=y
-CONFIG_MXC_SIMv2=y
-CONFIG_MXC_MLB150=y
-CONFIG_MXC_IPU_V3_PRE=y
-CONFIG_MXC_HDMI_CEC=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=y
-CONFIG_OVERLAY_FS=y
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_UTF8=y
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_ECHAINIV=m
-CONFIG_CRYPTO_TLS=m
-CONFIG_CRYPTO_CFB=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_OFB=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_SAHARA=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
-CONFIG_DMA_CMA=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
diff --git a/recipes-kernel/linux/linux-fslc-imx/mx8-nxp-bsp/defconfig b/recipes-kernel/linux/linux-fslc-imx/mx8-nxp-bsp/defconfig
deleted file mode 100644
index ab8c97e3..00000000
--- a/recipes-kernel/linux/linux-fslc-imx/mx8-nxp-bsp/defconfig
+++ /dev/null
@@ -1,982 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_MEMCG=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_PERF=y
-CONFIG_USER_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-CONFIG_ARCH_LAYERSCAPE=y
-CONFIG_ARCH_MXC=y
-CONFIG_ARCH_S32=y
-CONFIG_SOC_S32V234=y
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_SCHED_MC=y
-CONFIG_SCHED_SMT=y
-CONFIG_NUMA=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_FILE=y
-CONFIG_CRASH_DUMP=y
-CONFIG_XEN=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_COMPAT=y
-CONFIG_RANDOMIZE_BASE=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-CONFIG_ENERGY_MODEL=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ACPI_CPPC_CPUFREQ=m
-CONFIG_ARM_SCPI_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=y
-CONFIG_QORIQ_CPUFREQ=y
-CONFIG_ARM_SCMI_PROTOCOL=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_IMX_DSP=y
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_ACPI=y
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-CONFIG_ACPI_APEI_EINJ=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-CONFIG_CRYPTO_SM3_ARM64_CE=m
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_KSM=y
-CONFIG_MEMORY_FAILURE=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IPV6_SIT=m
-CONFIG_NETFILTER=y
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_NET_DSA=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_LLC2=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_CBS=m
-CONFIG_NET_SCH_ETF=m
-CONFIG_NET_SCH_TAPRIO=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_GATE=m
-CONFIG_TSN=y
-CONFIG_QRTR=m
-CONFIG_QRTR_SMD=m
-CONFIG_QRTR_TUN=m
-CONFIG_BPF_JIT=y
-CONFIG_NET_PKTGEN=m
-CONFIG_CAN=m
-CONFIG_CAN_FLEXCAN=m
-CONFIG_BT=y
-CONFIG_BT_RFCOMM=y
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-CONFIG_BT_LEDS=y
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIVHCI=y
-CONFIG_CFG80211=y
-CONFIG_NL80211_TESTMODE=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_MAC80211_LEDS=y
-CONFIG_NET_9P=y
-CONFIG_NET_9P_VIRTIO=y
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-CONFIG_NFC_S3FWRN5_I2C=m
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PASID=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCI_XGENE=y
-CONFIG_PCIE_ALTERA=y
-CONFIG_PCIE_ALTERA_MSI=y
-CONFIG_PCI_HOST_THUNDER_PEM=y
-CONFIG_PCI_HOST_THUNDER_ECAM=y
-CONFIG_PCI_IMX6_HOST=y
-CONFIG_PCI_IMX6_EP=y
-CONFIG_PCI_LAYERSCAPE=y
-CONFIG_PCI_HISI=y
-CONFIG_PCIE_KIRIN=y
-CONFIG_PCI_MESON=m
-CONFIG_PCIE_LAYERSCAPE_GEN4=y
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_BRCMSTB_GISB_ARB=y
-CONFIG_SIMPLE_PM_BUS=y
-CONFIG_VEXPRESS_CONFIG=y
-CONFIG_FSL_MC_UAPI_SUPPORT=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_DENALI_DT=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_NAND_FSL_IFC=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_XEN_BLKDEV_BACKEND=m
-CONFIG_VIRTIO_BLK=y
-CONFIG_BLK_DEV_NVME=y
-CONFIG_SENSORS_FXOS8700=y
-CONFIG_SENSORS_FXAS2100X=y
-CONFIG_SRAM=y
-CONFIG_PCI_ENDPOINT_TEST=y
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_AT25=m
-CONFIG_UACCE=m
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_HISI_SAS=y
-CONFIG_SCSI_HISI_SAS_PCI=y
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_UFSHCD=y
-CONFIG_SCSI_UFSHCD_PLATFORM=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=y
-CONFIG_AHCI_CEVA=y
-CONFIG_AHCI_XGENE=y
-CONFIG_AHCI_QORIQ=y
-CONFIG_SATA_SIL24=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_PATA_OF_PLATFORM=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_NETDEVICES=y
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_TUN=y
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=y
-CONFIG_NET_DSA_MSCC_FELIX=m
-CONFIG_AMD_XGBE=y
-CONFIG_ATL1C=m
-CONFIG_BCMGENET=m
-CONFIG_BNX2X=m
-CONFIG_MACB=y
-CONFIG_THUNDER_NIC_PF=y
-CONFIG_FEC=y
-CONFIG_FEC_UIO=y
-CONFIG_FSL_FMAN=y
-CONFIG_FSL_DPAA_ETH=y
-CONFIG_FSL_DPAA2_ETH=y
-CONFIG_FSL_DPAA2_MAC=y
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=y
-CONFIG_FSL_ENETC_QOS=y
-CONFIG_ENETC_TSN=y
-CONFIG_HIX5HD2_GMAC=y
-CONFIG_HNS_DSAF=y
-CONFIG_HNS_ENET=y
-CONFIG_HNS3=y
-CONFIG_HNS3_HCLGE=y
-CONFIG_HNS3_ENET=y
-CONFIG_E1000=y
-CONFIG_E1000E=y
-CONFIG_IGB=y
-CONFIG_IGBVF=y
-CONFIG_MVMDIO=y
-CONFIG_SKY2=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX5_CORE=m
-CONFIG_MLX5_CORE_EN=y
-CONFIG_MSCC_OCELOT_SWITCH=y
-CONFIG_QCOM_EMAC=m
-CONFIG_RMNET=m
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_STMMAC_ETH=y
-CONFIG_DWMAC_GENERIC=m
-CONFIG_AQUANTIA_PHY=y
-CONFIG_BROADCOM_PHY=m
-CONFIG_INPHI_PHY=y
-CONFIG_MARVELL_PHY=m
-CONFIG_MARVELL_10G_PHY=m
-CONFIG_MICREL_PHY=y
-CONFIG_MICROSEMI_PHY=y
-CONFIG_NXP_TJA11XX_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_REALTEK_PHY=y
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_VITESSE_PHY=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=y
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_HOSTAP=y
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_XEN_NETDEV_BACKEND=m
-CONFIG_IVSHMEM_NET=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_ADC=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=y
-CONFIG_KEYBOARD_IMX_SC_PWRKEY=y
-CONFIG_KEYBOARD_RPMSG=y
-CONFIG_KEYBOARD_CROS_EC=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_GOODIX=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MPL3115=y
-CONFIG_INPUT_ISL29023=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_AMBAKMI=y
-CONFIG_LEGACY_PTY_COUNT=16
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_XILINX_PS_UART=y
-CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_FSL_LINFLEXUART=y
-CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_IPMI_HANDLER=m
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS_I2C_INFINEON=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_I2C_RK3X=y
-CONFIG_I2C_RPBUS=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-CONFIG_XEN_I2C_BACKEND=y
-CONFIG_I2C_SLAVE=y
-CONFIG_I3C=y
-CONFIG_SVC_I3C_MASTER=y
-CONFIG_SPI=y
-CONFIG_SPI_CADENCE_QUADSPI=y
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_NXP_FLEXSPI=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_FSL_DSPI=y
-CONFIG_SPI_PL022=y
-CONFIG_SPI_ROCKCHIP=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_SPI_SLAVE=y
-CONFIG_SPI_SLAVE_TIME=y
-CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
-CONFIG_SPMI=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINCTRL_MAX77620=y
-CONFIG_PINCTRL_IMX8MM=y
-CONFIG_PINCTRL_IMX8MN=y
-CONFIG_PINCTRL_IMX8MP=y
-CONFIG_PINCTRL_IMX8MQ=y
-CONFIG_PINCTRL_IMX8QM=y
-CONFIG_PINCTRL_IMX8QXP=y
-CONFIG_PINCTRL_IMX8DXL=y
-CONFIG_PINCTRL_IMX8ULP=y
-CONFIG_PINCTRL_S32V234=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_ALTERA=m
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_IMX_RPMSG=y
-CONFIG_GPIO_MB86S7X=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_WCD934X=m
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_BD9571MWV=m
-CONFIG_GPIO_MAX77620=y
-CONFIG_GPIO_SL28CPLD=m
-CONFIG_POWER_RESET_BRCMSTB=y
-CONFIG_POWER_RESET_XGENE=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_SYSCON_REBOOT_MODE=y
-CONFIG_BATTERY_SBS=m
-CONFIG_BATTERY_BQ27XXX=y
-CONFIG_SENSORS_ARM_SCPI=y
-CONFIG_SENSORS_FP9931=y
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_SL28CPLD=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
-CONFIG_CPU_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-CONFIG_IMX_SC_THERMAL=y
-CONFIG_IMX8MM_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_QORIQ_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_SL28CPLD_WATCHDOG=m
-CONFIG_ARM_SP805_WATCHDOG=y
-CONFIG_ARM_SBSA_WATCHDOG=y
-CONFIG_DW_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX_SC_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_ARM_SMC_WATCHDOG=y
-CONFIG_XEN_WDT=y
-CONFIG_MFD_BD9571MWV=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_IMX_MIX=y
-CONFIG_MFD_HI6421_PMIC=y
-CONFIG_MFD_FP9931=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_SL28CPLD=y
-CONFIG_MFD_ROHM_BD718XX=y
-CONFIG_MFD_WCD934X=m
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_AXP20X=y
-CONFIG_REGULATOR_BD718XX=y
-CONFIG_REGULATOR_BD9571MWV=y
-CONFIG_REGULATOR_FAN53555=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_HI6421V530=y
-CONFIG_REGULATOR_MAX77620=y
-CONFIG_REGULATOR_MAX8973=y
-CONFIG_REGULATOR_FP9931=y
-CONFIG_REGULATOR_PCA9450=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PWM=y
-CONFIG_REGULATOR_QCOM_SPMI=y
-CONFIG_REGULATOR_RK808=y
-CONFIG_REGULATOR_S2MPS11=y
-CONFIG_REGULATOR_VCTRL=m
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_XMP_DECODER=m
-CONFIG_IR_IMON_DECODER=m
-CONFIG_IR_RCMM_DECODER=m
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=m
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_PLATFORM_SUPPORT=y
-# CONFIG_DVB_NET is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MXC_CAPTURE=y
-CONFIG_VIDEO_MX8_CAPTURE=y
-CONFIG_VIDEO_MXC_CSI_CAMERA=y
-CONFIG_MXC_MIPI_CSI=y
-CONFIG_MXC_CAMERA_OV5640_MIPI_V2=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_SDR_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_IMX219=m
-CONFIG_VIDEO_OV5640=y
-CONFIG_VIDEO_OV5645=m
-CONFIG_IMX_DPU_CORE=y
-CONFIG_IMX_LCDIF_CORE=y
-CONFIG_IMX_LCDIFV3_CORE=y
-CONFIG_DRM=y
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_MALI_DISPLAY=m
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_RCAR_DW_HDMI=m
-CONFIG_DRM_RCAR_LVDS=m
-CONFIG_DRM_PANEL_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
-CONFIG_DRM_PANEL_RAYDIUM_RM68200=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_PANEL_SITRONIX_ST7703=m
-CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-CONFIG_DRM_PANEL_WKS_101WX001=y
-CONFIG_DRM_DISPLAY_CONNECTOR=m
-CONFIG_DRM_LONTIUM_LT9611=m
-CONFIG_DRM_FSL_IMX_LVDS_BRIDGE=y
-CONFIG_DRM_NWL_MIPI_DSI=y
-CONFIG_DRM_NXP_SEIKO_43WVFIG=y
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_SIMPLE_BRIDGE=m
-CONFIG_DRM_THINE_THC63LVD1024=m
-CONFIG_DRM_TI_SN65DSI86=m
-CONFIG_DRM_I2C_ADV7511=y
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_CDNS_HDMI_CEC=y
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
-CONFIG_DRM_DW_HDMI_GP_AUDIO=y
-CONFIG_DRM_DW_HDMI_CEC=y
-CONFIG_DRM_ITE_IT6263=y
-CONFIG_DRM_ITE_IT6161=y
-CONFIG_DRM_IMX=y
-CONFIG_DRM_IMX_LCDIF_MUX_DISPLAY=y
-CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
-CONFIG_DRM_IMX_TVE=y
-CONFIG_DRM_IMX_LDB=y
-CONFIG_DRM_IMX8QM_LDB=y
-CONFIG_DRM_IMX8QXP_LDB=y
-CONFIG_DRM_IMX8MP_LDB=y
-CONFIG_DRM_IMX_HDMI=y
-CONFIG_DRM_IMX_SEC_DSIM=y
-CONFIG_DRM_IMX_DCNANO=y
-CONFIG_DRM_IMX_DCSS=y
-CONFIG_DRM_IMX_CDNS_MHDP=y
-CONFIG_DRM_ETNAVIV=m
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_HISI_KIRIN=m
-CONFIG_DRM_MXSFB=y
-CONFIG_DRM_PL111=m
-CONFIG_DRM_LIMA=m
-CONFIG_DRM_PANFROST=m
-CONFIG_FB_ARMCLCD=y
-CONFIG_FB_EFI=y
-CONFIG_FB_MXC_EINK_V2_PANEL=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_LP855X=m
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_FSL_ASRC=y
-CONFIG_SND_SOC_FSL_MQS=y
-CONFIG_SND_SOC_FSL_EASRC=y
-CONFIG_SND_SOC_FSL_ESAI_CLIENT=y
-CONFIG_SND_SOC_FSL_RPMSG=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_IMX_AK4458=y
-CONFIG_SND_SOC_IMX_AK5558=y
-CONFIG_SND_SOC_IMX_AK4497=y
-CONFIG_SND_SOC_IMX_MICFIL=y
-CONFIG_SND_SOC_IMX_RPMSG=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_IMX_AUDMIX=y
-CONFIG_SND_SOC_IMX_XCVR=y
-CONFIG_SND_SOC_IMX_PCM512X=y
-CONFIG_SND_SOC_IMX_PDM_MIC=y
-CONFIG_SND_SOC_IMX_DSP=y
-CONFIG_SND_SOC_IMX_CDNHDMI=y
-CONFIG_SND_SOC_SOF_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_OF=m
-CONFIG_SND_SOC_SOF_COMPRESS=y
-CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_IMX8_SUPPORT=y
-CONFIG_SND_SOC_SOF_IMX8M_SUPPORT=y
-CONFIG_SND_SOC_SOF_IMX8ULP_SUPPORT=y
-CONFIG_SND_SOC_SOF_IMX8ULP=y
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_BT_SCO=y
-CONFIG_SND_SOC_CROS_EC_CODEC=m
-CONFIG_SND_SOC_CS42XX8_I2C=y
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_MAX98357A=m
-CONFIG_SND_SOC_MAX98927=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_SGTL5000=m
-CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-CONFIG_SND_SOC_SPDIF=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SOC_WCD934X=m
-CONFIG_SND_SOC_WM8524=y
-CONFIG_SND_SOC_WM8904=m
-CONFIG_SND_SOC_WM8960=y
-CONFIG_SND_SOC_RPMSG_WM8960=y
-CONFIG_SND_SOC_RPMSG_WM8960_I2C=y
-CONFIG_SND_SOC_RPMSG_AK4497=y
-CONFIG_SND_SOC_WSA881X=m
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_SND_AUDIO_GRAPH_CARD=y
-CONFIG_SND_ALOOP=m
-CONFIG_I2C_HID=m
-CONFIG_USB_CONN_GPIO=y
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-CONFIG_USB_HCD_TEST_MODE=y
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_UAS=y
-CONFIG_USB_CDNS3=y
-CONFIG_USB_CDNS3_GADGET=y
-CONFIG_USB_CDNS3_HOST=y
-CONFIG_USB_MUSB_HDRC=y
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC2=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SERIAL_CONSOLE=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_SIMPLE=y
-CONFIG_USB_SERIAL_FTDI_SIO=y
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=y
-CONFIG_USB_HSIC_USB3503=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_ULPI=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_SNP_UDC_PLAT=y
-CONFIG_USB_BDC_UDC=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_USB_CONFIGFS_F_UVC=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_TYPEC=y
-CONFIG_TYPEC_TCPM=y
-CONFIG_TYPEC_TCPCI=y
-CONFIG_TYPEC_FUSB302=m
-CONFIG_TYPEC_HD3SS3220=m
-CONFIG_TYPEC_SWITCH_GPIO=y
-CONFIG_MMC=y
-CONFIG_MMC_BLOCK_MINORS=32
-CONFIG_MMC_ARMMMCI=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_ACPI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ARASAN=y
-CONFIG_MMC_SDHCI_OF_ESDHC=y
-CONFIG_MMC_SDHCI_CADENCE=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_MMC_SDHCI_F_SDH30=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_EXYNOS=y
-CONFIG_MMC_DW_HI3798CV200=y
-CONFIG_MMC_DW_K3=y
-CONFIG_MMC_SDHCI_XENON=y
-CONFIG_MMC_SDHCI_AM654=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_EDAC=y
-CONFIG_EDAC_GHES=y
-CONFIG_EDAC_SYNOPSYS=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_PCF85363=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RV8803=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_CROS_EC=y
-CONFIG_RTC_DRV_FSL_FTM_ALARM=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_SC=y
-CONFIG_RTC_DRV_IMX_RPMSG=y
-CONFIG_DMADEVICES=y
-CONFIG_BCM_SBA_RAID=m
-CONFIG_FSL_EDMA=y
-CONFIG_FSL_QDMA=m
-CONFIG_FSL_EDMA_V3=y
-CONFIG_IMX_SDMA=y
-CONFIG_MV_XOR_V2=y
-CONFIG_MXS_DMA=y
-CONFIG_PL330_DMA=y
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_FSL_DPAA2_QDMA=m
-CONFIG_DMATEST=y
-CONFIG_DMABUF_HEAPS=y
-CONFIG_DMABUF_HEAPS_SYSTEM=y
-CONFIG_DMABUF_HEAPS_CMA=y
-CONFIG_DMABUF_HEAPS_DSP=y
-CONFIG_UIO=y
-CONFIG_UIO_PCI_GENERIC=y
-CONFIG_UIO_IVSHMEM=y
-CONFIG_VFIO=y
-CONFIG_VFIO_PCI=y
-CONFIG_VFIO_FSL_MC=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_VIRTIO_IVSHMEM=y
-CONFIG_XEN_GNTDEV=y
-CONFIG_XEN_GRANT_DEV_ALLOC=y
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_VIDEO_IMX_CAPTURE=y
-CONFIG_IMX8_MEDIA_DEVICE=m
-CONFIG_ION=y
-CONFIG_ION_SYSTEM_HEAP=y
-CONFIG_ION_CMA_HEAP=y
-CONFIG_FSL_DPAA2=y
-CONFIG_FSL_DPAA2_ETHSW=y
-CONFIG_FSL_PPFE=y
-CONFIG_FSL_PPFE_UTIL_DISABLED=y
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_CROS_EC_CHARDEV=m
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_FSL_SAI=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_COMMON_CLK_XGENE=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_COMMON_CLK_VC5=y
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_CLK_IMX8QXP=y
-CONFIG_CLK_IMX8ULP=y
-CONFIG_HWSPINLOCK=y
-CONFIG_ARM_MHU=y
-CONFIG_IMX_MBOX=y
-CONFIG_PLATFORM_MHU=y
-CONFIG_ARM_SMMU=y
-CONFIG_ARM_SMMU_V3=y
-CONFIG_REMOTEPROC=y
-CONFIG_IMX_REMOTEPROC=y
-CONFIG_IMX_DSP_REMOTEPROC=y
-CONFIG_RPMSG_CHAR=y
-CONFIG_RPMSG_QCOM_GLINK_RPM=y
-CONFIG_SOUNDWIRE=m
-CONFIG_SOUNDWIRE_QCOM=m
-CONFIG_SOC_BRCMSTB=y
-CONFIG_FSL_DPAA=y
-CONFIG_FSL_MC_DPIO=y
-CONFIG_FSL_RCPM=y
-CONFIG_FSL_QIXIS=y
-CONFIG_SOC_TI=y
-CONFIG_EXTCON_PTN5150=m
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-CONFIG_IIO=y
-CONFIG_IMX8QXP_ADC=y
-CONFIG_MAX9611=m
-CONFIG_QCOM_SPMI_ADC5=m
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS=m
-CONFIG_IIO_CROS_EC_LIGHT_PROX=m
-CONFIG_IIO_CROS_EC_BARO=m
-CONFIG_IIO_ST_LSM6DSX=y
-CONFIG_PWM=y
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_FSL_FTM=m
-CONFIG_PWM_IMX27=y
-CONFIG_PWM_RPCHIP=y
-CONFIG_PWM_SL28CPLD=m
-CONFIG_SL28CPLD_INTC=y
-CONFIG_MST_IRQ=y
-CONFIG_RESET_BRCMSTB_RESCAL=y
-CONFIG_RESET_IMX7=y
-CONFIG_RESET_IMX8ULP_SIM=y
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_MIXEL_LVDS=y
-CONFIG_PHY_MIXEL_LVDS_COMBO=y
-CONFIG_PHY_CADENCE_SALVO=y
-CONFIG_PHY_FSL_IMX8MP_LVDS=y
-CONFIG_PHY_MIXEL_MIPI_DPHY=y
-CONFIG_PHY_SAMSUNG_HDMI_PHY=y
-CONFIG_PHY_QCOM_USB_HS=y
-CONFIG_PHY_SAMSUNG_USB2=y
-CONFIG_ARM_SMMU_V3_PMU=m
-CONFIG_FSL_IMX8_DDR_PMU=y
-CONFIG_HISI_PMU=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_IMX_OCOTP_SCU=y
-CONFIG_FPGA=y
-CONFIG_FPGA_BRIDGE=m
-CONFIG_ALTERA_FREEZE_BRIDGE=m
-CONFIG_FPGA_REGION=m
-CONFIG_OF_FPGA_REGION=m
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=y
-CONFIG_SLIM_QCOM_CTRL=m
-CONFIG_INTERCONNECT=y
-CONFIG_MXC_SIM=y
-CONFIG_MXC_EMVSIM=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_HUGETLBFS=y
-CONFIG_EFIVAR_FS=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_SQUASHFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_9P_FS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-CONFIG_CRYPTO_ECHAINIV=y
-CONFIG_CRYPTO_TLS=m
-CONFIG_CRYPTO_CFB=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_OFB=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
-CONFIG_CRYPTO_DEV_CCREE=m
-CONFIG_CRYPTO_DEV_HISI_SEC2=m
-CONFIG_CRYPTO_DEV_HISI_ZIP=m
-CONFIG_CRYPTO_DEV_HISI_HPRE=m
-CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m
-CONFIG_INDIRECT_PIO=y
-CONFIG_CRC_CCITT=m
-CONFIG_CMA_SIZE_MBYTES=32
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
-CONFIG_CORESIGHT=y
-CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
-CONFIG_CORESIGHT_SOURCE_ETM4X=y
-CONFIG_MEMTEST=y
-CONFIG_MXC_PXP_V3=y
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_USER_API_AEAD=m
diff --git a/recipes-kernel/linux/linux-fslc-imx_5.10.bb b/recipes-kernel/linux/linux-fslc-imx_6.1.bb
index 88f5bf90..6e3838be 100644
--- a/recipes-kernel/linux/linux-fslc-imx_5.10.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.1.bb
@@ -12,8 +12,8 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
###############################################################################
# This recipe (and corresponding kernel repository and branch) receives updates
# from 3 different sources:
-# 1. Stable [linux-5.10.y] branch updates of korg;
-# 2. NXP-specific updates via branch [5.10-2.1.x-imx] shared via CodeAurora forum;
+# 1. Stable [linux-6.1.y] branch updates of korg;
+# 2. NXP-specific updates via branch [lf-6.1.y] shared via GitHub NXP repo;
# 3. Critical patches, which are not (yet) integrated into either of 2 above
# sources, but are required to be applied to the kernel tree.
#
@@ -28,39 +28,23 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
# ------------------------------------------------------------------------------
# 1. Stable (tag or SHA(s))
# ------------------------------------------------------------------------------
-# tag: v5.10.109
+# tag: v6.1.70
#
# ------------------------------------------------------------------------------
# 2. NXP-specific (tag or SHA(s))
# ------------------------------------------------------------------------------
-# tag: lf-5.10.52-2.1.0
+# tag: lf-6.1.55-2.2.0
#
# ------------------------------------------------------------------------------
# 3. Critical patches (SHA(s))
# ------------------------------------------------------------------------------
-# 27b6c760cc7f ("thermal: imx: fix a merging issue")
-# 8ef27ae9f200 ("gpio: fix enabling GPIO_VF610")
-# 12099c38577a ("ASoC: fsl_sai: Correct the clock source for mclk0")
-# db172377e6e2 ("Revert "MLK-12786-2: ASoC: fsl_sai: correct the clock source for mclk0"")
-# 372825d96a29 ("ARM: dts: imx7s: fix ARM timer definition")
-# 8b20421b2b61 ("staging: fsl_ppfe: reduce MAC address filtering loglevel to debug")
-# 16ea8f2ab906 ("staging: fsl_ppfe: assign correct OF nodes to individual ports")
-# 9d0f521803cd ("staging: fsl_ppfe: handle all RGMII modes in pfe_eth_adjust_link")
-# 9d957f4a4a32 ("PCI: dwc: PCI_IMX6 must depend on PCIE_DW")
-# 983b1aa2a2ea ("usb: chipidea: fix missing chipidea.h include")
-# bacde482ab6f ("ARM: imx: select MAILBOX with IMX_MBOX")
-# 5fd63d48755a ("gpu: drm: allow enabling DRM_IMX on Layerscape SoCs")
-# b06df4cec270 ("ARM: dts: imx7s: revert LCDIF AXI clock to IMX7D_LCDIF_PIXEL_ROOT_CLK")
-# bdf733608e50 ("ARM: imx: add missing debug_ll_io_init to i.MX6UL map_io")
-# 302f8a6d262a ("i2c: imx: remove unneeded libata include")
-# 107dc9bc6283 ("i2c: imx: fix lockdep issue")
-# 681f2d40b114 ("i2c: imx: avoid taking clk_prepare mutex in PM callbacks (again)")
-# 351c82388784 ("arch/arm64/boot/dts/freescale: fix file permissions on dts files")
-# fb3e7593ee84 ("irq-imx-irqsteer: fix compile error if CONFIG_PM_SLEEP is not set")
-# 96613ac4e960 ("arm: imx: include i.MX6SX DDR freq implementation for i.MX6UL")
-# 36fea22d04f4 ("arm: imx: do not include smp_wfe_imx6.S for i.MX6SX")
-# f86c8a4736f2 ("arm: imx: enable HAVE_IMX_BUSFREQ for i.MX6")
-# 05f7280c8648 ("arm: imx: do not build busfreq without HAVE_IMX_BUSFREQ")
+# - 77a660738af5 Revert "net: stmmac: fix FPE events losing"
+# - d9e9cb8ce9bc hx280enc_vc8000e: fix misplaced #endif
+# - 3f1f2ea72955 mxc: gpu-viv: change _QuerySignal() return type to gceSTATUS
+# - b73c6797ee42 ARM: imx_v7_defconfig: Remove KERNEL_LZO config
+# - ec33c7fc43be touchscreen: Kconfig: add I2C dependency for CT36X
+# - 6c41233a2cfb pwm: pwm-adp5585: fix get_state callback prototype
+# - 9c7540ecb891 pwm: pwm-rpmsg-imx: fix get_state callback prototype
#
# NOTE to upgraders:
# This recipe should NOT collect individual patches, they should be applied to
@@ -68,23 +52,28 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
# information should be properly filled in above.
###############################################################################
-include linux-fslc.inc
+require linux-imx.inc
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE = "1"
-KBRANCH = "5.10-2.1.x-imx"
-SRCREV = "882b6357e0d9303c747ac47dbf1e624a84fcb8dc"
+KBRANCH = "6.1-2.2.x-imx"
+SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
+SRCREV = "32a344619c750cdcbe31bed754adc1b30d362e45"
# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
# required by kernel-yocto.bbclass.
#
# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
# should be updated once patchlevel is merged.
-LINUX_VERSION = "5.10.109"
+LINUX_VERSION = "6.1.70"
+
+KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
+KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
+KBUILD_DEFCONFIG:mx8-generic-bsp = "imx_v8_defconfig"
+KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig"
# Local version indicates the branch name in the NXP kernel tree where patches are collected from.
-LOCALVERSION = "-5.10.52-2.1.0"
+LOCALVERSION = "-lf-6.1.y"
DEFAULT_PREFERENCE = "1"
diff --git a/recipes-kernel/linux/linux-fslc-lts-mfgtool_5.10.bb b/recipes-kernel/linux/linux-fslc-lts-mfgtool_5.10.bb
deleted file mode 100644
index 95dd72fb..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-mfgtool_5.10.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2014-2018 O.S. Systems Software LTDA.
-# Copyright (C) 2014-2016 Freescale Semiconductor
-
-SUMMARY = "Produces a Manufacturing Tool compatible Linux Kernel"
-DESCRIPTION = "Linux Kernel provided and supported by the Freescale Community \
-that produces a Manufacturing Tool compatible Linux Kernel to be used in updater \
-environment"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/linux-fslc:"
-require linux-fslc-lts_${PV}.bb
-require linux-mfgtool.inc
-
-KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-MODULE_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-do_package[vardepsexclude] = "DATETIME"
diff --git a/recipes-kernel/linux/linux-fslc-lts/armv8a/defconfig b/recipes-kernel/linux/linux-fslc-lts/armv8a/defconfig
deleted file mode 100644
index df595480..00000000
--- a/recipes-kernel/linux/linux-fslc-lts/armv8a/defconfig
+++ /dev/null
@@ -1,1097 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_PERF=y
-CONFIG_USER_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-CONFIG_ARCH_ACTIONS=y
-CONFIG_ARCH_AGILEX=y
-CONFIG_ARCH_SUNXI=y
-CONFIG_ARCH_ALPINE=y
-CONFIG_ARCH_BCM2835=y
-CONFIG_ARCH_BCM_IPROC=y
-CONFIG_ARCH_BERLIN=y
-CONFIG_ARCH_BRCMSTB=y
-CONFIG_ARCH_EXYNOS=y
-CONFIG_ARCH_K3=y
-CONFIG_ARCH_LAYERSCAPE=y
-CONFIG_ARCH_LG1K=y
-CONFIG_ARCH_HISI=y
-CONFIG_ARCH_MEDIATEK=y
-CONFIG_ARCH_MESON=y
-CONFIG_ARCH_MVEBU=y
-CONFIG_ARCH_MXC=y
-CONFIG_ARCH_QCOM=y
-CONFIG_ARCH_RENESAS=y
-CONFIG_ARCH_ROCKCHIP=y
-CONFIG_ARCH_S32=y
-CONFIG_ARCH_SEATTLE=y
-CONFIG_ARCH_STRATIX10=y
-CONFIG_ARCH_SYNQUACER=y
-CONFIG_ARCH_TEGRA=y
-CONFIG_ARCH_SPRD=y
-CONFIG_ARCH_THUNDER=y
-CONFIG_ARCH_THUNDER2=y
-CONFIG_ARCH_UNIPHIER=y
-CONFIG_ARCH_VEXPRESS=y
-CONFIG_ARCH_VISCONTI=y
-CONFIG_ARCH_XGENE=y
-CONFIG_ARCH_ZX=y
-CONFIG_ARCH_ZYNQMP=y
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_SCHED_MC=y
-CONFIG_SCHED_SMT=y
-CONFIG_NUMA=y
-CONFIG_SECCOMP=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_FILE=y
-CONFIG_CRASH_DUMP=y
-CONFIG_XEN=y
-CONFIG_COMPAT=y
-CONFIG_RANDOMIZE_BASE=y
-CONFIG_HIBERNATION=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-CONFIG_ENERGY_MODEL=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ACPI_CPPC_CPUFREQ=m
-CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
-CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
-CONFIG_ARM_SCPI_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=m
-CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
-CONFIG_ARM_QCOM_CPUFREQ_HW=y
-CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
-CONFIG_ARM_TEGRA186_CPUFREQ=y
-CONFIG_QORIQ_CPUFREQ=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_RASPBERRYPI_FIRMWARE=y
-CONFIG_INTEL_STRATIX10_SERVICE=y
-CONFIG_INTEL_STRATIX10_RSU=m
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_ACPI=y
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-CONFIG_ACPI_APEI_EINJ=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-CONFIG_CRYPTO_SM3_ARM64_CE=m
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_KSM=y
-CONFIG_MEMORY_FAILURE=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IPV6=m
-CONFIG_NETFILTER=y
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_NET_DSA=m
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBS=m
-CONFIG_NET_SCH_ETF=m
-CONFIG_NET_SCH_TAPRIO=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_GATE=m
-CONFIG_QRTR=m
-CONFIG_QRTR_SMD=m
-CONFIG_QRTR_TUN=m
-CONFIG_BPF_JIT=y
-CONFIG_CAN=m
-CONFIG_CAN_RCAR=m
-CONFIG_CAN_RCAR_CANFD=m
-CONFIG_CAN_FLEXCAN=m
-CONFIG_BT=m
-CONFIG_BT_HIDP=m
-# CONFIG_BT_HS is not set
-# CONFIG_BT_LE is not set
-CONFIG_BT_LEDS=y
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_CFG80211=m
-CONFIG_MAC80211=m
-CONFIG_MAC80211_LEDS=y
-CONFIG_RFKILL=m
-CONFIG_NET_9P=y
-CONFIG_NET_9P_VIRTIO=y
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-CONFIG_NFC_S3FWRN5_I2C=m
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PASID=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_PCI_AARDVARK=y
-CONFIG_PCI_TEGRA=y
-CONFIG_PCIE_RCAR_HOST=y
-CONFIG_PCIE_RCAR_EP=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCI_XGENE=y
-CONFIG_PCIE_ALTERA=y
-CONFIG_PCIE_ALTERA_MSI=y
-CONFIG_PCI_HOST_THUNDER_PEM=y
-CONFIG_PCI_HOST_THUNDER_ECAM=y
-CONFIG_PCIE_ROCKCHIP_HOST=m
-CONFIG_PCIE_BRCMSTB=m
-CONFIG_PCI_LAYERSCAPE=y
-CONFIG_PCIE_LAYERSCAPE_GEN4=y
-CONFIG_PCI_HISI=y
-CONFIG_PCIE_QCOM=y
-CONFIG_PCIE_ARMADA_8K=y
-CONFIG_PCIE_KIRIN=y
-CONFIG_PCIE_HISI_STB=y
-CONFIG_PCIE_TEGRA194_HOST=m
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=m
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_HISILICON_LPC=y
-CONFIG_SIMPLE_PM_BUS=y
-CONFIG_FSL_MC_BUS=y
-CONFIG_TEGRA_ACONNECT=m
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_DENALI_DT=y
-CONFIG_MTD_NAND_MARVELL=y
-CONFIG_MTD_NAND_FSL_IFC=y
-CONFIG_MTD_NAND_QCOM=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_SPI_CADENCE_QUADSPI=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_VIRTIO_BLK=y
-CONFIG_BLK_DEV_NVME=m
-CONFIG_SRAM=y
-CONFIG_PCI_ENDPOINT_TEST=m
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_AT25=m
-CONFIG_UACCE=m
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_HISI_SAS=y
-CONFIG_SCSI_HISI_SAS_PCI=y
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_UFSHCD=y
-CONFIG_SCSI_UFSHCD_PLATFORM=y
-CONFIG_SCSI_UFS_QCOM=m
-CONFIG_SCSI_UFS_HISI=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_CEVA=y
-CONFIG_AHCI_MVEBU=y
-CONFIG_AHCI_XGENE=y
-CONFIG_AHCI_QORIQ=y
-CONFIG_SATA_SIL24=y
-CONFIG_SATA_RCAR=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_PATA_OF_PLATFORM=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_NETDEVICES=y
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_TUN=y
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=y
-CONFIG_NET_DSA_MSCC_FELIX=m
-CONFIG_AMD_XGBE=y
-CONFIG_NET_XGENE=y
-CONFIG_ATL1C=m
-CONFIG_BCMGENET=m
-CONFIG_BNX2X=m
-CONFIG_MACB=y
-CONFIG_THUNDER_NIC_PF=y
-CONFIG_FEC=y
-CONFIG_FSL_FMAN=y
-CONFIG_FSL_DPAA_ETH=y
-CONFIG_FSL_DPAA2_ETH=y
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=y
-CONFIG_FSL_ENETC_QOS=y
-CONFIG_HIX5HD2_GMAC=y
-CONFIG_HNS_DSAF=y
-CONFIG_HNS_ENET=y
-CONFIG_HNS3=y
-CONFIG_HNS3_HCLGE=y
-CONFIG_HNS3_ENET=y
-CONFIG_E1000=y
-CONFIG_E1000E=y
-CONFIG_IGB=y
-CONFIG_IGBVF=y
-CONFIG_MVNETA=y
-CONFIG_MVPP2=y
-CONFIG_SKY2=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX5_CORE=m
-CONFIG_MLX5_CORE_EN=y
-CONFIG_QCOM_EMAC=m
-CONFIG_RMNET=m
-CONFIG_SH_ETH=y
-CONFIG_RAVB=y
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_SNI_AVE=y
-CONFIG_SNI_NETSEC=y
-CONFIG_STMMAC_ETH=m
-CONFIG_TI_K3_AM65_CPSW_NUSS=y
-CONFIG_QCOM_IPA=m
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_AQUANTIA_PHY=y
-CONFIG_MARVELL_PHY=m
-CONFIG_MARVELL_10G_PHY=m
-CONFIG_MESON_GXL_PHY=m
-CONFIG_MICREL_PHY=y
-CONFIG_MICROSEMI_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_REALTEK_PHY=m
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_VITESSE_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_ATH10K=m
-CONFIG_ATH10K_PCI=m
-CONFIG_ATH10K_SNOC=m
-CONFIG_BRCMFMAC=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_ADC=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=m
-CONFIG_KEYBOARD_IMX_SC_KEY=m
-CONFIG_KEYBOARD_CROS_EC=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PM8941_PWRKEY=y
-CONFIG_INPUT_PM8XXX_VIBRATOR=m
-CONFIG_INPUT_HISI_POWERKEY=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_AMBAKMI=y
-CONFIG_LEGACY_PTY_COUNT=16
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_BCM2835AUX=y
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_8250_OMAP=y
-CONFIG_SERIAL_8250_MT6577=y
-CONFIG_SERIAL_8250_UNIPHIER=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_MESON=y
-CONFIG_SERIAL_MESON_CONSOLE=y
-CONFIG_SERIAL_SAMSUNG=y
-CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-CONFIG_SERIAL_TEGRA=y
-CONFIG_SERIAL_TEGRA_TCU=y
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_MSM=y
-CONFIG_SERIAL_MSM_CONSOLE=y
-CONFIG_SERIAL_QCOM_GENI=y
-CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
-CONFIG_SERIAL_XILINX_PS_UART=y
-CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_FSL_LINFLEXUART=y
-CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
-CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_OWL=y
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_IPMI_HANDLER=m
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS_I2C_INFINEON=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_BCM2835=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_I2C_MESON=y
-CONFIG_I2C_MV64XXX=y
-CONFIG_I2C_OWL=y
-CONFIG_I2C_PXA=y
-CONFIG_I2C_QCOM_CCI=m
-CONFIG_I2C_QCOM_GENI=m
-CONFIG_I2C_QUP=y
-CONFIG_I2C_RK3X=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_I2C_TEGRA=y
-CONFIG_I2C_UNIPHIER_F=y
-CONFIG_I2C_RCAR=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-CONFIG_SPI=y
-CONFIG_SPI_ARMADA_3700=y
-CONFIG_SPI_BCM2835=m
-CONFIG_SPI_BCM2835AUX=m
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_NXP_FLEXSPI=y
-CONFIG_SPI_IMX=m
-CONFIG_SPI_FSL_DSPI=y
-CONFIG_SPI_MESON_SPICC=m
-CONFIG_SPI_MESON_SPIFC=m
-CONFIG_SPI_ORION=y
-CONFIG_SPI_PL022=y
-CONFIG_SPI_ROCKCHIP=y
-CONFIG_SPI_RPCIF=m
-CONFIG_SPI_QCOM_QSPI=m
-CONFIG_SPI_QUP=y
-CONFIG_SPI_QCOM_GENI=m
-CONFIG_SPI_S3C64XX=y
-CONFIG_SPI_SH_MSIOF=m
-CONFIG_SPI_SUN6I=y
-CONFIG_SPI_SPIDEV=m
-CONFIG_SPMI=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINCTRL_MAX77620=y
-CONFIG_PINCTRL_OWL=y
-CONFIG_PINCTRL_S700=y
-CONFIG_PINCTRL_S900=y
-CONFIG_PINCTRL_IMX8MM=y
-CONFIG_PINCTRL_IMX8MN=y
-CONFIG_PINCTRL_IMX8MP=y
-CONFIG_PINCTRL_IMX8MQ=y
-CONFIG_PINCTRL_IMX8QXP=y
-CONFIG_PINCTRL_IMX8DXL=y
-CONFIG_PINCTRL_IPQ8074=y
-CONFIG_PINCTRL_IPQ6018=y
-CONFIG_PINCTRL_MSM8916=y
-CONFIG_PINCTRL_MSM8994=y
-CONFIG_PINCTRL_MSM8996=y
-CONFIG_PINCTRL_MSM8998=y
-CONFIG_PINCTRL_QCS404=y
-CONFIG_PINCTRL_QDF2XXX=y
-CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
-CONFIG_PINCTRL_SC7180=y
-CONFIG_PINCTRL_SDM845=y
-CONFIG_PINCTRL_SM8150=y
-CONFIG_PINCTRL_SM8250=y
-CONFIG_GPIO_ALTERA=m
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_MB86S7X=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_GPIO_MXC=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_RCAR=y
-CONFIG_GPIO_UNIPHIER=y
-CONFIG_GPIO_WCD934X=m
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_XGENE_SB=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_BD9571MWV=m
-CONFIG_GPIO_MAX77620=y
-CONFIG_GPIO_SL28CPLD=m
-CONFIG_QCOM_CPR=y
-CONFIG_ROCKCHIP_IODOMAIN=y
-CONFIG_POWER_RESET_MSM=y
-CONFIG_POWER_RESET_XGENE=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_SYSCON_REBOOT_MODE=y
-CONFIG_BATTERY_SBS=m
-CONFIG_BATTERY_BQ27XXX=y
-CONFIG_SENSORS_ARM_SCPI=y
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_RASPBERRYPI_HWMON=m
-CONFIG_SENSORS_SL28CPLD=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
-CONFIG_CPU_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-CONFIG_QORIQ_THERMAL=m
-CONFIG_SUN8I_THERMAL=y
-CONFIG_IMX_SC_THERMAL=m
-CONFIG_IMX8MM_THERMAL=m
-CONFIG_ROCKCHIP_THERMAL=m
-CONFIG_RCAR_THERMAL=y
-CONFIG_RCAR_GEN3_THERMAL=y
-CONFIG_ARMADA_THERMAL=y
-CONFIG_BCM2711_THERMAL=m
-CONFIG_BCM2835_THERMAL=m
-CONFIG_BRCMSTB_THERMAL=m
-CONFIG_EXYNOS_THERMAL=y
-CONFIG_TEGRA_BPMP_THERMAL=m
-CONFIG_QCOM_TSENS=y
-CONFIG_QCOM_SPMI_TEMP_ALARM=m
-CONFIG_UNIPHIER_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_SL28CPLD_WATCHDOG=m
-CONFIG_ARM_SP805_WATCHDOG=y
-CONFIG_ARM_SBSA_WATCHDOG=y
-CONFIG_ARM_SMC_WATCHDOG=y
-CONFIG_S3C2410_WATCHDOG=y
-CONFIG_DW_WATCHDOG=y
-CONFIG_SUNXI_WATCHDOG=m
-CONFIG_IMX2_WDT=y
-CONFIG_IMX_SC_WDT=m
-CONFIG_QCOM_WDT=m
-CONFIG_MESON_GXBB_WATCHDOG=m
-CONFIG_MESON_WATCHDOG=m
-CONFIG_RENESAS_WDT=y
-CONFIG_UNIPHIER_WATCHDOG=y
-CONFIG_BCM2835_WDT=y
-CONFIG_MFD_ALTERA_SYSMGR=y
-CONFIG_MFD_BD9571MWV=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_AXP20X_RSB=y
-CONFIG_MFD_EXYNOS_LPASS=m
-CONFIG_MFD_HI6421_PMIC=y
-CONFIG_MFD_HI655X_PMIC=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_SPMI_PMIC=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_SL28CPLD=y
-CONFIG_MFD_ROHM_BD718XX=y
-CONFIG_MFD_WCD934X=m
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_AXP20X=y
-CONFIG_REGULATOR_BD718XX=y
-CONFIG_REGULATOR_BD9571MWV=y
-CONFIG_REGULATOR_FAN53555=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_HI6421V530=y
-CONFIG_REGULATOR_HI655X=y
-CONFIG_REGULATOR_MAX77620=y
-CONFIG_REGULATOR_MAX8973=y
-CONFIG_REGULATOR_PCA9450=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PWM=y
-CONFIG_REGULATOR_QCOM_RPMH=y
-CONFIG_REGULATOR_QCOM_SMD_RPM=y
-CONFIG_REGULATOR_QCOM_SPMI=y
-CONFIG_REGULATOR_RK808=y
-CONFIG_REGULATOR_S2MPS11=y
-CONFIG_REGULATOR_VCTRL=m
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_MESON=m
-CONFIG_IR_SUNXI=m
-CONFIG_MEDIA_SUPPORT=m
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_MEDIA_PLATFORM_SUPPORT=y
-# CONFIG_DVB_NET is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_RCAR_CSI2=m
-CONFIG_VIDEO_RCAR_VIN=m
-CONFIG_VIDEO_SUN6I_CSI=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
-CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
-CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
-CONFIG_VIDEO_RENESAS_FDP1=m
-CONFIG_VIDEO_RENESAS_FCP=m
-CONFIG_VIDEO_RENESAS_VSP1=m
-CONFIG_SDR_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_RCAR_DRIF=m
-CONFIG_VIDEO_IMX219=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_VIDEO_QCOM_CAMSS=m
-CONFIG_DRM=m
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_MALI_DISPLAY=m
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_EXYNOS=m
-CONFIG_DRM_EXYNOS5433_DECON=y
-CONFIG_DRM_EXYNOS7_DECON=y
-CONFIG_DRM_EXYNOS_DSI=y
-# CONFIG_DRM_EXYNOS_DP is not set
-CONFIG_DRM_EXYNOS_HDMI=y
-CONFIG_DRM_EXYNOS_MIC=y
-CONFIG_DRM_ROCKCHIP=m
-CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
-CONFIG_ROCKCHIP_DW_HDMI=y
-CONFIG_ROCKCHIP_DW_MIPI_DSI=y
-CONFIG_ROCKCHIP_INNO_HDMI=y
-CONFIG_DRM_RCAR_DU=m
-CONFIG_DRM_RCAR_DW_HDMI=m
-CONFIG_DRM_SUN4I=m
-CONFIG_DRM_SUN6I_DSI=m
-CONFIG_DRM_SUN8I_DW_HDMI=m
-CONFIG_DRM_SUN8I_MIXER=m
-CONFIG_DRM_MSM=m
-CONFIG_DRM_TEGRA=m
-CONFIG_DRM_PANEL_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=m
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
-CONFIG_DRM_PANEL_SITRONIX_ST7703=m
-CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-CONFIG_DRM_DISPLAY_CONNECTOR=m
-CONFIG_DRM_NWL_MIPI_DSI=m
-CONFIG_DRM_LONTIUM_LT9611=m
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_SIMPLE_BRIDGE=m
-CONFIG_DRM_THINE_THC63LVD1024=m
-CONFIG_DRM_TI_SN65DSI86=m
-CONFIG_DRM_I2C_ADV7511=m
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_CEC=m
-CONFIG_DRM_VC4=m
-CONFIG_DRM_ETNAVIV=m
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_HISI_KIRIN=m
-CONFIG_DRM_MXSFB=m
-CONFIG_DRM_MESON=m
-CONFIG_DRM_PL111=m
-CONFIG_DRM_LIMA=m
-CONFIG_DRM_PANFROST=m
-CONFIG_FB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_EFI=y
-CONFIG_BACKLIGHT_PWM=m
-CONFIG_BACKLIGHT_LP855X=m
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_HDA_TEGRA=m
-CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_SOC=y
-CONFIG_SND_BCM2835_SOC_I2S=m
-CONFIG_SND_SOC_FSL_SAI=m
-CONFIG_SND_MESON_AXG_SOUND_CARD=m
-CONFIG_SND_MESON_GX_SOUND_CARD=m
-CONFIG_SND_SOC_QCOM=m
-CONFIG_SND_SOC_APQ8016_SBC=m
-CONFIG_SND_SOC_MSM8996=m
-CONFIG_SND_SOC_SDM845=m
-CONFIG_SND_SOC_ROCKCHIP=m
-CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
-CONFIG_SND_SOC_ROCKCHIP_RT5645=m
-CONFIG_SND_SOC_RK3399_GRU_SOUND=m
-CONFIG_SND_SOC_SAMSUNG=y
-CONFIG_SND_SOC_RCAR=m
-CONFIG_SND_SUN4I_SPDIF=m
-CONFIG_SND_SOC_TEGRA=m
-CONFIG_SND_SOC_TEGRA210_AHUB=m
-CONFIG_SND_SOC_TEGRA210_DMIC=m
-CONFIG_SND_SOC_TEGRA210_I2S=m
-CONFIG_SND_SOC_TEGRA186_DSPK=m
-CONFIG_SND_SOC_TEGRA210_ADMAIF=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SOC_WCD934X=m
-CONFIG_SND_SOC_WM8904=m
-CONFIG_SND_SOC_WSA881X=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_AUDIO_GRAPH_CARD=m
-CONFIG_I2C_HID=m
-CONFIG_USB_CONN_GPIO=y
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_TEGRA=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_EXYNOS=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_EXYNOS=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-CONFIG_USB_RENESAS_USBHS_HCD=m
-CONFIG_USB_RENESAS_USBHS=m
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_MUSB_HDRC=y
-CONFIG_USB_MUSB_SUNXI=y
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC2=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_HSIC_USB3503=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_RENESAS_USBHS_UDC=m
-CONFIG_USB_RENESAS_USB3=m
-CONFIG_USB_TEGRA_XUDC=m
-CONFIG_USB_CONFIGFS=m
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_TYPEC=m
-CONFIG_TYPEC_TCPM=m
-CONFIG_TYPEC_FUSB302=m
-CONFIG_TYPEC_HD3SS3220=m
-CONFIG_MMC=y
-CONFIG_MMC_BLOCK_MINORS=32
-CONFIG_MMC_ARMMMCI=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_ACPI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ARASAN=y
-CONFIG_MMC_SDHCI_OF_ESDHC=y
-CONFIG_MMC_SDHCI_CADENCE=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_MMC_SDHCI_TEGRA=y
-CONFIG_MMC_SDHCI_F_SDH30=y
-CONFIG_MMC_MESON_GX=y
-CONFIG_MMC_SDHCI_MSM=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_SDHI=y
-CONFIG_MMC_UNIPHIER=y
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_EXYNOS=y
-CONFIG_MMC_DW_HI3798CV200=y
-CONFIG_MMC_DW_K3=y
-CONFIG_MMC_DW_ROCKCHIP=y
-CONFIG_MMC_SUNXI=y
-CONFIG_MMC_BCM2835=y
-CONFIG_MMC_SDHCI_XENON=y
-CONFIG_MMC_SDHCI_AM654=y
-CONFIG_MMC_OWL=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_EDAC=y
-CONFIG_EDAC_GHES=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_PCF85363=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RV8803=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_CROS_EC=y
-CONFIG_RTC_DRV_S3C=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_SUN6I=y
-CONFIG_RTC_DRV_ARMADA38X=y
-CONFIG_RTC_DRV_PM8XXX=m
-CONFIG_RTC_DRV_TEGRA=y
-CONFIG_RTC_DRV_SNVS=m
-CONFIG_RTC_DRV_IMX_SC=m
-CONFIG_RTC_DRV_XGENE=y
-CONFIG_DMADEVICES=y
-CONFIG_DMA_BCM2835=y
-CONFIG_DMA_SUN6I=m
-CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
-CONFIG_K3_DMA=y
-CONFIG_MV_XOR=y
-CONFIG_MV_XOR_V2=y
-CONFIG_OWL_DMA=y
-CONFIG_PL330_DMA=y
-CONFIG_TEGRA20_APB_DMA=y
-CONFIG_TEGRA210_ADMA=m
-CONFIG_QCOM_BAM_DMA=y
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_RCAR_DMAC=y
-CONFIG_RENESAS_USB_DMAC=m
-CONFIG_TI_K3_UDMA=y
-CONFIG_TI_K3_UDMA_GLUE_LAYER=y
-CONFIG_VFIO=y
-CONFIG_VFIO_PCI=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_XEN_GNTDEV=y
-CONFIG_XEN_GRANT_DEV_ALLOC=y
-CONFIG_MFD_CROS_EC_DEV=y
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_CROS_EC_CHARDEV=m
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_FSL_SAI=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_COMMON_CLK_VC5=y
-CONFIG_COMMON_CLK_BD718XX=m
-CONFIG_CLK_RASPBERRYPI=m
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_CLK_IMX8QXP=y
-CONFIG_TI_SCI_CLK=y
-CONFIG_COMMON_CLK_QCOM=y
-CONFIG_QCOM_A53PLL=y
-CONFIG_QCOM_CLK_APCS_MSM8916=y
-CONFIG_QCOM_CLK_SMD_RPM=y
-CONFIG_QCOM_CLK_RPMH=y
-CONFIG_IPQ_GCC_8074=y
-CONFIG_IPQ_GCC_6018=y
-CONFIG_MSM_GCC_8916=y
-CONFIG_MSM_GCC_8994=y
-CONFIG_MSM_MMCC_8996=y
-CONFIG_MSM_GCC_8998=y
-CONFIG_QCS_GCC_404=y
-CONFIG_SC_GCC_7180=y
-CONFIG_SDM_CAMCC_845=m
-CONFIG_SDM_GCC_845=y
-CONFIG_SDM_GPUCC_845=y
-CONFIG_SDM_VIDEOCC_845=y
-CONFIG_SDM_DISPCC_845=y
-CONFIG_SM_GCC_8150=y
-CONFIG_SM_GCC_8250=y
-CONFIG_SM_GPUCC_8150=y
-CONFIG_SM_GPUCC_8250=y
-CONFIG_QCOM_HFPLL=y
-CONFIG_HWSPINLOCK=y
-CONFIG_HWSPINLOCK_QCOM=y
-CONFIG_ARM_MHU=y
-CONFIG_IMX_MBOX=y
-CONFIG_PLATFORM_MHU=y
-CONFIG_BCM2835_MBOX=y
-CONFIG_QCOM_APCS_IPC=y
-CONFIG_QCOM_IPCC=y
-CONFIG_ROCKCHIP_IOMMU=y
-CONFIG_TEGRA_IOMMU_SMMU=y
-CONFIG_ARM_SMMU=y
-CONFIG_ARM_SMMU_V3=y
-CONFIG_QCOM_IOMMU=y
-CONFIG_REMOTEPROC=y
-CONFIG_QCOM_Q6V5_MSS=m
-CONFIG_QCOM_Q6V5_PAS=m
-CONFIG_QCOM_SYSMON=m
-CONFIG_RPMSG_QCOM_GLINK_RPM=y
-CONFIG_RPMSG_QCOM_GLINK_SMEM=m
-CONFIG_RPMSG_QCOM_SMD=y
-CONFIG_SOUNDWIRE=m
-CONFIG_SOUNDWIRE_QCOM=m
-CONFIG_OWL_PM_DOMAINS=y
-CONFIG_RASPBERRYPI_POWER=y
-CONFIG_FSL_DPAA=y
-CONFIG_FSL_MC_DPIO=y
-CONFIG_QCOM_AOSS_QMP=y
-CONFIG_QCOM_GENI_SE=y
-CONFIG_QCOM_RMTFS_MEM=m
-CONFIG_QCOM_RPMH=y
-CONFIG_QCOM_RPMHPD=y
-CONFIG_QCOM_RPMPD=y
-CONFIG_QCOM_SMEM=y
-CONFIG_QCOM_SMD_RPM=y
-CONFIG_QCOM_SMP2P=y
-CONFIG_QCOM_SMSM=y
-CONFIG_QCOM_SOCINFO=m
-CONFIG_QCOM_APR=m
-CONFIG_ARCH_R8A774A1=y
-CONFIG_ARCH_R8A774B1=y
-CONFIG_ARCH_R8A774C0=y
-CONFIG_ARCH_R8A774E1=y
-CONFIG_ARCH_R8A77950=y
-CONFIG_ARCH_R8A77951=y
-CONFIG_ARCH_R8A77960=y
-CONFIG_ARCH_R8A77961=y
-CONFIG_ARCH_R8A77965=y
-CONFIG_ARCH_R8A77970=y
-CONFIG_ARCH_R8A77980=y
-CONFIG_ARCH_R8A77990=y
-CONFIG_ARCH_R8A77995=y
-CONFIG_ROCKCHIP_PM_DOMAINS=y
-CONFIG_ARCH_TEGRA_132_SOC=y
-CONFIG_ARCH_TEGRA_210_SOC=y
-CONFIG_ARCH_TEGRA_186_SOC=y
-CONFIG_ARCH_TEGRA_194_SOC=y
-CONFIG_ARCH_K3_AM6_SOC=y
-CONFIG_ARCH_K3_J721E_SOC=y
-CONFIG_TI_SCI_PM_DOMAINS=y
-CONFIG_EXTCON_PTN5150=m
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-CONFIG_RENESAS_RPCIF=m
-CONFIG_IIO=y
-CONFIG_EXYNOS_ADC=y
-CONFIG_MAX9611=m
-CONFIG_QCOM_SPMI_ADC5=m
-CONFIG_ROCKCHIP_SARADC=m
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS=m
-CONFIG_IIO_CROS_EC_LIGHT_PROX=m
-CONFIG_SENSORS_ISL29018=m
-CONFIG_IIO_CROS_EC_BARO=m
-CONFIG_MPL3115=m
-CONFIG_PWM=y
-CONFIG_PWM_BCM2835=m
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_MESON=m
-CONFIG_PWM_RCAR=m
-CONFIG_PWM_ROCKCHIP=y
-CONFIG_PWM_SAMSUNG=y
-CONFIG_PWM_SL28CPLD=m
-CONFIG_PWM_SUN4I=m
-CONFIG_PWM_TEGRA=m
-CONFIG_SL28CPLD_INTC=y
-CONFIG_QCOM_PDC=y
-CONFIG_RESET_IMX7=y
-CONFIG_RESET_QCOM_AOSS=y
-CONFIG_RESET_QCOM_PDC=m
-CONFIG_RESET_TI_SCI=y
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_SUN4I_USB=y
-CONFIG_PHY_MIXEL_MIPI_DPHY=m
-CONFIG_PHY_HI6220_USB=y
-CONFIG_PHY_HISTB_COMBPHY=y
-CONFIG_PHY_HISI_INNO_USB2=y
-CONFIG_PHY_MVEBU_CP110_COMPHY=y
-CONFIG_PHY_QCOM_QMP=m
-CONFIG_PHY_QCOM_QUSB2=m
-CONFIG_PHY_QCOM_USB_HS=y
-CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
-CONFIG_PHY_RCAR_GEN3_PCIE=y
-CONFIG_PHY_RCAR_GEN3_USB2=y
-CONFIG_PHY_RCAR_GEN3_USB3=m
-CONFIG_PHY_ROCKCHIP_EMMC=y
-CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
-CONFIG_PHY_ROCKCHIP_INNO_USB2=y
-CONFIG_PHY_ROCKCHIP_PCIE=m
-CONFIG_PHY_ROCKCHIP_TYPEC=y
-CONFIG_PHY_UNIPHIER_USB2=y
-CONFIG_PHY_UNIPHIER_USB3=y
-CONFIG_PHY_TEGRA_XUSB=y
-CONFIG_ARM_SMMU_V3_PMU=m
-CONFIG_FSL_IMX8_DDR_PMU=m
-CONFIG_HISI_PMU=y
-CONFIG_QCOM_L2_PMU=y
-CONFIG_QCOM_L3_PMU=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_IMX_OCOTP_SCU=y
-CONFIG_QCOM_QFPROM=y
-CONFIG_ROCKCHIP_EFUSE=y
-CONFIG_NVMEM_SUNXI_SID=y
-CONFIG_UNIPHIER_EFUSE=y
-CONFIG_MESON_EFUSE=m
-CONFIG_FPGA=y
-CONFIG_FPGA_MGR_STRATIX10_SOC=m
-CONFIG_FPGA_BRIDGE=m
-CONFIG_ALTERA_FREEZE_BRIDGE=m
-CONFIG_FPGA_REGION=m
-CONFIG_OF_FPGA_REGION=m
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_SLIMBUS=m
-CONFIG_SLIM_QCOM_CTRL=m
-CONFIG_SLIM_QCOM_NGD_CTRL=m
-CONFIG_MUX_MMIO=y
-CONFIG_INTERCONNECT=y
-CONFIG_INTERCONNECT_QCOM=y
-CONFIG_INTERCONNECT_QCOM_MSM8916=m
-CONFIG_INTERCONNECT_QCOM_SDM845=m
-CONFIG_INTERCONNECT_QCOM_SM8150=m
-CONFIG_INTERCONNECT_QCOM_SM8250=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_EFIVAR_FS=y
-CONFIG_SQUASHFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_9P_FS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_ECHAINIV=y
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_DEV_SUN8I_CE=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
-CONFIG_CRYPTO_DEV_QCOM_RNG=m
-CONFIG_CRYPTO_DEV_CCREE=m
-CONFIG_CRYPTO_DEV_HISI_SEC2=m
-CONFIG_CRYPTO_DEV_HISI_ZIP=m
-CONFIG_CRYPTO_DEV_HISI_HPRE=m
-CONFIG_CMA_SIZE_MBYTES=32
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
-CONFIG_MEMTEST=y
-CONFIG_KPROBES=y
-CONFIG_KRETPROBES=y
-CONFIG_FUNCTION_ERROR_INJECTION=y
-# CONFIG_KPROBES_SANITY_TEST is not set
-
diff --git a/recipes-kernel/linux/linux-fslc-lts/defconfig b/recipes-kernel/linux/linux-fslc-lts/defconfig
deleted file mode 100644
index 127e38f2..00000000
--- a/recipes-kernel/linux/linux-fslc-lts/defconfig
+++ /dev/null
@@ -1,481 +0,0 @@
-CONFIG_KERNEL_LZO=y
-CONFIG_SYSVIPC=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_CGROUPS=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_SLUB_DEBUG is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_ARCH_MULTI_V6=y
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX31=y
-CONFIG_SOC_IMX35=y
-CONFIG_SOC_IMX50=y
-CONFIG_SOC_IMX51=y
-CONFIG_SOC_IMX53=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6UL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX7ULP=y
-CONFIG_SOC_VF610=y
-CONFIG_PCI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_IMX6=y
-CONFIG_SMP=y
-CONFIG_ARM_PSCI=y
-CONFIG_HIGHMEM=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-CONFIG_KEXEC=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=y
-CONFIG_CPU_IDLE=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_NETFILTER=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_BT=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_CFG80211=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_RFKILL=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_CMA_SIZE_MBYTES=64
-CONFIG_IMX_WEIM=y
-CONFIG_CONNECTOR=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_NAND_VF610_NFC=y
-CONFIG_MTD_NAND_MXC=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_FASTMAP=y
-CONFIG_MTD_UBI_BLOCK=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_AT25=y
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=y
-CONFIG_PATA_IMX=y
-CONFIG_NETDEVICES=y
-# CONFIG_NET_VENDOR_BROADCOM is not set
-CONFIG_CS89x0=y
-CONFIG_CS89x0_PLATFORM=y
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_SMC91X=y
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_AT803X_PHY=y
-CONFIG_MICREL_PHY=y
-CONFIG_SMSC_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=y
-CONFIG_USB_LAN78XX=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_BRCMFMAC=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-# CONFIG_WILINK_PLATFORM_DATA is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=y
-CONFIG_KEYBOARD_IMX=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
-CONFIG_TOUCHSCREEN_AD7879=y
-CONFIG_TOUCHSCREEN_AD7879_I2C=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=y
-CONFIG_TOUCHSCREEN_DA9052=y
-CONFIG_TOUCHSCREEN_EGALAX=y
-CONFIG_TOUCHSCREEN_GOODIX=y
-CONFIG_TOUCHSCREEN_ILI210X=y
-CONFIG_TOUCHSCREEN_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_EDT_FT5X06=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2004=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=y
-CONFIG_TOUCHSCREEN_SX8654=y
-CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_GPIO=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_GPIO=y
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_FSL_DSPI=y
-CONFIG_PINCTRL_IMX8MM=y
-CONFIG_PINCTRL_IMX8MN=y
-CONFIG_PINCTRL_IMX8MP=y
-CONFIG_PINCTRL_IMX8MQ=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_SIOX=m
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_MC9S08DZ60=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCF857X=y
-CONFIG_GPIO_STMPE=y
-CONFIG_GPIO_74X164=y
-CONFIG_GPIO_MXC=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_SENSORS_MC13783_ADC=y
-CONFIG_SENSORS_GPIO_FAN=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_THERMAL_STATISTICS=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_DA9062_WATCHDOG=y
-CONFIG_DA9063_WATCHDOG=m
-CONFIG_RN5T618_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_DA9062=y
-CONFIG_MFD_DA9063=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_RN5T618=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_DA9062=y
-CONFIG_REGULATOR_DA9063=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_RN5T618=y
-CONFIG_RC_CORE=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MUX=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=m
-CONFIG_VIDEO_IMX_PXP=y
-# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV5640=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_IMX_IPUV3_CORE=y
-CONFIG_DRM=y
-CONFIG_DRM_MSM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_TI_TFP410=y
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_CEC=y
-CONFIG_DRM_IMX=y
-CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
-CONFIG_DRM_IMX_TVE=y
-CONFIG_DRM_IMX_LDB=y
-CONFIG_DRM_IMX_HDMI=y
-CONFIG_DRM_ETNAVIV=y
-CONFIG_DRM_MXSFB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_GPIO=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_FSL_ASRC=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_PHYCORE_AC97=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_ES8328=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_AC97_CODEC=y
-CONFIG_SND_SOC_CS42XX8_I2C=y
-CONFIG_SND_SOC_TLV320AIC3X=y
-CONFIG_SND_SOC_WM8960=y
-CONFIG_SND_SOC_WM8962=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MXC=y
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=m
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_FSL_USB2=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_USB_CONFIGFS_F_UVC=y
-CONFIG_USB_CONFIGFS_F_PRINTER=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FUNCTIONFS=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_ISL1208=y
-CONFIG_RTC_DRV_PCF8523=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_RTC_DRV_M41T80=y
-CONFIG_RTC_DRV_DA9063=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_RTC_DRV_MXC_V2=y
-CONFIG_RTC_DRV_RC5T619=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_DMADEVICES=y
-CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
-CONFIG_MXS_DMA=y
-CONFIG_DMATEST=m
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_VIDEO_IMX_MEDIA=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_SOC_IMX8M=y
-CONFIG_IIO=y
-CONFIG_MMA8452=y
-CONFIG_IMX7D_ADC=y
-CONFIG_RN5T618_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_SENSORS_ISL29018=y
-CONFIG_MAG3110=y
-CONFIG_MPL3115=y
-CONFIG_PWM=y
-CONFIG_PWM_FSL_FTM=y
-CONFIG_PWM_IMX27=y
-CONFIG_PWM_IMX_TPM=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_VF610_OCOTP=y
-CONFIG_NVMEM_SNVS_LPGPR=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=y
-CONFIG_SIOX=m
-CONFIG_SIOX_BUS_GPIO=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=y
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_UTF8=y
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_SAHARA=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_PRINTK_TIME=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_PROVE_LOCKING=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
-CONFIG_KPROBES=y
-CONFIG_OPTPROBES=y
-CONFIG_KRETPROBES=y
-# CONFIG_ARM_KPROBES_TEST is not set
-# CONFIG_KPROBES_SANITY_TEST is not set
-
diff --git a/recipes-kernel/linux/linux-fslc-lts/mxs-generic-bsp/defconfig b/recipes-kernel/linux/linux-fslc-lts/mxs-generic-bsp/defconfig
deleted file mode 100644
index a913c0dd..00000000
--- a/recipes-kernel/linux/linux-fslc-lts/mxs-generic-bsp/defconfig
+++ /dev/null
@@ -1,180 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_CGROUPS=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_PID_NS is not set
-# CONFIG_NET_NS is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_ARCH_MULTI_V7 is not set
-CONFIG_ARCH_MXS=y
-CONFIG_AEABI=y
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_CAN=m
-CONFIG_CAN_FLEXCAN=m
-# CONFIG_WIRELESS is not set
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_MTD_UBI=y
-# CONFIG_BLK_DEV is not set
-CONFIG_EEPROM_AT24=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_ENC28J60=y
-CONFIG_ICPLUS_PHY=y
-CONFIG_MICREL_PHY=y
-CONFIG_REALTEK_PHY=y
-CONFIG_SMSC_PHY=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_SMSC95XX=y
-# CONFIG_WLAN is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_MXS_LRADC=y
-CONFIG_TOUCHSCREEN_TSC2007=m
-# CONFIG_SERIO is not set
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_MXS_AUART=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MXS=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=m
-CONFIG_SPI_MXS=y
-CONFIG_GPIO_SYSFS=y
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_STMP3XXX_RTC_WATCHDOG=y
-CONFIG_MFD_MXS_LRADC=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_DRM=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_MXSFB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SOC=y
-CONFIG_SND_MXS_SOC=y
-CONFIG_SND_SOC_MXS_SGTL5000=y
-CONFIG_USB=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_ETH=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_MMC=y
-CONFIG_MMC_MXS=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_STMP=y
-CONFIG_DMADEVICES=y
-CONFIG_MXS_DMA=y
-CONFIG_IIO=y
-CONFIG_MXS_LRADC_ADC=y
-CONFIG_IIO_SYSFS_TRIGGER=y
-CONFIG_PWM=y
-CONFIG_PWM_MXS=y
-CONFIG_NVMEM_MXS_OCOTP=y
-CONFIG_EXT4_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_STATS=y
-CONFIG_CACHEFILES=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RUBIN=y
-CONFIG_UBIFS_FS=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC7=m
-CONFIG_FONTS=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_FRAME_WARN=2048
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_SOFTLOCKUP_DETECTOR=y
-CONFIG_PROVE_LOCKING=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_STRICT_DEVMEM=y
-CONFIG_DEBUG_USER=y
-CONFIG_KPROBES=y
-CONFIG_OPTPROBES=y
-CONFIG_KRETPROBES=y
-# CONFIG_ARM_KPROBES_TEST is not set
-# CONFIG_KPROBES_SANITY_TEST is not set
-
diff --git a/recipes-kernel/linux/linux-fslc-lts_6.1.bb b/recipes-kernel/linux/linux-fslc-lts_6.1.bb
new file mode 100644
index 00000000..8e1bab4b
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc-lts_6.1.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2012-2019 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# SPDX-License-Identifier: MIT
+#
+
+SUMMARY = "FSL Community BSP Linux LTS based kernel with backported features and fixes"
+DESCRIPTION = "Linux kernel based on LTS kernel used by FSL Community BSP in order to \
+provide support for some backported features and fixes, or because it was applied in upstream \
+and will not become part of a LTS version, or because it is not applicable for \
+upstreaming in any form."
+
+require linux-imx.inc
+
+KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE = "1"
+
+SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
+
+# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
+# required by kernel-yocto.bbclass.
+#
+# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
+# should be updated once patchlevel is merged.
+LINUX_VERSION = "6.1.72"
+
+KBRANCH = "6.1.x+fslc"
+SRCREV = "b80c9dede70132da3ae7feb949fe0803aad3db24"
+
+KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx8-generic-bsp = "defconfig"
+KBUILD_DEFCONFIG:mx9-generic-bsp = "defconfig"
+KBUILD_DEFCONFIG:mxs-generic-bsp = "mxs_defconfig"
+KBUILD_DEFCONFIG:vf-generic-bsp = "imx_v6_v7_defconfig"
+
+LOCALVERSION = "-fslc"
+
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc-mfgtool_5.15.bb b/recipes-kernel/linux/linux-fslc-mfgtool_5.15.bb
deleted file mode 100644
index 09d35c91..00000000
--- a/recipes-kernel/linux/linux-fslc-mfgtool_5.15.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2014-2018 O.S. Systems Software LTDA.
-# Copyright (C) 2014-2016 Freescale Semiconductor
-
-SUMMARY = "Produces a Manufacturing Tool compatible Linux Kernel"
-DESCRIPTION = "Linux Kernel provided and supported by the Freescale Community \
-that produces a Manufacturing Tool compatible Linux Kernel to be used in updater \
-environment"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/linux-fslc:"
-require linux-fslc_${PV}.bb
-require linux-mfgtool.inc
-
-KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-MODULE_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-do_package[vardepsexclude] = "DATETIME"
diff --git a/recipes-kernel/linux/linux-fslc.inc b/recipes-kernel/linux/linux-fslc.inc
deleted file mode 100644
index 7e7ae446..00000000
--- a/recipes-kernel/linux/linux-fslc.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require recipes-kernel/linux/linux-imx.inc
-
-DEPENDS += "lzop-native bc-native"
-
-SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https \
- file://defconfig"
-LOCALVERSION = "-fslc"
diff --git a/recipes-kernel/linux/linux-fslc/armv8a/defconfig b/recipes-kernel/linux/linux-fslc/armv8a/defconfig
deleted file mode 100644
index 198f7e4c..00000000
--- a/recipes-kernel/linux/linux-fslc/armv8a/defconfig
+++ /dev/null
@@ -1,1216 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_PERF=y
-CONFIG_USER_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-CONFIG_ARCH_ACTIONS=y
-CONFIG_ARCH_AGILEX=y
-CONFIG_ARCH_N5X=y
-CONFIG_ARCH_SUNXI=y
-CONFIG_ARCH_ALPINE=y
-CONFIG_ARCH_APPLE=y
-CONFIG_ARCH_BCM2835=y
-CONFIG_ARCH_BCM4908=y
-CONFIG_ARCH_BCM_IPROC=y
-CONFIG_ARCH_BERLIN=y
-CONFIG_ARCH_BRCMSTB=y
-CONFIG_ARCH_EXYNOS=y
-CONFIG_ARCH_K3=y
-CONFIG_ARCH_LAYERSCAPE=y
-CONFIG_ARCH_LG1K=y
-CONFIG_ARCH_HISI=y
-CONFIG_ARCH_KEEMBAY=y
-CONFIG_ARCH_MEDIATEK=y
-CONFIG_ARCH_MESON=y
-CONFIG_ARCH_MVEBU=y
-CONFIG_ARCH_MXC=y
-CONFIG_ARCH_QCOM=y
-CONFIG_ARCH_RENESAS=y
-CONFIG_ARCH_ROCKCHIP=y
-CONFIG_ARCH_S32=y
-CONFIG_ARCH_SEATTLE=y
-CONFIG_ARCH_INTEL_SOCFPGA=y
-CONFIG_ARCH_SYNQUACER=y
-CONFIG_ARCH_TEGRA=y
-CONFIG_ARCH_SPRD=y
-CONFIG_ARCH_THUNDER=y
-CONFIG_ARCH_THUNDER2=y
-CONFIG_ARCH_UNIPHIER=y
-CONFIG_ARCH_VEXPRESS=y
-CONFIG_ARCH_VISCONTI=y
-CONFIG_ARCH_XGENE=y
-CONFIG_ARCH_ZX=y
-CONFIG_ARCH_ZYNQMP=y
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_SCHED_MC=y
-CONFIG_SCHED_SMT=y
-CONFIG_NUMA=y
-CONFIG_SECCOMP=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_FILE=y
-CONFIG_CRASH_DUMP=y
-CONFIG_XEN=y
-CONFIG_COMPAT=y
-CONFIG_RANDOMIZE_BASE=y
-CONFIG_HIBERNATION=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-CONFIG_ENERGY_MODEL=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ACPI_CPPC_CPUFREQ=m
-CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
-CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
-CONFIG_ARM_SCPI_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=m
-CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
-CONFIG_ARM_QCOM_CPUFREQ_HW=y
-CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
-CONFIG_ARM_SCMI_CPUFREQ=y
-CONFIG_ARM_TEGRA186_CPUFREQ=y
-CONFIG_QORIQ_CPUFREQ=y
-CONFIG_ARM_SCMI_PROTOCOL=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_RASPBERRYPI_FIRMWARE=y
-CONFIG_INTEL_STRATIX10_SERVICE=y
-CONFIG_INTEL_STRATIX10_RSU=m
-CONFIG_QCOM_SCM=y
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_ACPI=y
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-CONFIG_ACPI_APEI_EINJ=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-CONFIG_CRYPTO_SM3_ARM64_CE=m
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-CONFIG_JUMP_LABEL=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_KSM=y
-CONFIG_MEMORY_FAILURE=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IPV6=m
-CONFIG_NETFILTER=y
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_NET_DSA=m
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBS=m
-CONFIG_NET_SCH_ETF=m
-CONFIG_NET_SCH_TAPRIO=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_GATE=m
-CONFIG_QRTR=m
-CONFIG_QRTR_SMD=m
-CONFIG_QRTR_TUN=m
-CONFIG_BPF_JIT=y
-CONFIG_CAN=m
-CONFIG_CAN_RCAR=m
-CONFIG_CAN_RCAR_CANFD=m
-CONFIG_CAN_FLEXCAN=m
-CONFIG_BT=m
-CONFIG_BT_HIDP=m
-# CONFIG_BT_HS is not set
-# CONFIG_BT_LE is not set
-CONFIG_BT_LEDS=y
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_CFG80211=m
-CONFIG_MAC80211=m
-CONFIG_MAC80211_LEDS=y
-CONFIG_RFKILL=m
-CONFIG_NET_9P=y
-CONFIG_NET_9P_VIRTIO=y
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-CONFIG_NFC_S3FWRN5_I2C=m
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PASID=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_PCI_AARDVARK=y
-CONFIG_PCI_TEGRA=y
-CONFIG_PCIE_RCAR_HOST=y
-CONFIG_PCIE_RCAR_EP=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCI_XGENE=y
-CONFIG_PCIE_ALTERA=y
-CONFIG_PCIE_ALTERA_MSI=y
-CONFIG_PCI_HOST_THUNDER_PEM=y
-CONFIG_PCI_HOST_THUNDER_ECAM=y
-CONFIG_PCIE_ROCKCHIP_HOST=m
-CONFIG_PCIE_BRCMSTB=m
-CONFIG_PCI_IMX6=y
-CONFIG_PCI_LAYERSCAPE=y
-CONFIG_PCIE_LAYERSCAPE_GEN4=y
-CONFIG_PCI_HISI=y
-CONFIG_PCIE_QCOM=y
-CONFIG_PCIE_ARMADA_8K=y
-CONFIG_PCIE_KIRIN=y
-CONFIG_PCIE_HISI_STB=y
-CONFIG_PCIE_TEGRA194_HOST=m
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=m
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_HISILICON_LPC=y
-CONFIG_FSL_MC_BUS=y
-CONFIG_TEGRA_ACONNECT=m
-CONFIG_GNSS=m
-CONFIG_GNSS_MTK_SERIAL=m
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_DENALI_DT=y
-CONFIG_MTD_NAND_MARVELL=y
-CONFIG_MTD_NAND_FSL_IFC=y
-CONFIG_MTD_NAND_QCOM=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_MTK_DEVAPC=m
-CONFIG_SPI_CADENCE_QUADSPI=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_VIRTIO_BLK=y
-CONFIG_BLK_DEV_NVME=m
-CONFIG_SRAM=y
-CONFIG_PCI_ENDPOINT_TEST=m
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_AT25=m
-CONFIG_UACCE=m
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_HISI_SAS=y
-CONFIG_SCSI_HISI_SAS_PCI=y
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_UFSHCD=y
-CONFIG_SCSI_UFSHCD_PLATFORM=y
-CONFIG_SCSI_UFS_QCOM=m
-CONFIG_SCSI_UFS_HISI=y
-CONFIG_SCSI_UFS_EXYNOS=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_CEVA=y
-CONFIG_AHCI_MVEBU=y
-CONFIG_AHCI_XGENE=y
-CONFIG_AHCI_QORIQ=y
-CONFIG_SATA_SIL24=y
-CONFIG_SATA_RCAR=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_PATA_OF_PLATFORM=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_NETDEVICES=y
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_TUN=y
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=y
-CONFIG_NET_DSA_MSCC_FELIX=m
-CONFIG_AMD_XGBE=y
-CONFIG_NET_XGENE=y
-CONFIG_ATL1C=m
-CONFIG_BCMGENET=m
-CONFIG_BNX2X=m
-CONFIG_MACB=y
-CONFIG_THUNDER_NIC_PF=y
-CONFIG_FEC=y
-CONFIG_FSL_FMAN=y
-CONFIG_FSL_DPAA_ETH=y
-CONFIG_FSL_DPAA2_ETH=y
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=y
-CONFIG_FSL_ENETC_QOS=y
-CONFIG_HIX5HD2_GMAC=y
-CONFIG_HNS_DSAF=y
-CONFIG_HNS_ENET=y
-CONFIG_HNS3=y
-CONFIG_HNS3_HCLGE=y
-CONFIG_HNS3_ENET=y
-CONFIG_E1000=y
-CONFIG_E1000E=y
-CONFIG_IGB=y
-CONFIG_IGBVF=y
-CONFIG_MVNETA=y
-CONFIG_MVPP2=y
-CONFIG_SKY2=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX5_CORE=m
-CONFIG_MLX5_CORE_EN=y
-CONFIG_QCOM_EMAC=m
-CONFIG_RMNET=m
-CONFIG_SH_ETH=y
-CONFIG_RAVB=y
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_SNI_AVE=y
-CONFIG_SNI_NETSEC=y
-CONFIG_STMMAC_ETH=m
-CONFIG_TI_K3_AM65_CPSW_NUSS=y
-CONFIG_QCOM_IPA=m
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_AQUANTIA_PHY=y
-CONFIG_BCM54140_PHY=m
-CONFIG_MARVELL_PHY=m
-CONFIG_MARVELL_10G_PHY=m
-CONFIG_MESON_GXL_PHY=m
-CONFIG_MICREL_PHY=y
-CONFIG_MICROSEMI_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_REALTEK_PHY=y
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_VITESSE_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_ATH10K=m
-CONFIG_ATH10K_PCI=m
-CONFIG_ATH10K_SNOC=m
-CONFIG_BRCMFMAC=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_ADC=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=m
-CONFIG_KEYBOARD_IMX_SC_KEY=m
-CONFIG_KEYBOARD_CROS_EC=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_GOODIX=m
-CONFIG_TOUCHSCREEN_EDT_FT5X06=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PM8941_PWRKEY=y
-CONFIG_INPUT_PM8XXX_VIBRATOR=m
-CONFIG_INPUT_PWM_VIBRA=m
-CONFIG_INPUT_HISI_POWERKEY=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_AMBAKMI=y
-CONFIG_LEGACY_PTY_COUNT=16
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_BCM2835AUX=y
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_8250_OMAP=y
-CONFIG_SERIAL_8250_MT6577=y
-CONFIG_SERIAL_8250_UNIPHIER=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_MESON=y
-CONFIG_SERIAL_MESON_CONSOLE=y
-CONFIG_SERIAL_SAMSUNG=y
-CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-CONFIG_SERIAL_TEGRA=y
-CONFIG_SERIAL_TEGRA_TCU=y
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_MSM=y
-CONFIG_SERIAL_MSM_CONSOLE=y
-CONFIG_SERIAL_QCOM_GENI=y
-CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
-CONFIG_SERIAL_XILINX_PS_UART=y
-CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_FSL_LINFLEXUART=y
-CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
-CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_OWL=y
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_IPMI_HANDLER=m
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS_I2C_INFINEON=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_BCM2835=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_I2C_MESON=y
-CONFIG_I2C_MT65XX=y
-CONFIG_I2C_MV64XXX=y
-CONFIG_I2C_OMAP=y
-CONFIG_I2C_OWL=y
-CONFIG_I2C_PXA=y
-CONFIG_I2C_QCOM_CCI=m
-CONFIG_I2C_QCOM_GENI=m
-CONFIG_I2C_QUP=y
-CONFIG_I2C_RK3X=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_I2C_TEGRA=y
-CONFIG_I2C_UNIPHIER_F=y
-CONFIG_I2C_RCAR=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-CONFIG_SPI=y
-CONFIG_SPI_ARMADA_3700=y
-CONFIG_SPI_BCM2835=m
-CONFIG_SPI_BCM2835AUX=m
-CONFIG_SPI_DESIGNWARE=m
-CONFIG_SPI_DW_DMA=y
-CONFIG_SPI_DW_MMIO=m
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_NXP_FLEXSPI=y
-CONFIG_SPI_IMX=m
-CONFIG_SPI_FSL_DSPI=y
-CONFIG_SPI_MESON_SPICC=m
-CONFIG_SPI_MESON_SPIFC=m
-CONFIG_SPI_ORION=y
-CONFIG_SPI_PL022=y
-CONFIG_SPI_ROCKCHIP=y
-CONFIG_SPI_RPCIF=m
-CONFIG_SPI_QCOM_QSPI=m
-CONFIG_SPI_QUP=y
-CONFIG_SPI_QCOM_GENI=m
-CONFIG_SPI_S3C64XX=y
-CONFIG_SPI_SH_MSIOF=m
-CONFIG_SPI_SUN6I=y
-CONFIG_SPI_SPIDEV=m
-CONFIG_SPMI=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINCTRL_MAX77620=y
-CONFIG_PINCTRL_OWL=y
-CONFIG_PINCTRL_S700=y
-CONFIG_PINCTRL_S900=y
-CONFIG_PINCTRL_IMX8MM=y
-CONFIG_PINCTRL_IMX8MN=y
-CONFIG_PINCTRL_IMX8MP=y
-CONFIG_PINCTRL_IMX8MQ=y
-CONFIG_PINCTRL_IMX8QM=y
-CONFIG_PINCTRL_IMX8QXP=y
-CONFIG_PINCTRL_IMX8DXL=y
-CONFIG_PINCTRL_MSM=y
-CONFIG_PINCTRL_IPQ8074=y
-CONFIG_PINCTRL_IPQ6018=y
-CONFIG_PINCTRL_MSM8916=y
-CONFIG_PINCTRL_MSM8994=y
-CONFIG_PINCTRL_MSM8996=y
-CONFIG_PINCTRL_MSM8998=y
-CONFIG_PINCTRL_QCS404=y
-CONFIG_PINCTRL_QDF2XXX=y
-CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
-CONFIG_PINCTRL_SC7180=y
-CONFIG_PINCTRL_SDM845=y
-CONFIG_PINCTRL_SM8150=y
-CONFIG_PINCTRL_SM8250=y
-CONFIG_PINCTRL_SM8350=y
-CONFIG_PINCTRL_LPASS_LPI=m
-CONFIG_GPIO_ALTERA=m
-CONFIG_GPIO_DAVINCI=y
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_MB86S7X=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_GPIO_MXC=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_RCAR=y
-CONFIG_GPIO_UNIPHIER=y
-CONFIG_GPIO_VISCONTI=y
-CONFIG_GPIO_WCD934X=m
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_XGENE_SB=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_BD9571MWV=m
-CONFIG_GPIO_MAX77620=y
-CONFIG_GPIO_SL28CPLD=m
-CONFIG_POWER_AVS=y
-CONFIG_QCOM_CPR=y
-CONFIG_ROCKCHIP_IODOMAIN=y
-CONFIG_POWER_RESET_MSM=y
-CONFIG_POWER_RESET_QCOM_PON=m
-CONFIG_POWER_RESET_XGENE=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_SYSCON_REBOOT_MODE=y
-CONFIG_BATTERY_SBS=m
-CONFIG_BATTERY_BQ27XXX=y
-CONFIG_SENSORS_ARM_SCMI=y
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_BQ25890=m
-CONFIG_CHARGER_BQ25980=m
-CONFIG_SENSORS_ARM_SCPI=y
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_RASPBERRYPI_HWMON=m
-CONFIG_SENSORS_SL28CPLD=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
-CONFIG_CPU_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-CONFIG_QORIQ_THERMAL=m
-CONFIG_SUN8I_THERMAL=y
-CONFIG_IMX_SC_THERMAL=m
-CONFIG_IMX8MM_THERMAL=m
-CONFIG_ROCKCHIP_THERMAL=m
-CONFIG_RCAR_THERMAL=y
-CONFIG_RCAR_GEN3_THERMAL=y
-CONFIG_ARMADA_THERMAL=y
-CONFIG_BCM2711_THERMAL=m
-CONFIG_BCM2835_THERMAL=m
-CONFIG_BRCMSTB_THERMAL=m
-CONFIG_EXYNOS_THERMAL=y
-CONFIG_TEGRA_BPMP_THERMAL=m
-CONFIG_TEGRA_SOCTHERM=m
-CONFIG_QCOM_TSENS=y
-CONFIG_QCOM_SPMI_TEMP_ALARM=m
-CONFIG_UNIPHIER_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_SL28CPLD_WATCHDOG=m
-CONFIG_ARM_SP805_WATCHDOG=y
-CONFIG_ARM_SBSA_WATCHDOG=y
-CONFIG_ARM_SMC_WATCHDOG=y
-CONFIG_S3C2410_WATCHDOG=y
-CONFIG_DW_WATCHDOG=y
-CONFIG_SUNXI_WATCHDOG=m
-CONFIG_IMX2_WDT=y
-CONFIG_IMX_SC_WDT=m
-CONFIG_QCOM_WDT=m
-CONFIG_MESON_GXBB_WATCHDOG=m
-CONFIG_MESON_WATCHDOG=m
-CONFIG_RENESAS_WDT=y
-CONFIG_UNIPHIER_WATCHDOG=y
-CONFIG_BCM2835_WDT=y
-CONFIG_MFD_ALTERA_SYSMGR=y
-CONFIG_MFD_BD9571MWV=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_AXP20X_RSB=y
-CONFIG_MFD_EXYNOS_LPASS=m
-CONFIG_MFD_HI6421_PMIC=y
-CONFIG_MFD_HI655X_PMIC=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_MT6397=y
-CONFIG_MFD_SPMI_PMIC=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_SL28CPLD=y
-CONFIG_MFD_ROHM_BD718XX=y
-CONFIG_MFD_WCD934X=m
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_AXP20X=y
-CONFIG_REGULATOR_BD718XX=y
-CONFIG_REGULATOR_BD9571MWV=y
-CONFIG_REGULATOR_FAN53555=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_HI6421V530=y
-CONFIG_REGULATOR_HI655X=y
-CONFIG_REGULATOR_MAX77620=y
-CONFIG_REGULATOR_MAX8973=y
-CONFIG_REGULATOR_MP8859=y
-CONFIG_REGULATOR_MT6358=y
-CONFIG_REGULATOR_MT6397=y
-CONFIG_REGULATOR_PCA9450=y
-CONFIG_REGULATOR_PF8X00=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PWM=y
-CONFIG_REGULATOR_QCOM_RPMH=y
-CONFIG_REGULATOR_QCOM_SMD_RPM=y
-CONFIG_REGULATOR_QCOM_SPMI=y
-CONFIG_REGULATOR_RK808=y
-CONFIG_REGULATOR_S2MPS11=y
-CONFIG_REGULATOR_TPS65132=m
-CONFIG_REGULATOR_VCTRL=m
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_MESON=m
-CONFIG_IR_SUNXI=m
-CONFIG_MEDIA_SUPPORT=m
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_MEDIA_PLATFORM_SUPPORT=y
-# CONFIG_DVB_NET is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_RCAR_CSI2=m
-CONFIG_VIDEO_RCAR_VIN=m
-CONFIG_VIDEO_SUN6I_CSI=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
-CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
-CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
-CONFIG_VIDEO_RENESAS_FDP1=m
-CONFIG_VIDEO_RENESAS_FCP=m
-CONFIG_VIDEO_RENESAS_VSP1=m
-CONFIG_VIDEO_QCOM_VENUS=m
-CONFIG_SDR_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_RCAR_DRIF=m
-CONFIG_VIDEO_IMX219=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_VIDEO_QCOM_CAMSS=m
-CONFIG_DRM=m
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_MALI_DISPLAY=m
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_EXYNOS=m
-CONFIG_DRM_EXYNOS5433_DECON=y
-CONFIG_DRM_EXYNOS7_DECON=y
-CONFIG_DRM_EXYNOS_DSI=y
-# CONFIG_DRM_EXYNOS_DP is not set
-CONFIG_DRM_EXYNOS_HDMI=y
-CONFIG_DRM_EXYNOS_MIC=y
-CONFIG_DRM_ROCKCHIP=m
-CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
-CONFIG_ROCKCHIP_DW_HDMI=y
-CONFIG_ROCKCHIP_DW_MIPI_DSI=y
-CONFIG_ROCKCHIP_INNO_HDMI=y
-CONFIG_ROCKCHIP_LVDS=y
-CONFIG_DRM_RCAR_DU=m
-CONFIG_DRM_RCAR_DW_HDMI=m
-CONFIG_DRM_SUN4I=m
-CONFIG_DRM_SUN6I_DSI=m
-CONFIG_DRM_SUN8I_DW_HDMI=m
-CONFIG_DRM_SUN8I_MIXER=m
-CONFIG_DRM_MSM=m
-CONFIG_DRM_TEGRA=m
-CONFIG_DRM_PANEL_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=m
-CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
-CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
-CONFIG_DRM_PANEL_SITRONIX_ST7703=m
-CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-CONFIG_DRM_DISPLAY_CONNECTOR=m
-CONFIG_DRM_LONTIUM_LT8912B=m
-CONFIG_DRM_NWL_MIPI_DSI=m
-CONFIG_DRM_LONTIUM_LT9611=m
-CONFIG_DRM_PARADE_PS8640=m
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_SIMPLE_BRIDGE=m
-CONFIG_DRM_THINE_THC63LVD1024=m
-CONFIG_DRM_TI_SN65DSI86=m
-CONFIG_DRM_LONTIUM_LT9611UXC=m
-CONFIG_DRM_I2C_ADV7511=m
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_CEC=m
-CONFIG_DRM_IMX_DCSS=m
-CONFIG_DRM_VC4=m
-CONFIG_DRM_ETNAVIV=m
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_HISI_KIRIN=m
-CONFIG_DRM_MEDIATEK=m
-CONFIG_DRM_MEDIATEK_HDMI=m
-CONFIG_DRM_MXSFB=m
-CONFIG_DRM_MESON=m
-CONFIG_DRM_PL111=m
-CONFIG_DRM_LIMA=m
-CONFIG_DRM_PANFROST=m
-CONFIG_FB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_EFI=y
-CONFIG_BACKLIGHT_PWM=m
-CONFIG_BACKLIGHT_LP855X=m
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_HDA_TEGRA=m
-CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_SOC=y
-CONFIG_SND_BCM2835_SOC_I2S=m
-CONFIG_SND_SOC_FSL_SAI=m
-CONFIG_SND_SOC_FSL_ASRC=m
-CONFIG_SND_SOC_FSL_MICFIL=m
-CONFIG_SND_SOC_FSL_EASRC=m
-CONFIG_SND_IMX_SOC=m
-CONFIG_SND_SOC_IMX_SGTL5000=m
-CONFIG_SND_SOC_IMX_SPDIF=m
-CONFIG_SND_SOC_IMX_AUDMIX=m
-CONFIG_SND_SOC_FSL_ASOC_CARD=m
-CONFIG_SND_MESON_AXG_SOUND_CARD=m
-CONFIG_SND_MESON_GX_SOUND_CARD=m
-CONFIG_SND_SOC_QCOM=m
-CONFIG_SND_SOC_APQ8016_SBC=m
-CONFIG_SND_SOC_MSM8996=m
-CONFIG_SND_SOC_SDM845=m
-CONFIG_SND_SOC_SM8250=m
-CONFIG_SND_SOC_ROCKCHIP=m
-CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
-CONFIG_SND_SOC_ROCKCHIP_RT5645=m
-CONFIG_SND_SOC_RK3399_GRU_SOUND=m
-CONFIG_SND_SOC_SAMSUNG=y
-CONFIG_SND_SOC_RCAR=m
-CONFIG_SND_SUN4I_I2S=m
-CONFIG_SND_SUN4I_SPDIF=m
-CONFIG_SND_SOC_TEGRA=m
-CONFIG_SND_SOC_TEGRA210_AHUB=m
-CONFIG_SND_SOC_TEGRA210_DMIC=m
-CONFIG_SND_SOC_TEGRA210_I2S=m
-CONFIG_SND_SOC_TEGRA186_DSPK=m
-CONFIG_SND_SOC_TEGRA210_ADMAIF=m
-CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_GTM601=m
-CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
-CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_RT5659=m
-CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-CONFIG_SND_SOC_SIMPLE_MUX=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SOC_WCD934X=m
-CONFIG_SND_SOC_WM8904=m
-CONFIG_SND_SOC_WM8960=m
-CONFIG_SND_SOC_WM8962=m
-CONFIG_SND_SOC_WSA881X=m
-CONFIG_SND_SOC_LPASS_WSA_MACRO=m
-CONFIG_SND_SOC_LPASS_VA_MACRO=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_AUDIO_GRAPH_CARD=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_I2C_HID_ACPI=m
-CONFIG_I2C_HID_OF=m
-CONFIG_USB_CONN_GPIO=m
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_PCI=m
-CONFIG_USB_XHCI_PCI_RENESAS=m
-CONFIG_USB_XHCI_TEGRA=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_EXYNOS=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_EXYNOS=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-CONFIG_USB_RENESAS_USBHS_HCD=m
-CONFIG_USB_RENESAS_USBHS=m
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_MTU3=y
-CONFIG_USB_MUSB_HDRC=y
-CONFIG_USB_MUSB_SUNXI=y
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC2=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_HSIC_USB3503=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_RENESAS_USBHS_UDC=m
-CONFIG_USB_RENESAS_USB3=m
-CONFIG_USB_TEGRA_XUDC=m
-CONFIG_USB_CONFIGFS=m
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_TYPEC=m
-CONFIG_TYPEC_TCPM=m
-CONFIG_TYPEC_TCPCI=m
-CONFIG_TYPEC_FUSB302=m
-CONFIG_TYPEC_HD3SS3220=m
-CONFIG_TYPEC_TPS6598X=m
-CONFIG_MMC=y
-CONFIG_MMC_BLOCK_MINORS=32
-CONFIG_MMC_ARMMMCI=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_ACPI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ARASAN=y
-CONFIG_MMC_SDHCI_OF_ESDHC=y
-CONFIG_MMC_SDHCI_CADENCE=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_MMC_SDHCI_TEGRA=y
-CONFIG_MMC_SDHCI_F_SDH30=y
-CONFIG_MMC_MESON_GX=y
-CONFIG_MMC_SDHCI_MSM=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_SDHI=y
-CONFIG_MMC_UNIPHIER=y
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_EXYNOS=y
-CONFIG_MMC_DW_HI3798CV200=y
-CONFIG_MMC_DW_K3=y
-CONFIG_MMC_DW_ROCKCHIP=y
-CONFIG_MMC_SUNXI=y
-CONFIG_MMC_BCM2835=y
-CONFIG_MMC_MTK=y
-CONFIG_MMC_SDHCI_XENON=y
-CONFIG_MMC_SDHCI_AM654=y
-CONFIG_MMC_OWL=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_LM3692X=m
-CONFIG_LEDS_PCA9532=m
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_EDAC=y
-CONFIG_EDAC_GHES=y
-CONFIG_EDAC_LAYERSCAPE=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_HYM8563=m
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_PCF85363=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RV3028=m
-CONFIG_RTC_DRV_RV8803=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_CROS_EC=y
-CONFIG_RTC_DRV_FSL_FTM_ALARM=m
-CONFIG_RTC_DRV_S3C=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_SUN6I=y
-CONFIG_RTC_DRV_ARMADA38X=y
-CONFIG_RTC_DRV_PM8XXX=m
-CONFIG_RTC_DRV_TEGRA=y
-CONFIG_RTC_DRV_SNVS=m
-CONFIG_RTC_DRV_IMX_SC=m
-CONFIG_RTC_DRV_XGENE=y
-CONFIG_DMADEVICES=y
-CONFIG_DMA_BCM2835=y
-CONFIG_DMA_SUN6I=m
-CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
-CONFIG_K3_DMA=y
-CONFIG_MV_XOR=y
-CONFIG_MV_XOR_V2=y
-CONFIG_OWL_DMA=y
-CONFIG_PL330_DMA=y
-CONFIG_TEGRA20_APB_DMA=y
-CONFIG_TEGRA210_ADMA=m
-CONFIG_QCOM_BAM_DMA=y
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_RCAR_DMAC=y
-CONFIG_RENESAS_USB_DMAC=m
-CONFIG_TI_K3_UDMA=y
-CONFIG_TI_K3_UDMA_GLUE_LAYER=y
-CONFIG_VFIO=y
-CONFIG_VFIO_PCI=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_XEN_GNTDEV=y
-CONFIG_XEN_GRANT_DEV_ALLOC=y
-CONFIG_MFD_CROS_EC_DEV=y
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_VIDEO_HANTRO=m
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_CROS_EC_CHARDEV=m
-CONFIG_COMMON_CLK_SCMI=y
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_FSL_SAI=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_COMMON_CLK_VC5=y
-CONFIG_COMMON_CLK_ZYNQMP=y
-CONFIG_COMMON_CLK_BD718XX=m
-CONFIG_CLK_RASPBERRYPI=m
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_CLK_IMX8QXP=y
-CONFIG_TI_SCI_CLK=y
-CONFIG_COMMON_CLK_QCOM=y
-CONFIG_QCOM_A53PLL=y
-CONFIG_QCOM_CLK_APCS_MSM8916=y
-CONFIG_QCOM_CLK_APCC_MSM8996=y
-CONFIG_QCOM_CLK_SMD_RPM=y
-CONFIG_QCOM_CLK_RPMH=y
-CONFIG_IPQ_GCC_8074=y
-CONFIG_IPQ_GCC_6018=y
-CONFIG_MSM_GCC_8916=y
-CONFIG_MSM_GCC_8994=y
-CONFIG_MSM_MMCC_8996=y
-CONFIG_MSM_GCC_8998=y
-CONFIG_QCS_GCC_404=y
-CONFIG_SC_GCC_7180=y
-CONFIG_SDM_CAMCC_845=m
-CONFIG_SDM_GCC_845=y
-CONFIG_SDM_GPUCC_845=y
-CONFIG_SDM_VIDEOCC_845=y
-CONFIG_SDM_DISPCC_845=y
-CONFIG_SM_GCC_8150=y
-CONFIG_SM_GCC_8250=y
-CONFIG_SM_GCC_8350=y
-CONFIG_SM_GPUCC_8150=y
-CONFIG_SM_GPUCC_8250=y
-CONFIG_SM_DISPCC_8250=y
-CONFIG_QCOM_HFPLL=y
-CONFIG_CLK_GFM_LPASS_SM8250=m
-CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y
-CONFIG_HWSPINLOCK=y
-CONFIG_HWSPINLOCK_QCOM=y
-CONFIG_ARM_MHU=y
-CONFIG_IMX_MBOX=y
-CONFIG_PLATFORM_MHU=y
-CONFIG_BCM2835_MBOX=y
-CONFIG_QCOM_APCS_IPC=y
-CONFIG_QCOM_IPCC=y
-CONFIG_ROCKCHIP_IOMMU=y
-CONFIG_TEGRA_IOMMU_SMMU=y
-CONFIG_ARM_SMMU=y
-CONFIG_ARM_SMMU_V3=y
-CONFIG_MTK_IOMMU=y
-CONFIG_QCOM_IOMMU=y
-CONFIG_REMOTEPROC=y
-CONFIG_QCOM_Q6V5_MSS=m
-CONFIG_QCOM_Q6V5_PAS=m
-CONFIG_QCOM_SYSMON=m
-CONFIG_RPMSG_QCOM_GLINK_RPM=y
-CONFIG_RPMSG_QCOM_GLINK_SMEM=m
-CONFIG_RPMSG_QCOM_SMD=y
-CONFIG_SOUNDWIRE=m
-CONFIG_SOUNDWIRE_QCOM=m
-CONFIG_OWL_PM_DOMAINS=y
-CONFIG_RASPBERRYPI_POWER=y
-CONFIG_FSL_DPAA=y
-CONFIG_FSL_MC_DPIO=y
-CONFIG_FSL_RCPM=y
-CONFIG_MTK_PMIC_WRAP=y
-CONFIG_QCOM_AOSS_QMP=y
-CONFIG_QCOM_COMMAND_DB=y
-CONFIG_QCOM_GENI_SE=y
-CONFIG_QCOM_RMTFS_MEM=m
-CONFIG_QCOM_RPMH=y
-CONFIG_QCOM_RPMHPD=y
-CONFIG_QCOM_RPMPD=y
-CONFIG_QCOM_SMEM=y
-CONFIG_QCOM_SMD_RPM=y
-CONFIG_QCOM_SMP2P=y
-CONFIG_QCOM_SMSM=y
-CONFIG_QCOM_SOCINFO=m
-CONFIG_QCOM_APR=m
-CONFIG_ARCH_R8A774A1=y
-CONFIG_ARCH_R8A774B1=y
-CONFIG_ARCH_R8A774C0=y
-CONFIG_ARCH_R8A774E1=y
-CONFIG_ARCH_R8A77950=y
-CONFIG_ARCH_R8A77951=y
-CONFIG_ARCH_R8A77960=y
-CONFIG_ARCH_R8A77961=y
-CONFIG_ARCH_R8A77965=y
-CONFIG_ARCH_R8A77970=y
-CONFIG_ARCH_R8A77980=y
-CONFIG_ARCH_R8A77990=y
-CONFIG_ARCH_R8A77995=y
-CONFIG_ARCH_R8A779A0=y
-CONFIG_ARCH_R9A07G044=y
-CONFIG_ROCKCHIP_PM_DOMAINS=y
-CONFIG_ARCH_TEGRA_132_SOC=y
-CONFIG_ARCH_TEGRA_210_SOC=y
-CONFIG_ARCH_TEGRA_186_SOC=y
-CONFIG_ARCH_TEGRA_194_SOC=y
-CONFIG_ARCH_TEGRA_234_SOC=y
-CONFIG_TI_SCI_PM_DOMAINS=y
-CONFIG_ARM_IMX_BUS_DEVFREQ=m
-CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
-CONFIG_EXTCON_PTN5150=m
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-CONFIG_RENESAS_RPCIF=m
-CONFIG_IIO=y
-CONFIG_EXYNOS_ADC=y
-CONFIG_MAX9611=m
-CONFIG_QCOM_SPMI_VADC=m
-CONFIG_QCOM_SPMI_ADC5=m
-CONFIG_ROCKCHIP_SARADC=m
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS=m
-CONFIG_IIO_ST_LSM6DSX=m
-CONFIG_IIO_CROS_EC_LIGHT_PROX=m
-CONFIG_SENSORS_ISL29018=m
-CONFIG_VCNL4000=m
-CONFIG_IIO_ST_MAGN_3AXIS=m
-CONFIG_IIO_CROS_EC_BARO=m
-CONFIG_MPL3115=m
-CONFIG_PWM=y
-CONFIG_PWM_BCM2835=m
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_IMX27=m
-CONFIG_PWM_MESON=m
-CONFIG_PWM_MTK_DISP=m
-CONFIG_PWM_MEDIATEK=m
-CONFIG_PWM_RCAR=m
-CONFIG_PWM_ROCKCHIP=y
-CONFIG_PWM_SAMSUNG=y
-CONFIG_PWM_SL28CPLD=m
-CONFIG_PWM_SUN4I=m
-CONFIG_PWM_TEGRA=m
-CONFIG_PWM_VISCONTI=m
-CONFIG_SL28CPLD_INTC=y
-CONFIG_QCOM_PDC=y
-CONFIG_RESET_IMX7=y
-CONFIG_RESET_QCOM_AOSS=y
-CONFIG_RESET_QCOM_PDC=m
-CONFIG_RESET_TI_SCI=y
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_SUN4I_USB=y
-CONFIG_PHY_MIXEL_MIPI_DPHY=m
-CONFIG_PHY_HI6220_USB=y
-CONFIG_PHY_HISTB_COMBPHY=y
-CONFIG_PHY_HISI_INNO_USB2=y
-CONFIG_PHY_MVEBU_CP110_COMPHY=y
-CONFIG_PHY_MTK_TPHY=y
-CONFIG_PHY_QCOM_QMP=m
-CONFIG_PHY_QCOM_QUSB2=m
-CONFIG_PHY_QCOM_USB_HS=y
-CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
-CONFIG_PHY_RCAR_GEN3_PCIE=y
-CONFIG_PHY_RCAR_GEN3_USB2=y
-CONFIG_PHY_RCAR_GEN3_USB3=m
-CONFIG_PHY_ROCKCHIP_EMMC=y
-CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
-CONFIG_PHY_ROCKCHIP_INNO_USB2=y
-CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
-CONFIG_PHY_ROCKCHIP_PCIE=m
-CONFIG_PHY_ROCKCHIP_TYPEC=y
-CONFIG_PHY_SAMSUNG_UFS=y
-CONFIG_PHY_UNIPHIER_USB2=y
-CONFIG_PHY_UNIPHIER_USB3=y
-CONFIG_PHY_TEGRA_XUSB=y
-CONFIG_ARM_SMMU_V3_PMU=m
-CONFIG_FSL_IMX8_DDR_PMU=m
-CONFIG_HISI_PMU=y
-CONFIG_QCOM_L2_PMU=y
-CONFIG_QCOM_L3_PMU=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_IMX_OCOTP_SCU=y
-CONFIG_QCOM_QFPROM=y
-CONFIG_MTK_EFUSE=y
-CONFIG_ROCKCHIP_EFUSE=y
-CONFIG_NVMEM_SUNXI_SID=y
-CONFIG_UNIPHIER_EFUSE=y
-CONFIG_MESON_EFUSE=m
-CONFIG_NVMEM_RMEM=m
-CONFIG_FPGA=y
-CONFIG_FPGA_MGR_STRATIX10_SOC=m
-CONFIG_FPGA_BRIDGE=m
-CONFIG_ALTERA_FREEZE_BRIDGE=m
-CONFIG_FPGA_REGION=m
-CONFIG_OF_FPGA_REGION=m
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_SLIMBUS=m
-CONFIG_SLIM_QCOM_CTRL=m
-CONFIG_SLIM_QCOM_NGD_CTRL=m
-CONFIG_MUX_MMIO=y
-CONFIG_INTERCONNECT=y
-CONFIG_INTERCONNECT_IMX=m
-CONFIG_INTERCONNECT_IMX8MQ=m
-CONFIG_INTERCONNECT_QCOM=y
-CONFIG_INTERCONNECT_QCOM_MSM8916=m
-CONFIG_INTERCONNECT_QCOM_OSM_L3=m
-CONFIG_INTERCONNECT_QCOM_SDM845=y
-CONFIG_INTERCONNECT_QCOM_SM8150=m
-CONFIG_INTERCONNECT_QCOM_SM8250=m
-CONFIG_INTERCONNECT_QCOM_SM8350=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_EFIVAR_FS=y
-CONFIG_SQUASHFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_9P_FS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_ECHAINIV=y
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_DEV_SUN8I_CE=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
-CONFIG_CRYPTO_DEV_QCOM_RNG=m
-CONFIG_CRYPTO_DEV_CCREE=m
-CONFIG_CRYPTO_DEV_HISI_SEC2=m
-CONFIG_CRYPTO_DEV_HISI_ZIP=m
-CONFIG_CRYPTO_DEV_HISI_HPRE=m
-CONFIG_CRYPTO_DEV_HISI_TRNG=m
-CONFIG_CMA_SIZE_MBYTES=32
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_INFO_REDUCED=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
-CONFIG_MEMTEST=y
diff --git a/recipes-kernel/linux/linux-fslc/defconfig b/recipes-kernel/linux/linux-fslc/defconfig
deleted file mode 100644
index 7078f912..00000000
--- a/recipes-kernel/linux/linux-fslc/defconfig
+++ /dev/null
@@ -1,480 +0,0 @@
-CONFIG_KERNEL_LZO=y
-CONFIG_SYSVIPC=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_CGROUPS=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_SLUB_DEBUG is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_ARCH_MULTI_V6=y
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX31=y
-CONFIG_SOC_IMX35=y
-CONFIG_SOC_IMX50=y
-CONFIG_SOC_IMX51=y
-CONFIG_SOC_IMX53=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6UL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX7ULP=y
-CONFIG_SOC_VF610=y
-CONFIG_PCI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_IMX6=y
-CONFIG_SMP=y
-CONFIG_ARM_PSCI=y
-CONFIG_HIGHMEM=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-CONFIG_KEXEC=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=y
-CONFIG_CPU_IDLE=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_NETFILTER=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_BT=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_CFG80211=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_RFKILL=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_CMA_SIZE_MBYTES=64
-CONFIG_IMX_WEIM=y
-CONFIG_CONNECTOR=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_NAND_VF610_NFC=y
-CONFIG_MTD_NAND_MXC=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_FASTMAP=y
-CONFIG_MTD_UBI_BLOCK=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_AT25=y
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=y
-CONFIG_PATA_IMX=y
-CONFIG_NETDEVICES=y
-# CONFIG_NET_VENDOR_BROADCOM is not set
-CONFIG_CS89x0=y
-CONFIG_CS89x0_PLATFORM=y
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_SMC91X=y
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_AT803X_PHY=y
-CONFIG_MICREL_PHY=y
-CONFIG_SMSC_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=y
-CONFIG_USB_LAN78XX=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_ATH10K=m
-CONFIG_ATH10K_SDIO=m
-CONFIG_BRCMFMAC=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-# CONFIG_WILINK_PLATFORM_DATA is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=y
-CONFIG_KEYBOARD_IMX=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
-CONFIG_TOUCHSCREEN_AD7879=y
-CONFIG_TOUCHSCREEN_AD7879_I2C=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=y
-CONFIG_TOUCHSCREEN_DA9052=y
-CONFIG_TOUCHSCREEN_EGALAX=y
-CONFIG_TOUCHSCREEN_GOODIX=y
-CONFIG_TOUCHSCREEN_ILI210X=y
-CONFIG_TOUCHSCREEN_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_EDT_FT5X06=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2004=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=y
-CONFIG_TOUCHSCREEN_SX8654=y
-CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_GPIO=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_GPIO=y
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_FSL_DSPI=y
-CONFIG_PINCTRL_IMX8MM=y
-CONFIG_PINCTRL_IMX8MN=y
-CONFIG_PINCTRL_IMX8MP=y
-CONFIG_PINCTRL_IMX8MQ=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_SIOX=m
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_MC9S08DZ60=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCF857X=y
-CONFIG_GPIO_STMPE=y
-CONFIG_GPIO_74X164=y
-CONFIG_GPIO_MXC=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_RN5T618_POWER=m
-CONFIG_SENSORS_MC13783_ADC=y
-CONFIG_SENSORS_GPIO_FAN=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_THERMAL_STATISTICS=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_DA9062_WATCHDOG=y
-CONFIG_DA9063_WATCHDOG=m
-CONFIG_RN5T618_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_DA9062=y
-CONFIG_MFD_DA9063=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_RN5T618=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_DA9062=y
-CONFIG_REGULATOR_DA9063=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_LTC3676=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_RN5T618=y
-CONFIG_RC_CORE=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MUX=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=m
-CONFIG_VIDEO_IMX_PXP=y
-# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV5640=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_IMX_IPUV3_CORE=y
-CONFIG_DRM=y
-CONFIG_DRM_MSM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_TI_TFP410=y
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_CEC=y
-CONFIG_DRM_IMX=y
-CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
-CONFIG_DRM_IMX_TVE=y
-CONFIG_DRM_IMX_LDB=y
-CONFIG_DRM_IMX_HDMI=y
-CONFIG_DRM_ETNAVIV=y
-CONFIG_DRM_MXSFB=y
-CONFIG_FB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_GPIO=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_FSL_ASRC=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_PHYCORE_AC97=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_ES8328=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_AC97_CODEC=y
-CONFIG_SND_SOC_CS42XX8_I2C=y
-CONFIG_SND_SOC_TLV320AIC3X=y
-CONFIG_SND_SOC_WM8960=y
-CONFIG_SND_SOC_WM8962=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MXC=y
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=m
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_FSL_USB2=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_USB_CONFIGFS_F_UVC=y
-CONFIG_USB_CONFIGFS_F_PRINTER=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FUNCTIONFS=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_ISL1208=y
-CONFIG_RTC_DRV_PCF8523=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_RTC_DRV_M41T80=y
-CONFIG_RTC_DRV_DA9063=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_RTC_DRV_MXC_V2=y
-CONFIG_RTC_DRV_RC5T619=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_DMADEVICES=y
-CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
-CONFIG_MXS_DMA=y
-CONFIG_DMATEST=m
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_VIDEO_IMX_MEDIA=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_SOC_IMX8M=y
-CONFIG_IIO=y
-CONFIG_MMA8452=y
-CONFIG_IMX7D_ADC=y
-CONFIG_RN5T618_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_SENSORS_ISL29018=y
-CONFIG_MAG3110=y
-CONFIG_MPL3115=y
-CONFIG_PWM=y
-CONFIG_PWM_FSL_FTM=y
-CONFIG_PWM_IMX27=y
-CONFIG_PWM_IMX_TPM=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_VF610_OCOTP=y
-CONFIG_NVMEM_SNVS_LPGPR=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=y
-CONFIG_SIOX=m
-CONFIG_SIOX_BUS_GPIO=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=y
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_UTF8=y
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_SAHARA=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_PRINTK_TIME=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_PROVE_LOCKING=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
diff --git a/recipes-kernel/linux/linux-fslc/mxs-generic-bsp/defconfig b/recipes-kernel/linux/linux-fslc/mxs-generic-bsp/defconfig
deleted file mode 100644
index 67e47841..00000000
--- a/recipes-kernel/linux/linux-fslc/mxs-generic-bsp/defconfig
+++ /dev/null
@@ -1,174 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_CGROUPS=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_PID_NS is not set
-# CONFIG_NET_NS is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_ARCH_MULTI_V7 is not set
-CONFIG_ARCH_MXS=y
-CONFIG_AEABI=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_CAN=m
-CONFIG_CAN_FLEXCAN=m
-# CONFIG_WIRELESS is not set
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_MTD_UBI=y
-# CONFIG_BLK_DEV is not set
-CONFIG_EEPROM_AT24=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_ENC28J60=y
-CONFIG_ICPLUS_PHY=y
-CONFIG_MICREL_PHY=y
-CONFIG_REALTEK_PHY=y
-CONFIG_SMSC_PHY=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_SMSC95XX=y
-# CONFIG_WLAN is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_MXS_LRADC=y
-CONFIG_TOUCHSCREEN_TSC2007=m
-# CONFIG_SERIO is not set
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_MXS_AUART=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MXS=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=m
-CONFIG_SPI_MXS=y
-CONFIG_GPIO_SYSFS=y
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_STMP3XXX_RTC_WATCHDOG=y
-CONFIG_MFD_MXS_LRADC=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_DRM=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_MXSFB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SOC=y
-CONFIG_SND_MXS_SOC=y
-CONFIG_SND_SOC_MXS_SGTL5000=y
-CONFIG_USB=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_ETH=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_MMC=y
-CONFIG_MMC_MXS=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_STMP=y
-CONFIG_DMADEVICES=y
-CONFIG_MXS_DMA=y
-CONFIG_IIO=y
-CONFIG_MXS_LRADC_ADC=y
-CONFIG_IIO_SYSFS_TRIGGER=y
-CONFIG_PWM=y
-CONFIG_PWM_MXS=y
-CONFIG_NVMEM_MXS_OCOTP=y
-CONFIG_EXT4_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_STATS=y
-CONFIG_CACHEFILES=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RUBIN=y
-CONFIG_UBIFS_FS=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC7=m
-CONFIG_FONTS=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_SOFTLOCKUP_DETECTOR=y
-CONFIG_PROVE_LOCKING=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_STRICT_DEVMEM=y
-CONFIG_DEBUG_USER=y
diff --git a/recipes-kernel/linux/linux-fslc_5.15.bb b/recipes-kernel/linux/linux-fslc_5.15.bb
deleted file mode 100644
index c67f4265..00000000
--- a/recipes-kernel/linux/linux-fslc_5.15.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2012-2019 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-#
-# SPDX-License-Identifier: MIT
-#
-
-SUMMARY = "FSL Community BSP Linux mainline based kernel with backported features and fixes"
-DESCRIPTION = "Linux kernel based on mainline kernel used by FSL Community BSP in order to \
-provide support for some backported features and fixes, or because it was applied in linux-next \
-and takes some time to become part of a stable version, or because it is not applicable for \
-upstreaming."
-
-include linux-fslc.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
-# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
-# required by kernel-yocto.bbclass.
-#
-# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
-# should be updated once patchlevel is merged.
-LINUX_VERSION = "5.15.32"
-
-KBRANCH = "5.15.x+fslc"
-SRCREV = "0cd0faf39b15007499be2f444034c0f62a3eea9a"
-
-COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc-lts_5.10.bb b/recipes-kernel/linux/linux-fslc_6.6.bb
index 3e0d0847..3365f778 100644
--- a/recipes-kernel/linux/linux-fslc-lts_5.10.bb
+++ b/recipes-kernel/linux/linux-fslc_6.6.bb
@@ -10,18 +10,30 @@ provide support for some backported features and fixes, or because it was applie
and takes some time to become part of a stable version, or because it is not applicable for \
upstreaming."
-include linux-fslc.inc
+require linux-imx.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
# required by kernel-yocto.bbclass.
#
# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
# should be updated once patchlevel is merged.
-LINUX_VERSION = "5.10.109"
+LINUX_VERSION = "6.6"
-KBRANCH = "5.10.x+fslc"
-SRCREV = "ad946caa1bfa863f02a56d0741ad3c3dcc772ef8"
+KBRANCH = "6.6.x+fslc"
+SRCREV = "34836895e19e910f736b06d7dbe522f4a33857f8"
+
+KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx5-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v6_v7_defconfig"
+KBUILD_DEFCONFIG:mx8-generic-bsp = "defconfig"
+KBUILD_DEFCONFIG:mx9-generic-bsp = "defconfig"
+KBUILD_DEFCONFIG:mxs-generic-bsp = "mxs_defconfig"
+KBUILD_DEFCONFIG:vf-generic-bsp = "imx_v6_v7_defconfig"
+
+LOCALVERSION = "-fslc"
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-kernel/linux/linux-imx-headers_5.15.bb b/recipes-kernel/linux/linux-imx-headers_6.1.bb
index 9fa78171..e2e63efc 100644
--- a/recipes-kernel/linux/linux-imx-headers_5.15.bb
+++ b/recipes-kernel/linux/linux-imx-headers_6.1.bb
@@ -1,4 +1,4 @@
-# Copyright 2017-2021 NXP
+# Copyright 2017-2023 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
SUMMARY = "Installs i.MX-specific kernel headers"
@@ -7,10 +7,10 @@ New headers are installed in ${includedir}/imx."
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-SRCBRANCH = "lf-5.15.y"
-LOCALVERSION = "-5.15.5-1.0.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "c1084c2773fc1005ed140db625399d5334d94a28"
+SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf-6.1.y"
+LOCALVERSION = "-6.1.55-2.2.0"
+SRCREV = "770c5fe2c1d1529fae21b7043911cd50c6cf087e"
S = "${WORKDIR}/git"
@@ -23,7 +23,6 @@ IMX_UAPI_HEADERS = " \
hantrodec.h \
hx280enc.h \
ipu.h \
- isl29023.h \
imx_vpu.h \
mxc_asrc.h \
mxc_dcic.h \
diff --git a/recipes-kernel/linux/linux-imx-mfgtool_5.15.bb b/recipes-kernel/linux/linux-imx-mfgtool_5.15.bb
deleted file mode 100644
index 311245b1..00000000
--- a/recipes-kernel/linux/linux-imx-mfgtool_5.15.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (C) 2014-2018 O.S. Systems Software LTDA.
-# Copyright (C) 2014-2016 Freescale Semiconductor
-
-SUMMARY = "Produces a Manufacturing Tool compatible Linux Kernel"
-DESCRIPTION = "Linux Kernel provided and supported by Freescale that produces a \
-Manufacturing Tool compatible Linux Kernel to be used in updater environment"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/linux-imx:"
-require linux-imx_${PV}.bb
-require linux-mfgtool.inc
-
-KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-MODULE_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-do_package[vardepsexclude] = "DATETIME"
diff --git a/recipes-kernel/linux/linux-imx.inc b/recipes-kernel/linux/linux-imx.inc
index ee438fed..34d50cfc 100644
--- a/recipes-kernel/linux/linux-imx.inc
+++ b/recipes-kernel/linux/linux-imx.inc
@@ -2,7 +2,7 @@
# Released under the MIT license (see COPYING.MIT for the terms)
LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit kernel-yocto kernel fsl-kernel-localversion fsl-vivante-kernel-driver-handler
@@ -11,12 +11,13 @@ LOCALVERSION ?= ""
SCMVERSION ?= "y"
SRCBRANCH ?= ""
+# Allow use of kernel as linux-mfgtool provider.
+PROVIDES += "linux-mfgtool"
+
# Set the PV to the correct kernel version to satisfy the kernel version sanity check
PV = "${LINUX_VERSION}+git${SRCPV}"
-SRC_URI = "git://source.codeaurora.org/external/imx/linux-imx;protocol=https;branch=${SRCBRANCH} \
- file://defconfig \
-"
+SRC_URI = "git://github.com/nxp-imx/linux-imx;protocol=https;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
@@ -37,3 +38,29 @@ KCONFIG_MODE="--alldefconfig"
# We need to pass it as param since kernel might support more then one
# machine, with different entry points
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
+
+# A function to strip the new 32-bit dtb sub-folders in KERNEL_DEVICETREE
+# for older kernel builds.
+# Set KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE = "1" to enable.
+KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE ?= "0"
+python kernel_devicetree_32bit_compatibility_update() {
+ import os.path
+ import re
+ if d.getVar('KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE') != "1" or d.getVar('TUNE_ARCH') != "arm":
+ return
+ input = d.getVar('KERNEL_DEVICETREE').split()
+ output = ""
+ stripped = ""
+ for original in input:
+ if re.match("^.*/", original):
+ stripped = os.path.basename(original)
+ output += stripped + " "
+ bb.debug(1, "Devicetrees are moved to sub-folder, stripping the sub-folder for older kernel: %s -> %s" % (original, stripped))
+ else:
+ output += original + " "
+ if stripped:
+ bb.warn("Updating KERNEL_DEVICETREE, removing sub-folders for older kernel. Use -D for more details. Set KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE = \"0\" to disable.")
+ d.setVar('KERNEL_DEVICETREE', output)
+}
+addhandler kernel_devicetree_32bit_compatibility_update
+kernel_devicetree_32bit_compatibility_update[eventmask] = "bb.event.RecipeParsed"
diff --git a/recipes-kernel/linux/linux-imx/imx-nxp-bsp/defconfig b/recipes-kernel/linux/linux-imx/imx-nxp-bsp/defconfig
deleted file mode 100644
index f4697de8..00000000
--- a/recipes-kernel/linux/linux-imx/imx-nxp-bsp/defconfig
+++ /dev/null
@@ -1,587 +0,0 @@
-CONFIG_KERNEL_LZO=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_CGROUPS=y
-CONFIG_MEMCG=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_NAMESPACES=y
-CONFIG_USER_NS=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_PERF_EVENTS=y
-# CONFIG_SLUB_DEBUG is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6UL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX7ULP=y
-CONFIG_SMP=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_ARM_PSCI=y
-CONFIG_HIGHMEM=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-CONFIG_KEXEC=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=y
-CONFIG_CPU_IDLE=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_BINFMT_MISC=m
-CONFIG_CMA=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_NETFILTER=y
-CONFIG_VLAN_8021Q=m
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_BT=y
-CONFIG_BT_RFCOMM=y
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-CONFIG_BT_HCIBTUSB=y
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_MRVL=y
-CONFIG_BT_HCIVHCI=y
-CONFIG_BT_MRVL=y
-CONFIG_BT_MRVL_SDIO=y
-CONFIG_CFG80211=y
-CONFIG_NL80211_TESTMODE=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_PCI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_IMX6_HOST=y
-CONFIG_PCI_IMX6_EP=y
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_IMX_WEIM=y
-CONFIG_CONNECTOR=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_NAND_MXC=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_FASTMAP=y
-CONFIG_MTD_UBI_BLOCK=y
-CONFIG_OF_OVERLAY=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_PCI_ENDPOINT_TEST=y
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_AT25=y
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=y
-CONFIG_PATA_IMX=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_CRYPT=m
-CONFIG_NETDEVICES=y
-# CONFIG_NET_VENDOR_BROADCOM is not set
-CONFIG_CS89x0_PLATFORM=y
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_SMC91X=y
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_MICREL_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=y
-CONFIG_USB_LAN78XX=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_ATH10K=m
-CONFIG_ATH10K_SDIO=m
-CONFIG_HOSTAP=y
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-# CONFIG_WILINK_PLATFORM_DATA is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_RPMSG=y
-CONFIG_KEYBOARD_IMX=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
-CONFIG_TOUCHSCREEN_AD7879=y
-CONFIG_TOUCHSCREEN_AD7879_I2C=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=y
-CONFIG_TOUCHSCREEN_DA9052=y
-CONFIG_TOUCHSCREEN_EGALAX=y
-CONFIG_TOUCHSCREEN_ELAN_TS=y
-CONFIG_TOUCHSCREEN_GOODIX=y
-CONFIG_TOUCHSCREEN_ILI210X=y
-CONFIG_TOUCHSCREEN_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_EDT_FT5X06=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2004=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=y
-CONFIG_TOUCHSCREEN_SX8654=y
-CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
-CONFIG_TOUCHSCREEN_FTS=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_GPIO=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_GPIO=y
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_SPI=y
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_SPI_SLAVE=y
-CONFIG_SPI_SLAVE_TIME=y
-CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MXC=y
-CONFIG_GPIO_SIOX=m
-CONFIG_GPIO_IMX_RPMSG=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCF857X=y
-CONFIG_GPIO_STMPE=y
-CONFIG_GPIO_74X164=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_SABRESD_MAX8903=y
-CONFIG_RN5T618_POWER=m
-CONFIG_SENSORS_MC13783_ADC=y
-CONFIG_SENSORS_GPIO_FAN=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_THERMAL=y
-CONFIG_THERMAL_STATISTICS=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_DA9063_WATCHDOG=m
-CONFIG_DA9062_WATCHDOG=y
-CONFIG_RN5T618_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_DA9062=y
-CONFIG_MFD_DA9063=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_MAX17135=y
-CONFIG_MFD_RN5T618=y
-CONFIG_MFD_SI476X_CORE=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_DA9062=y
-CONFIG_REGULATOR_DA9063=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_LTC3676=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PF1550_RPMSG=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_RN5T618=y
-CONFIG_RC_CORE=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_RADIO_SI476X=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MUX=y
-CONFIG_VIDEO_MXC_CAPTURE=m
-CONFIG_VIDEO_MXC_OUTPUT=y
-CONFIG_VIDEO_MXC_CSI_CAMERA=m
-CONFIG_MXC_VADC=m
-CONFIG_MXC_MIPI_CSI=m
-CONFIG_MXC_CAMERA_OV5640=m
-CONFIG_MXC_CAMERA_OV5640_V2=m
-CONFIG_MXC_CAMERA_OV5640_MIPI=m
-CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
-CONFIG_MXC_TVIN_ADV7180=m
-CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
-CONFIG_VIDEO_MXC_IPU_OUTPUT=y
-CONFIG_VIDEO_MXC_PXP_V4L2=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=m
-CONFIG_VIDEO_IMX_PXP=y
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_DRM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_TI_TFP410=y
-CONFIG_FB=y
-CONFIG_FB_MXS=y
-CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_OVERLAY=y
-CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y
-CONFIG_FB_MXC_ADV7535=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_RK_PANEL_RK055AHD042=y
-CONFIG_FB_MXC_RK_PANEL_RK055IQH042=y
-CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_EINK_PANEL=y
-CONFIG_FB_MXC_EINK_V2_PANEL=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXS_SII902X=y
-CONFIG_FB_MXC_DCIC=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_GPIO=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_FSL_ASRC=y
-CONFIG_SND_SOC_FSL_MQS=y
-CONFIG_SND_SOC_FSL_RPMSG=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_ES8328=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_IMX_HDMI=y
-CONFIG_SND_SOC_IMX6QDL_HDMI=y
-CONFIG_SND_SOC_AC97_CODEC=y
-CONFIG_SND_SOC_CS42XX8_I2C=y
-CONFIG_SND_SOC_WM8960=y
-CONFIG_SND_SOC_WM8962=y
-CONFIG_SND_SOC_RPMSG_WM8960=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_HCD_TEST_MODE=y
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=m
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_USB_CONFIGFS_F_UVC=y
-CONFIG_USB_CONFIGFS_F_PRINTER=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FUNCTIONFS=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_ISL1208=y
-CONFIG_RTC_DRV_PCF8523=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_RTC_DRV_M41T80=y
-CONFIG_RTC_DRV_RC5T619=y
-CONFIG_RTC_DRV_DA9063=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_RTC_DRV_MXC_V2=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_RPMSG=y
-CONFIG_DMADEVICES=y
-CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
-CONFIG_MXS_DMA=y
-CONFIG_MXC_PXP_V2=y
-CONFIG_MXC_PXP_V3=y
-CONFIG_DMATEST=m
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_REMOTEPROC=y
-CONFIG_IMX_REMOTEPROC=y
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_MMA8452=y
-CONFIG_IMX7D_ADC=y
-CONFIG_RN5T618_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_FXAS21002C=y
-CONFIG_FXOS8700_I2C=y
-CONFIG_RPMSG_IIO_PEDOMETER=m
-CONFIG_SENSORS_ISL29018=y
-CONFIG_MAG3110=y
-CONFIG_MPL3115=y
-CONFIG_PWM=y
-CONFIG_PWM_FSL_FTM=y
-CONFIG_PWM_IMX27=y
-CONFIG_PWM_IMX_TPM=y
-CONFIG_PHY_MIXEL_LVDS=y
-CONFIG_PHY_MIXEL_LVDS_COMBO=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_SNVS_LPGPR=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=y
-CONFIG_SIOX=m
-CONFIG_SIOX_BUS_GPIO=m
-CONFIG_MXC_SIM=y
-CONFIG_MXC_IPU=y
-CONFIG_MXC_SIMv2=y
-CONFIG_MXC_MLB150=y
-CONFIG_MXC_IPU_V3_PRE=y
-CONFIG_MXC_HDMI_CEC=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=y
-CONFIG_OVERLAY_FS=y
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_UTF8=y
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_ECHAINIV=m
-CONFIG_CRYPTO_TLS=m
-CONFIG_CRYPTO_CFB=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_OFB=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-CONFIG_CRYPTO_XXHASH=m
-CONFIG_CRYPTO_BLAKE2B=m
-CONFIG_CRYPTO_BLAKE2S=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_SAHARA=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
-CONFIG_DMA_CMA=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
-
-# enable AF_ALG
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_USER_API_AEAD=m
-
-# enable KTLS
-CONFIG_TLS=y
-CONFIG_TLS_DEVICE=y
diff --git a/recipes-kernel/linux/linux-imx/mx8-nxp-bsp/defconfig b/recipes-kernel/linux/linux-imx/mx8-nxp-bsp/defconfig
deleted file mode 100644
index c00288d1..00000000
--- a/recipes-kernel/linux/linux-imx/mx8-nxp-bsp/defconfig
+++ /dev/null
@@ -1,1040 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_BPF_JIT=y
-CONFIG_PREEMPT=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_MEMCG=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_PERF=y
-CONFIG_USER_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-CONFIG_ARCH_LAYERSCAPE=y
-CONFIG_ARCH_KEEMBAY=y
-CONFIG_ARCH_MXC=y
-CONFIG_ARCH_S32=y
-CONFIG_SOC_S32V234=y
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_SCHED_MC=y
-CONFIG_SCHED_SMT=y
-CONFIG_NUMA=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_FILE=y
-CONFIG_CRASH_DUMP=y
-CONFIG_XEN=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_COMPAT=y
-CONFIG_RANDOMIZE_BASE=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-CONFIG_ENERGY_MODEL=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ACPI_CPPC_CPUFREQ=m
-CONFIG_ARM_SCPI_CPUFREQ=y
-CONFIG_ARM_IMX_CPUFREQ_DT=y
-CONFIG_ARM_SCMI_CPUFREQ=y
-CONFIG_QORIQ_CPUFREQ=y
-CONFIG_ARM_SCMI_PROTOCOL=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_QCOM_SCM=m
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_IMX_DSP=y
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_ACPI=y
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-CONFIG_ACPI_APEI_EINJ=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-CONFIG_CRYPTO_SM3_ARM64_CE=m
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_KSM=y
-CONFIG_MEMORY_FAILURE=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IPV6_SIT=m
-CONFIG_NETFILTER=y
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_BRIDGE=y
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_NET_DSA=m
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_LLC2=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_CBS=m
-CONFIG_NET_SCH_ETF=m
-CONFIG_NET_SCH_TAPRIO=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_GATE=m
-CONFIG_TSN=y
-CONFIG_QRTR=m
-CONFIG_QRTR_SMD=m
-CONFIG_QRTR_TUN=m
-CONFIG_NET_PKTGEN=m
-CONFIG_CAN=m
-CONFIG_CAN_FLEXCAN=m
-CONFIG_BT=y
-CONFIG_BT_RFCOMM=y
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-CONFIG_BT_LEDS=y
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIVHCI=y
-CONFIG_CFG80211=y
-CONFIG_NL80211_TESTMODE=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_MAC80211_LEDS=y
-CONFIG_NET_9P=y
-CONFIG_NET_9P_VIRTIO=y
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-CONFIG_NFC_S3FWRN5_I2C=m
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PASID=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCI_XGENE=y
-CONFIG_PCIE_ALTERA=y
-CONFIG_PCIE_ALTERA_MSI=y
-CONFIG_PCI_HOST_THUNDER_PEM=y
-CONFIG_PCI_HOST_THUNDER_ECAM=y
-CONFIG_PCI_IMX6_HOST=y
-CONFIG_PCI_IMX6_EP=y
-CONFIG_PCI_LAYERSCAPE=y
-CONFIG_PCI_HISI=y
-CONFIG_PCIE_KIRIN=y
-CONFIG_PCI_MESON=m
-CONFIG_PCIE_LAYERSCAPE_GEN4=y
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_BRCMSTB_GISB_ARB=y
-CONFIG_SIMPLE_PM_BUS=y
-CONFIG_VEXPRESS_CONFIG=y
-CONFIG_FSL_MC_UAPI_SUPPORT=y
-CONFIG_GNSS=m
-CONFIG_GNSS_MTK_SERIAL=m
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_DENALI_DT=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_NAND_FSL_IFC=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_XEN_BLKDEV_BACKEND=m
-CONFIG_VIRTIO_BLK=y
-CONFIG_BLK_DEV_NVME=y
-CONFIG_SRAM=y
-CONFIG_PCI_ENDPOINT_TEST=y
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_AT25=m
-CONFIG_UACCE=m
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_HISI_SAS=y
-CONFIG_SCSI_HISI_SAS_PCI=y
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_UFSHCD=y
-CONFIG_SCSI_UFSHCD_PLATFORM=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=y
-CONFIG_AHCI_CEVA=y
-CONFIG_AHCI_XGENE=y
-CONFIG_AHCI_QORIQ=y
-CONFIG_SATA_SIL24=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_PATA_OF_PLATFORM=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_NETDEVICES=y
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_TUN=y
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=y
-CONFIG_NET_DSA_MSCC_FELIX=m
-CONFIG_AMD_XGBE=y
-CONFIG_ATL1C=m
-CONFIG_BCMGENET=m
-CONFIG_BNX2X=m
-CONFIG_MACB=y
-CONFIG_THUNDER_NIC_PF=y
-CONFIG_FEC=y
-CONFIG_FEC_UIO=y
-CONFIG_FSL_FMAN=y
-CONFIG_FSL_DPAA_ETH=y
-CONFIG_FSL_DPAA2_ETH=y
-CONFIG_FSL_DPAA2_MAC=y
-CONFIG_FSL_DPAA2_SWITCH=y
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=y
-CONFIG_FSL_ENETC_QOS=y
-CONFIG_ENETC_TSN=y
-CONFIG_HIX5HD2_GMAC=y
-CONFIG_HNS_DSAF=y
-CONFIG_HNS_ENET=y
-CONFIG_HNS3=y
-CONFIG_HNS3_HCLGE=y
-CONFIG_HNS3_ENET=y
-CONFIG_E1000=y
-CONFIG_E1000E=y
-CONFIG_IGB=y
-CONFIG_IGBVF=y
-CONFIG_MVMDIO=y
-CONFIG_SKY2=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX5_CORE=m
-CONFIG_MLX5_CORE_EN=y
-CONFIG_MSCC_OCELOT_SWITCH=y
-CONFIG_QCOM_EMAC=m
-CONFIG_RMNET=m
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_STMMAC_ETH=y
-CONFIG_DWMAC_GENERIC=m
-CONFIG_AQUANTIA_PHY=y
-CONFIG_BROADCOM_PHY=m
-CONFIG_BCM54140_PHY=m
-CONFIG_INPHI_PHY=y
-CONFIG_MARVELL_PHY=m
-CONFIG_MARVELL_10G_PHY=m
-CONFIG_MICREL_PHY=y
-CONFIG_MICROSEMI_PHY=y
-CONFIG_NXP_TJA11XX_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_REALTEK_PHY=y
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_VITESSE_PHY=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=y
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_AX88179_178A=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_HOSTAP=y
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_XEN_NETDEV_BACKEND=m
-CONFIG_IVSHMEM_NET=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_ADC=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_RPMSG=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=y
-CONFIG_KEYBOARD_IMX_SC_PWRKEY=y
-CONFIG_KEYBOARD_CROS_EC=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_GOODIX=m
-CONFIG_TOUCHSCREEN_EDT_FT5X06=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PWM_VIBRA=m
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_AMBAKMI=y
-CONFIG_LEGACY_PTY_COUNT=16
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_XILINX_PS_UART=y
-CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_SERIAL_FSL_LINFLEXUART=y
-CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_IPMI_HANDLER=m
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS_I2C_INFINEON=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_I2C_RK3X=y
-CONFIG_I2C_RPBUS=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-CONFIG_XEN_I2C_BACKEND=y
-CONFIG_I3C=y
-CONFIG_SVC_I3C_MASTER=y
-CONFIG_SPI=y
-CONFIG_SPI_CADENCE_QUADSPI=y
-CONFIG_SPI_DESIGNWARE=m
-CONFIG_SPI_DW_DMA=y
-CONFIG_SPI_DW_MMIO=m
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_NXP_FLEXSPI=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_FSL_DSPI=y
-CONFIG_SPI_PL022=y
-CONFIG_SPI_ROCKCHIP=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_SPI_SLAVE=y
-CONFIG_SPI_SLAVE_TIME=y
-CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
-CONFIG_SPMI=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINCTRL_MAX77620=y
-CONFIG_PINCTRL_IMX8MM=y
-CONFIG_PINCTRL_IMX8MN=y
-CONFIG_PINCTRL_IMX8MP=y
-CONFIG_PINCTRL_IMX8MQ=y
-CONFIG_PINCTRL_IMX8QM=y
-CONFIG_PINCTRL_IMX8QXP=y
-CONFIG_PINCTRL_IMX8DXL=y
-CONFIG_PINCTRL_IMX8ULP=y
-CONFIG_PINCTRL_S32V234=y
-CONFIG_GPIO_ALTERA=m
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_MB86S7X=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_IMX_RPMSG=y
-CONFIG_GPIO_WCD934X=m
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_BD9571MWV=m
-CONFIG_GPIO_MAX77620=y
-CONFIG_GPIO_SL28CPLD=m
-CONFIG_POWER_RESET_BRCMSTB=y
-CONFIG_POWER_RESET_XGENE=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_SYSCON_REBOOT_MODE=y
-CONFIG_BATTERY_SBS=m
-CONFIG_BATTERY_BQ27XXX=y
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_BQ25890=m
-CONFIG_CHARGER_BQ25980=m
-CONFIG_SENSORS_ARM_SCMI=y
-CONFIG_SENSORS_ARM_SCPI=y
-CONFIG_SENSORS_FP9931=y
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_SL28CPLD=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
-CONFIG_CPU_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-CONFIG_IMX_SC_THERMAL=y
-CONFIG_IMX8MM_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_QORIQ_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_SL28CPLD_WATCHDOG=m
-CONFIG_ARM_SP805_WATCHDOG=y
-CONFIG_ARM_SBSA_WATCHDOG=y
-CONFIG_DW_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX_SC_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_ARM_SMC_WATCHDOG=y
-CONFIG_XEN_WDT=y
-CONFIG_MFD_BD9571MWV=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_IMX_MIX=y
-CONFIG_MFD_HI6421_PMIC=y
-CONFIG_MFD_FP9931=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_MT6397=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_SL28CPLD=y
-CONFIG_MFD_ROHM_BD718XX=y
-CONFIG_MFD_WCD934X=m
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_AXP20X=y
-CONFIG_REGULATOR_BD718XX=y
-CONFIG_REGULATOR_BD9571MWV=y
-CONFIG_REGULATOR_FAN53555=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_HI6421V530=y
-CONFIG_REGULATOR_MAX77620=y
-CONFIG_REGULATOR_MAX8973=y
-CONFIG_REGULATOR_FP9931=y
-CONFIG_REGULATOR_MP8859=y
-CONFIG_REGULATOR_MT6358=y
-CONFIG_REGULATOR_MT6397=y
-CONFIG_REGULATOR_PCA9450=y
-CONFIG_REGULATOR_PF8X00=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PWM=y
-CONFIG_REGULATOR_QCOM_SPMI=y
-CONFIG_REGULATOR_RK808=y
-CONFIG_REGULATOR_S2MPS11=y
-CONFIG_REGULATOR_TPS65132=m
-CONFIG_REGULATOR_VCTRL=m
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_XMP_DECODER=m
-CONFIG_IR_IMON_DECODER=m
-CONFIG_IR_RCMM_DECODER=m
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=m
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_PLATFORM_SUPPORT=y
-# CONFIG_DVB_NET is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MXC_CAPTURE=y
-CONFIG_VIDEO_MX8_CAPTURE=y
-CONFIG_VIDEO_MXC_CSI_CAMERA=y
-CONFIG_MXC_MIPI_CSI=y
-CONFIG_MXC_CAMERA_OV5640_MIPI_V2=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_IMX8_JPEG=m
-CONFIG_SDR_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_IMX219=m
-CONFIG_VIDEO_OV5640=y
-CONFIG_VIDEO_OV5645=m
-CONFIG_IMX_DPU_CORE=y
-CONFIG_IMX_LCDIF_CORE=y
-CONFIG_IMX_LCDIFV3_CORE=y
-CONFIG_DRM=y
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_MALI_DISPLAY=m
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_RCAR_DW_HDMI=m
-CONFIG_DRM_RCAR_LVDS=m
-CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
-CONFIG_DRM_PANEL_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
-CONFIG_DRM_PANEL_RAYDIUM_RM68200=y
-CONFIG_DRM_PANEL_ROCKTECK_HIMAX8394F=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_PANEL_SITRONIX_ST7703=m
-CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-CONFIG_DRM_PANEL_WKS_101WX001=y
-CONFIG_DRM_DISPLAY_CONNECTOR=m
-CONFIG_DRM_LONTIUM_LT8912B=m
-CONFIG_DRM_LONTIUM_LT9611=m
-CONFIG_DRM_LONTIUM_LT9611UXC=m
-CONFIG_DRM_FSL_IMX_LVDS_BRIDGE=y
-CONFIG_DRM_NWL_MIPI_DSI=y
-CONFIG_DRM_NXP_SEIKO_43WVFIG=y
-CONFIG_DRM_PARADE_PS8640=m
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_SIMPLE_BRIDGE=m
-CONFIG_DRM_THINE_THC63LVD1024=m
-CONFIG_DRM_TI_SN65DSI86=m
-CONFIG_DRM_I2C_ADV7511=y
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_CDNS_HDCP=y
-CONFIG_DRM_CDNS_HDMI_CEC=y
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
-CONFIG_DRM_DW_HDMI_GP_AUDIO=y
-CONFIG_DRM_DW_HDMI_CEC=m
-CONFIG_DRM_ITE_IT6263=y
-CONFIG_DRM_ITE_IT6161=y
-CONFIG_DRM_IMX=y
-CONFIG_DRM_IMX_LCDIF_MUX_DISPLAY=y
-CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
-CONFIG_DRM_IMX_TVE=y
-CONFIG_DRM_IMX_LDB=y
-CONFIG_DRM_IMX8QM_LDB=y
-CONFIG_DRM_IMX8QXP_LDB=y
-CONFIG_DRM_IMX8MP_LDB=y
-CONFIG_DRM_IMX_HDMI=y
-CONFIG_DRM_IMX_SEC_DSIM=y
-CONFIG_DRM_IMX_DCNANO=y
-CONFIG_DRM_IMX_DCSS=y
-CONFIG_DRM_IMX_CDNS_MHDP=y
-CONFIG_DRM_ETNAVIV=m
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_HISI_KIRIN=m
-CONFIG_DRM_MXSFB=y
-CONFIG_DRM_PL111=m
-CONFIG_DRM_LIMA=m
-CONFIG_DRM_PANFROST=m
-CONFIG_FB=y
-CONFIG_FB_ARMCLCD=y
-CONFIG_FB_EFI=y
-CONFIG_FB_MXC_EINK_V2_PANEL=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_LP855X=m
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_ALOOP=m
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_FSL_ASRC=m
-CONFIG_SND_SOC_FSL_MQS=m
-CONFIG_SND_SOC_FSL_MICFIL=m
-CONFIG_SND_SOC_FSL_EASRC=m
-CONFIG_SND_SOC_FSL_XCVR=m
-CONFIG_SND_SOC_FSL_ESAI_CLIENT=y
-CONFIG_SND_SOC_FSL_RPMSG=m
-CONFIG_SND_IMX_SOC=m
-CONFIG_SND_SOC_IMX_SGTL5000=m
-CONFIG_SND_SOC_IMX_SPDIF=m
-CONFIG_SND_SOC_FSL_ASOC_CARD=m
-CONFIG_SND_SOC_IMX_AUDMIX=m
-CONFIG_SND_SOC_IMX_HDMI=m
-CONFIG_SND_SOC_IMX_CARD=m
-CONFIG_SND_SOC_IMX_PDM_MIC=m
-CONFIG_SND_SOC_IMX_PCM512X=m
-CONFIG_SND_SOC_SOF_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_OF=m
-CONFIG_SND_SOC_SOF_COMPRESS=y
-CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_IMX8=m
-CONFIG_SND_SOC_SOF_IMX8M=m
-CONFIG_SND_SOC_SOF_IMX8ULP=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_BT_SCO=y
-CONFIG_SND_SOC_CROS_EC_CODEC=m
-CONFIG_SND_SOC_CS42XX8_I2C=y
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_GTM601=m
-CONFIG_SND_SOC_MAX98357A=m
-CONFIG_SND_SOC_MAX98927=m
-CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
-CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_RT5659=m
-CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-CONFIG_SND_SOC_SIMPLE_MUX=m
-CONFIG_SND_SOC_SPDIF=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SOC_WCD934X=m
-CONFIG_SND_SOC_WM8524=y
-CONFIG_SND_SOC_WM8904=m
-CONFIG_SND_SOC_WM8960=m
-CONFIG_SND_SOC_WM8962=m
-CONFIG_SND_SOC_WSA881X=m
-CONFIG_SND_SOC_RPMSG_WM8960=m
-CONFIG_SND_SOC_RPMSG_AK4497=m
-CONFIG_SND_SOC_LPASS_WSA_MACRO=m
-CONFIG_SND_SOC_LPASS_VA_MACRO=m
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_SND_AUDIO_GRAPH_CARD=y
-CONFIG_HID_MULTITOUCH=m
-CONFIG_I2C_HID_ACPI=m
-CONFIG_I2C_HID_OF=m
-CONFIG_USB_CONN_GPIO=y
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_PCI_RENESAS=m
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-CONFIG_USB_HCD_TEST_MODE=y
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_UAS=y
-CONFIG_USB_CDNS_SUPPORT=y
-CONFIG_USB_CDNS3=y
-CONFIG_USB_CDNS3_GADGET=y
-CONFIG_USB_CDNS3_HOST=y
-CONFIG_USB_MUSB_HDRC=y
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC2=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SERIAL_CONSOLE=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_SIMPLE=y
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_FTDI_SIO=y
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=y
-CONFIG_USB_HSIC_USB3503=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_ULPI=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_SNP_UDC_PLAT=y
-CONFIG_USB_BDC_UDC=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_UAC1=y
-CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
-CONFIG_USB_CONFIGFS_F_UAC2=y
-CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_USB_CONFIGFS_F_UVC=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_TYPEC=y
-CONFIG_TYPEC_TCPM=y
-CONFIG_TYPEC_TCPCI=y
-CONFIG_TYPEC_FUSB302=m
-CONFIG_TYPEC_TPS6598X=m
-CONFIG_TYPEC_HD3SS3220=m
-CONFIG_TYPEC_SWITCH_GPIO=y
-CONFIG_MMC=y
-CONFIG_MMC_BLOCK_MINORS=32
-CONFIG_MMC_ARMMMCI=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_ACPI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ARASAN=y
-CONFIG_MMC_SDHCI_OF_ESDHC=y
-CONFIG_MMC_SDHCI_CADENCE=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_MMC_SDHCI_F_SDH30=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_EXYNOS=y
-CONFIG_MMC_DW_HI3798CV200=y
-CONFIG_MMC_DW_K3=y
-CONFIG_MMC_MTK=y
-CONFIG_MMC_SDHCI_XENON=y
-CONFIG_MMC_SDHCI_AM654=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_LM3692X=m
-CONFIG_LEDS_PCA9532=m
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_EDAC=y
-CONFIG_EDAC_GHES=y
-CONFIG_EDAC_LAYERSCAPE=m
-CONFIG_EDAC_SYNOPSYS=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_HYM8563=m
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_PCF85363=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RV3028=m
-CONFIG_RTC_DRV_RV8803=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_CROS_EC=y
-CONFIG_RTC_DRV_FSL_FTM_ALARM=m
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_SC=y
-CONFIG_RTC_DRV_IMX_RPMSG=y
-CONFIG_DMADEVICES=y
-CONFIG_BCM_SBA_RAID=m
-CONFIG_FSL_EDMA=y
-CONFIG_FSL_QDMA=m
-CONFIG_FSL_EDMA_V3=y
-CONFIG_IMX_SDMA=y
-CONFIG_MV_XOR_V2=y
-CONFIG_MXS_DMA=y
-CONFIG_MXC_PXP_V3=y
-CONFIG_PL330_DMA=y
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_FSL_DPAA2_QDMA=m
-CONFIG_DMATEST=y
-CONFIG_DMABUF_HEAPS=y
-CONFIG_DMABUF_HEAPS_SYSTEM=y
-CONFIG_DMABUF_HEAPS_CMA=y
-CONFIG_DMABUF_HEAPS_DSP=y
-CONFIG_UIO_PCI_GENERIC=y
-CONFIG_UIO_IVSHMEM=y
-CONFIG_VFIO=y
-CONFIG_VFIO_PCI=y
-CONFIG_VFIO_FSL_MC=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_VIRTIO_IVSHMEM=y
-CONFIG_XEN_GNTDEV=y
-CONFIG_XEN_GRANT_DEV_ALLOC=y
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-CONFIG_VIDEO_HANTRO=m
-CONFIG_VIDEO_IMX_CAPTURE=y
-CONFIG_IMX8_MEDIA_DEVICE=m
-CONFIG_FSL_DPAA2=y
-CONFIG_FSL_PPFE=y
-CONFIG_FSL_PPFE_UTIL_DISABLED=y
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_CROS_EC_CHARDEV=m
-CONFIG_CLK_VEXPRESS_OSC=y
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCMI=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_FSL_SAI=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_COMMON_CLK_XGENE=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_COMMON_CLK_VC5=y
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_CLK_IMX8QXP=y
-CONFIG_CLK_IMX8ULP=y
-CONFIG_HWSPINLOCK=y
-CONFIG_ARM_MHU=y
-CONFIG_IMX_MBOX=y
-CONFIG_PLATFORM_MHU=y
-CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
-CONFIG_ARM_SMMU=y
-CONFIG_ARM_SMMU_V3=y
-CONFIG_REMOTEPROC=y
-CONFIG_IMX_REMOTEPROC=y
-CONFIG_IMX_DSP_REMOTEPROC=m
-CONFIG_RPMSG_CHAR=m
-CONFIG_RPMSG_QCOM_GLINK_RPM=y
-CONFIG_SOUNDWIRE=m
-CONFIG_SOUNDWIRE_QCOM=m
-CONFIG_SOC_BRCMSTB=y
-CONFIG_FSL_DPAA=y
-CONFIG_FSL_MC_DPIO=y
-CONFIG_FSL_RCPM=y
-CONFIG_FSL_QIXIS=y
-CONFIG_SOC_TI=y
-CONFIG_ARM_IMX_BUS_DEVFREQ=m
-CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
-CONFIG_EXTCON_PTN5150=m
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-CONFIG_IIO=y
-CONFIG_IMX8QXP_ADC=y
-CONFIG_MAX9611=m
-CONFIG_QCOM_SPMI_VADC=m
-CONFIG_QCOM_SPMI_ADC5=m
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS=m
-CONFIG_FXAS21002C=y
-CONFIG_FXOS8700_I2C=y
-CONFIG_IIO_ST_LSM6DSX=y
-CONFIG_IIO_CROS_EC_LIGHT_PROX=m
-CONFIG_SENSORS_ISL29018=y
-CONFIG_VCNL4000=m
-CONFIG_IIO_ST_MAGN_3AXIS=m
-CONFIG_IIO_CROS_EC_BARO=m
-CONFIG_MPL3115=y
-CONFIG_PWM=y
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_FSL_FTM=m
-CONFIG_PWM_IMX27=y
-CONFIG_PWM_RPCHIP=y
-CONFIG_PWM_SL28CPLD=m
-CONFIG_SL28CPLD_INTC=y
-CONFIG_RESET_IMX7=y
-CONFIG_RESET_IMX8ULP_SIM=y
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_MIXEL_LVDS=y
-CONFIG_PHY_MIXEL_LVDS_COMBO=y
-CONFIG_PHY_CADENCE_SALVO=y
-CONFIG_PHY_FSL_IMX8MP_LVDS=y
-CONFIG_PHY_MIXEL_MIPI_DPHY=y
-CONFIG_PHY_SAMSUNG_HDMI_PHY=y
-CONFIG_PHY_QCOM_USB_HS=y
-CONFIG_PHY_SAMSUNG_USB2=y
-CONFIG_ARM_SMMU_V3_PMU=m
-CONFIG_FSL_IMX8_DDR_PMU=y
-CONFIG_HISI_PMU=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_IMX_OCOTP_SCU=y
-CONFIG_NVMEM_RMEM=m
-CONFIG_FPGA=y
-CONFIG_FPGA_BRIDGE=m
-CONFIG_ALTERA_FREEZE_BRIDGE=m
-CONFIG_FPGA_REGION=m
-CONFIG_OF_FPGA_REGION=m
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=y
-CONFIG_SLIM_QCOM_CTRL=m
-CONFIG_INTERCONNECT=y
-CONFIG_INTERCONNECT_IMX=m
-CONFIG_INTERCONNECT_IMX8MQ=m
-CONFIG_MXC_SIM=y
-CONFIG_MXC_EMVSIM=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_HUGETLBFS=y
-CONFIG_EFIVAR_FS=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_SQUASHFS=y
-CONFIG_SQUASHFS_XZ=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_ROOT_NFS=y
-CONFIG_9P_FS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-CONFIG_CRYPTO_ECHAINIV=y
-CONFIG_CRYPTO_TLS=m
-CONFIG_CRYPTO_CFB=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_OFB=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-CONFIG_CRYPTO_BLAKE2S=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_USER_API_AEAD=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
-CONFIG_CRYPTO_DEV_CCREE=m
-CONFIG_CRYPTO_DEV_HISI_SEC2=m
-CONFIG_CRYPTO_DEV_HISI_ZIP=m
-CONFIG_CRYPTO_DEV_HISI_HPRE=m
-CONFIG_CRYPTO_DEV_HISI_TRNG=m
-CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m
-CONFIG_INDIRECT_PIO=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC8=y
-CONFIG_CMA_SIZE_MBYTES=32
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_INFO_REDUCED=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
-CONFIG_CORESIGHT=y
-CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
-CONFIG_CORESIGHT_SOURCE_ETM4X=y
-CONFIG_MEMTEST=y
-CONFIG_TLS=y
-CONFIG_TLS_DEVICE=y
diff --git a/recipes-kernel/linux/linux-imx_5.15.bb b/recipes-kernel/linux/linux-imx_6.1.bb
index 751e4c9f..6b93a1d0 100644
--- a/recipes-kernel/linux/linux-imx_5.15.bb
+++ b/recipes-kernel/linux/linux-imx_6.1.bb
@@ -1,5 +1,5 @@
# Copyright 2013-2016 (C) Freescale Semiconductor
-# Copyright 2017-2021 (C) NXP
+# Copyright 2017-2023 (C) NXP
# Copyright 2018 (C) O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
#
@@ -12,27 +12,23 @@ i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU
require recipes-kernel/linux/linux-imx.inc
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE = "1"
-DEPENDS += "lzop-native bc-native"
-
-# UPGRADE NOTE:
-# The linux-imx kernel build uses a defconfig maintained in the layer. That
-# defconfig is a copy of a defconfig maintained by NXP in the source.
-# | defconfig in layer | copied from NXP kernel source |
-# | linux-imx/imx-nxp-bsp/defconfig | arch/arm/configs/imx_v7_defconfig |
-# | linux-imx/mx8-nxp-bsp/defconfig | arch/arm64/configs/imx_v8_defconfig |
-SRCBRANCH = "lf-5.15.y"
-LOCALVERSION = "-5.15.5_1.0.0"
-SRCREV = "c1084c2773fc1005ed140db625399d5334d94a28"
+SRCBRANCH = "lf-6.1.y"
+LOCALVERSION = "-6.1.55-2.2.0"
+SRCREV = "770c5fe2c1d1529fae21b7043911cd50c6cf087e"
# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
# required by kernel-yocto.bbclass.
#
# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
# should be updated once patchlevel is merged.
-LINUX_VERSION = "5.15.5"
+LINUX_VERSION = "6.1.55"
+
+KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
+KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
+KBUILD_DEFCONFIG:mx8-generic-bsp = "imx_v8_defconfig"
+KBUILD_DEFCONFIG:mx9-generic-bsp = "imx_v8_defconfig"
DEFAULT_PREFERENCE = "1"
diff --git a/recipes-kernel/linux/linux-mfgtool.inc b/recipes-kernel/linux/linux-mfgtool.inc
deleted file mode 100644
index 7ff370e4..00000000
--- a/recipes-kernel/linux/linux-mfgtool.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-# Produces a Manufacturing Tool compatible Linux Kernel
-#
-# Copyright (C) 2014, 2015, 2018 O.S. Systems Software LTDA.
-
-PROVIDES = "linux-mfgtool"
-
-KERNEL_PACKAGE_NAME = "mfgtool"
diff --git a/recipes-kernel/linux/linux-qoriq/0001-Makfefile-linux-5.4-add-warning-cflags-on-LSDK-20.04.patch b/recipes-kernel/linux/linux-qoriq/0001-Makfefile-linux-5.4-add-warning-cflags-on-LSDK-20.04.patch
deleted file mode 100644
index b6c21d06..00000000
--- a/recipes-kernel/linux/linux-qoriq/0001-Makfefile-linux-5.4-add-warning-cflags-on-LSDK-20.04.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6cf92b25d63ff9e2b77ce0fbf62f4d5d040ef5db Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Tue, 12 Mar 2019 03:52:03 +0100
-Subject: [PATCH] Makfefile: linux-5.4 add warning cflags on LSDK-20.04
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 07998b60d56c..7ec8fcb73e17 100644
---- a/Makefile
-+++ b/Makefile
-@@ -458,7 +458,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
- KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
- -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
- -Werror=implicit-function-declaration -Werror=implicit-int \
-- -Wno-format-security \
-+ -Wno-address-of-packed-member -Wno-format-security \
- -std=gnu89
- KBUILD_CPPFLAGS := -D__KERNEL__
- KBUILD_AFLAGS_KERNEL :=
---
-2.17.1
-
diff --git a/recipes-kernel/linux/linux-qoriq/0001-libtraceevent-Fix-build-with-binutils-2.35.patch b/recipes-kernel/linux/linux-qoriq/0001-libtraceevent-Fix-build-with-binutils-2.35.patch
deleted file mode 100644
index b1d07fc4..00000000
--- a/recipes-kernel/linux/linux-qoriq/0001-libtraceevent-Fix-build-with-binutils-2.35.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 39efdd94e314336f4acbac4c07e0f37bdc3bef71 Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sat, 25 Jul 2020 02:06:23 +0100
-Subject: [PATCH] libtraceevent: Fix build with binutils 2.35
-
-In binutils 2.35, 'nm -D' changed to show symbol versions along with
-symbol names, with the usual @@ separator. When generating
-libtraceevent-dynamic-list we need just the names, so strip off the
-version suffix if present.
-
-Upstream-Status: Backport
-
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Tested-by: Salvatore Bonaccorso <carnil@debian.org>
-Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
-Cc: linux-trace-devel@vger.kernel.org
-Cc: stable@vger.kernel.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/lib/traceevent/plugins/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/lib/traceevent/plugins/Makefile b/tools/lib/traceevent/plugins/Makefile
-index 349bb81482ab..680d883efe05 100644
---- a/tools/lib/traceevent/plugins/Makefile
-+++ b/tools/lib/traceevent/plugins/Makefile
-@@ -197,7 +197,7 @@ define do_generate_dynamic_list_file
- xargs echo "U w W" | tr 'w ' 'W\n' | sort -u | xargs echo`;\
- if [ "$$symbol_type" = "U W" ];then \
- (echo '{'; \
-- $(NM) -u -D $1 | awk 'NF>1 {print "\t"$$2";"}' | sort -u;\
-+ $(NM) -u -D $1 | awk 'NF>1 {sub("@.*", "", $$2); print "\t"$$2";"}' | sort -u;\
- echo '};'; \
- ) > $2; \
- else \
---
-2.17.1
-
diff --git a/recipes-kernel/linux/linux-qoriq/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch b/recipes-kernel/linux/linux-qoriq/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch
deleted file mode 100644
index b18ae803..00000000
--- a/recipes-kernel/linux/linux-qoriq/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From e4d9b04b973b2dbce7b42af95ea70d07da1c936d Mon Sep 17 00:00:00 2001
-From: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date: Mon, 2 Mar 2020 12:09:38 -0300
-Subject: [PATCH] perf bench: Share some global variables to fix build with gcc
- 10
-
-Noticed with gcc 10 (fedora rawhide) that those variables were not being
-declared as static, so end up with:
-
- ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/bench/perf-in.o] Error 1
-
-Prefix those with bench__ and add them to bench/bench.h, so that we can
-share those on the tools needing to access those variables from signal
-handlers.
-
-Upstream-Status: Backport
-
-Acked-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Davidlohr Bueso <dave@stgolabs.net>
-Cc: Jiri Olsa <jolsa@kernel.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Link: http://lore.kernel.org/lkml/20200303155811.GD13702@kernel.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/bench/bench.h | 4 ++++
- tools/perf/bench/epoll-ctl.c | 7 +++----
- tools/perf/bench/epoll-wait.c | 11 +++++------
- tools/perf/bench/futex-hash.c | 12 ++++++------
- tools/perf/bench/futex-lock-pi.c | 11 +++++------
- 5 files changed, 23 insertions(+), 22 deletions(-)
-
-diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h
-index fddb3ced9db6..4aa6de1aa67d 100644
---- a/tools/perf/bench/bench.h
-+++ b/tools/perf/bench/bench.h
-@@ -2,6 +2,10 @@
- #ifndef BENCH_H
- #define BENCH_H
-
-+#include <sys/time.h>
-+
-+extern struct timeval bench__start, bench__end, bench__runtime;
-+
- /*
- * The madvise transparent hugepage constants were added in glibc
- * 2.13. For compatibility with older versions of glibc, define these
-diff --git a/tools/perf/bench/epoll-ctl.c b/tools/perf/bench/epoll-ctl.c
-index bb617e568841..a7526c05df38 100644
---- a/tools/perf/bench/epoll-ctl.c
-+++ b/tools/perf/bench/epoll-ctl.c
-@@ -35,7 +35,6 @@
-
- static unsigned int nthreads = 0;
- static unsigned int nsecs = 8;
--struct timeval start, end, runtime;
- static bool done, __verbose, randomize;
-
- /*
-@@ -94,8 +93,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void nest_epollfd(void)
-@@ -361,7 +360,7 @@ int bench_epoll_ctl(int argc, const char **argv)
-
- threads_starting = nthreads;
-
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
-
- do_threads(worker, cpu);
-
-diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c
-index 7af694437f4e..d1c5cb526b9f 100644
---- a/tools/perf/bench/epoll-wait.c
-+++ b/tools/perf/bench/epoll-wait.c
-@@ -90,7 +90,6 @@
-
- static unsigned int nthreads = 0;
- static unsigned int nsecs = 8;
--struct timeval start, end, runtime;
- static bool wdone, done, __verbose, randomize, nonblocking;
-
- /*
-@@ -276,8 +275,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void print_summary(void)
-@@ -287,7 +286,7 @@ static void print_summary(void)
-
- printf("\nAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
- avg, rel_stddev_stats(stddev, avg),
-- (int) runtime.tv_sec);
-+ (int)bench__runtime.tv_sec);
- }
-
- static int do_threads(struct worker *worker, struct perf_cpu_map *cpu)
-@@ -479,7 +478,7 @@ int bench_epoll_wait(int argc, const char **argv)
-
- threads_starting = nthreads;
-
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
-
- do_threads(worker, cpu);
-
-@@ -519,7 +518,7 @@ int bench_epoll_wait(int argc, const char **argv)
- qsort(worker, nthreads, sizeof(struct worker), cmpworker);
-
- for (i = 0; i < nthreads; i++) {
-- unsigned long t = worker[i].ops/runtime.tv_sec;
-+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
-
- update_stats(&throughput_stats, t);
-
-diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c
-index 8ba0c3330a9a..21776862e940 100644
---- a/tools/perf/bench/futex-hash.c
-+++ b/tools/perf/bench/futex-hash.c
-@@ -37,7 +37,7 @@ static unsigned int nfutexes = 1024;
- static bool fshared = false, done = false, silent = false;
- static int futex_flag = 0;
-
--struct timeval start, end, runtime;
-+struct timeval bench__start, bench__end, bench__runtime;
- static pthread_mutex_t thread_lock;
- static unsigned int threads_starting;
- static struct stats throughput_stats;
-@@ -103,8 +103,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void print_summary(void)
-@@ -114,7 +114,7 @@ static void print_summary(void)
-
- printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
- !silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
-- (int) runtime.tv_sec);
-+ (int)bench__runtime.tv_sec);
- }
-
- int bench_futex_hash(int argc, const char **argv)
-@@ -161,7 +161,7 @@ int bench_futex_hash(int argc, const char **argv)
-
- threads_starting = nthreads;
- pthread_attr_init(&thread_attr);
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
- for (i = 0; i < nthreads; i++) {
- worker[i].tid = i;
- worker[i].futex = calloc(nfutexes, sizeof(*worker[i].futex));
-@@ -204,7 +204,7 @@ int bench_futex_hash(int argc, const char **argv)
- pthread_mutex_destroy(&thread_lock);
-
- for (i = 0; i < nthreads; i++) {
-- unsigned long t = worker[i].ops/runtime.tv_sec;
-+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
- update_stats(&throughput_stats, t);
- if (!silent) {
- if (nfutexes == 1)
-diff --git a/tools/perf/bench/futex-lock-pi.c b/tools/perf/bench/futex-lock-pi.c
-index d0cae8125423..30d97121dc4f 100644
---- a/tools/perf/bench/futex-lock-pi.c
-+++ b/tools/perf/bench/futex-lock-pi.c
-@@ -37,7 +37,6 @@ static bool silent = false, multi = false;
- static bool done = false, fshared = false;
- static unsigned int nthreads = 0;
- static int futex_flag = 0;
--struct timeval start, end, runtime;
- static pthread_mutex_t thread_lock;
- static unsigned int threads_starting;
- static struct stats throughput_stats;
-@@ -64,7 +63,7 @@ static void print_summary(void)
-
- printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
- !silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
-- (int) runtime.tv_sec);
-+ (int)bench__runtime.tv_sec);
- }
-
- static void toggle_done(int sig __maybe_unused,
-@@ -73,8 +72,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void *workerfn(void *arg)
-@@ -185,7 +184,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
-
- threads_starting = nthreads;
- pthread_attr_init(&thread_attr);
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
-
- create_threads(worker, thread_attr, cpu);
- pthread_attr_destroy(&thread_attr);
-@@ -211,7 +210,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
- pthread_mutex_destroy(&thread_lock);
-
- for (i = 0; i < nthreads; i++) {
-- unsigned long t = worker[i].ops/runtime.tv_sec;
-+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
-
- update_stats(&throughput_stats, t);
- if (!silent)
---
-2.17.1
-
diff --git a/recipes-kernel/linux/linux-qoriq/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch b/recipes-kernel/linux/linux-qoriq/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch
deleted file mode 100644
index f5366416..00000000
--- a/recipes-kernel/linux/linux-qoriq/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 168200b6d6ea0cb5765943ec5da5b8149701f36a Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Tue, 5 May 2020 21:36:42 +0800
-Subject: [PATCH] perf cs-etm: Move definition of 'traceid_list' global
- variable from header file
-
-The variable 'traceid_list' is defined in the header file cs-etm.h,
-if multiple C files include cs-etm.h the compiler might complaint for
-multiple definition of 'traceid_list'.
-
-To fix multiple definition error, move the definition of 'traceid_list'
-into cs-etm.c.
-
-Upstream-Status: Backport
-
-Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
-Reported-by: Thomas Backlund <tmb@mageia.org>
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Tested-by: Mike Leach <mike.leach@linaro.org>
-Tested-by: Thomas Backlund <tmb@mageia.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Tor Jeremiassen <tor@ti.com>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 3 +++
- tools/perf/util/cs-etm.h | 3 ---
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 3c802fde4954..c283223fb31f 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -94,6 +94,9 @@ struct cs_etm_queue {
- struct cs_etm_traceid_queue **traceid_queues;
- };
-
-+/* RB tree for quick conversion between traceID and metadata pointers */
-+static struct intlist *traceid_list;
-+
- static int cs_etm__update_queues(struct cs_etm_auxtrace *etm);
- static int cs_etm__process_queues(struct cs_etm_auxtrace *etm);
- static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm,
-diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
-index 650ecc2a6349..4ad925d6d799 100644
---- a/tools/perf/util/cs-etm.h
-+++ b/tools/perf/util/cs-etm.h
-@@ -114,9 +114,6 @@ enum cs_etm_isa {
- CS_ETM_ISA_T32,
- };
-
--/* RB tree for quick conversion between traceID and metadata pointers */
--struct intlist *traceid_list;
--
- struct cs_etm_queue;
-
- struct cs_etm_packet {
---
-2.17.1
-
diff --git a/recipes-kernel/linux/linux-qoriq/0001-perf-tests-bp_account-Make-global-variable-static.patch b/recipes-kernel/linux/linux-qoriq/0001-perf-tests-bp_account-Make-global-variable-static.patch
deleted file mode 100644
index b36ed2cc..00000000
--- a/recipes-kernel/linux/linux-qoriq/0001-perf-tests-bp_account-Make-global-variable-static.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From cff20b3151ccab690715cb6cf0f5da5cccb32adf Mon Sep 17 00:00:00 2001
-From: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date: Mon, 2 Mar 2020 11:13:19 -0300
-Subject: [PATCH] perf tests bp_account: Make global variable static
-
-To fix the build with newer gccs, that without this patch exit with:
-
- LD /tmp/build/perf/tests/perf-in.o
- ld: /tmp/build/perf/tests/bp_account.o:/git/perf/tools/perf/tests/bp_account.c:22: multiple definition of `the_var'; /tmp/build/perf/tests/bp_signal.o:/git/perf/tools/perf/tests/bp_signal.c:38: first defined here
- make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/tests/perf-in.o] Error 1
-
-First noticed in fedora:rawhide/32 with:
-
- [perfbuilder@a5ff49d6e6e4 ~]$ gcc --version
- gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8)
-
-Upstream-Status: Backport
-
-Reported-by: Jiri Olsa <jolsa@kernel.org>
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/tests/bp_account.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c
-index d0b935356274..489b50604cf2 100644
---- a/tools/perf/tests/bp_account.c
-+++ b/tools/perf/tests/bp_account.c
-@@ -19,7 +19,7 @@
- #include "../perf-sys.h"
- #include "cloexec.h"
-
--volatile long the_var;
-+static volatile long the_var;
-
- static noinline int test_function(void)
- {
---
-2.17.1
-
diff --git a/recipes-kernel/linux/linux-qoriq_5.10.bb b/recipes-kernel/linux/linux-qoriq_5.10.bb
index b5315c71..c62de58e 100644
--- a/recipes-kernel/linux/linux-qoriq_5.10.bb
+++ b/recipes-kernel/linux/linux-qoriq_5.10.bb
@@ -2,7 +2,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
LINUX_VERSION = "5.10.52"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/linux;protocol=https;nobranch=1"
SRCREV = "a11753a89ec610768301d4070e10b8bd60fde8cd"
require recipes-kernel/linux/linux-qoriq.inc
diff --git a/recipes-kernel/skmm-host/skmm-host_git.bb b/recipes-kernel/skmm-host/skmm-host_git.bb
index bbbfc588..9e75f5ef 100644
--- a/recipes-kernel/skmm-host/skmm-host_git.bb
+++ b/recipes-kernel/skmm-host/skmm-host_git.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=99803d8e9a595c0bdb45ca710f353813"
inherit module qoriq_build_64bit_kernel
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/skmm-host;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/skmm-host;protocol=https;nobranch=1"
SRCREV = "d5912ebdb8d3b29b1e2df52710e8821d1ce3eb80"
S = "${WORKDIR}/git"
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
index 07f6e098..7d20c678 100644
--- a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
@@ -3,7 +3,7 @@ From: Shengjiu Wang <b02247@freescale.com>
Date: Thu, 5 Jun 2014 17:37:47 +0800
Subject: [PATCH] add conf for multichannel support in imx
-Upstream Status: Inappropriate [platform specific]
+Upstream-Status: Inappropriate [platform specific]
Signed-off-by: Shengjiu Wang <b02247@freescale.com>
diff --git a/recipes-multimedia/alsa/alsa-lib/0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch b/recipes-multimedia/alsa/alsa-lib/0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch
deleted file mode 100644
index 896d9426..00000000
--- a/recipes-multimedia/alsa/alsa-lib/0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 09c1a959e7d007e00741606f69444c1f865a4beb Mon Sep 17 00:00:00 2001
-From: Shengjiu Wang <shengjiu.wang@freescale.com>
-Date: Tue, 10 May 2016 15:09:26 +0800
-Subject: [PATCH] pcm: Don't store the state for SND_PCM_STATE_SUSPENDED
-
-The resume function don't update the dmix->state, if store SUSPENDED
-state in snd_pcm_dmix_state, the write function after resume will
-return error -ESTRPIPE, because the snd_pcm_write_areas() will check
-the state of the pcm device.
-This patch remove the store SND_PCM_STATE_SUSPENDED state operation
-for dmix,dshare,dsnoop.
-
-Upstream-Status: Pending
-
-Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
-
----
- src/pcm/pcm_dmix.c | 2 +-
- src/pcm/pcm_dshare.c | 2 +-
- src/pcm/pcm_dsnoop.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c
-index 608593f..3d068c7 100644
---- a/src/pcm/pcm_dmix.c
-+++ b/src/pcm/pcm_dmix.c
-@@ -460,9 +460,9 @@ static snd_pcm_state_t snd_pcm_dmix_state(snd_pcm_t *pcm)
- snd_pcm_state_t state;
- state = snd_pcm_state(dmix->spcm);
- switch (state) {
-- case SND_PCM_STATE_SUSPENDED:
- case SND_PCM_STATE_DISCONNECTED:
- dmix->state = state;
-+ case SND_PCM_STATE_SUSPENDED:
- return state;
- case SND_PCM_STATE_XRUN:
- if ((err = snd_pcm_direct_slave_recover(dmix)) < 0)
-diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
-index a918512..18071fb 100644
---- a/src/pcm/pcm_dshare.c
-+++ b/src/pcm/pcm_dshare.c
-@@ -258,9 +258,9 @@ static snd_pcm_state_t snd_pcm_dshare_state(snd_pcm_t *pcm)
- snd_pcm_state_t state;
- state = snd_pcm_state(dshare->spcm);
- switch (state) {
-- case SND_PCM_STATE_SUSPENDED:
- case SND_PCM_STATE_DISCONNECTED:
- dshare->state = state;
-+ case SND_PCM_STATE_SUSPENDED:
- return state;
- case SND_PCM_STATE_XRUN:
- if ((err = snd_pcm_direct_slave_recover(dshare)) < 0)
-diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
-index 2c3b9f4..3b711ab 100644
---- a/src/pcm/pcm_dsnoop.c
-+++ b/src/pcm/pcm_dsnoop.c
-@@ -209,9 +209,9 @@ static snd_pcm_state_t snd_pcm_dsnoop_state(snd_pcm_t *pcm)
- snd_pcm_state_t state;
- state = snd_pcm_state(dsnoop->spcm);
- switch (state) {
-- case SND_PCM_STATE_SUSPENDED:
- case SND_PCM_STATE_DISCONNECTED:
- dsnoop->state = state;
-+ case SND_PCM_STATE_SUSPENDED:
- return state;
- case SND_PCM_STATE_XRUN:
- if ((err = snd_pcm_direct_slave_recover(dsnoop)) < 0)
diff --git a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
index bd1512e9..f801309e 100644
--- a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
@@ -3,7 +3,7 @@ From: Viorel Suman <viorel.suman@nxp.com>
Date: Mon, 9 Mar 2020 14:25:46 +0200
Subject: [PATCH] add conf for iMX XCVR sound card
-Upstream Status: Pending
+Upstream-Status: Pending
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
diff --git a/recipes-multimedia/alsa/alsa-lib_%.bbappend b/recipes-multimedia/alsa/alsa-lib_%.bbappend
index 8a13d4c1..0b4ddc9b 100644
--- a/recipes-multimedia/alsa/alsa-lib_%.bbappend
+++ b/recipes-multimedia/alsa/alsa-lib_%.bbappend
@@ -2,7 +2,6 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
IMX_PATCH = " \
file://0001-add-conf-for-multichannel-support-in-imx.patch \
- file://0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch \
file://0005-add-ak4458-conf-for-multichannel-support.patch \
file://0006-add-conf-for-iMX-XCVR-sound-card.patch \
"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
index eb375905..c4ccaab7 100644
--- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
+++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -1,5 +1,5 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
+# Copyright 2013-2016 Freescale Semiconductor
+# Copyright 2017-2023 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Freescale alsa-lib plugins"
@@ -13,14 +13,15 @@ RREPLACES:${PN} = "fsl-alsa-plugins"
RPROVIDES:${PN} = "fsl-alsa-plugins"
RCONFLICTS:${PN} = "fsl-alsa-plugins"
-LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
inherit autotools pkgconfig use-imx-headers
-SRCBRANCH = "MM_04.05.01_1909_L4.19.35"
PV = "1.0.26+${SRCPV}"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38"
+
+SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "b2ba082e70333f187972ee4e85f63f9d2f608331"
S = "${WORKDIR}/git"
@@ -28,6 +29,12 @@ INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
+PACKAGECONFIG ??= "${PACKAGECONFIG_SWPDM}"
+PACKAGECONFIG_SWPDM = ""
+PACKAGECONFIG_SWPDM:mx8-nxp-bsp = "swpdm"
+
+PACKAGECONFIG[swpdm] = "--enable-swpdm,--disable-swpdm,imx-sw-pdm"
+
INSANE_SKIP:${PN} = "dev-so"
FILES:${PN} += "${libdir}/alsa-lib/libasound_*.so"
diff --git a/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch b/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
new file mode 100644
index 00000000..c0e45813
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
@@ -0,0 +1,38 @@
+From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Sep 2018 17:38:10 -0700
+Subject: [PATCH] connect has a different signature on musl
+
+On linux when not using glibc and using musl for C library, connect
+API has a different signature, this patch fixes this so it can compile
+on musl, the functionality should remain same as it is immediately
+typcasted to struct sockaddr_in* type inside the function before use
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ validate/plugins/fault_injection/socket_interposer.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c
+index 53c1ebb..ad7adf8 100644
+--- a/validate/plugins/fault_injection/socket_interposer.c
++++ b/validate/plugins/fault_injection/socket_interposer.c
+@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin,
+ }
+
+ int
+-connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len)
++#if defined(__linux__) && !defined(__GLIBC__)
++connect (int socket, const struct sockaddr *addr, socklen_t address_len)
++#else
++connect (int socket, const struct sockaddr_in *addr, socklen_t address_len)
++#endif
+ {
+ size_t i;
+ int override_errno = 0;
++ struct sockaddr_in* addrin = (struct sockaddr_in*)addr;
+ typedef ssize_t (*real_connect_fn) (int, const struct sockaddr_in *,
+ socklen_t);
+ static real_connect_fn real_connect = 0;
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb
new file mode 100644
index 00000000..4006f3eb
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Gstreamer validation tool"
+DESCRIPTION = "A Tool to test GStreamer components"
+HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
+SECTION = "multimedia"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+S = "${WORKDIR}/gst-devtools-${@get_gst_ver('${PV}')}"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${@get_gst_ver('${PV}')}.tar.xz \
+ file://0001-connect-has-a-different-signature-on-musl.patch \
+ "
+
+SRC_URI[sha256sum] = "4d21fee5c15f2877c0b1f6c2da0cdba67ce7caab2c199ab27e91a1394d5ba195"
+
+DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
+RRECOMMENDS:${PN} = "git"
+
+FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
+
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
+
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
+# TODO: put this in a gettext.bbclass patch
+def gettext_oemeson(d):
+ if d.getVar('USE_NLS') == 'no':
+ return '-Dnls=disabled'
+ # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+ if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+ return '-Dnls=disabled'
+ return '-Dnls=enabled'
+
+# Build GstValidateVideo
+PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
+
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Ddebug_viewer=disabled \
+ -Dtests=disabled \
+ -Dvalidate=enabled \
+ ${@gettext_oemeson(d)} \
+"
+
+do_install:append () {
+ for fn in ${bindir}/gst-validate-launcher \
+ ${libdir}/gst-validate-launcher/python/launcher/config.py; do
+ sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
+ done
+}
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
new file mode 100644
index 00000000..0a06540f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
@@ -0,0 +1,49 @@
+From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
+From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
+Date: Mon, 13 Feb 2023 17:02:01 -0500
+Subject: [PATCH] avviddec: change
+ AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
+
+This fixes a compile error with recent upstream FFmpeg.
+
+The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
+AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
+7d09579190de (lavc 58.132.100).
+
+The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
+commit 10c9a0874cb3 (lavc 59.63.100).
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ ext/libav/gstavviddec.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
+index 43cea456ae8..6d7c4cd0de8 100644
+--- a/ext/libav/gstavviddec.c
++++ b/ext/libav/gstavviddec.c
+@@ -35,6 +35,10 @@
+
+ GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
+
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
++#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
++#endif
++
+ #define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
+
+ #define MAX_TS_MASK 0xff
+@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
+ if (ffmpegdec->max_threads == 0) {
+ /* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
+ * to one frame per thread. We thus need to calculate the thread count ourselves */
+- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
++ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
+ (ffmpegdec->context->thread_type & FF_THREAD_FRAME))
+ ffmpegdec->context->thread_count =
+ MIN (gst_ffmpeg_auto_max_threads (), 16);
+--
+GitLab
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb
index 62005cc8..742004d8 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb
@@ -6,20 +6,30 @@ SECTION = "multimedia"
# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
LICENSE_FLAGS = "commercial"
-LICENSE = "LGPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
"
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548"
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz \
+ file://ffmpeg-6.0.patch \
+ "
+SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1"
-S = "${WORKDIR}/gst-libav-${PV}"
+S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
inherit meson pkgconfig upstream-version-is-even
+EXTRA_OEMESON += " \
+ -Dtests=disabled \
+"
+
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
new file mode 100644
index 00000000..18847603
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
@@ -0,0 +1 @@
+EXTRA_OEMESON:append:imx-nxp-bsp = " -Dtests=disabled -Dexamples=disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb
new file mode 100644
index 00000000..dc4bccd7
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb
@@ -0,0 +1,52 @@
+SUMMARY = "OpenMAX IL plugins for GStreamer"
+DESCRIPTION = "Wraps available OpenMAX IL components and makes them available as standard GStreamer elements."
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
+SECTION = "multimedia"
+
+LICENSE = "LGPL-2.1-or-later"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz"
+
+SRC_URI[sha256sum] = "dbc951a99af532380e599aa8acd9e1385fdb299b46b5868cd2be4230ad888341"
+
+S = "${WORKDIR}/gst-omx-${@get_gst_ver('${PV}')}"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/libomxil"
+
+inherit meson pkgconfig upstream-version-is-even
+
+GSTREAMER_1_0_OMX_TARGET ?= "bellagio"
+GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0"
+
+EXTRA_OEMESON += "-Dtarget=${GSTREAMER_1_0_OMX_TARGET}"
+
+python __anonymous () {
+ omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET")
+ if omx_target in ['generic', 'bellagio']:
+ # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,#
+ # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros);
+ # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this
+ d.appendVar("CFLAGS", " -I${S}/omx/openmax")
+ elif omx_target == "rpi":
+ # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific
+ d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH"))
+}
+
+set_omx_core_name() {
+ sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf"
+}
+
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
+do_install[postfuncs] += " set_omx_core_name "
+
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+
+VIRTUAL-RUNTIME_libomxil ?= "libomxil"
+RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_libomxil}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
deleted file mode 100644
index 13a673cd..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 26 Jan 2016 15:16:01 -0800
-Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- gst-libs/gst/codecparsers/gstvc1parser.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
-index 2c60ced..e8226d8 100644
---- a/gst-libs/gst/codecparsers/gstvc1parser.c
-+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
-@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
- GstVC1SeqLayer * seqlayer)
- {
- guint32 tmp;
-- guint8 tmp8;
-+ guint8 tmp8 = 0;
- guint8 structA[8] = { 0, };
- guint8 structB[12] = { 0, };
- GstBitReader br;
---
-2.28.0
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
deleted file mode 100644
index ead6897f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 3 Feb 2016 18:05:41 -0800
-Subject: [PATCH 2/4] avoid including <sys/poll.h> directly
-
-musl libc generates warnings if <sys/poll.h> is included directly.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- sys/dvb/gstdvbsrc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
-index ca6b92a..b2772db 100644
---- a/sys/dvb/gstdvbsrc.c
-+++ b/sys/dvb/gstdvbsrc.c
-@@ -97,7 +97,7 @@
- #include <gst/gst.h>
- #include <gst/glib-compat-private.h>
- #include <sys/ioctl.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <stdio.h>
---
-2.28.0
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
deleted file mode 100644
index 88fbc40d..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 9 Feb 2016 14:00:00 -0800
-Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc
-
-For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
-ie __attribute__((__sentinel__)), gcc will generate a warning if the
-last parameter passed to the function is not NULL (where a valid NULL
-in this context is defined as zero with any pointer type).
-
-The C callers to such functions within gst-plugins-bad use the C NULL
-definition (ie ((void*)0)), which is a valid sentinel.
-
-However the C++ NULL definition (ie 0L), is not a valid sentinel
-without an explicit cast to a pointer type.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- sys/decklink/gstdecklink.cpp | 10 +++++-----
- sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
- sys/decklink/gstdecklinkvideosink.cpp | 2 +-
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
-index 4dac7e1..43762ce 100644
---- a/sys/decklink/gstdecklink.cpp
-+++ b/sys/decklink/gstdecklink.cpp
-@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e)
- "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
- "interlace-mode", G_TYPE_STRING,
- mode->interlaced ? "interleaved" : "progressive",
-- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
-+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
-
- return s;
- }
-@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
- case bmdFormat8BitYUV: /* '2vuy' */
- gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
- "colorimetry", G_TYPE_STRING, mode->colorimetry,
-- "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
-+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL);
- break;
- case bmdFormat10BitYUV: /* 'v210' */
-- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
-+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL);
- break;
- case bmdFormat8BitARGB: /* 'ARGB' */
-- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
-+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL);
- break;
- case bmdFormat8BitBGRA: /* 'BGRA' */
-- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
-+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL);
- break;
- case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
- case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
-diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
-index 2fef934..c47229a 100644
---- a/sys/decklink/gstdecklinkaudiosrc.cpp
-+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
-@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self)
- g_mutex_unlock (&self->input->lock);
-
- if (videosrc) {
-- g_object_get (videosrc, "connection", &vconn, NULL);
-+ g_object_get (videosrc, "connection", &vconn, (void *) NULL);
- gst_object_unref (videosrc);
-
- switch (vconn) {
-diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
-index e3a6775..f1a5aae 100644
---- a/sys/decklink/gstdecklinkvideosink.cpp
-+++ b/sys/decklink/gstdecklinkvideosink.cpp
-@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
- gpointer user_data)
- {
- gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
-- G_MAXINT, 1, NULL);
-+ G_MAXINT, 1, (void *) NULL);
-
- return TRUE;
- }
---
-2.28.0
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
index b8167090..029b80e1 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -1,7 +1,7 @@
-From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001
+From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001
From: Andrey Zhizhikin <andrey.z@gmail.com>
Date: Mon, 27 Jan 2020 10:22:35 +0000
-Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build
+Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build
When Yocto build is performed, opencv searches for data dir using simple
'test' command, this fails because pkg-config provides an absolute
@@ -11,39 +11,23 @@ in order for the 'test' utility to pick up the absolute path.
Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
---
- ext/opencv/meson.build | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
+ ext/opencv/meson.build | 3 +++
+ 1 file changed, 3 insertions(+)
diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
-index 0b0b3fc..0ed3344 100644
+index 1d86b90..b5c8b95 100644
--- a/ext/opencv/meson.build
+++ b/ext/opencv/meson.build
-@@ -78,20 +78,21 @@ else
- endif
-
- if opencv_found
-+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
- opencv_prefix = opencv_dep.get_pkgconfig_variable('prefix')
+@@ -87,6 +87,9 @@ if opencv_found
+ opencv_prefix = opencv_dep.get_variable('prefix')
gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
++ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
++ opencv_prefix = pkgconf_sysroot + opencv_prefix
++
# Check the data dir used by opencv for its xml data files
# Use prefix from pkg-config to be compatible with cross-compilation
-- r = run_command('test', '-d', opencv_prefix + '/share/opencv')
-+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv')
- if r.returncode() == 0
- gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"'
- else
-- r = run_command('test', '-d', opencv_prefix + '/share/OpenCV')
-+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/OpenCV')
- if r.returncode() == 0
- gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"'
- else
-- r = run_command('test', '-d', opencv_prefix + '/share/opencv4')
-+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv4')
- if r.returncode() == 0
- gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"'
- else
---
-2.28.0
-
+ r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
deleted file mode 100644
index cb3bb7d3..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001
-From: Naveen Saini <naveen.kumar.saini@intel.com>
-Date: Wed, 30 Dec 2020 16:37:47 +0800
-Subject: [PATCH] msdk: fix includedir path
-
-In cross compilation, need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- sys/msdk/meson.build | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build
-index 6346c9451..068f38548 100644
---- a/sys/msdk/meson.build
-+++ b/sys/msdk/meson.build
-@@ -40,7 +40,9 @@ endif
-
- mfx_dep = dependency('libmfx', required: false)
- if mfx_dep.found()
-+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
- mfx_incdir = mfx_dep.get_pkgconfig_variable('includedir')
-+ mfx_incdir = pkgconf_sysroot + mfx_incdir
- mfx_inc = []
- else
- # Old versions of MediaSDK don't provide a pkg-config file
---
-2.17.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb
index 44b95451..c9b2e621 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb
@@ -3,26 +3,25 @@
# recipe. The second section customizes the recipe for i.MX.
########### OE-core copy ##################
-# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15
+# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-license.inc
-DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
+SUMMARY = "'Bad' GStreamer plugins and helper libraries "
HOMEPAGE = "https://gstreamer.freedesktop.org/"
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
file://0002-avoid-including-sys-poll.h-directly.patch \
- file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
- file://0005-msdk-fix-includedir-path.patch \
"
-SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f"
+SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
-LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later"
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS += "gstreamer1.0-plugins-base"
@@ -32,15 +31,17 @@ inherit gobject-introspection
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
- bz2 closedcaption curl dash dtls hls openssl rsvg sbc smoothstreaming \
+ bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \
sndfile ttml uvch264 webp \
+ ${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
"
PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
+PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp"
PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
@@ -63,11 +64,10 @@ PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
-PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
-PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
+PACKAGECONFIG[msdk] = "-Dmsdk=enabled -Dmfx_api=oneVPL,-Dmsdk=disabled,onevpl-intel-gpu"
PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
@@ -89,6 +89,8 @@ PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
+# this enables support for stateless V4L2 mem2mem codecs, which is a newer form of
+# V4L2 codec; the V4L2 code in -base supports the older stateful V4L2 mem2mem codecs
PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
@@ -99,10 +101,15 @@ PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
+GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}"
+
EXTRA_OEMESON += " \
-Ddoc=disabled \
+ -Daes=enabled \
+ -Dcodecalpha=enabled \
-Ddecklink=enabled \
-Ddvb=enabled \
-Dfbdev=enabled \
@@ -111,7 +118,7 @@ EXTRA_OEMESON += " \
-Dtranscode=enabled \
-Dandroidmedia=disabled \
-Dapplemedia=disabled \
- -Davtp=disabled \
+ -Dasio=disabled \
-Dbs2b=disabled \
-Dchromaprint=disabled \
-Dd3dvideosink=disabled \
@@ -121,10 +128,12 @@ EXTRA_OEMESON += " \
-Dfdkaac=disabled \
-Dflite=disabled \
-Dgme=disabled \
+ -Dgs=disabled \
-Dgsm=disabled \
-Diqa=disabled \
-Dkate=disabled \
-Dladspa=disabled \
+ -Dldac=disabled \
-Dlv2=disabled \
-Dmagicleap=disabled \
-Dmediafoundation=disabled \
@@ -133,10 +142,12 @@ EXTRA_OEMESON += " \
-Dmplex=disabled \
-Dmusepack=disabled \
-Dnvcodec=disabled \
- -Dofa=disabled \
-Dopenexr=disabled \
-Dopenni2=disabled \
+ -Dopenaptx=disabled \
-Dopensles=disabled \
+ -Donnx=disabled \
+ -Dqroverlay=disabled \
-Dsoundtouch=disabled \
-Dspandsp=disabled \
-Dsvthevcenc=disabled \
@@ -160,42 +171,48 @@ FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
+
########### End of OE-core copy ###########
########### i.MX overrides ################
DEFAULT_PREFERENCE = "-1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
DEPENDS:append:imxgpu2d = " virtual/libg2d"
-SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz"
-GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
-SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
+SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
+ file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
+ file://0002-avoid-including-sys-poll.h-directly.patch"
SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
-SRCREV = "1dd01156ea45fc7a61e9edc4186353cd63a03800"
+GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "e4edcda6b110f42eca1f2cc20bc935edf7e66d6d"
S = "${WORKDIR}/git"
inherit use-imx-headers
PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
PACKAGECONFIG_REMOVE ?= " \
dtls vulkan \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
"
PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
-PACKAGECONFIG:append:mx8 = " kms tinycompress"
+PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
-# Disable introspection to fix [GstPlayer-1.0.gir] Error
EXTRA_OEMESON += " \
- -Dintrospection=disabled \
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
"
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
+# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE
+#
+TOOLCHAIN = "gcc"
########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch
new file mode 100644
index 00000000..3ab4bab4
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch
@@ -0,0 +1,47 @@
+From 90b94ff95c72487054fd283fb7cb5ebd13822b3f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Aug 2023 18:56:05 -0700
+Subject: [PATCH] gstallocator: Fix typcasts
+
+These are found when building with clang+musl
+| ../git/gst-libs/gst/allocators/gstallocatorphymem.c:228:10: error: incompatible pointer to integer conversion returning 'gpointer' (aka 'void *') from a function with result type 'guintptr
+' (aka 'unsigned long') [-Wint-conversion]
+| 228 | return gst_phymem_get_phy (mem);
+| | ^~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-base/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gst-libs/gst/allocators/gstallocatorphymem.c | 2 +-
+ gst-libs/gst/gl/gstglphymemory.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gst-libs/gst/allocators/gstallocatorphymem.c b/gst-libs/gst/allocators/gstallocatorphymem.c
+index f3c3306c7..f8a4511ab 100755
+--- a/gst-libs/gst/allocators/gstallocatorphymem.c
++++ b/gst-libs/gst/allocators/gstallocatorphymem.c
+@@ -225,7 +225,7 @@ static guintptr
+ gst_allocator_phymem_get_phys_addr (GstPhysMemoryAllocator * allocator,
+ GstMemory * mem)
+ {
+- return gst_phymem_get_phy (mem);
++ return (guintptr)gst_phymem_get_phy (mem);
+ }
+
+ static void
+diff --git a/gst-libs/gst/gl/gstglphymemory.c b/gst-libs/gst/gl/gstglphymemory.c
+index d82c9a66a..1d8be0a5d 100644
+--- a/gst-libs/gst/gl/gstglphymemory.c
++++ b/gst-libs/gst/gl/gstglphymemory.c
+@@ -337,7 +337,7 @@ gst_gl_physical_memory_setup_buffer (GstAllocator * allocator,
+ GST_VIDEO_INFO_HEIGHT (info),
+ viv_fmt,
+ memblk->vaddr,
+- memblk->paddr,
++ (guint)memblk->paddr,
+ FALSE
+ };
+
+--
+2.41.0
+
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
deleted file mode 100644
index b8fc8827..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 70a702af3a3a4afcadbc53d61c4c45f31f96b2cc Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Tue, 21 May 2019 14:01:11 +0200
-Subject: [PATCH] viv-fb: Make sure config.h is included
-
-This prevents build errors due to missing GST_API_* symbols
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
-
----
- gst-libs/gst/gl/gl-prelude.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h
-index 05e1f6229..96ce5e685 100644
---- a/gst-libs/gst/gl/gl-prelude.h
-+++ b/gst-libs/gst/gl/gl-prelude.h
-@@ -22,6 +22,10 @@
- #ifndef __GST_GL_PRELUDE_H__
- #define __GST_GL_PRELUDE_H__
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <gst/gst.h>
-
- #ifdef BUILDING_GST_GL
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend
new file mode 100644
index 00000000..ca6636b8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend
@@ -0,0 +1,17 @@
+PACKAGECONFIG_GL:imxgpu2d = \
+ "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
+PACKAGECONFIG_GL:imxgpu3d = \
+ "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+PACKAGECONFIG_GL:use-mainline-bsp = \
+ "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
+
+# The i.MX8 uses KMS instead of the Vivante specific framebuffer API.
+# The i.MX7 does not have a GPU, except for ULP.
+# This leaves the i.MX6 - with the vendor BSP - as the remaining use case for viv-fb.
+#
+# (Note that viv-fb is about the _windowing system_. Vivante direct texture support
+# does not depend on the viv-fb feature. It used to, but that was actually a bug
+# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
+# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
+PACKAGECONFIG_GL:append:mx6-nxp-bsp = " viv-fb "
+PACKAGECONFIG_GL:append:mx7ulp-nxp-bsp = " viv-fb "
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb
index 03bfa129..29347f21 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb
@@ -3,24 +3,22 @@
# recipe. The second section customizes the recipe for i.MX.
########### OE-core copy ##################
-# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15
+# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-common.inc
-DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
+SUMMARY = "'Base' GStreamer plugins and helper libraries"
HOMEPAGE = "https://gstreamer.freedesktop.org/"
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
-LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
- file://0004-glimagesink-Downrank-to-marginal.patch \
- file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
"
-SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323"
+SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a"
S = "${WORKDIR}/gst-plugins-base-${PV}"
@@ -28,11 +26,10 @@ DEPENDS += "iso-codes util-linux zlib"
inherit gobject-introspection
-PACKAGES_DYNAMIC =+ "^libgst.*"
-
# opengl packageconfig factored out to make it easy for distros
# and BSP layers to choose OpenGL APIs/platforms/window systems
-PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+PACKAGECONFIG_X11 = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl glx', '', d)}"
+PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl ${PACKAGECONFIG_X11}', '', d)}"
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
@@ -43,7 +40,7 @@ PACKAGECONFIG ??= " \
"
OPENGL_APIS = 'opengl gles2'
-OPENGL_PLATFORMS = 'egl'
+OPENGL_PLATFORMS = 'egl glx'
X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
@@ -51,11 +48,15 @@ X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
+PACKAGECONFIG[graphene] = "-Dgl-graphene=enabled,-Dgl-graphene=disabled,graphene"
PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
+# This enables Qt5 QML examples in -base. The Qt5 GStreamer
+# qmlglsink and qmlglsrc plugins still exist in -good.
+PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
@@ -68,6 +69,7 @@ PACKAGECONFIG[gles2] = ",,virtual/libgles2"
# OpenGL platform packageconfigs
PACKAGECONFIG[egl] = ",,virtual/egl"
+PACKAGECONFIG[glx] = ",,virtual/libgl"
# OpenGL window systems (except for X11)
PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
@@ -79,7 +81,6 @@ OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx e
EXTRA_OEMESON += " \
-Ddoc=disabled \
- -Dgl-graphene=disabled \
${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
@@ -107,29 +108,23 @@ CVE_PRODUCT += "gst-plugins-base"
DEFAULT_PREFERENCE = "-1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
+
SRC_URI:remove = " \
https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
- file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
- file://0004-glimagesink-Downrank-to-marginal.patch \
- file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
-"
-GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
-SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
+ file://0003-viv-fb-Make-sure-config.h-is-included.patch \
+ file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
-SRCREV = "d8f5d6e1d477a299ccb7f4ba7aacd36ff5e39f8b"
+SRC_URI:append = " file://0001-gstallocator-Fix-typcasts.patch"
+GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "53a12f4e39773ca5b052eccbf0476d4ebd3ac08e"
S = "${WORKDIR}/git"
inherit use-imx-headers
-PACKAGECONFIG_GL:imxgpu2d = \
- "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl viv-fb', '', d)}"
-PACKAGECONFIG_GL:imxgpu3d = \
- "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl viv-fb', '', d)}"
-PACKAGECONFIG_GL:use-mainline-bsp = \
- "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
-
PACKAGECONFIG_REMOVE ?= "jpeg"
PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
PACKAGECONFIG:append:imxgpu2d = " g2d"
@@ -139,6 +134,10 @@ PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
+# links with imx-gpu libs which are pre-built for glibc
+# gcompat will address it during runtime
+LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
+
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
new file mode 100644
index 00000000..54dd9287
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
@@ -0,0 +1,47 @@
+# This .inc file contains the common setup for the gstreamer1.0-plugins-*
+# plugin set recipes.
+
+# SUMMARY is set in the actual .bb recipes
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
+SECTION = "multimedia"
+
+DEPENDS = "gstreamer1.0 glib-2.0-native"
+
+inherit gettext meson pkgconfig upstream-version-is-even
+
+require gstreamer1.0-plugins-packaging.inc
+
+# Orc enables runtime JIT compilation of data processing routines from Orc
+# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
+# MIPS, Altivec and NEON are supported).
+# This value is used in the PACKAGECONFIG values for each plugin set recipe.
+# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
+GSTREAMER_ORC ?= "orc"
+# workaround to disable orc on mips to fix the build failure
+# {standard input}: Assembler messages:
+# {standard input}:46587: Error: branch out of range
+GSTREAMER_ORC:mips = ""
+PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
+
+# TODO: put this in a gettext.bbclass patch (with variables to allow for
+# configuring the option name and the enabled/disabled values).
+def gettext_oemeson(d):
+ if d.getVar('USE_NLS') == 'no':
+ return '-Dnls=disabled'
+ # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+ if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+ return '-Dnls=disabled'
+ return '-Dnls=enabled'
+
+# Not all plugin sets contain examples, so the -Dexamples
+# option needs to be added conditionally.
+GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
+
+EXTRA_OEMESON += " \
+ ${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
+ ${@gettext_oemeson(d)} \
+"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
deleted file mode 100644
index 788d7520..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 31 Mar 2020 21:23:28 -0700
-Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h
-
-gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to
-prefer qt headers definitions for GLsync
-
-This helps in fixing build errors like below
-
-/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: error: conflicting declaration 'typedef struct __GLsync* GLsync'
- 24 | typedef struct __GLsync *GLsync;
- | ^~~~~~
-In file included from /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84,
- from ../gst-plugins-good-1.16.2/ext/qt/gstqsgtexture.cc:30:
-/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: note: previous declaration as 'typedef void* GLsync
-'
- 40 | typedef gpointer GLsync;
- | ^~~~~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ext/qt/gstqsgtexture.cc | 2 +-
- ext/qt/qtwindow.cc | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc
-index a05d26e..4cc9fc6 100644
---- a/ext/qt/gstqsgtexture.cc
-+++ b/ext/qt/gstqsgtexture.cc
-@@ -27,7 +27,7 @@
-
- #include <gst/video/video.h>
- #include <gst/gl/gl.h>
--#include <gst/gl/gstglfuncs.h>
-+#include <ext/qt/gstqtgl.h>
- #include "gstqsgtexture.h"
-
- #define GST_CAT_DEFAULT gst_qsg_texture_debug
-diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
-index 9360c33..0dfd3f1 100644
---- a/ext/qt/qtwindow.cc
-+++ b/ext/qt/qtwindow.cc
-@@ -25,7 +25,7 @@
- #include <stdio.h>
-
- #include <gst/video/video.h>
--#include <gst/gl/gstglfuncs.h>
-+#include <ext/qt/gstqtgl.h>
- #include "qtwindow.h"
- #include "gstqsgtexture.h"
- #include "gstqtglutility.h"
---
-2.28.0
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb
index de61be01..1a6197d5 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb
@@ -3,37 +3,39 @@
# recipe. The second section customizes the recipe for i.MX.
########### OE-core copy ##################
-# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15
+# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-common.inc
-DESCRIPTION = "'Good' GStreamer plugins"
+SUMMARY = "'Good' GStreamer plugins"
HOMEPAGE = "https://gstreamer.freedesktop.org/"
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
- file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
- file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \
- "
+ file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
-SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0"
+SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778"
S = "${WORKDIR}/gst-plugins-good-${PV}"
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
+RDEPENDS:${PN}-soup += "${MLPREFIX}${@bb.utils.contains('PACKAGECONFIG', 'soup2', 'libsoup-2.4', 'libsoup', d)}"
+
+PACKAGECONFIG_SOUP ?= "soup3"
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
+ ${PACKAGECONFIG_SOUP} \
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
- bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
+ bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 \
"
X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
@@ -58,7 +60,8 @@ PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
-PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
+PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3"
+PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2"
PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
@@ -90,19 +93,24 @@ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
DEFAULT_PREFERENCE = "-1"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
+"
+
# fb implementation of v4l2 uses libdrm
-DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
+DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
-SRC_URI:remove = " \
- https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
- file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
- file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \
+SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
+ file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
+ file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch \
"
-GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
-SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
+
SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
-SRCREV = "2438ae179ed4245fbeaa2ce36b1918ed7232d442"
+GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "a4631334ad32abc513bde8f73491ef345f865a48"
S = "${WORKDIR}/git"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
index 8c05f830..5bf60e62 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
@@ -15,7 +15,7 @@ RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparser
PV .= "+git${SRCPV}"
SRCBRANCH ?= "master"
-SRCREV = "11e3a555a280f97d55d5243e8259a255b3ed14d0"
+SRCREV = "cb3cd45676e808b222ac573e8a118f44fd70c288"
SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
S = "${WORKDIR}/git"
@@ -31,18 +31,24 @@ LIBG2D_DEPENDENCIES = "virtual/libg2d"
LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true"
LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm"
-EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX}"
+# v4l2-amphion and v4l2-isi are meant for the Amphion Malone
+# VPU decoder and the ISI drivers in older kernels, which had
+# lots of bugs that required nontrivial workarounds. In the
+# kernels in this release, newer drivers are present, which
+# obviate the need for these special elements.
+EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX} -Dv4l2-amphion=disabled -Dv4l2-isi=false"
PACKAGECONFIG ?= "uniaudiodec"
PACKAGECONFIG:append:imxgpu2d = " g2d"
PACKAGECONFIG:append:imxvpu = " vpu"
PACKAGECONFIG:append:imxipu = " ipu"
PACKAGECONFIG:append:imxpxp = " pxp"
-# The custom imxv4l2 elements are only available on the i.MX6.
+# The custom imxv4l2 source and sink elements are only
+# available on the i.MX6.
# The 2D blitter sinks require an MXC framebuffer, which
# is not available anymore on the i.MX8 (since these SoCs
# now use KMS instead of the old Linux framebuffer).
-PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2"
+PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2-mxc-source-sink"
PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink"
PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
@@ -50,11 +56,11 @@ PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled,"
PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled,"
PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2"
PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false,"
-PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false,"
+PACKAGECONFIG[v4l2-mxc-source-sink] = "-Dv4l2-mxc-source-sink=true,-Dv4l2-mxc-source-sink=false,"
PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+require gstreamer1.0-plugins-packaging.inc
# the following line is required to produce one package for each plugin
PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
new file mode 100644
index 00000000..8b1c0011
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
@@ -0,0 +1,19 @@
+# This .inc file contains functionality for automatically setting
+# the the license of all plugins according to the GSTREAMER_GPL.
+
+PACKAGESPLITFUNCS += "set_gstreamer_license"
+
+python set_gstreamer_license () {
+ import oe.utils
+ pn = d.getVar('PN') + '-'
+ gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg in gpl_plugins_names:
+ d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
+ else:
+ d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
+}
+
+EXTRA_OEMESON += " \
+ ${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
+ "
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
new file mode 100644
index 00000000..d77aeed8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -0,0 +1,73 @@
+# This .inc file contains functionality for automatically splitting
+# built plugins into individual packages for each plugin. A -meta
+# package is also set up that has no files of its own, but contains
+# the names of all plugin packages in its RDEPENDS list.
+#
+# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
+# but can be used in any recipe that produces GStreamer plugins.
+
+# Dynamically generate packages for all enabled plugins
+PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
+
+PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
+PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
+
+python split_gstreamer10_packages () {
+ gst_libdir = d.expand('${libdir}/gstreamer-1.0')
+ postinst = d.getVar('plugin_postinst')
+ glibdir = d.getVar('libdir')
+
+ # GStreamer libraries
+ do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
+ # GStreamer plugin shared objects
+ do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
+ # GObject introspection files for GStreamer plugins
+ do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0 typelib file for %s', postinst=postinst, extra_depends='')
+ # Static GStreamer libraries for development
+ do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static development files)', extra_depends='${PN}-staticdev')
+}
+
+python set_gstreamer10_metapkg_rdepends () {
+ import os
+ import oe.utils
+
+ # Go through all generated packages (excluding the main package and
+ # the -meta package itself) and add them to the -meta package as RDEPENDS.
+
+ pn = d.getVar('PN')
+ metapkg = pn + '-meta'
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
+ d.setVar('FILES:' + metapkg, "")
+ exclude = [ pn, pn + '-meta' ]
+ metapkg_rdepends = []
+ pkgdest = d.getVar('PKGDEST')
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg not in exclude and pkg not in metapkg_rdepends:
+ # See if the package is empty by looking at the contents of its PKGDEST subdirectory.
+ # If this subdirectory is empty, then the package is.
+ # Empty packages do not get added to the meta package's RDEPENDS
+ pkgdir = os.path.join(pkgdest, pkg)
+ if os.path.exists(pkgdir):
+ dir_contents = os.listdir(pkgdir) or []
+ else:
+ dir_contents = []
+ is_empty = len(dir_contents) == 0
+ if not is_empty:
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
+}
+
+# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
+# so we need them even when empty (like in gst-plugins-good case)
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-dev = "1"
+ALLOW_EMPTY:${PN}-staticdev = "1"
+
+PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
+
+FILES:${PN} = ""
+FILES:${PN}-apps = "${bindir}"
+FILES:${PN}-glib = "${datadir}/glib-2.0"
+
+RRECOMMENDS:${PN} += "${PN}-meta"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb
index 98e94786..17522a93 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb
@@ -1,21 +1,22 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-license.inc
-DESCRIPTION = "'Ugly GStreamer plugins"
+SUMMARY = "'Ugly GStreamer plugins"
HOMEPAGE = "https://gstreamer.freedesktop.org/"
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
+ "
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & LGPL-2.0-or-later"
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
LICENSE_FLAGS = "commercial"
SRC_URI = " \
- https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
+ https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
"
-SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9"
+SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c"
-S = "${WORKDIR}/gst-plugins-ugly-${PV}"
+S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
DEPENDS += "gstreamer1.0-plugins-base"
@@ -26,19 +27,25 @@ PACKAGECONFIG ??= " \
a52dec mpeg2dec \
"
-PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
PACKAGECONFIG[amrwb] = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
+PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
+GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'a52dec cdio dvdread mpeg2dec x264', d)}"
+
EXTRA_OEMESON += " \
-Ddoc=disabled \
-Dsidplay=disabled \
"
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb
new file mode 100644
index 00000000..6f38929a
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Python bindings for GStreamer 1.0"
+DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
+provided by python-gi) "
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
+SECTION = "multimedia"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver('${PV}')}.tar.xz"
+SRC_URI[sha256sum] = "6c63ad364ca4617eb2cbb3975ab26c66760eb3c7a6adf5be69f99c11e21ef3a5"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+
+PNREAL = "gst-python"
+
+S = "${WORKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}"
+
+EXTRA_OEMESON += "\
+ -Dtests=disabled \
+ -Dplugin=enabled \
+ -Dlibpython-dir=${libdir} \
+"
+
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
+inherit meson pkgconfig setuptools3-base upstream-version-is-even
+
+FILES:${PN} += "${libdir}/gstreamer-1.0"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb
index d4c4e576..d569ea9f 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb
@@ -1,18 +1,18 @@
SUMMARY = "A library on top of GStreamer for building an RTSP server"
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
SECTION = "multimedia"
-LICENSE = "LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
PNREAL = "gst-rtsp-server"
-SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
-SRC_URI[sha256sum] = "04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f"
+SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed"
-S = "${WORKDIR}/${PNREAL}-${PV}"
+S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
inherit meson pkgconfig upstream-version-is-even gobject-introspection
@@ -25,8 +25,12 @@ EXTRA_OEMESON += " \
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+require gstreamer1.0-plugins-packaging.inc
CVE_PRODUCT += "gst-rtsp-server"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend
new file mode 100644
index 00000000..3b23818d
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_GL:imxgpu = "egl"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb
new file mode 100644
index 00000000..02dc86e4
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb
@@ -0,0 +1,64 @@
+SUMMARY = "VA-API support to GStreamer"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
+based plugins for GStreamer and helper libraries: `vaapidecode', \
+`vaapiconvert', and `vaapisink'."
+
+REALPN = "gstreamer-vaapi"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz"
+
+SRC_URI[sha256sum] = "593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5"
+
+S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
+DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
+
+inherit meson pkgconfig features_check upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES ?= "opengl"
+
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Dexamples=disabled \
+ -Dtests=enabled \
+"
+
+# Drop .imx from PV
+def get_gst_ver(v):
+ return oe.utils.trim_version(v, 3)
+
+PACKAGES =+ "${PN}-tests"
+
+# OpenGL packageconfig factored out to make it easy for distros
+# and BSP layers to pick either glx, egl, or no GL. By default,
+# try detecting X11 first, and if found (with OpenGL), use GLX,
+# otherwise try to check if EGL can be used.
+PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \
+ bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \
+ '', d), d)}"
+
+PACKAGECONFIG ??= "drm encoders \
+ ${PACKAGECONFIG_GL} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
+PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
+PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
+PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
+PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
+
+FILES:${PN} += "${libdir}/gstreamer-*/*.so"
+FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
+FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
+FILES:${PN}-tests = "${bindir}/*"
+
+# correct .pc install location - fixed in upstream trunk
+do_install:append() {
+ mkdir -p ${D}/${libdir}/pkgconfig
+ mv ${D}/${libdir}/gstreamer-1.0/pkgconfig/*.pc ${D}/${libdir}/pkgconfig
+ rmdir ${D}/${libdir}/gstreamer-1.0/pkgconfig/
+}
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
deleted file mode 100644
index 23ebd5c6..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001
-From: Jose Quaresma <quaresma.jose@gmail.com>
-Date: Sat, 10 Oct 2020 19:09:03 +0000
-Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through
- to system plugin scanner
-
-If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
-
-Falling through to the one installed on the system is problamatic in cross-compilation
-environemnts, regardless of whether one pointed to by the env var succeeded or failed.
-
-taken from:
-http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
----
- gst/gstpluginloader.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
-index d1e404d98..c626bf263 100644
---- a/gst/gstpluginloader.c
-+++ b/gst/gstpluginloader.c
-@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
- if (loader->child_running)
- return TRUE;
-
-- /* Find the gst-plugin-scanner: first try the env-var if it is set,
-- * otherwise use the installed version */
-+ /* Find the gst-plugin-scanner */
- env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
- if (env == NULL)
- env = g_getenv ("GST_PLUGIN_SCANNER");
-
- if (env != NULL && *env != '\0') {
-+ /* use the env-var if it is set */
- GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
- helper_bin = g_strdup (env);
- res = gst_plugin_loader_try_helper (loader, helper_bin);
- g_free (helper_bin);
-- }
--
-- if (!res) {
-+ } else {
-+ /* use the installed version */
- GST_LOG ("Trying installed plugin scanner");
-
- #ifdef G_OS_WIN32
-@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
- #endif
- res = gst_plugin_loader_try_helper (loader, helper_bin);
- g_free (helper_bin);
-+ }
-
-- if (!res) {
-- GST_INFO ("No gst-plugin-scanner available, or not working");
-- }
-+ if (!res) {
-+ GST_INFO ("No gst-plugin-scanner available, or not working");
- }
-
- return loader->child_running;
---
-2.29.2
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
index 6f571a12..1b9278db 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
@@ -1,20 +1,21 @@
-From 122e5ac3dd16a461b6ae595605490c8f5d1c3a9d Mon Sep 17 00:00:00 2001
+From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001
From: Jose Quaresma <quaresma.jose@gmail.com>
Date: Sun, 11 Apr 2021 19:48:13 +0100
-Subject: [PATCH 1/4] tests: respect the idententaion used in meson
+Subject: [PATCH] tests: respect the idententaion used in meson
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
---
tests/check/meson.build | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/check/meson.build b/tests/check/meson.build
-index a617cf159..b2636714b 100644
+index 9787b0a..16caac7 100644
--- a/tests/check/meson.build
+++ b/tests/check/meson.build
-@@ -146,11 +146,11 @@ foreach t : core_tests
+@@ -145,11 +145,11 @@ foreach t : core_tests
if not skip_test
exe = executable(test_name, fname,
@@ -22,15 +23,12 @@ index a617cf159..b2636714b 100644
- cpp_args : gst_c_args + test_defines,
- include_directories : [configinc],
- link_with : link_with_libs,
-- dependencies : test_deps + glib_deps + gst_deps,
+- dependencies : gst_deps + test_deps,
+ c_args : gst_c_args + test_defines,
+ cpp_args : gst_c_args + test_defines,
+ include_directories : [configinc],
+ link_with : link_with_libs,
-+ dependencies : test_deps + glib_deps + gst_deps,
++ dependencies : gst_deps + test_deps,
)
env = environment()
---
-2.31.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
deleted file mode 100644
index 5805e8b6..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From d7f05d09c55d35bbe4e0f856759519ef183d9a56 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Fri, 14 Aug 2020 16:38:26 +0100
-Subject: [PATCH] Remove unused valgrind detection
-
-Having this just to log a debug message in case we're
-running inside valgrind doesn't seem very useful, and
-the code that used to use this no longer exists it seems.
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/595>
-
-Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
-
----
- gst/gst_private.h | 2 --
- gst/gstinfo.c | 39 ---------------------------------------
- meson.build | 1 -
- 3 files changed, 42 deletions(-)
-
-diff --git a/gst/gst_private.h b/gst/gst_private.h
-index eefd044d9..8252ede51 100644
---- a/gst/gst_private.h
-+++ b/gst/gst_private.h
-@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin
-
- G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
-
--G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void);
--
- /* init functions called from gst_init(). */
- G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void);
- G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void);
-diff --git a/gst/gstinfo.c b/gst/gstinfo.c
-index eea1a219d..d3035d6db 100644
---- a/gst/gstinfo.c
-+++ b/gst/gstinfo.c
-@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
- static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
- static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
-
--/* FIXME: export this? */
--gboolean
--_priv_gst_in_valgrind (void)
--{
-- static enum
-- {
-- GST_VG_UNCHECKED,
-- GST_VG_NO_VALGRIND,
-- GST_VG_INSIDE
-- }
-- in_valgrind = GST_VG_UNCHECKED;
--
-- if (in_valgrind == GST_VG_UNCHECKED) {
--#ifdef HAVE_VALGRIND_VALGRIND_H
-- if (RUNNING_ON_VALGRIND) {
-- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind");
-- in_valgrind = GST_VG_INSIDE;
-- } else {
-- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff");
-- in_valgrind = GST_VG_NO_VALGRIND;
-- }
--#else
-- in_valgrind = GST_VG_NO_VALGRIND;
--#endif
-- g_assert (in_valgrind == GST_VG_NO_VALGRIND ||
-- in_valgrind == GST_VG_INSIDE);
-- }
-- return (in_valgrind == GST_VG_INSIDE);
--}
--
- static gchar *
- _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token,
- guint val)
-@@ -463,9 +433,6 @@ _priv_gst_debug_init (void)
- _priv_GST_CAT_PROTECTION =
- _gst_debug_category_new ("GST_PROTECTION", 0, "protection");
-
-- /* print out the valgrind message if we're in valgrind */
-- _priv_gst_in_valgrind ();
--
- env = g_getenv ("GST_DEBUG_OPTIONS");
- if (env != NULL) {
- if (strstr (env, "full_tags") || strstr (env, "full-tags"))
-@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo)
- return 0;
- }
-
--gboolean
--_priv_gst_in_valgrind (void)
--{
-- return FALSE;
--}
--
- void
- _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
- const gchar * func, gint line, GObject * obj, const gchar * msg,
-diff --git a/meson.build b/meson.build
-index 82a17282b..42ae61790 100644
---- a/meson.build
-+++ b/meson.build
-@@ -200,7 +200,6 @@ check_headers = [
- 'sys/wait.h',
- 'ucontext.h',
- 'unistd.h',
-- 'valgrind/valgrind.h',
- 'sys/resource.h',
- 'sys/uio.h',
- ]
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
index b77fb579..568e38cb 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
@@ -1,7 +1,7 @@
-From c9e93c7a3e4d2773abef4f5e1464af24f36700b3 Mon Sep 17 00:00:00 2001
+From 08b1aaff972a7f6349373fc1ad4cc23081adb52c Mon Sep 17 00:00:00 2001
From: Jose Quaresma <quaresma.jose@gmail.com>
Date: Sun, 11 Apr 2021 19:48:13 +0100
-Subject: [PATCH 2/4] tests: add support for install the tests
+Subject: [PATCH] tests: add support for install the tests
This will provide to run the tests using the gnome-desktop-testing [1]
@@ -10,53 +10,44 @@ This will provide to run the tests using the gnome-desktop-testing [1]
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
---
- meson.build | 5 +++++
- meson_options.txt | 1 +
- template.test.in | 3 +++
- tests/check/meson.build | 22 +++++++++++++++++++++-
- 4 files changed, 30 insertions(+), 1 deletion(-)
- create mode 100644 template.test.in
+ meson.build | 4 ++++
+ meson_options.txt | 1 +
+ tests/check/meson.build | 22 +++++++++++++++++++++-
+ tests/check/template.test.in | 3 +++
+ 4 files changed, 29 insertions(+), 1 deletion(-)
+ create mode 100644 tests/check/template.test.in
diff --git a/meson.build b/meson.build
-index c4e8774f5..1abf4eb26 100644
+index f9f591d..3906fb3 100644
--- a/meson.build
+++ b/meson.build
-@@ -562,6 +562,11 @@ if bashcomp_dep.found()
+@@ -606,6 +606,10 @@ if bashcomp_dep.found()
endif
endif
++installed_tests_enabled = get_option('installed_tests')
+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
-+installed_tests_enabled = get_option('installed-tests')
-+installed_tests_template = files('template.test.in')
+
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
pkgconfig = import('pkgconfig')
diff --git a/meson_options.txt b/meson_options.txt
-index c8cee3762..b5da40eaa 100644
+index 7363bdb..a34ba37 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
option('memory-alignment', type: 'combo',
choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
value: 'malloc')
-+option('installed-tests', type : 'boolean', value : false, description : 'Enable installed tests')
++option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests')
# Feature options
option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
-diff --git a/template.test.in b/template.test.in
-new file mode 100644
-index 000000000..f701627f8
---- /dev/null
-+++ b/template.test.in
-@@ -0,0 +1,3 @@
-+[Test]
-+Type=session
-+Exec=@installed_tests_dir@/@program@
diff --git a/tests/check/meson.build b/tests/check/meson.build
-index b2636714b..a697a7b06 100644
+index 16caac7..f2d400f 100644
--- a/tests/check/meson.build
+++ b/tests/check/meson.build
@@ -124,10 +124,16 @@ test_defines = [
@@ -77,16 +68,16 @@ index b2636714b..a697a7b06 100644
# sanity checking
if get_option('check').disabled()
if get_option('tests').enabled()
-@@ -151,6 +157,8 @@ foreach t : core_tests
+@@ -150,6 +156,8 @@ foreach t : core_tests
include_directories : [configinc],
link_with : link_with_libs,
- dependencies : test_deps + glib_deps + gst_deps,
+ dependencies : gst_deps + test_deps,
+ install_dir: installed_tests_execdir,
+ install: installed_tests_enabled,
)
env = environment()
-@@ -162,6 +170,18 @@ foreach t : core_tests
+@@ -161,6 +169,18 @@ foreach t : core_tests
env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
@@ -95,7 +86,7 @@ index b2636714b..a697a7b06 100644
+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
+ test_conf.set('program', test_name)
+ configure_file(
-+ input: installed_tests_template,
++ input: 'template.test.in',
+ output: test_name + '.test',
+ install_dir: installed_tests_metadir,
+ configuration: test_conf
@@ -105,6 +96,12 @@ index b2636714b..a697a7b06 100644
test(test_name, exe, env: env, timeout : 3 * 60)
endif
endforeach
---
-2.31.1
-
+diff --git a/tests/check/template.test.in b/tests/check/template.test.in
+new file mode 100644
+index 0000000..f701627
+--- /dev/null
++++ b/tests/check/template.test.in
+@@ -0,0 +1,3 @@
++[Test]
++Type=session
++Exec=@installed_tests_dir@/@program@
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
deleted file mode 100644
index e0e64e2c..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001
-From: Seungha Yang <seungha@centricular.com>
-Date: Tue, 15 Sep 2020 00:54:58 +0900
-Subject: [PATCH] tests: seek: Don't use too strict timeout for validation
-
-Expected segment-done message might not be seen within expected
-time if system is not powerful enough.
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/625>
-
-Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- tests/check/pipelines/seek.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
-index 28bb8846d..5f7447bc5 100644
---- a/tests/check/pipelines/seek.c
-+++ b/tests/check/pipelines/seek.c
-@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2)
-
- GST_INFO ("wait for segment done message");
-
-- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND,
-+ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
- GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR);
- fail_unless (msg, "no message within the timed window");
- fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done");
---
-2.29.2
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
index 46813cec..10a6dcc6 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
@@ -1,4 +1,4 @@
-From e82dedec1803922656e92285fc1bb75b2cdc0aad Mon Sep 17 00:00:00 2001
+From fe830f0f75f3b4b41e3dbef8d4cf6ee4103c9e06 Mon Sep 17 00:00:00 2001
From: Jose Quaresma <quaresma.jose@gmail.com>
Date: Sat, 24 Apr 2021 10:34:47 +0100
Subject: [PATCH 3/4] tests: use a dictionaries for environment
@@ -10,29 +10,31 @@ Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
- tests/check/meson.build | 19 +++++++++++--------
- 1 file changed, 11 insertions(+), 8 deletions(-)
+ subprojects/gstreamer/tests/check/meson.build | 21 ++++++++++++-------
+ 1 file changed, 13 insertions(+), 8 deletions(-)
-diff --git a/tests/check/meson.build b/tests/check/meson.build
-index a697a7b06..f64524904 100644
---- a/tests/check/meson.build
-+++ b/tests/check/meson.build
-@@ -161,14 +161,17 @@ foreach t : core_tests
+diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
+index 00a138a568..48ec2532f8 100644
+--- a/subprojects/gstreamer/tests/check/meson.build
++++ b/subprojects/gstreamer/tests/check/meson.build
+@@ -161,14 +161,19 @@ foreach t : core_tests
install: installed_tests_enabled,
)
- env = environment()
-- env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
+- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
- env.set('GST_STATE_IGNORE_ELEMENTS', '')
- env.set('CK_DEFAULT_TIMEOUT', '20')
- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
-+ # environment() can't be passed to configure_file and it is needed for installed_tests
-+ # use a dictionary as this is simplest solution to install the environment
++ # meson environment object can't be passed to configure_file and
++ # installed tests uses configure_file to install the environment.
++ # use a dictionary as this is the simplest solution
++ # to install the environment.
+ env = {
-+ 'GST_PLUGIN_PATH_1_0': meson.build_root(),
++ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(),
+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
+ 'GST_STATE_IGNORE_ELEMENTS': '',
+ 'CK_DEFAULT_TIMEOUT': '20',
@@ -44,5 +46,5 @@ index a697a7b06..f64524904 100644
if installed_tests_enabled
test_conf = configuration_data()
--
-2.31.1
+2.33.1
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
new file mode 100644
index 00000000..efa004f8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
@@ -0,0 +1,74 @@
+From 4dcbabebca2ad6f1fdd59ee35a858082e87db7b6 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sun, 2 May 2021 01:58:01 +0100
+Subject: [PATCH 4/4] tests: add helper script to run the installed_tests
+
+- this is a bash script that will run the installed_tests
+with some of the environment variables used in the meson
+testing framework.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ subprojects/gstreamer/tests/check/meson.build | 17 +++++++++++++++++
+ .../gstreamer/tests/check/template.sh.in | 9 +++++++++
+ .../gstreamer/tests/check/template.test.in | 2 +-
+ 3 files changed, 27 insertions(+), 1 deletion(-)
+ create mode 100755 subprojects/gstreamer/tests/check/template.sh.in
+
+diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
+index 48ec2532f8..7dc4990d4e 100644
+--- a/subprojects/gstreamer/tests/check/meson.build
++++ b/subprojects/gstreamer/tests/check/meson.build
+@@ -185,6 +185,23 @@ foreach t : core_tests
+ install_dir: installed_tests_metadir,
+ configuration: test_conf
+ )
++
++ # All the tests will be deployed on the target machine and
++ # we use the home folder ~ for the registry which will then expand at runtime.
++ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly
++ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry
++ # that is useful for debug propose of the tests itself.
++ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
++
++ # Set the full path for the test it self.
++ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)}
++
++ configure_file(
++ input : 'template.sh.in',
++ output: test_name + '.sh',
++ install_dir: installed_tests_execdir,
++ configuration : env,
++ )
+ endif
+
+ test(test_name, exe, env: env, timeout : 3 * 60)
+diff --git a/subprojects/gstreamer/tests/check/template.sh.in b/subprojects/gstreamer/tests/check/template.sh.in
+new file mode 100755
+index 0000000000..cf7d31b0ea
+--- /dev/null
++++ b/subprojects/gstreamer/tests/check/template.sh.in
+@@ -0,0 +1,9 @@
++#!/bin/sh
++
++set -ax
++
++CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@"
++GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@"
++GST_REGISTRY=@GST_REGISTRY@
++GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@"
++exec @TEST@
+diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in
+index f701627f87..b74ef6ad73 100644
+--- a/subprojects/gstreamer/tests/check/template.test.in
++++ b/subprojects/gstreamer/tests/check/template.test.in
+@@ -1,3 +1,3 @@
+ [Test]
+ Type=session
+-Exec=@installed_tests_dir@/@program@
++Exec=@installed_tests_dir@/@program@.sh
+--
+2.33.1
+
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
new file mode 100644
index 00000000..f51df6d2
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
@@ -0,0 +1,107 @@
+From b935abba3d8fa3ea1ce384c08e650afd8c20b78a Mon Sep 17 00:00:00 2001
+From: Claudius Heine <ch@denx.de>
+Date: Wed, 2 Feb 2022 13:47:02 +0100
+Subject: [PATCH] tests: remove gstbin:test_watch_for_state_change testcase
+
+This testcase seems to be flaky, and upstream marked it as such:
+https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778
+
+This patch removes the testcase to avoid it interfering with out ptest.
+
+Signed-off-by: Claudius Heine <ch@denx.de>
+
+Upstream-Status: Inappropriate [needs proper upstream fix]
+---
+ tests/check/gst/gstbin.c | 69 -------------------
+ 1 file changed, 69 deletions(-)
+
+diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
+index e366d5fe20..ac29d81474 100644
+--- a/tests/check/gst/gstbin.c
++++ b/tests/check/gst/gstbin.c
+@@ -691,74 +691,6 @@ GST_START_TEST (test_message_state_changed_children)
+
+ GST_END_TEST;
+
+-GST_START_TEST (test_watch_for_state_change)
+-{
+- GstElement *src, *sink, *bin;
+- GstBus *bus;
+- GstStateChangeReturn ret;
+-
+- bin = gst_element_factory_make ("bin", NULL);
+- fail_unless (bin != NULL, "Could not create bin");
+-
+- bus = g_object_new (gst_bus_get_type (), NULL);
+- gst_object_ref_sink (bus);
+- gst_element_set_bus (GST_ELEMENT_CAST (bin), bus);
+-
+- src = gst_element_factory_make ("fakesrc", NULL);
+- fail_if (src == NULL, "Could not create fakesrc");
+- sink = gst_element_factory_make ("fakesink", NULL);
+- fail_if (sink == NULL, "Could not create fakesink");
+-
+- gst_bin_add (GST_BIN (bin), sink);
+- gst_bin_add (GST_BIN (bin), src);
+-
+- fail_unless (gst_element_link (src, sink), "could not link src and sink");
+-
+- /* change state, spawning two times three messages */
+- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
+- fail_unless (ret == GST_STATE_CHANGE_ASYNC);
+- ret =
+- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL,
+- GST_CLOCK_TIME_NONE);
+- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
+-
+- pop_state_changed (bus, 6);
+- pop_async_done (bus);
+- pop_latency (bus);
+-
+- fail_unless (gst_bus_have_pending (bus) == FALSE,
+- "Unexpected messages on bus");
+-
+- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
+- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
+-
+- pop_state_changed (bus, 3);
+-
+- /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
+- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
+- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
+-
+- pop_state_changed (bus, 3);
+- if (ret == GST_STATE_CHANGE_ASYNC) {
+- pop_async_done (bus);
+- pop_latency (bus);
+- }
+-
+- fail_unless (gst_bus_have_pending (bus) == FALSE,
+- "Unexpected messages on bus");
+-
+- gst_bus_set_flushing (bus, TRUE);
+-
+- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
+- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
+-
+- /* clean up */
+- gst_object_unref (bus);
+- gst_object_unref (bin);
+-}
+-
+-GST_END_TEST;
+-
+ GST_START_TEST (test_state_change_error_message)
+ {
+ GstElement *src, *sink, *bin;
+@@ -1956,7 +1888,6 @@ gst_bin_suite (void)
+ tcase_add_test (tc_chain, test_message_state_changed);
+ tcase_add_test (tc_chain, test_message_state_changed_child);
+ tcase_add_test (tc_chain, test_message_state_changed_children);
+- tcase_add_test (tc_chain, test_watch_for_state_change);
+ tcase_add_test (tc_chain, test_state_change_error_message);
+ tcase_add_test (tc_chain, test_add_linked);
+ tcase_add_test (tc_chain, test_add_self);
+--
+2.33.1
+
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch
deleted file mode 100644
index eabe7bcb..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 57d2965e979f886e03eecd7e351bf01812053971 Mon Sep 17 00:00:00 2001
-From: Jose Quaresma <quaresma.jose@gmail.com>
-Date: Sun, 2 May 2021 01:58:01 +0100
-Subject: [PATCH 4/4] tests: install the environment for installed_tests
-
-- adapt the test environment for installed_tests
-- install the test environment for installed_tests
-- run the tests using the installed environment
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
----
- template.test.in | 2 +-
- tests/check/meson.build | 18 ++++++++++++++++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/template.test.in b/template.test.in
-index f701627f8..9a3fbdd09 100644
---- a/template.test.in
-+++ b/template.test.in
-@@ -1,3 +1,3 @@
- [Test]
- Type=session
--Exec=@installed_tests_dir@/@program@
-+Exec=sh -c 'set -aex && source @installed_tests_dir@/@program@.env && exec @installed_tests_dir@/@program@'
-diff --git a/tests/check/meson.build b/tests/check/meson.build
-index f64524904..a67e0f8dd 100644
---- a/tests/check/meson.build
-+++ b/tests/check/meson.build
-@@ -183,6 +183,24 @@ foreach t : core_tests
- install_dir: installed_tests_metadir,
- configuration: test_conf
- )
-+
-+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
-+ configure_file(
-+ output: test_name + '.env',
-+ install_dir: installed_tests_execdir,
-+ configuration : env,
-+ )
-+ # helper to convert a meson environment dictionay object exported with configure_file
-+ # this also remove not needed variables for the installed tests
-+ meson.add_postconf_script('sed', '-i',
-+ '-e', '/^#define/!d',
-+ '-e', 's/^#define //g',
-+ '-e', '/^GST_PLUGIN_PATH_1_0/d',
-+ '-e', '/^GST_PLUGIN_SYSTEM_PATH_1_0/d',
-+ '-e', '/^GST_PLUGIN_SCANNER_1_0/d',
-+ '-e', 's/ /=/',
-+ join_paths(meson.current_build_dir(), test_name + '.env')
-+ )
- endif
-
- test(test_name, exe, env: env, timeout : 3 * 60)
---
-2.31.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb
index 3aabcf2d..bd0f723f 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb
@@ -3,7 +3,7 @@
# recipe. The second section customizes the recipe for i.MX.
########### OE-core copy ##################
-# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15
+# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
SUMMARY = "GStreamer 1.0 multimedia framework"
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
@@ -11,28 +11,25 @@ It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime.
HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
-LICENSE = "LGPL-2.0-or-later"
+LICENSE = "LGPL-2.1-or-later"
DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
S = "${WORKDIR}/gstreamer-${PV}"
SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
file://run-ptest \
- file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
- file://0002-Remove-unused-valgrind-detection.patch \
- file://0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \
- file://0004-tests-respect-the-idententaion-used-in-meson.patch \
- file://0005-tests-add-support-for-install-the-tests.patch \
- file://0006-tests-use-a-dictionaries-for-environment.patch \
- file://0007-tests-install-the-environment-for-installed_tests.patch \
+ file://0001-tests-respect-the-idententaion-used-in-meson.patch \
+ file://0002-tests-add-support-for-install-the-tests.patch \
+ file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
+ file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
"
-SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5"
+SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
check \
@@ -43,7 +40,7 @@ PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
-PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
+PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled_tests=true,-Dtests=disabled -Dinstalled_tests=false"
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
@@ -87,12 +84,17 @@ PTEST_BUILD_HOST_FILES = ""
DEFAULT_PREFERENCE = "-1"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
+ file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d \
+"
+
# Use i.MX fork of GST for customizations
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
-GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
-SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
-SRCREV = "a55998c70940bd183d25d29e1b82fd3bc9f43df3"
+GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "e51e577a730191911b7050216814bede1b9545ae"
S = "${WORKDIR}/git"
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch
new file mode 100644
index 00000000..bdcb3f48
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch
@@ -0,0 +1,33 @@
+From 090fb758a63b7d362d9bee8b8a665d1346c83f83 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Mar 2023 20:15:22 -0700
+Subject: [PATCH 01/10] aiurdemux: Fix type of USER_DATA_LOCATION
+
+It should be char pointer not integer
+Fixe
+plugins/aiurdemux/aiurdemux.c:198:47: error: incompatible integer to pointer conversion initializin
+g 'const gchar *' (aka 'const char *') with an expression of type 'int' [-Wint-conversion]
+ {USER_DATA_LOCATION, USER_DATA_FORMAT_UTF8, -1,
+ ^~
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/aiurdemux/aiurdemux.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/aiurdemux/aiurdemux.c b/plugins/aiurdemux/aiurdemux.c
+index 532b439..39c50ea 100755
+--- a/plugins/aiurdemux/aiurdemux.c
++++ b/plugins/aiurdemux/aiurdemux.c
+@@ -195,7 +195,7 @@ static AiurDemuxTagEntry g_user_data_entry[] = {
+ "Track Number : %s\n"},
+ {USER_DATA_TOTALTRACKNUMBER, USER_DATA_FORMAT_UTF8, GST_TAG_TRACK_COUNT,
+ "Track Count : %s\n"},
+- {USER_DATA_LOCATION, USER_DATA_FORMAT_UTF8, -1,
++ {USER_DATA_LOCATION, USER_DATA_FORMAT_UTF8, (const gchar*)-1,
+ "Location : %s\n"},
+ {USER_DATA_KEYWORDS, USER_DATA_FORMAT_UTF8, GST_TAG_KEYWORDS,
+ "Keywords : %s\n"},
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch
new file mode 100644
index 00000000..d3fdf924
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch
@@ -0,0 +1,28 @@
+From f8b8322cd4c3a69e5cb47b5cb33abe860e89d6ed Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 20:33:54 -0700
+Subject: [PATCH 02/10] aiurdemux.h: Include glib/gprintf.h for g_printf
+ prototype
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/aiurdemux/aiurdemux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/aiurdemux/aiurdemux.h b/plugins/aiurdemux/aiurdemux.h
+index 1d7d0a0..f7fcb2e 100755
+--- a/plugins/aiurdemux/aiurdemux.h
++++ b/plugins/aiurdemux/aiurdemux.h
+@@ -39,7 +39,7 @@
+ #include <gst/gst.h>
+ #include <gst/base/gstadapter.h>
+ #include <gst/tag/tag.h>
+-
++#include <glib/gprintf.h>
+ //#include "mfw_gst_utils.h"
+
+ #include "fsl_parser.h"
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch
new file mode 100644
index 00000000..a690b497
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0003-grecorder-Fix-build-with-clang.patch
@@ -0,0 +1,44 @@
+From 19e6a541d2026386c9cfdeca0eebd269fef2536c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Mar 2023 20:29:01 -0700
+Subject: [PATCH 03/10] grecorder: Fix build with clang
+
+Add missing includes for APIs from libc and glib
+Add prototype declaration for post_message before
+using it in macros later in the same source file
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/grecorder/grecorder.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tools/grecorder/grecorder.c b/tools/grecorder/grecorder.c
+index c8eff2f..89aa801 100644
+--- a/tools/grecorder/grecorder.c
++++ b/tools/grecorder/grecorder.c
+@@ -23,10 +23,11 @@
+ #include <semaphore.h>
+ #include <pthread.h>
+ #include <signal.h>
++#include <unistd.h> /* sleep */
+ #include <getopt.h>
+ #define __USE_LARGEFILE64
+ #include <sys/statvfs.h>
+-
++#include <glib/gprintf.h> /* g_print */
+ #include "recorder_engine.h"
+
+ #define LOG_ERROR printf
+@@ -168,6 +169,8 @@ static RecorderMessage latest_message = MESSAGE_NULL;
+
+ static volatile sig_atomic_t quit_flag = 0;
+
++static void post_message (RecorderMessage message);
++
+ static void signal_handler(int signum)
+ {
+ quit_flag = 1;
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch
new file mode 100644
index 00000000..292ab63f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch
@@ -0,0 +1,87 @@
+From 141f8f692ae2c7e6d41a2d78113c806602122ad5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 19:51:27 -0700
+Subject: [PATCH 04/10] gstimxcommon: Return 0 instead of NULL for a functions
+ returning unsigned long
+
+Fixes
+gstimxcommon.c:113:10: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'unsigned long' [-Wint-conversion]
+ return NULL;
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libs/gstimxcommon.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/libs/gstimxcommon.c b/libs/gstimxcommon.c
+index 27fd913..803c6e5 100644
+--- a/libs/gstimxcommon.c
++++ b/libs/gstimxcommon.c
+@@ -35,13 +35,13 @@ unsigned long phy_addr_from_fd(int dmafd)
+ int ret, fd;
+
+ if (dmafd < 0)
+- return NULL;
++ return 0;
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ #ifdef USE_ION
+ fd = open(dev_ion, O_RDWR);
+ if(fd < 0) {
+- return NULL;
++ return 0;
+ }
+
+ struct ion_phys_dma_data data = {
+@@ -58,18 +58,18 @@ unsigned long phy_addr_from_fd(int dmafd)
+ ret = ioctl(fd, ION_IOC_CUSTOM, &custom);
+ close(fd);
+ if (ret < 0)
+- return NULL;
++ return 0;
+
+ return data.phys;
+ #else
+- return NULL;
++ return 0;
+ #endif /* USE_ION */
+ #else
+ struct dma_buf_phys dma_phys;
+
+ ret = ioctl(dmafd, DMA_BUF_IOCTL_PHYS, &dma_phys);
+ if (ret < 0)
+- return NULL;
++ return 0;
+
+ return dma_phys.phys;
+ #endif
+@@ -86,7 +86,7 @@ unsigned long phy_addr_from_vaddr(void *vaddr, int size)
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ fd = open(dev_ion, O_RDWR);
+ if(fd < 0) {
+- return NULL;
++ return 0;
+ }
+
+ struct ion_phys_virt_data data = {
+@@ -103,13 +103,13 @@ unsigned long phy_addr_from_vaddr(void *vaddr, int size)
+ ret = ioctl(fd, ION_IOC_CUSTOM, &custom);
+ close(fd);
+ if (ret < 0)
+- return NULL;
++ return 0;
+
+ return data.phys;
+ #else
+- return NULL;
++ return 0;
+ #endif
+ #else
+- return NULL;
++ return 0;
+ #endif
+ }
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch
new file mode 100644
index 00000000..5f67ba1b
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0005-aiurstreamcache-Include-gst-gstinfo.h.patch
@@ -0,0 +1,28 @@
+From 379b0492a4b53fd8fd42c734d04fd62df2e0465f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Mar 2023 20:16:48 -0700
+Subject: [PATCH 05/10] aiurstreamcache: Include gst/gstinfo.h
+
+Its needed for various GST_* defines
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/aiurdemux/aiurstreamcache.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/plugins/aiurdemux/aiurstreamcache.c b/plugins/aiurdemux/aiurstreamcache.c
+index d566268..e114a9d 100755
+--- a/plugins/aiurdemux/aiurstreamcache.c
++++ b/plugins/aiurdemux/aiurstreamcache.c
+@@ -33,6 +33,7 @@
+ * Changelog:
+ *
+ */
++ #include <gst/gstinfo.h>
+
+ GST_DEBUG_CATEGORY_EXTERN (aiurdemux_debug);
+ #define GST_CAT_DEFAULT aiurdemux_debug
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch
new file mode 100644
index 00000000..ae3d1061
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0006-Fix-typecast-warnings-found-with-clang.patch
@@ -0,0 +1,61 @@
+From 02e16c4de3f138f0ebabf699e840bb86c98be599 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 20:45:23 -0700
+Subject: [PATCH 06/10] Fix typecast warnings found with clang
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libs/device-2d/imx_2d_device_g2d.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/libs/device-2d/imx_2d_device_g2d.c b/libs/device-2d/imx_2d_device_g2d.c
+index 2672e0b..6a36f6a 100755
+--- a/libs/device-2d/imx_2d_device_g2d.c
++++ b/libs/device-2d/imx_2d_device_g2d.c
+@@ -425,7 +425,7 @@ static gint imx_g2d_blit(Imx2DDevice *device,
+ goto err;
+ }
+ if (paddr) {
+- src->mem->paddr = paddr;
++ src->mem->paddr = (guint8*)paddr;
+ } else {
+ GST_ERROR ("Can't get physical address.");
+ ret = -1;
+@@ -435,7 +435,7 @@ static gint imx_g2d_blit(Imx2DDevice *device,
+ if (!dst->mem->paddr) {
+ paddr = phy_addr_from_fd (dst->fd[0]);
+ if (paddr) {
+- dst->mem->paddr = paddr;
++ dst->mem->paddr = (guint8*)paddr;
+ } else {
+ GST_ERROR ("Can't get physical address.");
+ ret = -1;
+@@ -474,10 +474,11 @@ static gint imx_g2d_blit(Imx2DDevice *device,
+
+ if (src->fd[1] >= 0)
+ {
+- if (!src->mem->user_data)
+- src->mem->user_data = g2d->src.base.planes[1] = phy_addr_from_fd (src->fd[1]);
+- else
+- g2d->src.base.planes[1] = src->mem->user_data;
++ if (!src->mem->user_data) {
++ g2d->src.base.planes[1] = (gint)phy_addr_from_fd (src->fd[1]);
++ src->mem->user_data = (gpointer *)g2d->src.base.planes[1];
++ } else
++ g2d->src.base.planes[1] = (unsigned long)src->mem->user_data;
+ }
+ switch (src->interlace_type) {
+ case IMX_2D_INTERLACE_INTERLEAVED:
+@@ -693,7 +694,7 @@ static gint imx_g2d_fill_color(Imx2DDevice *device, Imx2DFrame *dst,
+ if (!dst->mem->paddr) {
+ paddr = phy_addr_from_fd (dst->fd[0]);
+ if (paddr) {
+- dst->mem->paddr = paddr;
++ dst->mem->paddr = (guint8*)paddr;
+ } else {
+ GST_ERROR ("Can't get physical address.");
+ return -1;
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch
new file mode 100644
index 00000000..1983838a
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0007-gstimxv4l2-Fix-typecasting-errors.patch
@@ -0,0 +1,30 @@
+From a1a2069403e227d4d40fc99257d1be077f65bdc8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 19:54:18 -0700
+Subject: [PATCH 07/10] gstimxv4l2: Fix typecasting errors
+
+Fixes
+gstimxv4l2.c:1702:22: error: incompatible pointer to integer conversion assigning to 'unsigned long' from 'guint8 *' (aka 'unsigned char *') [-Wint-conversion]
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libs/v4l2_core/gstimxv4l2.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/v4l2_core/gstimxv4l2.c b/libs/v4l2_core/gstimxv4l2.c
+index 1dc826b..bf2620a 100755
+--- a/libs/v4l2_core/gstimxv4l2.c
++++ b/libs/v4l2_core/gstimxv4l2.c
+@@ -1699,7 +1699,7 @@ gint gst_imx_v4l2_register_buffer (gpointer v4l2handle, PhyMemBlock *memblk)
+ v4l2buf->type = handle->type;
+ v4l2buf->memory = handle->memory_mode;
+ v4l2buf->index = handle->allocated;
+- v4l2buf->m.userptr = memblk->paddr;
++ v4l2buf->m.userptr = (unsigned long)memblk->paddr;
+ v4l2buf->length = memblk->size;
+ handle->buffer_pair[handle->allocated].vaddr = memblk->vaddr;
+
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch
new file mode 100644
index 00000000..211bade1
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0008-beepdec-Declare-beep_register_external_typefinders.patch
@@ -0,0 +1,32 @@
+From e86c20fee52f79a270a1913c5f0be98fb3f5cb77 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Mar 2023 20:18:18 -0700
+Subject: [PATCH 08/10] beepdec: Declare beep_register_external_typefinders
+
+Fixes
+plugins/beepdec/beep.c:45:3: error: call to undeclared function 'beep_register_external_typefinders'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ beep_register_external_typefinders (plugin);
+ ^
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/beepdec/beep.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/beepdec/beep.c b/plugins/beepdec/beep.c
+index 3543352..e174bb3 100755
+--- a/plugins/beepdec/beep.c
++++ b/plugins/beepdec/beep.c
+@@ -37,7 +37,7 @@
+ #endif
+ #include "beepdec.h"
+ #include "gstimxcommon.h"
+-
++extern gboolean beep_register_external_typefinders (GstPlugin * plugin);
+ static gboolean
+ plugin_init (GstPlugin * plugin)
+ {
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch
new file mode 100644
index 00000000..567d1026
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch
@@ -0,0 +1,41 @@
+From 8a3d7f26c73bdfe050d3331b30ae2f5917dc6723 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 19:59:22 -0700
+Subject: [PATCH 09/10] gstimxv4l2.c: Fix incompatible integer to pointer
+ conversion returning
+
+Fixes
+gstimxv4l2.c:1587:24: error: incompatible pointer to integer conversion assigning to 'unsigned long' from 'guint8 *' (aka 'unsigned char *') [-Wint-c
+onversion]
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libs/v4l2_core/gstimxv4l2.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libs/v4l2_core/gstimxv4l2.c b/libs/v4l2_core/gstimxv4l2.c
+index bf2620a..0fd7452 100755
+--- a/libs/v4l2_core/gstimxv4l2.c
++++ b/libs/v4l2_core/gstimxv4l2.c
+@@ -1576,7 +1576,7 @@ static void * gst_imx_v4l2_find_buffer(gpointer v4l2handle, PhyMemBlock *memblk)
+
+ if (handle->allocated >= MAX_BUFFER) {
+ GST_ERROR ("No more v4l2 buffer for allocating.\n");
+- return -1;
++ return NULL;
+ }
+
+ v4l2buf = &handle->buffer_pair[handle->allocated].v4l2buffer;
+@@ -1584,7 +1584,7 @@ static void * gst_imx_v4l2_find_buffer(gpointer v4l2handle, PhyMemBlock *memblk)
+ v4l2buf->type = handle->type;
+ v4l2buf->memory = handle->memory_mode;
+ v4l2buf->index = handle->allocated;
+- v4l2buf->m.userptr = memblk->paddr;
++ v4l2buf->m.userptr = (unsigned long)memblk->paddr;
+ v4l2buf->length = memblk->size;
+ handle->buffer_pair[handle->allocated].vaddr = memblk->vaddr;
+
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch
new file mode 100644
index 00000000..e9b1a093
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0010-provide-declaration-for-aiur_register_external_typef.patch
@@ -0,0 +1,28 @@
+From c2144da90e64547d9e346f8e721a0d2155ed610b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 21:09:49 -0700
+Subject: [PATCH 10/10] provide declaration for
+ aiur_register_external_typefinders
+
+Upstream-Status: Submitted [https://github.com/nxp-imx/imx-gst1.0-plugin/pull/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/aiurdemux/aiur.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/plugins/aiurdemux/aiur.c b/plugins/aiurdemux/aiur.c
+index 2a52465..681ae2e 100755
+--- a/plugins/aiurdemux/aiur.c
++++ b/plugins/aiurdemux/aiur.c
+@@ -41,6 +41,8 @@
+ #include "aiurdemux.h"
+ #include "gstimxcommon.h"
+
++extern gboolean aiur_register_external_typefinders (GstPlugin * plugin);
++
+ static gboolean
+ plugin_init (GstPlugin * plugin)
+ {
+--
+2.39.2
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch
new file mode 100644
index 00000000..5a58a5a6
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch
@@ -0,0 +1,34 @@
+From bda3461b0b6493f3e04910e82e6e530a64af26b1 Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Mon, 24 Jul 2023 12:09:34 -0700
+Subject: [PATCH] meson: Undef _TIME_BITS along with _FILE_OFFSET_BITS
+
+On gcc 13, _TIME_BITS is set to 64 and causes failure with the undef of
+_FILE_OFFSET_BITS:
+```
+/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
+ 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
+ | ^~~~~
+```
+
+Upstream-Status: Pending
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+---
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/meson.build b/meson.build
+index 7ec5c70..64b2930 100644
+--- a/meson.build
++++ b/meson.build
+@@ -24,6 +24,7 @@ gst_dep = dependency('gstreamer-' + api_version, version : gst_req)
+ #meson automaticaly add _FILE_OFFSET_BITS=64 to gcc, this will make ipu test
+ #case fail when do mmap on 6q, autoconf didn't add this define, so undef it
+ add_project_arguments('-U_FILE_OFFSET_BITS', language: 'c')
++add_project_arguments('-U_TIME_BITS', language: 'c')
+
+ #below two marcos are defined in autoconf
+ add_project_arguments ('-DARM', language: 'c')
+--
+2.25.1
+
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
index ab8117b3..d99fd320 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -6,28 +6,50 @@
DESCRIPTION = "Gstreamer freescale plugins"
LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
SECTION = "multimedia"
-
-DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = " \
+ gstreamer1.0 \
+ gstreamer1.0-plugins-base \
+ gstreamer1.0-plugins-bad \
+ imx-codec \
+ imx-parser \
+ ${DEPENDS_IMXGPU} \
+"
DEPENDS:append:mx6-nxp-bsp = " imx-lib"
DEPENDS:append:mx7-nxp-bsp = " imx-lib"
DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
+DEPENDS:append:mx9-nxp-bsp = " imx-lib"
DEPENDS:append:imxvpu = " imx-vpuwrap"
DEPENDS:append:imxfbdev:imxgpu = " libdrm"
+DEPENDS_IMXGPU = ""
+DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}"
+DEPENDS_IMX_OPENCL_CONVERTER = ""
+DEPENDS_IMX_OPENCL_CONVERTER:mx8-nxp-bsp = "imx-opencl-converter"
+DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
# For backwards compatibility
RREPLACES:${PN} = "gst1.0-fsl-plugin"
RPROVIDES:${PN} = "gst1.0-fsl-plugin"
RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
-LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
-
-SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
-
-
-
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "f4b3105ab33e608c717855cdd1a520b60f377bf3"
+PV = "4.8.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
+ file://0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch \
+ file://0002-aiurdemux.h-Include-glib-gprintf.h-for-g_printf-prot.patch \
+ file://0003-grecorder-Fix-build-with-clang.patch \
+ file://0004-gstimxcommon-Return-0-instead-of-NULL-for-a-function.patch \
+ file://0005-aiurstreamcache-Include-gst-gstinfo.h.patch \
+ file://0006-Fix-typecast-warnings-found-with-clang.patch \
+ file://0007-gstimxv4l2-Fix-typecasting-errors.patch \
+ file://0008-beepdec-Declare-beep_register_external_typefinders.patch \
+ file://0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch \
+ file://0010-provide-declaration-for-aiur_register_external_typef.patch \
+ file://0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch \
+ "
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "a72df52acfec5f849ec93906e33cb50da01b0b2e"
S = "${WORKDIR}/git"
@@ -41,6 +63,9 @@ PLATFORM:mx6sll-nxp-bsp = "MX6SLL"
PLATFORM:mx7-nxp-bsp= "MX7D"
PLATFORM:mx7ulp-nxp-bsp= "MX7ULP"
PLATFORM:mx8-nxp-bsp = "MX8"
+PLATFORM:mx9-nxp-bsp = "MX9"
+
+CFLAGS:append:toolchain-clang = " -Wno-implicit-int -Wno-int-conversion -Wno-incompatible-function-pointer-types"
# Todo add a mechanism to map possible build targets
EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
diff --git a/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb b/recipes-multimedia/imx-codec/imx-codec_4.8.2.bb
index 3e142694..0822d530 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb
+++ b/recipes-multimedia/imx-codec/imx-codec_4.8.2.bb
@@ -1,33 +1,32 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright 2017 NXP
+# Copyright 2017 NXP-2023
# Copyright 2018 (C) O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Freescale Multimedia codec libs"
LICENSE = "Proprietary"
SECTION = "multimedia"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
# Backward compatibility
PROVIDES += "libfslcodec"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "309cae6f73a777f6e5a89831acf622ee"
-SRC_URI[sha256sum] = "7b070ab3f1762accee2806e7aba4146ef5242c67a8cd88fb90dacfc1c8b3ef5e"
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "1977bab8d89972f08d9eee0122a64603"
+SRC_URI[sha256sum] = "b0744a91c265202a79a019c72f17cae01fd5b63a3ba451592b6c8349d95719e0"
inherit fsl-eula-unpack autotools pkgconfig
+PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}"
+# Support Chips&Media VPU only
+PACKAGECONFIG_VPU = ""
+PACKAGECONFIG_VPU:mx6q-nxp-bsp = "vpu"
+PACKAGECONFIG_VPU:mx6dl-nxp-bsp = "vpu"
+PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu"
+
# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point
EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \
bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}"
-PACKAGECONFIG ?= ""
-PACKAGECONFIG:imxvpu = "vpu"
-
-# We need to ensure we don't have '-src' package overrided
-PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src'
-
-PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu"
-
do_install:append() {
# LTIB move the files around or gst-fsl-plugin won't find them
for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
@@ -52,7 +51,7 @@ python __set_insane_skip() {
# the source we cannot fix it. Disable the insane check for now.
if p == 'imx-codec-test-bin':
# FIXME: includes the DUT .so files so we need to deploy those
- d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir file-rdeps")
+ d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir")
else:
d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel")
}
@@ -90,6 +89,9 @@ python __set_metapkg_rdepends() {
PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
+# We need to ensure we don't have '-src' package overrided
+PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src'
+
PACKAGES_DYNAMIC = "${PN}-*"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
@@ -115,5 +117,5 @@ FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm
FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb
deleted file mode 100644
index 470fb7fa..00000000
--- a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2018-2021 NXP
-
-DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f"
-
-inherit fsl-eula-unpack autotools pkgconfig
-
-SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-
-SRC_URI[md5sum] = "9e1d0e06f4fed47a37cb390e135f453f"
-SRC_URI[sha256sum] = "2703a9dc619a2ac32352d65cfa58f8217e65abcabd33b77b0be02425dc896ae2"
-
-# Fix strip command failed: 'Unable to recognise the format of the input file'
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_SYSROOT_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INSANE_SKIP:${PN} = "arch dev-so"
-
-FILES:${PN} += "${libdir}/imx-mm/audio-codec ${datadir}/imx-mm"
-COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.6.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.6.bb
new file mode 100644
index 00000000..5d31eae7
--- /dev/null
+++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.6.bb
@@ -0,0 +1,27 @@
+# Copyright 2018-2023 NXP
+
+DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "d211febb231717649d35553d22a50578"
+SRC_URI[sha256sum] = "d5f312d742493aee7e1f1304916aca8264bcf8d3f7de7e1522d30ba33efb6a8a"
+
+EXTRA_OECONF:append:mx8qm-nxp-bsp = " --enable-imx8qmqxp"
+EXTRA_OECONF:append:mx8qxp-nxp-bsp = " --enable-imx8qmqxp"
+EXTRA_OECONF:append:mx8dx-nxp-bsp = " --enable-imx8qmqxp"
+EXTRA_OECONF:append:mx8mp-nxp-bsp = " --enable-imx8m"
+EXTRA_OECONF:append:mx8ulp-nxp-bsp = " --enable-imx8ulp"
+
+# Fix strip command failed: 'Unable to recognise the format of the input file'
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INSANE_SKIP:${PN} = "arch dev-so ldflags"
+
+FILES:${PN} += "${libdir}/imx-mm/audio-codec/dsp ${datadir}/imx-mm"
+COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb
deleted file mode 100644
index bfa279a0..00000000
--- a/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2017-2021 NXP
-
-DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f"
-
-inherit fsl-eula-unpack autotools pkgconfig
-
-SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-
-SRC_URI[md5sum] = "238d3f0256573ca657228d7090bcb7d3"
-SRC_URI[sha256sum] = "13f67f267d6d33e8be2a6c258a46cde3667258ac86435776cbf1a370de611476"
-
-EXTRA_OECONF += " \
- -datadir=${base_libdir}/firmware --bindir=/unit_tests \
- ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', ' ', d)} \
-"
-
-RDEPENDS:${PN} += " imx-dsp-codec-ext"
-
-HIFI4_BIN ?= "hifi4_imx8qmqxp.bin"
-HIFI4_BIN:mx8mp-nxp-bsp = "hifi4_imx8mp.bin"
-HIFI4_BIN:mx8ulp-nxp-bsp = "hifi4_imx8ulp.bin"
-
-do_install:append () {
- # Rename DSP Firmware into hifi4.bin and remove unneeded binary
- mv ${D}/lib/firmware/imx/dsp/${HIFI4_BIN} ${D}/lib/firmware/imx/dsp/hifi4.bin
- find ${D}/lib/firmware/imx/dsp -name hifi4_*.bin -exec rm {} \;
-}
-
-FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \
- ${libdir}/imx-mm/audio-codec/wrap \
- ${base_libdir}/firmware/imx/dsp \
- /unit_tests \
-"
-
-INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so"
-
-# Fix strip command failed: 'Unable to recognise the format of the input file'
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INHIBIT_SYSROOT_STRIP = "1"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.1.6.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.1.6.bb
new file mode 100644
index 00000000..3206420f
--- /dev/null
+++ b/recipes-multimedia/imx-dsp/imx-dsp_2.1.6.bb
@@ -0,0 +1,57 @@
+# Copyright 2017-2023 NXP
+
+DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "07ff97f93abe2bc6117a120e534e70d4"
+SRC_URI[sha256sum] = "5eab0259228746499990afe8de758a6ed505ec3fbd8a8adfc87a83c46a69bf2c"
+
+EXTRA_OECONF = " \
+ -datadir=${base_libdir}/firmware \
+ --bindir=/unit_tests \
+ ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', '', d)} \
+"
+
+HIFI4_PLATFORM ?= "HIFI4_PLATFORM_IS_UNDEFINED"
+HIFI4_PLATFORM:mx8qm-nxp-bsp = "imx8qmqxp"
+HIFI4_PLATFORM:mx8qxp-nxp-bsp = "imx8qmqxp"
+HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp"
+HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp"
+HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp"
+
+UNSUPPORTED_TESTS = "dsp_tflm"
+UNSUPPORTED_TESTS:mx8ulp-nxp-bsp = ""
+
+do_install:append () {
+ # Remove firmware not for this platform
+ find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \;
+ # Set the expected generic name for the firmware
+ mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin
+ # Remove unit tests not for this platform
+ for unsupported_test in ${UNSUPPORTED_TESTS}; do
+ find ${D}/unit_tests/DSP -name $unsupported_test* -exec rm {} \;
+ done
+}
+
+FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \
+ ${libdir}/imx-mm/audio-codec/wrap \
+ ${base_libdir}/firmware/imx/dsp \
+ /unit_tests \
+"
+RDEPENDS:${PN} += "imx-dsp-codec-ext"
+
+INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so"
+
+# Fix strip command failed: 'Unable to recognise the format of the input file'
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
index 7bf6d932..48be837a 100644
--- a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
+++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
@@ -4,7 +4,7 @@ LICENSE = "Proprietary"
SECTION = "multimedia"
LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1"
SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.1.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.1.bb
new file mode 100644
index 00000000..89df60d6
--- /dev/null
+++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.1.bb
@@ -0,0 +1,18 @@
+# Copyright 2023 NXP
+DESCRIPTION = "NXP Multimedia opencl converter lib"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+DEPENDS = "opencl-headers"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "426f4b1df6fe123f769aa8a0d7ef17d8"
+SRC_URI[sha256sum] = "16612be09675c2abe9c62337e6932b2e3fb788b1ec95ecede757350c4abf6870"
+
+inherit fsl-eula-unpack autotools pkgconfig meson
+
+FILES:${PN} += "${datadir}/"
+
+COMPATIBLE_MACHINE = "(^$)"
+COMPATIBLE_MACHINE:imxgpu = "(mx8-nxp-bsp)"
+COMPATIBLE_MACHINE:mx8mm-nxp-bsp = "(^$)"
diff --git a/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb b/recipes-multimedia/imx-parser/imx-parser_4.8.2.bb
index 847734a4..4b59eb2f 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.8.2.bb
@@ -1,11 +1,11 @@
# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017, 2019 NXP
+# Copyright (C) 2017-2023 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Freescale Multimedia parser libs"
LICENSE = "Proprietary"
SECTION = "multimedia"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
# For backwards compatibility
PROVIDES += "libfslparser"
@@ -13,9 +13,9 @@ RREPLACES:${PN} = "libfslparser"
RPROVIDES:${PN} = "libfslparser"
RCONFLICTS:${PN} = "libfslparser"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "987437601084e0fec59e0dbece9cf46b"
-SRC_URI[sha256sum] = "5c26f1e71ab821ef36b60fb8b6df9a3a85418e3eebc87298c4f6bee4abbc4abd"
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "2e862fce70bc82649057ed552473d982"
+SRC_URI[sha256sum] = "20f326821ced5d6855f81794b66ec1f0c334e9ec7a9be1368a9b4dc501b666c6"
inherit fsl-eula-unpack autotools pkgconfig
diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb
deleted file mode 100644
index d1fc1f76..00000000
--- a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020 NXP Semiconductors
-
-DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library"
-LICENSE = "Proprietary"
-SECTION = "multimedia"
-LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143"
-
-SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "65d5b2cb378f96a5cb4577925eda236b"
-SRC_URI[sha256sum] = "68fca50d8f7526127ee5650e9002b3f9479b197f3085c68a97f7957f50ec5e5b"
-
-inherit fsl-eula-unpack autotools pkgconfig
-
-INSANE_SKIP:${PN} = "already-stripped"
-
-FILES:${PN} += "${datadir}/imx-mm"
-
-COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
new file mode 100644
index 00000000..2b62b244
--- /dev/null
+++ b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb
@@ -0,0 +1,22 @@
+# Copyright 2020,2023 NXP
+
+DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=63a38e9f392d8813d6f1f4d0d6fbe657"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "cbd5af6e9019db789c03c2d05a8bb444"
+SRC_URI[sha256sum] = "f778a7b785fc500df5573f5b810a190ddc561267b47ca54b9ddf4ae12571cfe3"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+INSANE_SKIP:${PN} = "already-stripped"
+
+FILES:${PN} += "${datadir}/imx-mm"
+
+COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
+
+INSANE_SKIP:append:libc-musl = " file-rdeps"
+
+RDEPENDS:${PN}:append:libc-musl = " gcompat"
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index 24af9e2b..fb7e23c3 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -1,19 +1,18 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright 2017-2023 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Freescale Multimedia VPU wrapper"
LICENSE = "Proprietary"
SECTION = "multimedia"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
DEPENDS = "virtual/imxvpu"
DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}"
-
-SRCBRANCH = "MM_04.06.02_2108_L5.10.y"
-SRCREV = "f09ceba7bcf733b1b27e57462496d3b81ca28e50"
+SRCBRANCH = "MM_04.08.02_2310_L6.1.y"
+SRCREV = "6f9b4c82e37688f50d756529d90b48c3cc80f2f6"
S = "${WORKDIR}/git"
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
index cefd0112..1e7d8252 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
@@ -4,11 +4,14 @@ LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
SECTION = "multimedia"
DEPENDS = "virtual/imxvpu libimxdmabuffer"
+# Add imx-vpu-hantro-vc as dependency for being
+# able to encode video using the VC8000E encoder
+DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
PV .= "+git${SRCPV}"
SRCBRANCH ?= "master"
-SRCREV = "a650f13fb5de94e0c7c9e77f4d07ea275ea80dac"
+SRCREV = "6f803f46d6b53a08cf02fc3d440072e01e2f3a09"
SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
S = "${WORKDIR}/git"
@@ -18,7 +21,7 @@ inherit waf pkgconfig use-imx-headers
IMX_PLATFORM:mx6-nxp-bsp = "imx6"
IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m"
IMX_PLATFORM:mx8mm-nxp-bsp = "imx8mm"
-IMX_PLATFORM:mx8mp-nxp-bsp = "imx8mm"
+IMX_PLATFORM:mx8mp-nxp-bsp = "imx8mp"
EXTRA_OECONF = "--imx-platform=${IMX_PLATFORM} --libdir=${libdir} --imx-headers=${STAGING_INCDIR_IMX} --sysroot-path=${RECIPE_SYSROOT}"
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch
new file mode 100644
index 00000000..10d5a010
--- /dev/null
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch
@@ -0,0 +1,32 @@
+From c21e24f5c53e81fc715905c54a6c82b69e397e63 Mon Sep 17 00:00:00 2001
+From: "shengjiu.wang" <b02247@freescale.com>
+Date: Thu, 3 Apr 2014 14:22:02 +0800
+Subject: [PATCH] Fix pulseaudio mutex issue when do pause in gstreamer
+
+The error log is "Assertion 'pthread_mutex_unlock(&m->mutex) == 0'
+failed at pulsecore/mutex-posix.c:106, function pa_mutex_unlock(). Aborting"
+
+This fix is a workaround base on the solution from this link "
+https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/932096"
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: shengjiu.wang <b02247@freescale.com>
+---
+ src/pulsecore/mutex-posix.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/pulsecore/mutex-posix.c b/src/pulsecore/mutex-posix.c
+index 36c2787..d592501 100644
+--- a/src/pulsecore/mutex-posix.c
++++ b/src/pulsecore/mutex-posix.c
+@@ -30,6 +30,7 @@
+ #include <pulsecore/macro.h>
+
+ #include "mutex.h"
++#undef HAVE_PTHREAD_PRIO_INHERIT
+
+ struct pa_mutex {
+ pthread_mutex_t mutex;
+--
+1.7.9.5
+
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch
index 57c28741..57c28741 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
index 9eb954bb..b9f533a0 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
@@ -76,6 +76,8 @@ rlimit-rttime = 4000000
; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
+# Disable alternate-sample-rate by setting same as default
+alternate-sample-rate = 44100
; default-sample-channels = 2
; default-channel-map = front-left,front-right
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
index 83a6ba8d..b6c646b9 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
@@ -72,7 +72,7 @@ load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
-load-module module-bluetooth-discover
+load-module module-bluetooth-discover headset=auto
.endif
### Load several protocols
diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
index c7a4292e..93f71e8f 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
@@ -1,13 +1,20 @@
-
-CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
-
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx-nxp-bsp:"
-SRC_URI:append:mx6-nxp-bsp = " file://daemon.conf file://default.pa"
-SRC_URI:append:mx7-nxp-bsp = " file://daemon.conf file://default.pa \
- file://pulseaudio-remove-the-control-for-speaker-headphone-widge.patch \
-"
-SRC_URI:append:mx8-nxp-bsp = " file://daemon.conf file://default.pa"
+SRC_URI += "${SRC_URI_IMX}"
+SRC_URI_IMX = ""
+SRC_URI_IMX:mx6-nxp-bsp = " \
+ file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \
+ file://daemon.conf \
+ file://default.pa"
+SRC_URI_IMX:mx7-nxp-bsp = " \
+ ${SRC_URI_IMX:mx6-nxp-bsp} \
+ file://0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch"
+SRC_URI_IMX:mx8-nxp-bsp = " \
+ ${SRC_URI_IMX:mx6-nxp-bsp}"
+SRC_URI_IMX:mx9-nxp-bsp = " \
+ ${SRC_URI_IMX:mx6-nxp-bsp}"
+
+CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
do_install:append() {
if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then
@@ -19,3 +26,4 @@ do_install:append() {
PACKAGE_ARCH:mx6-nxp-bsp = "${MACHINE_SOCARCH}"
PACKAGE_ARCH:mx7-nxp-bsp = "${MACHINE_SOCARCH}"
PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:mx9-nxp-bsp = "${MACHINE_SOCARCH}"
diff --git a/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch b/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch
index f578148a..78ff6989 100755
--- a/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch
+++ b/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch
@@ -3,6 +3,7 @@ From: Shengjiu Wang <shengjiu.wang@nxp.com>
Date: Fri, 13 Jul 2018 18:13:24 +0800
Subject: [PATCH] tinycompress: Add id3 decoding
+Upstream-Status: Pending
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
include/tinycompress/id3_tag_decode.h | 198 +++++++++++
diff --git a/recipes-sato/webkit/webkitgtk_%.bbappend b/recipes-sato/webkit/webkitgtk_%.bbappend
new file mode 100644
index 00000000..74e24ac0
--- /dev/null
+++ b/recipes-sato/webkit/webkitgtk_%.bbappend
@@ -0,0 +1,4 @@
+# Fixes compile errors like
+# Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:198:59: error: invalid 'static_cast' from type 'GLNativeWindowType' {aka 'long unsigned int'} to type 'EGLNativeWindowType' {aka 'wl_egl_window*'}
+PACKAGECONFIG:remove:imxgpu3d = "opengl x11"
+PACKAGECONFIG:append:imxgpu3d = " gles2"
diff --git a/recipes-security/optee-imx/optee-client-fslc-imx.inc b/recipes-security/optee-imx/optee-client-fslc-imx.inc
new file mode 100644
index 00000000..4cfe18bf
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client-fslc-imx.inc
@@ -0,0 +1,7 @@
+# Copyright (C) 2017-2021 NXP
+
+require optee-client-fslc.inc
+
+SRC_URI += "git://github.com/nxp-imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH}"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-client_3.15.0.imx.bb b/recipes-security/optee-imx/optee-client-fslc.inc
index 53ee5bc4..92f9f1d1 100644
--- a/recipes-security/optee-imx/optee-client_3.15.0.imx.bb
+++ b/recipes-security/optee-imx/optee-client-fslc.inc
@@ -5,28 +5,22 @@ HOMEPAGE = "http://www.optee.org/"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
-SRCBRANCH = "lf-5.15.5_1.0.0"
-SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH} \
- file://tee-supplicant.service \
-"
-
-SRCREV = "182874320395787a389e5b0f7df02b32f3c0a1b0"
+SRC_URI = "file://tee-supplicant.service"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
-inherit python3native systemd features_check
+inherit python3native systemd features_check pkgconfig
+
+DEPENDS = "util-linux-libuuid"
REQUIRED_MACHINE_FEATURES = "optee"
SYSTEMD_SERVICE:${PN} = "tee-supplicant.service"
-OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH:armv7a = "arm32"
-OPTEE_ARCH:aarch64 = "arm64"
-
-EXTRA_OEMAKE = "ARCH=${OPTEE_ARCH} O=${B}"
+EXTRA_OEMAKE = " \
+ -C ${S} O=${B} \
+"
do_install () {
oe_runmake -C ${S} install
@@ -46,5 +40,3 @@ do_install () {
sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${WORKDIR}/tee-supplicant.service
install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
}
-
-COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-client_4.0.0.imx.bb b/recipes-security/optee-imx/optee-client_4.0.0.imx.bb
new file mode 100644
index 00000000..2a9eaa6a
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client_4.0.0.imx.bb
@@ -0,0 +1,7 @@
+require optee-client-fslc-imx.inc
+
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "acb0885c117e73cb6c5c9b1dd9054cb3f93507ee"
+
+DEPENDS += "util-linux"
+EXTRA_OEMAKE += "PKG_CONFIG=pkg-config"
diff --git a/recipes-security/optee-imx/optee-fslc.inc b/recipes-security/optee-imx/optee-fslc.inc
new file mode 100644
index 00000000..6c96dc2b
--- /dev/null
+++ b/recipes-security/optee-imx/optee-fslc.inc
@@ -0,0 +1,26 @@
+HOMEPAGE = "http://www.optee.org/"
+
+inherit python3native features_check
+
+REQUIRED_MACHINE_FEATURES = "optee"
+
+DEPENDS = "python3-cryptography-native"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEE_ARCH:arm = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
+
+COMPILER ?= "gcc"
+COMPILER:toolchain-clang = "clang"
+
+CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
+CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}"
+
+EXTRA_OEMAKE = " \
+ COMPILER=${COMPILER} \
+ OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \
+ OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \
+ -C ${S} O=${B} \
+"
diff --git a/recipes-security/optee-imx/optee-os-fslc-imx.inc b/recipes-security/optee-imx/optee-os-fslc-imx.inc
new file mode 100644
index 00000000..6b72e827
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-fslc-imx.inc
@@ -0,0 +1,26 @@
+require optee-os-fslc.inc
+
+SRC_URI = "git://github.com/nxp-imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH}"
+
+# The platform flavor corresponds to the Yocto machine without the leading 'i'.
+PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}"
+PLATFORM_FLAVOR:imx6qdlsabresd = "mx6qsabresd"
+PLATFORM_FLAVOR:imx6qdlsabreauto = "mx6qsabreauto"
+PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd"
+PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk"
+PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk"
+PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk"
+PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk"
+PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk"
+PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk"
+PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk"
+PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk"
+PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk"
+PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek"
+PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek"
+PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek"
+PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk"
+PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk"
+PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-os-fslc.inc b/recipes-security/optee-imx/optee-os-fslc.inc
new file mode 100644
index 00000000..b91a5531
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-fslc.inc
@@ -0,0 +1,87 @@
+# Copyright (C) 2017-2021 NXP
+
+SUMMARY = "OPTEE OS"
+DESCRIPTION = "OPTEE OS"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
+
+require optee-fslc.inc
+
+DEPENDS += "python3-pyelftools-native u-boot-mkimage-native"
+DEPENDS:append:toolchain-clang = " compiler-rt"
+
+inherit deploy autotools
+
+# Optee-os can be built for 32 bits and 64 bits at the same time
+# as long as the compilers are correctly defined.
+# For 64bits, CROSS_COMPILE64 must be set
+# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that
+# any 32 or 64 bits builds will pass
+EXTRA_OEMAKE += " \
+ PLATFORM=imx-${PLATFORM_FLAVOR} \
+ CROSS_COMPILE=${HOST_PREFIX} \
+ CROSS_COMPILE64=${HOST_PREFIX} \
+ CFLAGS32=--sysroot=${STAGING_DIR_HOST} \
+ CFLAGS64=--sysroot=${STAGING_DIR_HOST} \
+ CFG_TEE_TA_LOG_LEVEL=0 \
+ CFG_TEE_CORE_LOG_LEVEL=0 \
+"
+
+EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \
+ CFG_CORE_LARGE_PHYS_ADDR=y \
+ CFG_CORE_ARM64_PA_BITS=36 \
+ CFG_DDR_SIZE=0x100000000 \
+ CFG_TZDRAM_START=0xfe000000 \
+"
+
+LDFLAGS[unexport] = "1"
+CPPFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_configure[noexec] = "1"
+
+do_compile:prepend() {
+ PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name)
+}
+
+do_compile:arm () {
+ oe_runmake all uTee
+}
+
+do_compile:aarch64 () {
+ oe_runmake all
+}
+do_compile[cleandirs] = "${B}"
+
+do_deploy () {
+ install -d ${DEPLOYDIR}
+ cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin
+ ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin
+}
+
+do_deploy:append:arm () {
+ cp ${B}/core/uTee ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
+}
+
+do_install () {
+ install -d ${D}${nonarch_base_libdir}/firmware/
+ install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
+
+ # Install embedded TAs
+ install -d ${D}${nonarch_base_libdir}/optee_armtz/
+ install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
+
+ # Install the TA devkit
+ install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
+ cp -aR ${B}/export-ta_${OPTEE_ARCH}/* \
+ ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
+}
+
+addtask deploy after do_compile before do_install
+
+FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/"
+FILES:${PN}-staticdev = "${includedir}/optee/"
+RDEPENDS:${PN}-dev += "${PN}-staticdev"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch b/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
new file mode 100644
index 00000000..54fbe541
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
@@ -0,0 +1,245 @@
+From ef83625c9a5f50610e25aa860c4b9c5e64723a66 Mon Sep 17 00:00:00 2001
+From: Emekcan Aras <emekcan.aras@arm.com>
+Date: Wed, 21 Dec 2022 10:55:58 +0000
+Subject: [PATCH 1/4] core: Define section attributes for clang
+
+Clang's attribute section is not same as gcc, here we need to add flags
+to sections so they can be eventually collected by linker into final
+output segments. Only way to do so with clang is to use
+
+pragma clang section ...
+
+The behavious is described here [1], this allows us to define names bss
+sections. This was not an issue until clang-15 where LLD linker starts
+to detect the section flags before merging them and throws the following
+errors
+
+| ld.lld: error: section type mismatch for .nozi.kdata_page
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+|
+| ld.lld: error: section type mismatch for .nozi.mmu.l2
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+
+These sections should be carrying SHT_NOBITS but so far it was not
+possible to do so, this patch tries to use clangs pragma to get this
+going and match the functionality with gcc.
+
+[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
+---
+
+ core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
+ core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++----
+ core/arch/arm/mm/core_mmu_v7.c | 36 +++++++++++++++++++++++++++++---
+ core/kernel/thread.c | 13 +++++++++++-
+ core/mm/pgt_cache.c | 12 ++++++++++-
+ 5 files changed, 104 insertions(+), 11 deletions(-)
+
+diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
+index 66833b3a0..b3eb9cf9a 100644
+--- a/core/arch/arm/kernel/thread.c
++++ b/core/arch/arm/kernel/thread.c
+@@ -45,15 +45,30 @@ static size_t thread_user_kcode_size __nex_bss;
+ #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
+ defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
+ long thread_user_kdata_sp_offset __nex_bss;
++#ifdef __clang__
++#ifndef CFG_VIRTUALIZATION
++#pragma clang section bss=".nozi.kdata_page"
++#else
++#pragma clang section bss=".nex_nozi.kdata_page"
++#endif
++#endif
+ static uint8_t thread_user_kdata_page[
+ ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
+ SMALL_PAGE_SIZE)]
+ __aligned(SMALL_PAGE_SIZE)
++#ifndef __clang__
+ #ifndef CFG_NS_VIRTUALIZATION
+- __section(".nozi.kdata_page");
++ __section(".nozi.kdata_page")
+ #else
+- __section(".nex_nozi.kdata_page");
++ __section(".nex_nozi.kdata_page")
+ #endif
++#endif
++ ;
++#endif
++
++/* reset BSS section to default ( .bss ) */
++#ifdef __clang__
++#pragma clang section bss=""
+ #endif
+
+ #ifdef ARM32
+diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
+index 4c8b85e39..1885e1d3f 100644
+--- a/core/arch/arm/mm/core_mmu_lpae.c
++++ b/core/arch/arm/mm/core_mmu_lpae.c
+@@ -234,19 +234,46 @@ typedef uint16_t l1_idx_t;
+ typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
+ typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.base_table"
++#endif
+ static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
+ __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
+- __section(".nozi.mmu.base_table");
++#ifndef __clang__
++ __section(".nozi.mmu.base_table")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
++ __aligned(XLAT_TABLE_SIZE)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ /* MMU L2 table for TAs, one for each thread */
+ static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
+-
++#ifndef __clang__
++ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ /*
+ * TAs page table entry inside a level 1 page table.
+ *
+diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c
+index 61e703da8..1960c08ca 100644
+--- a/core/arch/arm/mm/core_mmu_v7.c
++++ b/core/arch/arm/mm/core_mmu_v7.c
+@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES];
+ typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
+ typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l1"
++#endif
+ static l1_xlat_tbl_t main_mmu_l1_ttb
+- __aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
++ __aligned(L1_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.l1")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ /* L2 MMU tables */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
+- __aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
++ __aligned(L2_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ /* MMU L1 table for TAs, one for each thread */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.ul1"
++#endif
+ static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
+- __aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
++ __aligned(UL1_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.ul1")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ struct mmu_partition {
+ l1_xlat_tbl_t *l1_table;
+diff --git a/core/kernel/thread.c b/core/kernel/thread.c
+index 2a1f22dce..5516b6771 100644
+--- a/core/kernel/thread.c
++++ b/core/kernel/thread.c
+@@ -39,13 +39,24 @@ static uint32_t end_canary_value = 0xababab00;
+ name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
+ #endif
+
++#define DO_PRAGMA(x) _Pragma (#x)
++
++#ifdef __clang__
++#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
++DO_PRAGMA (clang section bss=".nozi_stack." #name) \
++linkage uint32_t name[num_stacks] \
++ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
++ STACK_ALIGNMENT) / sizeof(uint32_t)] \
++ __attribute__((aligned(STACK_ALIGNMENT))); \
++DO_PRAGMA(clang section bss="")
++#else
+ #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
+ linkage uint32_t name[num_stacks] \
+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
+ __attribute__((section(".nozi_stack." # name), \
+ aligned(STACK_ALIGNMENT)))
+-
++#endif
+ #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
+
+ DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE,
+diff --git a/core/mm/pgt_cache.c b/core/mm/pgt_cache.c
+index 79553c6d2..b9efdf427 100644
+--- a/core/mm/pgt_cache.c
++++ b/core/mm/pgt_cache.c
+@@ -410,8 +410,18 @@ void pgt_init(void)
+ * has a large alignment, while .bss has a small alignment. The current
+ * link script is optimized for small alignment in .bss
+ */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
+- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
++ __aligned(PGT_SIZE)
++#ifndef __clang__
++ __section(".nozi.pgt_cache")
++#endif
++ ;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ size_t n;
+
+ for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
+--
+2.43.2
+
diff --git a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch b/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch
new file mode 100644
index 00000000..dbc53542
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch
@@ -0,0 +1,34 @@
+From 2ba573c9763329fbfdfacc8393d565ab747cac4d Mon Sep 17 00:00:00 2001
+From: Brett Warren <brett.warren@arm.com>
+Date: Wed, 23 Sep 2020 09:27:34 +0100
+Subject: [PATCH 2/4] optee: enable clang support
+
+When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
+to provide a sysroot wasn't included, which results in not locating
+compiler-rt. This is mitigated by including the variable as ammended.
+
+Upstream-Status: Pending
+ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
+Signed-off-by: Brett Warren <brett.warren@arm.com>
+Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
+---
+
+ mk/clang.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mk/clang.mk b/mk/clang.mk
+index a045beee8..1ebe2f702 100644
+--- a/mk/clang.mk
++++ b/mk/clang.mk
+@@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
+
+ # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
+ # libgcc for clang
+-libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
++libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
+ -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
+
+ # Core ASLR relies on the executable being ready to run from its preferred load
+--
+2.43.2
+
diff --git a/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch b/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch
new file mode 100644
index 00000000..1c5753c7
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch
@@ -0,0 +1,133 @@
+From 6f738803a59613ec4a683ddbc1747ebffd75a4e6 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 12:31:46 +0000
+Subject: [PATCH 3/4] arm32: libutils, libutee, ta: add .note.GNU-stack section
+ to
+
+ .S files
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when linking Trusted Applications:
+
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+We could silence the warning by adding the '-z execstack' option to the
+TA link flags, like we did in the parent commit for the TEE core and
+ldelf. Indeed, ldelf always allocates a non-executable piece of memory
+for the TA to use as a stack.
+
+However it seems preferable to comply with the common ELF practices in
+this case. A better fix is therefore to add the missing .note.GNU-stack
+sections in the assembler files.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
+---
+
+ lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
+ ta/arch/arm/ta_entry_a32.S | 2 ++
+ 7 files changed, 14 insertions(+)
+
+diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
+index 2dea83ab8..668b65a86 100644
+--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
++++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
+@@ -9,6 +9,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ .section .text
+ .balign 4
+ .code 32
+diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
+index 2be73ffad..87ddf1065 100644
+--- a/lib/libutils/ext/arch/arm/atomic_a32.S
++++ b/lib/libutils/ext/arch/arm/atomic_a32.S
+@@ -7,6 +7,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* uint32_t atomic_inc32(uint32_t *v); */
+ FUNC atomic_inc32 , :
+ ldrex r1, [r0]
+diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
+index 54dc3c02d..2f24632b8 100644
+--- a/lib/libutils/ext/arch/arm/mcount_a32.S
++++ b/lib/libutils/ext/arch/arm/mcount_a32.S
+@@ -9,6 +9,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * Convert return address to call site address by subtracting the size of the
+ * mcount call instruction (blx __gnu_mcount_nc).
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+index 37ae9ec6f..bc6c48b1a 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+@@ -7,6 +7,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * signed ret_idivmod_values(signed quot, signed rem);
+ * return quotient and remaining the EABI way (regs r0,r1)
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+index 5c3353e2c..9fb5e0283 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+@@ -7,6 +7,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
+ */
+diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+index f8a0b70df..37d7cb88e 100644
+--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
++++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+@@ -53,6 +53,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* Arm/Thumb interworking support:
+
+ The interworking scheme expects functions to use a BX instruction
+diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
+index cd9a12f9d..ccdc19928 100644
+--- a/ta/arch/arm/ta_entry_a32.S
++++ b/ta/arch/arm/ta_entry_a32.S
+@@ -7,6 +7,8 @@
+
+ .section .note.GNU-stack,"",%progbits
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * This function is the bottom of the user call stack. Mark it as such so that
+ * the unwinding code won't try to go further down.
+--
+2.43.2
+
diff --git a/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch b/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch
new file mode 100644
index 00000000..f32b2284
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch
@@ -0,0 +1,67 @@
+From a63f82f74e015eb662242cdb51ef814e3f576829 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Fri, 5 Aug 2022 09:48:03 +0200
+Subject: [PATCH 4/4] core: link: add --no-warn-rwx-segments
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5474]
+
+binutils ld.bfd generates one RWX LOAD segment by merging several sections
+with mixed R/W/X attributes (.text, .rodata, .data). After version 2.38 it
+also warns by default when that happens [1], which breaks the build due to
+--fatal-warnings. The RWX segment is not a problem for the TEE core, since
+that information is not used to set memory permissions. Therefore, silence
+the warning.
+
+Link: [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448
+Reported-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
+Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
+---
+
+ core/arch/arm/kernel/link.mk | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index 49e9f4fa1..9e1cc172f 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
+ link-ldflags += $(link-ldflags-common)
++link-ldflags += $(call ld-option,--no-warn-rwx-segments)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -61,6 +62,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
++ $(call ld-option,--no-warn-rwx-segments) \
+ $(link-ldflags-common) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+@@ -75,7 +77,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+ unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(link-ldflags-common)
++ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -104,7 +106,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+ init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(link-ldflags-common)
++ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
+--
+2.43.2
+
diff --git a/recipes-security/optee-imx/optee-os_3.15.0.imx.bb b/recipes-security/optee-imx/optee-os_3.15.0.imx.bb
deleted file mode 100644
index 15244c45..00000000
--- a/recipes-security/optee-imx/optee-os_3.15.0.imx.bb
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright (C) 2017-2021 NXP
-
-SUMMARY = "OPTEE OS"
-DESCRIPTION = "OPTEE OS"
-HOMEPAGE = "http://www.optee.org/"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
-
-DEPENDS = "python3-pycryptodomex-native python3-pyelftools-native u-boot-mkimage-native"
-
-SRCBRANCH = "lf-5.15.5_1.0.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH}"
-
-SRCREV = "807629a0889ad5e888f1fd187932ab7f701ddf8c"
-
-S = "${WORKDIR}/git"
-
-inherit deploy python3native autotools features_check
-
-REQUIRED_MACHINE_FEATURES = "optee"
-
-# The platform flavor corresponds to the Yocto machine without the leading 'i'.
-PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}"
-PLATFORM_FLAVOR:imx6qdlsabresd = "mx6qsabresd"
-PLATFORM_FLAVOR:imx6qdlsabreauto = "mx6qsabreauto"
-PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd"
-PLATFORM_FLAVOR:imx6ul = "mx6ulevk"
-PLATFORM_FLAVOR:imx6ull = "mx6ullevk"
-PLATFORM_FLAVOR:imx6ull = "mx6ullevk"
-PLATFORM_FLAVOR:imx6ulz = "mx6ulzevk"
-PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk"
-PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk"
-PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk"
-PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk"
-PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk"
-PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk"
-PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek"
-PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek"
-PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek"
-PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk"
-PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk"
-
-OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH:armv7a = "arm32"
-OPTEE_ARCH:aarch64 = "arm64"
-
-# Optee-os can be built for 32 bits and 64 bits at the same time
-# as long as the compilers are correctly defined.
-# For 64bits, CROSS_COMPILE64 must be set
-# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that
-# any 32 or 64 bits builds will pass
-EXTRA_OEMAKE = " \
- PLATFORM=imx \
- PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \
- CROSS_COMPILE=${HOST_PREFIX} \
- CROSS_COMPILE64=${HOST_PREFIX} \
- CFG_TEE_TA_LOG_LEVEL=0 \
- CFG_TEE_CORE_LOG_LEVEL=0 \
- -C ${S} O=${B}\
-"
-
-LDFLAGS = ""
-CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
-CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}"
-
-do_deploy () {
- install -d ${DEPLOYDIR}
- cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin
- ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin
-
- if [ "${OPTEE_ARCH}" != "arm64" ]; then
- IMX_LOAD_ADDR=`${TARGET_PREFIX}readelf -h ${B}/core/tee.elf | grep "Entry point address" | awk '{print $4}'`
- uboot-mkimage -A arm -O linux -C none -a ${IMX_LOAD_ADDR} -e ${IMX_LOAD_ADDR} \
- -d ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
- fi
-}
-
-do_install () {
- install -d ${D}${nonarch_base_libdir}/firmware/
- install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
-
- # Install the TA devkit
- install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
-
- for f in ${B}/export-ta_${OPTEE_ARCH}/*; do
- cp -aR $f ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
- done
-
- # Install embedded TAs
- install -d ${D}${nonarch_base_libdir}/optee_armtz
- find ${B}/ta -name '*.ta' | while read name; do
- install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/
- done
-}
-
-addtask deploy after do_compile before do_install
-
-
-FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/"
-FILES:${PN}-staticdev = "${includedir}/optee/"
-RDEPENDS:${PN}-dev += "${PN}-staticdev"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-os_4.0.0.imx.bb b/recipes-security/optee-imx/optee-os_4.0.0.imx.bb
new file mode 100644
index 00000000..cecfc23c
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os_4.0.0.imx.bb
@@ -0,0 +1,12 @@
+# Copyright (C) 2017-2021 NXP
+
+require optee-os-fslc-imx.inc
+
+SRC_URI += " \
+ file://0001-core-Define-section-attributes-for-clang.patch \
+ file://0002-optee-enable-clang-support.patch \
+ file://0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch \
+ file://0004-core-link-add-no-warn-rwx-segments.patch \
+"
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "a303fc80f7c4bd713315687a1fa1d6ed136e78ee"
diff --git a/recipes-security/optee-imx/optee-test-fslc.inc b/recipes-security/optee-imx/optee-test-fslc.inc
new file mode 100644
index 00000000..e0c133a7
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test-fslc.inc
@@ -0,0 +1,38 @@
+# Copyright (C) 2017-2021 NXP
+
+SUMMARY = "OPTEE test"
+LICENSE = "BSD-2-Clause & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
+
+require optee-fslc.inc
+
+DEPENDS += "optee-os optee-client openssl"
+
+EXTRA_OEMAKE += " \
+ TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \
+ CROSS_COMPILE_HOST=${HOST_PREFIX} \
+ CROSS_COMPILE_TA=${HOST_PREFIX} \
+ CROSS_COMPILE=${HOST_PREFIX} \
+"
+
+do_compile() {
+ oe_runmake all
+}
+do_compile[cleandirs] = "${B}"
+
+do_install () {
+ install -d ${D}${bindir}
+ install ${B}/xtest/xtest ${D}${bindir}
+
+ install -d ${D}${nonarch_base_libdir}/optee_armtz
+ find ${B}/ta -name '*.ta' | while read name; do
+ install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/
+ done
+
+ install -d ${D}${libdir}/tee-supplicant/plugins/
+ install ${B}/supp_plugin/*plugin ${D}${libdir}/tee-supplicant/plugins/
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/"
+
+RDEPENDS:${PN} = "optee-os"
diff --git a/recipes-security/optee-imx/optee-test_3.15.0.imx.bb b/recipes-security/optee-imx/optee-test_3.15.0.imx.bb
deleted file mode 100644
index a44454a7..00000000
--- a/recipes-security/optee-imx/optee-test_3.15.0.imx.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (C) 2017-2021 NXP
-
-SUMMARY = "OPTEE test"
-HOMEPAGE = "http://www.optee.org/"
-
-LICENSE = "BSD-2-Clause & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
-
-DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native optee-os optee-client openssl"
-
-SRCBRANCH = "lf-5.15.5_1.0.0"
-
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-optee-test.git;protocol=https;branch=${SRCBRANCH}"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-SRCREV = "e9d8bf6ee121d6686e6e409c727caee76496bb86"
-
-inherit python3native features_check
-
-REQUIRED_MACHINE_FEATURES = "optee"
-
-OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH:armv7a = "arm32"
-OPTEE_ARCH:aarch64 = "arm64"
-
-TA_DEV_KIT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32/"
-TA_DEV_KIT_DIR:aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64/"
-
-CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
-CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}"
-
-EXTRA_OEMAKE = " \
- TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
- ARCH=${OPTEE_ARCH} \
- OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \
- CROSS_COMPILE_HOST=${HOST_PREFIX} \
- CROSS_COMPILE_TA=${HOST_PREFIX} \
- CROSS_COMPILE=${HOST_PREFIX} \
- -C ${S} O=${B} \
-"
-
-do_compile() {
- oe_runmake all
-}
-do_compile[cleandirs] = "${B}"
-
-do_install () {
- install -d ${D}${bindir}
- install ${B}/xtest/xtest ${D}${bindir}
-
- install -d ${D}${nonarch_base_libdir}/optee_armtz
- find ${B}/ta -name '*.ta' | while read name; do
- install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/
- done
-
- install -d ${D}${libdir}/tee-supplicant/plugins/
- install ${B}/supp_plugin/*plugin ${D}${libdir}/tee-supplicant/plugins/
-}
-
-FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/"
-
-RDEPENDS:${PN} = "optee-os"
-
-COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test_4.0.0.imx.bb b/recipes-security/optee-imx/optee-test_4.0.0.imx.bb
new file mode 100644
index 00000000..dd4ee307
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test_4.0.0.imx.bb
@@ -0,0 +1,10 @@
+# Copyright (C) 2017-2021 NXP
+
+require optee-test-fslc.inc
+
+SRC_URI = "git://github.com/nxp-imx/imx-optee-test.git;protocol=https;branch=${SRCBRANCH}"
+
+SRCBRANCH = "lf-6.1.55_2.2.0"
+SRCREV = "38efacef3b14b32a6792ceaebe211b5718536fbb"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee/optee-client-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb
index 94123e43..94123e43 100644
--- a/recipes-security/optee/optee-client-qoriq_3.13.0.bb
+++ b/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb
diff --git a/recipes-security/optee/optee-client.nxp.inc b/recipes-security/optee-qoriq/optee-client.nxp.inc
index fa187e84..a7d34497 100644
--- a/recipes-security/optee/optee-client.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-client.nxp.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
inherit python3native systemd
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/optee_client.git;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/optee_client.git;protocol=https;nobranch=1"
SRCREV = "7c9c423d00e96bf51debd5fe10fd70dce83be5cc"
FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
diff --git a/recipes-security/optee/optee-client/tee-supplicant.service b/recipes-security/optee-qoriq/optee-client/tee-supplicant.service
index 0e2b4f6b..0e2b4f6b 100644
--- a/recipes-security/optee/optee-client/tee-supplicant.service
+++ b/recipes-security/optee-qoriq/optee-client/tee-supplicant.service
diff --git a/recipes-security/optee/optee-os-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb
index 3c3652d3..3c3652d3 100644
--- a/recipes-security/optee/optee-os-qoriq_3.13.0.bb
+++ b/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb
diff --git a/recipes-security/optee/optee-os.nxp.inc b/recipes-security/optee-qoriq/optee-os.nxp.inc
index 72af6ca4..5b90b937 100644
--- a/recipes-security/optee/optee-os.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-os.nxp.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
inherit deploy python3native autotools
DEPENDS = "python3-pycryptodome-native python3-pyelftools-native python3-pycryptodomex-native dtc-native"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/optee_os.git;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1"
SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e"
S = "${WORKDIR}/git"
diff --git a/recipes-security/optee/optee-test-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb
index 69ef73d3..69ef73d3 100644
--- a/recipes-security/optee/optee-test-qoriq_3.13.0.bb
+++ b/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb
diff --git a/recipes-security/optee/optee-test.nxp.inc b/recipes-security/optee-qoriq/optee-test.nxp.inc
index e3ba0c8e..14a42ac5 100644
--- a/recipes-security/optee/optee-test.nxp.inc
+++ b/recipes-security/optee-qoriq/optee-test.nxp.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native openssl"
inherit python3native cmake
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/optee_test.git;nobranch=1"
+SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1"
SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad"
S = "${WORKDIR}/git"
diff --git a/recipes-security/smw/keyctl-caam_git.bb b/recipes-security/smw/keyctl-caam_git.bb
new file mode 100644
index 00000000..25a5f656
--- /dev/null
+++ b/recipes-security/smw/keyctl-caam_git.bb
@@ -0,0 +1,23 @@
+# Copyright 2020-2022 NXP
+
+SUMMARY = "NXP i.MX CAAM Keyctl"
+DESCRIPTION = "NXP i.MX keyctl tool to manage CAAM Keys"
+SECTION = "base"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8636bd68fc00cc6a3809b7b58b45f982"
+
+SRCBRANCH = "master"
+SRC_URI = "git://github.com/nxp-imx/keyctl_caam.git;protocol=https;branch=${SRCBRANCH}"
+
+SRCREV = "81dc06cdb9c4d0d4ba10459d85af9a8603774948"
+
+S = "${WORKDIR}/git"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ oe_runmake DESTDIR=${D} install
+}
+
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
+
diff --git a/recipes-security/smw/smw_git.bb b/recipes-security/smw/smw_git.bb
new file mode 100644
index 00000000..3f77ad06
--- /dev/null
+++ b/recipes-security/smw/smw_git.bb
@@ -0,0 +1,64 @@
+# Copyright 2020-23 NXP
+
+SUMMARY = "NXP i.MX Security Middleware Library"
+DESCRIPTION = "NXP i.MX Security Middleware Library"
+SECTION = "base"
+LICENSE = "BSD-3-Clause"
+LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8636bd68fc00cc6a3809b7b58b45f982 \
+ file://../psa-arch-tests/LICENSE.md;md5=2a944942e1496af1886903d274dedb13"
+
+DEPENDS = "json-c optee-os optee-client python3-cryptography-native"
+DEPENDS:append:mx8qxp-nxp-bsp = " imx-seco-libs"
+DEPENDS:append:mx8dx-nxp-bsp = " imx-seco-libs"
+DEPENDS:append:mx8ulp-nxp-bsp = " imx-secure-enclave"
+
+SRC_URI = "git://github.com/nxp-imx/imx-smw.git;protocol=https;branch=release/version_2.x;name=smw;destsuffix=git/smw \
+ git://github.com/ARM-software/psa-arch-tests.git;protocol=https;branch=main;name=psa;destsuffix=git/psa-arch-tests \
+ "
+SRCREV_smw = "f0570b3e8cb5f68d54edc4f9dd7cb984f6f604ed"
+SRCREV_psa = "463cb95ada820bc6f758d50066cf8c0ed5cc3a02"
+SRCREV_FORMAT = "smw_psa"
+S = "${WORKDIR}/git/smw"
+
+inherit cmake python3native
+
+CFLAGS[unexport] = "1"
+CPPFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+# setting the linker options
+TARGET_LDFLAGS:remove = "${DEBUG_PREFIX_MAP}"
+
+OPTEE_OS_TA_EXPORT_DIR:aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64"
+OPTEE_OS_TA_EXPORT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32"
+
+# Needs to sign OPTEE TAs
+export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules"
+
+EXTRA_OECMAKE = " \
+ -DTA_DEV_KIT_ROOT=${OPTEE_OS_TA_EXPORT_DIR} \
+ -DTEEC_ROOT=${STAGING_DIR_HOST} \
+ -DJSONC_ROOT="${COMPONENTS_DIR}/${TARGET_ARCH}/json-c/usr" \
+ -DPSA_ARCH_TESTS_SRC_PATH=../${PSA_ARCH_TESTS_SRC_PATH} \
+"
+EXTRA_OECMAKE:append:mx8qxp-nxp-bsp = "-DSECO_ROOT=${STAGING_DIR_HOST}"
+EXTRA_OECMAKE:append:mx8dx-nxp-bsp = "-DSECO_ROOT=${STAGING_DIR_HOST}"
+EXTRA_OECMAKE:append:mx8ulp-nxp-bsp = "-DELE_ROOT=${STAGING_DIR_HOST}"
+EXTRA_OECMAKE_IMX:mx93-nxp-bsp = "-DELE_ROOT=${STAGING_DIR_HOST}"
+
+OECMAKE_TARGET_COMPILE += "build_tests"
+OECMAKE_TARGET_INSTALL += "install_tests"
+
+INSANE_SKIP_${PN}-tests = "textrel"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN} += "${base_libdir}/optee_armtz/*"
+
+FILES:${PN}-tests = "${bindir}/* ${datadir}/${BPN}/*"
+
+RDEPENDS:${PN}-tests += "bash cmake"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
index 9e6a6137..b1b00623 100644
--- a/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
+++ b/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
@@ -3,6 +3,7 @@ From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Thu, 31 Mar 2016 00:20:15 +0200
Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp
+Upstream-Status: Pending
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
diff --git a/recipes-support/opencv/opencv/0001-Add-missing-header-for-LIBAVCODEC_VERSION_INT.patch b/recipes-support/opencv/opencv/0001-Add-missing-header-for-LIBAVCODEC_VERSION_INT.patch
new file mode 100644
index 00000000..59da6ab3
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Add-missing-header-for-LIBAVCODEC_VERSION_INT.patch
@@ -0,0 +1,26 @@
+From d6bdd0a91eb0ed57688c0af5ba5088cf0afdc0a0 Mon Sep 17 00:00:00 2001
+From: Jochen Sprickerhof <jspricke@debian.org>
+Date: Mon, 8 Aug 2022 21:10:13 +0200
+Subject: [PATCH] Add missing header for LIBAVCODEC_VERSION_INT
+
+Upstream-Status: Backport [https://github.com/opencv/opencv/pull/22357]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/videoio/src/ffmpeg_codecs.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/videoio/src/ffmpeg_codecs.hpp b/modules/videoio/src/ffmpeg_codecs.hpp
+index 61788e0345..faad2596ed 100644
+--- a/modules/videoio/src/ffmpeg_codecs.hpp
++++ b/modules/videoio/src/ffmpeg_codecs.hpp
+@@ -60,6 +60,7 @@ extern "C" {
+ #include <errno.h>
+ #endif
+
++#include <libavcodec/version.h>
+ #include <libavformat/avformat.h>
+
+ #ifdef __cplusplus
+--
+2.38.1
+
diff --git a/recipes-support/opencv/opencv/0001-Add-smaller-version-of-download_models.py.patch b/recipes-support/opencv/opencv/0001-Add-smaller-version-of-download_models.py.patch
index 0aabee29..46232ec5 100644
--- a/recipes-support/opencv/opencv/0001-Add-smaller-version-of-download_models.py.patch
+++ b/recipes-support/opencv/opencv/0001-Add-smaller-version-of-download_models.py.patch
@@ -3,6 +3,7 @@ From: Tom Hochstein <tom.hochstein@nxp.com>
Date: Tue, 1 Sep 2020 14:57:07 -0500
Subject: [PATCH] Add smaller version of download_models.py
+Upstream-Status: Pending
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
---
testdata/dnn/download_models_basic.py | 159 ++++++++++++++++++++++++++
diff --git a/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch b/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
index 1e47f8b1..aa7d335e 100644
--- a/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
+++ b/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
@@ -4,6 +4,7 @@ Date: Wed, 9 May 2018 13:33:59 -0700
Subject: [PATCH] Temporarliy work around deprecated ffmpeg RAW function
compile failure until next uprev
+Upstream-Status: Inappropriate [platform specific]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
diff --git a/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch b/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
index bb47ef2b..d39c0582 100644
--- a/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
+++ b/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
@@ -7,6 +7,7 @@ Subject: [PATCH] To fix errors as following:
"perf_abs.cpp:13: undefined reference to `cvtest::param_seed'"
"test_superres.cpp:270: undefined reference to `checkIppStatus()'"
+Upstream-Status: Pending
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Also add the visibility changes for certain OpenCL-related functions in
diff --git a/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
index 0e83e994..ef7831a5 100644
--- a/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
+++ b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
@@ -31,7 +31,7 @@ Index: git/samples/dnn/classification.cpp
===================================================================
--- git.orig/samples/dnn/classification.cpp
+++ git/samples/dnn/classification.cpp
-@@ -11,6 +11,7 @@ std::string keys =
+@@ -12,6 +12,7 @@ std::string keys =
"{ help h | | Print help message. }"
"{ @alias | | An alias name of model to extract preprocessing parameters from models.yml file. }"
"{ zoo | models.yml | An optional path to file with preprocessing parameters }"
@@ -39,7 +39,7 @@ Index: git/samples/dnn/classification.cpp
"{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}"
"{ initial_width | 0 | Preprocess input image by initial resizing to a specific width.}"
"{ initial_height | 0 | Preprocess input image by initial resizing to a specific height.}"
-@@ -102,7 +103,7 @@ int main(int argc, char** argv)
+@@ -113,7 +114,7 @@ int main(int argc, char** argv)
if (parser.has("input"))
cap.open(parser.get<String>("input"));
else
@@ -48,19 +48,21 @@ Index: git/samples/dnn/classification.cpp
//! [Open a video file or an image file or a camera stream]
// Process frames.
-@@ -151,13 +152,13 @@ int main(int argc, char** argv)
- double freq = getTickFrequency() / 1000;
- double t = net.getPerfProfile(layersTimes) / freq;
- std::string label = format("Inference time: %.2f ms", t);
+@@ -195,14 +196,14 @@ int main(int argc, char** argv)
+ }
+ std::string label = format("Inference time of 1 round: %.2f ms", t1);
+ std::string label2 = format("Average time of 200 rounds: %.2f ms", timeRecorder.getTimeMilli()/200);
- putText(frame, label, Point(0, 15), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0));
+- putText(frame, label2, Point(0, 35), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0));
+ putText(frame, label, Point(0, 20), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false);
++ putText(frame, label2, Point(0, 45), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false);
// Print predicted class.
label = format("%s: %.4f", (classes.empty() ? format("Class #%d", classId).c_str() :
classes[classId].c_str()),
confidence);
-- putText(frame, label, Point(0, 40), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0));
-+ putText(frame, label, Point(0, 45), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false);
+- putText(frame, label, Point(0, 55), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0));
++ putText(frame, label, Point(0, 70), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false);
imshow(kWinName, frame);
}
@@ -68,7 +70,7 @@ Index: git/samples/dnn/object_detection.cpp
===================================================================
--- git.orig/samples/dnn/object_detection.cpp
+++ git/samples/dnn/object_detection.cpp
-@@ -251,13 +251,13 @@ int main(int argc, char** argv)
+@@ -260,13 +260,13 @@ int main(int argc, char** argv)
if (predictionsQueue.counter > 1)
{
std::string label = format("Camera: %.2f FPS", framesQueue.getFPS());
@@ -85,7 +87,7 @@ Index: git/samples/dnn/object_detection.cpp
}
imshow(kWinName, frame);
}
-@@ -293,7 +293,7 @@ int main(int argc, char** argv)
+@@ -302,7 +302,7 @@ int main(int argc, char** argv)
double freq = getTickFrequency() / 1000;
double t = net.getPerfProfile(layersTimes) / freq;
std::string label = format("Inference time: %.2f ms", t);
@@ -94,7 +96,7 @@ Index: git/samples/dnn/object_detection.cpp
imshow(kWinName, frame);
}
-@@ -462,7 +462,7 @@ void drawPred(int classId, float conf, i
+@@ -471,7 +471,7 @@ void drawPred(int classId, float conf, i
top = max(top, labelSize.height);
rectangle(frame, Point(left, top - labelSize.height),
Point(left + labelSize.width, top + baseLine), Scalar::all(255), FILLED);
@@ -107,7 +109,7 @@ Index: git/samples/dnn/segmentation.cpp
===================================================================
--- git.orig/samples/dnn/segmentation.cpp
+++ git/samples/dnn/segmentation.cpp
-@@ -157,7 +157,7 @@ int main(int argc, char** argv)
+@@ -162,7 +162,7 @@ int main(int argc, char** argv)
double freq = getTickFrequency() / 1000;
double t = net.getPerfProfile(layersTimes) / freq;
std::string label = format("Inference time: %.2f ms", t);
diff --git a/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch b/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
new file mode 100644
index 00000000..3538f24b
--- /dev/null
+++ b/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
@@ -0,0 +1,408 @@
+From 5e4150826fea6f37276f348c65d94ce4847d1211 Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Sat, 7 Oct 2023 10:11:25 +0900
+Subject: [PATCH] 3rdparty: supporting protobuf v22 and later
+
+Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/24372]
+---
+ cmake/OpenCVFindProtobuf.cmake | 37 ++++++++++++++++++++++++++++++++++
+ modules/dnn/CMakeLists.txt | 9 +++++++++
+ 2 files changed, 46 insertions(+)
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index 8835347d1d..9bd5c28db8 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -67,6 +67,38 @@ else()
+ endif()
+ endif()
+
++# See https://github.com/opencv/opencv/issues/24369
++# In Protocol Buffers v22.0 and later drops C++11 support and depends abseil-cpp.
++# Details: https://protobuf.dev/news/2022-08-03/
++# And if std::text_view is in abseil-cpp requests C++17 and later.
++if(HAVE_PROTOBUF)
++ if("${Protobuf_VERSION}" MATCHES [[[0-9]+.([0-9]+).[0-9]+]])
++ string(COMPARE GREATER_EQUAL "${CMAKE_MATCH_1}" "22" REQUEST_ABSL)
++
++ if(REQUEST_ABSL)
++ string(COMPARE GREATER_EQUAL "${CMAKE_CXX_STANDARD}" "17" USED_AFTER_CXX17)
++ if(NOT USED_AFTER_CXX17)
++ message("CMAKE_CXX_STANDARD : ${CMAKE_CXX_STANDARD}")
++ message("protobuf : ${Protobuf_VERSION}")
++ message(FATAL_ERROR "protobuf(v22 and later) and abseil-cpp request CMAKE_CXX_STANDARD=17 and later.")
++ endif()
++
++ ocv_check_modules(ABSL_STRINGS absl_strings)
++ if(NOT ABSL_STRINGS_FOUND)
++ message(FATAL_ERROR "protobuf(v22 and later) requests abseil-cpp(strings), but missing.")
++ endif()
++
++ ocv_check_modules(ABSL_LOG absl_log)
++ if(NOT ABSL_LOG_FOUND)
++ message(FATAL_ERROR "protobuf(v22 and later) requests abseil-cpp(log), but missing.")
++ endif()
++
++ endif()
++ else()
++ message(FATAL_ERROR "Protobuf version(${Protobuf_VERSION}) is unexpected to split.")
++ endif()
++endif()
++
+ if(HAVE_PROTOBUF AND PROTOBUF_UPDATE_FILES AND NOT COMMAND PROTOBUF_GENERATE_CPP)
+ message(FATAL_ERROR "Can't configure protobuf dependency (BUILD_PROTOBUF=${BUILD_PROTOBUF} PROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES})")
+ endif()
+@@ -89,3 +121,8 @@ if(HAVE_PROTOBUF)
+ BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})"
+ ELSE "${__location} (${Protobuf_VERSION})")
+ endif()
++
++if(HAVE_ABSL_STRINGS AND HAVE_ABSL_LOG)
++ list(APPEND CUSTOM_STATUS absl)
++ list(APPEND CUSTOM_STATUS_absl " abseil-cpp:" "YES (${ABSL_STRINGS_VERSION})" )
++endif()
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index 804b78ead2..d32007b37e 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -149,6 +149,15 @@ if(NOT BUILD_PROTOBUF)
+ list(APPEND include_dirs ${Protobuf_INCLUDE_DIRS})
+ endif()
+
++if(HAVE_ABSL_STRINGS)
++ list(APPEND libs ${ABSL_STRINGS_LIBRARIES})
++ list(APPEND include_dirs ${ABSL_STRTRINGS_INCLUDE_DIRS})
++endif()
++if(HAVE_ABSL_LOG)
++ list(APPEND libs ${ABSL_LOG_LIBRARIES})
++ list(APPEND include_dirs ${ABSL_LOG_INCLUDE_DIRS})
++endif()
++
+ set(sources_options "")
+
+ list(APPEND libs ${LAPACK_LIBRARIES})
+From 06a7669521d205f647d3e718322ccd153cdbbb77 Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Sun, 8 Oct 2023 09:39:35 +0900
+Subject: [PATCH] dnn: disable some tests for external protobuf
+
+---
+ modules/dnn/CMakeLists.txt | 5 +++++
+ modules/dnn/src/caffe/caffe_io.cpp | 24 ++++++++++++++++++++++--
+ modules/dnn/test/test_layers.cpp | 16 ++++++++++++++++
+ 3 files changed, 43 insertions(+), 2 deletions(-)
+
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index d32007b37e..face38465f 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -254,6 +254,12 @@ ocv_create_module(${libs} ${dnn_runtime_libs})
+ ocv_add_samples()
+ ocv_add_accuracy_tests(${dnn_runtime_libs})
+
++if(NOT BUILD_PROTOBUF)
++ if(TARGET opencv_test_dnn)
++ ocv_target_compile_definitions(opencv_test_dnn PRIVATE "OPENCV_DNN_EXTERNAL_PROTOBUF=1")
++ endif()
++endif()
++
+ set(perf_path "${CMAKE_CURRENT_LIST_DIR}/perf")
+ file(GLOB_RECURSE perf_srcs "${perf_path}/*.cpp")
+ file(GLOB_RECURSE perf_hdrs "${perf_path}/*.hpp" "${perf_path}/*.h")
+
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index ebecf95eea..ebceca84cf 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -1130,7 +1130,17 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
+ parser.AllowUnknownField(true);
+ parser.SetRecursionLimit(1000);
+ #endif
+- return parser.Parse(&input, proto);
++ const bool ret = parser.Parse(&input, proto);
++
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ if(!ret)
++ {
++ LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
++ CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
++ }
++#endif
++
++ return ret;
+ }
+
+ bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
+@@ -1148,7 +1158,17 @@ bool ReadProtoFromTextBuffer(const char* data, size_t len, Message* proto) {
+ parser.AllowUnknownField(true);
+ parser.SetRecursionLimit(1000);
+ #endif
+- return parser.Parse(&input, proto);
++ const bool ret = parser.Parse(&input, proto);
++
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ if(!ret)
++ {
++ LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
++ CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
++ }
++#endif
++
++ return ret;
+ }
+
+
+diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
+index 763d94b99c..a07d442d76 100644
+--- a/modules/dnn/test/test_layers.cpp
++++ b/modules/dnn/test/test_layers.cpp
+@@ -754,7 +754,11 @@ TEST_F(Layer_RNN_Test, get_set_test)
+ EXPECT_EQ(shape(outputs[1]), shape(nT, nS, nH));
+ }
+
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Accum)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_Accum) // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+ if (backend == DNN_BACKEND_OPENCV && target != DNN_TARGET_CPU)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+@@ -778,7 +782,11 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
+ testLayerUsingCaffeModels("channel_norm", false, false);
+ }
+
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, DataAugmentation)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_DataAugmentation) // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+ if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+@@ -787,7 +795,11 @@ TEST_P(Test_Caffe_layers, DataAugmentation)
+ testLayerUsingCaffeModels("data_augmentation_8x6", true, false);
+ }
+
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Resample)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_Resample) // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+ if (backend != DNN_BACKEND_OPENCV)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);
+@@ -795,7 +807,11 @@ TEST_P(Test_Caffe_layers, Resample)
+ testLayerUsingCaffeModels("nearest", false, false);
+ }
+
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Correlation)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_Correlation) // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+ if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER,
+From 2c33798f41942aefc203183d673ce4846f32dba4 Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Sun, 8 Oct 2023 13:28:40 +0900
+Subject: [PATCH] use GREATER instead of GREATER_EQUAL and remove new blank
+ line at EOF
+
+---
+ cmake/OpenCVFindProtobuf.cmake | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index 9bd5c28db8..ba147526d6 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -71,12 +71,14 @@ endif()
+ # In Protocol Buffers v22.0 and later drops C++11 support and depends abseil-cpp.
+ # Details: https://protobuf.dev/news/2022-08-03/
+ # And if std::text_view is in abseil-cpp requests C++17 and later.
++
+ if(HAVE_PROTOBUF)
+ if("${Protobuf_VERSION}" MATCHES [[[0-9]+.([0-9]+).[0-9]+]])
+- string(COMPARE GREATER_EQUAL "${CMAKE_MATCH_1}" "22" REQUEST_ABSL)
++ string(COMPARE GREATER "${CMAKE_MATCH_1}" "21" REQUEST_ABSL) # >=22
+
+ if(REQUEST_ABSL)
+- string(COMPARE GREATER_EQUAL "${CMAKE_CXX_STANDARD}" "17" USED_AFTER_CXX17)
++ string(COMPARE GREATER "${CMAKE_CXX_STANDARD}" "16" USED_AFTER_CXX17) # >=17
++
+ if(NOT USED_AFTER_CXX17)
+ message("CMAKE_CXX_STANDARD : ${CMAKE_CXX_STANDARD}")
+ message("protobuf : ${Protobuf_VERSION}")
+From cd709eefbeedd116bf3495b42280323b932791ff Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Mon, 9 Oct 2023 21:51:04 +0900
+Subject: [PATCH] fix for review
+
+---
+ cmake/OpenCVFindProtobuf.cmake | 5 ----
+ modules/dnn/src/caffe/caffe_io.cpp | 24 ++----------------
+ modules/dnn/test/test_layers.cpp | 40 +++++++++++++++---------------
+ 3 files changed, 22 insertions(+), 47 deletions(-)
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index ba147526d6..2faf1010bf 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -123,8 +123,3 @@ if(HAVE_PROTOBUF)
+ BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})"
+ ELSE "${__location} (${Protobuf_VERSION})")
+ endif()
+-
+-if(HAVE_ABSL_STRINGS AND HAVE_ABSL_LOG)
+- list(APPEND CUSTOM_STATUS absl)
+- list(APPEND CUSTOM_STATUS_absl " abseil-cpp:" "YES (${ABSL_STRINGS_VERSION})" )
+-endif()
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index ebceca84cf..ebecf95eea 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -1130,17 +1130,7 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
+ parser.AllowUnknownField(true);
+ parser.SetRecursionLimit(1000);
+ #endif
+- const bool ret = parser.Parse(&input, proto);
+-
+-#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+- if(!ret)
+- {
+- LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
+- CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
+- }
+-#endif
+-
+- return ret;
++ return parser.Parse(&input, proto);
+ }
+
+ bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
+@@ -1158,17 +1148,7 @@ bool ReadProtoFromTextBuffer(const char* data, size_t len, Message* proto) {
+ parser.AllowUnknownField(true);
+ parser.SetRecursionLimit(1000);
+ #endif
+- const bool ret = parser.Parse(&input, proto);
+-
+-#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+- if(!ret)
+- {
+- LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
+- CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
+- }
+-#endif
+-
+- return ret;
++ return parser.Parse(&input, proto);
+ }
+
+
+diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
+index a07d442d76..5c6fc541d7 100644
+--- a/modules/dnn/test/test_layers.cpp
++++ b/modules/dnn/test/test_layers.cpp
+@@ -754,17 +754,17 @@ TEST_F(Layer_RNN_Test, get_set_test)
+ EXPECT_EQ(shape(outputs[1]), shape(nT, nS, nH));
+ }
+
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Accum)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Accum) // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ throw SkipTestException("Requires patched protobuf");
++#else
+ if (backend == DNN_BACKEND_OPENCV && target != DNN_TARGET_CPU)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+
+ testLayerUsingCaffeModels("accum", false, false, 0.0, 0.0, 2);
+ testLayerUsingCaffeModels("accum_ref", false, false, 0.0, 0.0, 2);
++#endif
+ }
+
+ TEST_P(Test_Caffe_layers, FlowWarp)
+@@ -782,42 +782,42 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
+ testLayerUsingCaffeModels("channel_norm", false, false);
+ }
+
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, DataAugmentation)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_DataAugmentation) // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ throw SkipTestException("Requires patched protobuf");
++#else
+ if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+ testLayerUsingCaffeModels("data_augmentation", true, false);
+ testLayerUsingCaffeModels("data_augmentation_2x1", true, false);
+ testLayerUsingCaffeModels("data_augmentation_8x6", true, false);
++#endif
+ }
+
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Resample)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Resample) // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ throw SkipTestException("Requires patched protobuf");
++#else
+ if (backend != DNN_BACKEND_OPENCV)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);
+ testLayerUsingCaffeModels("nearest_2inps", false, false, 0.0, 0.0, 2);
+ testLayerUsingCaffeModels("nearest", false, false);
++#endif
+ }
+
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Correlation)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Correlation) // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ throw SkipTestException("Requires patched protobuf");
++#else
+ if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+ applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER,
+ CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+ testLayerUsingCaffeModels("correlation", false, false, 0.0, 0.0, 2);
+ }
++#endif
+
+ TEST_P(Test_Caffe_layers, Convolution2Inputs)
+ {
+@@ -1644,12 +1644,11 @@ private:
+ int outWidth, outHeight, zoomFactor;
+ };
+
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Interp)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Interp) // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++ throw SkipTestException("Requires patched protobuf");
++#else
+ #if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2022010000)
+ // Cannot get memory!
+ if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_CPU)
+@@ -1686,6 +1685,7 @@ TEST_P(Test_Caffe_layers, DISABLED_Interp) // requires patched protobuf (availa
+
+ // Test an implemented layer.
+ testLayerUsingCaffeModels("layer_interp", false, false);
++#endif
+ }
+
+ INSTANTIATE_TEST_CASE_P(/*nothing*/, Test_Caffe_layers, dnnBackendsAndTargets());
diff --git a/recipes-support/opencv/opencv_4.5.2.imx.bb b/recipes-support/opencv/opencv_4.6.0.imx.bb
index 331189ea..6d13d107 100644
--- a/recipes-support/opencv/opencv_4.5.2.imx.bb
+++ b/recipes-support/opencv/opencv_4.6.0.imx.bb
@@ -3,6 +3,8 @@
# recipe. The second section customizes the recipe for i.MX.
########## meta-openembedded copy ###########
+# Upstream hash: 72dc42966be7da07f9553f75b825123b81704f0b
+# Commit https://github.com/openembedded/meta-openembedded/commit/225ce6a14a8110ab6b573b4dc9f5297a03d17e0f added
SUMMARY = "Opencv : The Open Computer Vision Library"
HOMEPAGE = "http://opencv.org/"
@@ -16,8 +18,8 @@ ARM_INSTRUCTION_SET:armv5 = "arm"
DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
-SRCREV_opencv = "69357b1e88680658a07cffde7678a4d697469f03"
-SRCREV_contrib = "f5d7f6712d4ff229ba4f45cf79dfd11c557d56fd"
+SRCREV_opencv = "b0dc474160e389b9c9045da5db49d03ae17c6a6b"
+SRCREV_contrib = "7b77c355a8fdc97667b3fa1e7a0d37e4973fc868"
SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
@@ -45,22 +47,22 @@ IPP_MD5 = "${@ipp_md5sum(d)}"
SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib;branch=master;protocol=https \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp;protocol=https \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc;protocol=https \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg;protocol=https \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face;protocol=https \
- git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=wechat_qrcode;name=wechat-qrcode;protocol=https \
+ git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=master;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=git/ipp;name=ipp;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \
+ git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \
file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
file://0003-To-fix-errors-as-following.patch \
file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
file://0001-Dont-use-isystem.patch \
file://download.patch \
file://0001-Make-ts-module-external.patch \
- file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \
- file://0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch \
+ file://0001-Add-missing-header-for-LIBAVCODEC_VERSION_INT.patch \
+ file://fix-build-with-protobuf-v22.patch \
"
-SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
+SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
S = "${WORKDIR}/git"
@@ -69,7 +71,7 @@ S = "${WORKDIR}/git"
OPENCV_DLDIR = "${WORKDIR}/downloads"
do_unpack_extra() {
- tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
+ tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S}
md5() {
# Return the MD5 of $1
@@ -84,22 +86,22 @@ do_unpack_extra() {
test -e $DEST || ln -s $F $DEST
done
}
- cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i
- cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i
- cache data ${WORKDIR}/face/*.dat
- cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.caffemodel
- cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.prototxt
+ cache xfeatures2d/boostdesc ${S}/boostdesc/*.i
+ cache xfeatures2d/vgg ${S}/vgg/*.i
+ cache data ${S}/face/*.dat
+ cache wechat_qrcode ${S}/wechat_qrcode/*.caffemodel
+ cache wechat_qrcode ${S}/wechat_qrcode/*.prototxt
}
addtask unpack_extra after do_unpack before do_patch
CMAKE_VERBOSE = "VERBOSE=1"
-EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
+EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${S}/contrib/modules \
-DWITH_1394=OFF \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DOPENCV_ICV_HASH=${IPP_MD5} \
- -DIPPROOT=${WORKDIR}/ippicv_lnx \
+ -DIPPROOT=${S}/ippicv_lnx \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
-DOPENCV_ALLOW_DOWNLOADS=OFF \
@@ -107,11 +109,17 @@ EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
"
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
EXTRA_OECMAKE:append:x86 = " -DX86=ON"
+# disable sse4.1 and sse4.2 to fix 32bit build failure
+# https://github.com/opencv/opencv/issues/21597
+EXTRA_OECMAKE:remove:x86 = " -DENABLE_SSE41=1 -DENABLE_SSE42=1"
PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "libav", "", d)}"
+ ${@bb.utils.contains_any("LICENSE_FLAGS_ACCEPTED", "commercial_ffmpeg commercial", "libav", "", d)}"
# TBB does not build for powerpc so disable that package config
PACKAGECONFIG:remove:powerpc = "tbb"
@@ -122,7 +130,7 @@ PACKAGECONFIG:remove:libc-musl:riscv32 = "tbb"
PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade"
PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF -DCMAKE_CXX_STANDARD=17,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
@@ -167,10 +175,10 @@ PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '
python populate_packages:prepend () {
cv_libdir = d.expand('${libdir}')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
pn = d.getVar('PN')
metapkg = pn + '-dev'
@@ -251,37 +259,46 @@ SUMMARY = "Opencv : The Open Computer Vision Library, i.MX Fork"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
# Replace the opencv URL with the fork
-SRCREV_opencv = "5423d53ae0d116ee5bbe52f8b5503f0cd8586998"
-OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https;branch=master"
-SRCBRANCH = "4.5.2_imx"
SRC_URI:remove = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https"
SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv"
+OPENCV_SRC ?= "git://github.com/nxp-imx/opencv-imx.git;protocol=https;branch=master"
+SRCBRANCH = "4.6.0_imx"
+SRCREV_opencv = "d3440df40a6e90cd1d2a1b729bcbc16aa4d42f5d"
# Add opencv_extra
-SRCREV_extra = "855c4528402e563283f86f28c6393f57eb5dcf62"
SRC_URI += " \
git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \
file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \
"
SRCREV_FORMAT:append = "_extra"
+SRCREV_extra = "936854e2b666853d6d0732a8eabc2d699f4fa3d8"
# Patch DNN example
SRC_URI += " \
file://OpenCV_DNN_examples.patch \
"
-PACKAGECONFIG:remove = "eigen"
-PACKAGECONFIG:append:mx8-nxp-bsp = " dnn text"
-PACKAGECONFIG_OPENCL = ""
-PACKAGECONFIG_OPENCL:mx8-nxp-bsp = "opencl"
-PACKAGECONFIG_OPENCL:mx8dxl-nxp-bsp = ""
-PACKAGECONFIG_OPENCL:mx8mm-nxp-bsp = ""
-PACKAGECONFIG_OPENCL:mx8mnlite-nxp-bsp = ""
-PACKAGECONFIG:append = " ${PACKAGECONFIG_OPENCL}"
+PACKAGECONFIG:remove = "eigen"
+
+PACKAGECONFIG:append:mx8-nxp-bsp = " dnn text"
+PACKAGECONFIG:append:mx9-nxp-bsp = " dnn text"
+
+PACKAGECONFIG:append = " ${PACKAGECONFIG_OPENCL}"
+PACKAGECONFIG_OPENCL = ""
+PACKAGECONFIG_OPENCL:mx8-nxp-bsp = "opencl"
+PACKAGECONFIG_OPENCL:mx8dxl-nxp-bsp = ""
+PACKAGECONFIG_OPENCL:mx8mm-nxp-bsp = ""
+PACKAGECONFIG_OPENCL:mx8mnul-nxp-bsp = ""
PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx,"
PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native,"
+PACKAGECONFIG[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native,"
PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF,"
+PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx"
+
+# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6
+# (opencv debug framework)
+EXTRA_OECMAKE:append = " -DBUILD_opencv_cvv=OFF"
do_install:append() {
ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
@@ -296,6 +313,6 @@ do_install:append() {
FILES:${PN}-samples += "${datadir}/OpenCV/samples"
-COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
+COMPATIBLE_MACHINE = "(mx8-nxp-bsp|mx9-nxp-bsp)"
########## End of i.MX overrides ##########
diff --git a/wic/imx-imx-boot.wks.in b/wic/imx-imx-boot.wks.in
new file mode 100644
index 00000000..8e78b5e3
--- /dev/null
+++ b/wic/imx-imx-boot.wks.in
@@ -0,0 +1,19 @@
+# short-description: Create SD card image with a boot partition
+# long-description:
+# Create an image that can be written onto a SD card using dd for use
+# with i.MX SoC family
+# It uses u-boot + other binaries gathered together on imx-boot file
+#
+# The disk layout used is:
+# - ---------- --------------
+# | | imx-boot | rootfs |
+# - ---------- --------------
+# ^ ^ ^ ^
+# | | | |
+# 0 | 8MiB 8MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
+# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual
+#
+part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK}
+part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192
+
+bootloader --ptable msdos
diff --git a/wic/imx-uboot-mxs-bootpart.wks.in b/wic/imx-uboot-mxs-bootpart.wks.in
index 01eb88cc..175499d6 100644
--- a/wic/imx-uboot-mxs-bootpart.wks.in
+++ b/wic/imx-uboot-mxs-bootpart.wks.in
@@ -12,7 +12,7 @@
# | | | |
# 0 1kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
#
-part u-boot --source rawcopy --sourceparams="file=${IMAGE_LINK_NAME}.rootfs.uboot-mxsboot-sdcard" --ondisk mmcblk --align 1024
+part u-boot --source rawcopy --sourceparams="file=${IMAGE_LINK_NAME}.uboot-mxsboot-sdcard" --ondisk mmcblk --align 1024
part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 16
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096