aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/backport.yaml28
-rw-r--r--EULA390
-rw-r--r--README34
-rw-r--r--README.md47
-rw-r--r--SCR/SCR-5.4.24_2.1.0.txt1311
-rw-r--r--SCR/SCR-6.6.3-1.0.0.txt1685
-rw-r--r--classes/fsl-dynamic-packagearch.bbclass11
-rw-r--r--classes/fsl-eula-unpack.bbclass138
-rw-r--r--classes/fsl-kernel-localversion.bbclass46
-rw-r--r--classes/fsl-u-boot-localversion.bbclass21
-rw-r--r--classes/fsl-vivante-kernel-driver-handler.bbclass8
-rw-r--r--classes/image_populate_mfgtool.bbclass139
-rw-r--r--classes/image_types_fsl.bbclass20
-rw-r--r--classes/imx-boot-container.bbclass109
-rw-r--r--classes/kernel-imximage.bbclass4
-rw-r--r--classes/kernel-itbimage.bbclass493
-rw-r--r--classes/machine-overrides-extender.bbclass38
-rw-r--r--classes/mfgtool-initramfs-image.bbclass8
-rw-r--r--classes/qoriq_build_64bit_kernel.bbclass6
-rw-r--r--classes/use-imx-headers.bbclass8
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass17
-rw-r--r--classes/uuu_bootloader_tag.bbclass12
-rw-r--r--conf/layer.conf28
-rw-r--r--conf/machine/imx23evk.conf13
-rw-r--r--conf/machine/imx25pdk.conf24
-rw-r--r--conf/machine/imx28evk.conf13
-rw-r--r--conf/machine/imx51evk.conf12
-rw-r--r--conf/machine/imx53ard.conf22
-rw-r--r--conf/machine/imx53qsb.conf13
-rw-r--r--conf/machine/imx6qdlsabreauto.conf78
-rw-r--r--conf/machine/imx6qdlsabresd.conf85
-rw-r--r--conf/machine/imx6slevk.conf24
-rw-r--r--conf/machine/imx6sllevk.conf17
-rw-r--r--conf/machine/imx6sxsabreauto.conf17
-rw-r--r--conf/machine/imx6sxsabresd.conf36
-rw-r--r--conf/machine/imx6ulevk.conf48
-rw-r--r--conf/machine/imx6ullevk.conf21
-rw-r--r--conf/machine/imx6ulz-14x14-evk.conf19
-rw-r--r--conf/machine/imx7dsabresd.conf34
-rw-r--r--conf/machine/imx7ulpevk.conf37
-rw-r--r--conf/machine/imx8dx-mek.conf11
-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-evk.conf56
-rw-r--r--conf/machine/imx8mm-ddr4-evk.conf10
-rw-r--r--conf/machine/imx8mm-lpddr4-evk.conf37
-rw-r--r--conf/machine/imx8mn-ddr4-evk.conf19
-rw-r--r--conf/machine/imx8mn-lpddr4-evk.conf11
-rw-r--r--conf/machine/imx8mnul-ddr3l-evk.conf69
-rw-r--r--conf/machine/imx8mp-ddr4-evk.conf32
-rw-r--r--conf/machine/imx8mp-evk.conf80
-rw-r--r--conf/machine/imx8mp-lpddr4-evk.conf68
-rw-r--r--conf/machine/imx8mq-evk.conf52
-rw-r--r--conf/machine/imx8mq-lpddr4-wevk.conf19
-rw-r--r--conf/machine/imx8qm-mek.conf56
-rw-r--r--conf/machine/imx8qxp-mek.conf33
-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/e500mc.inc2
-rw-r--r--conf/machine/include/e500v2.inc2
-rw-r--r--conf/machine/include/e5500-64b.inc4
-rw-r--r--conf/machine/include/e5500.inc2
-rw-r--r--conf/machine/include/e6500-64b.inc4
-rw-r--r--conf/machine/include/e6500.inc4
-rw-r--r--conf/machine/include/imx-base.inc703
-rw-r--r--conf/machine/include/imx8dxl-ddr3l-evk.inc9
-rw-r--r--conf/machine/include/imx8dxl-evk.inc60
-rw-r--r--conf/machine/include/imx8dxl-lpddr4-evk.inc17
-rw-r--r--conf/machine/include/imx8mm-evk.inc54
-rw-r--r--conf/machine/include/imx8mn-evk.inc63
-rw-r--r--conf/machine/include/imx8mp-evk.inc74
-rw-r--r--conf/machine/include/imx8ulp-evk.inc44
-rw-r--r--conf/machine/include/imx8x-mek.inc23
-rw-r--r--conf/machine/include/imx93-evk.inc39
-rw-r--r--conf/machine/include/qoriq-arm.inc2
-rw-r--r--conf/machine/include/qoriq-base.inc37
-rw-r--r--conf/machine/include/utilities.inc6
-rw-r--r--conf/machine/ls1012afrwy.conf4
-rw-r--r--conf/machine/ls1012ardb.conf4
-rw-r--r--conf/machine/ls1021atwr.conf35
-rw-r--r--conf/machine/ls1028ardb.conf10
-rw-r--r--conf/machine/ls1043ardb.conf8
-rw-r--r--conf/machine/ls1046afrwy.conf8
-rw-r--r--conf/machine/ls1046ardb.conf9
-rw-r--r--conf/machine/ls1088ardb-pb.conf8
-rw-r--r--conf/machine/ls1088ardb.conf8
-rw-r--r--conf/machine/ls2080ardb.conf20
-rw-r--r--conf/machine/ls2088ardb.conf6
-rw-r--r--conf/machine/lx2160ardb.conf10
-rw-r--r--conf/machine/lx2162aqds.conf4
-rw-r--r--conf/machine/mpc8548cds.conf1
-rw-r--r--custom-licenses/Freescale-EULA214
-rw-r--r--dynamic-layers/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend2
-rw-r--r--dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc (renamed from dynamic-layers/browser-layer/recipes-browser/chromium/chromium-imx.inc)8
-rw-r--r--dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch (renamed from dynamic-layers/browser-layer/recipes-browser/chromium/chromium/chromium.patch)0
-rw-r--r--dynamic-layers/filesystem-layer/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bbappend2
-rw-r--r--dynamic-layers/gnome-layer/recipes-graphics/clutter/clutter-1.0_%.bbappend (renamed from recipes-graphics/clutter/clutter-1.0_%.bbappend)2
-rw-r--r--dynamic-layers/gnome-layer/recipes-graphics/cogl/cogl-1.0_%.bbappend (renamed from recipes-graphics/cogl/cogl-1.0_%.bbappend)2
-rw-r--r--dynamic-layers/ivi/recipes-graphics/wayland/weston-init.bbappend2
-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-benchmark/glmark2/glmark2_%.bbappend6
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch56
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb35
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend4
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb26
-rw-r--r--dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch (renamed from dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx/0016-xserver-common-enable-iglx-module.patch)0
-rw-r--r--dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend6
-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.inc14
-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/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/g++.conf (renamed from dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/g++.conf)0
-rw-r--r--dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/linux.conf (renamed from dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/linux.conf)0
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch2
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend26
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend9
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend8
-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--dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend8
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend12
-rwxr-xr-xrecipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state (renamed from recipes-bsp/alsa-state/alsa-state/imx/asound.state)0
-rw-r--r--recipes-bsp/alsa-state/alsa-state/imx-mainline-bsp/asound.conf (renamed from recipes-bsp/alsa-state/alsa-state/imx/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.3.inc13
-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.3.bb)7
-rw-r--r--recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch35
-rw-r--r--recipes-bsp/atf/qoriq-atf_1.5.bb249
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.3.bb175
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.6.bb189
-rw-r--r--recipes-bsp/boot-format/boot-format/flags.patch7
-rw-r--r--recipes-bsp/boot-format/boot-format_git.bb6
-rw-r--r--recipes-bsp/ddr-phy/ddr-phy_git.bb4
-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.10.inc)8
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb23
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb24
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.22.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.10.bb)45
-rw-r--r--recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb147
-rw-r--r--recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb (renamed from recipes-bsp/firmware-imx/firmware-sof-imx_1.5.0-3.bb)8
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb61
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca.inc15
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb27
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb27
-rw-r--r--recipes-bsp/firmware-qca/qca-tools_3.0.2.bb20
-rw-r--r--recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb31
-rw-r--r--recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx6/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx6sll/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx6ul/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx7/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig (renamed from recipes-bsp/formfactor/formfactor/mx7ulp/machconfig)0
-rw-r--r--recipes-bsp/formfactor/formfactor_%.bbappend2
-rw-r--r--recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb4
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.2.bb51
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.8.bb80
-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.bb13
-rw-r--r--recipes-bsp/imx-lib/imx-lib_git.bb37
-rw-r--r--recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch81
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bb278
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.bb31
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.inc11
-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.7.1.bb)23
-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/0001-Makefile-Fix-LIBDIR-for-multilib.patch28
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch33
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs_git.bb19
-rw-r--r--recipes-bsp/imx-seco/imx-seco_5.9.0.bb (renamed from recipes-bsp/imx-seco/imx-seco_3.7.5.bb)13
-rw-r--r--recipes-bsp/imx-test/imx-test_00.00.00.bb4
-rw-r--r--recipes-bsp/imx-test/imx-test_git.bb56
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_git.bb14
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb16
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb36
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb29
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch54
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb35
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb36
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb7
-rw-r--r--recipes-bsp/inphi/inphi_git.bb4
-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.6.0.bb)15
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch27
-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-imx8-isp.service-do-not-prevent-restart-of-service.patch26
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch23
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch46
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb105
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb84
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb54
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb89
-rw-r--r--recipes-bsp/ls2-phy/ls2-phy_git.bb4
-rw-r--r--recipes-bsp/mc-utils/mc-utils_git.bb38
-rw-r--r--recipes-bsp/mxsldr/mxsldr/0001-Do-not-ignore-OE-cflags-and-ldflags.patch1
-rw-r--r--recipes-bsp/mxsldr/mxsldr_git.bb4
-rw-r--r--recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb6
-rw-r--r--recipes-bsp/qe-ucode/qe-ucode_git.bb4
-rw-r--r--recipes-bsp/rcw/rcw_git.bb15
-rw-r--r--recipes-bsp/u-boot/libubootenv_%.bbappend43
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc19
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc19
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.bb8
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb (renamed from recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.10.bb)22
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2020.10.bb63
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2024.04.bb25
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common.inc20
-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_2020.04.bb8
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb15
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2020.04.bb32
-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.bb (renamed from recipes-bsp/u-boot/u-boot-qoriq_2020.04.bb)28
-rw-r--r--recipes-bsp/uefi/uefi_git.bb6
-rw-r--r--recipes-connectivity/iproute2/iproute2_%.bbappend2
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/0001-eng_devcrypto-add-support-for-TLS-algorithms-offload.patch389
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/0002-eng_devcrypto-add-support-for-TLS1.2-algorithms-offl.patch285
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/run-ptest12
-rw-r--r--recipes-connectivity/openssl/openssl_%.bbappend6
-rw-r--r--recipes-core/init-ifupdown/init-ifupdown_%.bbappend2
-rw-r--r--recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend2
-rw-r--r--recipes-core/udev/udev-rules-qoriq.bb15
-rw-r--r--recipes-devtools/devregs/devregs_git.bb6
-rw-r--r--recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb4
-rw-r--r--recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch67
-rw-r--r--recipes-devtools/qemu/qemu-qoriq_4.2.bb (renamed from recipes-devtools/qemu/qemu-qoriq_4.1.0.bb)27
-rw-r--r--recipes-devtools/qemu/qemu-targets.inc28
-rw-r--r--recipes-devtools/qemu/qemu.inc198
-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)15
-rw-r--r--recipes-devtools/utp-com/utp-com_git.bb4
-rw-r--r--recipes-devtools/uuu/uuu-bin_1.5.165.bb35
-rw-r--r--recipes-devtools/uuu/uuu_git.bb18
-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.bb8
-rw-r--r--recipes-dpaa/flib/flib_git.bb6
-rw-r--r--recipes-dpaa/fm-ucode/fm-ucode_git.bb24
-rw-r--r--recipes-dpaa/fmlib/fmlib_git.bb27
-rw-r--r--recipes-dpaa2/aiopsl/aiopsl_git.bb10
-rw-r--r--recipes-dpaa2/dce/dce_git.bb9
-rw-r--r--recipes-dpaa2/dce/files/0001-support-user-merge.patch31
-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.24.0.bb41
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.37.0.bb (renamed from recipes-dpaa2/management-complex/management-complex_10.20.4.bb)17
-rw-r--r--recipes-dpaa2/restool/files/disable-manpage-generation.patch26
-rw-r--r--recipes-dpaa2/restool/restool_git.bb19
-rw-r--r--recipes-dpaa2/spc/spc_git.bb8
-rw-r--r--recipes-extended/crconf/crconf_git.bb6
-rw-r--r--recipes-extended/dpdk/dpdk-20.11.inc15
-rw-r--r--recipes-extended/dpdk/dpdk-20.11/0001-Makefile-add-makefile.patch74
-rw-r--r--recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch31
-rw-r--r--recipes-extended/dpdk/dpdk-20.11/0001-ifpga-meson-Fix-finding-librt-using-find_library.patch35
-rw-r--r--recipes-extended/dpdk/dpdk-20.11/0001-meson.build-march-and-mcpu-already-passed-by-Yocto.patch38
-rw-r--r--recipes-extended/dpdk/dpdk-module_20.11.bb41
-rw-r--r--recipes-extended/dpdk/dpdk.inc37
-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.bb7
-rw-r--r--recipes-extended/dpdk/dpdk_20.11.bb93
-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)88
-rw-r--r--recipes-extended/jailhouse/jailhouse/0001-tools-scripts-update-shebang-to-python3.patch69
-rw-r--r--recipes-extended/libpkcs11/libpkcs11_git.bb11
-rw-r--r--recipes-extended/merge-files/merge-files_1.0.bb6
-rw-r--r--recipes-extended/odp/odp-counters_git.bb6
-rw-r--r--recipes-extended/odp/odp-module_git.bb8
-rw-r--r--recipes-extended/odp/odp.inc11
-rw-r--r--recipes-extended/odp/odp/0001-Fix-this-build-error.patch1
-rw-r--r--recipes-extended/odp/odp_git.bb25
-rw-r--r--recipes-extended/ofp/ofp_git.bb6
-rw-r--r--recipes-extended/ovs-dpdk/ovs-dpdk_2.13.0.bb48
-rw-r--r--recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb36
-rw-r--r--recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch73
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb33
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb37
-rw-r--r--recipes-extended/procps/procps_%.bbappend2
-rw-r--r--recipes-extended/secure-obj/secure-obj.inc11
-rw-r--r--recipes-extended/secure-obj/secure-obj_git.bb13
-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.bb4
-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/testfloat/testfloat_2a.bb4
-rw-r--r--recipes-extended/tsntool/tsntool/0001-tsntool-remove-redundant-parameters-from-BIN_LDFLAGS.patch29
-rw-r--r--recipes-extended/tsntool/tsntool_git.bb18
-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-fsl/packagegroups/packagegroup-fsl-isp.bb6
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb8
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb2
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-qca6174.bb13
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-qca9377.bb12
-rw-r--r--recipes-graphics/cairo/cairo_%.bbappend7
-rw-r--r--recipes-graphics/drm/libdrm-armada_git.bb17
-rw-r--r--recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch140
-rw-r--r--recipes-graphics/drm/libdrm_2.4.102.imx.bb73
-rw-r--r--recipes-graphics/drm/libdrm_2.4.115.imx.bb74
-rw-r--r--recipes-graphics/glew/glew_%.bbappend1
-rw-r--r--recipes-graphics/gtk+/gtk+3_%.bbappend6
-rw-r--r--recipes-graphics/harfbuzz/harfbuzz_%.bbappend5
-rw-r--r--recipes-graphics/images/core-image-weston.bbappend2
-rw-r--r--recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb35
-rw-r--r--recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.10.bb38
-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-pxp-g2d_git.bb28
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace/0001-dlsym-workaround-glibc-2.34-build-failure.patch30
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb (renamed from recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb)25
-rw-r--r--recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p1.0.bb39
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc433
-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.p1.0-aarch32.bb10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb6
-rw-r--r--recipes-graphics/libepoxy/libepoxy_1.5.%.bbappend2
-rw-r--r--recipes-graphics/libsdl2/libsdl2_%.bbappend4
-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_%.bbappend37
-rw-r--r--recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.conf3
-rw-r--r--recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.sh2
-rw-r--r--recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb31
-rw-r--r--recipes-graphics/mesa/mesa-gl_%.bbappend2
-rw-r--r--recipes-graphics/mesa/mesa_%.bbappend41
-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.patch32
-rw-r--r--recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch16
-rw-r--r--recipes-graphics/waffle/waffle_%.bbappend10
-rw-r--r--recipes-graphics/wayland/required-distro-features.inc8
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.20.imx.bb22
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.32.imx.bb31
-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.bbappend129
-rw-r--r--recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini (renamed from recipes-graphics/wayland/weston-init/imx/weston.ini)9
-rwxr-xr-xrecipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config (renamed from recipes-graphics/wayland/weston-init/mx6sl/weston.config)0
-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-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/systemd-notify.weston-start9
-rw-r--r--recipes-graphics/wayland/weston/xwayland.weston-start5
-rw-r--r--recipes-graphics/wayland/weston_10.0.4.imx.bb (renamed from recipes-graphics/wayland/weston_9.0.0.imx.bb)133
-rw-r--r--recipes-graphics/wayland/weston_11.0.3.imx.bb188
-rw-r--r--recipes-graphics/xinput-calibrator/pointercal-xinput/mx6-nxp-bsp/pointercal.xinput (renamed from recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput)0
-rw-r--r--recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend2
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-armada_git.bb48
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imx-vivante/rc.autohdmi42
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.4.0.p0.0.bb65
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx5-generic-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf)0
-rw-r--r--[-rwxr-xr-x]recipes-graphics/xorg-xserver/xserver-xf86-config/mx6-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf14
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl/xorg.conf)0
-rwxr-xr-x[-rw-r--r--]recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx7/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf)0
-rwxr-xr-xrecipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp-nxp-bsp/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mxs-generic-bsp/xorg.conf12
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf33
-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-xf86-config_%.bbappend2
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch36
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch38
-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_%.bbappend17
-rw-r--r--recipes-graphics/xwayland/xwayland/0001-Prefer-to-create-GLES2-context-for-glamor-EGL.patch31
-rw-r--r--recipes-graphics/xwayland/xwayland_23.1.1.imx.bb53
-rw-r--r--recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend20
-rw-r--r--recipes-kernel/ceetm/ceetm/0001-use-new-api-tc_print_rate.patch71
-rw-r--r--recipes-kernel/ceetm/ceetm_git.bb14
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ar_git.bb14
-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.0.p2.4+fslc.bb)8
-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.p1.0.bb)20
-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.inc4
-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-isp-vvcam_4.2.2.6.0.bb19
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb4
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb22
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-perf-qoriq_0.8.2.bb18
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-qca6174_3.0.bb14
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-qca9377_3.1.bb17
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc23
-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.bb4
-rw-r--r--recipes-kernel/linux/linux-fslc-imx/imx/defconfig588
-rw-r--r--recipes-kernel/linux/linux-fslc-imx/mx8/defconfig881
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.6.bb (renamed from recipes-kernel/linux/linux-fslc-imx_5.4.bb)56
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-4.19.bb19
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-4.19/defconfig451
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-4.19/mx25/defconfig189
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-4.19/mxs/defconfig180
-rw-r--r--recipes-kernel/linux/linux-fslc-lts_6.1.bb41
-rw-r--r--recipes-kernel/linux/linux-fslc-mfgtool_5.10.bb15
-rw-r--r--recipes-kernel/linux/linux-fslc-qoriq_5.4.bb2
-rw-r--r--recipes-kernel/linux/linux-fslc.inc10
-rw-r--r--recipes-kernel/linux/linux-fslc/armv8a/defconfig1092
-rw-r--r--recipes-kernel/linux/linux-fslc/defconfig475
-rw-r--r--recipes-kernel/linux/linux-fslc/mx25/defconfig187
-rw-r--r--recipes-kernel/linux/linux-fslc/mxs/defconfig174
-rw-r--r--recipes-kernel/linux/linux-fslc_6.6.bb (renamed from recipes-kernel/linux/linux-fslc_5.10.bb)24
-rw-r--r--recipes-kernel/linux/linux-imx-headers_6.6.bb (renamed from recipes-kernel/linux/linux-imx-headers_5.4.bb)37
-rw-r--r--recipes-kernel/linux/linux-imx-mfgtool_5.4.bb14
-rw-r--r--recipes-kernel/linux/linux-imx.inc37
-rw-r--r--recipes-kernel/linux/linux-imx/imx/defconfig590
-rw-r--r--recipes-kernel/linux/linux-imx/mx8/defconfig881
-rw-r--r--recipes-kernel/linux/linux-imx_6.6.bb (renamed from recipes-kernel/linux/linux-imx_5.4.bb)22
-rw-r--r--recipes-kernel/linux/linux-mfgtool.inc7
-rw-r--r--recipes-kernel/linux/linux-qoriq.inc28
-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.bb8
-rw-r--r--recipes-kernel/linux/linux-qoriq_5.4.bb14
-rw-r--r--recipes-kernel/skmm-host/skmm-host_git.bb6
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch18
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch41
-rwxr-xr-xrecipes-multimedia/alsa/alsa-lib/0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch69
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch35
-rw-r--r--[-rwxr-xr-x]recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch16
-rw-r--r--recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch107
-rw-r--r--recipes-multimedia/alsa/alsa-lib_%.bbappend12
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_1.0.26.bb36
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_git.bb44
-rw-r--r--recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch97
-rw-r--r--recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb185
-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/0001-Disable-yasm-for-libav-when-disable-yasm.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch35
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch49
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch26
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb70
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb36
-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-ext-wayland-fix-meson-build-in-nxp-fork.patch58
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch27
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch51
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch86
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch26
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.imx.bb175
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb223
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch36
-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/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch220
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch44
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch233
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.%.bbappend5
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb102
-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.bb146
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.%.bbappend3
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.imx.bb79
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb127
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb71
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb68
-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.16.0.bb39
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb52
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb37
-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.patch35
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch107
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch74
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch50
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch257
-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/capfix.patch37
-rwxr-xr-xrecipes-multimedia/gstreamer/gstreamer1.0/run-ptest2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb84
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb105
-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_4.5.7.bb84
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb110
-rw-r--r--recipes-multimedia/imx-codec/imx-codec_4.8.3.bb (renamed from recipes-multimedia/imx-codec/imx-codec_4.5.7.bb)72
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.bb27
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_2.1.7.bb57
-rw-r--r--recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb6
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb18
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.8.3.bb (renamed from recipes-multimedia/imx-parser/imx-parser_4.5.7.bb)22
-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.5.7.bb)13
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb (renamed from recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.1.0.bb)17
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb6
-rw-r--r--recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch41
-rw-r--r--recipes-multimedia/pipewire/pipewire_%.bbappend14
-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/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch)0
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf (renamed from recipes-multimedia/pulseaudio/pulseaudio/imx/daemon.conf)2
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa (renamed from recipes-multimedia/pulseaudio/pulseaudio/imx/default.pa)2
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio_%.bbappend32
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch1002
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch215
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch146
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch40
-rwxr-xr-xrecipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch251
-rw-r--r--recipes-multimedia/tinycompress/tinycompress_1.1.6.bb16
-rw-r--r--recipes-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.inc42
-rw-r--r--recipes-security/optee-imx/optee-client/0001-flags-do-not-override-CFLAGS-from-host.patch57
-rw-r--r--recipes-security/optee-imx/optee-client_3.7.0.imx.bb52
-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/0001-optee-os-fix-gcc10-compilation-issue-and-missing-cc-.patch162
-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.7.0.imx.bb101
-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/0001-use-python3-instead-of-python.patch48
-rw-r--r--recipes-security/optee-imx/optee-test/0003-sock_server-fix-compilation-against-musl-sys-errno.h.patch41
-rw-r--r--recipes-security/optee-imx/optee-test/0004-build-ignore-declaration-after-statement-warnings.patch62
-rw-r--r--recipes-security/optee-imx/optee-test/0005-benchmark_1000-fix-compilation-against-musl-uint.patch57
-rw-r--r--recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch88
-rw-r--r--recipes-security/optee-imx/optee-test_3.7.0.imx.bb62
-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.bb5
-rw-r--r--recipes-security/optee-qoriq/optee-client.nxp.inc53
-rw-r--r--recipes-security/optee-qoriq/optee-client/tee-supplicant.service11
-rw-r--r--recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb28
-rw-r--r--recipes-security/optee-qoriq/optee-os.nxp.inc75
-rw-r--r--recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb13
-rw-r--r--recipes-security/optee-qoriq/optee-test.nxp.inc61
-rw-r--r--recipes-security/optee/optee-client-qoriq_3.8.0.bb28
-rw-r--r--recipes-security/optee/optee-os-qoriq/0001-allow-setting-sysroot-for-libgcc-lookup.patch13
-rw-r--r--recipes-security/optee/optee-os-qoriq/0001-arm64-Disable-outline-atomics-when-compiling.patch41
-rw-r--r--recipes-security/optee/optee-os-qoriq_3.8.0.bb83
-rw-r--r--recipes-security/optee/optee-test-qoriq_3.8.0.bb47
-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/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch41
-rw-r--r--recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch44
-rw-r--r--recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch1
-rw-r--r--recipes-support/opencv/opencv/OpenCV_DNN_examples.patch67
-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.4.0.imx.bb)225
-rwxr-xr-xscripts/convert-bsp-specific-overrides87
-rw-r--r--wic/imx-imx-boot.wks.in19
-rw-r--r--wic/imx-uboot-mxs-bootpart.wks.in2
-rw-r--r--wic/ls104x-uboot-bootpart.wks.in21
617 files changed, 16522 insertions, 17402 deletions
diff --git a/.github/workflows/backport.yaml b/.github/workflows/backport.yaml
new file mode 100644
index 00000000..cf317770
--- /dev/null
+++ b/.github/workflows/backport.yaml
@@ -0,0 +1,28 @@
+name: Backport labeled merged pull requests
+on:
+ pull_request_target:
+ types: [closed]
+jobs:
+ build:
+ name: Create backport PRs
+ runs-on: ubuntu-latest
+ # Only run when pull request is merged
+ # or when a comment containing `/backport` is created
+ if: github.event.pull_request.merged
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ # Required to find all branches
+ fetch-depth: 0
+ - name: Create backport PRs
+ # Should be kept in sync with `version`
+ uses: zeebe-io/backport-action@v0.0.4
+ with:
+ # Required
+ # Version of the backport-action
+ # Must equal the version in `uses`
+ # Recommended: latest tag or `master`
+ version: v0.0.4
+
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ github_workspace: ${{ github.workspace }}
diff --git a/EULA b/EULA
index b3e99041..64d5ecb6 100644
--- a/EULA
+++ b/EULA
@@ -1,20 +1,18 @@
-LA_OPT_NXP_Software_License v15 August 2020
-
+LA_OPT_NXP_Software_License v53 December 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
-conditions for NXP's proprietary software embedded anywhere in the Licensed
+conditions for NXP’s proprietary software embedded anywhere in the Licensed
Software file, the terms of this Agreement shall control. If a separate
license agreement for the Licensed Software has been signed by you and NXP,
then that agreement shall govern your use of the Licensed Software and shall
supersede this Agreement.
NXP SOFTWARE LICENSE AGREEMENT
-
This is a legal agreement between your employer, of which you are an authorized
representative, or, if you have no employer, you as an individual ("you" or
"Licensee"), and NXP B.V. ("NXP"). It concerns your rights to use the software
@@ -30,9 +28,7 @@ Software in your possession or control. Any copies of the Licensed 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. DEFINITIONS
-
1.1. "Affiliate" means, with respect to a party, any corporation or
other legal entity that now or hereafter Controls, is Controlled by or is under
common Control with such party; where "Control" means the direct or indirect
@@ -40,126 +36,113 @@ ownership of greater than fifty percent (50%) of the shares or similar
interests entitled to vote for the election of directors or other persons
performing similar functions. An entity is considered an Affiliate only so long
as such Control exists.
-
-1.2 "Authorized System" means either (i) Licensee's hardware product
-which incorporates an NXP Product or (ii) Licensee's software program which is
-used exclusively in connection with an NXP Product and with which the Licensed
-Software will be integrated.
-
-1.3. "Derivative Work" means a work based upon one or more pre-existing
+1.2 "Authorized System" means either (i) Licensee’s hardware product
+which incorporates an NXP Product or (ii) Licensee’s software program which
+is used exclusively in connection with an NXP Product and with which the
+Licensed Software will be integrated.
+1.3. "Derivative Work" means a work based upon one or more pre-existing
works. A work consisting of editorial revisions, annotations, elaborations, or
other modifications which, as a whole, represent an original work of
authorship, is a Derivative Work.
-
-1.4 "Intellectual Property Rights" means any and all rights under
-statute, common law or equity in and under copyrights, trade secrets, and
-patents (including utility models), and analogous rights throughout the world,
+1.4 "Intellectual Property Rights" means any and all rights under statute,
+common law or equity in and under copyrights, trade secrets, and patents
+(including utility models), and analogous rights throughout the world,
including any applications for and the right to apply for, any of the foregoing.
-
-1.5 "NXP Product" means a programmable processing unit (e.g. a
-microprocessor, microcontroller, sensor or digital signal processor) supplied
-directly or indirectly from NXP or an NXP Affiliate.
-
+1.5 "NXP Product" means a hardware product (e.g. a microprocessor,
+microcontroller, sensor or digital signal processor) and/or services (e.g.
+cloud platform services) supplied directly or indirectly from NXP or an NXP
+Affiliate, unless there is a product specified in the Software Content
+Register, in which case this definition is limited to such product.
1.6 "Software Content Register" means the documentation which may
accompany the Licensed Software which identifies the contents of the Licensed
Software, including but not limited to identification of any Third Party
Software, if any, and may also contain other related information as whether the
license in 2.3 is applicable.
-
1.7 "Third Party Software" means, any software included in the Licensed
Software that is not NXP proprietary software, and is not open source software,
and to which different license terms may apply.
-
2. LICENSE GRANT.
-
2.1. If you are not expressly granted the distribution license in
Section 2.3 in the Software Content Register, then you are only granted the
rights in Section 2.2 and not in 2.3. If you are expressly granted the
distribution license in Section 2.3 in the Software Content Register, then you
are granted the rights in both Section 2.2 and 2.3.
-
-2.2. Standard License. Subject to the terms and conditions of this
+2.2. Standard License. Subject to the terms and conditions of this
Agreement, NXP grants you a worldwide, personal, non-transferable,
non-exclusive, non-sublicensable license, solely for the development of an
Authorized System:
-
-(a) to use and reproduce the Licensed Software (and its Derivative Works
-prepared under the license in Section 2.2(b)); and
-
-(b) for Licensed Software provided to you in source code form (human
-readable), to prepare Derivative Works of the Licensed Software.
-
+(a) to use and reproduce the Licensed Software (and its Derivative Works
+prepared under the license in Section 2.2(b)) solely in combination with a NXP
+Product; and
+(b) for Licensed Software provided to you in source code form (human
+readable), to prepare Derivative Works of the Licensed Software solely for use
+in combination with a NXP Product.
You may not distribute or sublicense the Licensed Software to others under the
license granted in this Section 2.2.
-
+You may demonstrate the Licensed Software to your direct customers as part of
+an Authorized System so long as such demonstration is directly controlled by
+you and without prior approval by NXP; however, to all other third parties only
+if NXP has provided its advance, written approval (e.g. email approval) of your
+demonstrating the Licensed Software to specified third parties or at specified
+event(s). You may not leave the Licensed Software with a direct customer or
+any other third party at any time.
2.3. Additional Distribution License. If expressly authorized in the
Software Content Register, subject to the terms and conditions of this
Agreement, NXP grants you a worldwide, personal, non-transferable,
non-exclusive, non-sublicensable license solely in connection with your
manufacturing and distribution of an Authorized System:
-
-(a) to manufacture (or have manufactured), distribute, and market
-the Licensed Software (and its Derivative Works prepared under the license in
+(a) to manufacture (or have manufactured), distribute, and market the
+Licensed Software (and its Derivative Works prepared under the license in
2.2(b)) in object code (machine readable format) only as part of, or embedded
-within, Authorized Systems and not on a standalone basis. Notwithstanding the
-foregoing, those files marked as .h files ("Header files") may be distributed
-in source or object code form, but only as part of, or embedded within
-Authorized Systems; and
-
-(b) to copy and distribute as needed, solely in connection with an
-Authorized System, non-confidential NXP information provided as part of the
-Licensed Software for the purpose of maintaining and supporting Authorized
-Systems with which the Licensed Software is integrated.
-
-2.4 Separate license grants to Third Party Software, or other terms
+within, Authorized Systems and not on a standalone basis solely for use in
+combination with a NXP Product. Notwithstanding the foregoing, those files
+marked as .h files ("Header files") may be distributed in source or object code
+form, but only as part of, or embedded within Authorized Systems; and
+(b) to copy and distribute as needed, solely in connection with an
+Authorized System and for use in combination with a NXP Product,
+non-confidential NXP information provided as part of the Licensed Software for
+the purpose of maintaining and supporting Authorized Systems with which the
+Licensed Software is integrated.
+2.4 Separate license grants to Third Party Software, or other terms
applicable to the Licensed Software if different from those granted in this
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
Software prior to your preparation of any Derivative Work.
-
3.2. The Licensed Software is licensed to you, not sold. Title to
-Licensed Software delivered hereunder remains vested in NXP or NXP's licensor
+Licensed Software delivered hereunder remains vested in NXP or NXP’s licensor
and cannot be assigned or transferred. You are expressly forbidden from selling
or otherwise distributing the Licensed Software, or any portion thereof, except
as expressly permitted herein. This Agreement does not grant to you any implied
rights under any NXP or third party Intellectual Property Rights.
-
3.3. You may not translate, reverse engineer, decompile, or disassemble
the Licensed Software except to the extent applicable law specifically
prohibits such restriction. You must prohibit your subcontractors or customers
(if distribution is permitted) from translating, reverse engineering,
decompiling, or disassembling the Licensed Software except to the extent
applicable law specifically prohibits such restriction.
-
-3.4. You must reproduce any and all of NXP's (or its third-party
-licensor's) copyright notices and other proprietary legends on copies of
+3.4. You must reproduce any and all of NXP’s (or its third-party
+licensor’s) copyright notices and other proprietary legends on copies of
Licensed Software.
-
3.5. If you distribute the Licensed Software to the United States
Government, then the Licensed Software is "restricted computer software" and is
subject to FAR 52.227-19.
-
3.6. You grant to NXP a non-exclusive, non-transferable, irrevocable,
perpetual, worldwide, royalty-free, sub-licensable license under your
Intellectual Property Rights to use without restriction and for any purpose any
suggestion, comment or other feedback related to the Licensed Software
(including, but not limited to, error corrections and bug fixes).
-
3.7. You will not take or fail to take any action that could subject
the Licensed Software to an Excluded License. An Excluded License means any
license that requires, as a condition of use, modification or distribution of
@@ -167,13 +150,11 @@ software subject to the Excluded License, that such software or other software
combined and/or distributed with the software be (i) disclosed or distributed
in source code form; (ii) licensed for the purpose of making Derivative Works;
or (iii) redistributable at no charge.
-
3.8. You may not publish or distribute reports associated with the use
of the Licensed Software to anyone other than NXP. You may advise NXP of any
results obtained from your use of the Licensed Software, including any problems
or suggested improvements thereof, and NXP retains the right to use such
results and related information in any manner it deems appropriate.
-
4. OPEN SOURCE. Open source software included in the Licensed
Software is not licensed under the terms of this Agreement but is instead
licensed under the terms of the applicable open source license(s), such as the
@@ -181,38 +162,39 @@ BSD License, Apache License or the GNU Lesser General Public License. Your use
of the open source software is subject to the terms of each applicable license.
You must agree to the terms of each applicable license, or you cannot use the
open source software.
-
-5. INTELLECTUAL PROPERTY RIGHTS. Your modifications to the Licensed
-Software, and all Intellectual Property Rights associated with, and title
-thereto, will be the property of NXP. Upon request, you must provide NXP the
-source code of any derivative of the Licensed Software. You agree to assign
-all, and hereby do assign all rights, title, and interest to any such
+5. INTELLECTUAL PROPERTY RIGHTS.
+Upon request, you must provide NXP the source code of any derivative of the
+Licensed Software.
+Unless prohibited by law, the following paragraph shall apply. Your
+modifications to the Licensed Software, and all intellectual property rights
+associated with, and title thereto, will be the property of NXP. You agree to
+assign all, and hereby do assign all rights, title, and interest to any such
modifications to the Licensed Software to NXP and agree to provide all
assistance reasonably requested by NXP to establish, preserve or enforce such
-right. Further, you agree to waive all moral rights relating to your
+right. Further, you agree to waive all moral rights relating to your
modifications to the Licensed Software, including, without limitation, all
rights of identification of authorship and all rights of approval, restriction,
-or limitation on use or subsequent modification. Notwithstanding the foregoing,
-you will have the license rights granted in Section 2 hereto to any such
-modifications made by you or your subcontractor.
-
+or limitation on use or subsequent modification. Notwithstanding the
+foregoing, you will have the license rights granted in Section 2 hereto to any
+such modifications made by you or your licensees.
+Otherwise, you agree to grant an irrevocable, worldwide, and perpetual license
+to NXP to make, have made, use, sell, offer to sell, import, commercialize,
+sublicense and reproduce your modifications or derivative works to the Licensed
+Software without any payment to Licensee. You agree to provide all assistance
+reasonably requested by NXP to establish, preserve or enforce such right.
6. ESSENTIAL PATENTS. NXP has no obligation to identify or obtain any
license to any Intellectual Property Right of a third-party that may be
necessary for use in connection with technology that is incorporated into the
Authorized System (whether or not as part of the Licensed Software).
-
7. TERM AND TERMINATION. This Agreement will remain in effect unless
terminated as provided in this Section.
-
7.1. You may terminate this Agreement immediately upon written notice
to NXP at the address provided below.
-
7.2. Either party may terminate this Agreement if the other party is in
default of any of the terms and conditions of this Agreement, and termination
is effective if the defaulting party fails to correct such default within 30
days after written notice thereof by the non-defaulting party to the defaulting
party at the address below.
-
7.3. Notwithstanding the foregoing, NXP may terminate this Agreement
immediately upon written notice if you: breach any of your confidentiality
obligations or the license restrictions under this Agreement; become bankrupt,
@@ -220,17 +202,13 @@ insolvent, or file a petition for bankruptcy or insolvency; make an assignment
for the benefit of its creditors; enter proceedings for winding up or
dissolution; are dissolved; or are nationalized or become subject to the
expropriation of all or substantially all of your business or assets.
-
7.4. Upon termination of this Agreement, all licenses granted under
Section 2 will expire.
-
7.5. After termination of this Agreement by either party you will
destroy all parts of Licensed Software and its Derivative Works (if any) and
will provide to NXP a statement certifying the same.
-
7.6. Notwithstanding the termination of this Agreement for any reason,
the terms of Sections 1 and 3 through 24 will survive.
-
8. SUPPORT. NXP is not obligated to provide any support, upgrades or
new releases of the Licensed Software under this Agreement. If you wish, you
may contact NXP and report problems and provide suggestions regarding the
@@ -238,7 +216,6 @@ Licensed Software. NXP has no obligation to respond to such a problem report or
suggestion. NXP may make changes to the Licensed Software at any time, without
any obligation to notify or provide updated versions of the Licensed Software
to you.
-
9. NO WARRANTY. To the maximum extent permitted by law, NXP expressly
disclaims any warranty for the Licensed Software. The Licensed Software is
provided "AS IS", without warranty of any kind, either express or implied,
@@ -246,13 +223,11 @@ 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 licensed software, or any systems
you design using the licensed software (if any).
-
10. INDEMNITY. You agree to fully defend and indemnify NXP from all
-claims, liabilities, and costs (including reasonable attorney's fees) related
-to (1) your use (including your subcontractor's or distributee's use, if
+claims, liabilities, and costs (including reasonable attorney’s fees) related
+to (1) your use (including your subcontractor’s or distributee’s use, if
permitted) of the Licensed Software or (2) your violation of the terms and
conditions of this Agreement.
-
11. LIMITATION OF LIABILITY. EXCLUDING LIABILITY FOR A BREACH OF
SECTION 2 (LICENSE GRANTS), SECTION 3 (LICENSE LIMITATIONS AND RESTRICTIONS),
SECTION 16 (CONFIDENTIAL INFORMATION), OR CLAIMS UNDER SECTION 10 (INDEMNITY),
@@ -260,12 +235,11 @@ IN NO EVENT WILL EITHER PARTY 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. NXP'S TOTAL LIABILITY FOR ALL
+THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW. NXP’S TOTAL LIABILITY FOR ALL
COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF OR IN CONNECTION
WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO
THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED
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
@@ -281,9 +255,7 @@ or destination to which such transfer, diversion, export or re-export is
restricted or prohibited, without obtaining prior written authorization from
the applicable competent government authorities to the extent required by those
laws.
-
13. GOVERNMENT CONTRACT COMPLIANCE
-
13.1. If you sell Authorized Systems directly to any government or public
entity, including U.S., state, local, foreign or international governments or
public entities, or indirectly via a prime contractor or subcontractor of such
@@ -291,7 +263,6 @@ governments or entities, NXP makes no representations, certifications, or
warranties whatsoever about compliance with government or public entity
acquisition statutes or regulations, including, without limitation, statutes or
regulations that may relate to pricing, quality, origin or content.
-
13.2. The Licensed Software has been developed at private expense and is a
"Commercial Item" as defined in 48 C.F.R. Section 2.101, consisting of
"Commercial Computer Software", and/or "Commercial Computer Software
@@ -302,13 +273,12 @@ within, Authorized Systems. Any agreement pursuant to which you share the
Licensed Software will include a provision that reiterates the limitations of
this document and requires all sub-agreements to similarly contain such
limitations.
-
14. CRITICAL APPLICATIONS. In some cases, NXP may promote certain
software for use in the development of, or for incorporation into, products or
services (a) used in applications requiring fail-safe performance or (b) in
which failure could lead to death, personal injury, or severe physical or
environmental damage (these products and services are referred to as "Critical
-Applications"). NXP's goal is to educate customers so that they can design
+Applications"). NXP’s goal is to educate customers so that they can design
their own end-product solutions to meet applicable functional safety standards
and requirements. Licensee makes the ultimate design decisions regarding its
products and is solely responsible for compliance with all legal, regulatory,
@@ -318,9 +288,8 @@ 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
-incorporation of the Licensed Software in a Critical Application.
-
+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
regard to conflicts of laws principles, will apply to all matters relating to
@@ -328,7 +297,6 @@ this Agreement or the Licensed Software, and you agree that any litigation will
be subject to the exclusive jurisdiction of the courts of Amsterdam, The
Netherlands. The United Nations Convention on Contracts for the International
Sale of Goods will not apply to this document.
-
16. CONFIDENTIAL INFORMATION. Subject to the license grants and
restrictions contained herein, you must treat the Licensed Software as
confidential information and you agree to retain the Licensed Software in
@@ -345,16 +313,13 @@ that you notify NXP of such requirement prior to disclosure, which you only
disclose the minimum of the required information, and that you allow NXP the
opportunity to object to such court or other legal body requiring such
disclosure.
-
17. TRADEMARKS. You are not authorized to use any NXP trademarks, brand
names, or logos.
-
18. ENTIRE AGREEMENT. This Agreement constitutes the entire agreement
between you and NXP 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, signed by you and NXP.
-
19. 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
@@ -363,48 +328,50 @@ 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.
-
20. NO WAIVER. The waiver by NXP 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.
-
21. AUDIT. You will keep full, clear and accurate records with respect
to your compliance with the limited license rights granted under this Agreement
for three years following expiration or termination of this Agreement. NXP will
have the right, either itself or through an independent certified public
-accountant to examine and audit, at NXP's expense, not more than once a year,
+accountant to examine and audit, at NXP’s expense, not more than once a year,
and during normal business hours, all such records that may bear upon your
compliance with the limited license rights granted above. You must make prompt
adjustment to compensate for any errors and/or omissions disclosed by such
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
partnership, joint venture, or similar relationship. Neither party is
authorized to bind the other to any obligations with third parties.
-
24. SUCCESSION AND ASSIGNMENT. This Agreement will be binding upon and
inure to the benefit of the parties and their permitted successors and assigns.
You may not assign this Agreement, or any part of this Agreement, without the
prior written approval of NXP, which approval will not be unreasonably withheld
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:
+https://www.nxp.com/company/our-company/about-nxp/privacy-statement:PRIVACYPRACT
+ICES.
APPENDIX A
-
Other License Grants and Restrictions:
The Licensed Software may include some or all of the following software, which
@@ -415,19 +382,67 @@ 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, 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". Amazon is a third-party beneficiary to this
-Agreement with respect to the Amazon software.
+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
+beneficiary to this Agreement with respect to the Amazon software.
+
+Amazon Web Services, Inc.: AWS is an intended third-party beneficiary to this
+Agreement with respect to the Greengrass software. If you have an account with
+AWS that is not in good standing, you may not download, install, use or
+distribute the Greengrass software. You will comply with all instructions and
+requirements in any integration documents, guidelines, or other documentation
+AWS provides. The license to the Greengrass software will immediately terminate
+without notice if you (a) fail to comply with this Agreement or any other
+agreement with AWS, (b) fail to make timely payment for any AWS service, (c)
+fail to implement AWS updates, or (d) bring any action for intellectual
+property infringement against AWS or any AWS customer utilizing AWS services.
+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.
+Apple MFi Software Development Kit: Use of Apple MFi Software and associated
+documentation is restricted to current Apple MFi licensees in accordance with
+the terms of their own valid and in-effect license from Apple.
+
Aquantia Corp.: You may use Aquantia's API binaries solely to flash the API
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.
@@ -435,6 +450,15 @@ be obtained directly from Atheros.
ATI (AMD): Distribution of ATI software must be a part of, or embedded within,
Authorized Systems that include a ATI graphics processor core.
+Au-Zone Technologies: eIQ Portal, Model Tool, DeepViewRT and ModelRunner are
+distributed by NXP under license from Au-Zone Technologies. Your use of the
+Licensed Software, examples and related documentation is subject to the
+following:
+(1) Use of Software is limited to Authorized System only
+(2) In no event may Licensee Sublicense the Software
+(3) AU-ZONE TECHNOLOGIES SHALL NOT BE LIABLE FOR USE OF LICENSED
+SOFTWARE IN CRITICAL APPLICATIONS BY LICENSEE
+
Broadcom Corporation: Your use of Broadcom Corporation software is restricted
to Authorized Systems that incorporate a compatible integrated circuit device
manufactured or sold by Broadcom.
@@ -445,7 +469,16 @@ herein to the Cadence Design Systems HiFi aacPlus Audio Decoder software does
not include a license to the AAC family of technologies which you or your
customer may need to obtain. Configuration tool outputs may only be distributed
by licensees of the relevant Cadence SDK and distribution is limited to
-distribution of one copy embedded in a single NXP Product.
+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
@@ -457,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.
@@ -466,18 +503,34 @@ demonstration only. Permitted distributions must be similarly limited. Further
rights must be obtained directly from Crank Software Inc.
Cypress Semiconductor Corporation: WWD RTOS source code may only be used in
-accordance with the Cypress IOT Community License Agreement located at
-https://community.cypress.com/terms-and-conditions!input.jspa?displayOnly=true.
+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:
+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.
+Production deployment of the EB software using this license is prohibited. See
+additionally Section 2.1.1 EB EULA.
Embedded Systems Academy GmbH (EmSA): Any use of Micro CANopen Plus is subject
to the acceptance of the license conditions described in the LICENSE.INFO file
distributed with all example projects and in the documentation and the
additional clause described below.
-
Clause 1: Micro CANopen Plus may not be used for any competitive or comparative
purpose, including the publication of any form of run time or compile time
metric, without the express permission of EmSA.
+Fenopix Technologies Private Limited: Under no circumstances may the CanvasJS
+software product be used in any way that would compete with any product from
+Fenopix. License to the CanvasJS software will terminate immediately without
+notice if Licensee fail to comply with any provision of this Agreement.
+
+Fraunhofer IIS: Fraunhofer MPEG Audio Decoder (Fraunhofer copyright) - If you
+are provided MPEG-H decoding functionality, you understand that NXP will
+provide Fraunhofer your name and contact information.
+
Future Technology Devices International Ltd.: Future Technology Devices
International software must be used consistent with the terms found here:
http://www.ftdichip.com/Drivers/FTDriverLicenceTerms.htm
@@ -486,6 +539,24 @@ 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.
+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
+
+Lumissil: Use of the Lumissil software constitutes your acceptance of the terms
+of the Lumissil Software License Agreement. A link to the agreement is
+incorporated as follows:
+https://www.lumissil.com/assets/pdf/support/2023%20Lumissil%20IS3xCG5317%20Softw
+are%20License%20Agreement%20NXP.pdf .
+
Microsoft: Except for Microsoft PlayReady software, if the Licensed Software
includes software owned by Microsoft Corporation ("Microsoft"), it is subject
to the terms of your license with Microsoft (the "Microsoft Underlying Licensed
@@ -528,9 +599,19 @@ 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
+ON Semiconductor: ON Semiconductor AP1302 Image Signal Processor Initialization
+Binaries must be used consistent with the terms found here:
+https://github.com/ONSemiconductor/ap1302_binaries/blob/main/AP1302%20Software%2
+0License%20Agreement.pdf
+
Opus: Use of Opus software must be consistent with the terms of the Opus
license which can be found at: http://www.opus-codec.org/license/
@@ -562,6 +643,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
@@ -572,16 +660,12 @@ SanDisk Corporation: If the Licensed Software includes software developed by
SanDisk Corporation ("SanDisk"), you must separately obtain the rights to
reproduce and distribute this software in source code form from SanDisk.
Please follow these easy steps to obtain the license and software:
-
(1) Contact your local SanDisk sales representative to obtain the SanDisk
License Agreement.
-
(2) Sign the license agreement. Fax the signed agreement to SanDisk USA
marketing department at 408-542-0403. The license will be valid when fully
executed by SanDisk.
-
(3) If you have specific questions, please send an email to sales@sandisk.com
-
You may only use the SanDisk Corporation Licensed Software on products
compatible with a SanDisk Secure Digital Card. You may not use the SanDisk
Corporation Licensed Software on any memory device product. SanDisk retains
@@ -595,22 +679,54 @@ 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
+SEVENSTAX - Not withstanding anything in this Agreement, SEVENSTAX GmbH
+software must be used for evaluation purposes only, in strict accordance with
+the SEVENSTAX License Agreement, available here:
+https://www.sevenstax.de/fileadmin/documents/SEVENSTAX-NX-ESLA.txt. Any other
+use, and embedding the software into commercial products, is expressly
+prohibited.
+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:
-
(1) Duration of the license for the Licensed Software is limited to 12 months,
unless otherwise specified in the license file.
-
(2) The Licensed Software is usable by one user at a time on a single
designated computer, unless otherwise agreed by Synopsys.
-
(3) Licensed Software and documentation are to be used only on a designated
computer at the designated physical address provided by you on the APEX license
form.
-
(4) The Licensed Software is not sub-licensable.
+T2 Labs / T2 Software: As a condition to the grant of any license under this
+Agreement, you represent and warrant that you will comply with all licenses,
+agreements, rules and bylaws of the Bluetooth SIG (Special Interest Group )
+applicable to the licensed software and documentation and its use which may
+affect when and if you may take certain actions under licenses granted
+hereunder.
+
+The license grant under this Agreement is conditional to you being (i) a
+Bluetooth SIG Associate member until such time as the specifications for the
+software are made public to Bluetooth SIG members of any level and (ii)
+thereafter a Bluetooth SIG member of any level.
+
+Notwithstanding the terms contained in Section 2.3 (a), if the licensed
+software includes proprietary software in source code format, you may make
+modifications and create derivative works only to the extent necessary for
+improving the performance of the source code with the NXP products or your
+products and for creating enhancements of such products. You may not further
+sublicense or otherwise distribute the source code, or any modifications or
+derivatives thereof as stand-alone products. You will be responsible for
+qualifying any modifications or derivatives with the Bluetooth SIG and any
+other qualifying bodies.
TARA Systems: Use of TARA Systems GUI technology Embedded Wizard is limited to
evaluation and demonstration only. Permitted distributions must be similarly
limited. Further rights must be obtained directly from TARA Systems.
diff --git a/README b/README
deleted file mode 100644
index 6745e069..00000000
--- a/README
+++ /dev/null
@@ -1,34 +0,0 @@
-OpenEmbedded/Yocto BSP layer for Freescale's platforms
-======================================================
-
-This layer provides support for Freescale's platforms for use with
-OpenEmbedded and/or Yocto.
-
-This layer depends on:
-
-URI: git://git.openembedded.org/openembedded-core
-branch: master
-revision: HEAD
-
-Contributing
-------------
-
-Please submit any patches against the `meta-freescale` layer by using the
-GitHub pull-request feature. Fork the repo, make a branch, do the
-work, rebase from upstream, create the pull request.
-
-For some useful guidelines to be followed when submitting patches,
-please refer to:
-http://openembedded.org/wiki/Commit_Patch_Message_Guidelines
-
-Pull requests will be discussed within the GitHub pull-request
-infrastructure. If you want to get informed on new PRs and the
-follow-up discussions please use the GitHub's notification system.
-
-Mailing list:
-
- https://lists.yoctoproject.org/g/meta-freescale
-
-Source code:
-
- https://github.com/Freescale/meta-freescale
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..91ffff93
--- /dev/null
+++ b/README.md
@@ -0,0 +1,47 @@
+# OpenEmbedded/Yocto Project BSP Layer for NXP's Platforms
+
+Welcome to `meta-freescale`. This document outlines our commitment to providing consistent support and updates in alignment with the Yocto Project LTS release schedule.
+
+This layer provides support for NXP's platforms for use with OpenEmbedded and/or Yocto Project.
+
+### Dependencies
+
+This layer depends on:
+
+- URI: git://git.openembedded.org/openembedded-core
+- Branch: master
+- Revision: HEAD
+
+## Branches
+
+- **master:** This is our primary development branch, receiving continuous bug fixes and BSP upgrades. It represents the latest and greatest version, ensuring compatibility with the most recent Yocto Project release.
+- **scarthgap:** Associated with Yocto Project 5.0 (LTS), maintained until April 2028 for bug fixes and until April 2026 for BSP backports.
+- **nanbield:** Corresponding to Yocto Project 4.3, it's maintained until May 2024 for bug fixes and BSP backports.
+- **kirkstone:** Tied to Yocto Project 4.0 (LTS), supported until April 2026 for bug fixes and until April 2024 for BSP backports.
+
+## Maintenance Policy
+
+- **Latest and Greatest (Master):** Continuous attention to bug fixes and BSP upgrades, ensuring that our users have access to the latest enhancements and improvements.
+- **Stable Releases:** Each stable release is maintained until the subsequent version is released. This includes backports for BSP and critical bug fixes, along with updates for security vulnerabilities (CVEs).
+- **Long-Term Support (LTS) Releases:** These are maintained for the duration of Yocto Project's LTS support. We prioritize bug fixes, security vulnerabilities (CVEs) updates, and BSP backports to ensure stability and reliability.
+
+This policy ensures that our users can rely on consistent support and updates, backed by our commitment to delivering high-quality BSP layers.
+
+## Release Cycle
+
+- **Yocto Project LTS Releases:** Our LTS branches follow the [Yocto Project LTS release schedule](https://wiki.yoctoproject.org/wiki/Releases), which involves a four-year maintenance period. A new LTS version is typically released every two years.
+- **Stable Releases:** We aim to provide stable releases every six months, aligning with the pace of Yocto Project's stable releases.
+
+## Contributing
+
+Please submit any patches against the `meta-freescale` layer by using the GitHub pull-request feature. Fork the repo, create a branch, do the work, rebase from upstream, and then create the pull request.
+
+For useful guidelines on submitting patches, please refer to the [Commit Patch Message Guidelines](http://openembedded.org/wiki/Commit_Patch_Message_Guidelines).
+
+Pull requests will be discussed within the GitHub pull-request infrastructure. If you want to stay informed about new PRs and follow-up discussions, please use GitHub's notification system. Additionally, feel free to open GitHub issues for bug reports, feature requests, or general discussions.
+
+## Communication
+
+- **GitHub Issues:** [meta-freescale issues](https://github.com/Freescale/meta-freescale/issues)
+- **GitHub Discussions:** [meta-freescale discussions](https://github.com/Freescale/meta-freescale/discussions)
+- **Pull Requests:** [meta-freescale pull requests](https://github.com/Freescale/meta-freescale/pulls)
diff --git a/SCR/SCR-5.4.24_2.1.0.txt b/SCR/SCR-5.4.24_2.1.0.txt
deleted file mode 100644
index e01b9cb3..00000000
--- a/SCR/SCR-5.4.24_2.1.0.txt
+++ /dev/null
@@ -1,1311 +0,0 @@
-NXP Software Content Register
-
-Release - Linux 5.4.24_2.1.0
- June 2020
-
-Yocto Project recipe manifest:
-repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx_5.4.24_2.1.0.xml
-
-Release tag: rel_imx_5.4.24_2.1.0
-
---------------------------------------------
-BSP Packages
---------------------------------------------
-
-Package: linux-imx.git
-Outgoing License: GPL-2.0
-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.4.24_2.1.0
-Origin: NXP (GPL-2.0)
- kernel.org (GPL-2.0) - https://www.kernel.org/
-
---------------------------------------------
-
-Package: uboot-imx.git
-Outgoing License: GPL-2.0
-License File: COPYING
-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.4.24_2.1.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/
- zlib (zlib license) - http://www.zlib.net/
-
---------------------------------------------
-
-Package: imx-atf.git
-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.4.24_2.1.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.5.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- ARM CMSIS Library (BSD-3-clause) - https://silver.arm.com/
-
---------------------------------------------
-
-Package: firmware-imx-8.8.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
- In addition, these components contain code from the companies listed below.
- DDR: origin: Synopsys (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)
- 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)
-
- vpu_fw_imx8_dec.bin
- vpu_fw_imx8_enc.bin
- origin: Amphion Semiconductor Ltd (proprietary)
-
---------------------------------------------
-
-Package: imx-mkimage.git
-Outgoing License: GPL-2.0
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (GPL-2.0)
- Das U-Boot - Universal Bootloader (GPL-2.0) - http://www.denx.de/wiki/U-Boot/WebHome
-
---------------------------------------------
-
-Package: imx-lib.git
-Outgoing License: LGPL-2.1
-License File: COPYING-LGPL-2.1
-Package Category: BSP
-Type of Content: source
-Description and comments: BSP libraries
-Release Location: https://source.codeaurora.org/external/imx/imx-lib -b master
-Origin: NXP (LGPL-2.1)
-
---------------------------------------------
-
-Package: imx-test.git
-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
-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.4.24_2.1.0
-Origin: NXP (GPL-2.0)
- module_test: NXP (GPL-2.0+)
- Hantro Products Oy. (GPL-2.0+)
- test/caam: NXP [instructions]
- test/can: NXP [instructions]
- test/etm: The Android Open Source Project (Apache-2.0) - unpublished
- test/gpu: NXP [instructions]
- test/memtool: NXP (GPL-2.0+)
- test/misc: NXP [instructions]
- test/mmdc: NXP (GPL-2.0+)
- test/mxc_als_test: NXP (GPL-2.0+)
- test/mxc_alsa_dsd_player: NXP (GPL-2.0+)
- alsa-dsd-player by Daniel Mack (GPL-2.0+) - https://github.com/zonque/alsa-dsd-player
- The Music Player Daemon Project (GPL-2.0+) - http://www.musicpd.org
- test/mxc_alsa_hw_params: NXP (GPL-2.0+)
- test/mxc_amix_test: NXP (GPL-2.0+)
- test/mxc_asrc_test: NXP (GPL-2.0+)
- test/mxc_cec_test: NXP (GPL-2.0+)
- test/mxc_clock_test: NXP [scripts and instructions]
- test/mxc_dcic_test: NXP (GPL-2.0+)
- test/mxc_dcp_test: NXP [instructions]
- test/mxc_dryice_test: NXP [scripts and instructions]
- test/mxc_dsp_test: NXP [MP3 file]
- test/mxc_esai_test: NXP [instructions]
- test/mxc_fb_test: NXP (GPL-2.0+)
- test/mxc_firi_test: NXP [scripts and instructions]
- test/mxc_hdd_test: NXP [scripts and instructions]
- test/mxc_i2c_slave_test: NXP (GPL-2.0+)
- test/mxc_iim_test: NXP (GPL-2.0+)
- test/mxc_ipudev_test: NXP (LGPL-2.1+)
- test/mxc_jpeg_test: NXP (GPL-2.0+)
- test/mxc_keyb_test: NXP [scripts and instructions]
- test/mxc_mcc_tty_test: NXP (GPL-2.0+)
- test/mxc_mlb_test: NXP (GPL-2.0+)
- test/mxc_mmc_test: NXP [scripts and instructions]
- test/mxc_oprofile_test: NXP [scripts and instructions]
- test/mxc_owire_test: NXP [scripts and instructions]
- test/mxc_pdm_test: NXP (GPL-2.0+)
- test/mxc_rtc: NXP (GPL-2.0+)
- Paul Gortmaker (GPL-2.0+) - https://github.com/torvalds/linux/blob/master/tools/testing/selftests/timers/rtctest.c
- test/mxc_sdma_test: NXP (GPL-2.0+)
- test/mxc_secureboot: NXP [scripts and instructions]
- test/mxc_sensor_test: Vojtech Pavlik (GPL-2.0+)
- test/mxc_sim_test: NXP (GPL-2.0+)
- test/mxc_spdif_test: NXP [instructions]
- test/mxc_spi_test: NXP (GPL-2.0+)
- test/mxc_ssi_test: NXP [instructions]
- test/mxc_tuner_test: NXP (GPL-2.0+)
- test/mxc_uart_test: NXP (GPL-2.0+)
- test/mxc_usb_test: NXP [scripts and instructions]
- test/mxc_v4l2_test: NXP (GPL-2.0+)
- test/mxc_v4l2_vpu_test: NXP (GPL-2.0+)
- test/mxc_vpu_test: NXP (GPL-2.0+)
- Chips & Media (GPL-2.0+)
- test/pm: NXP [Instructions]
- test/pxp_lib_test: NXP (GPL-2.0+)
- test/pxp_v4l2_test: NXP (GPL-2.0+)
- Embedded Alley Solutions (GPL-2.0+)
- test/rpmsg: NXP (GPL-2.0+)
- test/wdog: NXP (GPL-2.0+)
-
---------------------------------------------
-
-Package: qcacld-2.0-imx.git
-Outgoing License: ISC
-License File: COPYING
-Package Category: BSP
-Type of Content: source
-Description and comments: QCA9377 WLAN linux driver
-Release Location: https://source.codeaurora.org/external/imx/qcacld-2.0-imx -b rel_imx_5.4.24_2.1.0
-Origin: NXP (ISC)
- Qualcomm Atheros, Inc. (ISC) – https://source.codeaurora.org/external/wlan/qcacld-2.0
-
---------------------------------------------
-
-Package: firmware-qca-3.0.2.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - Section 2.3 applies and Qualcomm Atheros License
-License File: COPYING
-Package Category: BSP
-Type of Content: binary
-Description and comments: Qca9377 WLAN & BT firmware
-Release Location: Mirror
-Origin: Qualcomm Atheros, Inc. (proprietary)
-
---------------------------------------------
-
-Package: imx-firmware.git
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - Section 2.3 applies
-License File: nxp/EULA.txt
-Package Category: BSP
-Type of Content: binary
-Description and comments: BSP firmware - Broadcom Bluetooh 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)
-
---------------------------------------------
-
-Package: mwifiex.git
-Outgoing License: GPL-2.0
-License File: mwifiex*/gpl-2.0.txt
-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.4.24_2.1.0
-Origin: NXP (GPL-2.0)
-
---------------------------------------------
-
-Package: imx-seco-3.6.3.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: imx-seco-libs.git
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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.4.24_2.1.0
-Origin: NXP (proprietary)
-
---------------------------------------------
-
-Package: sof-imx-1.5.0-1
-Outgoing License: BSD-3-Clause
-License File: LICENCE
-Package Category: BSP
-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
-
---------------------------------------------
-
-Package: simg2img.git
-Outgoing License: Apache-2.0
-License File: COPYING
-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
-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
-
---------------------------------------------
-
-Package: imx-kobs.git
-Outgoing License: GPL-2.0
-License File: COPYING
-Package Category: BSP
-Type of Content: source
-Description and comments: NAND boot writer
-Release Location: https://github.com/NXPmicro/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/
- IGEP Linux Kernel (GPL-2.0+) - http://www.igep.es/
-
---------------------------------------------
-
-Package: imx-uuc.git
-Outgoing License: GPL-2.0
-License File: COPYING
-Package Category: BSP
-Type of Content: source
-Description and comments: A daemon for mfgtools.
-Release Location: https://github.com/NXPmicro/imx-uuc -b master
-Origin: NXP (GPL-2.0)
-
---------------------------------------------
-
-Package: imx-optee-client.git
-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.4.24_2.1.0
-Origin: NXP (BSD-2-Clause)
- optee_client (BSD-2-Clause) - https://github.com/OP-TEE/optee_client
-
---------------------------------------------
-
-Package: imx-optee-os.git
-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.4.24_2.1.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/
-
---------------------------------------------
-
-Package: imx-optee-test.git
-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.4.24_2.1.0
-Origin: NXP (BSD-2-Clause)
- optee_test (BSD-2-Clause) - https://github.com/OP-TEE/optee_test
-
---------------------------------------------
-
-Package: imx-jailhouse.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.4.24_2.1.0
-Origin: NXP (GPL-2.0)
- Siemens AG (GPL-2.0) - https://github.com/siemens/jailhouse
-
---------------------------------------------
-
-Package: imx-xen.git
-Outgoing License: GPL-2.0
-License File: COPYING
-Package Category: BSP
-Type of Content: source
-Description and comments: A Virtual Machine Monitor
-Release Location: https://source.codeaurora.org/external/imx/imx-xen -b rel_imx_5.4.24_2.1.0
-Origin: NXP (GPL-2.0)
-
---------------------------------------------
-
-Package: ml-security-1.0.2.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - Section 2.3 applies
-License File: COPYING
-Package Category: BSP
-Type of Content: binary
-Description and comments: Machine Learning Security
-Release Location: Mirror
-Origin: NXP (NXP Proprietary)
-
---------------------------------------------
-
-Package: imx-smw.git
-Outgoing License: BSD-3-Clause
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (BSD-3-Clause)
-
---------------------------------------------
-Graphics Packages
---------------------------------------------
-
-Package: isp-vvcam.git
-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.4.24_2.1.0
-Origin: VeriSilicon Holdings Co., Ltd. (GPL-2.0)
-
---------------------------------------------
-
-Package: isp-imx-4.0.8.2.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: basler-camera-1.0.2.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: apitrace-imx.git
-Outgoing License: MIT
-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.4.24_2.1.0
-Origin: NXP (MIT)
- apitrace (MIT) - https://github.com/apitrace/apitrace
-
---------------------------------------------
-
-Package: imx-gpu-viv-6.4.0.p2.4-aarch32.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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/
- libdri (MIT) - http://dri.freedesktop.org/wiki/
- The Android Open Source Project (Apache-2.0) - https://source.android.com/
- LLVM Compiler (BSD-3-clause) - https://github.com/prof123/llvm/
-
---------------------------------------------
-
-Package: imx-gpu-viv-6.4.0.p2.4-aarch64.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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/
- libdri (MIT) - http://dri.freedesktop.org/wiki/
- The Android Open Source Project (Apache-2.0) - https://source.android.com/
- LLVM Compiler (BSD-3-clause) - https://github.com/prof123/llvm/
-
---------------------------------------------
-
-Package: xf86-video-imx-vivante.git
-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.4.24_2.1.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
-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.5.3
-Origin: NXP (BSD-3-clause)
- Demo Framework
- The Android Open Source Project (Apache-2.0) - https://source.android.com/
- Mono Xna (MIT) - https://code.google.com/archive/p/monoxna/
- Wayland (Seetex License) - http://cgit.freedesktop.org/~krh/wayland/
- Demo Apps
- "OpenGL(R) ES 3.0 Programming Guide" book samples (MIT) - http://github.com/zemanel/opengles-book-samples/
- Norbert Nopper VKTS Examples (MIT) - https://github.com/McNopper/Vulkan
- Sascha Willems Vulkan Demo (MIT) - www.saschawillems.de
- Imagery Sources in Demo Apps:
- Emil Persson (CC-BY-3.0) - http://www.humus.name
- CDmir (CC0-1.0) - http://opengameart.org/content/old-deer-male
- Questquest Game icons - Justin Nichol (CC-BY-SA-4.0) - http://freeforall.cc/works/questquest-game-icons/
- piacenti (CC-BY-3.0) - http://opengameart.org/content/knight-2
- Third Party Apps Included:
- DevIL (LGPL-2.1+) - https://sourceforge.net/projects/openil/
- G-Truc Creation [GLI] (MIT) - https://www.g-truc.net/
- Khronos Group OpenVG (MIT) - https://www.khronos.org/openvg/
- libpng (libpng) - https://sourceforge.net/projects/libpng/
- libjpeg (IJG) - http://www.ijg.org/
- Open Asset Import Library [assimp] (BSD-3-Clause) - https://sourceforge.net/projects/assimp/
- OpenGL Mathematics [GLM] (MIT) - https://sourceforge.net/projects/ogl-math/
- RapidJSON (MIT) - https://github.com/miloyip/rapidjson/
- SRA/SKC gettimeofday (MIT) - https://doxygen.postgresql.org/gettimeofday_8c_source.htm
- Templatized C++ Command Line Parser [tclap] (MIT) - http://sourceforge.net/projects/tclap/
- zlib (zlib) - http://www.zlib.net/
-
---------------------------------------------
-
-Package: imx-dpu-g2d-1.8.7.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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
-Outgoing License: MIT
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (MIT)
-
---------------------------------------------
-
-Package: wayland-protocols-imx.git
-Outgoing License: MIT
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (MIT)
- Weston (MIT) - https://anongit.freedesktop.org/git/wayland/wayland-protocols.git
-
---------------------------------------------
-
-Package: weston-imx.git
-Outgoing License: MIT
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (MIT)
- Weston (MIT) - http://github.com/wayland-project/weston/
-
---------------------------------------------
-
-Package: imx-gputop.git
-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.4.24_2.1.0
-Origin: NXP (MIT)
-
---------------------------------------------
-
-Package: imx-gpu-g2d-6.4.0.p2.4-arm.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: imx-gpu-g2d-6.4.0.p2.4-aarch64.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: libgpuperfcnt-6.4.0.p2.4-aarch64-fb.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: libgpuperfcnt-6.4.0.p2.4-aarch64-wayland.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: libgpuperfcnt-6.4.0.p2.4-aarch64-x11.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: libgpuperfcnt-6.4.0.p2.4-arm-fb.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: libgpuperfcnt-6.4.0.p2.4-arm-wayland.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: libgpuperfcnt-6.4.0.p2.4-arm-x11.bin
-Outgoing License: LA_OPT_NXP_Software_License v10 December 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: nn-imx.git
-Outgoing License: MIT
-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.4.24_2.1.0
-Origin: NXP (MIT)
- Vivante Corporation (MIT)
- Boost Software (Boost) - https://www.boost.org/
- Android Open Source Project (Apache 2.0) - https://developer.android.com/index.html
- OpenCV (BSD-3-clause) - https://github.com/opencv/opencv/
- JSON-CPP (public domain) - https://github.com/open-source-parsers/jsoncpp/
- libjpeg (IJG) - http://www.ijg.org/
-
---------------------------------------------
-
-Package: opencv-imx.git
-Outgoing License: BSD-3-Clause
-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.4.24_2.1.0
-Origin: NXP (BSD-3-Cluse)
- OpenCV Foundation (BSD-3-Clause) - https://github.com/opencv/opencv
- Intel Corporation (BSD-3-Clause)
- Willow Garage Inc. (BSD-3-Clause)
- NVIDIA Corporation (BSD-3-Clause)
- Advanced Micro Devices, Inc. (BSD-3-Clause)
- Itseez Inc. (BSD-3-Clause)
-
---------------------------------------------
-
-Package: arm-computelibrary-imx.git
-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.4.24_2.1.0
-Origin: NXP (MIT)
- ARM Software (MIT) - https://github.com/ARM-software/ComputeLibrary
-
---------------------------------------------
-Multimedia Packages
---------------------------------------------
-
-Package: imx-codec-4.5.5.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- ISO/IEC 13818-7 and ISO/IEC 14496-3 standards
- 3GPP 26.173 standard
- FLAC (BSD-3-clause) - https://sourceforge.net/projects/flac/
- libjpeg (IJG) - http://www.ijg.org/
- OggVorbis Tremor (BSD-3-Clause) - http://xiph.org/vorbis/
-
---------------------------------------------
-
-Package: imx-parser-4.5.5.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: imx-gst1.0-plugin.git
-Outgoing License: LGPL-2.1
-License File: COPYING-LGPL-2.1
-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.4.24_2.1.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/
- Gstreamer plugins-Bad (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-
---------------------------------------------
-
-Package: gstreamer.git
-Outgoing License: LGPL-2.0
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (LGPL-2.1)
- GStreamer (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gstreamer/
-
---------------------------------------------
-
-Package: gst-plugins-good.git
-Outgoing License: LGPL-2.1
-License File: COPYING
-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.4.24_2.1.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
-Outgoing License: LGPL-2.0
-License File: COPYING
-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.4.24_2.1.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
-Outgoing License: LGPL-2.0
-License File: COPYING.LIB
-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.4.24_2.1.0
-Origin: NXP (LGPL-2.1)
- Gstreamer plugins-Bad (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-
---------------------------------------------
-
-Package: imx-dspc-asrc-1.0.1.bin
-Outgoing License: LA_OPT_NXP_Software_License v8 June 2019 - Production Use - 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)
-
---------------------------------------------
-
-Package: imx-sw-pdm-1.0.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: imx-vpuwrap.git
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - Section 2.3 applies
-License File: COPYING
-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.4.24_2.1.0
-Origin: NXP (proprietary)
- sqlite (Public Domain) - http://www.hwaci.com/sw/sqlite/index.html
-
---------------------------------------------
-
-Package: imx-vpu-5.4.39.3.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
-
---------------------------------------------
-
-Package: imx-vpu-hantro-1.18.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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-vc-1.1.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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
-
---------------------------------------------
-
-Package: imx-qtapplications-1.2.2-aarch32.bin
-Outgoing License: LA_OPT_BASE_LICENSE v26 June 2018
-License File: COPYING
-Package Category: Multimedia
-Type of Content: binary
-Description and comments: i.MX QT multimedia player application
-Release Location: Mirror
-Origin: NXP (proprietary)
-
---------------------------------------------
-
-Package: imx-qtapplications-1.2.2-aarch64.bin
-Outgoing License: LA_OPT_BASE_LICENSE v26 June 2018
-License File: COPYING
-Package Category: Multimedia
-Type of Content: binary
-Description and comments: i.MX QT multimedia player application
-Release Location: Mirror
-Origin: NXP (proprietary)
-
---------------------------------------------
-
-Package: imx-alsa-plugins.git
-Outgoing License: GPL-2.0
-License File: COPYING.GPL
-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
-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/
-
---------------------------------------------
-M4 Processor Packages
---------------------------------------------
-
-Package: imx7ulp-m4-demo-2.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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: imx8dxl-m4-demo-2.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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: imx8qm-m4-demo-2.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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: imx8qx-m4-demo-2.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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
-
---------------------------------------------
-M7 Processor Packages
---------------------------------------------
-
-Package: imx8mn-m7-demo-2.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- 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.8.0.bin
-Outgoing License: LA_OPT_NXP_Software_License v11 February 2020 - Production Use - 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)
- Real Time Engineers, Ltd (MIT) - https://aws.amazon.com/freertos/
- Mentor Graphics, Ltd. (BSD-3-Clause) - https://github.com/OpenAMP/open-amp/
-
---------------------------------------------
-MachineLearning Packages
---------------------------------------------
-
-Package: armnn.git
-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.4.24_2.1.0
-Origin: NXP (MIT)
- armnn (MIT) - https://github.com/ARM-software/armnn
-
---------------------------------------------
-
-Package: onnxruntime-imx.git
-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.4.24_2.1.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
- gRPC (Apache-2.0) - https://github.com/grpc/grpc
-
---------------------------------------------
-
-Package: pyarmnn-release.git
-Outgoing License: MIT
-License File: LICENSE
-Package Category: MachineLearning
-Type of Content: source
-Description and comments: Python wrapper for armnn
-Release Location: https://github.com/NXPmicro/pyarmnn-release -b rel_imx_5.4.24_2.1.0
-Origin: NXP (MIT)
-
---------------------------------------------
-
-Package: tensorflow-imx.git
-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.4.24_2.1.0
-Origin: NXP (Apache-2.0)
- TensorFlow (Apache-2.0) - https://github.com/tensorflow/tensorflow/
-
---------------------------------------------
-Tools Packages
---------------------------------------------
-
-Package: VeriSiliconTool-6.4.0.p2.2.tgz
-Outgoing License: VeriSilicon License
-License File:
-Package Category: Tools
-Type of Content: binary
-Description and comments: VeriSilicon Tools
-Release Location: nxp.com
-Origin: VeriSilicon (proprietary)
-
---------------------------------------------
-
-Package: mfgtools.git
-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
-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
- bzip2 (BSD-4-clause) - https://github.com/enthought/bzip2-1.0.6/tree/288acf97a15d558f96c24c89f578b724d6e06b0c
- Android Open Source Project (Apache-2.0) [sparse_format.h] - https://developer.android.com/
-
---------------------------------------------
-PATCHES IN META_FSL_BSP_RELEASE
---------------------------------------------
-
-Patches for: systemd
-Source Location: https://github.com/systemd/systemd-bootchart.git
-Patch Location: meta-bsp/recipes-core/systemd/systemd
-Outgoing License: GPL-2.0
-License File: LICENSE.GPL2
-Package Category: BSP
-Description and comments: System and Service Manager
-Origin of patches: NXP (GPL-2.0)
-
---------------------------------------------
-
-Patches for: bluez5
-Source Location: http://www.kernel.org/pub/linux/bluetooth/bluez-5.48.tar.xz
-Patch Location: meta-bsp/recipes-connectivity/bluez5
-Outgoing License: GPL-2.0+
-License File: COPYING
-Package Category: Connectivity
-Description and comments: Bluetooth protocol stack for Linux
-Origin of patches: NXP (GPL-2.0+)
-
---------------------------------------------
-
-Patches for: connman
-Source Location: https://git.kernel.org/pub/scm/network/connman/connman.git/
-Patch Location: meta-bsp/recipes-connectivity/connman/connman
-Outgoing License: GPL-2.0
-License File: COPYING
-Package Category: Connectivity
-Description and comments: Connection Manager
-Origin of patches: NXP (GPL-2.0)
- WindRiver (GPL-2.0) - https://www.windriver.com/
-
---------------------------------------------
-
-Patches for: gstreamer1.0-libav
-Source Location: http://gstreamer.freedesktop.org/src/gst-libav
-Patch Location: meta-bsp/recipes-multimedia/gstreamer/
-Outgoing License: LGPL-2.0
-License File: COPYING
-Package Category: Multimedia
-Description and comments: A plugin with a set of elements using the Libav library codecs
-Origin of patches: Mathieu Duponchelle (LGPL-2.0)
-
---------------------------------------------
-
-Patches for: alsa-libs
-Source Location: ftp://ftp.alsa-project.org/pub/libs
-Patch Location: meta-bsp/recipes-multimedia/alsa
-Outgoing License: LGPL-2.0
-License File: COPYING
-Package Category: Multimedia
-Description and comments: User space library to simplify application programming and provide higher level functionality
-Origin of patches: NXP (LGPL-2.0)
-
---------------------------------------------
-
-Patches for: alsa-utils
-Source Location: ftp://ftp.alsa-project.org/pub/utils
-Patch Location: meta-bsp/recipes-multimedia/alsa
-Outgoing License: GPL-2.0
-License File: COPYING
-Package Category: Multimedia
-Description and comments: Utilities to control sound cards
-Origin of patches: alsa-utils contributors (GPL-2.0)
-
---------------------------------------------
-
-Patches for: pulseaudio
-Source Location: http://freedesktop.org/software/pulseaudio/releases/
-Patch Location: meta-bsp/recipes-multimedia/pulaeaudio/pulaeaudio
-Outgoing License: LGPL-2.1
-License File: LICENSE
-Package Category: Multimedia
-Description and comments: Sound server
-Origin of patches: NXP (LGPL-2.1)
-
---------------------------------------------
-
-Patches for: opencv
-Source Location: http://github.com/opencv/opencv.git
-Patch Location: meta-bsp/recipes-graphics/opencv/opencv
-Outgoing License: BSD-3-Clause
-License File: LICENSE
-Package Category: Graphics
-Description and comments: The Open Computer Vision Library
-Origin of patches: NXP (BSD-3-Clause)
-
---------------------------------------------
-
-Patches for: mesa-demos
-Source Location: https://mesa.freedesktop.org/archive/demos/
-Patch Location: meta-bsp/recipes-graphics/mesa/mesa-demos
-Outgoing License: MIT
-License File:
-Package Category: Graphics
-Description and comments: 3-D Graphics
-Origin of patches: NXP (MIT)
- Otavio Salvador (MIT)
-
---------------------------------------------
-
-Patches for: xserver-xorg
-Source Location: https://www.x.org/releases/individual/xserver/
-Patch Location: meta-bsp/recipes-graphics/xorg-xserver/xserver-xorg
-Outgoing License: MIT.X
-License File: COPYING
-Package Category: Linux
-Description and comments: X11
-Origin of patches: NXP (MIT.X)
-
---------------------------------------------
-
-Patches for: glslang
-Source Location: https://www.khronos.org/opengles/sdk/tools/Reference-Compiler
-Patch Location: meta-sdk/recipes-graphics/vulkan/glslang
-Outgoing License: BSD-3-Clause
-License File: LICENSE
-Package Category: Graphics
-Description and comments: Official reference compiler front end for the OpenGL ES and OpenGL shading languages.
-Origin of patches: NXP (BSD-3-Clause)
-
---------------------------------------------
-
-Patches for: matchbox-wm 1.2.1
-Source Location: git://git.yoctoproject.org/matchbox-window-manager
-Patch Location: meta-bsp/recipes-graphics/matchbox-wm/matchbox-wm
-Outgoing License: GPL-2.0
-License File: COPYING
-Package Category: Graphics
-Description and comments: Window manager
-Origin of patches: NXP (GPL-2.0)
-
---------------------------------------------
-
-Patches for: vulkan
-Source Location: git://github.com/vulkan
-Patch Location: meta-sdk/recipes-graphics/vulkan/
-Outgoing License: MIT
-License File: LICENSE.md
-Package Category: Graphics
-Description and comments: cross-platform 3D graphics and compute AP
-Origin of patches: NXP (MIT)
-
---------------------------------------------
-
-Patches for: vulkan/vulkan-tools
-Source Location: git://github.com/KhronosGroup/SPIRV-Tools
-Patch Location: meta-sdk/recipes-graphics/vulkan/
-Outgoing License: Apache-2.0
-License File: LICENSE.txt
-Package Category: Graphics
-Description and comments: provides an API and commands for processing SPIR-V modules.
-Origin of patches: NXP (Apache-2.0)
-
---------------------------------------------
-
-Patches for: vulkan/vkmark
-Source Location: git://github.com/vkmark/vkmark
-Patch Location: meta-sdk/recipes-graphics/vulkan/
-Outgoing License: LGPL-2.1
-License File: COPYING-LGPL2.1
-Package Category: Graphics
-Description and comments: vkmark is an extensible Vulkan benchmarking suite with targeted, configurable scenes.
-Origin of patches: NXP (LGPL-2.1)
-
---------------------------------------------
-
-Patches for: qtbase
-Source Location: https://github.com/qt/qtbase
-Patch Location: recipes-qt5/qt5/qtbase
-Outgoing License: LGPL-3.0+Qt Exception 1.1
-License File: LGPL_EXCEPTION.txt
-Package Category: Qt
-Description and comments: Qt Base
-Origin of patches: NXP (LGPL-2.1+Qt Exception 1.1)
-
---------------------------------------------
-
-Patches for: qtwayland
-Source Location: https://github.com/qt/qtwayland
-Patch Location: meta-sdk/recipes-qt5/qt5/qtwayland
-Outgoing License: LGPL-3.0+Qt Exception 1.1
-License File: LGPL_EXCEPTION.txt
-Package Category: Qt
-Description and comments: A toolbox for making Qt based Wayland compositors.
-Origin of patches: NXP (LGPL-2.1+Qt Exception 1.1)
-
---------------------------------------------
-
-Patches for: gstreamer1.0-plugins-good-qt
-Source Location: https://github.com/qt/gstreamer1.0-plugins-good-qt
-Patch Location: meta-sdk/recipes-qt5/qt5/gstreamer1.0-plugins-good-qt
-Outgoing License: LGPL-3.0+Qt Exception 1.1
-License File: LGPL_EXCEPTION.txt
-Package Category: Qt
-Description and comments:
-Origin of patches: NXP (LGPL-2.1+Qt Exception 1.1)
-
---------------------------------------------
diff --git a/SCR/SCR-6.6.3-1.0.0.txt b/SCR/SCR-6.6.3-1.0.0.txt
new file mode 100644
index 00000000..cca3c41c
--- /dev/null
+++ b/SCR/SCR-6.6.3-1.0.0.txt
@@ -0,0 +1,1685 @@
+NXP Software Content Register
+
+Release - Linux 6.6.3-1.0.0
+ March 2024
+
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 - Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
+
+Yocto Project recipe manifest:
+repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-nanbield -m imx-6.6.3-1.0.0.xml
+
+Release tag: lf-6.6.3-1.0.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: 6.6
+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://github.com/nxp-imx/linux-imx -b lf-6.6.3-1.0.0
+Origin: NXP (GPL-2.0)
+ kernel.org (GPL-2.0) - https://www.kernel.org/
+
+--------------------------------------------
+
+Package: uboot-imx.git
+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://github.com/nxp-imx/uboot-imx -b lf-6.6.3-1.0.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/
+ zlib (zlib license) - http://www.zlib.net/
+
+--------------------------------------------
+
+Package: imx-atf.git
+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://github.com/nxp-imx/imx-atf -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-clause)
+ arm-trusted-firmware - ARM Limited (BSD-3-clause) - http://github.com/ARM-software/arm-trusted-firmware/
+
+--------------------------------------------
+
+Package: imx-oei.git
+Version: 1.0.0
+Outgoing License: GPL-2.0
+License File: LICENSE.txt
+Package Category: BSP
+Type of Content: source
+Description and comments: i.MX BootROM Optional Execution Image
+Release Location: https://github.com/nxp-imx/imx-oei -b lf-6.6.3-1.0.0
+Origin: NXP (GPL-2.0)
+ Das U-Boot - Universal Bootloader (GPL-2.0) - http://www.denx.de/wiki/U-Boot/WebHome
+
+
+--------------------------------------------
+
+Package: imx-sm.git
+Version: 1.0.0
+Outgoing License: BSD-3-Clause
+License File: LICENSE.txt
+Package Category: BSP
+Type of Content: source
+Description and comments: i.MX System Manager
+Release Location: https://github.com/nxp-imx/imx-sm -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+ CMSIS_5 (Apache-2.0) - http://silver.arm.com
+ IAR (Apache-2.0) in CMSIS
+ cygwin (BSD-3-Clause) - https://sourceware.org/git/?p=newlib-cygwin.git;a=tree;h=refs/tags/cygwin-3_3_6-release
+
+--------------------------------------------
+
+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 (LA_OPT_NXP_Software_License)
+ ARM CMSIS Library (BSD-3-clause) - https://silver.arm.com/
+
+--------------------------------------------
+
+Package: firmware-imx-8.23.bin
+Version: 8.23
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+ In addition, these components contain code from the companies listed below.
+ 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. (LA_OPT_NXP_Software_License)
+
+ vpu_fw_imx8_dec.bin
+ vpu_fw_imx8_enc.bin
+ origin: Amphion Semiconductor Ltd (LA_OPT_NXP_Software_License - see appendix)
+
+--------------------------------------------
+
+Package: firmware-ele-imx-0.1.1.bin
+Version: 0.1.1
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 Additional distribution license granted - Section 2.3 applies
+License File: COPYING
+Package Category: BSP
+Type of Content: binary
+Description and comments: EdgeLock Enclave firmware
+Release Location: Mirror
+Origin: NXP (proprietary)
+ CMSIS header files (Apache License 2.0; https://github.com/ARM-software/CMSIS_5)
+
+--------------------------------------------
+
+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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-mkimage.git
+Version:
+Outgoing License: GPL-2.0
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: Make Image BootLoader
+Release Location: https://github.com/nxp-imx/imx-mkimage -b lf-6.6.3-1.0.0
+Origin: NXP (GPL-2.0)
+ Das U-Boot - Universal Bootloader (GPL-2.0) - http://www.denx.de/wiki/U-Boot/WebHome
+
+--------------------------------------------
+
+Package: imx-lib.git
+Version:
+Outgoing License: LGPL-2.1
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: BSP libraries
+Release Location: https://github.com/nxp-imx/imx-lib -b lf-6.6.3_1.0.0
+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: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: Linux unit test applications
+Release Location: https://github.com/nxp-imx/imx-test -b lf-6.6.3-1.0.0
+Origin: NXP (GPL-2.0)
+ module_test: NXP (GPL-2.0+)
+ Hantro Products Oy. (GPL-2.0+)
+ test/caam: NXP [instructions]
+ test/can: NXP [instructions]
+ test/etm: The Android Open Source Project (Apache-2.0) - unpublished
+ test/gpu: NXP [instructions]
+ test/memtool: NXP (GPL-2.0+)
+ test/misc: NXP [instructions]
+ test/mmdc: NXP (GPL-2.0+)
+ test/mxc_als_test: NXP (GPL-2.0+)
+ test/mxc_alsa_dsd_player: NXP (GPL-2.0+)
+ alsa-dsd-player by Daniel Mack (GPL-2.0+) - https://github.com/zonque/alsa-dsd-player
+ The Music Player Daemon Project (GPL-2.0+) - http://www.musicpd.org
+ test/mxc_alsa_hw_params: NXP (GPL-2.0+)
+ test/mxc_amix_test: NXP (GPL-2.0+)
+ test/mxc_asrc_test: NXP (GPL-2.0+)
+ test/mxc_cec_test: NXP (GPL-2.0+)
+ test/mxc_clock_test: NXP [scripts and instructions]
+ test/mxc_dcic_test: NXP (GPL-2.0+)
+ test/mxc_dcp_test: NXP [instructions]
+ test/mxc_dryice_test: NXP [scripts and instructions]
+ test/mxc_dsp_test: NXP [MP3 file]
+ test/mxc_esai_test: NXP [instructions]
+ test/mxc_fb_test: NXP (GPL-2.0+)
+ test/mxc_firi_test: NXP [scripts and instructions]
+ test/mxc_hdd_test: NXP [scripts and instructions]
+ test/mxc_i2c_slave_test: NXP (GPL-2.0+)
+ test/mxc_iim_test: NXP (GPL-2.0+)
+ test/mxc_ipudev_test: NXP (LGPL-2.1+)
+ test/mxc_jpeg_test: NXP (GPL-2.0+)
+ test/mxc_keyb_test: NXP [scripts and instructions]
+ test/mxc_mcc_tty_test: NXP (GPL-2.0+)
+ test/mxc_mlb_test: NXP (GPL-2.0+)
+ test/mxc_mmc_test: NXP [scripts and instructions]
+ test/mxc_oprofile_test: NXP [scripts and instructions]
+ test/mxc_owire_test: NXP [scripts and instructions]
+ test/mxc_pdm_test: NXP (GPL-2.0+)
+ test/mxc_rtc: NXP (GPL-2.0+)
+ Paul Gortmaker (GPL-2.0+) - https://github.com/torvalds/linux/blob/master/tools/testing/selftests/timers/rtctest.c
+ test/mxc_sdma_test: NXP (GPL-2.0+)
+ test/mxc_secureboot: NXP [scripts and instructions]
+ test/mxc_sensor_test: Vojtech Pavlik (GPL-2.0+)
+ test/mxc_sim_test: NXP (GPL-2.0+)
+ test/mxc_spdif_test: NXP [instructions]
+ test/mxc_spi_test: NXP (GPL-2.0+)
+ test/mxc_ssi_test: NXP [instructions]
+ test/mxc_tuner_test: NXP (GPL-2.0+)
+ test/mxc_uart_test: NXP (GPL-2.0+)
+ test/mxc_usb_test: NXP [scripts and instructions]
+ test/mxc_v4l2_test: NXP (GPL-2.0+)
+ test/mxc_v4l2_vpu_test: NXP (GPL-2.0+)
+ test/mxc_vpu_test: NXP (GPL-2.0+)
+ Chips & Media (GPL-2.0+)
+ test/pm: NXP [Instructions]
+ test/pxp_lib_test: NXP (GPL-2.0+)
+ test/pxp_v4l2_test: NXP (GPL-2.0+)
+ Embedded Alley Solutions (GPL-2.0+)
+ test/rpmsg: NXP (GPL-2.0+)
+ test/wdog: NXP (GPL-2.0+)
+
+--------------------------------------------
+
+Package: imx-firmware.git
+Version:
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 lf-6.6.3_1.0.0
+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: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: NXP Wi-Fi linux SDK
+Release Location: https://github.com/nxp-imx/mwifiex -b lf-6.6.3-1.0.0
+Origin: NXP (GPL-2.0)
+
+--------------------------------------------
+
+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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-seco-libs.git
+Version:
+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 lf-6.6.3-1.0.0
+Origin: NXP (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: sof-imx-2.8.0
+Version: 2.8.0
+Outgoing License: BSD-3-Clause
+License File: LICENCE
+Package Category: BSP
+Type of Content: binary
+Description and comments: Sound Open Firmware
+Release Location: Mirror
+Origin: NXP (BSD-3-clause)
+ sof (BSD-3-Clause) - https://github.com/thesofproject/sof
+
+--------------------------------------------
+
+Package: sof-zephyr-2.8.0
+Version: 2.8.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.6.0
+Version: 3.6.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: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: Tool to convert Android sparse images to raw images
+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
+
+--------------------------------------------
+
+Package: imx-kobs.git
+Version:
+Outgoing License: GPL-2.0
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: NAND boot writer
+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/
+ IGEP Linux Kernel (GPL-2.0+) - http://www.igep.es/
+
+--------------------------------------------
+
+Package: imx-uuc.git
+Version:
+Outgoing License: GPL-2.0
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: A daemon for mfgtools.
+Release Location: https://github.com/nxp-imx/imx-uuc -b master
+Origin: NXP (GPL-2.0)
+
+--------------------------------------------
+
+Package: imx-optee-client.git
+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://github.com/nxp-imx/imx-optee-client -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-2-Clause)
+ optee_client (BSD-2-Clause) - https://github.com/OP-TEE/optee_client
+
+--------------------------------------------
+
+Package: imx-optee-os.git
+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://github.com/nxp-imx/imx-optee-os -b lf-6.6.3-1.0.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/
+
+--------------------------------------------
+
+Package: imx-optee-test.git
+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://github.com/nxp-imx/imx-optee-test -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-2-Clause)
+ optee_test (BSD-2-Clause) - https://github.com/OP-TEE/optee_test
+
+--------------------------------------------
+
+Package: imx-jailhouse.git
+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://github.com/nxp-imx/imx-jailhouse -b lf-6.6.3-1.0.0
+Origin: NXP (GPL-2.0)
+ Siemens AG (GPL-2.0) - https://github.com/siemens/jailhouse
+
+--------------------------------------------
+
+Package: crypto-af-alg.git
+Version:
+Outgoing License: BSD-3-Clause Additional distribution license granted - Section 2.3 applies
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: NXP i.MX crypto af alg tool to perform symmetric operation
+Release Location: https://github.com/nxp-imx/crypto_af_alg.git -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+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: source
+Description and comments: i.MX secure enclave library
+Release Location: https://github.com/NXP/imx-secure-enclave.git -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+Package: imx-smw.git
+Version: 0.1
+Outgoing License: BSD-3-Clause
+License File: LICENSE
+Package Category: BSP
+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.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+ PSA API (BSD-3-Clause) - https://sourceforge.net/projects/psa-api/
+ mbed-TLS (Apache-2.0) - https://github.com/Mbed-TLS/mbedtls
+ pks11 (MIT) - https://github.com/Roostify/pkcs11
+
+
+--------------------------------------------
+
+Package: itest.git
+Version:
+Outgoing License: BSD-3-Clause
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+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.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+Package: keyctl_caam.git
+Version:
+Outgoing License: BSD-3-Clause
+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://github.com/nxp-imx/keyctl_caam -b lf-6.6.3-1.0.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.6.3-1.0.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: NXPPlugNTrust
+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: 4.4.0
+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 -b lf-6.6.3-1.0.0
+Origin: NXP (Apache-2.0)
+ Mbed-TLS (Apache-2.0) - https://github.com/Mbed-TLS/mbedtls
+ OpenSSL 1.1 (OpenSSL License) - https://github.com/openssl/openssl/tree/OpenSSL_1_1_1-stable
+--------------------------------------------
+
+Package: ecdsa-lib-imx-3.3.2.4.bin
+Version: 3.3.2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 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 (LA_OPT_NXP_Software_License)
+ trace - NXP (BSD-3-clause)
+
+--------------------------------------------
+
+Package: v2xsehsm.git
+Version:
+Outgoing License: BSD-3-Clause
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: V2X Secure Element library
+Release Location: https://github.com/nxp-imx/v2xsehsm -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+Package: vtest.git
+Version:
+Outgoing License: BSD-3-Clause
+License File: LICENSE
+Package Category: BSP
+Type of Content: source
+Description and comments: V2X Test Suite
+Release Location: https://github.com/nxp-imx/vtest -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+Package: dpdk.git
+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://github.com/nxp-qoriq/dpdk -b lf-6.6.3-1.0.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
+ pmdinfogen - Neil Horman (GPL-2.0) - Separate tool in DPDK
+
+
+--------------------------------------------
+
+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.6.3-1.0.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.24.1
+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://github.com/nxp-imx/isp-vvcam -b lf-6.6.3-1.0.0
+Origin: VeriSilicon Holdings Co., Ltd. (GPL-2.0)
+
+--------------------------------------------
+
+Package: isp-imx-4.2.2.24.1.bin
+Version: 4.2.2.24.1
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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. (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: basler-camera-4.2.2.24.1.bin
+Version: 4.2.2.24.1
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+ VeriSilicon Holdings Co., Ltd. (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: apitrace-imx.git
+Version: 10.0.0
+Outgoing License: MIT
+License File: LICENSE
+Package Category: Graphics
+Type of Content: source
+Description and comments: GPU Core IP and test application source
+Release Location: https://github.com/nxp-imx/apitrace-imx -b lf-6.6.3-1.0.0
+Origin: NXP (MIT)
+ apitrace (MIT) - https://github.com/apitrace/apitrace
+
+--------------------------------------------
+
+Package: imx-gpu-viv-6.4.11.p2.4-aarch32-b07999b.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (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/
+ libdri (MIT) - http://dri.freedesktop.org/wiki/
+ The Android Open Source Project (Apache-2.0) - https://source.android.com/
+ LLVM Compiler (BSD-3-clause) - https://github.com/prof123/llvm/
+
+--------------------------------------------
+
+Package: imx-gpu-viv-6.4.11.p2.4-aarch64-b07999b.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (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/
+ libdri (MIT) - http://dri.freedesktop.org/wiki/
+ The Android Open Source Project (Apache-2.0) - https://source.android.com/
+ LLVM Compiler (BSD-3-clause) - https://github.com/prof123/llvm/
+
+--------------------------------------------
+
+Package: mali-imx-r47.0-b867f39.bin
+Version: r47.0
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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)
+ Arm Limited (or its affiliates). (proprietary)
+ Vulkan Header (Apache-2.0)- https://github.com/KhronosGroup/Vulkan-Headers
+ OpenGLES Header (Apache-2.0)- https://github.com/KhronosGroup/OpenGL-Registry
+ Mali GPUs Android Gralloc module (Apache-2.0) - https://developer.arm.com/downloads/-/mali-drivers/android-gralloc-module
+ vulkan-wsi (MIT) - https://gitlab.freedesktop.org/mesa/vulkan-wsi-layer
+ Open Source LLVM/Clang Source Code (Apache-2.0 with LLVM Exceptions) - https://github.com/llvm/llvm-project
+
+
+--------------------------------------------
+
+Package: gtec-demo-framework.git
+Version: 6.2.4
+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/nxp-imx/gtec-demo-framework -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-clause)
+ Demo Framework
+ Sascha Willems - Vulkan demo (MIT) - https://github.com/SaschaWillems/Vulkan
+ MonoXNA - The Mono Xna Team (MIT) - https://code.google.com/archive/p/monoxna/
+ MonoGame - The MonoGame Team - (MS-PL) - https://github.com/MonoGame/MonoGame
+ Wayland - Benjamin Franzke (Seetex License) - http://cgit.freedesktop.org/~krh/wayland/
+ Open Sans - Steve Matteson (Apache-2.0) - https://fonts.google.com/specimen/Open+Sans
+ Demo Apps
+ Vivante Corporation (MIT)
+ "OpenGL(R) ES 3.0 Programming Guide" book samples (MIT) - http://github.com/zemanel/opengles-book-samples/
+ Norbert Nopper VKTS Examples (MIT) - https://github.com/McNopper/Vulkan
+ Sascha Willems - Vulkan demo (MIT) - https://github.com/SaschaWillems/Vulkan
+ Imagery Sources in Demo Apps:
+ Emil Persson (CC-BY-3.0) - http://www.humus.name
+ CDmir (CC0-1.0) - http://opengameart.org/content/old-deer-male
+ Questquest Game icons - Justin Nichol (CC-BY-SA-4.0) - http://freeforall.cc/works/questquest-game-icons/
+ piacenti (CC-BY-3.0) - http://opengameart.org/content/knight-2
+ Third Party Apps Included:
+ Open Asset Import Library [assimp] (BSD-3-Clause) - https://sourceforge.net/projects/assimp/
+ DevIL (LGPL-2.1+) - https://sourceforge.net/projects/openil/
+ G-Truc Creation [GLI] (MIT) - https://www.g-truc.net/
+ Khronos Group OpenVG (MIT) - https://www.khronos.org/openvg/
+ libpng (libpng) - https://sourceforge.net/projects/libpng/
+ libjpeg (IJG) - http://www.ijg.org/
+ OpenGL Mathematics [GLM] (MIT) - https://sourceforge.net/projects/ogl-math/
+ RapidJSON (MIT) - https://github.com/miloyip/rapidjson/
+ SRA/SKC gettimeofday (MIT) - https://doxygen.postgresql.org/gettimeofday_8c_source.htm
+ Templatized C++ Command Line Parser [tclap] (MIT) - http://sourceforge.net/projects/tclap/
+ zlib (zlib) - http://www.zlib.net/
+
+--------------------------------------------
+
+Package: libdrm-imx.git
+Version: 2.4.116.imx
+Outgoing License: MIT
+License File: LICENSE
+Package Category: Graphics
+Type of Content: source
+Description and comments: i.MX DRM Direct Rendering Manager
+Release Location: https://github.com/nxp-imx/libdrm-imx -b lf-6.6.3-1.0.0
+Origin: NXP (MIT)
+
+--------------------------------------------
+
+Package: wayland-protocols-imx.git
+Version: 1.32.imx
+Outgoing License: MIT
+License File: LICENSE
+Package Category: Graphics
+Type of Content: source
+Description and comments: Wayland protocol development
+Release Location: https://github.com/nxp-imx/wayland-protocols-imx -b lf-6.6.3-1.0.0
+Origin: NXP (MIT)
+ Weston (MIT) - https://anongit.freedesktop.org/git/wayland/wayland-protocols.git
+
+--------------------------------------------
+
+Package: weston-imx.git
+Version: 12.0.3.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.6.3-1.0.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.6.3-1.0.0
+Origin: NXP (MIT)
+ Weston (MIT) - http://github.com/wayland-project/weston/
+
+--------------------------------------------
+
+Package: imx-gputop.git
+Version: 6.4.11.p2.4
+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://github.com/nxp-imx/imx-gputop -b lf-6.6.3-1.0.0
+Origin: NXP (MIT)
+
+--------------------------------------------
+
+Package: imx-gpu-g2d-6.4.11.p2.4-arm-b07999b.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-gpu-g2d-6.4.11.p2.4-aarch64-b07999b.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-dpu-g2d-v1-2.1.12-ee47ef7.bin
+Version: 2.1.12
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 Additional distribution license granted - Section 2.3 applies
+License File: COPYING
+Package Category: Graphics
+Type of Content: binary
+Description and comments: G2D v1 implementation using DPU
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-dpu-g2d-v2-2.1.12-ee47ef7.bin
+Version: 2.1.12
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 Additional distribution license granted - Section 2.3 applies
+License File: COPYING
+Package Category: Graphics
+Type of Content: binary
+Description and comments: G2D v2 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 v53 December 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.6.3-1.0.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://github.com/nxp-imx/g2d-samples -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+Package: libgpuperfcnt-6.4.11.p2.4-aarch64-wayland-e4ba456.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: libgpuperfcnt-6.4.11.p2.4-arm-fb-e4ba456.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: libgpuperfcnt-6.4.11.p2.4-arm-wayland-e4ba456.bin
+Version: 6.4.11.p2.4
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: opencv-imx.git
+Version: 4.8.1.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://github.com/nxp-imx/opencv-imx -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Cluse)
+ OpenCV Foundation (BSD-3-Clause) - https://github.com/opencv/opencv
+ Intel Corporation (BSD-3-Clause)
+ Willow Garage Inc. (BSD-3-Clause)
+ NVIDIA Corporation (BSD-3-Clause)
+ Advanced Micro Devices, Inc. (BSD-3-Clause)
+ Itseez Inc. (BSD-3-Clause)
+
+--------------------------------------------
+Multimedia Packages
+--------------------------------------------
+
+Package: imx-codec-4.8.3.bin
+Version: 4.8.3
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (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/
+ libjpeg (IJG) - http://www.ijg.org/
+ OggVorbis Tremor (BSD-3-Clause) - http://xiph.org/vorbis/
+
+--------------------------------------------
+
+Package: imx-parser-4.8.3.bin
+Version: 4.8.3
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-gst1.0-plugin.git
+Version: git
+Outgoing License: 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://github.com/nxp-imx/imx-gst1.0-plugin -b lf-6.6.3-1.0.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/
+ Gstreamer plugins-Bad (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+
+--------------------------------------------
+
+Package: gstreamer.git
+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://github.com/nxp-imx/gstreamer -b lf-6.6.3-1.0.0
+Origin: NXP (LGPL-2.1)
+ GStreamer (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gstreamer/
+
+--------------------------------------------
+
+Package: gst-plugins-good.git
+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 plugins with good quality code and correct functionality
+Release Location: https://github.com/nxp-imx/gst-plugins-good -b lf-6.6.3-1.0.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.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://github.com/nxp-imx/gst-plugins-base -b lf-6.6.3-1.0.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.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://github.com/nxp-imx/gst-plugins-bad -b lf-6.6.3-1.0.0
+Origin: NXP (LGPL-2.1)
+ Gstreamer plugins-Bad (LGPL-2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+
+--------------------------------------------
+
+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
+License File: COPYING
+Package Category: Multimedia
+Type of Content: binary
+Description and comments: NXP Asynchronous Sample Rate Converter
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
+ DSP Concepts, Inc. (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+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 (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-opencl-converter-0.2.0.bin
+Version: 0.2.0
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 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 lf-6.6.3-1.0.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
+License File: COPYING
+Package Category: Multimedia
+Type of Content: binary
+Description and comments: VPU library
+Release Location: Mirror
+Origin: NXP (LA_OPT_NXP_Software_License)
+ Chips & Media, Inc. (LA_OPT_NXP_Software_License)
+
+--------------------------------------------
+
+Package: imx-vpu-hantro-1.32.0.bin
+Version: 1.32.0
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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. (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.9
+Version: 1.1.9
+Outgoing License: MIT License
+License File: LICENSE.txt
+Package Category: Multimedia
+Type of Content: binary
+Description and comments: VPU library
+Release Location: Mirror
+Origin: NXP (MIT)
+ VeriSilicon Inc. (MIT)
+ Intel Corporation - intel-vaapi-driver (MIT) - https://github.com/intel/intel-vaapi-driver
+
+--------------------------------------------
+
+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. (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
+
+--------------------------------------------
+
+Package: imx-alsa-plugins.git
+Version:
+Outgoing License: GPL-2.0 License File: LICENSE
+Package Category: Multimedia
+Type of Content: source
+Description and comments: Plugins for various audio libraries and sound servers
+Release Location: https://github.com/nxp-imx/imx-alsa-plugins -b MM_04.08.03_2312_L6.6.y
+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-2.1.7.bin
+Version: 2.1.7
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+ Cadence (MIT)
+ Matt Redfearn (BSD-3-clause)
+
+--------------------------------------------
+
+Package: imx-dsp-codec-ext-2.1.7.bin
+Version: 2.1.7
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+ autoconf - Free Software Foundation (FSF All Permissive License)
+ X Consortium (MIT)
+
+--------------------------------------------
+
+Package: nxp-afe.git
+Version: 1.0
+Outgoing License: BSD-3-Clause
+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://github.com/nxp-imx/nxp-afe -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+
+Package: imx-voiceUI.git
+Version: 2.0
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 No distribution licensed - Section 2.2 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.6.3-1.0.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.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 (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: imx8dxl-m4-demo-2.9.0.bin
+Version: 2.9.0
+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 (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.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 (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.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 (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: imx8qm-m4-demo-2.9.0.bin
+Version: 2.9.0
+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 (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: imx8qx-m4-demo-2.9.0.bin
+Version: 2.9.0
+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 (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
+
+--------------------------------------------
+M7 Processor Packages
+--------------------------------------------
+
+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 (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.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 (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.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 (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: imx95-m7-demo-2.15.000.bin
+Version: 2.15.000
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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 (LA_OPT_NXP_Software_License)
+ NXP (BSD-3-Clause)
+ 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.15.000.bin
+Version: 2.15.000
+Outgoing License: LA_OPT_NXP_Software_License v53 December 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: arm-computelibrary-imx.git
+Version: 23.11
+Outgoing License: MIT
+License File: LICENSE
+Package Category: MachineLearning
+Type of Content: source
+Description and comments: ARM Compute Library fork
+Release Location: https://github.com/nxp-imx/arm-computelibrary-imx -b lf-6.6.3-1.0.0
+Origin: NXP (MIT)
+ ARM Software (MIT) - https://github.com/ARM-software/ComputeLibrary
+
+--------------------------------------------
+
+Package: eiq-examples.git
+Version:
+Outgoing License: Apache-2.0
+License File: LICENSE
+Package Category: MachineLearning
+Type of Content: source
+Description and comments: eIQ examples based on TensorFlow Lite
+Release Location: https://github.com/nxp-imx/eiq-examples -b lf-6.6.3-1.0.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: eiq-tvm-imx.git
+Version: 0.7.0
+Outgoing License: Apache-2.0
+License File: LICENSE
+Package Category: MachineLearning
+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.6.3-1.0.0
+Origin: NXP (Apache-2.0)
+ Apache TVM (Apache-2.0) - https://github.com/apache/tvm
+
+--------------------------------------------
+
+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: 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.6.3-1.0.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: 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: 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.6.3-1.0.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: ethos-u-vela.git
+Version: 3.10.0
+Outgoing License: Apache-2.0
+License File: LICENSE.txt
+Package Category: MachineLearning
+Type of Content: source
+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.6.3-1.0.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: 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://github.com/nxp-imx/nnshark -b lf-6.6.3-1.0.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.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://github.com/nxp-imx/onnxruntime-imx -b lf-6.6.3-1.0.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
+ gRPC (Apache-2.0) - https://github.com/grpc/grpc
+
+--------------------------------------------
+
+Package: neutron.git
+Version: 1.0.0
+Outgoing License: LA_OPT_NXP_Software_License v53 December 2023 Additional distribution license granted - Section 2.3 applies
+License File: LICENSE.txt
+Package Category: MachineLearning
+Type of Content: source
+Description and comments: The firmware library and converter for i.MX Neutron NPU
+Release Location: https://github.com/nxp-imx/neutron -b lf-6.6.3-1.0.0
+Origin: NXP (LA_OPT_NXP_Software_License)
+ NXP (BSD-3-Clause)
+--------------------------------------------
+
+Package: pytorch-release.git
+Version:
+Outgoing License: BSD-3-Clause
+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/nxp-imx/pytorch-release -b lf-6.6.3-1.0.0
+Origin: NXP (BSD-3-Clause)
+ pytorch (BSD-3-clause) - https://github.com/pytorch/pytorch
+
+--------------------------------------------
+
+Package: tensorflow-imx.git
+Version: 2.14.0
+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://github.com/nxp-imx/tensorflow-imx -b lf-6.6.3-1.0.0
+Origin: NXP (Apache-2.0)
+ TensorFlow (Apache-2.0) - https://github.com/tensorflow/tensorflow/
+
+--------------------------------------------
+
+Package: tflite-ethosu-delegate.git
+Version: 2.14.0
+Outgoing License: Apache-2.0
+License File: LICENSE
+Package Category: MachineLearning
+Type of Content: source
+Description and comments: TensorFlow Lite Ethos-u Delegate
+Release Location: https://github.com/nxp-imx/tflite-ethosu-delegate-imx -b lf-6.6.3-1.0.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.14.0
+Outgoing License: MIT
+License File: LICENSE
+Package Category: MachineLearning
+Type of Content: source
+Description and comments: TensorFlow Lite VX Delegate
+Release Location: https://github.com/nxp-imx/tflite-vx-delegate-imx -b lf-6.6.3-1.0.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: tflite-neutron-delegate.git
+Version: 2.14.0
+Outgoing License: Apache-2.0
+License File: LICENSE.txt
+Package Category: MachineLearning
+Type of Content: source
+Description and comments: TensorFlow Lite Neutron Delegate
+Release Location: https://github.com/nxp-imx/tflite-neutron-delegate -b lf-6.6.3-1.0.0
+Origin: NXP (Apache-2.0)
+--------------------------------------------
+
+Package: tim-vx-imx.git
+Version: 1.1.88
+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-imx/tim-vx-imx -b lf-6.6.3-1.0.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
+
+--------------------------------------------
+Tools Packages
+--------------------------------------------
+
+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.5.165
+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/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
+ bzip2 (BSD-4-clause) - https://github.com/enthought/bzip2-1.0.6/tree/288acf97a15d558f96c24c89f578b724d6e06b0c
+ Android Open Source Project (Apache-2.0) [sparse_format.h] - https://developer.android.com/
+
+--------------------------------------------
+
+Package: bcu.git
+Version: 1.1.75
+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: https://github.com/nxp-imx/bcu.git -b master
+Origin: NXP (BSD-3-Clause)
+
+--------------------------------------------
+PATCHES IN META_IMX
+--------------------------------------------
+
+Patches for: systemd
+Source Location: https://github.com/systemd/systemd-bootchart.git
+Patch Location: meta-imx-bsp/recipes-core/systemd/systemd
+Outgoing License: GPL-2.0
+License File: LICENSE.GPL2
+Package Category: BSP
+Description and comments: System and Service Manager
+Origin of patches: NXP (GPL-2.0)
+
+--------------------------------------------
+
+Patches for: pulseaudio
+Source Location: http://freedesktop.org/software/pulseaudio/releases/
+Patch Location: meta-imx-bsp/recipes-multimedia/pulseaudio/pulseaudio
+Outgoing License: LGPL-2.1
+License File: LICENSE
+Package Category: Multimedia
+Description and comments: Sound server
+Origin of patches: NXP (LGPL-2.1)
+
+--------------------------------------------
+
+Patches for: vulkan
+Source Location: git://github.com/vulkan
+Patch Location: meta-imx-sdk/recipes-graphics/vulkan/
+Outgoing License: MIT
+License File: LICENSE.md
+Package Category: Graphics
+Description and comments: cross-platform 3D graphics and compute AP
+Origin of patches: NXP (MIT)
+
+--------------------------------------------
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 ec793b88..46b0f9c4 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -31,6 +31,35 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V13 = "1b4db4b25c3a1e422c0c0ed6
FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V15 = "983e4c77621568488dd902b27e0c2143"
FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V16 = "e9e880185bda059c90c541d40ceca922"
FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V17 = "cf3f9b8d09bc3926b1004ea71f7a248a"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V18 = "231e11849a4331fcbb19d7f4aab4a659"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V19 = "a632fefd1c359980434f9389833cab3a"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V22 = "3c3fe2b904fd694f28d2f646ee16dddb"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V23 = "85d06b38f17b935ca11784d67075b846"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V24 = "417b82f17fc02b88125331ed312f6f1b"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V24.1 = "b3b0bab6ff55420d043cf1652c52d788"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V25 = "f35df765ff17e69043ea21f350e3229c"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V27 = "e565271ec9a80ce47abbddc4bffe56fa"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V29 = "28241cb895217d7946e40e7227136d02"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V30 = "03bcadc8dc0a788f66ca9e2b89f56c6f"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V31 = "dedee5689786754f61ea3a76035c8a81"
+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_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53 = "44a8052c384584ba09077e85a3d1654f"
+
FSL_EULA_FILE_MD5SUMS = " \
${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V10} \
@@ -57,30 +86,79 @@ FSL_EULA_FILE_MD5SUMS = " \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V15} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V16} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V17} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V18} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V19} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V22} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V23} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V24} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V24.1} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V25} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V27} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V29} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V30} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V31} \
+ ${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} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \
"
# The checksum for the EULA in the layer
FSL_EULA_FILE_MD5SUM ?= \
- "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V15}"
+ "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53}"
LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
-LIC_FILES_CHKSUM_append = " ${LIC_FILES_CHKSUM_LAYER}"
+LIC_FILES_CHKSUM:append = " ${LIC_FILES_CHKSUM_LAYER}"
LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE"
-do_fetch_prepend() {
+do_fetch:prepend() {
if "Proprietary" not in d.getVar("LICENSE"):
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)
@@ -98,16 +176,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)
@@ -117,38 +207,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)
-
- # The binary unpack needs to be done first so 'S' is valid
- bb.build.exec_func('fsl_bin_do_unpack', d)
-
- try:
- bb.build.exec_func('base_do_unpack', d)
- except:
- raise
-}
-
-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 0a175e31..9ef0a62f 100644
--- a/classes/fsl-kernel-localversion.bbclass
+++ b/classes/fsl-kernel-localversion.bbclass
@@ -12,32 +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_preconfigure() {
- mkdir -p ${B}
- echo "" > ${B}/.config
- CONF_SED_SCRIPT=""
+do_kernel_localversion[dirs] += "${S} ${B}"
+do_kernel_localversion() {
- 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 preconfigure before do_configure after do_unpack 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 617aae1d..94b30c04 100644
--- a/classes/fsl-u-boot-localversion.bbclass
+++ b/classes/fsl-u-boot-localversion.bbclass
@@ -14,13 +14,24 @@ LOCALVERSION ??= "+fslc"
UBOOT_LOCALVERSION = "${LOCALVERSION}"
-do_compile_prepend() {
+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/fsl-vivante-kernel-driver-handler.bbclass b/classes/fsl-vivante-kernel-driver-handler.bbclass
index 8ac8a334..c226b0ab 100644
--- a/classes/fsl-vivante-kernel-driver-handler.bbclass
+++ b/classes/fsl-vivante-kernel-driver-handler.bbclass
@@ -41,15 +41,15 @@ python fsl_vivante_kernel_driver_handler () {
return
if use_vivante_kernel_driver_module != "1":
- e.data.appendVar('RPROVIDES_${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
- e.data.appendVar('RREPLACES_${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
- e.data.appendVar('RCONFLICTS_${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
+ e.data.appendVar('RPROVIDES:${KERNEL_PACKAGE_NAME}-base', ' ${MLPREFIX}kernel-module-imx-gpu-viv')
+ e.data.appendVar('RREPLACES:${KERNEL_PACKAGE_NAME}-base', ' ${MLPREFIX}kernel-module-imx-gpu-viv')
+ e.data.appendVar('RCONFLICTS:${KERNEL_PACKAGE_NAME}-base', ' ${MLPREFIX}kernel-module-imx-gpu-viv')
}
addhandler fsl_vivante_kernel_driver_handler
fsl_vivante_kernel_driver_handler[eventmask] = "bb.event.RecipePreFinalise"
-do_configure_append () {
+do_configure:append () {
if [ "${MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" = "1" ]; then
config="${B}/.config"
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 c49c51b7..63a10f30 100644
--- a/classes/image_types_fsl.bbclass
+++ b/classes/image_types_fsl.bbclass
@@ -11,22 +11,22 @@ MXSBOOT_NAND_ARGS ?= ""
# U-Boot mxsboot generation for uSD
do_image_uboot_mxsboot_sdcard[depends] += "u-boot-mxsboot-native:do_populate_sysroot \
u-boot:do_deploy"
-IMAGE_CMD_uboot-mxsboot-sdcard() {
+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
do_image_uboot_mxsboot_nand[depends] += "u-boot-mxsboot-native:do_populate_sysroot \
u-boot:do_deploy"
-IMAGE_CMD_uboot-mxsboot-nand() {
+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
@@ -37,8 +37,8 @@ do_image_wic[depends] += " \
"
# We need to apply a fixup inside of the partition table
-IMAGE_CMD_wic_append_mxs() {
+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
new file mode 100644
index 00000000..53c70a0b
--- /dev/null
+++ b/classes/imx-boot-container.bbclass
@@ -0,0 +1,109 @@
+#
+# This class provides a support to build the boot container for
+# i.MX8M derivatives
+#
+# imx8m machines require a separate build target to be executed
+# due to the fact that final boot image is constructed using flash.bin
+# taget. It produces a boot binary image, which is constructed from
+# various binary components (u-boot with separate dtb, atf, DDR
+# firmware and optional op-tee) into a single image using FIT format.
+# This flash.bin file is then parsed and loaded either via
+# SPL directly (imx8mm), or using bootrom code (imx8mn and imx8mp).
+#
+# In order to use flash.bin binary boot image, it is required that
+# the U-Boot build is to be invoked for an additional build target.
+# This class extendes the U-Boot build targets with the "flash.bin",
+# which effectively serves as a boot container. It replaces the boot
+# container `imx-boot` provided by NXP.
+#
+# 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).
+#
+# 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_DEFAULT_ATF_PROVIDER}:do_deploy \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
+"
+
+# Define an additional task that collects binary output from dependent packages
+# and deploys them into the U-Boot build folder
+do_resolve_and_populate_binaries() {
+ 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
+ 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}/${ATF_MACHINE_NAME} ${B}/${config}/bl31.bin
+ else
+ bberror "ATF binary is undefined, result binary would be unusable!"
+ fi
+ fi
+ done
+ unset j
+ done
+ unset i
+ fi
+}
+addtask do_resolve_and_populate_binaries before do_compile after do_configure
+
+# Append the u-boot do_deploy task to deploy also the result flash.bin
+# boot container as a replacement for the one provided by NXP BSP.
+#
+# Deploy task renames the target file from flash.bin to imx-boot to match
+# the name WKS file requires.
+#
+# This effectively would allow the usage of the same WKS file for those
+# derivatives that are using the boot container from U-Boot and those
+# that are not yet have support for it enabled.
+do_deploy:append() {
+ # Deploy the resulted flash.bin for WIC to pick it up
+ 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 -m 0644 ${B}/${config}/flash.bin ${DEPLOYDIR}/flash.bin-${MACHINE}-${type}
+ # When there's more than one word in UBOOT_CONFIG,
+ # 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
+ done
+ unset i
+ fi
+}
diff --git a/classes/kernel-imximage.bbclass b/classes/kernel-imximage.bbclass
index 234cc00d..ccf7ec53 100644
--- a/classes/kernel-imximage.bbclass
+++ b/classes/kernel-imximage.bbclass
@@ -17,7 +17,7 @@
#
# Copyright 2017 (C) O.S. Systems Software LTDA.
-DEPENDS_append = ' u-boot-mkimage-native'
+DEPENDS:append = ' u-boot-mkimage-native'
IMXIMAGE_ENTRYPOINT ?= "${UBOOT_ENTRYPOINT}"
@@ -55,6 +55,6 @@ gen_imximage() {
done
}
-do_deploy_append() {
+do_deploy:append() {
gen_imximage
}
diff --git a/classes/kernel-itbimage.bbclass b/classes/kernel-itbimage.bbclass
deleted file mode 100644
index 84262879..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.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/machine-overrides-extender.bbclass b/classes/machine-overrides-extender.bbclass
index 4b7d66d5..58cb45b1 100644
--- a/classes/machine-overrides-extender.bbclass
+++ b/classes/machine-overrides-extender.bbclass
@@ -5,28 +5,26 @@
#
# To indicate that a SoC contains following set of overrides, you can use:
#
-# MACHINEOVERRIDES_EXTENDER_soc = "group1:group2"
+# MACHINEOVERRIDES_EXTENDER:soc = "group1:group2"
#
# However to indicate that an override replaces a set of other
# overrides, you can use:
#
-# MACHINEOVERRIDES_EXTENDER_FILTER_OUT_override = "group1 group2"
+# MACHINEOVERRIDES_EXTENDER_FILTER_OUT:override = "group1 group2"
#
-# Copyright 2016-2018 (C) O.S. Systems Software LTDA.
+# Copyright 2016-2018, 2022 (C) O.S. Systems Software LTDA.
def machine_overrides_extender(d):
machine_overrides = (d.getVar('PRISTINE_MACHINEOVERRIDES') or '').split(':')
# Gather the list of overrides to filter out
- machine_overrides_filter_out = []
+ machine_overrides_filter_out = (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT') or '').split()
for override in machine_overrides:
- machine_overrides_filter_out += (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT_%s' % override) or '').split()
-
- # Drop any overrides of filter_out prior extending
- machine_overrides = [o for o in machine_overrides if o not in machine_overrides_filter_out]
+ machine_overrides_filter_out += (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT:%s' % override) or '').split()
+ # Extend the overrides
for override in machine_overrides:
- extender = d.getVar('MACHINEOVERRIDES_EXTENDER_%s' % override)
+ extender = d.getVar('MACHINEOVERRIDES_EXTENDER:%s' % override)
if extender:
extender = extender.split(':')
@@ -40,6 +38,9 @@ def machine_overrides_extender(d):
for e in extender:
machine_overrides.insert(index, e)
+ # Drop any overrides of filter_out after extending
+ machine_overrides = [o for o in machine_overrides if o not in machine_overrides_filter_out]
+
return ':'.join(machine_overrides)
python machine_overrides_extender_handler() {
@@ -54,3 +55,22 @@ python machine_overrides_extender_handler() {
machine_overrides_extender_handler[eventmask] = "bb.event.ConfigParsed"
addhandler machine_overrides_extender_handler
+
+python machineoverrides_filtered_out_qa_handler() {
+ filtered_out = (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT') or "").split()
+ qa_error = d.getVar('MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR')
+
+ for var in d.overridedata:
+ # We need to allow the overrides being used in the extender
+ # so avoid processing it.
+ if 'MACHINEOVERRIDES_EXTENDER' in var:
+ continue
+
+ for (r, o) in d.overridedata[var]:
+ common = list(set(o.split(":")).intersection(filtered_out))
+ if len(common) > 0:
+ raise bb.parse.SkipRecipe(qa_error % common)
+}
+
+machineoverrides_filtered_out_qa_handler[eventmask] = "bb.event.RecipeParsed"
+addhandler machineoverrides_filtered_out_qa_handler
diff --git a/classes/mfgtool-initramfs-image.bbclass b/classes/mfgtool-initramfs-image.bbclass
index 65028b8f..f338bf82 100644
--- a/classes/mfgtool-initramfs-image.bbclass
+++ b/classes/mfgtool-initramfs-image.bbclass
@@ -6,15 +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"
-IMAGE_FSTYPES = "cpio.gz.u-boot"
-IMAGE_FSTYPES_mxs = "cpio.gz.u-boot"
+ZSTD_COMPRESSION_LEVEL ?= "-10"
+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/qoriq_build_64bit_kernel.bbclass b/classes/qoriq_build_64bit_kernel.bbclass
index 93b4d412..5186c2a4 100644
--- a/classes/qoriq_build_64bit_kernel.bbclass
+++ b/classes/qoriq_build_64bit_kernel.bbclass
@@ -1,13 +1,13 @@
inherit features_check
-REQUIRED_DISTRO_FEATURES_e6500 += "multiarch"
+REQUIRED_DISTRO_FEATURES:e6500 += "multiarch"
python () {
promote_kernel = d.getVar('BUILD_64BIT_KERNEL', False)
if promote_kernel == "1":
sys_multilib = 'powerpc64' + d.getVar('TARGET_VENDOR', False) + 'mllib64-' + d.getVar('HOST_OS', False)
tc_options = d.getVar('TOOLCHAIN_OPTIONS', False) + '/../lib64-' + d.getVar("MACHINE", False)
- d.setVar('DEPENDS_append', ' lib64-gcc-cross-powerpc64 lib64-libgcc')
- d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE', False) + '/' + sys_multilib)
+ d.setVar('DEPENDS:append', ' lib64-gcc-cross-powerpc64 lib64-libgcc')
+ d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE', False) + '/' + sys_multilib)
d.setVar('KERNEL_CC', d.getVar('CCACHE', False) + sys_multilib + '-' + 'gcc' + d.getVar('HOST_CC_KERNEL_ARCH', False) + tc_options)
d.setVar('KERNEL_LD', d.getVar('CCACHE', False) + sys_multilib + '-' + 'ld.bfd' + d.getVar('HOST_LD_KERNEL_ARCH', False) + tc_options)
d.setVar('KERNEL_AR', d.getVar('CCACHE', False) + sys_multilib + '-' + 'ar' + d.getVar('HOST_AR_KERNEL_ARCH', False))
diff --git a/classes/use-imx-headers.bbclass b/classes/use-imx-headers.bbclass
index fcec68c8..4baf4574 100644
--- a/classes/use-imx-headers.bbclass
+++ b/classes/use-imx-headers.bbclass
@@ -13,14 +13,14 @@
#
# Copyright 2018 (C) O.S. Systems Software LTDA.
-DEPENDS_append_imx = " linux-imx-headers"
+DEPENDS:append:imx-nxp-bsp = " linux-imx-headers"
# Set runtime dependency of -dev for package inheriting this class to
# linux-imx-headers-dev package. This is required in order to propagate
# headers into the SDK
-RDEPENDS_${PN}-dev += "linux-imx-headers-dev"
+RDEPENDS:${PN}-dev += "linux-imx-headers-dev"
-PACKAGE_ARCH_imx ?= "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:imx-nxp-bsp ?= "${MACHINE_SOCARCH}"
STAGING_INCDIR_IMX = "${STAGING_INCDIR}/imx"
@@ -34,4 +34,4 @@ STAGING_INCDIR_IMX = "${STAGING_INCDIR}/imx"
# Typical example here would be imx-vpu-hantro recipe, which requires NXP
# BSP and is not compatible with mainline.
COMPATIBLE_HOST = '(null)'
-COMPATIBLE_HOST_use-nxp-bsp = '.*'
+COMPATIBLE_HOST:use-nxp-bsp = '.*'
diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass
index 55a2cc47..f07580dd 100644
--- a/classes/use-imx-security-controller-firmware.bbclass
+++ b/classes/use-imx-security-controller-firmware.bbclass
@@ -16,17 +16,16 @@
# 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 = "mx8qmb0-ahab-container.img"
-SECO_FIRMWARE_NAME_mx8qxp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'mx8qxb0-ahab-container.img', \
- 'mx8qxc0-ahab-container.img', d)}"
-SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxc0-ahab-container.img"
-SECO_FIRMWARE_NAME_mx8dxl = "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" in d.getVar('MACHINEOVERRIDES').split(":"):
+ if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"):
return # We need to allow the recipes to be parsed for this case
seco_firmware = d.getVar('SECO_FIRMWARE_NAME')
diff --git a/classes/uuu_bootloader_tag.bbclass b/classes/uuu_bootloader_tag.bbclass
new file mode 100644
index 00000000..87745660
--- /dev/null
+++ b/classes/uuu_bootloader_tag.bbclass
@@ -0,0 +1,12 @@
+# Append a tag to the bootloader image used in the SD card image. The tag
+# contains the size of the bootloader image so UUU can easily find the end of
+# the bootloader in the SD card image.
+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_TAGGED} \
+ >> ${DEPLOYDIR}/${UUU_BOOTLOADER_TAGGED}
+ fi
+}
diff --git a/conf/layer.conf b/conf/layer.conf
index e8d1e887..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 = "gatesgarth hardknott"
+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,22 +24,36 @@ 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 \
aglprofilegraphical:${LAYERDIR}/dynamic-layers/aglprofilegraphical/*/*/*.bbappend \
\
- browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*/*.bb \
- browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*/*.bbappend \
+ chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/*/*/*.bb \
+ chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/*/*/*.bbappend \
\
filesystem-layer:${LAYERDIR}/dynamic-layers/filesystem-layer/*/*/*.bb \
filesystem-layer:${LAYERDIR}/dynamic-layers/filesystem-layer/*/*/*.bbappend \
\
+ gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/*/*/*.bb \
+ gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/*/*/*.bbappend \
+ \
ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bb \
ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bbappend \
\
- networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \
- networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.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 009aff79..4e2fe980 100644
--- a/conf/machine/imx23evk.conf
+++ b/conf/machine/imx23evk.conf
@@ -7,10 +7,15 @@
MACHINEOVERRIDES =. "mxs:mx23:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-arm926ejs.inc
+include conf/machine/include/arm/armv5/tune-arm926ejs.inc
-UBOOT_MACHINE = "mx23evk_config"
+# 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.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.sb"
+UBOOT_SUFFIX = "sb"
-KERNEL_DEVICETREE = "imx23-evk.dtb"
+UBOOT_MACHINE = "mx23evk_config"
-MACHINE_FEATURES = "usbgadget usbhost vfat touchscreen"
+KERNEL_DEVICETREE = "nxp/mxs/imx23-evk.dtb"
diff --git a/conf/machine/imx25pdk.conf b/conf/machine/imx25pdk.conf
deleted file mode 100644
index 9e8ad003..00000000
--- a/conf/machine/imx25pdk.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP i.MX25 Evaluation Kit
-#@SOC: i.MX25
-#@DESCRIPTION: Machine configuration for NXP i.MX25 Evaluation Kit
-#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
-
-MACHINEOVERRIDES =. "mx25:"
-
-include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-arm926ejs.inc
-
-UBOOT_MACHINE ?= "mx25pdk_defconfig"
-
-KERNEL_DEVICETREE = "imx25-pdk.dtb"
-
-SERIAL_CONSOLES = "115200;ttymxc0"
-
-MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen"
-
-WKS_FILE = "imx-uboot.wks"
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += " \
- kernel-image \
- kernel-devicetree \
-"
diff --git a/conf/machine/imx28evk.conf b/conf/machine/imx28evk.conf
index 7c359e54..cecb97d2 100644
--- a/conf/machine/imx28evk.conf
+++ b/conf/machine/imx28evk.conf
@@ -7,21 +7,24 @@
MACHINEOVERRIDES =. "mxs:mx28:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-arm926ejs.inc
+include conf/machine/include/arm/armv5/tune-arm926ejs.inc
-IMXBOOTLETS_MACHINE = "iMX28_EVK"
+# 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.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.sb"
+UBOOT_SUFFIX = "sb"
UBOOT_CONFIG ??= "sd"
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 a32b4e00..5934afa1 100644
--- a/conf/machine/imx51evk.conf
+++ b/conf/machine/imx51evk.conf
@@ -7,11 +7,15 @@
MACHINEOVERRIDES =. "mx5:mx51:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa8.inc
+include conf/machine/include/arm/armv7a/tune-cortexa8.inc
-# Disable perf features as 2.6.35.3 fails to build otherwise
-PERF_FEATURES_ENABLE = ""
+KERNEL_DEVICETREE = "nxp/imx/imx51-babbage.dtb"
-KERNEL_DEVICETREE = "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.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_MACHINE = "mx51evk_config"
diff --git a/conf/machine/imx53ard.conf b/conf/machine/imx53ard.conf
deleted file mode 100644
index c6d7f0d9..00000000
--- a/conf/machine/imx53ard.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP i.MX53 SABRE Automotive Board
-#@SOC: i.MX53
-#@DESCRIPTION: Machine configuration for NXP i.MX53 SABRE Automotive Board
-#@MAINTAINER: Daiane Angolini <daiane.angolini@nxp.com>
-
-MACHINEOVERRIDES =. "mx5:mx53:"
-
-include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa8.inc
-
-# Disable perf features as 2.6.35.3 fails to build otherwise
-PERF_FEATURES_ENABLE = ""
-
-KERNEL_DEVICETREE = "imx53-ard.dtb"
-
-UBOOT_MACHINE = "mx53ard_config"
-KERNEL_IMAGETYPE = "uImage"
-
-MACHINE_FIRMWARE += "linux-firmware-ar3k \
- linux-firmware-ath6k"
-MACHINE_FEATURES += "wifi bluetooth"
diff --git a/conf/machine/imx53qsb.conf b/conf/machine/imx53qsb.conf
index 24cbfac6..60ac75d6 100644
--- a/conf/machine/imx53qsb.conf
+++ b/conf/machine/imx53qsb.conf
@@ -2,14 +2,21 @@
#@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/tune-cortexa8.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.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_MACHINE = "mx53loco_config"
diff --git a/conf/machine/imx6qdlsabreauto.conf b/conf/machine/imx6qdlsabreauto.conf
index a6d5908b..61d81ab6 100644
--- a/conf/machine/imx6qdlsabreauto.conf
+++ b/conf/machine/imx6qdlsabreauto.conf
@@ -11,41 +11,73 @@
# * imx6solosabreauto
# and is able to work for all the machines.
-MACHINEOVERRIDES =. "mx6:mx6q:mx6dl:"
+MACHINEOVERRIDES =. "mx6q:mx6dl:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa9.inc
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
KERNEL_DEVICETREE = " \
- imx6qp-sabreauto.dtb imx6qp-sabreauto-ecspi.dtb imx6qp-sabreauto-flexcan1.dtb \
- imx6qp-sabreauto-gpmi-weim.dtb \
+ nxp/imx/imx6qp-sabreauto.dtb \
+ nxp/imx/imx6qp-sabreauto-ecspi.dtb \
+ nxp/imx/imx6qp-sabreauto-flexcan1.dtb \
+ nxp/imx/imx6qp-sabreauto-gpmi-weim.dtb \
\
- imx6q-sabreauto.dtb imx6q-sabreauto-gpmi-weim.dtb imx6q-sabreauto-ecspi.dtb \
- imx6q-sabreauto-flexcan1.dtb imx6q-sabreauto-enetirq.dtb \
+ nxp/imx/imx6q-sabreauto.dtb \
+ nxp/imx/imx6q-sabreauto-gpmi-weim.dtb \
+ nxp/imx/imx6q-sabreauto-ecspi.dtb \
+ nxp/imx/imx6q-sabreauto-flexcan1.dtb \
+ nxp/imx/imx6q-sabreauto-enetirq.dtb \
\
- imx6dl-sabreauto.dtb imx6dl-sabreauto-gpmi-weim.dtb imx6dl-sabreauto-ecspi.dtb \
- imx6dl-sabreauto-flexcan1.dtb imx6dl-sabreauto-enetirq.dtb \
+ nxp/imx/imx6dl-sabreauto.dtb \
+ nxp/imx/imx6dl-sabreauto-gpmi-weim.dtb \
+ nxp/imx/imx6dl-sabreauto-ecspi.dtb \
+ nxp/imx/imx6dl-sabreauto-flexcan1.dtb \
+ nxp/imx/imx6dl-sabreauto-enetirq.dtb \
"
-KERNEL_DEVICETREE_use-mainline-bsp = " \
- imx6qp-sabreauto.dtb \
- imx6q-sabreauto.dtb \
- imx6dl-sabreauto.dtb \
+KERNEL_DEVICETREE:use-mainline-bsp = " \
+ nxp/imx/imx6qp-sabreauto.dtb \
+ nxp/imx/imx6q-sabreauto.dtb \
+ nxp/imx/imx6dl-sabreauto.dtb \
"
-UBOOT_MACHINE ?= "mx6sabreauto_defconfig"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@oe.utils.ifelse(d.getVar('IMX_DEFAULT_BOOTLOADER') == 'u-boot-imx', \
+ bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d), '')}"
-# Use fslc u-boot by default. See also imx-base.inc.
-UBOOT_MAKE_TARGET = "all"
-UBOOT_SUFFIX = "img"
-SPL_BINARY = "SPL"
-WKS_FILE = "imx-uboot-spl-bootpart.wks.in"
+### u-boot-fslc settings ###
+SPL_BINARY:pn-u-boot-fslc = "SPL"
+UBOOT_SUFFIX:pn-u-boot-fslc = "img"
-# The fsl distro uses u-boot-imx which does not provide unified functionality
-# for dl/q/qp SoC variants. Change the defconfig to the targeted SoC variant.
-UBOOT_MACHINE_fsl = "mx6qsabreauto_defconfig"
+### u-boot-imx settings ###
+SPL_BINARY:pn-u-boot-imx = ""
+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_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', \
+ 'u-boot-fslc', 'imx-uboot-spl-bootpart.wks.in', \
+ 'imx-uboot-bootpart.wks.in', d)}"
+
+OPTEE_BIN_EXT = "6qpauto"
SERIAL_CONSOLES = "115200;ttymxc3"
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+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 406ad7d7..1ab1d9df 100644
--- a/conf/machine/imx6qdlsabresd.conf
+++ b/conf/machine/imx6qdlsabresd.conf
@@ -11,50 +11,71 @@
# * imx6solosabresd
# and is able to work for all the machines.
-MACHINEOVERRIDES =. "mx6:mx6q:mx6dl:"
+MACHINEOVERRIDES =. "mx6q:mx6dl:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa9.inc
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
KERNEL_DEVICETREE = " \
- imx6qp-sabresd-btwifi.dtb \
- imx6qp-sabresd.dtb \
- imx6qp-sabresd-hdcp.dtb \
- imx6qp-sabresd-ldo.dtb \
+ nxp/imx/imx6qp-sabresd-btwifi.dtb \
+ nxp/imx/imx6qp-sabresd.dtb \
+ nxp/imx/imx6qp-sabresd-hdcp.dtb \
+ nxp/imx/imx6qp-sabresd-ldo.dtb \
\
- imx6q-sabresd-btwifi.dtb \
- imx6q-sabresd.dtb \
- imx6q-sabresd-enetirq.dtb \
- imx6q-sabresd-hdcp.dtb \
- imx6q-sabresd-ldo.dtb \
- imx6q-sabresd-uart.dtb \
+ nxp/imx/imx6q-sabresd-btwifi.dtb \
+ nxp/imx/imx6q-sabresd.dtb \
+ nxp/imx/imx6q-sabresd-enetirq.dtb \
+ nxp/imx/imx6q-sabresd-hdcp.dtb \
+ nxp/imx/imx6q-sabresd-ldo.dtb \
+ nxp/imx/imx6q-sabresd-uart.dtb \
\
- imx6dl-sabresd-btwifi.dtb \
- imx6dl-sabresd.dtb \
- imx6dl-sabresd-enetirq.dtb \
- imx6dl-sabresd-hdcp.dtb \
- imx6dl-sabresd-ldo.dtb \
+ nxp/imx/imx6dl-sabresd-btwifi.dtb \
+ nxp/imx/imx6dl-sabresd.dtb \
+ nxp/imx/imx6dl-sabresd-enetirq.dtb \
+ nxp/imx/imx6dl-sabresd-hdcp.dtb \
+ nxp/imx/imx6dl-sabresd-ldo.dtb \
"
-KERNEL_DEVICETREE_use-mainline-bsp = " \
- imx6qp-sabresd.dtb \
- imx6q-sabresd.dtb \
- imx6dl-sabresd.dtb \
+KERNEL_DEVICETREE:use-mainline-bsp = " \
+ nxp/imx/imx6qp-sabresd.dtb \
+ nxp/imx/imx6q-sabresd.dtb \
+ nxp/imx/imx6dl-sabresd.dtb \
"
-UBOOT_MACHINE ?= "mx6sabresd_defconfig"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@oe.utils.ifelse(d.getVar('IMX_DEFAULT_BOOTLOADER') == 'u-boot-imx', \
+ bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d), '')}"
-# Use fslc u-boot by default. See also imx-base.inc.
-UBOOT_MAKE_TARGET = "all"
-UBOOT_SUFFIX = "img"
-SPL_BINARY = "SPL"
-WKS_FILE = "imx-uboot-spl-bootpart.wks.in"
+### u-boot-fslc settings ###
+SPL_BINARY:pn-u-boot-fslc = "SPL"
+UBOOT_SUFFIX:pn-u-boot-fslc = "img"
-# The fsl distro uses u-boot-imx which does not provide unified functionality
-# for dl/q/qp SoC variants. Change the defconfig to the targeted SoC variant.
-UBOOT_MACHINE_fsl = "mx6qsabresd_defconfig"
+### u-boot-imx settings ###
+SPL_BINARY:pn-u-boot-imx = ""
+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_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', \
+ 'u-boot-fslc', 'imx-uboot-spl-bootpart.wks.in', \
+ 'imx-uboot-bootpart.wks.in', d)}"
+
+OPTEE_BIN_EXT = "6qsdb"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+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 d1c0e457..af196eab 100644
--- a/conf/machine/imx6slevk.conf
+++ b/conf/machine/imx6slevk.conf
@@ -4,19 +4,22 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6SL Evaluation Kit
#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
-MACHINEOVERRIDES =. "mx6:mx6sl:"
+MACHINEOVERRIDES =. "mx6sl:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa9.inc
-
-KERNEL_DEVICETREE = "imx6sl-evk.dtb"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- imx6sl-evk-btwifi.dtb \
- imx6sl-evk-csi.dtb \
- imx6sl-evk-ldo.dtb \
- imx6sl-evk-uart.dtb \
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
+
+KERNEL_DEVICETREE = "nxp/imx/imx6sl-evk.dtb"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx6sl-evk-btwifi.dtb \
+ nxp/imx/imx6sl-evk-csi.dtb \
+ nxp/imx/imx6sl-evk-ldo.dtb \
+ nxp/imx/imx6sl-evk-uart.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
@@ -25,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 23724f5e..5a1dc666 100644
--- a/conf/machine/imx6sllevk.conf
+++ b/conf/machine/imx6sllevk.conf
@@ -4,12 +4,18 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6SLL EVK
#@MAINTAINER: Alexandru Palalau ioan-alexandru.palalau@nxp.com
-MACHINEOVERRIDES =. "mx6:mx6sll:"
+MACHINEOVERRIDES =. "mx6sll:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa9.inc
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
-KERNEL_DEVICETREE = "imx6sll-evk.dtb"
+KERNEL_DEVICETREE = "nxp/imx/imx6sll-evk.dtb"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx6sll-evk-btwifi.dtb \
+ nxp/imx/imx6sll-evk-reva.dtb"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_CONFIG ??= " \
sd \
@@ -18,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"
+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 e8fede4a..cbb20d56 100644
--- a/conf/machine/imx6sxsabreauto.conf
+++ b/conf/machine/imx6sxsabreauto.conf
@@ -4,16 +4,16 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6SoloX Sabre Automotive
#@MAINTAINER: Lauren Post <Lauren.Post@nxp.com>
-MACHINEOVERRIDES =. "mx6:mx6sx:"
+MACHINEOVERRIDES =. "mx6sx:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa9.inc
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
-KERNEL_DEVICETREE = "imx6sx-sabreauto.dtb"
-KERNEL_DEVICETREE_use-mainline-bsp = "imx6sx-sabreauto.dtb"
+KERNEL_DEVICETREE = "nxp/imx/imx6sx-sabreauto.dtb"
+KERNEL_DEVICETREE:use-mainline-bsp = "nxp/imx/imx6sx-sabreauto.dtb"
-PREFERRED_PROVIDER_u-boot = "u-boot-fslc"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot-fslc"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_CONFIG ??= " \
sd \
@@ -23,12 +23,11 @@ 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"
SERIAL_CONSOLES = "115200;ttymxc3"
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+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 73b458ac..8d597c55 100644
--- a/conf/machine/imx6sxsabresd.conf
+++ b/conf/machine/imx6sxsabresd.conf
@@ -4,27 +4,30 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6SoloX Sabre SD
#@MAINTAINER: Lauren Post <Lauren.Post@nxp.com>
-MACHINEOVERRIDES =. "mx6:mx6sx:"
+MACHINEOVERRIDES =. "mx6sx:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa9.inc
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
KERNEL_DEVICETREE = " \
- imx6sx-sdb.dtb \
- imx6sx-sdb-reva.dtb \
- imx6sx-sdb-sai.dtb \
+ nxp/imx/imx6sx-sdb.dtb \
+ nxp/imx/imx6sx-sdb-reva.dtb \
+ nxp/imx/imx6sx-sdb-sai.dtb \
"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- imx6sx-sdb-btwifi.dtb \
- imx6sx-sdb-emmc.dtb \
- imx6sx-sdb-lcdif1.dtb \
- imx6sx-sdb-ldo.dtb \
- imx6sx-sdb-m4.dtb \
- imx6sx-sdb-mqs.dtb \
- imx6sx-sdb-pcie-ep.dtb \
- imx6sx-sdb-reva-ldo.dtb \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx6sx-sdb-btwifi.dtb \
+ nxp/imx/imx6sx-sdb-emmc.dtb \
+ nxp/imx/imx6sx-sdb-lcdif1.dtb \
+ nxp/imx/imx6sx-sdb-ldo.dtb \
+ nxp/imx/imx6sx-sdb-m4.dtb \
+ nxp/imx/imx6sx-sdb-mqs.dtb \
+ nxp/imx/imx6sx-sdb-pcie-ep.dtb \
+ nxp/imx/imx6sx-sdb-reva-ldo.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
@@ -34,12 +37,11 @@ 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"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+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 a8acb43d..b06e3031 100644
--- a/conf/machine/imx6ulevk.conf
+++ b/conf/machine/imx6ulevk.conf
@@ -4,30 +4,43 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6UL EVK
#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
-MACHINEOVERRIDES =. "mx6:mx6ul:"
+MACHINEOVERRIDES =. "mx6ul:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa7.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-btwifi-oob.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 \
+ nxp/imx/imx6ul-14x14-evk-btwifi.dtb \
+ nxp/imx/imx6ul-14x14-evk-btwifi-sdio3_0.dtb \
+ nxp/imx/imx6ul-14x14-evk-csi.dtb \
+ nxp/imx/imx6ul-14x14-evk.dtb \
+ nxp/imx/imx6ul-14x14-evk-ecspi.dtb \
+ nxp/imx/imx6ul-14x14-evk-ecspi-slave.dtb \
+ nxp/imx/imx6ul-14x14-evk-emmc.dtb \
+ nxp/imx/imx6ul-14x14-evk-gpmi-weim.dtb \
"
-KERNEL_DEVICETREE_use-mainline-bsp = "imx6ul-14x14-evk.dtb"
+KERNEL_DEVICETREE:use-mainline-bsp = "nxp/imx/imx6ul-14x14-evk.dtb"
-# Use fslc u-boot by default. See also imx-base.inc.
-UBOOT_MAKE_TARGET = ""
-UBOOT_SUFFIX = "img"
-SPL_BINARY = "SPL"
-WKS_FILE = "imx-uboot-spl-bootpart.wks.in"
+### u-boot-fslc settings ###
+
+SPL_BINARY:pn-u-boot-fslc = "SPL"
+UBOOT_SUFFIX:pn-u-boot-fslc = "img"
+
+### u-boot-imx settings ###
+
+# 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', \
+ 'u-boot-fslc', 'imx-uboot-spl-bootpart.wks.in', \
+ 'imx-uboot-bootpart.wks.in', d)}"
UBOOT_CONFIG ??= " \
sd \
@@ -37,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 7d5f62d1..a8d76a2c 100644
--- a/conf/machine/imx6ullevk.conf
+++ b/conf/machine/imx6ullevk.conf
@@ -4,24 +4,26 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6ULL EVK
#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
-MACHINEOVERRIDES =. "mx6:mx6ull:"
+MACHINEOVERRIDES =. "mx6ull:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa7.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 \
+ nxp/imx/imx6ull-14x14-evk.dtb \
"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- imx6ull-14x14-evk-btwifi.dtb \
- imx6ull-14x14-evk-btwifi-oob.dtb \
- imx6ull-14x14-evk-emmc.dtb \
- imx6ull-14x14-evk-gpmi-weim.dtb \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx6ull-14x14-evk-btwifi.dtb \
+ nxp/imx/imx6ull-14x14-evk-emmc.dtb \
+ nxp/imx/imx6ull-14x14-evk-gpmi-weim.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
@@ -31,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 12f64d48..d1dcae99 100644
--- a/conf/machine/imx6ulz-14x14-evk.conf
+++ b/conf/machine/imx6ulz-14x14-evk.conf
@@ -4,22 +4,25 @@
#@DESCRIPTION: Machine configuration for NXP i.MX6ULZ 14x14 EVK
#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
-MACHINEOVERRIDES =. "mx6:mx6ul:mx6ull:mx6ulz:"
+MACHINEOVERRIDES =. "mx6ulz:"
include conf/machine/include/imx-base.inc
-include conf/machine/include/tune-cortexa7.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 \
+ nxp/imx/imx6ulz-14x14-evk.dtb \
"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- imx6ulz-14x14-evk-btwifi.dtb \
- imx6ulz-14x14-evk-emmc.dtb \
- imx6ulz-14x14-evk-gpmi-weim.dtb \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx6ulz-14x14-evk-btwifi.dtb \
+ nxp/imx/imx6ulz-14x14-evk-emmc.dtb \
+ nxp/imx/imx6ulz-14x14-evk-gpmi-weim.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
diff --git a/conf/machine/imx7dsabresd.conf b/conf/machine/imx7dsabresd.conf
index a172aa49..4b4a6012 100644
--- a/conf/machine/imx7dsabresd.conf
+++ b/conf/machine/imx7dsabresd.conf
@@ -7,23 +7,26 @@
MACHINEOVERRIDES =. "mx7:mx7d:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa7.inc
-
-MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455"
-
-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 \
+include conf/machine/include/arm/armv7a/tune-cortexa7.inc
+
+MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
+
+KERNEL_DEVICETREE = "nxp/imx/imx7d-sdb.dtb"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx7d-sdb-epdc.dtb \
+ nxp/imx/imx7d-sdb-gpmi-weim.dtb \
+ nxp/imx/imx7d-sdb-m4.dtb \
+ nxp/imx/imx7d-sdb-mipi-dsi.dtb \
+ nxp/imx/imx7d-sdb-mqs.dtb \
+ nxp/imx/imx7d-sdb-pcie-ep.dtb \
+ nxp/imx/imx7d-sdb-qspi.dtb \
+ nxp/imx/imx7d-sdb-reva.dtb \
+ nxp/imx/imx7d-sdb-sht11.dtb \
+ nxp/imx/imx7d-sdb-usd-wifi.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_CONFIG ??= " \
sd \
@@ -35,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 7bb70012..2e39a0c7 100644
--- a/conf/machine/imx7ulpevk.conf
+++ b/conf/machine/imx7ulpevk.conf
@@ -7,30 +7,30 @@
MACHINEOVERRIDES =. "mx7:mx7ulp:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa7.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 \
+ nxp/imx/imx7ulp-evk.dtb \
"
-KERNEL_DEVICETREE_append_use-mainline-bsp = " \
- imx7ulp-com.dtb \
-"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- imx7ulp-evk-ft5416.dtb \
- imx7ulp-evk-mipi.dtb \
- imx7ulp-evkb.dtb \
- imx7ulp-evkb-emmc.dtb \
- imx7ulp-evkb-lpuart.dtb \
- imx7ulp-evkb-mipi.dtb \
- imx7ulp-evkb-rm68191-qhd.dtb \
- imx7ulp-evkb-rm68200-wxga.dtb \
- imx7ulp-evkb-sd1.dtb \
- imx7ulp-evkb-sensors-to-i2c5.dtb \
- imx7ulp-evkb-spi-slave.dtb \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ nxp/imx/imx7ulp-evk-ft5416.dtb \
+ nxp/imx/imx7ulp-evk-mipi.dtb \
+ nxp/imx/imx7ulp-evkb.dtb \
+ nxp/imx/imx7ulp-evkb-emmc.dtb \
+ nxp/imx/imx7ulp-evkb-lpuart.dtb \
+ nxp/imx/imx7ulp-evkb-mipi.dtb \
+ nxp/imx/imx7ulp-evkb-rm68191-qhd.dtb \
+ nxp/imx/imx7ulp-evkb-rm68200-wxga.dtb \
+ nxp/imx/imx7ulp-evkb-sd1.dtb \
+ nxp/imx/imx7ulp-evkb-sensors-to-i2c5.dtb \
+ nxp/imx/imx7ulp-evkb-spi-slave.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
@@ -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 842ba1fa..f7abd89a 100644
--- a/conf/machine/imx8dx-mek.conf
+++ b/conf/machine/imx8dx-mek.conf
@@ -1,12 +1,17 @@
#@TYPE: Machine
-#@NAME: i.MX 8DXP MEK
-#@DESCRIPTION: i.MX 8DualXPlus Multisensory Enablement Kit board
+#@NAME: i.MX 8DX MEK
+#@SOC: i.MX8DX
+#@DESCRIPTION: i.MX 8DualX Multisensory Enablement Kit board
#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
-MACHINEOVERRIDES =. "mx8qxp:mx8dx:"
+MACHINEOVERRIDES =. "mx8dx:"
require include/imx8x-mek.inc
KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
UBOOT_CONFIG_BASENAME = "imx8dx_mek"
+
+ATF_PLATFORM = "imx8dx"
+
+IMX_BOOT_SOC_TARGET = "iMX8DX"
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-evk.conf b/conf/machine/imx8dxl-evk.conf
deleted file mode 100644
index c0427314..00000000
--- a/conf/machine/imx8dxl-evk.conf
+++ /dev/null
@@ -1,56 +0,0 @@
-#@TYPE: Machine
-#@NAME: i.MX 8DXL EVK
-#@DESCRIPTION: i.MX 8DXLite Evaluation Kit (EVK) board
-#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8x:mx8dxl:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa35.inc
-
-MACHINE_FEATURES += "pci bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
-
-# Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
-
-LOADADDR = ""
-
-# Disable the serial console due to auto-serial-console
-SERIAL_CONSOLES = "115200;ttyLP0"
-
-# we do not want to have getty running on tty1 as we run
-# auto-serial-console there
-USE_VT = "0"
-
-KERNEL_DEVICETREE = "freescale/imx8dxl-evk.dtb"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- freescale/imx8dxl-evk-enet0.dtb \
- freescale/imx8dxl-evk-enet0-tja1100.dtb \
- freescale/imx8dxl-evk-inmate.dtb \
- freescale/imx8dxl-evk-lpspi-slave.dtb \
- freescale/imx8dxl-evk-pcie-ep.dtb \
- freescale/imx8dxl-evk-root.dtb \
- freescale/imx8dxl-evk-rpmsg.dtb \
-"
-
-UBOOT_MAKE_TARGET = "all"
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "imx8dxl_evk_defconfig,sdcard"
-UBOOT_CONFIG[fspi] = "imx8dxl_evk_fspi_defconfig"
-
-IMX_BOOT_SEEK = "32"
-
-IMXBOOT_TARGETS_SD = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \
- 'flash', d)}"
-IMXBOOT_TARGETS_FSPI = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl_flexspi', \
- 'flash_flexspi', d)}"
-IMXBOOT_TARGETS = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
- '${IMXBOOT_TARGETS_FSPI}', d)}"
-
-BOARD_TYPE = "evk"
diff --git a/conf/machine/imx8mm-ddr4-evk.conf b/conf/machine/imx8mm-ddr4-evk.conf
index 3901bb92..467ca863 100644
--- a/conf/machine/imx8mm-ddr4-evk.conf
+++ b/conf/machine/imx8mm-ddr4-evk.conf
@@ -7,9 +7,12 @@
require include/imx8mm-evk.inc
KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191.dtb \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
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"
@@ -23,3 +26,6 @@ DDR_FIRMWARE_NAME = " \
"
IMXBOOT_TARGETS_BASENAME = "flash_ddr4_evk"
+
+# 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 6007c540..1387e594 100644
--- a/conf/machine/imx8mm-lpddr4-evk.conf
+++ b/conf/machine/imx8mm-lpddr4-evk.conf
@@ -8,18 +8,23 @@ 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 \
+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}-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,10 +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"
diff --git a/conf/machine/imx8mn-ddr4-evk.conf b/conf/machine/imx8mn-ddr4-evk.conf
index c35f7e74..7a796d38 100644
--- a/conf/machine/imx8mn-ddr4-evk.conf
+++ b/conf/machine/imx8mn-ddr4-evk.conf
@@ -7,14 +7,23 @@
require include/imx8mn-evk.inc
KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
"
UBOOT_CONFIG_BASENAME = "imx8mn_ddr4_evk"
+
+UBOOT_CONFIG[nom] = "${UBOOT_CONFIG_BASENAME}_nom_defconfig"
+
+DDR_FIRMWARE_VERSION = "201810"
DDR_FIRMWARE_NAME = " \
- ddr4_imem_1d_201810.bin \
- ddr4_dmem_1d_201810.bin \
- ddr4_imem_2d_201810.bin \
- ddr4_dmem_2d_201810.bin \
+ ddr4_imem_1d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr4_dmem_1d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr4_imem_2d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr4_dmem_2d_${DDR_FIRMWARE_VERSION}.bin \
"
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 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 7c58bc19..25103706 100644
--- a/conf/machine/imx8mn-lpddr4-evk.conf
+++ b/conf/machine/imx8mn-lpddr4-evk.conf
@@ -8,8 +8,12 @@ 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 = " \
+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 = " \
@@ -19,3 +23,8 @@ DDR_FIRMWARE_NAME = " \
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/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-ddr4-evk.conf b/conf/machine/imx8mp-ddr4-evk.conf
new file mode 100644
index 00000000..c63c8d68
--- /dev/null
+++ b/conf/machine/imx8mp-ddr4-evk.conf
@@ -0,0 +1,32 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Plus EVK with DDR4
+#@SOC: i.MX8MP
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Plus Evaluation Kit with DDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8mp-evk.inc
+
+# FIXME: This machine is not yet supported by u-boot-fslc, so for now
+# use u-boot-imx for mainline.
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-imx"
+
+KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
+
+UBOOT_CONFIG_BASENAME = "imx8mp_ddr4_evk"
+UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig"
+
+# Set DDR FIRMWARE
+DDR_FIRMWARE_VERSION = "202006"
+DDR_FIRMWARE_NAME = " \
+ ddr4_dmem_1d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr4_imem_1d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr4_dmem_2d_${DDR_FIRMWARE_VERSION}.bin \
+ ddr4_imem_2d_${DDR_FIRMWARE_VERSION}.bin \
+"
+
+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 imx8mp-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/imx8mp-evk.conf b/conf/machine/imx8mp-evk.conf
deleted file mode 100644
index 7e55b93a..00000000
--- a/conf/machine/imx8mp-evk.conf
+++ /dev/null
@@ -1,80 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP i.MX 8M Plus EVK
-#@SOC: i.MX8MP
-#@DESCRIPTION: Machine configuration for NXP i.MX 8M Plus Evaluation Kit
-#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mp:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa53.inc
-
-MACHINE_FEATURES += "pci wifi bluetooth optee jailhouse"
-MACHINE_FEATURES_append_use-nxp-bsp = " mrvl8997"
-
-# Mainline kernel contains only one DTB file for
-# imx8mpevk machine
-KERNEL_DEVICETREE = "freescale/imx8mp-evk.dtb"
-
-# 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-ov5640.dtb \
- freescale/imx8mp-evk-dsp.dtb \
- freescale/imx8mp-evk-dsp-lpa.dtb \
- freescale/imx8mp-evk-dual-ov2775.dtb \
- freescale/imx8mp-evk-flexcan2.dtb \
- freescale/imx8mp-evk-inmate.dtb \
- freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
- freescale/imx8mp-evk-jdi-wuxga-lvds-panel.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-root.dtb \
- freescale/imx8mp-evk-rpmsg.dtb \
- freescale/imx8mp-evk-sof-wm8960.dtb \
- freescale/imx8mp-evk-spdif-lb.dtb \
-"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "imx8mp_evk_defconfig,sdcard"
-UBOOT_CONFIG[fspi] = "imx8mp_evk_defconfig"
-UBOOT_CONFIG[ecc] = "imx8mp_evk_inline_ecc_defconfig"
-UBOOT_CONFIG[mfgtool] = "imx8mp_evk_defconfig"
-
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-# 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 \
-"
-
-# Set u-boot DTB
-UBOOT_DTB_NAME = "imx8mp-evk.dtb"
-
-# Set ATF platform name
-ATF_PLATFORM = "imx8mp"
-
-# Set imx-mkimage boot target
-IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_evk', d)}"
-IMX_BOOT_SOC_TARGET = "iMX8MP"
-
-# Set Serial console
-SERIAL_CONSOLES = "115200;ttymxc1"
-
-LOADADDR = ""
-UBOOT_SUFFIX = "bin"
-UBOOT_MAKE_TARGET = ""
-IMX_BOOT_SEEK = "32"
-
-OPTEE_BIN_EXT = "8mp"
-
-# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
diff --git a/conf/machine/imx8mp-lpddr4-evk.conf b/conf/machine/imx8mp-lpddr4-evk.conf
new file mode 100644
index 00000000..39108716
--- /dev/null
+++ b/conf/machine/imx8mp-lpddr4-evk.conf
@@ -0,0 +1,68 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Plus EVK with LPDDR4
+#@SOC: i.MX8MP
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Plus Evaluation Kit with LPDDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8mp-evk.inc
+
+# The device tree name is implicit for LPDDR4, so can't use MACHINE here
+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-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"
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
+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 \
+"
+
+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/imx8mq-evk.conf b/conf/machine/imx8mq-evk.conf
index 24aa88db..92a436e5 100644
--- a/conf/machine/imx8mq-evk.conf
+++ b/conf/machine/imx8mq-evk.conf
@@ -4,22 +4,25 @@
#@DESCRIPTION: Machine configuration for NXP i.MX 8M Quad Evaluation Kit
#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"
+MACHINEOVERRIDES =. "mx8mq:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa53.inc
+require conf/machine/include/arm/armv8a/tune-cortexa53.inc
-IMX_DEFAULT_BSP = "nxp"
+# Mainline BSP defaults to "generic" cortexa53 configuration,
+# adjust it here to include crypto extension which enables
+# inline NEON and FPU code generation
+DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
-MACHINE_FEATURES += "pci wifi bluetooth optee bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+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"
+MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
KERNEL_DEVICETREE = " \
freescale/imx8mq-evk.dtb \
"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/imx8mq-evk-ak4497.dtb \
freescale/imx8mq-evk-audio-tdm.dtb \
freescale/imx8mq-evk-dcss-adv7535.dtb \
@@ -40,9 +43,13 @@ KERNEL_DEVICETREE_append_use-nxp-bsp = " \
freescale/imx8mq-evk-usdhc2-m2.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] = "imx8mq_evk_config,sdcard"
-UBOOT_CONFIG[mfgtool] = "imx8mq_evk_config"
SPL_BINARY = "spl/u-boot-spl.bin"
@@ -64,19 +71,30 @@ ATF_PLATFORM = "imx8mq"
IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk"
IMX_BOOT_SOC_TARGET = "iMX8M"
+# Add support for Syslinux to mainline BSP.
+# U-Boot has the Distro Boot mode enabled by default, which
+# require that either Syslinux to be enabled, or a boot script
+# to be used to define the boot process.
+# We opt-in for Syslinux, since it is designated as a preferred
+# distro boot mode according to the U-Boot documentation.
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Quad EVK"
+
+UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Quad EVK"
+UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../imx8mq-evk.dtb"
+UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp ??= "root=/dev/mmcblk1p2"
+
+# Add extlinux.conf to the lis of files, which are deployed onto the
+# boot partition
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
IMX_BOOT_SEEK = "33"
OPTEE_BIN_EXT = "8mq"
# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
-
-# Use gstreamer 1.16 from meta-freescale
-PREFERRED_VERSION_gstreamer1.0 ?= "1.16.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.16.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.16.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.16.imx"
-PREFERRED_VERSION_gstreamer1.0-libav ?= "1.16.0"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
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 e4f45d85..5dea4e41 100644
--- a/conf/machine/imx8qm-mek.conf
+++ b/conf/machine/imx8qm-mek.conf
@@ -1,20 +1,21 @@
#@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>
MACHINEOVERRIDES =. "mx8:mx8qm:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa72-cortexa53.inc
+require conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
IMX_DEFAULT_BSP = "nxp"
-MACHINE_FEATURES += "pci optee bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
LOADADDR = ""
@@ -26,27 +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-dsp.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 = \
@@ -55,12 +55,14 @@ UBOOT_MAKE_TARGET = \
SPL_BINARY = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'spl/u-boot-spl.bin', \
'', d)}"
+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] = "imx8qm_mek_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "imx8qm_mek_fspi_defconfig"
-UBOOT_CONFIG[mfgtool] = "imx8qm_mek_defconfig"
IMX_BOOT_SEEK = "32"
@@ -83,4 +85,4 @@ IMX_BOOT_SOC_TARGET = "iMX8QM"
BOARD_TYPE = "mek"
# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf
index fe0f6727..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>
@@ -8,19 +9,25 @@ MACHINEOVERRIDES =. "mx8qxp:"
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 \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ 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"
+
+ATF_PLATFORM = "imx8qx"
+
+IMX_BOOT_SOC_TARGET = "iMX8QX"
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/e500mc.inc b/conf/machine/include/e500mc.inc
index a33485be..aa60d95e 100644
--- a/conf/machine/include/e500mc.inc
+++ b/conf/machine/include/e500mc.inc
@@ -1,6 +1,6 @@
TARGET_FPU = "hard"
-require conf/machine/include/tune-ppce500mc.inc
+require conf/machine/include/powerpc/tune-ppce500mc.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e500mc:"
diff --git a/conf/machine/include/e500v2.inc b/conf/machine/include/e500v2.inc
index 420f0343..a9af67cd 100644
--- a/conf/machine/include/e500v2.inc
+++ b/conf/machine/include/e500v2.inc
@@ -1,4 +1,4 @@
-require conf/machine/include/tune-ppce500v2.inc
+require conf/machine/include/powerpc/tune-ppce500v2.inc
MACHINEOVERRIDES =. "e500v2:"
require conf/machine/include/qoriq-ppc.inc
diff --git a/conf/machine/include/e5500-64b.inc b/conf/machine/include/e5500-64b.inc
index 72b958cd..42acb2f2 100644
--- a/conf/machine/include/e5500-64b.inc
+++ b/conf/machine/include/e5500-64b.inc
@@ -1,11 +1,11 @@
TARGET_FPU = "hard"
DEFAULTTUNE ?= "ppc64e5500"
-require conf/machine/include/tune-ppce5500.inc
+require conf/machine/include/powerpc/tune-ppce5500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e5500-64b:"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 ?= "ppce5500"
+DEFAULTTUNE:virtclass-multilib-lib32 ?= "ppce5500"
diff --git a/conf/machine/include/e5500.inc b/conf/machine/include/e5500.inc
index 364ffac4..c6709c16 100644
--- a/conf/machine/include/e5500.inc
+++ b/conf/machine/include/e5500.inc
@@ -1,6 +1,6 @@
TARGET_FPU = "hard"
-require conf/machine/include/tune-ppce5500.inc
+require conf/machine/include/powerpc/tune-ppce5500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e5500:"
diff --git a/conf/machine/include/e6500-64b.inc b/conf/machine/include/e6500-64b.inc
index e0e04dbc..3611d51a 100644
--- a/conf/machine/include/e6500-64b.inc
+++ b/conf/machine/include/e6500-64b.inc
@@ -1,11 +1,11 @@
TARGET_FPU = "hard"
DEFAULTTUNE ?= "ppc64e6500"
-require conf/machine/include/tune-ppce6500.inc
+require conf/machine/include/powerpc/tune-ppce6500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e6500-64b:"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 ?= "ppce6500"
+DEFAULTTUNE:virtclass-multilib-lib32 ?= "ppce6500"
diff --git a/conf/machine/include/e6500.inc b/conf/machine/include/e6500.inc
index 8d773b6e..565b75ee 100644
--- a/conf/machine/include/e6500.inc
+++ b/conf/machine/include/e6500.inc
@@ -1,6 +1,6 @@
TARGET_FPU = "hard"
-require conf/machine/include/tune-ppce6500.inc
+require conf/machine/include/powerpc/tune-ppce6500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e6500:"
@@ -9,4 +9,4 @@ BUILD_64BIT_KERNEL = "1"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib64"
-DEFAULTTUNE_virtclass-multilib-lib64 ?= "ppc64e6500"
+DEFAULTTUNE:virtclass-multilib-lib64 ?= "ppc64e6500"
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 85ec1c71..c1243c7f 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -13,57 +13,133 @@ require conf/machine/include/utilities.inc
IMX_DEFAULT_BSP ?= "mainline"
# Those are SoC families we'd like to force the use of mainline BSP.
-IMX_DEFAULT_BSP_mxs ?= "mainline"
-IMX_DEFAULT_BSP_mx5 ?= "mainline"
+IMX_DEFAULT_BSP:mxs ?= "mainline"
+IMX_DEFAULT_BSP:mx5 ?= "mainline"
MACHINEOVERRIDES =. "use-${IMX_DEFAULT_BSP}-bsp:"
-# Set specific make target and binary suffix
-IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
-IMX_DEFAULT_BOOTLOADER_mx8 = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
-IMX_DEFAULT_UBOOTTOOLS = "${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', 'u-boot-imx','u-boot-imx-tools', 'u-boot-tools', d)}"
+# UBOOT_BINARY is used inside the wks files to dynamically find the required
+# U-Boot file.
+UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
+
+# Using the 'IMX_DEFAULT_BOOTLOADER' the machine can support multiple bootloader
+# versions. This is done for NXP reference board where we support 'u-boot-fslc'
+# and 'u-boot-imx'.
+#
+# So, for example in imx6qdlsabresd, we support both flavor and for this we
+# define:
+#
+# ,----[ imx6qdlsabresd.conf ]
+# | ### u-boot-fslc settings ###
+# |
+# | SPL_BINARY:pn-u-boot-fslc = "SPL"
+# | UBOOT_MACHINE:pn-u-boot-fslc ?= "mx6sabresd_defconfig"
+# | UBOOT_SUFFIX:pn-u-boot-fslc = "img"
+# |
+# | ### u-boot-imx settings ###
+# |
+# | # The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
+# | # variants. Change the defconfig to the targeted SoC variant.
+# | UBOOT_MACHINE:pn-u-boot-imx ?= "mx6qsabresd_defconfig"
+# | UBOOT_SUFFIX:pn-u-boot-imx = "imx"
+# `----
+#
+# As result, the 'UBOOT_SUFFIX' is dynamically set based on the preferred U-Boot
+# flavor to use.
+#
+# For machines where one of the flavors is required, we can force it. An example
+# is the imx53qsb, which we define:
+#
+# ,----[ imx53qsb.conf ]
+# | # 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.
+# | IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+# |
+# | UBOOT_MAKE_TARGET = "u-boot.imx"
+# | UBOOT_SUFFIX = "imx"
+# |
+# | 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}}"
+
+# We need to export the original variable to allow it to be used when generating
+# wic based images.
+SPL_BINARY ??= "${@get_spl_binary(d)}"
PREFERRED_PROVIDER_u-boot ??= "${IMX_DEFAULT_BOOTLOADER}"
-PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_BOOTLOADER}-mfgtool"
-PREFERRED_PROVIDER_u-boot-tools-native ??= "${IMX_DEFAULT_UBOOTTOOLS}-native"
-PREFERRED_PROVIDER_nativesdk-u-boot-tools ??= "nativesdk-${IMX_DEFAULT_UBOOTTOOLS}"
-PREFERRED_PROVIDER_u-boot-mkimage-native ??= "${IMX_DEFAULT_UBOOTTOOLS}-native"
-PREFERRED_PROVIDER_nativesdk-u-boot-mkimage ??= "nativesdk-${IMX_DEFAULT_UBOOTTOOLS}"
+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_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
-UBOOT_MAKE_TARGET ?= "u-boot.${UBOOT_SUFFIX}"
-UBOOT_MAKE_TARGET_mxs ?= "u-boot.sb"
-UBOOT_MAKE_TARGET_mx8 ?= ""
-
-UBOOT_SUFFIX ?= "imx"
-UBOOT_SUFFIX_mxs ?= "sb"
-UBOOT_SUFFIX_mx8 ?= "bin"
-
-UBOOT_ENTRYPOINT_mxs = "0x40008000"
-UBOOT_ENTRYPOINT_mx51 = "0x90008000"
-UBOOT_ENTRYPOINT_mx53 = "0x70008000"
-UBOOT_ENTRYPOINT_mx6 = "0x10008000"
-UBOOT_ENTRYPOINT_mx6sl = "0x80008000"
-UBOOT_ENTRYPOINT_mx6sll = "0x80008000"
-UBOOT_ENTRYPOINT_mx6sx = "0x80008000"
-UBOOT_ENTRYPOINT_mx6ul = "0x10008000"
-UBOOT_ENTRYPOINT_mx6ull = "0x10008000"
-UBOOT_ENTRYPOINT_mx6ulz = "0x10008000"
-UBOOT_ENTRYPOINT_mx7 = "0x80008000"
-UBOOT_ENTRYPOINT_mx7ulp = "0x60008000"
-UBOOT_ENTRYPOINT_mx8m = "0x40480000"
-UBOOT_ENTRYPOINT_vf = "0x80008000"
-
-PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
-XSERVER_DRIVER = "xf86-video-fbdev"
-XSERVER_DRIVER_imxgpu2d = "xf86-video-imx-vivante"
-XSERVER_DRIVER_vf = "xf86-video-modesetting"
-XSERVER_DRIVER_append_mx8 = " xf86-video-modesetting"
-XSERVER_DRIVER_use-mainline-bsp = "xf86-video-armada"
+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"
+
+# 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"
+XSERVER_DRIVER:vf-generic-bsp = "xf86-video-modesetting"
+XSERVER_DRIVER:append:mx8-generic-bsp = " xf86-video-modesetting"
+XSERVER_DRIVER:imx-mainline-bsp = " \
+ xf86-video-fbdev \
+ xf86-video-modesetting \
+ xserver-xorg-extension-glx \
+"
XSERVER = "xserver-xorg \
xf86-input-evdev \
${XSERVER_DRIVER}"
@@ -76,43 +152,120 @@ MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
# ARM_INSTRUCTION_SET = "thumb"
#
# handled by software
-# DEFAULTTUNE_mx6 ?= "cortexa9t-neon"
+# DEFAULTTUNE:mx6-generic-bsp ?= "cortexa9t-neon"
# handled by hardware
-DEFAULTTUNE_mx6 ?= "cortexa9thf-neon"
-DEFAULTTUNE_mx6ul ?= "cortexa7thf-neon"
-DEFAULTTUNE_mx6ull ?= "cortexa7thf-neon"
-DEFAULTTUNE_mx6ulz ?= "cortexa7thf-neon"
-DEFAULTTUNE_mx7 ?= "cortexa7thf-neon"
-DEFAULTTUNE_vf ?= "cortexa5thf-neon"
-
-DEFAULTTUNE_mx8m ?= "cortexa53-crypto"
-DEFAULTTUNE_mx8qm ?= "cortexa72-cortexa53-crypto"
-DEFAULTTUNE_mx8qxp ?= "cortexa35-crypto"
+DEFAULTTUNE:mx6-generic-bsp ?= "cortexa9thf-neon"
+DEFAULTTUNE:mx6ul-generic-bsp ?= "cortexa7thf-neon"
+DEFAULTTUNE:mx6ull-generic-bsp ?= "cortexa7thf-neon"
+DEFAULTTUNE:mx6ulz-generic-bsp ?= "cortexa7thf-neon"
+DEFAULTTUNE:mx7-generic-bsp ?= "cortexa7thf-neon"
+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"
-MACHINEOVERRIDES_EXTENDER_mx25 = "use-mainline-bsp"
-MACHINEOVERRIDES_EXTENDER_mx6q = "imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6dl = "imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sx = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6sl = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sll = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6ul = "imxfbdev:imxpxp"
-MACHINEOVERRIDES_EXTENDER_mx6ull = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6ulz = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7d = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8qm = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mm = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mn = "imxdrm:imxgpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mp = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mq = "imxdrm:imxvpu:imxgpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8dxl = "imxfbdev"
-
-MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
- imx \
- \
+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
+#######
+
+MACHINEOVERRIDES_EXTENDER:mx6q:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6q-generic-bsp:mx6q-nxp-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6dl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6dl-generic-bsp:mx6dl-nxp-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx6sx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6sx-generic-bsp:mx6sx-nxp-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx6sl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6sll:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp:mx6sll-generic-bsp:mx6sll-nxp-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx6ul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6ull:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp:mx6ulz-generic-bsp:mx6ulz-nxp-bsp"
+
+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: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: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: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
+#######
+
+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: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"
+
+MACHINEOVERRIDES_EXTENDER:mx6q:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6q-generic-bsp:mx6q-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6dl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6dl-generic-bsp:mx6dl-mainline-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx6sx:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6sx-generic-bsp:mx6sx-mainline-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx6sl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6sl-generic-bsp:mx6sl-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6sll:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6sll-generic-bsp:mx6sll-mainline-bsp"
+
+MACHINEOVERRIDES_EXTENDER:mx6ul:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6ul-generic-bsp:mx6ul-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6ull:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6ul-generic-bsp:mx6ul-mainline-bsp:mx6ull-generic-bsp:mx6ull-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6ulz:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6ul-generic-bsp:mx6ul-mainline-bsp:mx6ull-generic-bsp:mx6ull-mainline-bsp:mx6ulz-generic-bsp:mx6ulz-mainline-bsp"
+
+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"
+
+MACHINEOVERRIDES_EXTENDER:mx8qxp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8qxp-generic-bsp:mx8qxp-mainline-bsp"
+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 \
mx6dl \
@@ -127,71 +280,94 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
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'."
+
# Sub-architecture support
MACHINE_SOCARCH_SUFFIX ?= ""
-MACHINE_SOCARCH_SUFFIX_mx6q = "-mx6qdl"
-MACHINE_SOCARCH_SUFFIX_mx6dl = "-mx6qdl"
-MACHINE_SOCARCH_SUFFIX_mx6sx = "-mx6sx"
-MACHINE_SOCARCH_SUFFIX_mx6sl = "-mx6sl"
-MACHINE_SOCARCH_SUFFIX_mx6sll= "-mx6sll"
-MACHINE_SOCARCH_SUFFIX_mx7d = "-mx7d"
-MACHINE_SOCARCH_SUFFIX_mx7ulp = "-mx7ulp"
-MACHINE_SOCARCH_SUFFIX_vf60 = "-vf60"
-MACHINE_SOCARCH_SUFFIX_vf50 = "-vf50"
-MACHINE_SOCARCH_SUFFIX_mx6ul = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX_mx6ull = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX_mx6ulz = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX_mx8qm = "-mx8"
-MACHINE_SOCARCH_SUFFIX_mx8mm = "-mx8mm"
-MACHINE_SOCARCH_SUFFIX_mx8mn = "-mx8mn"
-MACHINE_SOCARCH_SUFFIX_mx8mp = "-mx8mp"
-MACHINE_SOCARCH_SUFFIX_mx8mq = "-mx8m"
-MACHINE_SOCARCH_SUFFIX_mx8qxp = "-mx8"
-MACHINE_SOCARCH_SUFFIX_mx8dxl = "-mx8dxl"
-MACHINE_SOCARCH_SUFFIX_use-mainline-bsp = "-imx"
+MACHINE_SOCARCH_SUFFIX:mx6q-nxp-bsp = "-mx6qdl"
+MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl"
+MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx"
+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: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: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"
MACHINE_ARCH_FILTER = "virtual/kernel"
-MACHINE_SOCARCH_FILTER_append_imx = " \
+MACHINE_SOCARCH_FILTER:append:imx-nxp-bsp = " \
alsa-lib \
gstreamer1.0 \
weston \
"
-MACHINE_SOCARCH_FILTER_append_imxvpu = " \
+MACHINE_SOCARCH_FILTER:append:imxvpu = " \
imx-codec \
imx-vpuwrap \
libimxvpuapi \
virtual/imxvpu \
"
-MACHINE_SOCARCH_FILTER_append_imxgpu = " \
+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 \
"
-MACHINE_SOCARCH_FILTER_append_imxgpu2d = " \
+MACHINE_SOCARCH_FILTER:append:imxgpu2d = " \
virtual/libg2d \
"
-MACHINE_SOCARCH_FILTER_append_imxgpu3d = " \
+MACHINE_SOCARCH_FILTER:append:imxgpu3d = " \
virtual/libgl \
virtual/libgles1 \
virtual/libgles2 \
"
-MACHINE_SOCARCH_FILTER_append_use-mainline-bsp = " \
+MACHINE_SOCARCH_FILTER:append:imx-mainline-bsp = " \
virtual/egl \
virtual/libopenvg \
virtual/libg2d \
@@ -203,23 +379,13 @@ MACHINE_SOCARCH_FILTER_append_use-mainline-bsp = " \
pango \
qtbase \
"
-MACHINE_SOCARCH_FILTER_append_mx6q = " \
- opencl-icd-loader \
- opencl-clhpp \
- opencl-headers \
-"
-MACHINE_SOCARCH_FILTER_append_mx8 = " \
- opencl-icd-loader \
- opencl-clhpp \
- opencl-headers \
-"
-MACHINE_SOCARCH_FILTER_append_mx8qm = " \
+MACHINE_SOCARCH_FILTER:append:mx8qm-nxp-bsp = " \
virtual/libopenvx \
"
INHERIT += "fsl-dynamic-packagearch"
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS_append = " \
+SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS:append = " \
imx-gpu-viv->kernel-module-imx-gpu-viv \
libimxvpuapi->virtual/imxvpu \
imx-vpuwrap->virtual/imxvpu \
@@ -227,80 +393,151 @@ 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_mx25 = " firmware-imx-sdma-imx25"
-MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27"
-MACHINE_FIRMWARE_append_mx7d = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-imx-sdma-imx6q"
-MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q"
-MACHINE_FIRMWARE_append_mx6dl = " firmware-imx-vpu-imx6d firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6sl = " firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6sll = " firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6ull = " firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
-MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
-MACHINE_FIRMWARE_append_mx8mm = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE_append_mx8mn = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE_append_mx8mp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx"
-MACHINE_FIRMWARE_append_mx8mq = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE_append_mx8qm = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE_append_use-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}"
# Extra audio support
IMX_ALSA_EXTRA = ""
-IMX_ALSA_EXTRA_use-nxp-bsp = "imx-alsa-plugins"
-MACHINE_EXTRA_RRECOMMENDS_append_mx6 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append_mx7 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append_mx8 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
+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', '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', '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"
+
+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)}"
-MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca9377', 'packagegroup-fsl-qca9377', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca6174', 'packagegroup-fsl-qca6174', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca9377', 'packagegroup-fsl-qca9377', '', d)}"
# Extra udev rules
MACHINE_EXTRA_RRECOMMENDS += "udev-rules-imx"
# Jailhouse
+PREFERRED_PROVIDER_jailhouse:imx-nxp-bsp ?= "jailhouse-imx"
MACHINE_EXTRA_RRECOMMENDS += " \
- ${@bb.utils.contains('COMBINED_FEATURES', 'jailhouse', 'jailhouse', '', d)} \
+ ${@bb.utils.filter('COMBINED_FEATURES', 'jailhouse', d)} \
"
# GStreamer 1.0 plugins
-MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6q ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6sl ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6sx ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6ull ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx7d ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mm ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mn ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mp ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mq ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8qm ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8qxp ?= "imx-gst1.0-plugin"
-
-PREFERRED_VERSION_gstreamer1.0_mx8 ?= "1.16.2.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 ?= "1.16.2.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 ?= "1.16.3.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 ?= "1.16.3.imx"
-PREFERRED_VERSION_gstreamer1.0-libav_mx8 ?= "1.16.0"
+MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6dl-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6q-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6sl-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
+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 ?= "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 ?= "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"
+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"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_imxgpu = "1"
+SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
# Handle Vivante kernel driver setting:
# 0 - machine does not have Vivante GPU driver support
@@ -313,59 +550,73 @@ PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
-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/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_opencl-clhpp_imxgpu ?= "imx-gpu-viv"
-PREFERRED_PROVIDER_opencl-headers_imxgpu ?= "imx-gpu-viv"
-PREFERRED_PROVIDER_opencl-icd-loader_imxgpu ?= "imx-gpu-viv"
-
-PREFERRED_VERSION_weston_imx ?= "9.0.0.imx"
-PREFERRED_VERSION_weston_use-mainline-bsp = ""
-
-PREFERRED_VERSION_wayland-protocols_mx6 ?= "1.20.imx"
-PREFERRED_VERSION_wayland-protocols_mx7 ?= "1.20.imx"
-PREFERRED_VERSION_wayland-protocols_mx8 ?= "1.20.imx"
+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_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_xwayland:imx-nxp-bsp ??= "23.1.1.imx"
# Use i.MX libdrm Version
-PREFERRED_VERSION_libdrm_mx6 ?= "2.4.102.imx"
-PREFERRED_VERSION_libdrm_mx7 ?= "2.4.102.imx"
-PREFERRED_VERSION_libdrm_mx8 ?= "2.4.102.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 ?= "3.7.0.imx"
-PREFERRED_VERSION_optee-client_mx8 ?= "3.7.0.imx"
-PREFERRED_VERSION_optee-test_mx8 ?= "3.7.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 ?= "4.4.0.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 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mxs = "linux-fslc"
-IMX_DEFAULT_KERNEL_mx5 = "linux-fslc"
-IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx7 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx8 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx7ulp = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx6sll = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx6ul = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx6ull = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_use-mainline-bsp = "linux-fslc"
+IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc"
+IMX_DEFAULT_KERNEL:imx-nxp-bsp = "linux-fslc-imx"
PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
SOC_DEFAULT_IMAGE_FSTYPES = "wic.bmap wic.gz"
-SOC_DEFAULT_IMAGE_FSTYPES_mxs = "uboot-mxsboot-sdcard wic.bmap wic.gz"
+SOC_DEFAULT_IMAGE_FSTYPES:mxs-generic-bsp = "uboot-mxsboot-sdcard wic.bmap wic.gz"
# Do not update fstab file when using wic images
WIC_CREATE_EXTRA_ARGS ?= "--no-fstab-update"
-OPTEE_BOOT_IMAGE = "uTee"
-OPTEE_BOOT_IMAGE_aarch64 = ""
+OPTEE_BIN_EXT ??= ""
+OPTEE_BOOT_IMAGE = "tee.bin uTee-${OPTEE_BIN_EXT}"
+OPTEE_BOOT_IMAGE:mx8-generic-bsp = "tee.bin"
+OPTEE_BOOT_IMAGE:mx9-generic-bsp = "tee.bin"
IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
@@ -377,42 +628,54 @@ IMAGE_BOOT_FILES ?= " \
### wic default support
OPTEE_WKS_FILE_DEPENDS = "optee-os"
-OPTEE_WKS_FILE_DEPENDS_aarch64 = ""
+OPTEE_WKS_FILE_DEPENDS:aarch64 = ""
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 = " imx-boot"
-WKS_FILE_DEPENDS_append_mx8m = " imx-boot"
-
# We need to restrict the append so we don't add this for other i.MX SoC's.
-WKS_FILE_DEPENDS_append_use-mainline-bsp_aarch64 = " imx-boot"
+# 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 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.
+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 ?= "imx-imx-boot-bootpart.wks.in"
-
-SOC_DEFAULT_WKS_FILE_mx8 ?= "imx-imx-boot-bootpart.wks.in"
-SOC_DEFAULT_WKS_FILE_mxs ?= "imx-uboot-mxs-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}"
SERIAL_CONSOLES = "115200;ttymxc0"
-SERIAL_CONSOLES_mxs = "115200;ttyAMA0"
+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"
-SOC_MACHINE_FEATURES_BACKFILL_mx8m = "jailhouse"
-MACHINE_FEATURES_BACKFILL_append = " ${SOC_MACHINE_FEATURES_BACKFILL}"
+HOSTTOOLS_NONFATAL:append:mx8-nxp-bsp = " sha384sum"
-# Add the ability to specify _imx machines
-MACHINEOVERRIDES =. "imx:"
+# Add task to generate the mfgtool bundle for the image.
+IMAGE_CLASSES:append:imx-generic-bsp = " image_populate_mfgtool"
-HOSTTOOLS_NONFATAL_append_mx8 = " sha384sum"
+# 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
new file mode 100644
index 00000000..0f9aa1f0
--- /dev/null
+++ b/conf/machine/include/imx8dxl-evk.inc
@@ -0,0 +1,60 @@
+MACHINEOVERRIDES =. "mx8dxl:"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8a/tune-cortexa35.inc
+
+IMX_DEFAULT_BSP = "nxp"
+
+MACHINE_FEATURES += "pci bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
+
+# Don't include kernels in standard images
+RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+LOADADDR = ""
+
+# Disable the serial console due to auto-serial-console
+SERIAL_CONSOLES = "115200;ttyLP0"
+
+# we do not want to have getty running on tty1 as we run
+# auto-serial-console there
+USE_VT = "0"
+
+KERNEL_DEVICETREE = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
+"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+"
+
+ATF_PLATFORM = "imx8dxl"
+IMX_BOOT_SOC_TARGET = "iMX8DXL"
+
+# This machine is not supported by u-boot-fslc, so we force it to use
+# u-boot-imx here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-imx"
+
+UBOOT_MAKE_TARGET = "all"
+SPL_BINARY = "spl/u-boot-spl.bin"
+UBOOT_SUFFIX = "bin"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
+
+IMX_BOOT_SEEK = "32"
+
+IMXBOOT_TARGETS_SD = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \
+ 'flash', d)}"
+IMXBOOT_TARGETS_FSPI = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl_flexspi', \
+ 'flash_flexspi', d)}"
+IMXBOOT_TARGETS_NAND = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl_nand', \
+ 'flash_nand flash_nand_fw', d)}"
+IMXBOOT_TARGETS = \
+ "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
+ bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', \
+ bb.utils.contains('UBOOT_CONFIG', 'nand', '${IMXBOOT_TARGETS_NAND}', \
+ 'INVALID', d), d), d)}"
diff --git a/conf/machine/include/imx8dxl-lpddr4-evk.inc b/conf/machine/include/imx8dxl-lpddr4-evk.inc
new file mode 100644
index 00000000..b3b906ec
--- /dev/null
+++ b/conf/machine/include/imx8dxl-lpddr4-evk.inc
@@ -0,0 +1,17 @@
+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}-lcdif.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
+"
+
+UBOOT_CONFIG_BASENAME = "imx8dxl_evk"
+
+UBOOT_CONFIG[lcd] = "${UBOOT_CONFIG_BASENAME}_lcd_defconfig"
+
+BOARD_TYPE = "evk"
diff --git a/conf/machine/include/imx8mm-evk.inc b/conf/machine/include/imx8mm-evk.inc
index 20bc9b77..442f4477 100644
--- a/conf/machine/include/imx8mm-evk.inc
+++ b/conf/machine/include/imx8mm-evk.inc
@@ -1,28 +1,39 @@
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
+MACHINEOVERRIDES =. "mx8mm:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa53.inc
+require conf/machine/include/arm/armv8a/tune-cortexa53.inc
-MACHINE_FEATURES += "pci wifi bluetooth optee bcm43455 bcm4356"
+# Mainline BSP defaults to "generic" cortexa53 configuration,
+# adjust it here to include crypto extension which enables
+# inline NEON and FPU code generation
+DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
-# NXP BSP can consume BCM4359 and QCA9377 driver and firmware
+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
# under "Proprietary" license - we opt-out from using it in all BSPs
# and pin it to NXP BSP only
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359 qca9377"
+# 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 = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ 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"
+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"
@@ -34,12 +45,31 @@ IMX_BOOT_SOC_TARGET = "iMX8MM"
SERIAL_CONSOLES = "115200;ttymxc1"
+# Add support for Syslinux to mainline BSP.
+# U-Boot has the Distro Boot mode enabled by default, which
+# require that either Syslinux to be enabled, or a boot script
+# to be used to define the boot process.
+# We opt-in for Syslinux, since it is designated as a preferred
+# distro boot mode according to the U-Boot documentation.
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Mini EVK"
+
+UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Mini EVK"
+UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
+UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
+
+# Add extlinux.conf to the lis of files, which are deployed onto the
+# boot partition
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
-UBOOT_MAKE_TARGET = ""
+UBOOT_MAKE_TARGET = "all"
IMX_BOOT_SEEK = "33"
OPTEE_BIN_EXT = "8mm"
+TEE_LOAD_ADDR = "0xbe000000"
# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
diff --git a/conf/machine/include/imx8mn-evk.inc b/conf/machine/include/imx8mn-evk.inc
index 8e68f2fe..11657bcc 100644
--- a/conf/machine/include/imx8mn-evk.inc
+++ b/conf/machine/include/imx8mn-evk.inc
@@ -1,29 +1,43 @@
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mn:"
+MACHINEOVERRIDES =. "mx8mn:"
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa53.inc
+require conf/machine/include/arm/armv8a/tune-cortexa53.inc
-MACHINE_FEATURES += "wifi bluetooth optee bcm43455 bcm4356"
+# Mainline BSP defaults to "generic" cortexa53 configuration,
+# adjust it here to include crypto extension which enables
+# inline NEON and FPU code generation
+DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
+
+MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
# NXP BSP can consume proprietary jailhouse and Broadcom drivers
-MACHINE_FEATURES_append_use-nxp-bsp = " jailhouse bcm4359"
+# 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 = " \
- 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 \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ 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"
+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[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
-UBOOT_CONFIG[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig"
+UBOOT_CONFIG[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
@@ -35,10 +49,28 @@ IMX_BOOT_SOC_TARGET = "iMX8MN"
SERIAL_CONSOLES = "115200;ttymxc1"
+# Add support for Syslinux to mainline BSP.
+# U-Boot has the Distro Boot mode enabled by default, which
+# require that either Syslinux to be enabled, or a boot script
+# to be used to define the boot process.
+# We opt-in for Syslinux, since it is designated as a preferred
+# distro boot mode according to the U-Boot documentation.
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Nano EVK"
+
+UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Nano EVK"
+UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
+UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
+
+# Add extlinux.conf to the lis of files, which are deployed onto the
+# boot partition
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+
BOOT_SPACE = "65536"
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
-UBOOT_MAKE_TARGET = ""
+UBOOT_MAKE_TARGET = "all"
# Image boot offset as defined in section 6.1.6.1 "Primary image offset and IVT offset" of
# i.MX 8M Nano Applications Processor Reference Manual, Rev. 0, 12/2019
@@ -46,6 +78,7 @@ UBOOT_MAKE_TARGET = ""
IMX_BOOT_SEEK = "32"
OPTEE_BIN_EXT = "8mn"
+TEE_LOAD_ADDR = "0x56000000"
# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
diff --git a/conf/machine/include/imx8mp-evk.inc b/conf/machine/include/imx8mp-evk.inc
new file mode 100644
index 00000000..24e5588f
--- /dev/null
+++ b/conf/machine/include/imx8mp-evk.inc
@@ -0,0 +1,74 @@
+MACHINEOVERRIDES =. "mx8mp:"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8a/tune-cortexa53.inc
+
+# Mainline BSP defaults to "generic" cortexa53 configuration,
+# adjust it here to include crypto extension which enables
+# inline NEON and FPU code generation
+DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
+
+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
+# a full support for it yet.
+MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse mrvl8997"
+
+# Mainline kernel contains only one DTB file for
+# imx8mpevk machine
+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"
+
+UBOOT_SUFFIX = "bin"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
+UBOOT_CONFIG[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig"
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+ATF_PLATFORM = "imx8mp"
+
+IMXBOOT_TARGETS = \
+ "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', \
+ '${IMXBOOT_TARGETS_BASENAME}', d)}"
+
+IMX_BOOT_SOC_TARGET = "iMX8MP"
+
+SERIAL_CONSOLES = "115200;ttymxc1"
+
+# Add support for Syslinux to mainline BSP.
+# U-Boot has the Distro Boot mode enabled by default, which
+# require that either Syslinux to be enabled, or a boot script
+# to be used to define the boot process.
+# We opt-in for Syslinux, since it is designated as a preferred
+# distro boot mode according to the U-Boot documentation.
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Plus EVK"
+
+UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Plus EVK"
+UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
+UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
+
+# Add extlinux.conf to the lis of files, which are deployed onto the
+# boot partition
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+
+LOADADDR = ""
+UBOOT_MAKE_TARGET = "all"
+IMX_BOOT_SEEK = "32"
+
+OPTEE_BIN_EXT = "8mp"
+TEE_LOAD_ADDR = "0x56000000"
+
+# Add additional firmware
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
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 490e00db..9eaa77c5 100644
--- a/conf/machine/include/imx8x-mek.inc
+++ b/conf/machine/include/imx8x-mek.inc
@@ -1,15 +1,13 @@
-MACHINEOVERRIDES =. "mx8:mx8x:"
-
require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa35.inc
+require conf/machine/include/arm/armv8a/tune-cortexa35.inc
IMX_DEFAULT_BSP = "nxp"
-MACHINE_FEATURES += "pci optee bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
LOADADDR = ""
@@ -23,10 +21,9 @@ USE_VT = "0"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191-rpmsg.dtb \
- freescale/${KERNEL_DEVICETREE_BASENAME}-dsp.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-enet2-tja1100.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds0-dual-channel.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds0-dual-channel-rpmsg.dtb \
@@ -54,8 +51,10 @@ UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
IMX_BOOT_SEEK = "32"
-# Set ATF platform name
-ATF_PLATFORM = "imx8qx"
+# This machine is not supported by u-boot-fslc, so we force it to use
+# u-boot-imx here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-imx"
+UBOOT_SUFFIX = "bin"
IMXBOOT_TARGETS_SD = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \
@@ -66,9 +65,7 @@ IMXBOOT_TARGETS_FSPI = \
IMXBOOT_TARGETS = \
"${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
'${IMXBOOT_TARGETS_FSPI}', d)}"
-IMX_BOOT_SOC_TARGET = "iMX8QX"
-
BOARD_TYPE = "mek"
# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
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-arm.inc b/conf/machine/include/qoriq-arm.inc
index eb03af43..89e9c4c0 100644
--- a/conf/machine/include/qoriq-arm.inc
+++ b/conf/machine/include/qoriq-arm.inc
@@ -1,5 +1,7 @@
# Provides the common settings for QorIQ ARM
+# default assignment to override defaults from kernel.bbclass
+# should be assigned by machine if other type needed
KERNEL_IMAGETYPE ?= "uImage"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyEHV0 115200;ttyLP0 115200;ttyAMA0"
diff --git a/conf/machine/include/qoriq-base.inc b/conf/machine/include/qoriq-base.inc
index e482b857..4340c942 100644
--- a/conf/machine/include/qoriq-base.inc
+++ b/conf/machine/include/qoriq-base.inc
@@ -1,20 +1,45 @@
# common providers of QorIQ targets
-PREFERRED_PROVIDER_u-boot ?= "u-boot-qoriq"
-PREFERRED_PROVIDER_virtual/bootloader ?= "${PREFERRED_PROVIDER_u-boot}"
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq"
+PREFERRED_PROVIDER_u-boot ??= "u-boot-qoriq"
+PREFERRED_PROVIDER_virtual/bootloader ??= "${PREFERRED_PROVIDER_u-boot}"
+PREFERRED_PROVIDER_virtual/kernel ??= "linux-qoriq"
PREFERRED_PROVIDER_u-boot-tools-native ??= "u-boot-tools-native"
PREFERRED_PROVIDER_u-boot-mkimage-native ??= "u-boot-tools-native"
PREFERRED_PROVIDER_u-boot-mkimage ??= "u-boot-tools"
PREFERRED_PROVIDER_nativesdk-u-boot-mkimage ??= "nativesdk-u-boot-tools"
PREFERRED_VERSION_testfloat = "2a"
-SOC_DEFAULT_IMAGE_FSTYPES = "tar.gz ext2.gz.u-boot ext2.gz"
+SOC_DEFAULT_IMAGE_FSTYPES = "tar.gz"
+SOC_DEFAULT_IMAGE_FSTYPES:append:ls1043a = " wic.bz2"
+SOC_DEFAULT_IMAGE_FSTYPES:append:ls1046a = " wic.bz2"
IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
+# Composite Image Layout (in KBytes)
+IMAGE_OFFSET_PBL ?= "4"
+IMAGE_OFFSET_FIP ?= "1024"
+IMAGE_OFFSET_FMAN_UCODE ?= "9216"
+
+# Composite Image Filenames
+IMAGE_FILE_PBL_SD ?= "atf/bl2_sd.pbl"
+IMAGE_FILE_FIP_UBOOT ?= "atf/fip_uboot.bin"
+
+# Do not update fstab file when using wic images
+WIC_CREATE_EXTRA_ARGS ?= "--no-fstab-update"
+
+IMAGE_BOOT_FILES ?= " \
+ ${KERNEL_IMAGETYPE} \
+ *.dtb \
+"
+
+SOC_DEFAULT_WKS_FILE ?= ""
+SOC_DEFAULT_WKS_FILE:ls1043a ?= "ls104x-uboot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:ls1046a ?= "ls104x-uboot-bootpart.wks.in"
+
+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:"
@@ -29,7 +54,7 @@ MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:"
# Sub-architecture support
MACHINE_SOCARCH_SUFFIX ?= ""
-MACHINE_SOCARCH_SUFFIX_qoriq = "-qoriq"
+MACHINE_SOCARCH_SUFFIX:qoriq = "-qoriq"
MACHINE_ARCH_FILTER = "virtual/kernel"
diff --git a/conf/machine/include/utilities.inc b/conf/machine/include/utilities.inc
index e9695bde..34ce7abc 100644
--- a/conf/machine/include/utilities.inc
+++ b/conf/machine/include/utilities.inc
@@ -20,3 +20,9 @@ def make_dtb_boot_files(d):
return os.path.basename(dtb)
return ' '.join([transform(dtb) for dtb in alldtbs.split() if dtb])
+
+def get_spl_binary(d):
+ imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER')
+ spl_binary = d.getVar("SPL_BINARY:pn-%s" % imx_default_bootloader)
+
+ return spl_binary or ""
diff --git a/conf/machine/ls1012afrwy.conf b/conf/machine/ls1012afrwy.conf
index 72605cc1..7de1e990 100644
--- a/conf/machine/ls1012afrwy.conf
+++ b/conf/machine/ls1012afrwy.conf
@@ -19,8 +19,8 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls1012afrwy_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1012afrwy_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls1012afrwy_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1012afrwy_tfa_SECURE_BOOT_defconfig"
RCWQSPI ?= "N_SSNP_3305/rcw_1000"
diff --git a/conf/machine/ls1012ardb.conf b/conf/machine/ls1012ardb.conf
index b4bfc571..879e3f8f 100644
--- a/conf/machine/ls1012ardb.conf
+++ b/conf/machine/ls1012ardb.conf
@@ -19,8 +19,8 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls1012ardb_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1012ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls1012ardb_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1012ardb_tfa_SECURE_BOOT_defconfig"
RCWQSPI ?= "R_SPNH_3508/rcw_1000"
RCWQSPISEC ?= "R_SPNH_3508/rcw_1000"
diff --git a/conf/machine/ls1021atwr.conf b/conf/machine/ls1021atwr.conf
deleted file mode 100644
index aa0f0943..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/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,,u-boot-dtb.bin"
-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,,u-boot-dtb.bin"
-UBOOT_CONFIG[qspi] = "ls1021atwr_qspi_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[secure-boot] = "ls1021atwr_nor_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
-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/ls1028ardb.conf b/conf/machine/ls1028ardb.conf
index 7647bf41..268a60c3 100644
--- a/conf/machine/ls1028ardb.conf
+++ b/conf/machine/ls1028ardb.conf
@@ -4,13 +4,13 @@
#@DESCRIPTION: Machine configuration for running LS1028ARDB in 64-bit mode
#@MAINTAINER: Chunrong.Guo <chunrong.guo@nxp.com>
+MACHINEOVERRIDES =. "fsl-lsch3:ls1028a:"
+
require conf/machine/include/qoriq-arm64.inc
require conf/machine/include/arm/arch-arm64.inc
MACHINE_FEATURES += "optee"
-MACHINEOVERRIDES =. "fsl-lsch3:ls1028a:"
-
KERNEL_CLASSES = " kernel-fitimage "
KERNEL_IMAGETYPES = "fitImage"
@@ -18,11 +18,11 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1028ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa] = "ls1028ardb_tfa_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1028ardb_tfa_SECURE_BOOT_defconfig"
+UBOOT_CONFIG[tfa] = "ls1028ardb_tfa_defconfig"
KERNEL_DEVICETREE ?= "freescale/fsl-ls1028a-rdb.dtb freescale/fsl-ls1028a-qds.dtb"
-KERNEL_DEVICETREE_append_use-nxp-bsp = "\
+KERNEL_DEVICETREE:append:use-nxp-bsp = "\
freescale/fsl-ls1028a-rdb-dpdk.dtb \
"
KERNEL_DEFCONFIG ?= "defconfig"
diff --git a/conf/machine/ls1043ardb.conf b/conf/machine/ls1043ardb.conf
index 369abdcf..4ff3c0ac 100644
--- a/conf/machine/ls1043ardb.conf
+++ b/conf/machine/ls1043ardb.conf
@@ -19,15 +19,15 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls1043ardb_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1043ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls1043ardb_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1043ardb_tfa_SECURE_BOOT_defconfig"
KERNEL_DEVICETREE ?= "\
freescale/fsl-ls1043a-rdb.dtb \
freescale/fsl-ls1043a-qds.dtb \
"
# usdpaa dtb is used for dpdk. TODO: rename in kernel
-KERNEL_DEVICETREE_append_use-nxp-bsp = "\
+KERNEL_DEVICETREE:prepend:use-nxp-bsp = "\
freescale/fsl-ls1043a-rdb-sdk.dtb \
freescale/fsl-ls1043a-rdb-usdpaa.dtb \
freescale/fsl-ls1043a-qds-sdk.dtb \
@@ -40,5 +40,7 @@ RCWSD ?= "RR_FQPP_1455/rcw_1600_sdboot"
RCWNAND ?= "RR_FQPP_1455/rcw_1600_nandboot"
QE_UCODE = "iram_Type_A_LS1021a_r1.0.bin"
+FMAN_UCODE ?= "fsl_fman_ucode_ls1043_r1.1_106_4_18.bin"
+
EXTRA_IMAGEDEPENDS += "fm-ucode rcw qe-ucode uefi qoriq-atf ls2-phy"
USE_VT = "0"
diff --git a/conf/machine/ls1046afrwy.conf b/conf/machine/ls1046afrwy.conf
index f6854a0c..eb3c0bb6 100644
--- a/conf/machine/ls1046afrwy.conf
+++ b/conf/machine/ls1046afrwy.conf
@@ -18,14 +18,14 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls1046afrwy_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1046afrwy_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls1046afrwy_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1046afrwy_tfa_SECURE_BOOT_defconfig"
KERNEL_DEVICETREE ?= "\
freescale/fsl-ls1046a-frwy.dtb \
"
# usdpaa dtb is used for dpdk. TODO: rename in kernel
-KERNEL_DEVICETREE_append_use-nxp-bsp = "\
+KERNEL_DEVICETREE:prepend:use-nxp-bsp = "\
freescale/fsl-ls1046a-frwy-sdk.dtb \
freescale/fsl-ls1046a-frwy-usdpaa.dtb \
"
@@ -37,5 +37,7 @@ SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
RCWQSPI ?= "NN_NNQNNPNP_3040_0506/rcw_1600_qspiboot"
RCWSD ?= "NN_NNQNNPNP_3040_0506/rcw_1600_sdboot"
+FMAN_UCODE ?= "fsl_fman_ucode_ls1046_r1.0_106_4_18.bin"
+
EXTRA_IMAGEDEPENDS += "fm-ucode rcw qoriq-atf ls2-phy qe-ucode"
USE_VT = "0"
diff --git a/conf/machine/ls1046ardb.conf b/conf/machine/ls1046ardb.conf
index 64f26792..2b82c98f 100644
--- a/conf/machine/ls1046ardb.conf
+++ b/conf/machine/ls1046ardb.conf
@@ -18,17 +18,18 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls1046ardb_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1046ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls1046ardb_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1046ardb_tfa_SECURE_BOOT_defconfig"
KERNEL_DEVICETREE ?= "\
freescale/fsl-ls1046a-rdb.dtb \
freescale/fsl-ls1046a-qds.dtb \
"
# usdpaa dtb is used for dpdk. TODO: rename in kernel
-KERNEL_DEVICETREE_append_use-nxp-bsp = "\
+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"
@@ -40,5 +41,7 @@ UEFI_QSPIBOOT ?= "LS1046ARDB_EFI_QSPIBOOT.fd"
RCWQSPI ?= "RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot"
RCWSD ?= "RR_FFSSPPPH_1133_5559/rcw_1800_sdboot"
+FMAN_UCODE ?= "fsl_fman_ucode_ls1046_r1.0_106_4_18.bin"
+
EXTRA_IMAGEDEPENDS += "fm-ucode rcw uefi qoriq-atf qe-ucode ls2-phy"
USE_VT = "0"
diff --git a/conf/machine/ls1088ardb-pb.conf b/conf/machine/ls1088ardb-pb.conf
index 1ae5693b..f9d05b69 100644
--- a/conf/machine/ls1088ardb-pb.conf
+++ b/conf/machine/ls1088ardb-pb.conf
@@ -4,11 +4,11 @@
#@DESCRIPTION: Machine configuration for running LS1088ARDB in 64-bit mode
#@MAINTAINER: Chunrong Guo <Chunrong.Guo@nxp.com>
+MACHINEOVERRIDES =. "fsl-lsch3:ls1088a:"
+
require conf/machine/include/qoriq-arm64.inc
require conf/machine/include/arm/arch-arm64.inc
-MACHINEOVERRIDES =. "fsl-lsch3:ls1088a:"
-
MACHINE_FEATURES += "optee"
KERNEL_CLASSES = " kernel-fitimage "
@@ -18,8 +18,8 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls1088ardb_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1088ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls1088ardb_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1088ardb_tfa_SECURE_BOOT_defconfig"
KERNEL_DEVICETREE ?= "freescale/fsl-ls1088a-rdb.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
diff --git a/conf/machine/ls1088ardb.conf b/conf/machine/ls1088ardb.conf
index 9922248f..1b7a4f3c 100644
--- a/conf/machine/ls1088ardb.conf
+++ b/conf/machine/ls1088ardb.conf
@@ -4,11 +4,11 @@
#@DESCRIPTION: Machine configuration for running LS1088ARDB in 64-bit mode
#@MAINTAINER: Zongchun Yu <Zongchun.Yu@nxp.com>
+MACHINEOVERRIDES =. "fsl-lsch3:ls1088a:"
+
require conf/machine/include/qoriq-arm64.inc
require conf/machine/include/arm/arch-arm64.inc
-MACHINEOVERRIDES =. "fsl-lsch3:ls1088a:"
-
MACHINE_FEATURES += "optee"
KERNEL_CLASSES = " kernel-fitimage "
@@ -18,8 +18,8 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa-secure-boot] = "ls1088ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa] = "ls1088ardb_tfa_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa-secure-boot] = "ls1088ardb_tfa_SECURE_BOOT_defconfig"
+UBOOT_CONFIG[tfa] = "ls1088ardb_tfa_defconfig"
KERNEL_DEVICETREE ?= "freescale/fsl-ls1088a-rdb.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
diff --git a/conf/machine/ls2080ardb.conf b/conf/machine/ls2080ardb.conf
deleted file mode 100644
index 859a41be..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,,u-boot-dtb.bin"
-
-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 92c99326..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:"
@@ -18,8 +18,8 @@ UBOOT_DTB_LOADADDRESS = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "ls2088ardb_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "ls2088ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "ls2088ardb_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "ls2088ardb_tfa_SECURE_BOOT_defconfig"
RCWNOR ?= "FFFFFFFF_PP_HH_0x2a_0x41/rcw_1800"
RCWQSPI?= "FFFFFFFF_PP_HH_0x2a_0x41/rcw_2000_qspi"
diff --git a/conf/machine/lx2160ardb.conf b/conf/machine/lx2160ardb.conf
index 5e68a9fd..1945ad31 100644
--- a/conf/machine/lx2160ardb.conf
+++ b/conf/machine/lx2160ardb.conf
@@ -18,8 +18,8 @@ DTB_LOAD = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "lx2160ardb_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "lx2160ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "lx2160ardb_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "lx2160ardb_tfa_SECURE_BOOT_defconfig"
KERNEL_DEVICETREE ?= "freescale/fsl-lx2160a-rdb.dtb freescale/fsl-lx2160a-qds.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
@@ -28,9 +28,9 @@ SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
UEFI_XSPIBOOT ?= "LX2160ARDB_EFI_NORBOOT.fd"
-RCWXSPI ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2"
-RCWSD ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2"
-RCWEMMC ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2"
+RCWXSPI ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2"
+RCWSD ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2"
+RCWEMMC ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2"
EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy uefi qoriq-atf inphi"
USE_VT = "0"
diff --git a/conf/machine/lx2162aqds.conf b/conf/machine/lx2162aqds.conf
index c7ab95fb..80f91331 100644
--- a/conf/machine/lx2162aqds.conf
+++ b/conf/machine/lx2162aqds.conf
@@ -18,8 +18,8 @@ DTB_LOAD = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"
UBOOT_CONFIG ??= "tfa-verified-boot tfa-secure-boot tfa"
-UBOOT_CONFIG[tfa] = "lx2162aqds_tfa_defconfig,,u-boot-dtb.bin"
-UBOOT_CONFIG[tfa-secure-boot] = "lx2162aqds_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[tfa] = "lx2162aqds_tfa_defconfig"
+UBOOT_CONFIG[tfa-secure-boot] = "lx2162aqds_tfa_SECURE_BOOT_defconfig"
UBOOT_CONFIG[tfa-verified-boot] = "lx2162aqds_tfa_verified_boot_defconfig,,u-boot-nodtb.bin"
KERNEL_DEVICETREE ?= "freescale/fsl-lx2162a-qds.dtb"
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/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend b/dynamic-layers/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend
index 10b66c0e..b7bf3298 100644
--- a/dynamic-layers/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend
+++ b/dynamic-layers/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend
@@ -1,3 +1,3 @@
-do_install_append() {
+do_install:append() {
rm -f ${D}${sysconfdir}/xdg/weston/weston.ini
}
diff --git a/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-imx.inc b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc
index cdd0f08f..b77fbc83 100644
--- a/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-imx.inc
+++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-imx.inc
@@ -1,4 +1,4 @@
-DEPENDS_append_imxvpu = " imx-vpuwrap"
+DEPENDS:append:imxvpu = " imx-vpuwrap"
# Additional imx code and patches are included in the chromium-imx git repository.
# The code below fetches this repository, copies the extra source over to the main
@@ -14,7 +14,7 @@ CHROMIUM_IMX_COMMON_PATCHES ?= " "
CHROMIUM_IMX_VPU_PATCHES ?= " "
CHROMIUM_IMX_WAYLAND_PATCHES ?= " "
-SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV}"
+SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV};protocol=https"
do_unpack[postfuncs] += "copy_chromium_imx_files"
# using =+ instead of += to make sure add_chromium_imx_patches is
@@ -26,7 +26,7 @@ do_patch[prefuncs] =+ "add_chromium_imx_patches"
# * Lost context problems are not known to happen with Vivante GPUs,
# so it is safe to use ignore-lost-context
# * Proprietary codecs need to be enabled for h.264 and MP4 support
-PACKAGECONFIG_append = " ignore-lost-context proprietary-codecs"
+PACKAGECONFIG:append = " ignore-lost-context proprietary-codecs"
copy_chromium_imx_files() {
# sources in src/ are already organized in a manner
@@ -41,4 +41,4 @@ python add_chromium_imx_patches() {
d.appendVar('OZONE_WAYLAND_EXTRA_PATCHES', ' ' + d.getVar('CHROMIUM_IMX_WAYLAND_PATCHES', 1))
}
-COMPATIBLE_MACHINE = "(mx6)"
+COMPATIBLE_MACHINE = "(mx6-nxp-bsp)"
diff --git a/dynamic-layers/browser-layer/recipes-browser/chromium/chromium/chromium.patch b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch
index 0329d42e..0329d42e 100644
--- a/dynamic-layers/browser-layer/recipes-browser/chromium/chromium/chromium.patch
+++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium/chromium.patch
diff --git a/dynamic-layers/filesystem-layer/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bbappend b/dynamic-layers/filesystem-layer/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bbappend
index 1080a9f5..563c9e76 100644
--- a/dynamic-layers/filesystem-layer/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bbappend
+++ b/dynamic-layers/filesystem-layer/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bbappend
@@ -4,7 +4,7 @@ PACKAGES += " \
${PN}-f2fs \
"
-RDEPENDS_${PN}-f2fs = " \
+RDEPENDS:${PN}-f2fs = " \
${PN}-base \
f2fs-tools \
"
diff --git a/recipes-graphics/clutter/clutter-1.0_%.bbappend b/dynamic-layers/gnome-layer/recipes-graphics/clutter/clutter-1.0_%.bbappend
index 0b4c4861..fb90c73e 100644
--- a/recipes-graphics/clutter/clutter-1.0_%.bbappend
+++ b/dynamic-layers/gnome-layer/recipes-graphics/clutter/clutter-1.0_%.bbappend
@@ -1,4 +1,4 @@
-PACKAGECONFIG_imxgpu3d ??= " \
+PACKAGECONFIG:imxgpu3d ??= " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11', \
'', d), d)} \
diff --git a/recipes-graphics/cogl/cogl-1.0_%.bbappend b/dynamic-layers/gnome-layer/recipes-graphics/cogl/cogl-1.0_%.bbappend
index afbaee43..e07d0d54 100644
--- a/recipes-graphics/cogl/cogl-1.0_%.bbappend
+++ b/dynamic-layers/gnome-layer/recipes-graphics/cogl/cogl-1.0_%.bbappend
@@ -1,4 +1,4 @@
-PACKAGECONFIG_imxgpu3d ??= " \
+PACKAGECONFIG:imxgpu3d ??= " \
cogl-pango gles2 \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'egl-x11', \
diff --git a/dynamic-layers/ivi/recipes-graphics/wayland/weston-init.bbappend b/dynamic-layers/ivi/recipes-graphics/wayland/weston-init.bbappend
index 72d991c7..4fc41d05 100644
--- a/dynamic-layers/ivi/recipes-graphics/wayland/weston-init.bbappend
+++ b/dynamic-layers/ivi/recipes-graphics/wayland/weston-init.bbappend
@@ -1 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
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-benchmark/glmark2/glmark2_%.bbappend b/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
index 2e648ba3..4cfa51ea 100644
--- a/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
+++ b/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
@@ -1,4 +1,4 @@
# Only _mx8 machine do provide virtual/libgbm required for any drm* flavour
-DRM-REMOVE_imxgpu = "drm-gl drm-gles2"
-DRM-REMOVE_imxgpu_mx8 = ""
-PACKAGECONFIG_remove = "${DRM-REMOVE}"
+DRM-REMOVE:imxgpu = "drm-gl drm-gles2"
+DRM-REMOVE:imxgpu:mx8-nxp-bsp = ""
+PACKAGECONFIG:remove = "${DRM-REMOVE}"
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch b/dynamic-layers/openembedded-layer/recipes-devtools/cst/files/0001-fix-err-msg-linking.patch
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
new file mode 100644
index 00000000..5f808a97
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.3.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "i.MX code signing tool"
+DESCRIPTION = "Provides software code signing support designed that integrate the HABv4 and AHAB library"
+SECTION = "cst"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE.bsd3;md5=1fbcd66ae51447aa94da10cbf6271530"
+
+DEPENDS = "byacc-native flex-native openssl"
+
+# tag=debian/3.3.1+dfsg-2
+SRCREV = "e2c687a856e6670e753147aacef42d0a3c07891a"
+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"
+
+EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}" AR="${AR}" OBJCOPY="${OBJCOPY}"'
+
+do_compile() {
+ cd ${S}/code/cst
+ oe_runmake build OSTYPE=linux64 ENCRYPTION=yes COPTIONS="${CFLAGS} ${CPPFLAGS}" LDOPTIONS="${LDFLAGS}"
+ cd -
+ oe_runmake -C code/hab_csf_parser COPTS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}"
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 755 ${S}/code/cst/code/obj.linux64/cst ${D}${bindir}
+ install -m 755 ${S}/code/cst/code/obj.linux64/srktool ${D}${bindir}
+ install -m 755 ${S}/code/hab_csf_parser/csf_parser ${D}${bindir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend b/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend
index 8c6138c5..d07f8ae1 100644
--- a/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/luajit/luajit_%.bbappend
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append_qoriq-ppc = " file://ppc-fixplt.patch "
+SRC_URI:append:qoriq-ppc = " file://ppc-fixplt.patch "
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 1793ec06..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,33 +1,33 @@
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"
EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
TCLAP_HEADER_PATH="${STAGING_INCDIR}" '
-EXTRA_OEMAKE_virtclass-native = 'FMCHOSTMODE=1 FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
+EXTRA_OEMAKE:class-native = 'FMCHOSTMODE=1 FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
TCLAP_HEADER_PATH="${STAGING_INCDIR}" '
EXTRA_OEMAKE_PLATFORM ?= ""
-EXTRA_OEMAKE_PLATFORM_ls1043a = "ls1043"
-EXTRA_OEMAKE_PLATFORM_ls1046a = "ls1046"
-EXTRA_OEMAKE_PLATFORM_ls1088a = "ls1088"
-EXTRA_OEMAKE_PLATFORM_p1020 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p2020 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p2041 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p3041 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p4080 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p5040 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:ls1043a = "ls1043"
+EXTRA_OEMAKE_PLATFORM:ls1046a = "ls1046"
+EXTRA_OEMAKE_PLATFORM:ls1088a = "ls1088"
+EXTRA_OEMAKE_PLATFORM:p1020 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p2020 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p2041 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p3041 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p4080 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p5040 = "p4080ds"
do_compile () {
diff --git a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx/0016-xserver-common-enable-iglx-module.patch b/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch
index 283a081b..283a081b 100644
--- a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx/0016-xserver-common-enable-iglx-module.patch
+++ b/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch
diff --git a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend b/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend
index f4f43504..be694574 100644
--- a/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend
+++ b/dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common_%.bbappend
@@ -1,8 +1,8 @@
# i.MX extra configuration
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-SRC_URI_append_imxgpu3d = " \
+SRC_URI:append:imxgpu3d = " \
file://0016-xserver-common-enable-iglx-module.patch \
"
-PACKAGE_ARCH_imxgpu3d = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:imxgpu3d = "${MACHINE_SOCARCH}"
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 187681a8..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
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/qt4:"
python __anonymous () {
families = ['mx6']
@@ -8,21 +8,23 @@ 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"
-QT_GLFLAGS_imxgpu2d = "-opengl es2 -openvg"
-QT_CONFIG_FLAGS_append_imxgpu2d = " -I${STAGING_KERNEL_DIR}/include/uapi \
+DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
+QT_GLFLAGS:imxgpu2d = "-opengl es2 -openvg"
+QT_CONFIG_FLAGS:append:imxgpu2d = " -I${STAGING_KERNEL_DIR}/include/uapi \
-I${STAGING_KERNEL_DIR}/include/ \
-DLINUX=1 -DEGL_API_FB=1 \
-DQT_QPA_EXPERIMENTAL_TOUCHEVENT=1"
# The QT_CONFIG_FLAGS can pollute *.la files with -Dxxx
-do_compile_append_mx6 () {
+do_compile:append:mx6-nxp-bsp () {
find lib -name "*.la" | xargs -n1 sed -i 's/-D.*=1//g'
}
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/qt4-layer/recipes-qt4/qt4/qt4/mx6/g++.conf b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/g++.conf
index 915ecba0..915ecba0 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/g++.conf
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/g++.conf
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/linux.conf b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/linux.conf
index c644d8ba..c644d8ba 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/linux.conf
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/linux.conf
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch
index 7e625fd1..2a345f4c 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] egl.prf: Fix build error when egl headers need platform
Gain the value through pkg-config and pass it through QMAKE_CFLAGS_EGL.
-Upstream-Status: Pending
+Upstream-Status: Pending [https://bugreports.qt.io/browse/QTBUG-61712]
Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
---
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index bf3fb66e..7401a566 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -3,35 +3,35 @@
# Copyright (C) 2016, 2017 O.S. Systems Software LTDA.
# Copyright (C) 2017-2018 NXP
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-SRC_URI_append_imxgpu = " \
+SRC_URI:append:imxgpu = " \
file://0014-Add-IMX-GPU-support.patch \
file://0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch \
"
PACKAGECONFIG_GL_IMX_GPU = ""
-PACKAGECONFIG_GL_IMX_GPU_mx8 = "gbm kms"
+PACKAGECONFIG_GL_IMX_GPU:mx8-nxp-bsp = "gbm kms"
-PACKAGECONFIG_GL_imxpxp = "gles2"
-PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \
+PACKAGECONFIG_GL:imxpxp = "gles2"
+PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \
${PACKAGECONFIG_GL_IMX_GPU}"
-PACKAGECONFIG_GL_imxgpu3d = "gles2 \
+PACKAGECONFIG_GL:imxgpu3d = "gles2 \
${PACKAGECONFIG_GL_IMX_GPU}"
-PACKAGECONFIG_GL_use-mainline-bsp ?= "gles2 gbm kms"
+PACKAGECONFIG_GL:use-mainline-bsp ?= "gles2 gbm kms"
PACKAGECONFIG_PLATFORM = ""
-PACKAGECONFIG_PLATFORM_imxgpu2d = "no-opengl linuxfb"
-PACKAGECONFIG_PLATFORM_imxgpu3d = " \
+PACKAGECONFIG_PLATFORM:imxgpu2d = "no-opengl linuxfb"
+PACKAGECONFIG_PLATFORM:imxgpu3d = " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', \
bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
'eglfs', d), d)}"
-PACKAGECONFIG_PLATFORM_use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}"
+PACKAGECONFIG_PLATFORM:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}"
PACKAGECONFIG += "${PACKAGECONFIG_PLATFORM}"
PACKAGECONFIG_VULKAN_IMX_GPU = ""
-PACKAGECONFIG_VULKAN_IMX_GPU_mx8 = "vulkan"
-PACKAGECONFIG_VULKAN_IMX_GPU_mx8mm = ""
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan"
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = ""
PACKAGECONFIG_VULKAN = ""
-PACKAGECONFIG_VULKAN_imxgpu = "${PACKAGECONFIG_VULKAN_IMX_GPU}"
+PACKAGECONFIG_VULKAN:imxgpu = "${PACKAGECONFIG_VULKAN_IMX_GPU}"
PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', '${PACKAGECONFIG_VULKAN}', '', d)}"
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/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
index 168db095..a97b765f 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
@@ -1,8 +1,8 @@
# etnaviv mesa does not have glx
-PACKAGECONFIG_remove_use-mainline-bsp = "xcomposite-glx"
+PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx"
-PACKAGECONFIG_remove_mx6 = "xcomposite-egl xcomposite-glx"
-PACKAGECONFIG_remove_mx7 = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx"
# i.MX8 does never provide native x11, so required dependencies are not met
-PACKAGECONFIG_remove_mx8 = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx"
diff --git a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtbase_%.bbappend
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/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend b/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend
index c7e6d32e..f64637bd 100644
--- a/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend
+++ b/dynamic-layers/virtualization-layer/recipes-extended/libvirt/libvirt_%.bbappend
@@ -1,9 +1,9 @@
-PACKAGECONFIG_qoriq-ppc = "qemu yajl lxc test remote macvtap libvirtd netcf udev python"
+PACKAGECONFIG:qoriq-ppc = "qemu yajl lxc test remote macvtap libvirtd netcf udev python"
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append_qoriq-ppc = " file://qemu.conf"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+SRC_URI:append:qoriq-ppc = " file://qemu.conf"
-do_install_append_qoriq-ppc() {
+do_install:append:qoriq-ppc() {
install -m 0644 ${WORKDIR}/qemu.conf ${D}${sysconfdir}/libvirt/qemu.conf
}
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index 3a398b22..b6194d76 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -1,10 +1,4 @@
-# Append path for freescale layer to include alsa-state asound.conf
-FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_mx7 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_mx8 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_use-mainline-bsp := "${THISDIR}/${PN}/imx:"
+# Prepend path to override files from upstream recipe
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx7 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_use-mainline-bsp = "${MACHINE_ARCH}"
+PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/alsa-state/alsa-state/imx/asound.state b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
index ace734df..ace734df 100755
--- a/recipes-bsp/alsa-state/alsa-state/imx/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
diff --git a/recipes-bsp/alsa-state/alsa-state/imx/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/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.3.inc b/recipes-bsp/atf/qoriq-atf-2.3.inc
deleted file mode 100644
index bc8b912a..00000000
--- a/recipes-bsp/atf/qoriq-atf-2.3.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
-
-PV = "2.3+git${SRCPV}"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1 \
- git://github.com/ARMmbed/mbedtls;nobranch=1;destsuffix=git/mbedtls;name=mbedtls \
-"
-SRCREV = "4e40e24590ab908773ef842cd0e17faf233767d4"
-SRCREV_mbedtls = "85da85555e5b086b0250780693c3ee584f63e79f"
-SRCREV_FORMAT = "atf"
-
-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.3.bb b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
index d4be32be..2c1db306 100644
--- a/recipes-bsp/atf/qoriq-atf-tools_2.3.bb
+++ b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
@@ -1,10 +1,10 @@
require qoriq-atf-${PV}.inc
-SUMMARY = "Tools for ARM Trusted Firmware, e.g. FIP image creation tool"
-
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}
@@ -12,3 +12,4 @@ do_install () {
}
BBCLASSEXTEND = "native"
+
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_1.5.bb b/recipes-bsp/atf/qoriq-atf_1.5.bb
deleted file mode 100644
index 650acc3b..00000000
--- a/recipes-bsp/atf/qoriq-atf_1.5.bb
+++ /dev/null
@@ -1,249 +0,0 @@
-DESCRIPTION = "ARM Trusted Firmware"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
-
-PV = "1.5+git${SRCPV}"
-
-inherit deploy
-
-DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native mbedtls rcw cst-native"
-DEPENDS_append_lx2160a = " ddr-phy"
-do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1"
-SRCREV = "9225ad51f026975fa6b86db800f43c55db11fa4d"
-
-COMPATIBLE_MACHINE = "(qoriq)"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PLATFORM = "${MACHINE}"
-PLATFORM_ls1088ardb-pb = "ls1088ardb"
-PLATFORM_ADDITIONAL_TARGET ??= ""
-PLATFORM_ADDITIONAL_TARGET_ls1012afrwy = "ls1012afrwy_512mb"
-
-RCW_FOLDER ?= "${MACHINE}"
-RCW_FOLDER_ls1088ardb-pb = "ls1088ardb"
-
-# requires CROSS_COMPILE set by hand as there is no configure script
-export CROSS_COMPILE="${TARGET_PREFIX}"
-export ARCH="arm64"
-
-# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
-# a standalone application
-CFLAGS[unexport] = "1"
-LDFLAGS[unexport] = "1"
-AS[unexport] = "1"
-LD[unexport] = "1"
-
-EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
-
-BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
-OTABOOTTYPE ?= "nor qspi flexspi_nor"
-BUILD_SECURE = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'true', 'false', d)}"
-BUILD_OPTEE = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}"
-BUILD_FUSE = "${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'true', 'false', d)}"
-BUILD_OTA = "${@bb.utils.contains('DISTRO_FEATURES', 'ota', 'true', 'false', d)}"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
-"
-PACKAGECONFIG[optee] = ",,optee-os-qoriq"
-
-uboot_boot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
-uboot_boot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
-rcw ?= ""
-rcw_ls1012afrwy = "_default"
-rcw_ls1012ardb = "_default"
-rcwsec ?= "_sben"
-
-chassistype ?= "ls2088_1088"
-chassistype_ls1012ardb = "ls104x_1012"
-chassistype_ls1012afrwy = "ls104x_1012"
-chassistype_ls1043ardb = "ls104x_1012"
-chassistype_ls1046ardb = "ls104x_1012"
-chassistype_ls1046afrwy = "ls104x_1012"
-
-ddrphyopt ?= ""
-ddrphyopt_lx2160ardb = "fip_ddr_sec"
-
-do_configure[noexec] = "1"
-
-do_compile() {
- export LIBPATH="${RECIPE_SYSROOT_NATIVE}"
- install -d ${S}/include/tools_share/openssl
- cp -r ${RECIPE_SYSROOT}/usr/include/openssl/* ${S}/include/tools_share/openssl
- if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
- ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
- else
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ${S}
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub ${S}
- fi
-
- if [ "${BUILD_FUSE}" = "true" ]; then
- ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
- fuseopt="fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin"
- fi
- if [ "${BUILD_SECURE}" = "true" ]; then
- secureopt="TRUSTED_BOARD_BOOT=1 ${ddrphyopt} CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst"
- secext="_sec"
- bl33="${uboot_boot_sec}"
- if [ ${chassistype} = ls104x_1012 ]; then
- rcwtemp="${rcwsec}"
- else
- rcwtemp="${rcw}"
- fi
- else
- bl33="${uboot_boot}"
- rcwtemp="${rcw}"
- fi
-
- if [ "${BUILD_OPTEE}" = "true" ]; then
- bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
- bl32opt="BL32=${bl32}"
- spdopt="SPD=opteed"
- fi
-
- if [ "${BUILD_OTA}" = "true" ]; then
- otaopt="POLICY_OTA=1"
- btype="${OTABOOTTYPE}"
- else
- btype="${BOOTTYPE}"
- fi
-
- if [ -f ${DEPLOY_DIR_IMAGE}/ddr-phy/ddr4_pmu_train_dmem.bin ]; then
- cp ${DEPLOY_DIR_IMAGE}/ddr-phy/*.bin ${S}/
- fi
-
- for d in ${btype}; do
- case $d in
- nor)
- rcwimg="${RCWNOR}${rcwtemp}.bin"
- uefiboot="${UEFI_NORBOOT}"
- ;;
- nand)
- rcwimg="${RCWNAND}${rcwtemp}.bin"
- ;;
- qspi)
- rcwimg="${RCWQSPI}${rcwtemp}.bin"
- uefiboot="${UEFI_QSPIBOOT}"
- if [ "${BUILD_SECURE}" = "true" ] && [ ${MACHINE} = ls1046ardb ]; then
- rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
- fi
- ;;
- auto)
- rcwimg="${RCWAUTO}${rcwtemp}.bin"
- ;;
- sd)
- rcwimg="${RCWSD}${rcwtemp}.bin"
- ;;
- emmc)
- rcwimg="${RCWEMMC}${rcwtemp}.bin"
- ;;
- flexspi_nor)
- rcwimg="${RCWXSPI}${rcwtemp}.bin"
- uefiboot="${UEFI_XSPIBOOT}"
- ;;
- esac
-
- if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg}" ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
- cp -r ${S}/build/${PLATFORM}/release/bl2_${d}*.pbl ${S}
- cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}
- if [ "${BUILD_FUSE}" = "true" ]; then
- cp -f ${S}/build/${PLATFORM}/release/fuse_fip.bin ${S}
- fi
-
- if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
- cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_qspi${secext}.pbl ${S}/bl2_${d}${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl
- cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- if [ "${BUILD_FUSE}" = "true" ]; then
- cp -r ${S}/build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- fi
- fi
- if [ -n "${uefiboot}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt} ${otaopt}
- cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}/fip_uefi.bin
- fi
- fi
- rcwimg=""
- uefiboot=""
- done
-}
-
-do_install() {
- install -d ${D}/boot/atf
- cp -r ${S}/srk.pri ${D}/boot/atf
- cp -r ${S}/srk.pub ${D}/boot/atf
- if [ "${BUILD_SECURE}" = "true" ]; then
- secext="_sec"
- fi
- if [ -f "${S}/fip_uefi.bin" ]; then
- cp -r ${S}/fip_uefi.bin ${D}/boot/atf/fip_uefi.bin
- fi
- if [ -f "${S}/fuse_fip.bin" ]; then
- cp -r ${S}/fuse_fip.bin ${D}/boot/atf/fuse_fip.bin
- fi
- if [ -f "${S}/fip.bin" ]; then
- cp -r ${S}/fip.bin ${D}/boot/atf/fip.bin
- fi
- for d in ${BOOTTYPE}; do
- if [ -e ${S}/bl2_${d}${secext}.pbl ]; then
- cp -r ${S}/bl2_${d}${secext}.pbl ${D}/boot/atf/bl2_${d}${secext}.pbl
- fi
- done
- if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
- cp -r ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- cp -r ${S}/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl ${D}/boot/atf/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl
- if [ -f "${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin" ]; then
- cp -r ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
- fi
- fi
- chown -R root:root ${D}
- if [ -f "${S}/fip_ddr_sec.bin" ]; then
- cp -r ${S}/fip_ddr_sec.bin ${D}/boot/atf/fip_ddr_sec.bin
- fi
-}
-
-do_deploy() {
- install -d ${DEPLOYDIR}/atf
- cp -r ${D}/boot/atf/srk.pri ${DEPLOYDIR}/atf
- cp -r ${D}/boot/atf/srk.pub ${DEPLOYDIR}/atf
- if [ "${BUILD_SECURE}" = "true" ]; then
- secext="_sec"
- fi
-
- if [ -f "${S}/fuse_fip.bin" ]; then
- cp -r ${D}/boot/atf/fuse_fip.bin ${DEPLOYDIR}/atf/fuse_fip${secext}.bin
- fi
-
- if [ -e ${D}/boot/atf/fip_uefi.bin ]; then
- cp -r ${D}/boot/atf/fip_uefi.bin ${DEPLOYDIR}/atf/fip_uefi.bin
- fi
- cp -r ${D}/boot/atf/fip.bin ${DEPLOYDIR}/atf/fip_uboot${secext}.bin
- for d in ${BOOTTYPE}; do
- if [ -e ${D}/boot/atf/bl2_${d}${secext}.pbl ]; then
- cp -r ${D}/boot/atf/bl2_${d}${secext}.pbl ${DEPLOYDIR}/atf/bl2_${d}${secext}.pbl
- fi
- done
- if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
- cp -r ${S}/bl2_qspi${secext}_${PLATFORM_ADDITIONAL_TARGET}.pbl ${DEPLOYDIR}/atf/
- cp -r ${S}/fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${DEPLOYDIR}/atf/fip_uboot${secext}_${PLATFORM_ADDITIONAL_TARGET}.bin
- if [ -f "${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin" ]; then
- cp -r ${S}/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin ${D}/boot/atf/fuse_fip_${PLATFORM_ADDITIONAL_TARGET}${secext}.bin
- fi
- fi
- if [ -f "${S}/fip_ddr_sec.bin" ]; then
- cp -r ${D}/boot/atf/fip_ddr_sec.bin ${DEPLOYDIR}/atf/fip_ddr_sec.bin
- fi
-}
-addtask deploy after do_install
-FILES_${PN} += "/boot"
-BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/atf/qoriq-atf_2.3.bb b/recipes-bsp/atf/qoriq-atf_2.3.bb
deleted file mode 100644
index aed32851..00000000
--- a/recipes-bsp/atf/qoriq-atf_2.3.bb
+++ /dev/null
@@ -1,175 +0,0 @@
-require qoriq-atf-${PV}.inc
-
-DESCRIPTION = "ARM Trusted Firmware"
-
-inherit deploy
-
-DEPENDS += "cst-native"
-do_compile[depends] += "u-boot:do_deploy rcw:do_deploy ddr-phy:do_deploy"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PLATFORM = "${MACHINE}"
-MBEDTLS_FOLDER ?= "${S}/mbedtls"
-RCW_FOLDER ?= "${MACHINE}"
-
-# requires CROSS_COMPILE set by hand as there is no configure script
-export CROSS_COMPILE="${TARGET_PREFIX}"
-export ARCH="arm64"
-
-# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
-# a standalone application
-CFLAGS[unexport] = "1"
-LDFLAGS[unexport] = "1"
-AS[unexport] = "1"
-LD[unexport] = "1"
-
-EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
-
-BOOTTYPE ?= "flexspi_nor sd emmc"
-ARM_COT = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'true', 'false', d)}"
-NXP_COT = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'true', 'false', d)}"
-BUILD_OPTEE = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'optee', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'optee', '', d)} \
- ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
-"
-PACKAGECONFIG[optee] = ",,optee-os-qoriq"
-
-uboot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
-uboot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
-
-do_configure[noexec] = "1"
-
-do_compile() {
- if [ "${NXP_COT}" = "true" -a "${ARM_COT}" = "true" ]; then
- bbfatal " \
- Error!, Both ARM CoT and NXP CoT are enabled. Only one CoT is built in a yocto build, \
- Don't add nxp-cot and arm-cot into DISTRO_FEATURES_append at the same time."
- fi
-
- if [ "${NXP_COT}" = "true" ]; then
- rm -fr ${S}/nxp-cot
- mkdir -p ${S}/nxp-cot
- outputdir="${S}/nxp-cot"
- elif [ "${ARM_COT}" = "true" ]; then
- rm -fr ${S}/arm-cot
- mkdir -p ${S}/arm-cot
- outputdir="${S}/arm-cot"
- else
- outputdir="${S}"
- fi
-
- if [ "${NXP_COT}" = "true" -o "${ARM_COT}" = "true" ]; then
- if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
- ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
- else
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ${S}
- cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub ${S}
- fi
-
- bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
- bl33="${uboot_sec}"
- secext="_sec"
- else
- bl33="${uboot}"
- fi
-
- for d in ${BOOTTYPE}; do
- case $d in
- sd)
- rcwimg="${RCWSD}.bin"
- ;;
- emmc)
- rcwimg="${RCWEMMC}.bin"
- ;;
- flexspi_nor)
- rcwimg="${RCWXSPI}.bin"
- ;;
- esac
-
- if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg}" ]; then
- oe_runmake V=1 -C ${S} realclean
- if [ "${ARM_COT}" = "true" ]; then
- mkdir -p ${S}/build/${PLATFORM}/release
- if [ -f ${outputdir}/rot_key.pem ]; then
- cp -fr ${outputdir}/*.pem ${S}/build/${PLATFORM}/release
- fi
- oe_runmake V=1 -C ${S} fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} SPD=opteed BL32=${bl32} \
- BL33=${bl33} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} TRUSTED_BOARD_BOOT=1 \
- GENERATE_COT=1 MBEDTLS_DIR=${MBEDTLS_FOLDER} CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst
-
- if [ ! -f ${outputdir}/ddr_fip_sec.bin ]; then
- oe_runmake V=1 -C ${S} fip_ddr PLAT=${PLATFORM} TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 \
- MBEDTLS_DIR=${MBEDTLS_FOLDER} DDR_PHY_BIN_PATH=${DEPLOY_DIR_IMAGE}/ddr-phy
- cp -r ${S}/build/${PLATFORM}/release/ddr_fip_sec.bin ${outputdir}
- cp -r ${S}/build/${PLATFORM}/release/*.pem ${outputdir}
- fi
- elif [ "${NXP_COT}" = "true" ]; then
- oe_runmake V=1 -C ${S} fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} SPD=opteed BL32=${bl32} \
- BL33=${bl33} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} TRUSTED_BOARD_BOOT=1 \
- CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst
-
- if [ ! -f ${outputdir}/ddr_fip_sec.bin ]; then
- oe_runmake V=1 -C ${S} fip_ddr PLAT=${PLATFORM} TRUSTED_BOARD_BOOT=1 \
- CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst DDR_PHY_BIN_PATH=${DEPLOY_DIR_IMAGE}/ddr-phy
- cp -r ${S}/build/${PLATFORM}/release/ddr_fip_sec.bin ${outputdir}
- fi
- elif [ "${BUILD_OPTEE}" = "true" ]; then
- bl32="${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin"
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} SPD=opteed BL32=${bl32} \
- RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33}
- else
- oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} \
- RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${bl33}
- fi
-
- cp -r ${S}/build/${PLATFORM}/release/bl2_${d}${secext}.pbl ${outputdir}
- cp -r ${S}/build/${PLATFORM}/release/fip.bin ${outputdir}
- fi
- rcwimg=""
- done
-}
-
-do_install() {
- install -d ${D}/boot/atf
- if [ "${ARM_COT}" = "true" ]; then
- outputdir="${S}/arm-cot"
- secext="_sec"
- elif [ "${NXP_COT}" = "true" ]; then
- outputdir="${S}/nxp-cot"
- secext="_sec"
- else
- outputdir="${S}"
- fi
- if [ -f "${outputdir}/fip.bin" ]; then
- cp -r ${outputdir}/fip.bin ${D}/boot/atf/fip_uboot${secext}.bin
- fi
- if [ -f "${outputdir}/ddr_fip_sec.bin" ]; then
- cp -r ${outputdir}/ddr_fip_sec.bin ${D}/boot/atf/
- fi
- for d in ${BOOTTYPE}; do
- if [ -e ${outputdir}/bl2_${d}${secext}.pbl ]; then
- cp -r ${outputdir}/bl2_${d}${secext}.pbl ${D}/boot/atf/bl2_${d}${secext}.pbl
- fi
- done
- chown -R root:root ${D}
-}
-
-do_deploy() {
- if [ "${ARM_COT}" = "true" ]; then
- outputdir="atf_arm-cot"
- elif [ "${NXP_COT}" = "true" ]; then
- outputdir="atf_nxp-cot"
- else
- outputdir="atf"
- fi
-
- install -d ${DEPLOYDIR}/${outputdir}
- cp -fr ${D}/boot/atf/* ${DEPLOYDIR}/${outputdir}/
-}
-addtask deploy after do_install
-FILES_${PN} += "/boot"
-COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
diff --git a/recipes-bsp/atf/qoriq-atf_2.6.bb b/recipes-bsp/atf/qoriq-atf_2.6.bb
new file mode 100644
index 00000000..5ae2ed9d
--- /dev/null
+++ b/recipes-bsp/atf/qoriq-atf_2.6.bb
@@ -0,0 +1,189 @@
+require qoriq-atf-${PV}.inc
+
+inherit deploy
+
+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"
+
+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)"
+
+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)}"
+RCW_SUFFIX:ls1043a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
+RCW_SUFFIX:ls1046a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
+
+UBOOT_BINARY ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa', d)}"
+
+SECURE_EXTENTION ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sec', '', d)}"
+
+BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
+
+chassistype ?= "ls2088_1088"
+chassistype:ls1012a = "ls104x_1012"
+chassistype:ls1043a = "ls104x_1012"
+chassistype:ls1046a = "ls104x_1012"
+
+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}"
+export ARCH="arm64"
+
+# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
+# a standalone application
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
+EXTRA_OEMAKE += "\
+ ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'BL32=${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin SPD=opteed', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'TRUSTED_BOARD_BOOT=1 CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'GENERATE_COT=1 MBEDTLS_DIR=${S}/mbedtls', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin', '', d)} \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
+"
+PACKAGECONFIG[optee] = ",,optee-os-qoriq"
+
+python() {
+ if bb.utils.contains("DISTRO_FEATURES", "arm-cot", True, False, d):
+ if not bb.utils.contains("DISTRO_FEATURES", "secure", True, False, d):
+ bb.fatal("arm-cot needs 'secure' being set in DISTRO_FEATURES")
+}
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
+ else
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri .
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub .
+ fi
+
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr \
+ ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
+
+ for d in ${BOOTTYPE}; do
+ case $d in
+ nor)
+ rcwimg="${RCWNOR}${RCW_SUFFIX}"
+ uefiboot="${UEFI_NORBOOT}"
+ ;;
+ nand)
+ rcwimg="${RCWNAND}${RCW_SUFFIX}"
+ ;;
+ qspi)
+ rcwimg="${RCWQSPI}${RCW_SUFFIX}"
+ uefiboot="${UEFI_QSPIBOOT}"
+ if [ -n "${SECURE_EXTENTION}" ] && [ "${MACHINE}" = ls1046ardb ]; then
+ rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
+ fi
+ ;;
+ auto)
+ rcwimg="${RCWAUTO}${RCW_SUFFIX}"
+ ;;
+ sd)
+ rcwimg="${RCWSD}${RCW_SUFFIX}"
+ ;;
+ emmc)
+ rcwimg="${RCWEMMC}${RCW_SUFFIX}"
+ ;;
+ flexspi_nor)
+ rcwimg="${RCWXSPI}${RCW_SUFFIX}"
+ uefiboot="${UEFI_XSPIBOOT}"
+ ;;
+ esac
+
+ if [ -f ${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/$rcwimg ]; then
+ make V=1 realclean
+ if [ -f rot_key.pem ];then
+ mkdir -p build/${PLATFORM}/release/
+ cp *.pem build/${PLATFORM}/release/
+ fi
+
+ 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 [ -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
+ cp build/${PLATFORM}/release/*.pem .
+ fi
+
+ if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
+ make V=1 realclean
+ oe_runmake V=1 all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
+ cp build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_${d}${SECURE_EXTENTION}.pbl bl2_${d}${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.pbl
+ cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin fip_uboot${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.bin
+ if [ -e build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ]; then
+ cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
+ fi
+ fi
+
+ if [ -z "${SECURE_EXTENTION}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
+ make V=1 realclean
+ oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}
+ cp build/${PLATFORM}/release/fip.bin fip_uefi.bin
+ fi
+ fi
+ rcwimg=""
+ uefiboot=""
+ done
+}
+
+do_install() {
+ install -d ${D}/boot/atf/
+ cp srk.pri ${D}/boot/atf/
+ cp srk.pub ${D}/boot/atf/
+ cp *.pbl ${D}/boot/atf/
+ if [ ! -e fuse_fip.bin ]; then
+ rm -f fuse_scr.bin
+ fi
+ cp *.bin ${D}/boot/atf/
+ chown -R root:root ${D}
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/atf/
+ cp ${D}/boot/atf/* ${DEPLOYDIR}/atf/
+}
+addtask deploy after do_install
+
+FILES:${PN} += "/boot"
+BBCLASSEXTEND = "native nativesdk"
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 92ec8307..0916b45b 100644
--- a/recipes-bsp/boot-format/boot-format_git.bb
+++ b/recipes-bsp/boot-format/boot-format_git.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "Boot format utility for booting from eSDHC/eSPI"
-LICENSE = "GPLv2"
+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"
@@ -15,6 +15,6 @@ do_install(){
}
PACKAGES =+ "${PN}-config"
-FILES_${PN}-config += "${datadir}/*"
+FILES:${PN}-config += "${datadir}/*"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/ddr-phy/ddr-phy_git.bb b/recipes-bsp/ddr-phy/ddr-phy_git.bb
index fa8833fd..8ea92502 100644
--- a/recipes-bsp/ddr-phy/ddr-phy_git.bb
+++ b/recipes-bsp/ddr-phy/ddr-phy_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=89cc852481956e861228286ac7430
inherit deploy
-SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1"
+SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https"
SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
S = "${WORKDIR}/git"
@@ -38,7 +38,7 @@ do_deploy () {
addtask deploy before do_populate_sysroot after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
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 e8db5456..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.10.inc b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
index 6f1222aa..804a7db0 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.10.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
@@ -1,16 +1,16 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright 2017-2022 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "3f8c4661ca0f64ca30fd239f66b6a471"
-SRC_URI[sha256sum] = "2b70f169d4065b2a7ac7a676afe24636128bd2dacc9f5230346758c3b146b2be"
+SRC_URI[md5sum] = "c5cf3842569f0a7fd990fbc64979e84f"
+SRC_URI[sha256sum] = "94c8bceac56ec503c232e614f77d6bbd8e17c7daa71d4e651ea8fd5034c30350"
S = "${WORKDIR}/firmware-imx-${PV}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb
deleted file mode 100644
index 650c1cfd..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.10.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)"
-COMPATIBLE_MACHINE_mx8m = "(^$)"
-COMPATIBLE_MACHINE_mx8x = "(^$)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb
deleted file mode 100644
index 44e9ff4a..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.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)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.10.bb b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
index 8ff4a321..a9e36b5e 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.10.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
@@ -1,5 +1,5 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 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"
@@ -43,10 +43,9 @@ do_install() {
# NOTE:
# Only install pre-defined list of firmware files, since the source archive contains
# also HDMI binary files for imx8m derivatives, which are taken care of by another recipe
- install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi
+ install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware
# VPU Firmware section
# NOTE:
@@ -65,7 +64,30 @@ do_install() {
# as second one, and for every file match - it creates a separate package,
# which contains only files that matches the pattern.
#
-python populate_packages_prepend() {
+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',
@@ -77,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)
@@ -123,7 +146,11 @@ PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xu
# files it makes no sense.
PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi"
-FILES_${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
-FILES_${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/"
+FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
+FILES:${PN}-hdmi = " \
+ ${nonarch_base_libdir}/firmware/hdmitxfw.bin \
+ ${nonarch_base_libdir}/firmware/hdmirxfw.bin \
+ ${nonarch_base_libdir}/firmware/dpfw.bin \
+"
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
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 0f0a2af0..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,46 +1,159 @@
-# 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"
-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"
inherit allarch
CLEANBROKEN = "1"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
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 = " \
+FILES:${PN}-bcm4359-pcie = " \
${nonarch_base_libdir}/firmware/brcm/brcmfmac4359-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.5.0-3.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
index 22f4c25f..9778bd1c 100644
--- a/recipes-bsp/firmware-imx/firmware-sof-imx_1.5.0-3.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] = "4deaf1bc81238ef57be29cec3cf5f636"
-SRC_URI[sha256sum] = "14394ffcf145536569bcc20910cda7c8b58a99fdb3a04b125453146739541da9"
+SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6"
+SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
S = "${WORKDIR}/sof-imx-${PV}"
@@ -21,4 +21,4 @@ do_install() {
cp -r sof* ${D}${nonarch_base_libdir}/firmware/imx/
}
-FILES_${PN} = "${nonarch_base_libdir}/firmware/imx"
+FILES:${PN} = "${nonarch_base_libdir}/firmware/imx"
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-qca/firmware-qca.inc b/recipes-bsp/firmware-qca/firmware-qca.inc
deleted file mode 100644
index f33f4eb9..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-SECTION = "base"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d \
- file://QUALCOMM_ATHEROS_LICENSE_AGREEMENT.pdf;md5=e629669cf17f6a2a6872e067582986e3 \
-"
-
-SRC_URI = " ${FSL_MIRROR}/firmware-qca-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "75b1b2a8dea8f81609ccfc072d42fa86"
-SRC_URI[sha256sum] = "6ad56ac1df841e252ac6db0a8966082715a3cb6dc7189426bade13333a16fd9d"
-S = "${WORKDIR}/firmware-qca-${PV}"
-
-inherit fsl-eula-unpack
diff --git a/recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb b/recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb
deleted file mode 100644
index 47b289af..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca6174_3.0.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2019-2020 NXP
-
-require firmware-qca.inc
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth firmware for modules such as QCA6174A"
-SECTION = "base"
-LICENSE = "Proprietary"
-
-inherit allarch
-
-do_install () {
- # Install firmware.conf for QCA modules
- install -d ${D}${sysconfdir}/bluetooth
- install -m 644 ${S}/1CQ_QCA6174A_LEA_2.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
-
- # Install firmware files
- install -d ${D}${base_libdir}
- cp -r ${S}/1CQ_QCA6174A_LEA_2.0/lib/firmware ${D}${base_libdir}
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/bluetooth/firmware.conf \
- ${base_libdir}/firmware/qca6174 \
- ${base_libdir}/firmware/wlan \
- ${base_libdir}/firmware/* \
-"
diff --git a/recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb b/recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb
deleted file mode 100644
index 26c41d50..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca9377_3.0.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-
-require firmware-qca.inc
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth firmware for modules such as QCA9377-3"
-SECTION = "base"
-LICENSE = "Proprietary"
-
-inherit allarch
-
-do_install () {
- # Install firmware.conf for QCA modules
- install -d ${D}${sysconfdir}/bluetooth
- install -m 644 ${S}/1PJ_QCA9377-3_LEA_3.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
-
- # Install firmware files
- install -d ${D}${base_libdir}
- cp -r ${S}/1PJ_QCA9377-3_LEA_3.0/lib/firmware ${D}${base_libdir}
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/bluetooth/firmware.conf \
- ${base_libdir}/firmware/qca \
- ${base_libdir}/firmware/qca9377 \
- ${base_libdir}/firmware/wlan \
-"
diff --git a/recipes-bsp/firmware-qca/qca-tools_3.0.2.bb b/recipes-bsp/firmware-qca/qca-tools_3.0.2.bb
deleted file mode 100644
index e996c62d..00000000
--- a/recipes-bsp/firmware-qca/qca-tools_3.0.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2018-2020 NXP
-
-require firmware-qca.inc
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth tools"
-DESCRIPTION = "Qualcomm Wi-Fi and Bluetooth tools for modules such as QCA6174A and QCA9377"
-LICENSE = "Proprietary"
-
-DEPENDS = "libnl zlib"
-
-FCC_TOOLS_FOLDER ?= "qca9377_qca6174_arm32"
-FCC_TOOLS_FOLDER_aarch64 = "qca9377_qca6174_arm64"
-
-do_install() {
- install -d ${D}${sbindir}/fcc_tools
- cp -r ${S}/fcc_tools/${FCC_TOOLS_FOLDER} ${D}${sbindir}/fcc_tools
-}
-
-COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
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/formfactor/formfactor/mx6/machconfig b/recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig
index ded33a07..ded33a07 100644
--- a/recipes-bsp/formfactor/formfactor/mx6/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx6sll/machconfig b/recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig
index e3b99b7c..e3b99b7c 100644
--- a/recipes-bsp/formfactor/formfactor/mx6sll/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx6ul/machconfig b/recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig
index e3b99b7c..e3b99b7c 100644
--- a/recipes-bsp/formfactor/formfactor/mx6ul/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx7/machconfig b/recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig
index e3b99b7c..e3b99b7c 100644
--- a/recipes-bsp/formfactor/formfactor/mx7/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor/mx7ulp/machconfig b/recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig
index 25b18f21..25b18f21 100644
--- a/recipes-bsp/formfactor/formfactor/mx7ulp/machconfig
+++ b/recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig
diff --git a/recipes-bsp/formfactor/formfactor_%.bbappend b/recipes-bsp/formfactor/formfactor_%.bbappend
index 15f8f4e8..83cce131 100644
--- a/recipes-bsp/formfactor/formfactor_%.bbappend
+++ b/recipes-bsp/formfactor/formfactor_%.bbappend
@@ -1,2 +1,2 @@
# Append path for i.MX custom matchconfig
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
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 60598ae5..3883c024 100644
--- a/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
+++ b/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
@@ -2,10 +2,10 @@ SUMMARY = "Freescale TLU(Table Lookup Unit) test package"
DESCRIPTION = "This package includes the TLU(Table Lookup Unit) test scripts \
and configuration files."
-LICENSE = "GPLv2"
+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.2.bb b/recipes-bsp/imx-atf/imx-atf_2.2.bb
deleted file mode 100644
index 81d884ad..00000000
--- a/recipes-bsp/imx-atf/imx-atf_2.2.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright (C) 2017-2020 NXP
-
-DESCRIPTION = "i.MX ARM Trusted Firmware"
-SECTION = "BSP"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH = "imx_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
-"
-SRCREV = "f1d7187f261ebf4b8a2a70d638d4bfc0a9b26c29"
-
-S = "${WORKDIR}/git"
-
-inherit deploy
-
-BOOT_TOOLS = "imx-boot-tools"
-
-ATF_PLATFORM ??= "INVALID"
-
-EXTRA_OEMAKE += " \
- CROSS_COMPILE="${TARGET_PREFIX}" \
- PLAT=${ATF_PLATFORM} \
-"
-
-BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
-
-do_compile() {
- # Clear LDFLAGS to avoid the option -Wl recognize issue
- unset LDFLAGS
- oe_runmake bl31
- if ${BUILD_OPTEE}; then
- oe_runmake clean BUILD_BASE=build-optee
- oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
- fi
-}
-
-do_install[noexec] = "1"
-
-do_deploy() {
- install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/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
- fi
-}
-addtask deploy after do_compile
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(mx8|use-mainline-bsp)"
diff --git a/recipes-bsp/imx-atf/imx-atf_2.8.bb b/recipes-bsp/imx-atf/imx-atf_2.8.bb
new file mode 100644
index 00000000..8bd6ad12
--- /dev/null
+++ b/recipes-bsp/imx-atf/imx-atf_2.8.bb
@@ -0,0 +1,80 @@
+# Copyright (C) 2017-2023 NXP
+
+DESCRIPTION = "i.MX ARM Trusted Firmware"
+SECTION = "BSP"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf_v2.8"
+SRCREV = "8dbe28631802a51b3ec8179b2c5635b00393ad97"
+
+S = "${WORKDIR}/git"
+
+inherit deploy
+
+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} \
+ PLAT=${ATF_PLATFORM} \
+"
+
+# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+# Baremetal, just need a compiler
+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)}"
+
+# CC and LD introduce arguments which conflict with those otherwise provided by
+# this recipe. The heads of these variables excluding those arguments
+# are therefore used instead.
+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'))}.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
+ fi
+}
+
+do_install[noexec] = "1"
+
+addtask deploy after do_compile
+do_deploy() {
+ 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}/bl31-${ATF_PLATFORM}.bin-optee
+ fi
+}
+
+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 d93a3f25..bdb02475 100644
--- a/recipes-bsp/imx-kobs/imx-kobs_git.bb
+++ b/recipes-bsp/imx-kobs/imx-kobs_git.bb
@@ -1,18 +1,19 @@
# 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 = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
PV = "5.5+git${SRCPV}"
-SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https \
+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
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/imx-lib/imx-lib_git.bb b/recipes-bsp/imx-lib/imx-lib_git.bb
index c5619070..74b7bddf 100644
--- a/recipes-bsp/imx-lib/imx-lib_git.bb
+++ b/recipes-bsp/imx-lib/imx-lib_git.bb
@@ -3,32 +3,34 @@
# Copyright 2017 NXP
DESCRIPTION = "Platform specific libraries for imx platform"
-LICENSE = "LGPLv2.1"
+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.8+${SRCPV}"
+PV = "5.9+${SRCPV}"
-SRCBRANCH = "master"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "3f777974c0c146817e2ff5cb0340ca66a1f99e57"
+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 = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6S"
-PLATFORM_mx6sll = "IMX6UL"
-PLATFORM_mx6sx = "IMX6S"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx6ull = "IMX6UL"
-PLATFORM_mx7d = "IMX7"
-PLATFORM_mx7ulp = "IMX7"
+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:mx6ull-nxp-bsp = "IMX6UL"
+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 = ""
@@ -40,6 +42,9 @@ do_compile () {
do_install () {
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
+
+ # Remove .go file for Android
+ find ${D}/ -name *.go -exec rm {} \;
}
-COMPATIBLE_MACHINE = "(mx6|mx7)"
+COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)"
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
new file mode 100644
index 00000000..f182a2f1
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
@@ -0,0 +1,81 @@
+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
+implementation on the imx-mkimge on the other hand copies it locally in
+order to invoke it from within the build folder.
+
+Since recent updates, mkimage requires openssl.so to be installed, which
+when local copy is used causes the tool not to operate and fails the
+build.
+
+Use it from the build sysroot, and do not pull the local version of it.
+
+Reinjected the original patch from 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(-)
+
+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) $(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
+@@ -172,7 +172,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) $(supp_dt
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(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
+@@ -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) $(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
+@@ -196,7 +196,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) $(supp_dtbs
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(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
+@@ -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) $(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)
+@@ -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
+- @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/mkimage_uboot -O mkimage_uboot
+
+ archive :
+ git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME)
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
index f1592991..a761870b 100644
--- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -3,26 +3,29 @@
require imx-mkimage_git.inc
DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
-LICENSE = "GPLv2"
+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 = "firmware-imx-8m"
-IMX_EXTRA_FIRMWARE_mx8x = "imx-sc-firmware imx-seco"
DEPENDS += " \
u-boot \
${IMX_EXTRA_FIRMWARE} \
imx-atf \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
"
-DEPENDS_append_mx8m = " u-boot-mkimage-native dtc-native"
+# xxd is a dependency of fspi_packer.sh
+DEPENDS += "xxd-native"
+DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native"
BOOT_NAME = "imx-boot"
PROVIDES = "${BOOT_NAME}"
-inherit deploy
+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}"
@@ -39,10 +42,7 @@ do_compile[depends] += " \
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"
+ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
TOOLS_NAME ?= "mkimage_imx8"
@@ -56,18 +56,25 @@ IMXBOOT_TARGETS ?= \
'flash_multi_cores flash_dcd', d), d)}"
BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
-BOOT_STAGING_mx8m = "${S}/iMX8M"
-BOOT_STAGING_mx8dx = "${S}/iMX8QX"
+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:mx8ulp-generic-bsp = "mx8ulp"
+SOC_FAMILY:mx91p-generic-bsp = "mx93"
+SOC_FAMILY:mx93-generic-bsp = "mx93"
-SOC_FAMILY = "INVALID"
-SOC_FAMILY_mx8 = "mx8"
-SOC_FAMILY_mx8m = "mx8m"
-SOC_FAMILY_mx8x = "mx8x"
+REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
-REV_OPTION ?= ""
-REV_OPTION_mx8qxp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', '', \
- 'REV=C0', d)}"
+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
@@ -75,25 +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 ${STAGING_DIR_NATIVE}/${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot
- 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
}
@@ -102,66 +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}
- install -m 0755 ${BOOT_STAGING}/mkimage_uboot ${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
@@ -169,34 +292,55 @@ deploy_mx8x() {
${DEPLOYDIR}/${BOOT_TOOLS}
fi
}
+
do_deploy() {
deploy_${SOC_FAMILY}
- # copy the tool mkimage to deploy path and sc fw, dcd and uboot
- 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}
+ # 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
+
+ # 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
- cd ${DEPLOYDIR}
- ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${BOOT_NAME}
- cd -
+ unset type
}
addtask deploy before do_build after do_compile
PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} = "/boot"
+FILES:${PN} = "/boot"
-COMPATIBLE_MACHINE = "(mx8|use-mainline-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 4e154f6d..f95f2a2b 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
@@ -1,40 +1,23 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright (C) 2017-2022 NXP
require imx-mkimage_git.inc
DESCRIPTION = "i.MX make image"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
inherit deploy native
-CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
-
-REV_CHIP ?= "B0"
-REV_CHIP_mx8qxp = \
- "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'B0', \
- 'C0', d)}"
+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
- oe_runmake -C iMX8QM REV=${REV_CHIP} -f soc.mak imx8qm_dcd.cfg.tmp
- oe_runmake -C iMX8QX REV=${REV_CHIP} -f soc.mak imx8qx_dcd.cfg.tmp
-}
+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
+ install -m 0755 iMX8M/print_fit_hab.sh ${D}${bindir}/print_fit_hab.sh
install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8
}
-
-do_deploy () {
- install -m 0644 ${S}/iMX8QM/imx8qm_dcd.cfg.tmp ${DEPLOYDIR}
- install -m 0644 ${S}/iMX8QX/imx8qx_dcd.cfg.tmp ${DEPLOYDIR}
-}
-addtask deploy before do_build after do_install
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index 1eba5109..20402697 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -1,10 +1,13 @@
-# Copyright 2017-2020 NXP
+# Copyright 2017-2022 NXP
DEPENDS = "zlib-native openssl-native"
-SRCBRANCH = "imx_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "8947fea369ab3932259630232cfb9f87b8f9dda1"
+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 \
+"
+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.7.1.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
index ade228d0..7dc2e593 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.7.1.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
@@ -1,25 +1,24 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright 2017-2022 NXP
DESCRIPTION = "i.MX System Controller Firmware"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+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] = "962aebbb0100cc0e049fa88cea594a00"
-SRC_URI[sha256sum] = "9a37353c07c187078be02d76ac55f615cd0c60ea9a1c4233c1929e4b2c43aebc"
+SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f"
+SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
BOARD_TYPE ?= "mek"
SC_FIRMWARE_NAME ?= "INVALID"
-SC_FIRMWARE_NAME_mx8qm = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8qxp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8phantomdxl = "mx8dxl-phantom-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8dxl = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8dx = "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"
@@ -39,4 +38,8 @@ INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx8qm|mx8qxp|mx8phantomdxl|mx8dxl|mx8dx)"
+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/0001-Makefile-Fix-LIBDIR-for-multilib.patch b/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch
new file mode 100644
index 00000000..27107a6a
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch
@@ -0,0 +1,28 @@
+From 9e89d173a7fab97c913960344ae01dfa409b6258 Mon Sep 17 00:00:00 2001
+From: Cristinel Panfir <cristinel.panfir@nxp.com>
+Date: Mon, 27 Jul 2020 18:55:30 +0000
+Subject: [PATCH] Makefile: Fix LIBDIR for multilib
+
+Upstream-Status: Pending
+Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index b16cebf..492d700 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,7 +4,8 @@ all: she_test hsm_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a
+ CFLAGS = -O1 -Werror -fPIC
+ DESTDIR ?= export
+ BINDIR ?= /usr/bin
+-LIBDIR ?= /usr/lib
++base_libdir ?= /lib
++LIBDIR ?= /usr/$(base_libdir)
+ INCLUDEDIR ?= /usr/include
+
+ ifdef COVERAGE
+--
+2.7.4
+
diff --git a/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch b/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch
new file mode 100644
index 00000000..81a4c17e
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch
@@ -0,0 +1,33 @@
+From b62f020ea723dc33f28e5e865d0ddd13219971c9 Mon Sep 17 00:00:00 2001
+From: Cristinel Panfir <cristinel.panfir@nxp.com>
+Date: Mon, 29 Mar 2021 15:24:42 +0300
+Subject: [PATCH] Makefile: Add v2x test to the installed-binaries
+
+Upstream-Status: Pending
+Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
+[regenerate the patch to be applied after meta-imx patches]
+Signed-off-by: Fausto Chiatante <fausto.chiatante@nxp.com>
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 25ad333..a397814 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,9 +61,9 @@ hsm_doc: include/hsm/hsm_api.h
+ cp doc/latex/refman.pdf doc/hsm_api_document.pdf
+ rm -rf doc/latex/
+
+-install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a
++install: hsm_test she_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a
+ mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)
+ cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
+- cp hsm_test she_test $(DESTDIR)$(BINDIR)
++ cp hsm_test she_test v2x_test $(DESTDIR)$(BINDIR)
+ cp -a include/* $(DESTDIR)$(INCLUDEDIR)
+
+--
+2.25.1
+
diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
index dc37cdfc..b0296e97 100644
--- a/recipes-bsp/imx-seco/imx-seco-libs_git.bb
+++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
@@ -1,24 +1,27 @@
-# Copyright (C) 2019-2020 NXP
+# Copyright 2019-22 NXP
SUMMARY = "NXP i.MX SECO library"
-DESCRIPTION = "NXP IMX SECO library"
+DESCRIPTION = "Library for NXP i.MX Security Controller Subsystem"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://EULA.txt;md5=228c72f2a91452b8a03c4cab30f30ef9"
+LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011"
DEPENDS = "zlib"
-SRCBRANCH = "imx_5.4.70_2.3.1"
+SRCBRANCH = "imx_5.4.70_2.3.11"
SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \
- file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch"
-SRCREV = "79e5fb5d096c61b1c3163c9fa8e42719509d95a0"
+ 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 \
+ 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|mx8qxp|mx8phantomdxl|mx8dxl)"
+COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco_3.7.5.bb b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
index 0539b887..f7dadea5 100644
--- a/recipes-bsp/imx-seco/imx-seco_3.7.5.bb
+++ b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
@@ -1,17 +1,18 @@
-# Copyright (C) 2019-2020 NXP
+# Copyright 2019-2022 NXP
SUMMARY = "NXP i.MX SECO firmware"
-DESCRIPTION = "NXP IMX SECO firmware"
+DESCRIPTION = "Firmware for i.MX Security Controller Subsystem"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+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] = "d4faca131abfc51a1dd0278d7d201159"
-SRC_URI[sha256sum] = "08cf25a4be6841ca7264a50b29c311b386eae1c02fced8a3b55fd04213acb4bc"
+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|mx8qxp|mx8phantomdxl|mx8dxl)"
+COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
diff --git a/recipes-bsp/imx-test/imx-test_00.00.00.bb b/recipes-bsp/imx-test/imx-test_00.00.00.bb
index c29e6a62..1850a16a 100644
--- a/recipes-bsp/imx-test/imx-test_00.00.00.bb
+++ b/recipes-bsp/imx-test/imx-test_00.00.00.bb
@@ -4,7 +4,7 @@ SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|vf50|vf60)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/imx-test/imx-test_git.bb b/recipes-bsp/imx-test/imx-test_git.bb
index 4e139cc4..5d30179d 100644
--- a/recipes-bsp/imx-test/imx-test_git.bb
+++ b/recipes-bsp/imx-test/imx-test_git.bb
@@ -1,27 +1,27 @@
# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
+# Copyright (C) 2017-2022 NXP
SUMMARY = "Test programs for i.MX BSP"
DESCRIPTION = "Unit tests for the i.MX BSP"
SECTION = "base"
-LICENSE = "GPLv2+"
+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 = " imx-lib"
-DEPENDS_append_mx7 = " imx-lib"
-DEPENDS_append_imxvpu = " virtual/imxvpu"
+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 = "imx_5.4.70_2.3.0"
-SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
- file://memtool_profile \
-"
-SRCREV = "90fd7168fe5f15de9b2b1992a719024fc73a185a"
+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
@@ -29,21 +29,23 @@ inherit module-base use-imx-headers
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-PLATFORM_mx6q = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6SL"
-PLATFORM_mx6sll = "IMX6SL"
-PLATFORM_mx6sx = "IMX6SX"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx7d = "IMX7D"
-PLATFORM_mx7ulp = "IMX7D"
-PLATFORM_mx8 = "IMX8"
+PLATFORM:mx6q-nxp-bsp = "IMX6Q"
+PLATFORM:mx6dl-nxp-bsp = "IMX6Q"
+PLATFORM:mx6sl-nxp-bsp = "IMX6SL"
+PLATFORM:mx6sll-nxp-bsp = "IMX6SL"
+PLATFORM:mx6sx-nxp-bsp = "IMX6SX"
+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}"
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG_append_imxvpu = " vpu"
+PACKAGECONFIG:append:imxvpu = " vpu"
+PACKAGECONFIG:append:mx8m-nxp-bsp = " swpdm"
PACKAGECONFIG[x11] = ",,libx11 libxdamage libxrender libxrandr"
PACKAGECONFIG[vpu] = "HAS_VPU=true,HAS_VPU=false,virtual/imxvpu"
@@ -71,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"
-RDEPENDS_${PN} = "bash"
+FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile"
+RDEPENDS:${PN} = "bash"
-FILES_${PN}-dbg += "/unit_tests/.debug"
+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 bfa6607b..49fc1558 100644
--- a/recipes-bsp/imx-uuc/imx-uuc_git.bb
+++ b/recipes-bsp/imx-uuc/imx-uuc_git.bb
@@ -1,21 +1,21 @@
# 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 = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit autotools-brokensep
PR = "r1"
PV = "0.5.1+git${SRCPV}"
-SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https"
-SRCREV = "d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc"
+SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
+SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83"
S = "${WORKDIR}/git"
-FILES_${PN} += "/linuxrc /fat"
+FILES:${PN} += "/linuxrc /fat"
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb
deleted file mode 100644
index 22f620fb..00000000
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.3.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (C) 2019-2020 NXP
-
-DESCRIPTION = "i.MX VC8000E Encoder library"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-
-inherit fsl-eula-unpack
-
-SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-SRC_URI[md5sum] = "37c61718602ff08041b81319cfd6a8d9"
-SRC_URI[sha256sum] = "8425796fc63d7107f2f57c51497281c4d54c883b2670817347fbe55f39dc2b8c"
-
-COMPATIBLE_MACHINE = "(mx8mp)"
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
new file mode 100644
index 00000000..26ebf181
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb
@@ -0,0 +1,36 @@
+# Copyright 2019-2022 NXP
+
+DESCRIPTION = "i.MX VC8000E Encoder library"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe"
+
+inherit fsl-eula-unpack
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+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}.
+SCR = "SCR.txt"
+
+do_install () {
+ install -d ${D}${D_SUBDIR}
+ cp -r ${S}/* ${D}${D_SUBDIR}
+ if [ -d "${D}/usr/lib" ] && [ "${D}/usr/lib" != "${D}${libdir}" ]; then
+ mv ${D}/usr/lib ${D}${libdir}
+ fi
+ rm ${D}${D_SUBDIR}/COPYING
+ if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then
+ bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\""
+ fi
+ rm ${D}${D_SUBDIR}/${SCR}
+}
+
+FILES:${PN} = "/"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
new file mode 100644
index 00000000..f603190b
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.6.bb
@@ -0,0 +1,29 @@
+# Copyright 2021 NXP
+DESCRIPTION = "i.MX Hantro V4L2 Daemon"
+LICENSE = "MIT"
+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] = "23997361dab3054e5a3757a15d33db16"
+SRC_URI[sha256sum] = "ac2b60fb754792eedcfdfc8cf59663cfeaedc402857eff13ac97a911d2c65801"
+
+PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
+PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
+PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
+
+EXTRA_OEMAKE = " \
+ CROSS_COMPILE="${HOST_PREFIX}" \
+ SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
+ CTRLSW_HDRPATH="${STAGING_INCDIR}" \
+ PLATFORM="${PLATFORM}" \
+"
+
+do_install () {
+ oe_runmake install DEST_DIR="${D}"
+}
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch
deleted file mode 100644
index 8d9610d5..00000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-decoder_sw-resolve-compilation-error-with-fcommon.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 5bfb24738c47003fd04a86bfd5a49f8c6354ed23 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-Date: Fri, 28 Aug 2020 07:46:35 +0000
-Subject: [PATCH] decoder_sw: resolve compilation error with -fcommon
-
--fcommon is enabled by default in gcc10 compiler, which results in
-following build errors:
-
-decoder_sw/software/source/inc/decapicommon.h:272: multiple definition
-of `DecPicCodingType'; decoder_sw/software/linux/dwl/dwl_linux.o:
-decoder_sw/software/source/inc/decapicommon.h:272: first defined here
-
-decoder_sw/software/source/inc/dwl.h:94: multiple definition of
-`DWLInitParam'; decoder_sw/software/linux/dwl/dwl_linux.o:
-decoder_sw/software/source/inc/dwl.h:94: first defined here
-
-Drop multiple enum name definitions, which solves above compilation
-issues.
-
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
----
- decoder_sw/software/source/inc/decapicommon.h | 2 +-
- decoder_sw/software/source/inc/dwl.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/decoder_sw/software/source/inc/decapicommon.h b/decoder_sw/software/source/inc/decapicommon.h
-index 0f02092..fc8cccf 100755
---- a/decoder_sw/software/source/inc/decapicommon.h
-+++ b/decoder_sw/software/source/inc/decapicommon.h
-@@ -269,7 +269,7 @@ enum DecPicCodingType {
- DEC_PIC_TYPE_D = 3,
- DEC_PIC_TYPE_FI = 4,
- DEC_PIC_TYPE_BI = 5
--} DecPicCodingType;
-+};
-
- /* Output picture pixel format types for raster scan or down scale output */
- enum DecPicturePixelFormat {
-diff --git a/decoder_sw/software/source/inc/dwl.h b/decoder_sw/software/source/inc/dwl.h
-index 6991f03..fd357b3 100755
---- a/decoder_sw/software/source/inc/dwl.h
-+++ b/decoder_sw/software/source/inc/dwl.h
-@@ -91,7 +91,7 @@ struct DWLLinearMem {
- /* DWLInitParam is used to pass parameters when initializing the DWL */
- struct DWLInitParam {
- u32 client_type;
--} DWLInitParam;
-+};
-
- /* Hardware configuration description, same as in top API */
- typedef struct DecHwConfig DWLHwConfig;
---
-2.17.1
-
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb
deleted file mode 100644
index b7c64cbb..00000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (C) 2017-2020 NXP
-
-DESCRIPTION = "i.MX Hantro VPU library"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-
-PROVIDES = "virtual/imxvpu"
-
-SRC_URI = " \
- ${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
-"
-SRC_URI[md5sum] = "682b3a73bf5aa22a37d56a433d11fc91"
-SRC_URI[sha256sum] = "e6cdd5b4c628604906466fc9620e2b048cf1b2c863f9ee49616dd5212b9261b0"
-
-inherit fsl-eula-unpack use-imx-headers
-
-PARALLEL_MAKE="-j 1"
-
-PLATFORM_mx8mm = "IMX8MM"
-PLATFORM_mx8mq = "IMX8MQ"
-PLATFORM_mx8mp = "IMX8MP"
-
-do_compile () {
- oe_runmake CROSS_COMPILE="${HOST_PREFIX}" \
- SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
- PLATFORM="${PLATFORM}" all
-}
-
-do_install () {
- oe_runmake DEST_DIR="${D}" PLATFORM="${PLATFORM}" install
-}
-
-FILES_${PN} += "/unit_tests"
-
-COMPATIBLE_MACHINE = "(mx8mq|mx8mm|mx8mp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
new file mode 100644
index 00000000..0757a7fb
--- /dev/null
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.28.0.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2017-2020 NXP
+
+DESCRIPTION = "i.MX Hantro VPU library"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
+
+PROVIDES = "virtual/imxvpu"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "81b4eb801349a0c198b7cc43eb8b6097"
+SRC_URI[sha256sum] = "e868e12945b4f217e2e0511fdc2587875d6c9124e8673b67f1e7de367ff5012f"
+
+inherit fsl-eula-unpack use-imx-headers
+
+PARALLEL_MAKE="-j 1"
+
+PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
+PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
+PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
+
+EXTRA_OEMAKE = " \
+ CROSS_COMPILE="${HOST_PREFIX}" \
+ SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
+ PLATFORM="${PLATFORM}" \
+"
+
+do_install () {
+ oe_runmake install DEST_DIR="${D}"
+}
+
+FILES:${PN} += "/unit_tests"
+
+RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
index 8c6492c5..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,12 +2,12 @@
# 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"
PROVIDES = "virtual/imxvpu"
-RPROVIDES_${PN} = "virtual/imxvpu"
+RPROVIDES:${PN} = "virtual/imxvpu"
PE = "1"
@@ -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|mx6dl)"
+COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
diff --git a/recipes-bsp/inphi/inphi_git.bb b/recipes-bsp/inphi/inphi_git.bb
index 3f3c5f28..4deacb58 100644
--- a/recipes-bsp/inphi/inphi_git.bb
+++ b/recipes-bsp/inphi/inphi_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1"
+SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https"
SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695"
S = "${WORKDIR}/git"
@@ -21,7 +21,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.6.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
index 369ca5ce..0ab44074 100644
--- a/recipes-bsp/isp-imx/basler-camera_4.2.2.6.0.bb
+++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
@@ -1,15 +1,15 @@
-# Copyright 2020 NXP
+# Copyright 2020-2023 NXP
DESCRIPTION = "Basler camera binary drivers"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
inherit fsl-eula-unpack
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "8c94839802598853f7b91f6386b4643e"
-SRC_URI[sha256sum] = "6456dbb0095d988cce65f94e92a3ea80d796e02fd410987c937cfc0a09ca2e4a"
+SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71"
+SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
do_install() {
dest_dir=${D}/opt/imx8-isp/bin
@@ -21,7 +21,8 @@ do_install() {
SYSTEMD_AUTO_ENABLE = "enable"
-FILES_${PN} = "${libdir} /opt"
-INSANE_SKIP_${PN} = "file-rdeps already-stripped"
+FILES:${PN} = "${libdir} /opt"
+INSANE_SKIP:${PN} = "already-stripped"
+RDEPENDS:${PN} += "isp-imx"
-COMPATIBLE_MACHINE = "(imx|use-nxp-bsp)"
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch b/recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch
deleted file mode 100644
index 725a9907..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-BufferManager.h-add-missing-header-file.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 325b4bf687ead6598de702df9829a4dad0b6458c Mon Sep 17 00:00:00 2001
-From: Chris Dimich <Chris.Dimich@boundarydevices.com>
-Date: Mon, 15 Feb 2021 22:51:01 -0800
-Subject: [PATCH 1/1] BufferManager.h: add missing header file
-
-Needed to compile with Yocto Gatesgarth.
-
-Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
----
- mediacontrol/buffer/BufferManager.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mediacontrol/buffer/BufferManager.h b/mediacontrol/buffer/BufferManager.h
-index f5691e111..4d5ce6965 100755
---- a/mediacontrol/buffer/BufferManager.h
-+++ b/mediacontrol/buffer/BufferManager.h
-@@ -16,6 +16,7 @@
- #include <deque>
- #include <map>
- #include <EAutoLock.h>
-+#include <stdint.h>
-
- enum {
- BUFFER_TYPE_INPUT_FREE = 0,
---
-2.29.0
-
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-imx8-isp.service-do-not-prevent-restart-of-service.patch b/recipes-bsp/isp-imx/isp-imx/0001-imx8-isp.service-do-not-prevent-restart-of-service.patch
deleted file mode 100644
index 86391d4b..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-imx8-isp.service-do-not-prevent-restart-of-service.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ce8dd8db37de85952419a5b28a48ec20d1310cf7 Mon Sep 17 00:00:00 2001
-From: Chris Dimich <Chris.Dimich@boundarydevices.com>
-Date: Wed, 17 Feb 2021 14:09:39 -0800
-Subject: [PATCH 1/1] imx8-isp.service: do not prevent restart of service
-
-Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
----
- imx/imx8-isp.service | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/imx/imx8-isp.service b/imx/imx8-isp.service
-index 93d2e9b3a..4f0cd88ca 100644
---- a/imx/imx8-isp.service
-+++ b/imx/imx8-isp.service
-@@ -10,7 +10,7 @@ StartLimitBurst=5
- Restart=on-failure
- RestartSec=5s
- # ENXIO
--RestartPreventExitStatus=6
-+#RestartPreventExitStatus=6
- ExecStart=/opt/imx8-isp/bin/start_isp.sh
-
- [Install]
---
-2.29.0
-
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch b/recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch
deleted file mode 100644
index 715bed2a..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-run.sh-fix-bashism.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 7070abd558e753b89955a966bb83e11f5a7b8462 Mon Sep 17 00:00:00 2001
-From: Chris Dimich <Chris.Dimich@boundarydevices.com>
-Date: Wed, 17 Feb 2021 14:06:26 -0800
-Subject: [PATCH 1/1] run.sh: fix bashism
-
-Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
----
- imx/run.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/imx/run.sh b/imx/run.sh
-index c0d676ae7..ebeb7a6e7 100755
---- a/imx/run.sh
-+++ b/imx/run.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Start the isp_media_server in the configuration from user
- # (c) NXP 2020
---
-2.29.0
-
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch b/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch
deleted file mode 100644
index cb93223e..00000000
--- a/recipes-bsp/isp-imx/isp-imx/0001-start_isp.sh-fix-test-to-be-generic.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 708f25cfe522df162c3e2c7c56cbe2f7000cb5e4 Mon Sep 17 00:00:00 2001
-From: Gary Bisson <gary.bisson@boundarydevices.com>
-Date: Mon, 14 Dec 2020 14:26:01 +0100
-Subject: [PATCH] start_isp.sh: fix test to be generic
-
-So that it works on EVK and any other i.MX 8M Plus platform.
-
-Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
----
- imx/start_isp.sh | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/imx/start_isp.sh b/imx/start_isp.sh
-index 02ee7d3b5..fee0492ad 100755
---- a/imx/start_isp.sh
-+++ b/imx/start_isp.sh
-@@ -7,21 +7,18 @@
- #
-
- RUNTIME_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
--DEVICE_TREE_BASLER=$(grep basler-camera-vvcam /sys/firmware/devicetree/base/soc@0/*/i2c@*/*/compatible -l 2> /dev/null)
--
-+BASLER=`dmesg | grep Basler`
-
- # check if the basler device has been enabled in the device tree
--if [ -f "$DEVICE_TREE_BASLER" ]; then
--
-+if [ ! -z "$BASLER" ]; then
- echo "Starting isp_media_server for Basler daA3840-30mc"
--
- cd $RUNTIME_DIR
- # Default configuration for Basler daA3840-30mc: basler_4k
- # Available configurations: basler_4k, basler_1080p60, basler_4khdr, basler_1080p60hdr
-- exec ./run.sh -c basler_4k -lm
--
-+ #exec ./run.sh -c basler_4k
-+ exec ./run.sh -c basler_1080p60
- else
- # no device tree found exit with code no device or address
-- echo "No device tree found for Basler, check dtb file!" >&2
-+ echo "Basler camera not found!" >&2
- exit 6
- fi
---
-2.29.2
-
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/isp-imx_4.2.2.6.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb
deleted file mode 100644
index 363089f0..00000000
--- a/recipes-bsp/isp-imx/isp-imx_4.2.2.6.0.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2020 NXP
-
-DESCRIPTION = "i.MX Verisilicon Software ISP"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${PN}-${PV}/COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-
-
-inherit fsl-eula-unpack cmake systemd
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
- file://0001-BufferManager.h-add-missing-header-file.patch;patchdir=.. \
- file://0001-imx8-isp.service-do-not-prevent-restart-of-service.patch;patchdir=.. \
- file://0001-run.sh-fix-bashism.patch;patchdir=.. \
- file://0001-start_isp.sh-fix-test-to-be-generic.patch;patchdir=.. \
-"
-
-SRC_URI[md5sum] = "2246009411af32b1e02fbb0b242a0fc0"
-SRC_URI[sha256sum] = "7a245abb5fee23319f59b970db0bb014a2932fd6d5bd44f16f7dd31bbe25003a"
-
-S = "${WORKDIR}/${PN}-${PV}/appshell"
-
-DEPENDS = "python3 libdrm"
-
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-SYSTEMD_SERVICE_${PN} = "imx8-isp.service"
-
-EXTRA_OECMAKE += " \
- -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 \
- -Wno-dev \
-"
-
-do_configure_prepend() {
- export SDKTARGETSYSROOT=${STAGING_DIR_HOST}
-}
-
-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}/${PN}-${PV}/mediacontrol/case/ ${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}/${PN}-${PV}/imx/run.sh ${D}/opt/imx8-isp/bin
- cp ${WORKDIR}/${PN}-${PV}/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}/${PN}-${PV}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
- fi
-}
-
-RDEPENDS_${PN} = "libdrm libpython3"
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-dbg"
-
-FILES_${PN} = "${libdir} /opt ${systemd_system_unitdir}/imx8-isp.service"
-FILES_${PN}-dbg += "${libdir}/.debug"
-
-INSANE_SKIP_${PN} += "rpaths dev-deps dev-so"
-INSANE_SKIP_${PN}-dev += "rpaths dev-elf"
-
-COMPATIBLE_MACHINE = "(imx|use-nxp-bsp)"
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
deleted file mode 100644
index 726b1e16..00000000
--- a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
+++ /dev/null
@@ -1,54 +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 = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
-SECTION = "base"
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH ?= "master"
-SRCREV = "d2058aa404ee1e8e8abd552c6a637787bcdcf514"
-SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH} \
- file://run-ptest \
- "
-
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig waf use-imx-headers ptest
-
-EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
- --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"
-PACKAGECONFIG_append_mx8m = " ion dwl"
-PACKAGECONFIG_append_mx8qm = " ion"
-PACKAGECONFIG_append_mx8qxp = " ion"
-
-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,"
-
-# 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 = "(mx6|mx7|mx8)"
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/ls2-phy/ls2-phy_git.bb b/recipes-bsp/ls2-phy/ls2-phy_git.bb
index a1c412be..c13a05a1 100644
--- a/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1"
+SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https"
SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf"
S = "${WORKDIR}/git"
@@ -21,7 +21,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/mc-utils/mc-utils_git.bb b/recipes-bsp/mc-utils/mc-utils_git.bb
index b3c79b99..568096c4 100644
--- a/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -1,27 +1,25 @@
DESCRIPTION = "The Management Complex (MC) is a key component of DPAA"
SECTION = "mc-utils"
-LICENSE = "BSD"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987 \
-"
+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 = "8e0b863693fc2ccbc62a62c79b4e3db6da88c16e"
+SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1"
+SRCREV = "8efeeac253ff780cbf1382ff40e09436d65e220d"
S = "${WORKDIR}/git"
MC_CFG ?= ""
-MC_CFG_ls1088a = "ls1088a"
-MC_CFG_ls2088a = "ls2088a"
-MC_CFG_lx2160a = "lx2160a"
-MC_CFG_lx2162aqds = "lx2162aqds"
+MC_CFG:ls1088a = "ls1088a"
+MC_CFG:ls2088a = "ls2088a"
+MC_CFG:lx2160a = "lx2160a"
+MC_CFG:lx2162a = "lx2162a"
-MC_FLAVOUR ?= "RDB"
-MC_FLAVOUR_lx2162a = ""
+MC_FLAVOUR ?= "${@oe.utils.ifelse(d.getVar('MACHINE').endswith('qds'), 'QDS', 'RDB')}"
+MC_FOLDER ?= "${@d.getVar('MC_CFG').upper() + '-' + d.getVar('MC_FLAVOUR')}"
do_compile () {
oe_runmake -C config
@@ -29,23 +27,19 @@ do_compile () {
do_install () {
install -d ${D}/boot/mc-utils
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/*.dtb ${D}/boot/mc-utils
- if [ -d ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/ ]; then
- install -d ${D}/boot/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/*.dtb ${D}/boot/mc-utils/custom
+ if [ -e ${S}/config/${MC_CFG}/${MC_FOLDER} ]; then
+ cp -r ${S}/config/${MC_CFG}/${MC_FOLDER}/* ${D}/boot/mc-utils/
fi
+ find ${D}/boot/mc-utils/ ! -name "*.dtb" ! -type d -exec rm {} \;
}
do_deploy () {
install -d ${DEPLOYDIR}/mc-utils
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/*.dtb ${DEPLOYDIR}/mc-utils
- if [ -d ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/ ]; then
- install -d ${DEPLOYDIR}/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/${MC_FLAVOUR}/custom/*.dtb ${DEPLOYDIR}/mc-utils/custom
- fi
+ cp -r ${D}/boot/mc-utils/* ${DEPLOYDIR}/mc-utils/
}
addtask deploy after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
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/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb
index 01e24993..17da814f 100644
--- a/recipes-bsp/mxsldr/mxsldr_git.bb
+++ b/recipes-bsp/mxsldr/mxsldr_git.bb
@@ -3,11 +3,11 @@
DESCRIPTION = "Freescale i.MX233/i.MX28 USB loader"
DEPENDS = "libusb1"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRCREV = "c40d80472525e1d57dae5317c028b745968c0399"
-SRC_URI = "git://git.denx.de/mxsldr.git \
+SRC_URI = "git://git.denx.de/mxsldr.git;branch=master \
file://0001-Do-not-ignore-OE-cflags-and-ldflags.patch \
"
diff --git a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
index 24bb8d9f..c01bfd4c 100644
--- a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
+++ b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
@@ -7,7 +7,7 @@ INHIBIT_DEFAULT_DEPS = "1"
inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1"
+SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https"
SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234"
S = "${WORKDIR}/git"
@@ -27,8 +27,8 @@ do_deploy () {
addtask deploy after do_install
-FILES_${PN} += "/lib/firmware /boot/"
-INSANE_SKIP_${PN} += "arch already-stripped"
+FILES:${PN} += "/lib/firmware /boot/"
+INSANE_SKIP:${PN} += "arch already-stripped"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
diff --git a/recipes-bsp/qe-ucode/qe-ucode_git.bb b/recipes-bsp/qe-ucode/qe-ucode_git.bb
index cecd5903..33648d1e 100644
--- a/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=c62f8109b4df15ca37ceeb5e4943626c"
inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1"
+SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https"
SRCREV= "57401f6dff6507055558eaa6838116baa8a2fd46"
S = "${WORKDIR}/git"
@@ -22,7 +22,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot/*"
+FILES:${PN}-image += "/boot/*"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
index b09a158e..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 = "bd6675518e6cb22f731c53407cc0631aa240f49f"
+SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
+SRCREV = "020dcf0645959afec6705f518e8350476891ef4f"
S = "${WORKDIR}/git"
@@ -17,9 +17,10 @@ export PYTHON = "${USRBINPATH}/python3"
M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
BOARD_TARGETS="${M}"
-BOARD_TARGETS_ls2088ardb="${M} ${M}_rev1.1"
-BOARD_TARGETS_ls1088ardb-pb="ls1088ardb"
-BOARD_TARGETS_lx2160ardb = "${M} ${M}_rev2"
+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/
@@ -36,7 +37,7 @@ do_deploy () {
addtask deploy after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/u-boot/libubootenv_%.bbappend b/recipes-bsp/u-boot/libubootenv_%.bbappend
new file mode 100644
index 00000000..619b510e
--- /dev/null
+++ b/recipes-bsp/u-boot/libubootenv_%.bbappend
@@ -0,0 +1,43 @@
+# Fixup for the libubootenv which rely on uboot-config class for no good reason.
+#
+# This is not intended to be permanent but we need to get the integration
+# working and there is no good solution for now so we are adding this in a
+# non-intrusive way and using the `IMX_DEFAULT_BOOTLOADER` as a guard to do any
+# code execution.
+
+def fixup_uboot_config_dependency(d):
+ ubootmachine = d.getVar("UBOOT_MACHINE")
+ ubootconfig = (d.getVar('UBOOT_CONFIG') or "").split()
+ imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER')
+
+ if not ubootmachine and not ubootconfig and imx_default_bootloader:
+ # FIXME: We need to provide the UBOOT_MACHINE or UBOOT_CONFIG to allow libubootenv to
+ # build. This is caused by the commit below:
+ #
+ # ,----[ libubootenv change ]
+ # | commit 10aa1291979fb90bed1beb49be4d406ed0e1e4d5 ┃
+ # | â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”
+ # | Author: Ming Liu <liu.ming50@gmail.com>
+ # | Date: Tue Aug 25 20:08:01 2020 +0200
+ # |
+ # | libubootenv: inherit uboot-config
+ # |
+ # | This mainly aims to involve in the sanity check of UBOOT_CONFIG and
+ # | UBOOT_MACHINE, it will throw a error message at recipe parsing time if
+ # | neither of them is set, and libubootenv would be skipped.
+ # |
+ # | Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+ # | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+ # `----
+ ubootmachine = d.getVar("UBOOT_MACHINE:pn-%s" % imx_default_bootloader)
+ ubootconfig = (d.getVar("UBOOT_CONFIG:pn-%s" % imx_default_bootloader) or "").split()
+
+ d.setVar("UBOOT_CONFIG", ubootconfig)
+ d.setVar("UBOOT_MACHINE", ubootmachine)
+
+python fixup_uboot_config_dependency_handler() {
+ fixup_uboot_config_dependency(d)
+}
+
+fixup_uboot_config_dependency_handler[eventmask] = "bb.event.RecipePreFinalise"
+addhandler fixup_uboot_config_dependency_handler
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc
deleted file mode 100644
index b0e665e0..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2020.10.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2012-2019 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-inherit fsl-u-boot-localversion
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
-
-DEPENDS += "bison-native"
-
-SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH}"
-
-SRCREV = "80c23498b425447a4a04d2a85ca4c2aec6ec349a"
-SRCBRANCH = "2020.10+fslc"
-
-PV = "v2020.10+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc
new file mode 100644
index 00000000..b270dfd7
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc
@@ -0,0 +1,19 @@
+# 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=2ca5f2c35c8cc335f0a19756634782f1"
+
+DEPENDS += "flex-native bison-native"
+
+SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https"
+
+SRCREV = "1a2bdc16b79a6f9c31829ede1bbf4063ccea6e54"
+SRCBRANCH = "2024.04+fslc"
+
+PV = "2024.04+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.bb b/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.bb
deleted file mode 100644
index 7f02746b..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-mfgtool_2020.10.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_2020.10.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb
index 2492f450..b7e4ca76 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2020.10.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb
@@ -3,16 +3,26 @@ require u-boot-fslc-common_${PV}.inc
DESCRIPTION = "U-boot bootloader mxsboot tool"
SECTION = "bootloader"
-DEPENDS = "bison-native dtc openssl"
+inherit python3native
+
+DEPENDS += " \
+ bison-native \
+ dtc \
+ gnutls \
+ openssl \
+ python3-setuptools-native \
+ swig-native \
+ util-linux-libuuid \
+"
PROVIDES = "u-boot-mxsboot"
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
-EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
-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'
+EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+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
@@ -27,6 +37,6 @@ do_install () {
ln -sf uboot-mxsboot ${D}${bindir}/mxsboot
}
-COMPATIBLE_MACHINE_class-target = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
+COMPATIBLE_MACHINE:class-target = "(mxs-generic-bsp)"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2020.10.bb b/recipes-bsp/u-boot/u-boot-fslc_2020.10.bb
deleted file mode 100644
index 522bbbda..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc_2020.10.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-require recipes-bsp/u-boot/u-boot.inc
-require u-boot-fslc-common_${PV}.inc
-
-DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
-order to provide support for some backported features and fixes, or because it \
-was submitted for revision and it takes some time to become part of a stable \
-version, or because it is not applicable for upstreaming."
-
-DEPENDS_append = " bc-native dtc-native lzop-native"
-
-# Location known to imx-boot component, where U-Boot artifacts
-# should be additionally deployed.
-# See below note above do_deploy_append_mx8m for the purpose of
-# this delopyment location
-BOOT_TOOLS = "imx-boot-tools"
-
-PROVIDES += "u-boot"
-
-B = "${WORKDIR}/build"
-
-# FIXME: Allow linking of 'tools' binaries with native libraries
-# used for generating the boot logo and other tools used
-# during the build process.
-EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
- HOSTLDFLAGS="${BUILD_LDFLAGS}" \
- HOSTSTRIP=true'
-
-#
-# imx8m machines require additional deployment tasks to be
-# carried out due to the fact that final boot image is constructed
-# using imx-boot recipe. It produces a boot binary image, which is
-# constructed from various binary components (u-boot with separate
-# dtb, atf, DDR firmware and optional op-tee) into a single image
-# using FIT format. This image is then parsed and loaded either via
-# SPL directly (imx8mm), or using bootrom code (imx8mn and imx8mp).
-#
-# In order for imx-boot to construct the final binary boot image,
-# it is required that the U-Boot dtb files are to be deployed into
-# a location known by imx-boot so they could be picked up and
-# inserted into the boot container.
-do_deploy_append_mx8m() {
- # Deploy the mkimage, 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}-${UBOOT_CONFIG}
- fi
- done
- unset j
- done
- unset i
- fi
-}
-
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb b/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb
new file mode 100644
index 00000000..eba8876a
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb
@@ -0,0 +1,25 @@
+require recipes-bsp/u-boot/u-boot.inc
+require u-boot-fslc-common_${PV}.inc
+
+DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
+order to provide support for some backported features and fixes, or because it \
+was submitted for revision and it takes some time to become part of a stable \
+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 gnutls-native"
+
+PROVIDES += "u-boot u-boot-mfgtool"
+
+B = "${WORKDIR}/build"
+
+# FIXME: Allow linking of 'tools' binaries with native libraries
+# used for generating the boot logo and other tools used
+# during the build process.
+EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
+ HOSTLDFLAGS="${BUILD_LDFLAGS}" \
+ HOSTSTRIP=true'
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-imx-common.inc b/recipes-bsp/u-boot/u-boot-imx-common.inc
deleted file mode 100644
index 2a08aa8a..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-common.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRCBRANCH = "imx_v2020.04_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "e42dee801ec55bc40347cbb98f13bfb5899f0368"
-
-DEPENDS += "flex-native bison-native bc-native dtc-native"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-inherit fsl-u-boot-localversion
-
-LOCALVERSION ?= "-${SRCBRANCH}"
-
-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..e2323562
--- /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.6.3-1.0.0"
+SRCREV = "f8a2983ec83afd43731d905b4ff0ffd57b57f2f0"
+
+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_2020.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2020.04.bb
deleted file mode 100644
index 2b296c19..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2020.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-imx:"
-
-require u-boot-imx_${PV}.bb
-require u-boot-mfgtool.inc
diff --git a/recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb b/recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb
deleted file mode 100644
index d1e9512c..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-tools_2020.04.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require recipes-bsp/u-boot/u-boot-tools.inc
-require u-boot-imx-common.inc
-
-PROVIDES_append_class-target = " ${MLPREFIX}u-boot-tools"
-PROVIDES_append_class-native = " u-boot-tools-native"
-PROVIDES_append_class-nativesdk = " nativesdk-u-boot-tools"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-# Set recipe as incompatible by default
-COMPATIBLE_MACHINE = "(^$)"
-
-# Whitelist its use for i.MX based machines
-COMPATIBLE_MACHINE_use-mainline-bsp = "(.)"
-COMPATIBLE_MACHINE_use-nxp-bsp = "(.)"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2020.04.bb b/recipes-bsp/u-boot/u-boot-imx_2020.04.bb
deleted file mode 100644
index b36730e0..00000000
--- a/recipes-bsp/u-boot/u-boot-imx_2020.04.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Copyright (C) 2017-2020 NXP
-
-require recipes-bsp/u-boot/u-boot.inc
-require u-boot-imx-common.inc
-
-PROVIDES += "u-boot"
-
-do_deploy_append_mx8m() {
- # Deploy the mkimage, 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}-${UBOOT_CONFIG}
- fi
- done
- unset j
- done
- unset i
- fi
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
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 91526ad7..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_BINARY}-${MACHINE}-mfgtool-${PV}-${PR}"
-SPL_SYMLINK = "${SPL_BINARY}-mfgtool-${MACHINE}"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2020.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
index 57f27803..c46eae33 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2020.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
@@ -5,7 +5,7 @@ PROVIDES += "u-boot"
inherit fsl-u-boot-localversion
-LICENSE = "GPLv2 & BSD-3-Clause & BSD-2-Clause & LGPL-2.0 & LGPL-2.1"
+LICENSE = "GPL-2.0-only & BSD-3-Clause & BSD-2-Clause & LGPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
@@ -14,19 +14,19 @@ 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"
-SRCREV= "f46a944f715f284aff1d42c009680ffe0be4058f"
+SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
+SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
-PV_append = "+fslgit"
+PV:append = "+fslgit"
LOCALVERSION = "+fsl"
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native"
-DEPENDS_append_qoriq-arm64 = " dtc-native"
-DEPENDS_append_qoriq-arm = " dtc-native"
-DEPENDS_append_qoriq-ppc = " boot-format-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"
python () {
if d.getVar("TCMODE") == "external-fsl":
@@ -41,8 +41,8 @@ python () {
sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux'
sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
workdir = d.getVar('WORKDIR')
- d.setVar('DEPENDS_append', ' lib32-gcc-cross-powerpc lib32-libgcc')
- d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
+ d.setVar('DEPENDS:append', ' lib32-gcc-cross-powerpc lib32-libgcc')
+ d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot')
d.setVar("WRAP_TARGET_PREFIX", 'powerpc' + sys_multilib + '-')
elif "fsl-lsch2-32b:" in arch:
@@ -51,8 +51,8 @@ python () {
sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux'
sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
workdir = d.getVar('WORKDIR')
- d.setVar('DEPENDS_append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
- d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
+ d.setVar('DEPENDS:append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
+ d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot')
d.setVar("WRAP_TARGET_PREFIX", 'aarch64' + sys_multilib + '-')
}
@@ -66,7 +66,7 @@ EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
-do_compile_append_qoriq() {
+do_compile:append:qoriq() {
unset i j k
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
@@ -94,5 +94,5 @@ do_compile_append_qoriq() {
PACKAGES += "${PN}-images"
-FILES_${PN}-images += "/boot"
+FILES:${PN}-images += "/boot"
COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-bsp/uefi/uefi_git.bb b/recipes-bsp/uefi/uefi_git.bb
index 780208d9..b001a325 100644
--- a/recipes-bsp/uefi/uefi_git.bb
+++ b/recipes-bsp/uefi/uefi_git.bb
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1"
-SRCREV= "83a97bf09bb8880933416bc358112503c64ddae4"
+SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https"
+SRCREV = "15deb924ff063007592ee647602dd454353f5aee"
S = "${WORKDIR}/git"
@@ -28,7 +28,7 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/uefi/*"
+FILES:${PN}-image += "/uefi/*"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-connectivity/iproute2/iproute2_%.bbappend b/recipes-connectivity/iproute2/iproute2_%.bbappend
index 4426eca5..0f9b5a87 100644
--- a/recipes-connectivity/iproute2/iproute2_%.bbappend
+++ b/recipes-connectivity/iproute2/iproute2_%.bbappend
@@ -1,4 +1,4 @@
-do_install_append () {
+do_install:append () {
install -d ${D}/usr/include/tc
cp -a ${B}/include ${D}/usr/include
cp -a ${B}/tc/*.h ${D}/usr/include/tc
diff --git a/recipes-connectivity/openssl/openssl-qoriq/0001-eng_devcrypto-add-support-for-TLS-algorithms-offload.patch b/recipes-connectivity/openssl/openssl-qoriq/0001-eng_devcrypto-add-support-for-TLS-algorithms-offload.patch
deleted file mode 100644
index 499df59b..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/0001-eng_devcrypto-add-support-for-TLS-algorithms-offload.patch
+++ /dev/null
@@ -1,389 +0,0 @@
-From 501988587567b996c9c4a14239f575e77ed27791 Mon Sep 17 00:00:00 2001
-From: Pankaj Gupta <pankaj.gupta@nxp.com>
-Date: Fri, 20 Sep 2019 12:18:16 +0530
-Subject: [PATCH 1/2] eng_devcrypto: add support for TLS algorithms offload
-
- - aes-128-cbc-hmac-sha1
- - aes-256-cbc-hmac-sha1
-
-Requires TLS patches on cryptodev and TLS algorithm support in Linux
-kernel driver.
-
-Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
----
- crypto/engine/eng_devcrypto.c | 265 +++++++++++++++++++++++++++++-----
- 1 file changed, 231 insertions(+), 34 deletions(-)
-
-diff --git a/crypto/engine/eng_devcrypto.c b/crypto/engine/eng_devcrypto.c
-index 49e9ce1af3..727a660e75 100644
---- a/crypto/engine/eng_devcrypto.c
-+++ b/crypto/engine/eng_devcrypto.c
-@@ -60,6 +60,9 @@ struct cipher_ctx {
- struct session_op sess;
- int op; /* COP_ENCRYPT or COP_DECRYPT */
- unsigned long mode; /* EVP_CIPH_*_MODE */
-+ unsigned char *aad;
-+ unsigned int aad_len;
-+ unsigned int len;
-
- /* to handle ctr mode being a stream cipher */
- unsigned char partial[EVP_MAX_BLOCK_LENGTH];
-@@ -73,49 +76,62 @@ static const struct cipher_data_st {
- int ivlen;
- int flags;
- int devcryptoid;
-+ int mackeylen;
- } cipher_data[] = {
- #ifndef OPENSSL_NO_DES
-- { NID_des_cbc, 8, 8, 8, EVP_CIPH_CBC_MODE, CRYPTO_DES_CBC },
-- { NID_des_ede3_cbc, 8, 24, 8, EVP_CIPH_CBC_MODE, CRYPTO_3DES_CBC },
-+ { NID_des_cbc, 8, 8, 8, EVP_CIPH_CBC_MODE, CRYPTO_DES_CBC, 0 },
-+ { NID_des_ede3_cbc, 8, 24, 8, EVP_CIPH_CBC_MODE, CRYPTO_3DES_CBC, 0 },
- #endif
- #ifndef OPENSSL_NO_BF
-- { NID_bf_cbc, 8, 16, 8, EVP_CIPH_CBC_MODE, CRYPTO_BLF_CBC },
-+ { NID_bf_cbc, 8, 16, 8, EVP_CIPH_CBC_MODE, CRYPTO_BLF_CBC, 0 },
- #endif
- #ifndef OPENSSL_NO_CAST
-- { NID_cast5_cbc, 8, 16, 8, EVP_CIPH_CBC_MODE, CRYPTO_CAST_CBC },
-+ { NID_cast5_cbc, 8, 16, 8, EVP_CIPH_CBC_MODE, CRYPTO_CAST_CBC, 0 },
- #endif
-- { NID_aes_128_cbc, 16, 128 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC },
-- { NID_aes_192_cbc, 16, 192 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC },
-- { NID_aes_256_cbc, 16, 256 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC },
-+ { NID_aes_128_cbc, 16, 128 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC, 0 },
-+ { NID_aes_192_cbc, 16, 192 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC, 0 },
-+ { NID_aes_256_cbc, 16, 256 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC, 0 },
-+ { NID_aes_128_cbc_hmac_sha1, 16, 16, 16,
-+ EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-+ CRYPTO_TLS10_AES_CBC_HMAC_SHA1, 20 },
-+ { NID_aes_256_cbc_hmac_sha1, 16, 32, 16,
-+ EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-+ CRYPTO_TLS10_AES_CBC_HMAC_SHA1, 20 },
- #ifndef OPENSSL_NO_RC4
-- { NID_rc4, 1, 16, 0, EVP_CIPH_STREAM_CIPHER, CRYPTO_ARC4 },
-+ { NID_rc4, 1, 16, 0, EVP_CIPH_STREAM_CIPHER, CRYPTO_ARC4, 0 },
- #endif
- #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_AES_CTR)
-- { NID_aes_128_ctr, 16, 128 / 8, 16, EVP_CIPH_CTR_MODE, CRYPTO_AES_CTR },
-- { NID_aes_192_ctr, 16, 192 / 8, 16, EVP_CIPH_CTR_MODE, CRYPTO_AES_CTR },
-- { NID_aes_256_ctr, 16, 256 / 8, 16, EVP_CIPH_CTR_MODE, CRYPTO_AES_CTR },
-+ { NID_aes_128_ctr, 16, 128 / 8, 16, EVP_CIPH_CTR_MODE, CRYPTO_AES_CTR, 0 },
-+ { NID_aes_192_ctr, 16, 192 / 8, 16, EVP_CIPH_CTR_MODE, CRYPTO_AES_CTR, 0 },
-+ { NID_aes_256_ctr, 16, 256 / 8, 16, EVP_CIPH_CTR_MODE, CRYPTO_AES_CTR, 0 },
- #endif
- #if 0 /* Not yet supported */
-- { NID_aes_128_xts, 16, 128 / 8 * 2, 16, EVP_CIPH_XTS_MODE, CRYPTO_AES_XTS },
-- { NID_aes_256_xts, 16, 256 / 8 * 2, 16, EVP_CIPH_XTS_MODE, CRYPTO_AES_XTS },
-+ { NID_aes_128_xts, 16, 128 / 8 * 2, 16, EVP_CIPH_XTS_MODE, CRYPTO_AES_XTS,
-+ 0 },
-+ { NID_aes_256_xts, 16, 256 / 8 * 2, 16, EVP_CIPH_XTS_MODE, CRYPTO_AES_XTS,
-+ 0 },
- #endif
- #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_AES_ECB)
-- { NID_aes_128_ecb, 16, 128 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB },
-- { NID_aes_192_ecb, 16, 192 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB },
-- { NID_aes_256_ecb, 16, 256 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB },
-+ { NID_aes_128_ecb, 16, 128 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB, 0 },
-+ { NID_aes_192_ecb, 16, 192 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB, 0 },
-+ { NID_aes_256_ecb, 16, 256 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB, 0 },
- #endif
- #if 0 /* Not yet supported */
-- { NID_aes_128_gcm, 16, 128 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM },
-- { NID_aes_192_gcm, 16, 192 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM },
-- { NID_aes_256_gcm, 16, 256 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM },
-+ { NID_aes_128_gcm, 16, 128 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM, 0 },
-+ { NID_aes_192_gcm, 16, 192 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM, 0 },
-+ { NID_aes_256_gcm, 16, 256 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM, 0 },
-+#endif
-+#ifdef OPENSSL_NXP_CAAM
-+ { NID_aes_128_gcm, 16, 128 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM, 0 },
-+ { NID_aes_192_gcm, 16, 192 / 8, 16, EVP_CIPH_GCM_MODE, CRYPTO_AES_GCM, 0 },
- #endif
- #ifndef OPENSSL_NO_CAMELLIA
- { NID_camellia_128_cbc, 16, 128 / 8, 16, EVP_CIPH_CBC_MODE,
-- CRYPTO_CAMELLIA_CBC },
-+ CRYPTO_CAMELLIA_CBC, 0 },
- { NID_camellia_192_cbc, 16, 192 / 8, 16, EVP_CIPH_CBC_MODE,
-- CRYPTO_CAMELLIA_CBC },
-+ CRYPTO_CAMELLIA_CBC, 0 },
- { NID_camellia_256_cbc, 16, 256 / 8, 16, EVP_CIPH_CBC_MODE,
-- CRYPTO_CAMELLIA_CBC },
-+ CRYPTO_CAMELLIA_CBC, 0 },
- #endif
- };
-
-@@ -141,6 +157,158 @@ static const struct cipher_data_st *get_cipher_data(int nid)
- return &cipher_data[get_cipher_data_index(nid)];
- }
-
-+/*
-+ * Save the encryption key provided by upper layers. This function is called
-+ * by EVP_CipherInit_ex to initialize the algorithm's extra data. We can't do
-+ * much here because the mac key is not available. The next call should/will
-+ * be to cryptodev_cbc_hmac_sha1_ctrl with parameter
-+ * EVP_CTRL_AEAD_SET_MAC_KEY, to set the hmac key. There we call CIOCGSESSION
-+ * with both the crypto and hmac keys.
-+ */
-+static int cryptodev_init_aead_key(EVP_CIPHER_CTX *ctx,
-+ const unsigned char *key, const unsigned char *iv, int enc)
-+{
-+ struct cipher_ctx *state = EVP_CIPHER_CTX_get_cipher_data(ctx);
-+ struct session_op *sess = &state->sess;
-+ int cipher = -1, i;
-+
-+ for (i = 0; cipher_data[i].devcryptoid; i++) {
-+ if (EVP_CIPHER_CTX_nid(ctx) == cipher_data[i].nid &&
-+ EVP_CIPHER_CTX_iv_length(ctx) <= cipher_data[i].ivlen &&
-+ EVP_CIPHER_CTX_key_length(ctx) == cipher_data[i].keylen) {
-+ cipher = cipher_data[i].devcryptoid;
-+ break;
-+ }
-+ }
-+
-+ if (!cipher_data[i].devcryptoid)
-+ return (0);
-+
-+ memset(sess, 0, sizeof(*sess));
-+
-+ sess->key = (void *) key;
-+ sess->keylen = EVP_CIPHER_CTX_key_length(ctx);
-+ sess->cipher = cipher;
-+
-+ /* for whatever reason, (1) means success */
-+ return 1;
-+}
-+
-+static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
-+ const unsigned char *in, size_t len)
-+{
-+ struct crypt_auth_op cryp;
-+ struct cipher_ctx *state = EVP_CIPHER_CTX_get_cipher_data(ctx);
-+ struct session_op *sess = &state->sess;
-+ const void *iiv;
-+ unsigned char save_iv[EVP_MAX_IV_LENGTH];
-+
-+ if (cfd < 0)
-+ return (0);
-+ if (!len)
-+ return (1);
-+ if ((len % EVP_CIPHER_CTX_block_size(ctx)) != 0)
-+ return (0);
-+
-+ memset(&cryp, 0, sizeof(cryp));
-+
-+ /* TODO: make a seamless integration with cryptodev flags */
-+ switch (EVP_CIPHER_CTX_nid(ctx)) {
-+ case NID_aes_128_cbc_hmac_sha1:
-+ case NID_aes_256_cbc_hmac_sha1:
-+ cryp.flags = COP_FLAG_AEAD_TLS_TYPE;
-+ }
-+ cryp.ses = sess->ses;
-+ cryp.len = state->len;
-+ cryp.src = (void *) in;
-+ cryp.dst = (void *) out;
-+ cryp.auth_src = state->aad;
-+ cryp.auth_len = state->aad_len;
-+
-+ cryp.op = EVP_CIPHER_CTX_encrypting(ctx) ? COP_ENCRYPT : COP_DECRYPT;
-+
-+ if (EVP_CIPHER_CTX_iv_length(ctx) > 0) {
-+ cryp.iv = (void *) EVP_CIPHER_CTX_iv(ctx);
-+ if (!EVP_CIPHER_CTX_encrypting(ctx)) {
-+ iiv = in + len - EVP_CIPHER_CTX_iv_length(ctx);
-+ memcpy(save_iv, iiv, EVP_CIPHER_CTX_iv_length(ctx));
-+ }
-+ } else
-+ cryp.iv = NULL;
-+
-+ if (ioctl(cfd, CIOCAUTHCRYPT, &cryp) == -1) {
-+ /*
-+ * XXX need better errror handling this can fail for a number of
-+ * different reasons.
-+ */
-+ return 0;
-+ }
-+
-+ if (EVP_CIPHER_CTX_iv_length(ctx) > 0) {
-+ if (EVP_CIPHER_CTX_encrypting(ctx))
-+ iiv = out + len - EVP_CIPHER_CTX_iv_length(ctx);
-+ else
-+ iiv = save_iv;
-+
-+ memcpy(EVP_CIPHER_CTX_iv_noconst(ctx), iiv,
-+ EVP_CIPHER_CTX_iv_length(ctx));
-+ }
-+ return 1;
-+}
-+
-+static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
-+ int arg, void *ptr)
-+{
-+ switch (type) {
-+ case EVP_CTRL_AEAD_SET_MAC_KEY:
-+ {
-+ /* TODO: what happens with hmac keys larger than 64 bytes? */
-+ struct cipher_ctx *state =
-+ EVP_CIPHER_CTX_get_cipher_data(ctx);
-+ struct session_op *sess = &state->sess;
-+
-+ /* the rest should have been set in cryptodev_init_aead_key */
-+ sess->mackey = ptr;
-+ sess->mackeylen = arg;
-+ if (ioctl(cfd, CIOCGSESSION, sess) == -1)
-+ return 0;
-+
-+ return 1;
-+ }
-+ case EVP_CTRL_AEAD_TLS1_AAD:
-+ {
-+ /* ptr points to the associated data buffer of 13 bytes */
-+ struct cipher_ctx *state =
-+ EVP_CIPHER_CTX_get_cipher_data(ctx);
-+ unsigned char *p = ptr;
-+ unsigned int cryptlen = p[arg - 2] << 8 | p[arg - 1];
-+ unsigned int maclen, padlen;
-+ unsigned int bs = EVP_CIPHER_CTX_block_size(ctx);
-+
-+ state->aad = ptr;
-+ state->aad_len = arg;
-+ state->len = cryptlen;
-+
-+ /* TODO: this should be an extension of EVP_CIPHER struct */
-+ switch (EVP_CIPHER_CTX_nid(ctx)) {
-+ case NID_aes_128_cbc_hmac_sha1:
-+ case NID_aes_256_cbc_hmac_sha1:
-+ maclen = SHA_DIGEST_LENGTH;
-+ }
-+
-+ /* space required for encryption (not only TLS padding) */
-+ padlen = maclen;
-+ if (EVP_CIPHER_CTX_encrypting(ctx)) {
-+ cryptlen += maclen;
-+ padlen += bs - (cryptlen % bs);
-+ }
-+ return padlen;
-+ }
-+ default:
-+ return -1;
-+ }
-+}
-+
- /*
- * Following are the three necessary functions to map OpenSSL functionality
- * with cryptodev.
-@@ -165,6 +333,7 @@ static int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,
- cipher_ctx->op = enc ? COP_ENCRYPT : COP_DECRYPT;
- cipher_ctx->mode = cipher_d->flags & EVP_CIPH_MODE;
- cipher_ctx->blocksize = cipher_d->blocksize;
-+
- if (ioctl(cfd, CIOCGSESSION, &cipher_ctx->sess) < 0) {
- SYSerr(SYS_F_IOCTL, errno);
- return 0;
-@@ -180,6 +349,7 @@ static int cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
- (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx);
- struct crypt_op cryp;
- unsigned char *iv = EVP_CIPHER_CTX_iv_noconst(ctx);
-+
- #if !defined(COP_FLAG_WRITE_IV)
- unsigned char saved_iv[EVP_MAX_IV_LENGTH];
- const unsigned char *ivptr;
-@@ -340,32 +510,59 @@ static int cipher_cleanup(EVP_CIPHER_CTX *ctx)
- static int known_cipher_nids[OSSL_NELEM(cipher_data)];
- static int known_cipher_nids_amount = -1; /* -1 indicates not yet initialised */
- static EVP_CIPHER *known_cipher_methods[OSSL_NELEM(cipher_data)] = { NULL, };
-+int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key,
-+ const unsigned char *iv, int enc);
-+int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out,
-+ const unsigned char *in, size_t inl);
-+int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr);
-
- static void prepare_cipher_methods(void)
- {
- size_t i;
- struct session_op sess;
- unsigned long cipher_mode;
-+ unsigned long flags;
-
- memset(&sess, 0, sizeof(sess));
- sess.key = (void *)"01234567890123456789012345678901234567890123456789";
-+ sess.mackey = (void *)"123456789ABCDEFGHIJKLMNO";
-
- for (i = 0, known_cipher_nids_amount = 0;
- i < OSSL_NELEM(cipher_data); i++) {
-
-+ init = cipher_init;
-+ ctrl = cipher_ctrl;
-+ flags = cipher_data[i].flags
-+ | EVP_CIPH_CUSTOM_COPY
-+ | EVP_CIPH_CTRL_INIT
-+ | EVP_CIPH_FLAG_DEFAULT_ASN1;
-+
- /*
- * Check that the algo is really availably by trying to open and close
- * a session.
- */
- sess.cipher = cipher_data[i].devcryptoid;
- sess.keylen = cipher_data[i].keylen;
-+ sess.mackeylen = cipher_data[i].mackeylen;
-+
-+ cipher_mode = cipher_data[i].flags & EVP_CIPH_MODE;
-+
-+ do_cipher = (cipher_mode == EVP_CIPH_CTR_MODE ?
-+ ctr_do_cipher :
-+ cipher_do_cipher);
-+ if (cipher_data[i].nid == NID_aes_128_cbc_hmac_sha1
-+ || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha1) {
-+ init = cryptodev_init_aead_key;
-+ do_cipher = cryptodev_aead_cipher;
-+ ctrl = cryptodev_cbc_hmac_sha1_ctrl;
-+ flags = cipher_data[i].flags;
-+ }
-+
- if (ioctl(cfd, CIOCGSESSION, &sess) < 0
- || ioctl(cfd, CIOCFSESSION, &sess.ses) < 0)
- continue;
-
-- cipher_mode = cipher_data[i].flags & EVP_CIPH_MODE;
--
-- if ((known_cipher_methods[i] =
-+ if ((known_cipher_methods[i] =
- EVP_CIPHER_meth_new(cipher_data[i].nid,
- cipher_mode == EVP_CIPH_CTR_MODE ? 1 :
- cipher_data[i].blocksize,
-@@ -373,16 +570,12 @@ static void prepare_cipher_methods(void)
- || !EVP_CIPHER_meth_set_iv_length(known_cipher_methods[i],
- cipher_data[i].ivlen)
- || !EVP_CIPHER_meth_set_flags(known_cipher_methods[i],
-- cipher_data[i].flags
-- | EVP_CIPH_CUSTOM_COPY
-- | EVP_CIPH_CTRL_INIT
-- | EVP_CIPH_FLAG_DEFAULT_ASN1)
-- || !EVP_CIPHER_meth_set_init(known_cipher_methods[i], cipher_init)
-+ flags)
-+ || !EVP_CIPHER_meth_set_init(known_cipher_methods[i], init)
- || !EVP_CIPHER_meth_set_do_cipher(known_cipher_methods[i],
-- cipher_mode == EVP_CIPH_CTR_MODE ?
-- ctr_do_cipher :
-- cipher_do_cipher)
-- || !EVP_CIPHER_meth_set_ctrl(known_cipher_methods[i], cipher_ctrl)
-+ do_cipher)
-+ /* AEAD Support to be added. */
-+ || !EVP_CIPHER_meth_set_ctrl(known_cipher_methods[i], ctrl)
- || !EVP_CIPHER_meth_set_cleanup(known_cipher_methods[i],
- cipher_cleanup)
- || !EVP_CIPHER_meth_set_impl_ctx_size(known_cipher_methods[i],
-@@ -393,6 +586,10 @@ static void prepare_cipher_methods(void)
- known_cipher_nids[known_cipher_nids_amount++] =
- cipher_data[i].nid;
- }
-+
-+ if (cipher_data[i].nid == NID_aes_128_cbc_hmac_sha1
-+ || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha1)
-+ EVP_add_cipher(known_cipher_methods[i]);
- }
- }
-
---
-2.17.1
-
diff --git a/recipes-connectivity/openssl/openssl-qoriq/0002-eng_devcrypto-add-support-for-TLS1.2-algorithms-offl.patch b/recipes-connectivity/openssl/openssl-qoriq/0002-eng_devcrypto-add-support-for-TLS1.2-algorithms-offl.patch
deleted file mode 100644
index b12af56e..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/0002-eng_devcrypto-add-support-for-TLS1.2-algorithms-offl.patch
+++ /dev/null
@@ -1,285 +0,0 @@
-From db9d8be9d0d81bdb2ddb78f8616243593a3d24c5 Mon Sep 17 00:00:00 2001
-From: Pankaj Gupta <pankaj.gupta@nxp.com>
-Date: Fri, 10 Jan 2020 15:38:38 +0530
-Subject: [PATCH 2/2] eng_devcrypto: add support for TLS1.2 algorithms offload
-
- - aes-128-cbc-hmac-sha256
- - aes-256-cbc-hmac-sha256
-
-Enabled the support of TLS1.1 algorithms offload
-
- - aes-128-cbc-hmac-sha1
- - aes-256-cbc-hmac-sha1
-
-Requires TLS patches on cryptodev and TLS algorithm support in Linux
-kernel driver.
-
-Fix: Remove the support for TLS1.0.
-
-Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
-Signed-off-by: Arun Pathak <arun.pathak@nxp.com>
----
- crypto/engine/eng_devcrypto.c | 133 +++++++++++++++++++++++-----------
- 1 file changed, 90 insertions(+), 43 deletions(-)
-
-diff --git a/crypto/engine/eng_devcrypto.c b/crypto/engine/eng_devcrypto.c
-index 727a660e75..be63f65e04 100644
---- a/crypto/engine/eng_devcrypto.c
-+++ b/crypto/engine/eng_devcrypto.c
-@@ -25,6 +25,7 @@
- #include "crypto/engine.h"
-
- /* #define ENGINE_DEVCRYPTO_DEBUG */
-+#define TLS1_1_VERSION 0x0302
-
- #if CRYPTO_ALGORITHM_MIN < CRYPTO_ALGORITHM_MAX
- # define CHECK_BSD_STYLE_MACROS
-@@ -67,6 +68,7 @@ struct cipher_ctx {
- /* to handle ctr mode being a stream cipher */
- unsigned char partial[EVP_MAX_BLOCK_LENGTH];
- unsigned int blocksize, num;
-+ unsigned int tls_ver;
- };
-
- static const struct cipher_data_st {
-@@ -92,11 +94,17 @@ static const struct cipher_data_st {
- { NID_aes_192_cbc, 16, 192 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC, 0 },
- { NID_aes_256_cbc, 16, 256 / 8, 16, EVP_CIPH_CBC_MODE, CRYPTO_AES_CBC, 0 },
- { NID_aes_128_cbc_hmac_sha1, 16, 16, 16,
-- EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-- CRYPTO_TLS10_AES_CBC_HMAC_SHA1, 20 },
-+ EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-+ CRYPTO_TLS11_AES_CBC_HMAC_SHA1, 20 },
- { NID_aes_256_cbc_hmac_sha1, 16, 32, 16,
-- EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-- CRYPTO_TLS10_AES_CBC_HMAC_SHA1, 20 },
-+ EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-+ CRYPTO_TLS11_AES_CBC_HMAC_SHA1, 20 },
-+ { NID_aes_128_cbc_hmac_sha256, 16, 16, 16,
-+ EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-+ CRYPTO_TLS12_AES_CBC_HMAC_SHA256, 32 },
-+ { NID_aes_256_cbc_hmac_sha256, 16, 32, 16,
-+ EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_AEAD_CIPHER,
-+ CRYPTO_TLS12_AES_CBC_HMAC_SHA256, 32 },
- #ifndef OPENSSL_NO_RC4
- { NID_rc4, 1, 16, 0, EVP_CIPH_STREAM_CIPHER, CRYPTO_ARC4, 0 },
- #endif
-@@ -107,9 +115,9 @@ static const struct cipher_data_st {
- #endif
- #if 0 /* Not yet supported */
- { NID_aes_128_xts, 16, 128 / 8 * 2, 16, EVP_CIPH_XTS_MODE, CRYPTO_AES_XTS,
-- 0 },
-+ 0 },
- { NID_aes_256_xts, 16, 256 / 8 * 2, 16, EVP_CIPH_XTS_MODE, CRYPTO_AES_XTS,
-- 0 },
-+ 0 },
- #endif
- #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_AES_ECB)
- { NID_aes_128_ecb, 16, 128 / 8, 0, EVP_CIPH_ECB_MODE, CRYPTO_AES_ECB, 0 },
-@@ -166,7 +174,7 @@ static const struct cipher_data_st *get_cipher_data(int nid)
- * with both the crypto and hmac keys.
- */
- static int cryptodev_init_aead_key(EVP_CIPHER_CTX *ctx,
-- const unsigned char *key, const unsigned char *iv, int enc)
-+ const unsigned char *key, const unsigned char *iv, int enc)
- {
- struct cipher_ctx *state = EVP_CIPHER_CTX_get_cipher_data(ctx);
- struct session_op *sess = &state->sess;
-@@ -212,10 +220,29 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
-
- memset(&cryp, 0, sizeof(cryp));
-
-+ if (EVP_CIPHER_CTX_iv_length(ctx) > 0) {
-+ if (!EVP_CIPHER_CTX_encrypting(ctx)) {
-+ iiv = in + len - EVP_CIPHER_CTX_iv_length(ctx);
-+ memcpy(save_iv, iiv, EVP_CIPHER_CTX_iv_length(ctx));
-+
-+ if (state->tls_ver >= TLS1_1_VERSION) {
-+ memcpy(EVP_CIPHER_CTX_iv_noconst(ctx), in,
-+ EVP_CIPHER_CTX_iv_length(ctx));
-+ in += EVP_CIPHER_CTX_iv_length(ctx);
-+ out += EVP_CIPHER_CTX_iv_length(ctx);
-+ len -= EVP_CIPHER_CTX_iv_length(ctx);
-+ }
-+ }
-+ cryp.iv = (void *) EVP_CIPHER_CTX_iv(ctx);
-+ } else
-+ cryp.iv = NULL;
-+
- /* TODO: make a seamless integration with cryptodev flags */
- switch (EVP_CIPHER_CTX_nid(ctx)) {
- case NID_aes_128_cbc_hmac_sha1:
- case NID_aes_256_cbc_hmac_sha1:
-+ case NID_aes_128_cbc_hmac_sha256:
-+ case NID_aes_256_cbc_hmac_sha256:
- cryp.flags = COP_FLAG_AEAD_TLS_TYPE;
- }
- cryp.ses = sess->ses;
-@@ -227,15 +254,6 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
-
- cryp.op = EVP_CIPHER_CTX_encrypting(ctx) ? COP_ENCRYPT : COP_DECRYPT;
-
-- if (EVP_CIPHER_CTX_iv_length(ctx) > 0) {
-- cryp.iv = (void *) EVP_CIPHER_CTX_iv(ctx);
-- if (!EVP_CIPHER_CTX_encrypting(ctx)) {
-- iiv = in + len - EVP_CIPHER_CTX_iv_length(ctx);
-- memcpy(save_iv, iiv, EVP_CIPHER_CTX_iv_length(ctx));
-- }
-- } else
-- cryp.iv = NULL;
--
- if (ioctl(cfd, CIOCAUTHCRYPT, &cryp) == -1) {
- /*
- * XXX need better errror handling this can fail for a number of
-@@ -262,7 +280,7 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
- switch (type) {
- case EVP_CTRL_AEAD_SET_MAC_KEY:
- {
-- /* TODO: what happens with hmac keys larger than 64 bytes? */
-+ /* TODO: what happens with hmac keys larger than 64 bytes? */
- struct cipher_ctx *state =
- EVP_CIPHER_CTX_get_cipher_data(ctx);
- struct session_op *sess = &state->sess;
-@@ -282,27 +300,52 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
- EVP_CIPHER_CTX_get_cipher_data(ctx);
- unsigned char *p = ptr;
- unsigned int cryptlen = p[arg - 2] << 8 | p[arg - 1];
-- unsigned int maclen, padlen;
-- unsigned int bs = EVP_CIPHER_CTX_block_size(ctx);
-+ unsigned int maclen;
-+ unsigned int blocksize = EVP_CIPHER_CTX_block_size(ctx);
-+ int ret;
-
-+ state->tls_ver = p[arg - 4] << 8 | p[arg - 3];
- state->aad = ptr;
- state->aad_len = arg;
-- state->len = cryptlen;
-
- /* TODO: this should be an extension of EVP_CIPHER struct */
- switch (EVP_CIPHER_CTX_nid(ctx)) {
- case NID_aes_128_cbc_hmac_sha1:
- case NID_aes_256_cbc_hmac_sha1:
- maclen = SHA_DIGEST_LENGTH;
-+ break;
-+ case NID_aes_128_cbc_hmac_sha256:
-+ case NID_aes_256_cbc_hmac_sha256:
-+ maclen = SHA256_DIGEST_LENGTH;
-+ break;
-+ default:
-+ /*
-+ * Only above 4 supported NIDs are used to enter to this
-+ * function. If any other NID reaches this function,
-+ * there's a grave coding error further down.
-+ */
-+ assert("Code that never should be reached" == NULL);
-+ return -1;
- }
-
- /* space required for encryption (not only TLS padding) */
-- padlen = maclen;
- if (EVP_CIPHER_CTX_encrypting(ctx)) {
-- cryptlen += maclen;
-- padlen += bs - (cryptlen % bs);
-+ if (state->tls_ver >= TLS1_1_VERSION) {
-+ p[arg - 2] = (cryptlen - blocksize) >> 8;
-+ p[arg - 1] = (cryptlen - blocksize);
-+ }
-+ ret = (int)(((cryptlen + maclen +
-+ blocksize) & -blocksize) - cryptlen);
-+ } else {
-+ if (state->tls_ver >= TLS1_1_VERSION) {
-+ cryptlen -= blocksize;
-+ p[arg - 2] = cryptlen >> 8;
-+ p[arg - 1] = cryptlen;
-+ }
-+ ret = maclen;
- }
-- return padlen;
-+ state->len = cryptlen;
-+ return ret;
- }
- default:
- return -1;
-@@ -510,11 +553,11 @@ static int cipher_cleanup(EVP_CIPHER_CTX *ctx)
- static int known_cipher_nids[OSSL_NELEM(cipher_data)];
- static int known_cipher_nids_amount = -1; /* -1 indicates not yet initialised */
- static EVP_CIPHER *known_cipher_methods[OSSL_NELEM(cipher_data)] = { NULL, };
--int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key,
-- const unsigned char *iv, int enc);
--int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out,
-- const unsigned char *in, size_t inl);
--int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr);
-+int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key,
-+ const unsigned char *iv, int enc);
-+int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out,
-+ const unsigned char *in, size_t inl);
-+int (*ctrl)(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
-
- static void prepare_cipher_methods(void)
- {
-@@ -543,26 +586,28 @@ static void prepare_cipher_methods(void)
- */
- sess.cipher = cipher_data[i].devcryptoid;
- sess.keylen = cipher_data[i].keylen;
-- sess.mackeylen = cipher_data[i].mackeylen;
-+ sess.mackeylen = cipher_data[i].mackeylen;
-
- cipher_mode = cipher_data[i].flags & EVP_CIPH_MODE;
-
-- do_cipher = (cipher_mode == EVP_CIPH_CTR_MODE ?
-+ do_cipher = (cipher_mode == EVP_CIPH_CTR_MODE ?
- ctr_do_cipher :
- cipher_do_cipher);
-- if (cipher_data[i].nid == NID_aes_128_cbc_hmac_sha1
-- || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha1) {
-- init = cryptodev_init_aead_key;
-- do_cipher = cryptodev_aead_cipher;
-- ctrl = cryptodev_cbc_hmac_sha1_ctrl;
-- flags = cipher_data[i].flags;
-- }
-+ if (cipher_data[i].nid == NID_aes_128_cbc_hmac_sha1
-+ || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha1
-+ || cipher_data[i].nid == NID_aes_128_cbc_hmac_sha256
-+ || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha256) {
-+ init = cryptodev_init_aead_key;
-+ do_cipher = cryptodev_aead_cipher;
-+ ctrl = cryptodev_cbc_hmac_sha1_ctrl;
-+ flags = cipher_data[i].flags;
-+ }
-
- if (ioctl(cfd, CIOCGSESSION, &sess) < 0
- || ioctl(cfd, CIOCFSESSION, &sess.ses) < 0)
- continue;
-
-- if ((known_cipher_methods[i] =
-+ if ((known_cipher_methods[i] =
- EVP_CIPHER_meth_new(cipher_data[i].nid,
- cipher_mode == EVP_CIPH_CTR_MODE ? 1 :
- cipher_data[i].blocksize,
-@@ -574,7 +619,7 @@ static void prepare_cipher_methods(void)
- || !EVP_CIPHER_meth_set_init(known_cipher_methods[i], init)
- || !EVP_CIPHER_meth_set_do_cipher(known_cipher_methods[i],
- do_cipher)
-- /* AEAD Support to be added. */
-+ /* AEAD Support to be added. */
- || !EVP_CIPHER_meth_set_ctrl(known_cipher_methods[i], ctrl)
- || !EVP_CIPHER_meth_set_cleanup(known_cipher_methods[i],
- cipher_cleanup)
-@@ -587,9 +632,11 @@ static void prepare_cipher_methods(void)
- cipher_data[i].nid;
- }
-
-- if (cipher_data[i].nid == NID_aes_128_cbc_hmac_sha1
-- || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha1)
-- EVP_add_cipher(known_cipher_methods[i]);
-+ if (cipher_data[i].nid == NID_aes_128_cbc_hmac_sha1
-+ || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha1
-+ || cipher_data[i].nid == NID_aes_128_cbc_hmac_sha256
-+ || cipher_data[i].nid == NID_aes_256_cbc_hmac_sha256)
-+ EVP_add_cipher(known_cipher_methods[i]);
- }
- }
-
---
-2.17.1
-
diff --git a/recipes-connectivity/openssl/openssl-qoriq/run-ptest b/recipes-connectivity/openssl/openssl-qoriq/run-ptest
deleted file mode 100644
index 3fb22471..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/run-ptest
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-set -e
-
-# Optional arguments are 'list' to lists all tests, or the test name (base name
-# ie test_evp, not 03_test_evp.t).
-
-export TOP=.
-# OPENSSL_ENGINES is relative from the test binaries
-export OPENSSL_ENGINES=../engines
-
-perl ./test/run_tests.pl $* | perl -0pe 's#(.*) \.*.ok#PASS: \1#g; s#(.*) \.*.skipped: (.*)#SKIP: \1 (\2)#g; s#(.*) \.*.\nDubious#FAIL: \1#;'
diff --git a/recipes-connectivity/openssl/openssl_%.bbappend b/recipes-connectivity/openssl/openssl_%.bbappend
deleted file mode 100644
index 182925e0..00000000
--- a/recipes-connectivity/openssl/openssl_%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-FILESEXTRAPATHS_append := "${THISDIR}/${PN}-qoriq:"
-
-SRC_URI_append_qoriq = " \
- file://0001-eng_devcrypto-add-support-for-TLS-algorithms-offload.patch \
- file://0002-eng_devcrypto-add-support-for-TLS1.2-algorithms-offl.patch \
-"
diff --git a/recipes-core/init-ifupdown/init-ifupdown_%.bbappend b/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
index 00057874..46dfc124 100644
--- a/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
+++ b/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
@@ -1,2 +1,2 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
diff --git a/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
index d0c26c2a..5c492725 100644
--- a/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
+++ b/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
@@ -1,4 +1,4 @@
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
nativesdk-mxsldr \
nativesdk-u-boot-mkimage \
nativesdk-imx-usb-loader \
diff --git a/recipes-core/udev/udev-rules-qoriq.bb b/recipes-core/udev/udev-rules-qoriq.bb
index c328f4cc..1200527c 100644
--- a/recipes-core/udev/udev-rules-qoriq.bb
+++ b/recipes-core/udev/udev-rules-qoriq.bb
@@ -12,17 +12,16 @@ SRC_URI = "\
S = "${WORKDIR}"
RULE = "71-fsl-dpaa-persistent-networking.rules"
-RULE_e6500 = "72-fsl-dpaa-persistent-networking.rules"
-RULE_e6500-64b = "72-fsl-dpaa-persistent-networking.rules"
-RULE_t1024 = "72-fsl-dpaa-persistent-networking.rules"
-RULE_qoriq-arm64 = "73-fsl-dpaa-persistent-networking.rules \
+RULE:e6500 = "72-fsl-dpaa-persistent-networking.rules"
+RULE:e6500-64b = "72-fsl-dpaa-persistent-networking.rules"
+RULE:t1024 = "72-fsl-dpaa-persistent-networking.rules"
+RULE:qoriq-arm64 = "73-fsl-dpaa-persistent-networking.rules \
73-fsl-enetc-networking.rules \
"
-RULE_ls1046a = "73-fsl-dpaa-persistent-networking.rules \
+RULE:ls1046a = "73-fsl-dpaa-persistent-networking.rules \
74-ls1046a-xfi2-networking.rules \
"
-RULE_ls1012a = ""
-RULE_ls2080a = ""
+RULE:ls1012a = ""
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d/
@@ -31,7 +30,7 @@ do_install () {
done
}
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
COMPATIBLE_MACHINE = "(qoriq)"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-devtools/devregs/devregs_git.bb b/recipes-devtools/devregs/devregs_git.bb
index 7f158fd8..f24cb0f6 100644
--- a/recipes-devtools/devregs/devregs_git.bb
+++ b/recipes-devtools/devregs/devregs_git.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "i.MX Register tool"
SECTION = "devel"
-LICENSE = "GPL-1"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=5003fa041d799dd5dd5f646b74e36924"
-SRCREV = "d5f6223027f4d6ae71bd5d432f5611486e0e6074"
-SRC_URI = "git://github.com/boundarydevices/devregs.git;protocol=http"
+SRCREV = "dcc3e3f26d3d867d5297a104dc32bd99f5e6fa71"
+SRC_URI = "git://github.com/boundarydevices/devregs.git;protocol=https;branch=master"
PV = "1.0+${SRCPV}"
diff --git a/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb b/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
index c5f51983..deffd853 100644
--- a/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
+++ b/recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "i.MX/Vybrid recovery utility"
SECTION = "devel"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "libusb1"
SRCREV = "f009770d841468204ab104bf7d3b0c5bc8425dbb"
-SRC_URI = "git://github.com/boundarydevices/imx_usb_loader.git;protocol=http"
+SRC_URI = "git://github.com/boundarydevices/imx_usb_loader.git;protocol=https;branch=master"
PV = "1.0+${SRCPV}"
diff --git a/recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch b/recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch
deleted file mode 100644
index 2d3bd7e0..00000000
--- a/recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 0f1f2d4596aee037d3ccbcf10592466daa54107f Mon Sep 17 00:00:00 2001
-From: Laurent Vivier <laurent@vivier.eu>
-Date: Tue, 12 Nov 2019 15:25:56 +0100
-Subject: [PATCH] linux-user: remove host stime() syscall
-
-stime() has been withdrawn from glibc
-(12cbde1dae6f "Use clock_settime to implement stime; withdraw stime.")
-
-Implement the target stime() syscall using host
-clock_settime(CLOCK_REALTIME, ...) as it is done internally in glibc.
-
-Tested qemu-ppc/x86_64 with:
-
- #include <time.h>
- #include <stdio.h>
-
- int main(void)
- {
- time_t t;
- int ret;
-
- /* date -u -d"2019-11-12T15:11:00" "+%s" */
- t = 1573571460;
- ret = stime(&t);
- printf("ret %d\n", ret);
- return 0;
- }
-
- # date; ./stime; date
- Tue Nov 12 14:18:32 UTC 2019
- ret 0
- Tue Nov 12 15:11:00 UTC 2019
-
-Upstream-Status: Backport
-
-Buglink: https://bugs.launchpad.net/qemu/+bug/1852115
-Reported-by: Cole Robinson <crobinso@redhat.com>
-Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
-Message-Id: <20191112142556.6335-1-laurent@vivier.eu>
----
- linux-user/syscall.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 4e97bcf1e5..ce399a55f0 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -7764,10 +7764,12 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
- #ifdef TARGET_NR_stime /* not on alpha */
- case TARGET_NR_stime:
- {
-- time_t host_time;
-- if (get_user_sal(host_time, arg1))
-+ struct timespec ts;
-+ ts.tv_nsec = 0;
-+ if (get_user_sal(ts.tv_sec, arg1)) {
- return -TARGET_EFAULT;
-- return get_errno(stime(&host_time));
-+ }
-+ return get_errno(clock_settime(CLOCK_REALTIME, &ts));
- }
- #endif
- #ifdef TARGET_NR_alarm /* not on alpha */
---
-2.24.0
-
diff --git a/recipes-devtools/qemu/qemu-qoriq_4.1.0.bb b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
index 2c5a5fd4..5ac774ed 100644
--- a/recipes-devtools/qemu/qemu-qoriq_4.1.0.bb
+++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
@@ -1,6 +1,6 @@
BBCLASSEXTEND = ""
-require recipes-devtools/qemu/qemu.inc
+require qemu.inc
COMPATIBLE_MACHINE = "(qoriq)"
@@ -9,14 +9,13 @@ 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 \
- file://0001-linux-user-remove-host-stime-syscall.patch \
"
-SRCREV = "0b88a503e43ca629d6e8165638ac6b312e5c66bd"
+SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b"
S = "${WORKDIR}/git"
@@ -25,18 +24,18 @@ python() {
pkgs = d.getVar('PACKAGES').split()
for p in pkgs:
if '-qoriq' in p:
- d.appendVar('RPROVIDES_' + p, ' ' + p.replace('-qoriq', ''))
- d.appendVar('RCONFLICTS_' + p, ' ' + p.replace('-qoriq', ''))
- d.appendVar('RREPLACES_' + p, ' ' + p.replace('-qoriq', ''))
+ d.appendVar('RPROVIDES:' + p, ' ' + p.replace('-qoriq', ''))
+ d.appendVar('RCONFLICTS:' + p, ' ' + p.replace('-qoriq', ''))
+ d.appendVar('RREPLACES:' + p, ' ' + p.replace('-qoriq', ''))
}
-RDEPENDS_${PN}_class-target += "bash"
+RDEPENDS:${PN}:class-target += "bash"
-EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
-EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
-EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
+EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
}
@@ -53,10 +52,10 @@ do_install_ptest() {
}
PACKAGECONFIG ??= " \
- fdt sdl kvm aio libusb vhost \
+ fdt sdl kvm aio libusb vhost numa \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
+PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm"
PACKAGECONFIG[xkbcommon] = ",,"
PACKAGECONFIG[libudev] = ",,"
diff --git a/recipes-devtools/qemu/qemu-targets.inc b/recipes-devtools/qemu/qemu-targets.inc
new file mode 100644
index 00000000..24f9a039
--- /dev/null
+++ b/recipes-devtools/qemu/qemu-targets.inc
@@ -0,0 +1,28 @@
+# possible arch values are:
+# aarch64 arm armeb alpha cris i386 x86_64 m68k microblaze
+# mips mipsel mips64 mips64el ppc ppc64 ppc64abi32 ppcemb
+# riscv32 riscv64 sparc sparc32 sparc32plus
+
+def get_qemu_target_list(d):
+ import bb
+ archs = d.getVar('QEMU_TARGETS').split()
+ tos = d.getVar('HOST_OS')
+ softmmuonly = ""
+ for arch in ['ppcemb', 'lm32']:
+ if arch in archs:
+ softmmuonly += arch + "-softmmu,"
+ archs.remove(arch)
+ linuxuseronly = ""
+ for arch in ['armeb', 'alpha', 'ppc64abi32', 'ppc64le', 'sparc32plus', 'aarch64_be']:
+ if arch in archs:
+ linuxuseronly += arch + "-linux-user,"
+ archs.remove(arch)
+ if 'linux' not in tos:
+ return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in archs]).rstrip(',')
+ return softmmuonly + linuxuseronly + ''.join([arch + "-linux-user" + "," + arch + "-softmmu" + "," for arch in archs]).rstrip(',')
+
+def get_qemu_usermode_target_list(d):
+ return ",".join(filter(lambda i: "-linux-user" in i, get_qemu_target_list(d).split(',')))
+
+def get_qemu_system_target_list(d):
+ return ",".join(filter(lambda i: "-linux-user" not in i, get_qemu_target_list(d).split(',')))
diff --git a/recipes-devtools/qemu/qemu.inc b/recipes-devtools/qemu/qemu.inc
new file mode 100644
index 00000000..b8b5f318
--- /dev/null
+++ b/recipes-devtools/qemu/qemu.inc
@@ -0,0 +1,198 @@
+SUMMARY = "Fast open source processor emulator"
+DESCRIPTION = "QEMU is a hosted virtual machine monitor: it emulates the \
+machine's processor through dynamic binary translation and provides a set \
+of different hardware and device models for the machine, enabling it to run \
+a variety of guest operating systems"
+HOMEPAGE = "http://qemu.org"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+
+RDEPENDS:${PN}-ptest = "bash make"
+
+require qemu-targets.inc
+inherit pkgconfig ptest
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
+ file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
+
+SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
+ file://powerpc_rom.bin \
+ file://run-ptest \
+ file://0001-qemu-Add-missing-wacom-HID-descriptor.patch \
+ file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
+ file://0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
+ file://0004-qemu-disable-Valgrind.patch \
+ file://0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
+ file://0006-chardev-connect-socket-to-a-spawned-command.patch \
+ file://0007-apic-fixup-fallthrough-to-PIC.patch \
+ file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
+ file://0009-Fix-webkitgtk-builds.patch \
+ file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
+ file://0001-Add-enable-disable-udev.patch \
+ file://0001-qemu-Do-not-include-file-if-not-exists.patch \
+ file://find_datadir.patch \
+ file://usb-fix-setup_len-init.patch \
+ file://0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch \
+ file://CVE-2020-24352.patch \
+ file://CVE-2020-29129-CVE-2020-29130.patch \
+ file://CVE-2020-25624.patch \
+ file://CVE-2020-25723.patch \
+ file://CVE-2020-28916.patch \
+ file://CVE-2020-35517.patch \
+ file://CVE-2020-29443.patch \
+ file://CVE-2021-20203.patch \
+ "
+UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
+
+SRC_URI[sha256sum] = "c9174eb5933d9eb5e61f541cd6d1184cd3118dfe4c5c4955bc1bdc4d390fa4e5"
+
+COMPATIBLE_HOST:mipsarchn32 = "null"
+COMPATIBLE_HOST:mipsarchn64 = "null"
+
+# Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html
+# upstream states qemu doesn't work without optimization
+DEBUG_BUILD = "0"
+
+do_install:append() {
+ # Prevent QA warnings about installed ${localstatedir}/run
+ if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
+}
+
+do_compile_ptest() {
+ make buildtest-TESTS
+}
+
+do_install_ptest() {
+ cp -rL ${B}/tests ${D}${PTEST_PATH}
+ find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
+
+ cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
+ # Don't check the file genreated by configure
+ sed -i -e '/wildcard config-host.mak/d' \
+ -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
+ sed -i -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
+ ${D}/${PTEST_PATH}/tests/qemu-iotests/common.env
+}
+
+# QEMU_TARGETS is overridable variable
+QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64"
+
+EXTRA_OECONF = " \
+ --prefix=${prefix} \
+ --bindir=${bindir} \
+ --includedir=${includedir} \
+ --libdir=${libdir} \
+ --mandir=${mandir} \
+ --datadir=${datadir} \
+ --docdir=${docdir}/${BPN} \
+ --sysconfdir=${sysconfdir} \
+ --libexecdir=${libexecdir} \
+ --localstatedir=${localstatedir} \
+ --with-confsuffix=/${BPN} \
+ --disable-strip \
+ --disable-werror \
+ --extra-cflags='${CFLAGS}' \
+ --extra-ldflags='${LDFLAGS}' \
+ --with-git=/bin/false \
+ --disable-git-update \
+ ${PACKAGECONFIG_CONFARGS} \
+ "
+
+export LIBTOOL="${HOST_SYS}-libtool"
+
+B = "${WORKDIR}/build"
+
+EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3"
+
+do_configure:prepend:class-native() {
+ # Append build host pkg-config paths for native target since the host may provide sdl
+ BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
+ if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
+ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
+ fi
+}
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+do_configure[cleandirs] += "${B}"
+
+do_install () {
+ export STRIP=""
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+# The following fragment will create a wrapper for qemu-mips user emulation
+# binary in order to work around a segmentation fault issue. Basically, by
+# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
+# This will trigger a MMU access fault in the virtual CPU. With this change,
+# the qemu-mips works fine.
+# IMPORTANT: This piece needs to be removed once the root cause is fixed!
+do_install:append() {
+ if [ -e "${D}/${bindir}/qemu-mips" ]; then
+ create_wrapper ${D}/${bindir}/qemu-mips \
+ QEMU_RESERVED_VA=0x0
+ fi
+}
+# END of qemu-mips workaround
+
+make_qemu_wrapper() {
+ gdk_pixbuf_module_file=`pkg-config --variable=gdk_pixbuf_cache_file gdk-pixbuf-2.0`
+
+ for tool in `ls ${D}${bindir}/qemu-system-*`; do
+ create_wrapper $tool \
+ GDK_PIXBUF_MODULE_FILE=$gdk_pixbuf_module_file \
+ FONTCONFIG_PATH=/etc/fonts \
+ GTK_THEME=Adwaita
+ done
+}
+
+# Disable kvm/virgl/mesa on targets that do not support it
+PACKAGECONFIG:remove:darwin = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer glx gtk+"
+
+PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
+PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
+PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
+PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
+PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest"
+PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
+PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
+PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
+PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl,"
+PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
+PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
+PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native"
+PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native"
+PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
+PACKAGECONFIG[ssh] = "--enable-libssh,--disable-libssh,libssh,"
+PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
+PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle"
+PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1"
+PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc"
+PACKAGECONFIG[alsa] = "--audio-drv-list='oss alsa',,alsa-lib"
+PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,virtual/libgl"
+PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
+PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls"
+PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
+PACKAGECONFIG[libiscsi] = "--enable-libiscsi,--disable-libiscsi"
+PACKAGECONFIG[kvm] = "--enable-kvm,--disable-kvm"
+PACKAGECONFIG[virglrenderer] = "--enable-virglrenderer,--disable-virglrenderer,virglrenderer"
+# spice will be in meta-networking layer
+PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice"
+# usbredir will be in meta-networking layer
+PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir"
+PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy"
+PACKAGECONFIG[glusterfs] = "--enable-glusterfs,--disable-glusterfs,glusterfs"
+PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
+PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
+PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2"
+PACKAGECONFIG[attr] = "--enable-attr,--disable-attr,attr,"
+PACKAGECONFIG[rbd] = "--enable-rbd,--disable-rbd,ceph,ceph"
+PACKAGECONFIG[vhost] = "--enable-vhost-net,--disable-vhost-net,,"
+PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"
+PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
+
+INSANE_SKIP:${PN} = "arch"
+
+FILES:${PN} += "${datadir}/icons"
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 9091350b..8d345836 100644
--- a/recipes-devtools/cst/cst_git.bb
+++ b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
@@ -1,14 +1,14 @@
SUMMARY = "utility for security boot"
SECTION = "cst"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e959d5d617e33779d0e90ce1d9043eff"
-DEPENDS += "openssl cst-native"
-RDEPENDS_${PN} = "bash"
+DEPENDS += "openssl qoriq-cst-native"
+RDEPENDS:${PN} = "bash"
GENKEYS ?= "${STAGING_BINDIR_NATIVE}/cst/gen_keys"
-GENKEYS_class-native = "./gen_keys"
+GENKEYS:class-native = "./gen_keys"
inherit kernel-arch
@@ -16,14 +16,15 @@ 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"
EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
+CFLAGS:append = ' -Wno-deprecated-declarations'
PARALLEL_MAKE = ""
@@ -38,5 +39,5 @@ do_install () {
fi
}
-FILES_${PN}-dbg += "${bindir}/cst/.debug"
+FILES:${PN}-dbg += "${bindir}/cst/.debug"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-devtools/utp-com/utp-com_git.bb b/recipes-devtools/utp-com/utp-com_git.bb
index db2d7f08..85c80acb 100644
--- a/recipes-devtools/utp-com/utp-com_git.bb
+++ b/recipes-devtools/utp-com/utp-com_git.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "Tool used to send commands to hardware via NXP's UTP protocol"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
DEPENDS = "sg3-utils"
SRCREV = "dee512ced1e9367d223d22f10797fbf9aeacfab6"
SRC_URI = " \
- git://github.com/Freescale/utp_com;protocol=https \
+ git://github.com/Freescale/utp_com;protocol=https;branch=master \
"
PV = "1.0+git${SRCPV}"
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
new file mode 100644
index 00000000..e48698a8
--- /dev/null
+++ b/recipes-devtools/uuu/uuu_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Universal Update Utility"
+DESCRIPTION = "Image deploy tool for i.MX chips"
+HOMEPAGE = "https://github.com/nxp-imx/mfgtools"
+
+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"
+
+inherit cmake pkgconfig
+
+S = "${WORKDIR}/git"
+
+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 cfeae114..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 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=47716bd5b656aa5e298a132a64d2d1e4"
+LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
+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 3ae05889..f1ebd87f 100644
--- a/recipes-dpaa/flib/flib_git.bb
+++ b/recipes-dpaa/flib/flib_git.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "Foundation Library"
SECTION = "flib"
-LICENSE = "BSD & GPLv2"
+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"
@@ -12,4 +12,4 @@ do_install(){
oe_runmake install DESTDIR=${D}
}
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/recipes-dpaa/fm-ucode/fm-ucode_git.bb b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
index 39e4f9d0..22f04d01 100644
--- a/recipes-dpaa/fm-ucode/fm-ucode_git.bb
+++ b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
@@ -1,25 +1,25 @@
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"
-SRCREV = "c275e91392e2adab1ed22f3867b8269ca3c54014"
+SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;nobranch=1;protocol=https"
+SRCREV = "41d603a1ad78e0bb61365500828d9f484bf9bf10"
S = "${WORKDIR}/git"
REGLEX ?= "${MACHINE}"
-REGLEX_t1023 = "t1024"
-REGLEX_t1040 = "t1040"
-REGLEX_t1042 = "t1040"
+REGLEX:t1023 = "t1024"
+REGLEX:t1040 = "t1040"
+REGLEX:t1042 = "t1040"
REGLEX_b4420 = "b4860"
-REGLEX_t4160 = "t4240"
-REGLEX_ls1043a = "ls1043"
-REGLEX_ls1046a = "ls1046"
+REGLEX:t4160 = "t4240"
+REGLEX:ls1043a = "ls1043"
+REGLEX:ls1046a = "ls1046"
do_install () {
UCODE=`echo ${REGLEX} | sed -e 's,-.*$,,' -e 's,[a-zA-Z]*$,,'`
@@ -35,8 +35,8 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN}-image += "/boot"
+ALLOW_EMPTY:${PN} = "1"
COMPATIBLE_MACHINE = "(e500mc|e5500|e5500-64b|e6500|e6500-64b|fsl-lsch2)"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-dpaa/fmlib/fmlib_git.bb b/recipes-dpaa/fmlib/fmlib_git.bb
index 880d768b..71ad3df1 100644
--- a/recipes-dpaa/fmlib/fmlib_git.bb
+++ b/recipes-dpaa/fmlib/fmlib_git.bb
@@ -1,28 +1,31 @@
DESCRIPTION = "Frame Manager User Space Library"
SECTION = "fman"
-LICENSE = "BSD & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9c7bd5e45d066db084bdb3543d55b1ac"
+LICENSE = "BSD-3-Clause & GPL-2.0-only"
+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}"
TARGET_ARCH_FMLIB = "${DEFAULTTUNE}"
-TARGET_ARCH_FMLIB_qoriq-arm = "arm"
-TARGET_ARCH_FMLIB_qoriq-arm64 = "arm"
-TARGET_ARCH_FMLIB_e5500 = "ppc32e5500"
-TARGET_ARCH_FMLIB_e6500 = "ppc32e6500"
-TARGET_ARCH_FMLIB_e500mc = "ppce500mc"
-TARGET_ARCH_FMLIB_e500v2 = "ppce500v2"
+TARGET_ARCH_FMLIB:qoriq-arm = "arm"
+TARGET_ARCH_FMLIB:qoriq-arm64 = "arm"
+TARGET_ARCH_FMLIB:e5500 = "ppc32e5500"
+TARGET_ARCH_FMLIB:e6500 = "ppc32e6500"
+TARGET_ARCH_FMLIB:e500mc = "ppce500mc"
+TARGET_ARCH_FMLIB:e500v2 = "ppce500v2"
FMLIB_TARGET = "libfm-${TARGET_ARCH_FMLIB}"
-FMLIB_TARGET_t1 = "libfm-${TARGET_ARCH_FMLIB}-fmv3l"
+FMLIB_TARGET:t1 = "libfm-${TARGET_ARCH_FMLIB}-fmv3l"
do_compile () {
oe_runmake ${FMLIB_TARGET}.a
@@ -34,7 +37,7 @@ do_install () {
do_compile[depends] += "virtual/kernel:do_shared_workdir"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-dpaa2/aiopsl/aiopsl_git.bb b/recipes-dpaa2/aiopsl/aiopsl_git.bb
index a1b00289..68f7a8de 100644
--- a/recipes-dpaa2/aiopsl/aiopsl_git.bb
+++ b/recipes-dpaa2/aiopsl/aiopsl_git.bb
@@ -7,14 +7,14 @@ 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"
do_compile[noexec] = "1"
-DEMOS_PATH_ls2088a = "LS2088A"
-DEMOS_PATH_ls1088a = "LS1088A"
+DEMOS_PATH:ls2088a = "LS2088A"
+DEMOS_PATH:ls1088a = "LS1088A"
do_install () {
install -d ${D}/usr/aiop/bin
@@ -24,8 +24,8 @@ do_install () {
cp -rf ${S}/misc/setup/traffic_files/ ${D}/usr/aiop/
}
-FILES_${PN} += "/usr/aiop/*"
-INSANE_SKIP_${PN} += "arch"
+FILES:${PN} += "/usr/aiop/*"
+INSANE_SKIP:${PN} += "arch"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
COMPATIBLE_MACHINE = "(ls2088a|ls1088a)"
diff --git a/recipes-dpaa2/dce/dce_git.bb b/recipes-dpaa2/dce/dce_git.bb
index 9984f080..7c0ec270 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -3,12 +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}"'
@@ -17,5 +20,5 @@ do_install () {
oe_runmake install DESTDIR=${D}
}
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-dpaa2/dce/files/0001-support-user-merge.patch b/recipes-dpaa2/dce/files/0001-support-user-merge.patch
new file mode 100644
index 00000000..33b351a1
--- /dev/null
+++ b/recipes-dpaa2/dce/files/0001-support-user-merge.patch
@@ -0,0 +1,31 @@
+From d4aa7f64db5841242257c5b30dd652afd0f6ff68 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 20 Oct 2021 14:00:35 +0800
+Subject: [PATCH] support user merge
+
+Use Yocto base_sbindir to replace hardcode ./sbin
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 62eff25..18b79b1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,7 +25,8 @@ CFLAGS += -fdiagnostics-color
+
+ LDFLAGS = -static -Wl,--hash-style=gnu ${EXTRA_CFLAGS}
+
+-PREFIX = $(DESTDIR)/sbin
++base_sbindir ?= ./sbin
++PREFIX = $(DESTDIR)/${base_sbindir}
+
+ HEADER_DEPENDENCIES = $(subst .o,.d,$(OBJS))
+
+--
+2.27.0
+
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 ddb305c1..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"
-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.24.0.bb b/recipes-dpaa2/management-complex/management-complex_10.24.0.bb
deleted file mode 100644
index 17049a15..00000000
--- a/recipes-dpaa2/management-complex/management-complex_10.24.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=481d6288552113961a835bbabceb0c33"
-
-inherit deploy
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;nobranch=1"
-SRCREV = "324817697a4c89a9a940fb7dba1b18909913ee20"
-
-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.20.4.bb b/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
index 3e14a26e..d1877159 100644
--- a/recipes-dpaa2/management-complex/management-complex_10.20.4.bb
+++ b/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
@@ -1,20 +1,20 @@
SUMMARY = "DPAA2 Management Complex Firmware"
LICENSE = "NXP-Binary-EULA"
-LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=73d4b970c18882e229e4bf1ada5bb8d6"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=481d6288552113961a835bbabceb0c33"
inherit deploy
INHIBIT_DEFAULT_DEPS = "1"
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;nobranch=1"
-SRCREV = "f73683596a7b72124d67b62e64f3dc2bb36b9321"
+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 = "lx2160a"
+REGLEX:ls2088a = "ls2088a"
+REGLEX:ls1088a = "ls1088a"
+REGLEX:lx2160a = "lx216xa"
+REGLEX:lx2162a = "lx216xa"
do_install () {
install -d ${D}/boot
@@ -32,10 +32,9 @@ do_deploy () {
addtask deploy before do_build after do_install
PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
INHIBIT_PACKAGE_STRIP = "1"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-dpaa2/restool/files/disable-manpage-generation.patch b/recipes-dpaa2/restool/files/disable-manpage-generation.patch
new file mode 100644
index 00000000..34f2ae2d
--- /dev/null
+++ b/recipes-dpaa2/restool/files/disable-manpage-generation.patch
@@ -0,0 +1,26 @@
+From 5392152e704ff001c41de03445d668227237a87e Mon Sep 17 00:00:00 2001
+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 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index ee669ae..ab6e499 100644
+--- a/Makefile
++++ b/Makefile
+@@ -60,7 +60,6 @@ install: restool scripts/ls-main scripts/ls-append-dpl scripts/ls-debug scripts/
+ install -D -m 755 scripts/ls-debug $(DESTDIR)$(bindir)/ls-debug
+ $(foreach symlink, $(RESTOOL_SCRIPT_SYMLINKS), sh -c "cd $(DESTDIR)$(bindir) && ln -sf ls-main $(symlink)" ;)
+ install -D -m 755 scripts/restool_completion.sh $(DESTDIR)$(bindir_completion)/restool
+- install -m 0644 -D $(MANPAGE) $(call get_manpage_destination,$(MANPAGE))
+
+ clean:
+ rm -f $(OBJ) $(MANPAGE) \
+--
+2.25.1
+
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 66cea7ef..1d1aeffe 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -1,15 +1,17 @@
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"
-RDEPENDS_${PN} += "bash dtc"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/restool;nobranch=1"
-SRCREV = "8ddbe4c9559ffad5d7e5dd3cd5f00ceeff7f05d4"
+SRC_URI = "git://github.com/nxp-qoriq/restool;protocol=https;nobranch=1 \
+ file://disable-manpage-generation.patch \
+"
+SRCREV = "46604e41f4c7e54efa62503c6b4629321b21e056"
S = "${WORKDIR}/git"
-EXTRA_OEMAKE = 'CC="${CC}" EXTRA_CFLAGS="-O2 -Wno-missing-field-initializers -Wno-missing-braces"'
+inherit bash-completion
+
+EXTRA_OEMAKE = 'CC="${CC}" MANPAGE= EXTRA_CFLAGS="-O2 -Wno-missing-field-initializers -Wno-missing-braces -Wno-maybe-uninitialized -Wno-date-time"'
do_install () {
oe_runmake install DESTDIR=${D}
@@ -18,3 +20,6 @@ do_install () {
COMPATIBLE_MACHINE = "(qoriq-arm64)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
+RDEPENDS:${PN} += "bash dtc"
+RDEPENDS:${PN}-bash-completion += "bash"
+
diff --git a/recipes-dpaa2/spc/spc_git.bb b/recipes-dpaa2/spc/spc_git.bb
index e9bf1427..2c695368 100644
--- a/recipes-dpaa2/spc/spc_git.bb
+++ b/recipes-dpaa2/spc/spc_git.bb
@@ -1,18 +1,18 @@
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 = "be7dd8e346a934aae1e4bdd6b579f2aa4bb5cd86"
+SRC_URI = "git://github.com/nxp-qoriq/spc;protocol=https;nobranch=1"
+SRCREV = "d624b7809be48e4cf29a7bfa201028e4de1d1955"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = 'FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
TCLAP_HEADER_PATH="${STAGING_INCDIR}" '
-EXTRA_OEMAKE_virtclass-native = 'FMCHOSTMODE=1 FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
+EXTRA_OEMAKE:class-native = 'FMCHOSTMODE=1 FMD_USPACE_HEADER_PATH="${STAGING_INCDIR}/fmd" \
FMD_USPACE_LIB_PATH="${STAGING_LIBDIR}" LIBXML2_HEADER_PATH="${STAGING_INCDIR}/libxml2" \
TCLAP_HEADER_PATH="${STAGING_INCDIR}" '
diff --git a/recipes-extended/crconf/crconf_git.bb b/recipes-extended/crconf/crconf_git.bb
index f8f88d20..755365d6 100644
--- a/recipes-extended/crconf/crconf_git.bb
+++ b/recipes-extended/crconf/crconf_git.bb
@@ -1,9 +1,9 @@
SUMMARY = "crconf -Linux crypto layer configuraton tool"
SECTION = "base"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=5;md5=0f77fc44eb5911007ae4ac9f6736e111"
-EXTRA_OEMAKE = "'CC=${CC}' 'HOSTCC=${CC}'"
+EXTRA_OEMAKE = "'CC=${CC}' 'HOSTCC=${CC}' SBINDIR='${sbindir}' MANDIR='${mandir}'"
SRC_URI = "git://git.code.sf.net/p/crconf/code;protocol=https;nobranch=1"
SRCREV = "c2b9595d739a9515a86ff3b1980b5cfdfcc42d68"
@@ -13,5 +13,3 @@ S = "${WORKDIR}/git"
do_install () {
oe_runmake install DESTDIR=${D}
}
-
-FILES_${PN} += "/share/man/* ${libdir}/* ${sbindir}/*"
diff --git a/recipes-extended/dpdk/dpdk-20.11.inc b/recipes-extended/dpdk/dpdk-20.11.inc
new file mode 100644
index 00000000..90b4c405
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-20.11.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "Data Plane Development Kit"
+HOMEPAGE = "http://dpdk.org"
+LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
+ file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444"
+
+SRC_URI = "git://github.com/nxp-qoriq/dpdk;protocol=https;nobranch=1"
+SRCREV = "f74b8bd5ab1c6ff76e956fc202a56aea2d200270"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
+
+CVE_PRODUCT = "data_plane_development_kit"
diff --git a/recipes-extended/dpdk/dpdk-20.11/0001-Makefile-add-makefile.patch b/recipes-extended/dpdk/dpdk-20.11/0001-Makefile-add-makefile.patch
new file mode 100644
index 00000000..18b75fb6
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-20.11/0001-Makefile-add-makefile.patch
@@ -0,0 +1,74 @@
+From 768cef60957d5e840071d1d6514d4add3f3c2904 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 14 Apr 2021 17:25:53 +0800
+Subject: [PATCH] Makefile: add makefile
+
+Current meson build for kernel module build does not fit in Yocto.
+So added Makefile to build rte_kni.ko
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ kernel/linux/kni/Kbuild | 6 ------
+ kernel/linux/kni/Makefile | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 6 deletions(-)
+ delete mode 100644 kernel/linux/kni/Kbuild
+ create mode 100644 kernel/linux/kni/Makefile
+
+diff --git a/kernel/linux/kni/Kbuild b/kernel/linux/kni/Kbuild
+deleted file mode 100644
+index e5452d6c00..0000000000
+--- a/kernel/linux/kni/Kbuild
++++ /dev/null
+@@ -1,6 +0,0 @@
+-# SPDX-License-Identifier: BSD-3-Clause
+-# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+-
+-ccflags-y := $(MODULE_CFLAGS)
+-obj-m := rte_kni.o
+-rte_kni-y := $(patsubst $(src)/%.c,%.o,$(wildcard $(src)/*.c))
+diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
+new file mode 100644
+index 0000000000..19897ee06e
+--- /dev/null
++++ b/kernel/linux/kni/Makefile
+@@ -0,0 +1,35 @@
++#
++# Makefile for building rte_kni.ko
++#
++MODULE_CFLAGS += -include $(S)/config/rte_config.h
++MODULE_CFLAGS += -I$(S)/lib/librte_eal/include
++MODULE_CFLAGS += -I$(S)/lib/librte_kni
++MODULE_CFLAGS += -I$(S)/kernel/linux/kni
++MODULE_CFLAGS += -I$(S)
++MODULE_CFLAGS += -I$(STAGING_INCDIR)
++
++rte_kni-objs = kni_misc.o kni_net.o
++
++ccflags-y := $(MODULE_CFLAGS)
++cflags-y := $(MODULE_CFLAGS)
++obj-m := rte_kni.o
++
++
++KERNEL_MAKE_OPTS := -C $(STAGING_KERNEL_DIR) M=$(CURDIR)
++ifneq ($(ARCH),)
++KERNEL_MAKE_OPTS += ARCH=$(ARCH)
++endif
++ifneq ($(CROSS_COMPILE),)
++KERNEL_MAKE_OPTS += CROSS_COMPILE=$(CROSS_COMPILE)
++endif
++
++build:
++ $(MAKE) $(KERNEL_MAKE_OPTS) modules
++
++install: modules_install
++
++modules_install:
++ $(MAKE) $(KERNEL_MAKE_OPTS) modules_install
++
++clean:
++ $(MAKE) $(KERNEL_MAKE_OPTS) clean
+--
+2.17.1
+
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
new file mode 100644
index 00000000..f88b6484
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-20.11/0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch
@@ -0,0 +1,31 @@
+From 6fe85f3a12d15e25345ef0547035a929351a179c Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Fri, 17 Sep 2021 12:53:53 +0530
+Subject: [PATCH] drivers/net/enetfec/enet_uio.c: fix multiple definition
+
+.../drivers/net/enetfec/enet_uio.c:22: multiple definition of `count';
+.../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 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/enetfec/enet_uio.c b/drivers/net/enetfec/enet_uio.c
+index b64dc522e8..9e09f9beb6 100644
+--- a/drivers/net/enetfec/enet_uio.c
++++ b/drivers/net/enetfec/enet_uio.c
+@@ -19,7 +19,7 @@
+ #include "enet_uio.h"
+
+ static struct uio_job enetfec_uio_job;
+-int count;
++static int count;
+
+ /** @brief Reads first line from a file.
+ * Composes file name as: root/subdir/filename
+--
+2.25.1
+
diff --git a/recipes-extended/dpdk/dpdk-20.11/0001-ifpga-meson-Fix-finding-librt-using-find_library.patch b/recipes-extended/dpdk/dpdk-20.11/0001-ifpga-meson-Fix-finding-librt-using-find_library.patch
new file mode 100644
index 00000000..4df28c40
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-20.11/0001-ifpga-meson-Fix-finding-librt-using-find_library.patch
@@ -0,0 +1,35 @@
+From 308409d72671b7978b20d40748ad985a235b6c86 Mon Sep 17 00:00:00 2001
+From: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
+Date: Thu, 24 Jun 2021 11:30:09 +0800
+Subject: [PATCH] ifpga/meson: Fix finding librt using find_library()
+
+Finding with "librt" keyword would give the output
+with full path of librt such as /usr/lib/librt.so
+instead of -lrt.
+
+Assume find_library() will prepend "lib", thus remove
+"lib" from "librt" keyword. The output will shows as
+-lrt.
+
+Upstream-Status: Submitted [https://mails.dpdk.org/archives/stable/2021-June/031840.html]
+
+Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
+---
+ drivers/raw/ifpga/base/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/raw/ifpga/base/meson.build b/drivers/raw/ifpga/base/meson.build
+index da2d6e33c..949f7f127 100644
+--- a/drivers/raw/ifpga/base/meson.build
++++ b/drivers/raw/ifpga/base/meson.build
+@@ -25,7 +25,7 @@ sources = [
+
+ rtdep = dependency('librt', required: false)
+ if not rtdep.found()
+- rtdep = cc.find_library('librt', required: false)
++ rtdep = cc.find_library('rt', required: false)
+ endif
+ if not rtdep.found()
+ build = false
+--
+2.32.0
diff --git a/recipes-extended/dpdk/dpdk-20.11/0001-meson.build-march-and-mcpu-already-passed-by-Yocto.patch b/recipes-extended/dpdk/dpdk-20.11/0001-meson.build-march-and-mcpu-already-passed-by-Yocto.patch
new file mode 100644
index 00000000..bef1f45b
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-20.11/0001-meson.build-march-and-mcpu-already-passed-by-Yocto.patch
@@ -0,0 +1,38 @@
+From cf8f15824dc2dd306d9c7e111641bef045d623c2 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 14 Apr 2021 16:03:10 +0800
+Subject: [PATCH] meson.build:-march and -mcpu already passed by Yocto
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ config/meson.build | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/config/meson.build b/config/meson.build
+index 2f150de3b8..41bb3e9ec4 100644
+--- a/config/meson.build
++++ b/config/meson.build
+@@ -94,12 +94,12 @@ dpdk_conf.set('RTE_MACHINE', machine)
+ machine_args = []
+
+ # ppc64 does not support -march= at all, use -mcpu and -mtune for that
+-if host_machine.cpu_family().startswith('ppc')
+- machine_args += '-mcpu=' + machine
+- machine_args += '-mtune=' + machine
+-else
+- machine_args += '-march=' + machine
+-endif
++#if host_machine.cpu_family().startswith('ppc')
++# machine_args += '-mcpu=' + machine
++# machine_args += '-mtune=' + machine
++#else
++# machine_args += '-march=' + machine
++#endif
+
+ toolchain = cc.get_id()
+ dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain)
+--
+2.17.1
+
diff --git a/recipes-extended/dpdk/dpdk-module_20.11.bb b/recipes-extended/dpdk/dpdk-module_20.11.bb
new file mode 100644
index 00000000..180b140b
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-module_20.11.bb
@@ -0,0 +1,41 @@
+include dpdk-20.11.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/dpdk-${PV}:"
+
+SRC_URI += " \
+ file://0001-Makefile-add-makefile.patch \
+"
+
+inherit module
+
+#kernel module needs 'rte_build_config.h', which is generated at buid time
+DEPENDS += "dpdk"
+
+export S
+export STAGING_KERNEL_DIR
+export STAGING_INCDIR
+export INSTALL_MOD_DIR="dpdk"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ cd ${S}/kernel/linux/kni
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_VERSION=${KERNEL_VERSION} \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}" \
+ O=${STAGING_KERNEL_BUILDDIR} \
+ KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \
+ ${MAKE_TARGETS}
+}
+
+do_install() {
+ cd ${S}/kernel/linux/kni
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \
+ INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ O=${STAGING_KERNEL_BUILDDIR} \
+ ${MODULES_INSTALL_TARGET}
+}
diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc
index 61c02ae7..f2ab1370 100644
--- a/recipes-extended/dpdk/dpdk.inc
+++ b/recipes-extended/dpdk/dpdk.inc
@@ -1,30 +1,30 @@
DESCRIPTION = "Data Plane Development Kit"
HOMEPAGE = "http://dpdk.org"
-RDEPENDS_${PN} += "python3-core"
+RDEPENDS:${PN} += "python3-core"
DEPENDS = "virtual/kernel openssl"
-DEPENDS_append_x86-64 = " numactl"
+DEPENDS:append:x86-64 = " numactl"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
inherit module
COMPATIBLE_HOST = '(aarch64|arm|i.86|x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
-COMPATIBLE_HOST_armv6 = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
+COMPATIBLE_HOST:armv4 = 'null'
+COMPATIBLE_HOST:armv5 = 'null'
+COMPATIBLE_HOST:armv6 = 'null'
-COMPATIBLE_MACHINE = "(imx|qoriq)"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp|qoriq)"
-DPDK_RTE_TARGET_x86-64 = "x86_64-native-linuxapp-gcc"
-DPDK_RTE_TARGET_x86 = "i686-native-linuxapp-gcc"
-DPDK_RTE_TARGET_armv7a = "${ARCH}-armv7a-linuxapp-gcc"
-DPDK_RTE_TARGET_armv7ve = "${ARCH}-armv7a-linuxapp-gcc"
+DPDK_RTE_TARGET:x86-64 = "x86_64-native-linuxapp-gcc"
+DPDK_RTE_TARGET:x86 = "i686-native-linuxapp-gcc"
+DPDK_RTE_TARGET:armv7a = "${ARCH}-armv7a-linuxapp-gcc"
+DPDK_RTE_TARGET:armv7ve = "${ARCH}-armv7a-linuxapp-gcc"
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"
@@ -93,13 +93,13 @@ do_install () {
PACKAGES += "${PN}-examples"
-FILES_${PN}-dbg += " \
+FILES:${PN}-dbg += " \
${datadir}/dpdk/.debug \
${datadir}/dpdk/examples/*/.debug \
"
-FILES_${PN}-staticdev += "${datadir}/dpdk/cmdif/lib/*.a \
+FILES:${PN}-staticdev += "${datadir}/dpdk/cmdif/lib/*.a \
"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${datadir}/dpdk/${RTE_TARGET}/.config \
${includedir} \
${includedir}/exec-env \
@@ -109,11 +109,14 @@ FILES_${PN}-dev += " \
${datadir}/dpdk/mk \
"
-FILES_${PN} += " ${datadir}/ \
+FILES:${PN} += " ${datadir}/ \
${prefix}/sbin/ \
${prefix}/bin/ \
${libdir}/ \
"
-FILES_${PN}-examples += " \
+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 426713c2..b14d4fbf 100644
--- a/recipes-extended/dpdk/dpdk_19.11-20.12.bb
+++ b/recipes-extended/dpdk/dpdk_19.11-20.12.bb
@@ -1,19 +1,20 @@
-LICENSE = "BSD-3-Clause & LGPLv2.1 & GPLv2"
+LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
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"
include dpdk.inc
-do_install_append () {
+do_install:append () {
# Remove the unneeded dir
rm -rf ${D}/${datadir}/${RTE_TARGET}/app
}
diff --git a/recipes-extended/dpdk/dpdk_20.11.bb b/recipes-extended/dpdk/dpdk_20.11.bb
new file mode 100644
index 00000000..2d27adc5
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk_20.11.bb
@@ -0,0 +1,93 @@
+include dpdk-20.11.inc
+
+SRC_URI += " \
+ file://0001-meson.build-march-and-mcpu-already-passed-by-Yocto.patch \
+ file://0001-ifpga-meson-Fix-finding-librt-using-find_library.patch \
+ file://0001-drivers-net-enetfec-enet_uio.c-fix-multiple-definiti.patch \
+"
+
+MESON_BUILDTYPE = "release"
+
+# kernel module is provide by dpdk-module recipe, so disable here
+EXTRA_OEMESON = " -Denable_kmods=false \
+ -Dexamples=all \
+ -Doptimization=3 \
+"
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[afxdp] = ",,libbpf"
+PACKAGECONFIG[libvirt] = ",,libvirt"
+PACKAGECONFIG[openssl] = ",,openssl"
+
+RDEPENDS:${PN} += "bash pciutils python3-core"
+RDEPENDS:${PN}-examples += "bash"
+DEPENDS = "numactl"
+
+inherit meson
+
+INSTALL_PATH = "${prefix}/share/dpdk"
+
+do_configure:prepend() {
+ sed -i "/implementor_/d" ${WORKDIR}/meson.cross
+ sed -i "/\[properties]/aimplementor_id = 'dpaa'" ${WORKDIR}/meson.cross
+ sed -i "/\[properties]/aimplementor_pn = 'default'" ${WORKDIR}/meson.cross
+ sed -i "s/cpu =.*/cpu = 'armv8-a'/" ${WORKDIR}/meson.cross
+}
+
+do_install:append(){
+ # remove source files
+ rm -rf ${D}/${INSTALL_PATH}/examples/*
+
+ # Install examples
+ install -m 0755 -d ${D}/${INSTALL_PATH}/examples/
+ for dirname in ${B}/examples/dpdk-*
+ do
+ if [ ! -d ${dirname} ] && [ -x ${dirname} ]; then
+ install -m 0755 ${dirname} ${D}/${INSTALL_PATH}/examples/
+ fi
+ done
+ cp -rf ${S}/nxp/* ${D}/${INSTALL_PATH}/
+}
+
+PACKAGES =+ "${PN}-tools ${PN}-examples ${PN}-misc"
+
+FILES:${PN}-tools = " \
+ ${bindir}/dpdk-testpmd \
+ ${INSTALL_PATH}/examples/dpdk-l2fwd \
+ ${INSTALL_PATH}/examples/dpdk-l2fwd-crypto \
+ ${INSTALL_PATH}/examples/dpdk-l3fwd \
+ ${INSTALL_PATH}/examples/dpdk-ipsec-secgw \
+"
+
+FILES:${PN}-examples = " \
+ ${bindir}/dpdk-proc-info \
+ ${bindir}/dpdk-test \
+ ${bindir}/dpdk-test-crypto-perf \
+ ${bindir}/dpdk-*.py \
+ ${INSTALL_PATH}/examples/dpdk-cmdif \
+ ${INSTALL_PATH}/examples/dpdk-cmdline \
+ ${INSTALL_PATH}/examples/dpdk-ethtool \
+ ${INSTALL_PATH}/examples/dpdk-ip_fragmentation \
+ ${INSTALL_PATH}/examples/dpdk-ip_reassembly \
+ ${INSTALL_PATH}/examples/dpdk-kni \
+ ${INSTALL_PATH}/examples/dpdk-l2fwd-keepalive \
+ ${INSTALL_PATH}/examples/dpdk-l2fwd-qdma \
+ ${INSTALL_PATH}/examples/dpdk-l3fwd-acl \
+ ${INSTALL_PATH}/examples/dpdk-link_status_interrupt \
+ ${INSTALL_PATH}/examples/dpdk-mp_client \
+ ${INSTALL_PATH}/examples/dpdk-mp_server \
+ ${INSTALL_PATH}/examples/dpdk-qdma_demo \
+ ${INSTALL_PATH}/examples/dpdk-simple_mp \
+ ${INSTALL_PATH}/examples/dpdk-symmetric_mp \
+ ${INSTALL_PATH}/examples/dpdk-symmetric_mp_qdma \
+ ${INSTALL_PATH}/examples/dpdk-timer \
+"
+
+FILES:${PN}-misc = " \
+ ${bindir}/dpdk-pdump \
+ ${bindir}/dpdk-test-* \
+ ${bindir}/dpdk-*.py \
+ ${INSTALL_PATH}/examples/* \
+"
+
+INSANE_SKIP:${PN} = "dev-so"
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 df496c28..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 a15bec6c..5b3391bd 100644
--- a/recipes-extended/jailhouse/jailhouse_0.12.bb
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -1,7 +1,7 @@
SUMMARY = "Jailhouse, i.MX fork"
HOMEPAGE = "https://github.com/siemens/jailhouse"
SECTION = "jailhouse"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
file://tools/root-cell-config.c.tmpl;beginline=6;endline=33;md5=2825581c1666c44a17955dc574cfbfb3 \
@@ -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,24 +86,27 @@ 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} += "${base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
-FILES_pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}/pyjailhouse"
+FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
+# Remove libdir/* appended by setuptools3-base.bbclass for module split to work correctly
+FILES:${PN}:remove = "${libdir}/*"
+FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
+ pyjailhouse \
python3-curses \
python3-datetime \
python3-mmap \
"
-RDEPENDS_pyjailhouse = " \
+RDEPENDS:pyjailhouse = " \
python3-core \
python3-ctypes \
python3-fcntl \
python3-shell \
"
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
-COMPATIBLE_MACHINE = "(mx8m)"
+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 30f33a20..731b7a23 100644
--- a/recipes-extended/libpkcs11/libpkcs11_git.bb
+++ b/recipes-extended/libpkcs11/libpkcs11_git.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "PKCS library"
-LICENSE = "GPLv2 & BSD"
+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 = "a243fb21772f1bd434d8bc1ac45feb36571afadb"
+SRCREV = "8d85182b7a7cd393ab6dd72930f8d1b69468f741"
DEPENDS = "openssl secure-obj"
@@ -30,10 +30,11 @@ do_install(){
mkdir -p ${D}/${includedir} ${D}/${bindir}
cp ${S}/out/export/lib/libpkcs11.so ${D}/${libdir}
cp ${S}/out/export/include/*.h ${D}/${includedir}
+ rm -f ${D}${includedir}/pkcs11.h
cp ${S}/out/export/app/* ${D}/${bindir}
}
PARALLEL_MAKE = ""
-INSANE_SKIP_${PN} = "ldflags dev-deps"
-INSANE_SKIP_${PN}-dev = "ldflags dev-elf"
+INSANE_SKIP:${PN} = "ldflags dev-deps"
+INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-extended/merge-files/merge-files_1.0.bb b/recipes-extended/merge-files/merge-files_1.0.bb
index 6fe5b637..5b3ca7ed 100644
--- a/recipes-extended/merge-files/merge-files_1.0.bb
+++ b/recipes-extended/merge-files/merge-files_1.0.bb
@@ -17,6 +17,6 @@ do_install () {
do_configure[noexec] = "1"
do_compile[noexec] = "1"
-FILES_${PN} = "/*"
-ALLOW_EMPTY_${PN} = "1"
-INSANE_SKIP_${PN} = "debug-files dev-so"
+FILES:${PN} = "/*"
+ALLOW_EMPTY:${PN} = "1"
+INSANE_SKIP:${PN} = "debug-files dev-so"
diff --git a/recipes-extended/odp/odp-counters_git.bb b/recipes-extended/odp/odp-counters_git.bb
index 860dd5fa..c8f13208 100644
--- a/recipes-extended/odp/odp-counters_git.bb
+++ b/recipes-extended/odp/odp-counters_git.bb
@@ -2,13 +2,13 @@ require odp.inc
inherit module
-do_compile_prepend () {
+do_compile:prepend () {
export KERNEL_PATH="${STAGING_KERNEL_DIR}"
export KERNEL_CFG_PATH="${STAGING_KERNEL_BUILDDIR}"
cd ${S}/test/debug/perf_counters
}
do_install () {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/odp
- install -m 755 ${S}/test/debug/perf_counters/odpfsl_perfcounters.ko ${D}/lib/modules/${KERNEL_VERSION}/odp
+ install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/odp
+ install -m 755 ${S}/test/debug/perf_counters/odpfsl_perfcounters.ko ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/odp
}
diff --git a/recipes-extended/odp/odp-module_git.bb b/recipes-extended/odp/odp-module_git.bb
index 46b89654..ba74a5c0 100644
--- a/recipes-extended/odp/odp-module_git.bb
+++ b/recipes-extended/odp/odp-module_git.bb
@@ -2,15 +2,15 @@ require odp.inc
inherit module
-do_compile_prepend () {
+do_compile:prepend () {
export KERNEL_PATH="${STAGING_KERNEL_DIR}"
export KERNEL_CFG_PATH="${STAGING_KERNEL_BUILDDIR}"
cd ${S}/kern
}
do_install () {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/odp
- install -m 755 ${S}/kern/odpfsl_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/odp
+ install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/odp
+ install -m 755 ${S}/kern/odpfsl_kni.ko ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/odp
}
-PKG_${PN} = "kernel-module-${PN}"
+PKG:${PN} = "kernel-module-${PN}"
diff --git a/recipes-extended/odp/odp.inc b/recipes-extended/odp/odp.inc
index 129f77ae..0c90d0c5 100644
--- a/recipes-extended/odp/odp.inc
+++ b/recipes-extended/odp/odp.inc
@@ -6,12 +6,12 @@ SECTION = "console/network"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ca6103dc75397fb6bec596187d6b7829"
-FILESEXTRAPATHS_prepend := "${THISDIR}/odp:"
+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 00575e24..7d6600d0 100644
--- a/recipes-extended/odp/odp_git.bb
+++ b/recipes-extended/odp/odp_git.bb
@@ -6,17 +6,16 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
DEPENDS = "openssl cunit libxml2"
-RDEPENDS_${PN} = "bash libcrypto libssl odp-module odp-counters"
+RDEPENDS:${PN} = "bash libcrypto libssl odp-module odp-counters"
ODP_SOC ?= ""
-ODP_SOC_ls1043ardb = "LS1043"
-ODP_SOC_ls1046ardb = "LS1046"
+ODP_SOC:ls1043ardb = "LS1043"
+ODP_SOC:ls1046ardb = "LS1046"
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"
+ODP_BUILD_TYPE:ls1043ardb = "ls1043"
+ODP_BUILD_TYPE:ls1046ardb = "ls1046"
+ODP_BUILD_TYPE:ls1088ardb = "ls1088"
EXTRA_OECONF = "--with-platform=${ODP_PLATFORM} \
--enable-test-vald \
@@ -34,17 +33,17 @@ CFLAGS += "-Wno-format-truncation -Wno-maybe-uninitialized -Wno-implicit-fallthr
PACKAGECONFIG[perf] = "--enable-test-perf,,,"
-do_configure_prepend () {
+do_configure:prepend () {
export SOC=${ODP_SOC}
${S}/bootstrap
}
-do_compile_prepend () {
+do_compile:prepend () {
export SOC=${ODP_SOC}
export ARCH=${TUNE_ARCH}
}
-do_install_append () {
+do_install:append () {
install -d ${D}${includedir}/odp/kni
install -d ${D}${includedir}/odp/kern
install -d ${D}${includedir}/odp/flib/mc
@@ -58,6 +57,6 @@ do_install_append () {
sed -i -e 's#platform/linux-dpaa2/##g' ${D}${includedir}/odp/kern/*.h
}
-FILES_${PN}-staticdev += "${datadir}/opendataplane/*.la"
-FILES_${PN} += "/usr/odp/bin /usr/odp/scripts /usr/odp/debug /usr/odp/test/validation /usr/odp/test/performance /usr/odp/test/miscellaneous /usr/odp/test/api_test"
-FILES_${PN}-dbg += "/usr/odp/bin/.debug /usr/odp/debug/.debug /usr/odp/test/validation/.debug /usr/odp/test/performance/.debug /usr/odp/test/miscellaneous/.debug /usr/odp/test/api_test/.debug"
+FILES:${PN}-staticdev += "${datadir}/opendataplane/*.la"
+FILES:${PN} += "/usr/odp/bin /usr/odp/scripts /usr/odp/debug /usr/odp/test/validation /usr/odp/test/performance /usr/odp/test/miscellaneous /usr/odp/test/api_test"
+FILES:${PN}-dbg += "/usr/odp/bin/.debug /usr/odp/debug/.debug /usr/odp/test/validation/.debug /usr/odp/test/performance/.debug /usr/odp/test/miscellaneous/.debug /usr/odp/test/api_test/.debug"
diff --git a/recipes-extended/ofp/ofp_git.bb b/recipes-extended/ofp/ofp_git.bb
index c76eafd7..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"
@@ -32,6 +32,6 @@ do_configure () {
${S}/configure ${EXTRA_OECONF}
}
-FILES_${PN} += "/usr/ofp/bin"
-FILES_${PN}-dbg += "/usr/ofp/bin/.debug"
+FILES:${PN} += "/usr/ofp/bin"
+FILES:${PN}-dbg += "/usr/ofp/bin/.debug"
COMPATIBLE_MACHINE = "(ls2088a|ls1088a)"
diff --git a/recipes-extended/ovs-dpdk/ovs-dpdk_2.13.0.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_2.13.0.bb
deleted file mode 100644
index 9e817579..00000000
--- a/recipes-extended/ovs-dpdk/ovs-dpdk_2.13.0.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-DESCRIPTION = "OVS DPDK"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1ce5d23a6429dff345518758f13aaeab"
-
-DEPENDS = "dpdk python3-six-native coreutils-native"
-RDEPENDS_${PN} = "bash libcrypto libssl python3"
-
-inherit python3native
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ovs-dpdk;nobranch=1"
-SRCREV = "072130412196029bcc284e353023d81019a8daa7"
-
-S = "${WORKDIR}/git"
-
-DPAA_VER ?= "dpaa"
-export RTE_TARGET = "${ARCH}-${DPAA_VER}-linuxapp-gcc"
-
-EXTRA_OEMAKE += 'ARCH="${ARCH}" CROSS="${TARGET_PREFIX}" \
- CPU_CFLAGS="--sysroot=${STAGING_DIR_HOST}" RTE_SDK="${S}" \
- OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
- RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" \
-'
-
-do_configure() {
- export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR}
- ${S}/boot.sh
- ${S}/configure --host aarch64-fsl-linux --with-dpdk=${SYSROOT_DPDK}/usr/share/${RTE_TARGET} --with-openssl=${SYSROOT_DPDK}/usr CFLAGS="-g -Wno-cast-align -Ofast"
-}
-
-do_compile() {
- oe_runmake O="${RTE_TARGET}" T="${RTE_TARGET}"
-}
-
-do_install() {
- install -d ${D}${bindir}/ovs-dpdk
- cp -rf ${S}/ovsdb/ovsdb-tool ${D}${bindir}/ovs-dpdk
- cp -rf ${S}/ovsdb/ovsdb-server ${D}${bindir}/ovs-dpdk
- cp -rf ${S}/vswitchd/vswitch.ovsschema ${D}${bindir}/ovs-dpdk
- cp -rf ${S}/vswitchd/ovs-vswitchd ${D}${bindir}/ovs-dpdk
- cp -rf ${S}/utilities/ovs-vsctl ${D}${bindir}/ovs-dpdk
- cp -rf ${S}/utilities/ovs-ofctl ${D}${bindir}/ovs-dpdk
- chmod 777 -R ${D}${bindir}/ovs-dpdk/*
-}
-
-ALLOW_EMPTY_${PN} = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
new file mode 100644
index 00000000..20d06dd6
--- /dev/null
+++ b/recipes-extended/ovs-dpdk/ovs-dpdk_2.15.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "OVS DPDK"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ce5d23a6429dff345518758f13aaeab"
+
+DEPENDS = "dpdk python3-six-native coreutils-native autoconf-native automake-native"
+RDEPENDS:${PN} = "bash libcrypto libssl python3"
+
+inherit python3native pkgconfig
+
+SRC_URI = "git://github.com/nxp-qoriq/ovs-dpdk;protocol=https;nobranch=1"
+SRCREV = "f2c0744d2f68c4cd2840d6e409d7b0520e4caf99"
+
+S = "${WORKDIR}/git"
+
+do_configure() {
+ export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR}
+ ${S}/boot.sh
+ ${S}/configure --host aarch64-fsl-linux --with-dpdk=static --with-openssl=${SYSROOT_DPDK}/usr CFLAGS="-g -Wno-cast-align -Ofast"
+}
+
+do_install:append() {
+ install -d ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/ovsdb/ovsdb-tool ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/ovsdb/ovsdb-server ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/ovsdb/ovsdb-client ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/vswitchd/vswitch.ovsschema ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/vswitchd/ovs-vswitchd ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/utilities/ovs-vsctl ${D}${bindir}/ovs-dpdk
+ cp -rf ${S}/utilities/ovs-ofctl ${D}${bindir}/ovs-dpdk
+ chmod 777 -R ${D}${bindir}/ovs-dpdk/*
+}
+
+ALLOW_EMPTY:${PN} = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
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
new file mode 100644
index 00000000..e535487f
--- /dev/null
+++ b/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch
@@ -0,0 +1,73 @@
+From 530fbb2e2deb6b9214466933df221910c2c50b7c Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Fri, 15 Oct 2021 08:01:15 +0530
+Subject: [PATCH] fix gcc11 mismatched-dealloc error
+
+Fix build error with gcc 11:
+| FAILED: lib/common/libcommon.a.p/lscpu.c.o
+| aarch64-poky-linux-gcc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wdate-time --sysroot=/opt/ci/yocto/honister/build-lx2162aqds/tmp/work/lx2162aqds-poky-linux/pktgen-dpdk/21.05.0-r0/recipe-sysroot -Ilib/common/libcommon.a.p -Ilib/common -I../git/lib/common -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -O3 -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wno-pedantic -Wno-format-truncation -DRTE_FORCE_INTRINSICS -fPIC -include rte_config.h -march=armv8-a+crc -moutline-atomics -MD -MQ lib/common/libcommon.a.p/lscpu.c.o -MF lib/common/libcommon.a.p/lscpu.c.o.d -o lib/common/libcommon.a.p/lscpu.c.o -c ../git/lib/common/lscpu.c
+| In function 'lscpu_info_get',
+| inlined from 'lscpu_info' at ../git/lib/common/lscpu.c:210:2:
+| ../git/lib/common/lscpu.c:167:9: error: 'fclose' called on pointer returned from a mismatched allocation function [-Werror=mismatched-dealloc]
+| 167 | fclose(f);
+| | ^~~~~~~~~
+| ../git/lib/common/lscpu.c: In function 'lscpu_info':
+| ../git/lib/common/lscpu.c:146:22: note: returned from 'popen'
+| 146 | FILE *f = popen(lscpu_path, "r");
+| | ^~~~~~~~~~~~~~~~~~~~~~
+| In function 'cpu_proc_info',
+| inlined from 'lscpu_info' at ../git/lib/common/lscpu.c:211:2:
+| ../git/lib/common/lscpu.c:195:9: error: 'fclose' called on pointer returned from a mismatched allocation function [-Werror=mismatched-dealloc]
+| 195 | fclose(f);
+| | ^~~~~~~~~
+| ../git/lib/common/lscpu.c: In function 'lscpu_info':
+| ../git/lib/common/lscpu.c:174:22: note: returned from 'popen'
+| 174 | FILE *f = popen(proc_path, "r");
+| | ^~~~~~~~~~~~~~~~~~~~~
+| cc1: all warnings being treated as errors
+
+Upstream-Status: Pending
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+---
+ app/pktgen.h | 2 +-
+ lib/common/lscpu.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/app/pktgen.h b/app/pktgen.h
+index 7c61fc8..2f24c65 100644
+--- a/app/pktgen.h
++++ b/app/pktgen.h
+@@ -531,7 +531,7 @@ do_command(const char *cmd, int (*display)(char *, int)) {
+ i = display(line, i);
+
+ if (f)
+- fclose(f);
++ pclose(f);
+ if (line)
+ free(line);
+
+diff --git a/lib/common/lscpu.c b/lib/common/lscpu.c
+index 8b56ccd..912c601 100644
+--- a/lib/common/lscpu.c
++++ b/lib/common/lscpu.c
+@@ -164,7 +164,7 @@ lscpu_info_get(const char *lscpu_path)
+ }
+ }
+
+- fclose(f);
++ pclose(f);
+ free(line);
+ }
+
+@@ -192,7 +192,7 @@ cpu_proc_info(const char *proc_path)
+ }
+ }
+
+- fclose(f);
++ pclose(f);
+ free(line);
+ }
+
+--
+2.25.1
+
diff --git a/recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb
deleted file mode 100644
index f3a73c35..00000000
--- a/recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "PKTGEN DPDK"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=30ac8fa65a07ea7cc1c7ee84e1c80294"
-
-DEPENDS += "libpcap dpdk lua lua-native"
-
-SRC_URI = "git://dpdk.org/git/apps/pktgen-dpdk;protocol=https;nobranch=1 \
-"
-SRCREV = "7a61e4dfcdf037c31460b6c9bcb301797813036a"
-
-S = "${WORKDIR}/git"
-
-DPAA_VER ?= "dpaa"
-export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc"
-export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/"
-
-EXTRA_OEMAKE += 'CC="${CC}" LD="${LD}" RTE_SDK="${RECIPE_SYSROOT}/usr/share/" RTE_TARGET="arm64-${DPAA_VER}-linuxapp-gcc"'
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir}/
- cp -f ${S}/app/arm64-dpaa-linuxapp-gcc/pktgen ${D}${bindir}/
- cp -f ${S}/Pktgen.lua ${D}${bindir}/
-}
-
-INSANE_SKIP_${PN} = "ldflags"
-INHIBIT_PACKAGE_STRIP = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-PARALLEL_MAKE = ""
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
new file mode 100644
index 00000000..f04e1e9f
--- /dev/null
+++ b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "PKTGEN DPDK"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0245ceedaef59ae0129500b0ce1e8a45"
+
+DEPENDS += "libpcap dpdk lua lua-native"
+
+SRC_URI = "git://dpdk.org/git/apps/pktgen-dpdk;protocol=https;nobranch=1 \
+ file://fix-gcc11-mismatched-dealloc-error.patch \
+"
+SRCREV = "3a09aa916597fb9a97ee8eec50044cbdb9c4abde"
+
+S = "${WORKDIR}/git"
+
+DPAA_VER ?= "dpaa"
+export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc"
+export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/dpdk"
+
+inherit meson pkgconfig
+
+MESON_BUILDTYPE = "release"
+EXTRA_OEMESON += '-Dc_args="-DRTE_FORCE_INTRINSICS"'
+
+do_configure:prepend() {
+ sed -i "/^add_project_arguments('-march=native'/s/^/#&/" ${S}/meson.build
+}
+
+do_install() {
+ install -d ${D}${bindir}/
+ install -m 0755 app/pktgen ${D}${bindir}/
+ install -m 0644 ${S}/Pktgen.lua ${D}${bindir}/
+}
+
+INSANE_SKIP:${PN} = "ldflags"
+INHIBIT_PACKAGE_STRIP = "1"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+PARALLEL_MAKE = ""
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-extended/procps/procps_%.bbappend b/recipes-extended/procps/procps_%.bbappend
index face0ccc..43fb349b 100644
--- a/recipes-extended/procps/procps_%.bbappend
+++ b/recipes-extended/procps/procps_%.bbappend
@@ -1,4 +1,4 @@
-do_install_append_qoriq-ppc() {
+do_install:append:qoriq-ppc() {
for keyword in \
net.ipv4.conf.default.rp_filter \
net.ipv4.conf.all.rp_filter \
diff --git a/recipes-extended/secure-obj/secure-obj.inc b/recipes-extended/secure-obj/secure-obj.inc
index 8a62d9cb..64e4a6b7 100644
--- a/recipes-extended/secure-obj/secure-obj.inc
+++ b/recipes-extended/secure-obj/secure-obj.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Secure Object"
LICENSE = "BSD"
DEPENDS = "openssl optee-os-qoriq optee-client-qoriq"
-RDEPENDS_${PN} = "bash libcrypto libssl"
+RDEPENDS:${PN} = "bash libcrypto libssl"
DEPENDS += "python3-pycryptodomex-native"
@@ -10,9 +10,8 @@ inherit python3native
LDFLAGS += "${TOOLCHAIN_OPTIONS}"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/secure_obj;nobranch=1 \
-"
-SRCREV = "71a6eb33b58a8578a60995da3896f8f2d638c916"
+SRC_URI = "git://github.com/nxp-qoriq/secure_obj;protocol=https;nobranch=1"
+SRCREV = "5ff1231f74b4b01744be95a3137a14ad0a483e61"
WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/"
@@ -20,9 +19,9 @@ export OPTEE_CLIENT_EXPORT = "${RECIPE_SYSROOT}/usr"
EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
INHIBIT_PACKAGE_STRIP = "1"
PARALLEL_MAKE = ""
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
COMPATIBLE_MACHINE = "(qoriq-arm64)"
DEBUG_BUILD = "1"
diff --git a/recipes-extended/secure-obj/secure-obj_git.bb b/recipes-extended/secure-obj/secure-obj_git.bb
index 2d723738..84ecea1e 100644
--- a/recipes-extended/secure-obj/secure-obj_git.bb
+++ b/recipes-extended/secure-obj/secure-obj_git.bb
@@ -4,15 +4,16 @@ LIC_FILES_CHKSUM = "file://README;md5=82b72e88f23cded9dd23f0fb1790b8d2"
S = "${WORKDIR}/git"
-RDEPENDS_{PN} += "secure-obj-module"
+RDEPENDS:{PN} += "secure-obj-module"
WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/"
export OPTEE_CLIENT_EXPORT = "${RECIPE_SYSROOT}/usr"
export CROSS_COMPILE_HOST = "${CROSS_COMPILE}"
export CROSS_COMPILE_TA = "${CROSS_COMPILE}"
-ARCH_qoriq-arm64 = "aarch64"
-ARCH_qoriq-arm = "arm"
+ARCH:qoriq-arm64 = "aarch64"
+ARCH:qoriq-arm = "arm"
+CFLAGS += "${TOOLCHAIN_OPTIONS}"
do_compile() {
unset LDFLAGS
@@ -41,6 +42,6 @@ do_install() {
rm -rf ${D}${bindir}/test
}
-FILES_${PN} += "${base_libdir}/optee_armtz ${libdir}/${ARCH}-linux-gnu/openssl-1.0.0/engines"
-INSANE_SKIP_${PN} = "dev-deps ldflags"
-INSANE_SKIP_${PN}-dev = "ldflags dev-elf"
+FILES:${PN} += "${base_libdir}/optee_armtz ${libdir}/${ARCH}-linux-gnu/openssl-1.0.0/engines"
+INSANE_SKIP:${PN} = "dev-deps ldflags"
+INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
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 b75c0feb..c08c9492 100644
--- a/recipes-extended/skmm-ep/skmm-ep_git.bb
+++ b/recipes-extended/skmm-ep/skmm-ep_git.bb
@@ -1,13 +1,13 @@
DESCRIPTION = "SKMM application for PCIe endpoint"
SECTION = "skmm-ep"
-LICENSE = "BSD & GPLv2"
+LICENSE = "BSD & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://Makefile;endline=30;md5=39e58bedc879163c9338596e52df5b1f"
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/testfloat/testfloat_2a.bb b/recipes-extended/testfloat/testfloat_2a.bb
index 800cef3d..4ed2ceb3 100644
--- a/recipes-extended/testfloat/testfloat_2a.bb
+++ b/recipes-extended/testfloat/testfloat_2a.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://testfloat/testfloat.txt;beginline=87;endline=95;md5=b
SRC_URI = " http://www.jhauser.us/arithmetic/TestFloat-2a.tar.Z;name=TestFloat \
http://www.jhauser.us/arithmetic/SoftFloat-2b.tar.Z;name=SoftFloat \
"
-SRC_URI_append_qoriq-ppc = " file://SoftFloat-powerpc-1.patch \
+SRC_URI:append:qoriq-ppc = " file://SoftFloat-powerpc-1.patch \
file://TestFloat-powerpc-E500v2-SPE-1.patch \
file://Yocto-replace-COMPILE_PREFIX-gcc.patch \
"
@@ -40,6 +40,6 @@ do_install(){
install testfloat/powerpc-linux-gcc/testsoftfloat ${D}/${bindir}
}
-COMPATIBLE_HOST_e500v2 = ".*"
+COMPATIBLE_HOST:e500v2 = ".*"
COMPATIBLE_HOST ?= "(none)"
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 94091db8..2ad4a0c4 100644
--- a/recipes-extended/tsntool/tsntool_git.bb
+++ b/recipes-extended/tsntool/tsntool_git.bb
@@ -1,20 +1,26 @@
SUMMARY = "Configure TSN funtionalitie"
DESCRIPTION = "A tool to configure TSN funtionalities in user space"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ef58f855337069acd375717db0dbbb6d"
DEPENDS = "cjson libnl readline"
inherit pkgconfig
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/tsntool;protocol=https;nobranch=1"
-SRCREV = "1d1686e83c8f83472055189c278b837434990dcc"
+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"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
-do_compile_prepend() {
+do_compile:prepend() {
mkdir -p ${S}/include/linux
cp -r ${STAGING_KERNEL_DIR}/include/uapi/linux/tsn.h ${S}/include/linux
}
@@ -25,7 +31,7 @@ do_install() {
}
PACKAGES = "${PN}-dbg ${PN}"
-FILES_${PN} = "${libdir}/libtsn.so ${bindir}/*"
-INSANE_SKIP_${PN} += "file-rdeps rpaths dev-so"
+FILES:${PN} = "${libdir}/libtsn.so ${bindir}/*"
+INSANE_SKIP:${PN} += "file-rdeps rpaths dev-so"
COMPATIBLE_MACHINE = "(qoriq)"
PARALLEL_MAKE = ""
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-fsl/packagegroups/packagegroup-fsl-isp.bb b/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
index 4ad257ee..415587a8 100644
--- a/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
@@ -1,14 +1,16 @@
DESCRIPTION = "Add packages for ISP build"
+# basler-camera* gets dynamically renamed
+PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
ISP_PKGS ?= ""
-ISP_PKGS_mx8mp = " \
+ISP_PKGS:mx8mp-nxp-bsp = " \
isp-imx \
basler-camera \
basler-camera-dev \
kernel-module-isp-vvcam \
"
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
${ISP_PKGS} \
"
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb b/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
index 968642bf..d0367fdb 100644
--- a/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
@@ -20,7 +20,7 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
# Distro can override the following VIRTUAL-RUNTIME providers:
VIRTUAL-RUNTIME_keymaps ?= "keymaps"
-RDEPENDS_${PN}-base = " \
+RDEPENDS:${PN}-base = " \
bash \
imx-uuc \
util-linux \
@@ -34,16 +34,16 @@ RDEPENDS_${PN}-base = " \
${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
"
-RDEPENDS_${PN}-mtd = " \
+RDEPENDS:${PN}-mtd = " \
${PN}-base \
imx-kobs \
mtd-utils \
mtd-utils-ubifs \
"
-RDEPENDS_${PN}-extfs = " \
+RDEPENDS:${PN}-extfs = " \
${PN}-base \
e2fsprogs-mke2fs \
e2fsprogs-e2fsck \
"
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb b/recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb
index 8eb5b89a..724d0ff5 100644
--- a/recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb
@@ -7,6 +7,6 @@ OPENCV_PKGS = " \
opencv-samples \
python3-opencv \
"
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
${OPENCV_PKGS} \
"
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-qca6174.bb b/recipes-fsl/packagegroups/packagegroup-fsl-qca6174.bb
deleted file mode 100644
index aeba7623..00000000
--- a/recipes-fsl/packagegroups/packagegroup-fsl-qca6174.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2019 NXP
-
-SUMMARY = "Qualcomm Wi-Fi support"
-
-inherit packagegroup
-
-RDEPENDS_${PN} = " \
- kernel-module-qca6174 \
- firmware-qca6174 \
-"
-
-COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-qca9377.bb b/recipes-fsl/packagegroups/packagegroup-fsl-qca9377.bb
deleted file mode 100644
index 43df5a70..00000000
--- a/recipes-fsl/packagegroups/packagegroup-fsl-qca9377.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 2019 NXP
-
-SUMMARY = "Qualcomm Wi-Fi support"
-
-inherit packagegroup
-
-RDEPENDS_${PN} = " \
- kernel-module-qca9377 \
- firmware-qca9377 \
-"
-COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/recipes-graphics/cairo/cairo_%.bbappend b/recipes-graphics/cairo/cairo_%.bbappend
index 5b1562ab..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-armada_git.bb b/recipes-graphics/drm/libdrm-armada_git.bb
deleted file mode 100644
index a47987a5..00000000
--- a/recipes-graphics/drm/libdrm-armada_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Userspace interface to kernel DRM services"
-SECTION = "x11/base"
-LICENSE = "GPLv2 & BSD"
-
-LIC_FILES_CHKSUM = "file://libdrm_lists.h;beginline=1;endline=25;md5=2af1df1026ba1d24c8e7c370e68ed198"
-
-DEPENDS = "libdrm"
-
-SRCREV = "6b461c163b0bd02c76b65d94cc2fb3767167bda8"
-PV = "0.1+git${SRCPV}"
-SRC_URI = "git://git.armlinux.org.uk/~rmk/libdrm-armada.git"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE ?= "(imx|use-mainline-bsp)"
diff --git a/recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch b/recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch
deleted file mode 100644
index ae6b0ab7..00000000
--- a/recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From 45f48f8a5de59c04b0510c23853772bc970f411e Mon Sep 17 00:00:00 2001
-From: Max Krummenacher <max.krummenacher@toradex.com>
-Date: Thu, 9 Jan 2020 01:01:35 +0000
-Subject: [PATCH] meson: add libdrm-vivante to the meson meta data
-
-Upstream libdrm added the option to use meason as the buildsystem.
-Integrate Vivante into the relevant meson build information.
-
-Upstream-Status: Pending
-
-Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
----
- meson.build | 14 +++++++++++++
- meson_options.txt | 7 +++++++
- vivante/meson.build | 50 +++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 71 insertions(+)
- create mode 100644 vivante/meson.build
-
-diff --git a/meson.build b/meson.build
-index e292554a..f4740634 100644
---- a/meson.build
-+++ b/meson.build
-@@ -157,6 +157,15 @@ if _vc4 != 'false'
- with_vc4 = _vc4 == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family())
- endif
-
-+with_vivante = false
-+_vivante = get_option('vivante')
-+if _vivante == 'true'
-+ if not with_atomics
-+ error('libdrm_vivante requires atomics.')
-+ endif
-+ with_vivante = true
-+endif
-+
- # XXX: Apparently only freebsd and dragonfly bsd actually need this (and
- # gnu/kfreebsd), not openbsd and netbsd
- with_libkms = false
-@@ -312,6 +321,7 @@ install_headers(
- 'include/drm/savage_drm.h', 'include/drm/sis_drm.h',
- 'include/drm/tegra_drm.h', 'include/drm/vc4_drm.h',
- 'include/drm/via_drm.h', 'include/drm/virtgpu_drm.h',
-+ 'include/drm/vivante_drm.h',
- subdir : 'libdrm',
- )
- if with_vmwgfx
-@@ -362,6 +372,9 @@ endif
- if with_etnaviv
- subdir('etnaviv')
- endif
-+if with_vivante
-+ subdir('vivante')
-+endif
- if with_man_pages
- subdir('man')
- endif
-@@ -382,5 +395,6 @@ message(' EXYNOS API @0@'.format(with_exynos))
- message(' Freedreno API @0@ (kgsl: @1@)'.format(with_freedreno, with_freedreno_kgsl))
- message(' Tegra API @0@'.format(with_tegra))
- message(' VC4 API @0@'.format(with_vc4))
-+message(' Vivante API @0@'.format(with_etnaviv))
- message(' Etnaviv API @0@'.format(with_etnaviv))
- message('')
-diff --git a/meson_options.txt b/meson_options.txt
-index 8af33f1c..dc69563d 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -95,6 +95,13 @@ option(
- choices : ['true', 'false', 'auto'],
- description : '''Enable support for vc4's KMS API.''',
- )
-+option(
-+ 'vivante',
-+ type : 'combo',
-+ value : 'false',
-+ choices : ['true', 'false', 'auto'],
-+ description : '''Enable support for vivante's propriatary experimental KMS API.''',
-+)
- option(
- 'etnaviv',
- type : 'combo',
-diff --git a/vivante/meson.build b/vivante/meson.build
-new file mode 100644
-index 00000000..f6adb598
---- /dev/null
-+++ b/vivante/meson.build
-@@ -0,0 +1,50 @@
-+# Copyright © 2017-2018 Intel Corporation
-+
-+# Permission is hereby granted, free of charge, to any person obtaining a copy
-+# of this software and associated documentation files (the "Software"), to deal
-+# in the Software without restriction, including without limitation the rights
-+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+# copies of the Software, and to permit persons to whom the Software is
-+# furnished to do so, subject to the following conditions:
-+
-+# The above copyright notice and this permission notice shall be included in
-+# all copies or substantial portions of the Software.
-+
-+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+# SOFTWARE.
-+
-+
-+libdrm_vivante = shared_library(
-+ 'drm_vivante',
-+ [
-+ files(
-+ 'vivante_bo.c',
-+ ),
-+ config_file
-+ ],
-+ include_directories : [inc_root, inc_drm],
-+ link_with : libdrm,
-+ c_args : libdrm_c_args,
-+ dependencies : [dep_pthread_stubs, dep_rt, dep_atomic_ops],
-+ version : '1.0.0',
-+ install : true,
-+)
-+
-+pkg.generate(
-+ name : 'libdrm_vivante',
-+ libraries : libdrm_vivante,
-+ subdirs : ['.', 'libdrm'],
-+ version : meson.project_version(),
-+ requires_private : 'libdrm',
-+ description : 'Userspace interface to Vivante kernel DRM services',
-+)
-+
-+ext_libdrm_vivante = declare_dependency(
-+ link_with : [libdrm, libdrm_vivante],
-+ include_directories : [inc_drm, include_directories('.')],
-+)
---
-2.20.1
-
diff --git a/recipes-graphics/drm/libdrm_2.4.102.imx.bb b/recipes-graphics/drm/libdrm_2.4.102.imx.bb
deleted file mode 100644
index b8c38554..00000000
--- a/recipes-graphics/drm/libdrm_2.4.102.imx.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "Userspace interface to the kernel DRM services"
-DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
-stands for \"Direct Rendering Manager\", which is the kernel portion of the \
-\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
-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"
-PROVIDES = "drm"
-DEPENDS = "libpthread-stubs"
-
-IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
-IMX_LIBDRM_BRANCH ?= "libdrm-imx-2.4.102"
-SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \
- file://0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch "
-SRCREV = "f525ae649cd6e81e5d4e459799b0f7a120c4e174"
-S = "${WORKDIR}/git"
-
-DEFAULT_PREFERENCE = "-1"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
-
-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[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
-PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
-PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
-PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
-PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native"
-
-ALLOW_EMPTY_${PN}-drivers = "1"
-PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
- ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
- ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
-FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
-FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGES_prepend_imxgpu = "${PN}-vivante "
-RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante"
-FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
-PACKAGECONFIG_append_imxgpu = " vivante"
-PACKAGECONFIG[vivante] = "-Dvivante=true,-Dvivante=false"
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-graphics/drm/libdrm_2.4.115.imx.bb b/recipes-graphics/drm/libdrm_2.4.115.imx.bb
new file mode 100644
index 00000000..ada0b7ae
--- /dev/null
+++ b/recipes-graphics/drm/libdrm_2.4.115.imx.bb
@@ -0,0 +1,74 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9eb1f4831351ab42d762c40b3ebb7add \
+ file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs"
+
+SRC_URI = "${IMX_LIBDRM_SRC};branch=${SRCBRANCH}"
+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"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
+
+inherit meson pkgconfig manpages
+
+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=enabled,-Dvalgrind=disabled,valgrind"
+PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=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=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 \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+RRECOMMENDS:${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+FILES:${PN}-tests = "${bindir}/*"
+FILES:${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES:${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES:${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES:${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES:${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES:${PN}-kms = "${libdir}/libkms*.so.*"
+FILES:${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES:${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
+FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES:prepend:imxgpu = "${PN}-vivante "
+RRECOMMENDS:${PN}-drivers:append:imxgpu = " ${PN}-vivante"
+FILES:${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
+PACKAGECONFIG:append:imxgpu = " vivante"
+PACKAGECONFIG[vivante] = "-Dvivante=true,-Dvivante=false"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
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 be2bac75..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)} \
-"
+DEPENDS:append:imxgpu2d = " virtual/egl"
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/images/core-image-weston.bbappend b/recipes-graphics/images/core-image-weston.bbappend
index 2a3cde69..0d4a0c6f 100644
--- a/recipes-graphics/images/core-image-weston.bbappend
+++ b/recipes-graphics/images/core-image-weston.bbappend
@@ -1,3 +1,3 @@
# FIXME: i.MX6SL cannot use mesa for Graphics and it lacks GL support,
# so for now we skip it.
-CORE_IMAGE_BASE_INSTALL_remove_mx6sl = "clutter-1.0-examples"
+CORE_IMAGE_BASE_INSTALL:remove:mx6sl-nxp-bsp = "clutter-1.0-examples"
diff --git a/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb b/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb
deleted file mode 100644
index c407fb4a..00000000
--- a/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (C) 2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "GPU G2D library and apps for i.MX with 2D GPU and DPU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-PROVIDES += "virtual/libg2d"
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "18a4119f1f7b83a09f60381e5403bbab"
-SRC_URI[sha256sum] = "ba7e219b3cee32e0ac305685de21c67f30e0e5a1a89b5ec441ae6b8484b3f964"
-
-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}
- cp -r ${S}/gpu-demos/opt ${D}
-}
-
-FILES_${PN} = "${libdir}/libg2d* /opt"
-FILES_${PN}-dev = "${libdir}/libg2d${SOLIBSDEV} ${includedir}"
-INSANE_SKIP_${PN} += "ldflags"
-
-RDEPENDS_${PN} = "libgal-imx libdrm"
-
-# This is required to provide support for VPU Amphion HEVC tile format
-# From NXP [MGS-5547] (commit e175d6b4f78deab24d319b852998bef55cdecc99):
-# VPU Amphion HEVC tile support was added using OpenCL, so add a dependency on libopencl-imx.
-RDEPENDS_${PN} += "libopencl-imx"
-
-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_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-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/0001-dlsym-workaround-glibc-2.34-build-failure.patch b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace/0001-dlsym-workaround-glibc-2.34-build-failure.patch
new file mode 100644
index 00000000..2ed5587f
--- /dev/null
+++ b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace/0001-dlsym-workaround-glibc-2.34-build-failure.patch
@@ -0,0 +1,30 @@
+From d11884c88eac803c174f759414d0162154450b6a Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Thu, 2 Sep 2021 09:43:33 +0000
+Subject: [PATCH] dlsym: workaround glibc 2.34 build failure
+
+As suggested in [1], upstream component does not have a solution for the
+issue, and therefore for glibc version >= 2.34 dlsym wrappers should be
+skipped.
+
+Link: [1]: https://github.com/apitrace/apitrace/issues/756
+
+Upstream-Status: Pending
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ wrappers/dlsym.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: git/wrappers/dlsym.cpp
+===================================================================
+--- git.orig/wrappers/dlsym.cpp
++++ git/wrappers/dlsym.cpp
+@@ -34,7 +34,7 @@
+ #include "os.hpp"
+
+
+-#if defined(__GLIBC__) && !defined(__UCLIBC__)
++#if defined(__GLIBC__) && !defined(__UCLIBC__) && !(__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34)
+
+
+ #include <dlfcn.h>
diff --git a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
index 65ce9cd5..a2f049a8 100644
--- a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb
+++ b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
@@ -4,23 +4,25 @@ 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_9.0"
-SRCREV = "c50e6a954e44998f2e3793a8de863e961f8008c6"
+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 = "522cb2981289b7ba20d6dd4b4bf75097e079815b"
S = "${WORKDIR}/git"
inherit cmake pkgconfig perlnative python3native
-PACKAGECONFIG_BACKEND_mx6 = " \
+PACKAGECONFIG_BACKEND:mx6-nxp-bsp = " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'waffle', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
'', d), d)} \
"
-PACKAGECONFIG_BACKEND_mx7 = "${PACKAGECONFIG_BACKEND_mx6}"
-PACKAGECONFIG_BACKEND_mx8 = "waffle"
+PACKAGECONFIG_BACKEND:mx7-nxp-bsp = "${PACKAGECONFIG_BACKEND:mx6-nxp-bsp}"
+PACKAGECONFIG_BACKEND:mx8-nxp-bsp = "waffle"
PACKAGECONFIG_GPU2D = ""
-PACKAGECONFIG_GPU2D_imxgpu2d = "vivante"
+PACKAGECONFIG_GPU2D:imxgpu2d = "vivante"
PACKAGECONFIG ??= " \
egl \
@@ -37,10 +39,17 @@ PACKAGECONFIG[vivante] = "-DENABLE_VIVANTE=ON,-DENABLE_VIVANTE=OFF,virtual/libg2
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
-FILES_${PN} += " \
+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-g2d/imx-gpu-g2d_6.4.3.p1.0.bb b/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p1.0.bb
deleted file mode 100644
index ed11a54b..00000000
--- a/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p1.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "GPU G2D library and apps for i.MX with 2D GPU and no DPU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
-
-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] = "2c17220ff2c28701b5feca45b341961f"
-SRC_URI[aarch64.sha256sum] = "47a39b171d83bced378b1b4f408be6304850fe2f25bf4577dd1ea78e22473f3d"
-SRC_URI[arm.md5sum] = "968a7d324016376930579a0f904d6e69"
-SRC_URI[arm.sha256sum] = "8d3b024151d4bdcc4f68cdbba9c4e5d126d55c9258de5821c43b393ae3f840b4"
-
-S = "${WORKDIR}/${FSLBIN_NAME}"
-
-inherit fsl-eula-unpack
-
-do_install () {
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- cp ${S}/g2d/usr/lib/*.so* ${D}${libdir}
- cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
- cp -r ${S}/gpu-demos/opt ${D}
-}
-
-FILES_${PN} = "${libdir}/libg2d* /opt"
-FILES_${PN}-dev = "${includedir}"
-INSANE_SKIP_${PN} = "ldflags"
-
-RDEPENDS_${PN} = "libgal-imx"
-
-COMPATIBLE_MACHINE = "(imxgpu2d)"
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 5acf6352..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-2020 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=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
DEPENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -17,50 +17,67 @@ DEPENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \
'', d)} \
"
-DEPENDS_append_imxdrm = " libdrm wayland"
-DEPENDS_append_mx8 = " patchelf-native"
+DEPENDS:append:imxdrm = " libdrm wayland"
+DEPENDS:append:mx8-nxp-bsp = " patchelf-native"
# imx-gpu-viv does not provide everything it needs to for virtual/libgl
# on x11 backend or on Wayland backend with XWayland support.
# We depend on mesa to fill in what is missing.
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}"
-EXTRA_PROVIDES = ""
-EXTRA_PROVIDES_append_imxgpu3d = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'virtual/libgl', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libgl', \
- '', d), d)} \
+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 \
virtual/libgles2 \
"
-EXTRA_PROVIDES_append_mx8 = " \
+EXTRA_PROVIDES:append:mx8-nxp-bsp = " \
virtual/libgbm \
"
-PROVIDES_OPENVX = ""
-PROVIDES_OPENVX_mx8 = "virtual/libopenvx"
-PROVIDES_OPENVX_mx8mm = ""
-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"
-RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv"
+# 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 = "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 ?= ""
@@ -68,43 +85,55 @@ 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 = "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 \
- libvivante-dri-imx \
libvsc-imx \
- ${IMX_PACKAGES_GBM} \
- libwayland-viv-imx libwayland-viv-imx-dev \
- libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \
+ ${PACKAGES_GBM} \
imx-gpu-viv-tools \
imx-gpu-viv-demos \
- libvulkan-imx libvulkan-imx-dev \
- libopenvx-imx libopenvx-imx-dev \
- libnn-imx libnn-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':
raise bb.parse.SkipPackage('The kernel of machine needs to have Vivante kernel driver support for this recipe to be used.')
}
-USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
-USE_WL = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
+BACKEND = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "fb", d)}"
-# Inhibit warnings about files being stripped.
-INHIBIT_PACKAGE_STRIP = "1"
+# The packaged binaries have been stripped of debug info, so disable
+# operations accordingly.
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INSANE_SKIP_${BPN} += "already-stripped"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
# FIXME: The provided binary doesn't provide soname. If in future BSP
# release the libraries are fixed, we can drop this hack.
@@ -116,7 +145,7 @@ python __anonymous() {
# the source we cannot fix it. Disable the insane check for now.
packages = d.getVar('PACKAGES').split()
for p in packages:
- d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
+ d.appendVar("INSANE_SKIP:%s" % p, " ldflags")
# For the packages that make up the OpenGL interfaces, inject variables so that
# they don't get Debian-renamed (which would remove the -imx suffix).
@@ -125,36 +154,41 @@ python __anonymous() {
("libgles3",), ("libgbm",)):
fullp = p[0] + "-imx"
pkgs = "".join(' %s' % i for i in p)
- d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
- d.appendVar("RREPLACES_" + fullp, pkgs)
- d.appendVar("RPROVIDES_" + fullp, pkgs)
- d.appendVar("RCONFLICTS_" + fullp, pkgs)
+ d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
+ d.appendVar("RREPLACES:" + fullp, pkgs)
+ d.appendVar("RPROVIDES:" + fullp, pkgs)
+ d.appendVar("RCONFLICTS:" + fullp, pkgs)
# For -dev, the first element is both the Debian and original name
fullp += "-dev"
pkgs = p[0] + "-dev"
- d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
- d.appendVar("RREPLACES_" + fullp, pkgs)
- d.appendVar("RPROVIDES_" + fullp, pkgs)
- d.appendVar("RCONFLICTS_" + fullp, pkgs)
+ d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
+ d.appendVar("RREPLACES:" + fullp, pkgs)
+ d.appendVar("RPROVIDES:" + fullp, pkgs)
+ d.appendVar("RCONFLICTS:" + fullp, pkgs)
}
IS_MX6SL = "0"
-IS_MX6SL_mx6sl = "1"
+IS_MX6SL:mx6sl-nxp-bsp = "1"
IS_MX8 = "0"
-IS_MX8_mx8 = "1"
+IS_MX8:mx8-nxp-bsp = "1"
PACKAGE_FP_TYPE = "hardfp"
HAS_GBM = "false"
-HAS_GBM_mx8 = "true"
+HAS_GBM:mx8-nxp-bsp = "true"
-GLES3_HEADER_REMOVALS = "gl31.h gl32.h"
-GLES3_HEADER_REMOVALS_mx8m = "gl32.h"
-GLES3_HEADER_REMOVALS_mx8mm = "gl31.h gl32.h"
-GLES3_HEADER_REMOVALS_mx8qxp = ""
-GLES3_HEADER_REMOVALS_mx8qm = ""
+IMX_SOC = "IMX_SOC_NOT_SET"
+IMX_SOC:mx8qm-nxp-bsp = "mx8qm"
+IMX_SOC:mx8qxp-nxp-bsp = "mx8qxp"
+IMX_SOC:mx8dx-nxp-bsp = "mx8qxp"
+IMX_SOC:mx8mp-nxp-bsp = "mx8mp"
+IMX_SOC:mx8mq-nxp-bsp = "mx8mq"
+IMX_SOC:mx8mn-nxp-bsp = "mx8mn"
+IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp"
+
+LIBVULKAN_API_VERSION = "1.3.239"
do_install () {
install -d ${D}${libdir}
@@ -169,81 +203,88 @@ 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
+
install -d ${D}${libdir}/pkgconfig
if ${HAS_GBM}; then
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
fi
- # The preference order, based in DISTRO_FEATURES, is Wayland (with or without X11), X11 and fb
- if [ "${USE_WL}" = "yes" ]; then
-
- backend=wayland
+ 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
-
- if [ "${USE_X11}" = "yes" ]; then
-
- cp -r ${S}/gpu-core/usr/lib/dri ${D}${libdir}
-
- fi
-
- elif [ "${USE_X11}" = "yes" ]; then
-
- cp -r ${S}/gpu-core/usr/lib/dri ${D}${libdir}
-
- backend=x11
-
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gl_x11.pc ${D}${libdir}/pkgconfig/gl.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_x11.pc ${D}${libdir}/pkgconfig/egl.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm_x11.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2_x11.pc ${D}${libdir}/pkgconfig/glesv2.pc
- install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg_x11.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
-
- # Regular framebuffer
+ 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
-
- backend=fb
-
+ 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 [ "${USE_WL}" = "yes" ]; then
+ 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 [ "${IS_MX8}" = "1" ]; then
- # Rename the vulkan implementation library which is wrapped by the vulkan-loader
- # library of the same name
- MAJOR=1
- FULL=$MAJOR.1.6
- 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_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
- for header in ${GLES3_HEADER_REMOVALS}; do
- rm -f ${D}${includedir}/GLES3/${header}
- done
+ 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
- # skip packaging wayland libraries if no support is requested
- if [ "${USE_WL}" = "no" ]; then
- find ${D}${libdir} -name "libgc_wayland_protocol.*" -exec rm '{}' ';'
- find ${D}${libdir} -name "libwayland-viv.*" -exec rm '{}' ';'
+ if [ "${IS_MX8}" = "1" ]; then
+ 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
@@ -272,98 +313,122 @@ do_install () {
chown -R root:root "${D}"
}
-ALLOW_EMPTY_${PN} = "1"
+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
+}
-FILES_libclc-imx = "${libdir}/libCLC${SOLIBS}"
-FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
+ALLOW_EMPTY:${PN} = "1"
+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"
+INSANE_SKIP:libegl-imx += "dev-so"
-FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
-FILES_libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
-RDEPENDS_libgal-imx += "kernel-module-imx-gpu-viv"
-RDEPENDS_libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
-RPROVIDES_libgal-imx += "libgal-imx"
-INSANE_SKIP_libgal-imx += "build-deps"
+FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
+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"
+INSANE_SKIP:libgal-imx += "build-deps"
-FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}"
+FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}"
-FILES_libgbm-imx_mx8 = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}"
-FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
-RDEPENDS_libgbm-imx_append_mx8 = " libdrm"
-INSANE_SKIP_libgbm-imx += "dev-so"
+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-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
+FILES:libvulkan-imx = "\
+ ${libdir}/libvulkan_VSI${REALSOLIBS} \
+ ${sysconfdir}/vulkan"
+FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
-FILES_libopenvx-imx = " \
+FILES:libspirv-imx = " \
+ ${libdir}/libSPIRV_viv${SOLIBS} \
+"
+
+FILES:libopenvx-imx = " \
${libdir}/libOpenVX${REALSOLIBS} \
${libdir}/libOpenVXC${SOLIBS} \
${libdir}/libOpenVXU${SOLIBS} \
${libdir}/libOvx*${SOLIBS} \
${libdir}/libArchModelSw${SOLIBS} \
"
-FILES_libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
-RDEPENDS_libopenvx-imx = "libnn-imx"
-
-FILES_libgl-imx = "${libdir}/libGL${REALSOLIBS}"
-FILES_libgl-imx-dev = "${libdir}/libGL${SOLIBSDEV} ${includedir}/GL"
-
-# 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"
-RPROVIDES_libgles1-imx = "libgles-imx"
-RPROVIDES_libgles1-imx-dev = "libgles-imx-dev"
-
-# 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"
-RDEPENDS_libgles2-imx = "libglslc-imx"
-
-FILES_libgles3-imx-dev = "${includedir}/GLES3"
+FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
+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.
+INSANE_SKIP:libgl-imx += "file-rdeps"
+# libEGL does dlopen of libGL.so
+INSANE_SKIP:libgl-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}/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"
+
+FILES:libgles2-imx = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
+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
# libgles2-dev - otherwise GLES3 headers have to be added manually
-RDEPENDS_libgles2-imx-dev += "libgles3-imx-dev"
+RDEPENDS:libgles2-imx-dev += "libgles3-imx-dev"
-FILES_libglslc-imx = "${libdir}/libGLSLC${SOLIBS}"
-FILES_libglslc-imx-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
+FILES:libglslc-imx = "${libdir}/libGLSLC${SOLIBS}"
-FILES_libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
+FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
${libdir}/libVivanteOpenCL${SOLIBS} \
${libdir}/libLLVM_viv${SOLIBS} \
${sysconfdir}/OpenCL/vendors/Vivante.icd"
-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_libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
-FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
+FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
+RDEPENDS:libopencl-imx= "libclc-imx"
-FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
-RDEPENDS_libvivante-dri-imx = "libdrm"
+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"
-INSANE_SKIP_libwayland-viv-imx += "dev-so"
-FILES_libwayland-viv-imx = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}"
-FILES_libwayland-viv-imx-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
-RPROVIDES_libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imx-vivante', '', d)}"
+FILES:libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
+FILES:libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
-INSANE_SKIP_libgc-wayland-protocol-imx += "dev-so"
-FILES_libgc-wayland-protocol-imx = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
-FILES_libgc-wayland-protocol-imx-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
+FILES:imx-gpu-viv-tools = "${bindir}/gmem_info"
-FILES_imx-gpu-viv-tools = "${bindir}/gmem_info"
+FILES:imx-gpu-viv-demos = "/opt"
+INSANE_SKIP:imx-gpu-viv-demos += "rpaths dev-deps"
-FILES_imx-gpu-viv-demos = "/opt"
-INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps"
+FILES:libnn-imx = "${libdir}/libNN*${SOLIBS}"
-FILES_libnn-imx = "${libdir}/libNN*${SOLIBS} ${libdir}/libnn*${SOLIBS} ${libdir}/libneuralnetworks${SOLIBS}"
-FILES_libnn-imx-dev = "${includedir}/nnrt"
+# 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"
-# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx8)"
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.p1.0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch32.bb
deleted file mode 100644
index 39eb1a1d..00000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.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] = "3ab06c5aa485c79c14e6c856ccfd8d82"
-SRC_URI[sha256sum] = "9960fadbc1ea919f8b1b5c1e2e38a52b7293b70c906518d7fff2ada4140c59ea"
-
-COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb
deleted file mode 100644
index 4db54790..00000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require imx-gpu-viv-6.inc
-
-SRC_URI[md5sum] = "72a212a1bd8102718f8b03d935f1dcbc"
-SRC_URI[sha256sum] = "0505620c3851a980d2e08fee4b4fcd06eff92efac02d1646924bea86e4384ad4"
-
-COMPATIBLE_MACHINE = "(mx8)"
diff --git a/recipes-graphics/libepoxy/libepoxy_1.5.%.bbappend b/recipes-graphics/libepoxy/libepoxy_1.5.%.bbappend
index 5b82b3f4..71baa53d 100644
--- a/recipes-graphics/libepoxy/libepoxy_1.5.%.bbappend
+++ b/recipes-graphics/libepoxy/libepoxy_1.5.%.bbappend
@@ -1,5 +1,5 @@
# Append EGL_CFLAGS to CFLAGS
-CFLAGS_append_imxgpu = " \
+CFLAGS:append:imxgpu = " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_API_FB', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '-DWL_EGL_PLATFORM', '', d)} \
"
diff --git a/recipes-graphics/libsdl2/libsdl2_%.bbappend b/recipes-graphics/libsdl2/libsdl2_%.bbappend
index 303ea63a..3b2655ce 100644
--- a/recipes-graphics/libsdl2/libsdl2_%.bbappend
+++ b/recipes-graphics/libsdl2/libsdl2_%.bbappend
@@ -1,8 +1,8 @@
# what vivante driver does libsdl2 mean? Anyway it fails with missing functions as
# VIVANTE_Create VIVANTE_GLES_GetProcAddress VIVANTE_GLES_UnloadLibrary ...
-EXTRA_OECONF_append_imxgpu2d = " --disable-video-vivante"
+EXTRA_OECMAKE:append:imxgpu = " -DSDL_VIVANTE=OFF"
-CFLAGS_append_imxgpu = " -DLINUX \
+CFLAGS:append:imxgpu = " -DLINUX \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_API_FB', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '-DWL_EGL_PLATFORM', '', d)} \
"
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 301f1b59..ff5d71ae 100644
--- a/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -1,26 +1,23 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+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_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 = " \
+ ${PACKAGECONFIG_APPEND_IF_GPU}"
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:imxgpu = "glu"
+
+PACKAGECONFIG[glu] = ",,libglu"
diff --git a/recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.conf b/recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.conf
new file mode 100644
index 00000000..db4f8740
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.conf
@@ -0,0 +1,3 @@
+[Manager]
+DefaultEnvironment=MESA_GL_VERSION_OVERRIDE=2.1 ETNA_MESA_DEBUG=nir
+
diff --git a/recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.sh b/recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.sh
new file mode 100644
index 00000000..8854a877
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-etnaviv-env/mesa-etnaviv.sh
@@ -0,0 +1,2 @@
+export MESA_GL_VERSION_OVERRIDE=2.1
+export ETNA_MESA_DEBUG=nir
diff --git a/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb b/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb
new file mode 100644
index 00000000..87d05365
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Mesa environment variables for etnaviv on xserver"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "\
+ file://mesa-etnaviv.conf \
+ file://mesa-etnaviv.sh \
+"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install:use-mainline-bsp() {
+ # MESA global envirronment variables
+
+ # systemd
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 644 ${WORKDIR}/mesa-etnaviv.conf \
+ ${D}${sysconfdir}/systemd/system.conf.d/mesa-etnaviv.conf
+ fi
+
+ # sysvinit
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -D -m 644 ${WORKDIR}/mesa-etnaviv.sh \
+ ${D}${sysconfdir}/profile.d/mesa-etnaviv.sh
+ fi
+}
+
+ALLOW_EMPTY:${PN} = "1"
diff --git a/recipes-graphics/mesa/mesa-gl_%.bbappend b/recipes-graphics/mesa/mesa-gl_%.bbappend
index ca1c8f46..dafd27f0 100644
--- a/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/recipes-graphics/mesa/mesa-gl_%.bbappend
@@ -1 +1 @@
-COMPATIBLE_MACHINE_imxgpu = "(-)"
+COMPATIBLE_MACHINE:imxgpu = "(-)"
diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
index fce3802e..acddfbc6 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,8 +1,8 @@
-PROVIDES_remove_imxgpu = "virtual/egl"
-PROVIDES_remove_imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2"
+PROVIDES:remove:imxgpu = "virtual/egl"
+PROVIDES:remove:imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2"
-PACKAGECONFIG_remove_imxgpu = "egl gbm"
-PACKAGECONFIG_remove_imxgpu3d = "gles"
+PACKAGECONFIG:remove:imxgpu = "egl gbm"
+PACKAGECONFIG:remove:imxgpu3d = "gles"
# FIXME: mesa should support 'x11-no-tls' option
python () {
@@ -15,28 +15,13 @@ python () {
}
# Enable Etnaviv and Freedreno support
-PACKAGECONFIG_append_use-mainline-bsp = " gallium etnaviv kmsro freedreno"
-
-# For NXP BSP, choose between gallium and osmesa, and between enabling
-# dri and swrast or not. gallium and dri are default.
-#
-# For parts with no GPU, use gallium and dri
-PACKAGECONFIG_REMOVE_NXPBSP = ""
-PACKAGECONFIG_APPEND_NXPBSP = ""
-DRIDRIVERS_NXPBSP = ""
-#
-# For parts with GPU but no DRM, use gallium
-PACKAGECONFIG_REMOVE_NXPBSP_imxgpu = "dri"
-DRIDRIVERS_NXPBSP_imxgpu = ""
-#
-# For parts with GPU and DRM, use osmesa, dri, and swrast
-PACKAGECONFIG_REMOVE_NXPBSP_imxgpu_imxdrm = "gallium"
-PACKAGECONFIG_APPEND_NXPBSP_imxgpu_imxdrm = "osmesa"
-DRIDRIVERS_NXPBSP_imxgpu_imxdrm = "swrast"
-#
-PACKAGECONFIG_remove_use-nxp-bsp = "${PACKAGECONFIG_REMOVE_NXPBSP}"
-PACKAGECONFIG_append_use-nxp-bsp = " ${PACKAGECONFIG_APPEND_NXPBSP}"
-DRIDRIVERS_use-nxp-bsp = "${DRIDRIVERS_NXPBSP}"
+PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno"
+
+# For NXP BSP, GPU drivers don't support dri
+PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri"
+
+# mainline/etnaviv:
+RRECOMMENDS:${PN}-megadriver:append:use-mainline-bsp = " libdrm-etnaviv mesa-etnaviv-env"
BACKEND = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -44,7 +29,7 @@ BACKEND = \
'fb', d), d)}"
# FIXME: Dirty hack to allow use of Vivante GPU libGL binary
-do_install_append_imxgpu3d () {
+do_install:append:imxgpu3d () {
rm -f ${D}${libdir}/libGL.* \
${D}${includedir}/GL/gl.h \
${D}${includedir}/GL/glcorearb.h \
@@ -56,6 +41,6 @@ do_install_append_imxgpu3d () {
fi
}
-do_install_append_imxgpu () {
+do_install:append:imxgpu () {
rm -rf ${D}${includedir}/KHR
}
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 28e1dc32..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 b5225693..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,19 +14,19 @@ Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
meson.build | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
-diff --git a/meson.build b/meson.build
-index ca8b127..efb51f4 100644
---- a/meson.build
-+++ b/meson.build
+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
+dep_wayland_wayland_egl = _dep_null
+ dep_wayland_scanner = _dep_null
+ dep_wayland_proto = _dep_null
dep_x11_xcb = _dep_null
- dep_gbm = _dep_null
- dep_udev = _dep_null
-@@ -90,7 +91,8 @@ else
+@@ -106,7 +107,8 @@ else
dep_wayland_client = dependency(
'wayland-client', version : '>= 1.10', required : get_option('wayland'),
)
@@ -35,13 +35,13 @@ index ca8b127..efb51f4 100644
+ dep_wayland_wayland_egl = dependency(
'wayland-egl', version : '>= 9.1', required : get_option('wayland'),
)
- dep_x11_xcb = dependency('x11-xcb', required : get_option('glx'))
-@@ -101,7 +103,7 @@ else
- dep_udev = dependency('libudev', required : get_option('gbm'))
+ dep_wayland_scanner = dependency(
+@@ -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()
++ 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() and dep_wayland_wayland_egl.found()
- build_x11_egl = dep_egl.found()
-- build_wayland = dep_wayland_client.found() and dep_wayland_egl.found()
-+ build_wayland = dep_wayland_client.found() and dep_wayland_egl.found() and dep_wayland_wayland_egl.found()
- build_glx = dep_gl.found()
- build_gbm = dep_gbm.found() and dep_udev.found()
- build_surfaceless = dep_egl.found()
+ # We're interested only in the headers provided
+ # FINISHME: make x11_xcb and udev compile-only dependency
diff --git a/recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch b/recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch
index 9d5003e2..2a680cc6 100644
--- a/recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch
+++ b/recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch
@@ -14,8 +14,6 @@ Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
meson.build | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/meson.build b/meson.build
-index efb51f4..0ee3ee5 100644
--- a/meson.build
+++ b/meson.build
@@ -72,6 +72,7 @@ dep_udev = _dep_null
@@ -26,19 +24,17 @@ index efb51f4..0ee3ee5 100644
# Get dependencies
if build_wgl
-@@ -101,12 +102,14 @@ else
- endif
+@@ -96,10 +97,11 @@ else
+ dep_egl = dependency('egl', required : get_option('gbm'))
dep_gbm = dependency('gbm', required : get_option('gbm'))
dep_udev = dependency('libudev', required : get_option('gbm'))
+ dep_surfaceless_egl = dependency('egl', required : get_option('surfaceless_egl'))
+ dep_surfaceless_gbm = dependency('gbm', required : get_option('surfaceless_egl'))
+ build_gbm = dep_egl.found() and dep_gbm.found() and dep_udev.found()
- build_x11_egl = dep_egl.found()
- build_wayland = dep_wayland_client.found() and dep_wayland_egl.found() and dep_wayland_wayland_egl.found()
- build_glx = dep_gl.found()
- build_gbm = dep_gbm.found() and dep_udev.found()
+- dep_egl = dependency('egl', required : get_option('surfaceless_egl'))
- build_surfaceless = dep_egl.found()
+ build_surfaceless = dep_surfaceless_egl.found() and dep_surfaceless_gbm.found()
- endif
- dep_bash = dependency('bash-completion', required : false)
+ dep_egl = dependency('egl', required : get_option('wayland'))
+ dep_wayland_client = dependency(
diff --git a/recipes-graphics/waffle/waffle_%.bbappend b/recipes-graphics/waffle/waffle_%.bbappend
index 9d090bcf..e88f558d 100644
--- a/recipes-graphics/waffle/waffle_%.bbappend
+++ b/recipes-graphics/waffle/waffle_%.bbappend
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += " \
file://0001-meson-Add-missing-wayland-dependency-on-EGL.patch \
@@ -6,11 +6,11 @@ SRC_URI += " \
"
PACKAGECONFIG_IMXGPU_X11 = ""
-PACKAGECONFIG_IMXGPU_X11_imxgpu3d = "x11-egl glx"
+PACKAGECONFIG_IMXGPU_X11:imxgpu3d = "x11-egl glx"
PACKAGECONFIG_IMXGPU_GBM = "gbm"
-PACKAGECONFIG_IMXGPU_GBM_mx6 = ""
-PACKAGECONFIG_IMXGPU_GBM_mx7 = ""
-PACKAGECONFIG_imxgpu = " \
+PACKAGECONFIG_IMXGPU_GBM:mx6-nxp-bsp = ""
+PACKAGECONFIG_IMXGPU_GBM:mx7-nxp-bsp = ""
+PACKAGECONFIG:imxgpu = " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', '${PACKAGECONFIG_IMXGPU_X11}', \
'', d), d)} \
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.20.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
deleted file mode 100644
index 852b3160..00000000
--- a/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Collection of additional Wayland protocols"
-DESCRIPTION = "Wayland protocols that add functionality not \
-available in the Wayland core protocol. Such protocols either add \
-completely new functionality, or extend the functionality of some other \
-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 \
- 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.20"
-SRCREV = "9cacf108d0ee5863c7a656da5d2271bc2396e43d"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-PACKAGES = "${PN}"
-FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)"
diff --git a/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
new file mode 100644
index 00000000..6b2a7091
--- /dev/null
+++ b/recipes-graphics/wayland/wayland-protocols_1.32.imx.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Collection of additional Wayland protocols"
+DESCRIPTION = "Wayland protocols that add functionality not \
+available in the Wayland core protocol. Such protocols either add \
+completely new functionality, or extend the functionality of some other \
+protocol either in Wayland core, or some other protocol in \
+wayland-protocols."
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7b12b6702da38ca028ace54aae3d484 \
+ file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
+
+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"
+
+# NOTE: For i.MX drop allarch since the recipe is SOCARCH
+#inherit meson pkgconfig allarch
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "-Dtests=false"
+
+PACKAGES = "${PN}"
+FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp|mx9-nxp-bsp)"
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 8e590965..9d04df23 100644
--- a/recipes-graphics/wayland/weston-init.bbappend
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -1,56 +1,93 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
# OpenGL is not required for parts with GPU support for 2D but not 3D
IMX_REQUIRED_DISTRO_FEATURES_REMOVE = ""
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu2d = "opengl"
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu3d = ""
-REQUIRED_DISTRO_FEATURES_remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
-
-SRC_URI_append_mx6sl = " 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 = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland=true', '', d)} \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx6dl = " \
- use-g2d=1 \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx6q = " \
- use-g2d=1 \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx7ulp = " \
- use-g2d=1 \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8 = " \
- repaint-window=16 \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8mm = " \
- use-g2d=1 \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8mp = " \
- use-g2d=1 \
-"
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8mq = " \
- gbm-format=argb8888 \
- \\[shell\\] \
- size=1920x1080 \
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE:imxgpu2d = "opengl"
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE:imxgpu3d = ""
+REQUIRED_DISTRO_FEATURES:remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
+
+SRC_URI:append:mx6sl-nxp-bsp = " file://weston.config"
+
+PACKAGECONFIG ??= " \
+ no-idle-timeout \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)} \
+ ${PACKAGECONFIG_GBM_FORMAT} \
+ ${PACKAGECONFIG_REPAINT_WINDOW} \
+ ${PACKAGECONFIG_SIZE} \
+ ${PACKAGECONFIG_USE_G2D} \
"
-uncomment() {
- if ! (grep "^#$1" $2); then
- bbfatal "Commented setting '#$1' not found in file $2"
- fi
- sed -i -e 's,^#'"$1"','"$1"',g' $2
-}
+# Mainline BSPs dont support xwayland
+PACKAGECONFIG:remove:use-mainline-bsp = "xwayland"
+
+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"
-do_install_append() {
+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/weston.ini b/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
index 916e621a..19e6ad24 100644
--- a/recipes-graphics/wayland/weston-init/imx/weston.ini
+++ b/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
@@ -1,13 +1,7 @@
[core]
-#gbm-format=argb8888
-idle-time=0
-#use-g2d=1
-#xwayland=true
-#repaint-window=16
#enable-overlay-view=1
-#[shell]
-#size=1920x1080
+[shell]
[libinput]
touchscreen_calibrator=true
@@ -28,3 +22,4 @@ touchscreen_calibrator=true
[screen-share]
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-init/mx6sl/weston.config b/recipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config
index 6456cd24..6456cd24 100755
--- a/recipes-graphics/wayland/weston-init/mx6sl/weston.config
+++ b/recipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config
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-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 3279a728..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: Pending
-
-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/systemd-notify.weston-start b/recipes-graphics/wayland/weston/systemd-notify.weston-start
new file mode 100644
index 00000000..a97e7b38
--- /dev/null
+++ b/recipes-graphics/wayland/weston/systemd-notify.weston-start
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# SPDX-FileCopyrightText: Huawei Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+
+if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then
+ add_weston_module "systemd-notify.so"
+fi
diff --git a/recipes-graphics/wayland/weston/xwayland.weston-start b/recipes-graphics/wayland/weston/xwayland.weston-start
index b483c97c..49204f21 100644
--- a/recipes-graphics/wayland/weston/xwayland.weston-start
+++ b/recipes-graphics/wayland/weston/xwayland.weston-start
@@ -1,7 +1,6 @@
#!/bin/sh
if type Xwayland >/dev/null 2>/dev/null; then
- mkdir -p /tmp/.X11-unix
-
- add_weston_argument "--modules=xwayland.so"
+ 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 825a1b1c..e31d2280 100644
--- a/recipes-graphics/wayland/weston_9.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_10.0.4.imx.bb
@@ -3,33 +3,33 @@
# recipe. The second section customizes the recipe for i.MX.
########### OE-core copy ##################
-# Upstream hash: 0a882490fe75915c7a119f3498df6750be25f8e0
+# 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://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://systemd-notify.weston-start \
+ "
-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"
@@ -38,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 -Dbackend-rdp=false -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
#
@@ -63,9 +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
@@ -81,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"
-# Weston with PAM support
-PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
+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
@@ -96,8 +99,10 @@ 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() {
+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
@@ -114,6 +119,10 @@ do_install_append() {
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
@@ -122,23 +131,23 @@ do_install_append() {
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:${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: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}-examples = "${bindir}/*"
-FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
-RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
+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"
+RDEPENDS:${PN} += "xkeyboard-config"
+RRECOMMENDS:${PN} = "weston-init liberation-fonts"
+RRECOMMENDS:${PN}-dev += "wayland-protocols"
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system weston-launch"
+GROUPADD_PARAM:${PN} = "--system weston-launch"
########### End of OE-core copy ###########
@@ -146,39 +155,40 @@ 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 = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \
- file://weston.png \
- file://weston.desktop \
- file://xwayland.weston-start \
- file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
-"
-SRCREV = "a1823f20a1d6e24d2f56e98c5576eda34a94f567"
+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
REQUIRED_DISTRO_FEATURES = "opengl"
-REQUIRED_DISTRO_FEATURES_imxgpu2d = ""
-REQUIRED_DISTRO_FEATURES_imxgpu3d = "opengl"
+REQUIRED_DISTRO_FEATURES:imxgpu2d = ""
+REQUIRED_DISTRO_FEATURES:imxgpu3d = "opengl"
PACKAGECONFIG_OPENGL = "opengl"
-PACKAGECONFIG_OPENGL_imxgpu2d = ""
-PACKAGECONFIG_OPENGL_imxgpu3d = "opengl"
+PACKAGECONFIG_OPENGL:imxgpu2d = ""
+PACKAGECONFIG_OPENGL:imxgpu3d = "opengl"
-PACKAGECONFIG_remove = "wayland x11"
-PACKAGECONFIG_append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}"
+PACKAGECONFIG_IMX_REMOVALS ?= "wayland x11"
+PACKAGECONFIG:remove = "${PACKAGECONFIG_IMX_REMOVALS}"
+PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}"
-PACKAGECONFIG_remove_imxfbdev = "kms"
-PACKAGECONFIG_append_imxfbdev = " fbdev clients"
-PACKAGECONFIG_append_imxgpu = " imxgpu"
-PACKAGECONFIG_append_imxgpu2d = " imxg2d"
+PACKAGECONFIG:remove:imxfbdev = "kms"
+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
@@ -186,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/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput b/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6-nxp-bsp/pointercal.xinput
index ba34b89f..ba34b89f 100644
--- a/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput
+++ b/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6-nxp-bsp/pointercal.xinput
diff --git a/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend b/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
index a9c60f3e..d112b274 100644
--- a/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
+++ b/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
@@ -1,2 +1,2 @@
# Append path for freescale layer to include bsp pointercal.xinput
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-graphics/xorg-driver/xf86-video-armada_git.bb b/recipes-graphics/xorg-driver/xf86-video-armada_git.bb
deleted file mode 100644
index cc68a518..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-armada_git.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "X.org graphics driver for KMS based systems with pluggable GPU backend"
-DESCRIPTION = "The xf86-video-armada module is a 2D graphics driver for the X Window \
-System as implemented by X.org, supporting these DRM KMS drivers: \
-\
- Freescale i.MX \
- Marvell Armada 510 (Dove) \
-\
-and GPU drivers: \
- Vivante libGAL (Armada only) \
- Etnaviv (Armada and i.MX) with galcore kernel driver \
- Etnaviv (Armada and i.MX) with etnaviv DRM kernel driver \
-"
-LICENSE = "BSD"
-
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-DEPENDS += "libdrm-armada"
-
-LIC_FILES_CHKSUM = " \
- file://README;md5=d5271074fb6ad959b7b6cfa68b4adaf0 \
- file://../etna_viv/LICENSE;md5=9d4853905d85f044ed013e75def30a76 \
- "
-
-SRCREV_armada = "78e7116a5bc6cdd9f93cbf1552d342933623ab59"
-SRCREV_etna = "8478eef32fd911ebb300c970071e22227afa1896"
-SRCREV_FORMAT = "armada_etna"
-
-PV = "0.1+git${SRCPV}"
-
-SRC_URI = " \
- git://git.armlinux.org.uk/cgit/xf86-video-armada.git;branch=unstable-devel;protocol=http;name=armada \
- git://github.com/etnaviv/etna_viv.git;protocol=https;name=etna;destsuffix=etna_viv \
- "
-
-S = "${WORKDIR}/git"
-
-RDEPENDS_${PN} = "xserver-xorg-module-exa \
- xserver-xorg-extension-dri \
- xserver-xorg-extension-dri2 \
- xserver-xorg-extension-glx \
- "
-
-EXTRA_OECONF = "--disable-etnaviv \
- --disable-vivante \
- --with-etnaviv-source=${WORKDIR}/etna_viv \
- "
-
-COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
diff --git a/recipes-graphics/xorg-driver/xf86-video-imx-vivante/rc.autohdmi b/recipes-graphics/xorg-driver/xf86-video-imx-vivante/rc.autohdmi
deleted file mode 100644
index 8c16a1d7..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imx-vivante/rc.autohdmi
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides: rc.autohdmi
-# Required-Start: $all
-# Required-Stop:
-# Default-Start: 2 3 4 5
-# Default-Stop:
-### END INIT INFO
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-
-# Source function library.
-. /etc/init.d/functions
-
-case "$1" in
- start)
- echo -n "Starting autohdmi: "
- export DISPLAY=:0
- autohdmi &
- echo
- exit 0
- ;;
- reload|force-reload)
- echo "Error: argument '$1' not supported" >&2
- exit 3
- ;;
- stop)
- echo -n "Shutting down autohdmi: "
- killproc autohdmi
- echo
- ;;
- restart)
- echo -n "Restarting autohdmi: "
- $0 stop
- $0 start
- echo
- ;;
- *)
- echo "Usage: $0 start|stop" >&2
- exit 3
- ;;
-esac
diff --git a/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.4.0.p0.0.bb b/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.4.0.p0.0.bb
deleted file mode 100644
index 069008c0..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.4.0.p0.0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
-# Copyright 2017-2018 NXP
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-PE = "3"
-
-inherit autotools-brokensep update-rc.d pkgconfig
-
-DEPENDS += "virtual/xserver virtual/libx11 libgal-imx imx-gpu-viv virtual/libg2d pixman"
-
-LIC_FILES_CHKSUM = "file://COPYING-MIT;md5=b5e9d9f5c02ea831ab3ecf802bb7c4f3"
-
-SRCREV = "c828e8a7c38743e960967e7bb78c134cec31c102"
-SRCBRANCH = "imx_exa_viv6_g2d"
-SRC_URI = "git://source.codeaurora.org/external/imx/xf86-video-imx-vivante.git;protocol=https;branch=${SRCBRANCH} \
- file://rc.autohdmi"
-
-S = "${WORKDIR}/git"
-
-INITSCRIPT_PACKAGES = "xserver-xorg-extension-viv-autohdmi"
-INITSCRIPT_NAME = "rc.autohdmi"
-INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
-
-EXTRA_OEMAKE += "prefix=${exec_prefix} \
- sysroot=${STAGING_DIR_TARGET} \
- SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
- BUSID_HAS_NUMBER=1 \
- BUILD_IN_YOCTO=1 \
- XSERVER_GREATER_THAN_13=1"
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-PACKAGES =+ "xserver-xorg-extension-viv-autohdmi"
-
-do_install_append () {
- install -d ${D}${includedir}
- cp -axr ${S}/EXA/src/vivante_gal/vivante_priv.h ${D}${includedir}
- cp -axr ${S}/EXA/src/vivante_gal/vivante_gal.h ${D}${includedir}
-
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/rc.autohdmi ${D}/${sysconfdir}/init.d/rc.autohdmi
-
- find ${D}${includedir} -type f -exec chmod 660 {} \;
-}
-
-RDEPENDS_${PN} += "libvivante-dri-imx \
- xserver-xorg-module-exa \
- mesa-driver-swrast \
- xserver-xorg-extension-dri \
- xserver-xorg-extension-dri2 \
- xserver-xorg-extension-glx"
-
-REALSOLIBS := "${SOLIBS}"
-SOLIBS = "${SOLIBSDEV}"
-
-FILES_${PN} = "${libdir}/*/*/*/vivante_drv${SOLIBS}"
-FILES_${PN}-dev = "${includedir} /usr/src ${libdir}/libfsl_x11_ext${SOLIBSDEV}"
-FILES_${PN}-dbg = "${libdir}/*/*/*/.debug ${libdir}/.debug/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/.debug/autohdmi"
-
-FILES_xserver-xorg-extension-viv-autohdmi = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/autohdmi ${sysconfdir}/init.d/rc.autohdmi"
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(mx6|mx7ulp)"
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5-generic-bsp/xorg.conf
index a99e6f24..a99e6f24 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5-generic-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6-nxp-bsp/xorg.conf
index 79b6c0fc..79b6c0fc 100755..100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
deleted file mode 100644
index b89bed60..00000000
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-Section "Device"
- Identifier "i.MX Accelerated Framebuffer Device"
- Driver "vivante"
- Option "fbdev" "/dev/fb0"
- Option "vivante_fbdev" "/dev/fb0"
- Option "HWcursor" "false"
-EndSection
-
-Section "ServerFlags"
- Option "BlankTime" "0"
- Option "StandbyTime" "0"
- Option "SuspendTime" "0"
- Option "OffTime" "0"
-EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl-nxp-bsp/xorg.conf
index de3905ab..de3905ab 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll-nxp-bsp/xorg.conf
index 79b6c0fc..79b6c0fc 100644..100755
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx-nxp-bsp/xorg.conf
index de3905ab..de3905ab 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul-nxp-bsp/xorg.conf
index 79b6c0fc..79b6c0fc 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull-nxp-bsp/xorg.conf
index 79b6c0fc..79b6c0fc 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-bsp/xorg.conf
index 79b6c0fc..79b6c0fc 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp-nxp-bsp/xorg.conf
index de6307a3..de6307a3 100755
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp-nxp-bsp/xorg.conf
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs-generic-bsp/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs-generic-bsp/xorg.conf
new file mode 100644
index 00000000..79b6c0fc
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs-generic-bsp/xorg.conf
@@ -0,0 +1,12 @@
+Section "Device"
+ Identifier "Kernel Framebuffer Device"
+ Driver "fbdev"
+ Option "fbdev" "/dev/fb0"
+EndSection
+
+Section "ServerFlags"
+ Option "BlankTime" "0"
+ Option "StandbyTime" "0"
+ Option "SuspendTime" "0"
+ Option "OffTime" "0"
+EndSection
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 b6f83469..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,28 +1,13 @@
Section "Device"
- Identifier "Driver0"
- Screen 0
- Driver "armada"
-
-# Support hotplugging displays?
- Option "Hotplug" "TRUE"
-
-# Support hardware cursor if available?
- Option "HWCursor" "TRUE"
-
-# Use GPU acceleration?
- Option "UseGPU" "TRUE"
-
-# Provide Xv interfaces?
- Option "XvAccel" "TRUE"
-
-# Prefer overlay for Xv (TRUE for armada-drm, FALSE for imx-drm)
- Option "XvPreferOverlay" "TRUE"
-
-# Which accelerator module to load (automatically found if commented out)
- Option "AccelModule" "etnadrm_gpu"
- Option "AccelModule" "etnaviv_gpu"
+ Identifier "etnaviv"
+ Driver "modesetting"
+ Option "kmsdev" "/dev/dri/card1"
+ Option "AccelMethod" "glamor"
+ Option "Atomic" "On"
+EndSection
-# Support DRI2 interfaces?
- Option "DRI" "TRUE"
+Section "ServerFlags"
+ Option "AutoAddGPU" "false"
+ Option "DRI" "3"
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-xf86-config_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
index ceb438e3..3fe677b3 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
@@ -1,2 +1,2 @@
# Append path for freescale layer to include bsp xorg.conf
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
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
new file mode 100644
index 00000000..71e045b2
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/0001-Allow-to-enable-atomic-in-modesetting-DDX.patch
@@ -0,0 +1,36 @@
+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
+
+The linux kernel blacklisted atomic for the modesetting DDX to deal with
+problems with old Xorg versions which didn't have it disabled by default.
+Ever since, it wasn't possible to enable atomic in modesetting at all
+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 535f49d..58a1c67 100644
+--- a/hw/xfree86/drivers/modesetting/driver.c
++++ b/hw/xfree86/drivers/modesetting/driver.c
+@@ -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);
++ ret = drmSetClientCap(ms->fd, DRM_CLIENT_CAP_ATOMIC, 2);
+ ms->atomic_modeset = (ret == 0);
+ } else {
+ ms->atomic_modeset = FALSE;
+--
+GitLab
+
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-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
new file mode 100644
index 00000000..960bf3b5
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Fix-fbo-pixmap-format-with-GL_BGRA_EXT.patch
@@ -0,0 +1,38 @@
+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] 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 extention, not applicable for upstream.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
+---
+ glamor/glamor.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/glamor/glamor.c
++++ b/glamor/glamor.c
+@@ -586,10 +586,17 @@ glamor_setup_formats(ScreenPtr screen)
+
+ if (glamor_priv->is_gles) {
+ assert(X_BYTE_ORDER == X_LITTLE_ENDIAN);
++#if GL_EXT_texture_format_BGRA8888
++ glamor_add_format(screen, 24, PICT_x8r8g8b8,
++ GL_BGRA_EXT, GL_BGRA_EXT, GL_UNSIGNED_BYTE, TRUE);
++ glamor_add_format(screen, 32, PICT_a8r8g8b8,
++ GL_BGRA_EXT, GL_BGRA_EXT, GL_UNSIGNED_BYTE, TRUE);
++#else
+ glamor_add_format(screen, 24, PICT_x8b8g8r8,
+ GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, TRUE);
+ glamor_add_format(screen, 32, PICT_a8b8g8r8,
+ GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, TRUE);
++#endif
+ } else {
+ glamor_add_format(screen, 24, PICT_x8r8g8b8,
+ GL_RGBA, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, TRUE);
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_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index 84b69075..cf1c3a50 100644
--- a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1,8 +1,11 @@
-IMX_OPENGL_PKGCONFIGS_REMOVE = ""
-IMX_OPENGL_PKGCONFIGS_REMOVE_imxgpu = "glamor"
-OPENGL_PKGCONFIGS_remove_mx6 = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
-OPENGL_PKGCONFIGS_remove_mx7 = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
-OPENGL_PKGCONFIGS_remove_mx8 = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI:append:use-mainline-bsp = " file://0001-Allow-to-enable-atomic-in-modesetting-DDX.patch"
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append_imxgpu2d = " file://0003-Remove-check-for-useSIGIO-option.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"
+OPENGL_PKGCONFIGS:remove:mx6-nxp-bsp = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+OPENGL_PKGCONFIGS:remove:mx7-nxp-bsp = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+OPENGL_PKGCONFIGS:remove:imxdrm = "dri glx"
diff --git a/recipes-graphics/xwayland/xwayland/0001-Prefer-to-create-GLES2-context-for-glamor-EGL.patch b/recipes-graphics/xwayland/xwayland/0001-Prefer-to-create-GLES2-context-for-glamor-EGL.patch
new file mode 100644
index 00000000..c1e8ae11
--- /dev/null
+++ b/recipes-graphics/xwayland/xwayland/0001-Prefer-to-create-GLES2-context-for-glamor-EGL.patch
@@ -0,0 +1,31 @@
+From e75a4d7b4474529967490de6e75ae4f1b7128937 Mon Sep 17 00:00:00 2001
+From: Xianzhong <xianzhong.li@nxp.com>
+Date: Sat, 22 Jan 2022 17:57:59 +0800
+Subject: [PATCH 1/3] Prefer to create GLES2 context for glamor EGL
+
+created the initial patch for xwayland-21.1.2
+
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
+---
+ hw/xwayland/xwayland-glamor-gbm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c
+index 12d820e44..8a89919be 100644
+--- a/hw/xwayland/xwayland-glamor-gbm.c
++++ b/hw/xwayland/xwayland-glamor-gbm.c
+@@ -866,8 +866,8 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen)
+ goto error;
+ }
+
+- if (!xwl_glamor_try_big_gl_api(xwl_screen) &&
+- !xwl_glamor_try_gles_api(xwl_screen)) {
++ if (!xwl_glamor_try_gles_api(xwl_screen) &&
++ !xwl_glamor_try_big_gl_api(xwl_screen)) {
+ ErrorF("Cannot use neither GL nor GLES2\n");
+ goto error;
+ }
+--
+2.17.1
+
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_23.1.1.imx.bbappend b/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
new file mode 100644
index 00000000..e1708a96
--- /dev/null
+++ b/recipes-graphics/xwayland/xwayland_23.1.1.imx.bbappend
@@ -0,0 +1,20 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI:append:imxgpu = " \
+ file://0001-Prefer-to-create-GLES2-context-for-glamor-EGL.patch \
+"
+
+OPENGL_PKGCONFIGS:remove:imxgpu = "${OPENGL_PKGCONFIGS_REMOVE_IMXGPU}"
+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/0001-use-new-api-tc_print_rate.patch b/recipes-kernel/ceetm/ceetm/0001-use-new-api-tc_print_rate.patch
new file mode 100644
index 00000000..bd077f8a
--- /dev/null
+++ b/recipes-kernel/ceetm/ceetm/0001-use-new-api-tc_print_rate.patch
@@ -0,0 +1,71 @@
+From 1eeee62be6f4f4c0564a1ebbf47b5d1ebd7ab282 Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Thu, 15 Apr 2021 14:43:31 +0530
+Subject: [PATCH] use new api tc_print_rate
+
+Fix the build issue due to api change in iproute2:
+| dpaa1_ceetm.c:637:4: error: too few arguments to function 'print_rate'
+| print_rate(buf, sizeof(buf), qopt->rate);
+| ^~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+---
+ dpaa1_ceetm.c | 12 ++++--------
+ dpaa2_ceetm.c | 6 ++----
+ 2 files changed, 6 insertions(+), 12 deletions(-)
+
+diff --git a/dpaa1_ceetm.c b/dpaa1_ceetm.c
+index 15a2cd8..347e79a 100644
+--- a/dpaa1_ceetm.c
++++ b/dpaa1_ceetm.c
+@@ -634,11 +634,9 @@ int dpaa1_ceetm_print_qopt(struct qdisc_util *qu, FILE *f,
+ fprintf(f, "type root");
+
+ if (qopt->shaped) {
+- print_rate(buf, sizeof(buf), qopt->rate);
+- fprintf(f, " shaped rate %s ", buf);
++ tc_print_rate(PRINT_FP, NULL, " shaped rate %s ", qopt->rate);
+
+- print_rate(buf, sizeof(buf), qopt->ceil);
+- fprintf(f, "ceil %s ", buf);
++ tc_print_rate(PRINT_FP, NULL, "ceil %s ", qopt->ceil);
+
+ fprintf(f, "overhead %u ", qopt->overhead);
+
+@@ -692,11 +690,9 @@ int dpaa1_ceetm_print_copt(struct qdisc_util *qu, FILE *f,
+ fprintf(f, "type root ");
+
+ if (copt->shaped) {
+- print_rate(buf, sizeof(buf), copt->rate);
+- fprintf(f, "shaped rate %s ", buf);
++ tc_print_rate(PRINT_FP, NULL, "shaped rate %s ", copt->rate);
+
+- print_rate(buf, sizeof(buf), copt->ceil);
+- fprintf(f, "ceil %s ", buf);
++ tc_print_rate(PRINT_FP, NULL, "ceil %s ", copt->ceil);
+
+ } else {
+ fprintf(f, "unshaped tbl %d", copt->tbl);
+diff --git a/dpaa2_ceetm.c b/dpaa2_ceetm.c
+index 6b1b033..0505046 100644
+--- a/dpaa2_ceetm.c
++++ b/dpaa2_ceetm.c
+@@ -516,11 +516,9 @@ int dpaa2_ceetm_print_copt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+ fprintf(f, "type root ");
+
+ if (copt->shaped) {
+- print_rate(buf, sizeof(buf), copt->shaping_cfg.cir);
+- fprintf(f, "CIR %s ", buf);
++ tc_print_rate(PRINT_FP, NULL, "CIR %s ", copt->shaping_cfg.cir);
+
+- print_rate(buf, sizeof(buf), copt->shaping_cfg.eir);
+- fprintf(f, "EIR %s ", buf);
++ tc_print_rate(PRINT_FP, NULL, "EIR %s ", copt->shaping_cfg.eir);
+
+ fprintf(f, "CBS %d EBS %d ", copt->shaping_cfg.cbs, copt->shaping_cfg.ebs);
+
+--
+2.25.1
+
diff --git a/recipes-kernel/ceetm/ceetm_git.bb b/recipes-kernel/ceetm/ceetm_git.bb
index 68fb67e0..1059e006 100644
--- a/recipes-kernel/ceetm/ceetm_git.bb
+++ b/recipes-kernel/ceetm/ceetm_git.bb
@@ -1,10 +1,11 @@
DESCRIPTION = "CEETM TC QDISC"
-LICENSE = "GPLv2 & 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_append = " file://0001-Makefile-update-CFLAGS.patch \
+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 \
"
DEPENDS = "iproute2"
@@ -21,9 +22,8 @@ do_install(){
cp ${S}/q_ceetm.so ${D}/${libdir}/tc/
}
-FILES_${PN} += "${libdir}/tc"
+FILES:${PN} += "${libdir}/tc"
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 feddc8fa..553e2013 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb
@@ -1,10 +1,10 @@
SUMMARY = "Auto Response Control Module"
-LICENSE = "GPLv2 & BSD"
+LICENSE = "GPL-2.0-only & BSD"
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"
@@ -14,19 +14,19 @@ export KERNEL_PATH
INHIBIT_PACKAGE_STRIP = "1"
-do_compile_prepend() {
+do_compile:prepend() {
sed -i -e 's,EXTRA_CFLAGS += -I$(PWD),EXTRA_CFLAGS += -I${S},' ${S}/armodule/source/Makefile
}
do_install(){
- install -d ${D}/lib/modules/${KERNEL_VERSION}
+ install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}
install -d ${D}${bindir}
- install -m 644 ${B}/bin/ar.ko ${D}/lib/modules/${KERNEL_VERSION}/
+ install -m 644 ${B}/bin/ar.ko ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/
cp -f ${S}/bin/ar_* ${D}${bindir}/
}
-FILES_${PN} += "${bindir}/"
-INSANE_SKIP_${PN} = "ldflags"
+FILES:${PN} += "${bindir}/"
+INSANE_SKIP:${PN} = "ldflags"
COMPATIBLE_MACHINE = "(t1040|t1042)"
CLEANBROKEN = "1"
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.0.p2.4+fslc.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
index af0b2d60..13793132 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.0.p2.4+fslc.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
@@ -4,17 +4,17 @@
SUMMARY = "Kernel loadable module for Vivante GPU"
DESCRIPTION = "This package uses an exact copy of the GPU kernel driver source code of \
the same version as base and include fixes and improvements developed by FSL Community"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
PV .= "+git${SRCPV}"
-SRCREV = "f2e8483fbda59bf2482f77efb0804c014848f749"
-SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https"
+SRCREV = "4d035200e7b15d2713d49979a1d05f201b92cf4c"
+SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
inherit module
KERNEL_MODULE_AUTOLOAD = "galcore"
-COMPATIBLE_MACHINE = "(imx)"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.0.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb
index 556ec12d..7aae0cd7 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.0.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb
@@ -1,20 +1,18 @@
# Copyright (C) 2015-2016 Freescale Semiconductor
-# Copyright (C) 2017-2020 NXP
+# Copyright (C) 2017-2021 NXP
SUMMARY = "Kernel loadable module for Vivante GPU"
DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \
allowing flexibility to use a newer graphics release with an older kernel."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
-SRCBRANCH = "imx_5.4.70_2.3.0"
-LOCALVERSION = "-${SRCBRANCH}"
-KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https"
-SRC_URI = " \
- ${KERNEL_SRC};branch=${SRCBRANCH};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \
- file://Add-makefile.patch \
-"
-SRCREV = "13b3c469663da0c79d385ce15887f6b5805f060d"
+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"
@@ -23,4 +21,4 @@ inherit module
EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m"
KERNEL_MODULE_AUTOLOAD = "galcore"
-COMPATIBLE_MACHINE = "(imx)"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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 74e01bd9..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 86155423..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 350ba186..d2316fe0 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ipc.inc
+++ b/recipes-kernel/kernel-modules/kernel-module-ipc.inc
@@ -5,13 +5,13 @@ 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"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
-do_compile_prepend () {
+do_compile:prepend () {
cd ${S}/kernel
}
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-isp-vvcam_4.2.2.6.0.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.6.0.bb
deleted file mode 100644
index 5cb7f764..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.6.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2020 NXP
-
-DESCRIPTION = "Kernel loadable module for ISP"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/git/vvcam/LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
-
-SRCBRANCH = "imx_5.4.70_2.3.0"
-ISP_KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/isp-vvcam.git;protocol=https"
-
-SRC_URI = " \
- ${ISP_KERNEL_SRC};branch=${SRCBRANCH} \
-"
-SRCREV = "9824e601d336bcef2dc6284ff3605e0b1d32d63d"
-
-S = "${WORKDIR}/git/vvcam/v4l2"
-
-inherit module
-
-COMPATIBLE_MACHINE = "(imx|use-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 cad18b69..ba156161 100644
--- a/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb
@@ -2,12 +2,12 @@ SUMMARY = "Layerscape Debug File System Module"
DESCRIPTION = "This package is the kernel module which is used for \
ls102xa targets debug."
SECTION = "ls-debug"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
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-perf-qoriq_0.8.2.bb b/recipes-kernel/kernel-modules/kernel-module-perf-qoriq_0.8.2.bb
deleted file mode 100644
index 4a31f1e3..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 = "GPLv2+"
-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-qca6174_3.0.bb b/recipes-kernel/kernel-modules/kernel-module-qca6174_3.0.bb
deleted file mode 100644
index f78a4c5b..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-qca6174_3.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require kernel-module-qcacld-lea.inc
-
-SUMMARY = "Qualcomm WiFi driver for QCA module 6174"
-
-EXTRA_OEMAKE += " \
- CONFIG_ROME_IF=pci \
- CONFIG_WLAN_FEATURE_11W=y \
- CONFIG_WLAN_FEATURE_FILS=y \
- CONFIG_WLAN_WAPI_MODE_11AC_DISABLE=y \
- MODNAME=qca6174 \
- CONFIG_WLAN_FEATURE_DSRC=y \
-"
-
-RDEPENDS_${PN} += "firmware-qca6174"
diff --git a/recipes-kernel/kernel-modules/kernel-module-qca9377_3.1.bb b/recipes-kernel/kernel-modules/kernel-module-qca9377_3.1.bb
deleted file mode 100644
index fbc87ea2..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-qca9377_3.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require kernel-module-qcacld-lea.inc
-
-SUMMARY = "Qualcomm WiFi driver for QCA module 9377"
-
-EXTRA_OEMAKE += " \
- CONFIG_CLD_HL_SDIO_CORE=y \
- CONFIG_FEATURE_COEX_PTA_CONFIG_ENABLE=y \
- CONFIG_PER_VDEV_TX_DESC_POOL=1 \
- CONFIG_QCA_LL_TX_FLOW_CT=1 \
- CONFIG_QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK=y \
- CONFIG_WLAN_FEATURE_FILS=y \
- CONFIG_WLAN_WAPI_MODE_11AC_DISABLE=y \
- MODNAME=qca9377 \
- SAP_AUTH_OFFLOAD=1 \
-"
-
-RDEPENDS_${PN} += "firmware-qca9377"
diff --git a/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc b/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc
deleted file mode 100644
index 0b23a47c..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Qualcomm WiFi driver for QCA module 9377 and 6174"
-LICENSE = "BSD & GPLv2"
-LIC_FILES_CHKSUM = "file://CORE/HDD/src/wlan_hdd_main.c;beginline=1;endline=20;md5=ec8d62116b13db773825ebf7cf91be1d;"
-
-QCACLD_SRC ?= "git://source.codeaurora.org/external/imx/qcacld-2.0-imx.git;protocol=https"
-SRC_URI = "${QCACLD_SRC};branch=IMX_CNSS.LEA.NRT_3.0_KRL5.4"
-SRCREV = "7dc91e5977f31d60741c55682564788c0f930163"
-
-S = "${WORKDIR}/git"
-
-inherit module
-
-EXTRA_OEMAKE += " \
- CONFIG_CFG80211_INTERNAL_REGDB=y \
- CONFIG_HDD_WLAN_WAIT_TIME=10000 \
- CONFIG_LINUX_QCMBR=y \
- CONFIG_NON_QC_PLATFORM=y \
- CONFIG_PMF_SUPPORT=y \
- TARGET_BUILD_VARIANT=user \
-"
-
-COMPATIBLE_MACHINE = "(imx)"
-COMPATIBLE_HOST_libc-musl = 'null'
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 20d894ed..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 = "GPLv2+"
-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 f7beed21..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
@@ -1,8 +1,8 @@
DESCRIPTION = "UIO driver for T1040 L2 Switch"
-LICENSE = "GPLv2"
+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/defconfig b/recipes-kernel/linux/linux-fslc-imx/imx/defconfig
deleted file mode 100644
index 3029043b..00000000
--- a/recipes-kernel/linux/linux-fslc-imx/imx/defconfig
+++ /dev/null
@@ -1,588 +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_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_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_ARM_IMX7ULP_CPUFREQ=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_SECCOMP=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_VF610_NFC=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_E1000E=y
-# 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_HOSTAP=y
-CONFIG_MXMWIFIEX=m
-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_EGALAX=y
-CONFIG_TOUCHSCREEN_ELAN_TS=y
-CONFIG_TOUCHSCREEN_GOODIX=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_FSL_DSPI=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_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_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_CAMERA_SUPPORT=y
-CONFIG_MEDIA_RADIO_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_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_RADIO_SI476X=y
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_DRM=y
-CONFIG_DRM_MSM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=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_IMX_SOC=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_WM8960=y
-CONFIG_SND_SOC_IMX_SII902X=y
-CONFIG_SND_SOC_IMX_WM8958=y
-CONFIG_SND_SOC_IMX_CS42888=y
-CONFIG_SND_SOC_IMX_WM8962=y
-CONFIG_SND_SOC_IMX_RPMSG=y
-CONFIG_SND_SOC_IMX_ES8328=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_MQS=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_IMX_SI476X=y
-CONFIG_SND_SOC_IMX_HDMI=y
-CONFIG_SND_SOC_AC97_CODEC=y
-CONFIG_SND_SOC_TLV320AIC3X=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_OTG_WHITELIST=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_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_IMX_MBOX=y
-CONFIG_REMOTEPROC=y
-CONFIG_IMX_REMOTEPROC=y
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_IMX7D_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_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_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_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_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_XTS=y
-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_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
-CONFIG_CRYPTO_DEV_SAHARA=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_SHA1=m
-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_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
diff --git a/recipes-kernel/linux/linux-fslc-imx/mx8/defconfig b/recipes-kernel/linux/linux-fslc-imx/mx8/defconfig
deleted file mode 100644
index dbe4597f..00000000
--- a/recipes-kernel/linux/linux-fslc-imx/mx8/defconfig
+++ /dev/null
@@ -1,881 +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_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=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_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_NUMA=y
-CONFIG_SECCOMP=y
-CONFIG_KEXEC=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_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_SCPI_PROTOCOL=y
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_IMX_DSP=y
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_IMX_SECO_MU=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_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_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_LLC2=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_MULTIQ=y
-CONFIG_NET_SCH_CBS=y
-CONFIG_NET_SCH_TAPRIO=y
-CONFIG_NET_SCH_MQPRIO=y
-CONFIG_NET_CLS_BASIC=y
-CONFIG_NET_CLS_TCINDEX=y
-CONFIG_TSN=y
-CONFIG_NET_SWITCHDEV=y
-CONFIG_BPF_JIT=y
-CONFIG_NET_PKTGEN=y
-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_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=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_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_IOV=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_PCIE_LAYERSCAPE_GEN4=y
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=y
-CONFIG_IMX_MIC_EPF=m
-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_BUS=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=y
-CONFIG_EEPROM_AT25=m
-CONFIG_SCIF_BUS=m
-CONFIG_VOP_BUS=m
-CONFIG_IMX_MIC_HOST=m
-CONFIG_IMX_MIC_CARD=m
-CONFIG_SCIF=m
-CONFIG_MIC_COSM=m
-CONFIG_VOP=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_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_AMD_XGBE=y
-CONFIG_ATL1C=m
-CONFIG_BNX2X=m
-CONFIG_MACB=y
-CONFIG_THUNDER_NIC_PF=y
-CONFIG_FEC=y
-CONFIG_FSL_SDK_DPAA_ETH=y
-CONFIG_FSL_DPAA2_ETH=y
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=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_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_STMMAC_ETH=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_AQUANTIA_PHY=y
-CONFIG_AT803X_PHY=y
-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_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_BRCMFMAC=m
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_HOSTAP=y
-CONFIG_MXMWIFIEX=m
-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_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_SPI=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_S32V234=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_MB86S7X=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_MAX77620=y
-CONFIG_POWER_AVS=y
-CONFIG_POWER_RESET_BRCMSTB=y
-CONFIG_POWER_RESET_VEXPRESS=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_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_DEVICE_THERMAL=y
-CONFIG_IMX8MM_THERMAL=y
-CONFIG_QORIQ_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_ARM_SP805_WATCHDOG=y
-CONFIG_ARM_SBSA_WATCHDOG=y
-CONFIG_DW_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX_SC_WDT=y
-CONFIG_XEN_WDT=y
-CONFIG_MFD_BD9571MWV=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_IMX_AUDIOMIX=y
-CONFIG_MFD_HI6421_PMIC=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_ROHM_BD718XX=y
-CONFIG_MFD_PCA9450=y
-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_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_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_DVB_NET is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MX8_CAPTURE=y
-CONFIG_VIDEO_MXC_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_OV5640=y
-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_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_PANEL_WKS_101WX001=y
-CONFIG_DRM_FSL_IMX_LVDS_BRIDGE=y
-CONFIG_DRM_NXP_SEIKO_43WVFIG=y
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_I2C_ADV7511=y
-CONFIG_DRM_NWL_MIPI_DSI=y
-CONFIG_DRM_CDNS_HDMI_CEC=y
-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_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_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_BACKLIGHT_GENERIC=m
-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_EASRC=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_WM8960=y
-CONFIG_SND_SOC_IMX_WM8524=y
-CONFIG_SND_SOC_IMX_CS42888=y
-CONFIG_SND_SOC_IMX_MICFIL=y
-CONFIG_SND_SOC_IMX_RPMSG=y
-CONFIG_SND_SOC_IMX_MQS=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_AUDMIX=y
-CONFIG_SND_SOC_IMX_PDM_MIC=y
-CONFIG_SND_SOC_IMX_DSP=y
-CONFIG_SND_SOC_IMX_CDNHDMI=y
-CONFIG_SND_SOC_IMX_XCVR=y
-CONFIG_SND_SOC_IMX_PCM512X=y
-CONFIG_SND_SOC_SOF_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_OF=m
-CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_IMX8_SUPPORT=m
-CONFIG_SND_SOC_SOF_IMX8M_SUPPORT=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_BT_SCO=y
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_MAX98357A=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_SGTL5000=m
-CONFIG_SND_SOC_SPDIF=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_SND_AUDIO_GRAPH_CARD=y
-CONFIG_I2C_HID=m
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_OTG_WHITELIST=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_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_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=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=y
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_PCF85363=y
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PCF2127=y
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_CROS_EC=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_SC=y
-CONFIG_DMADEVICES=y
-CONFIG_BCM_SBA_RAID=m
-CONFIG_FSL_EDMA=y
-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_DMATEST=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_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_DPAA2_MAC=y
-CONFIG_FSL_SDK_DPA=y
-CONFIG_FSL_PPFE=y
-CONFIG_FSL_PPFE_UTIL_DISABLED=y
-CONFIG_MFD_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_COMMON_CLK_VERSATILE=y
-CONFIG_CLK_SP810=y
-CONFIG_CLK_VEXPRESS_OSC=y
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_COMMON_CLK_XGENE=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_CLK_IMX8QXP=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_RPMSG_QCOM_GLINK_RPM=y
-CONFIG_SOC_BRCMSTB=y
-CONFIG_FSL_MC_DPIO=y
-CONFIG_FSL_QIXIS=y
-CONFIG_IMX_SCU_SOC=y
-CONFIG_SECVIO_SC=y
-CONFIG_SOC_TI=y
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-CONFIG_IIO=y
-CONFIG_IMX8QXP_ADC=y
-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_PWM=y
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_IMX27=y
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_MIXEL_LVDS=y
-CONFIG_PHY_MIXEL_LVDS_COMBO=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_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_MXC_SIM=y
-CONFIG_MXC_EMVSIM=y
-CONFIG_MXC_MLB150=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_XTS=y
-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_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=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_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=y
-CONFIG_INDIRECT_PIO=y
-CONFIG_CMA_SIZE_MBYTES=320
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=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_CORESIGHT=y
-CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
-CONFIG_CORESIGHT_SOURCE_ETM4X=y
diff --git a/recipes-kernel/linux/linux-fslc-imx_5.4.bb b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
index c75f7be6..6e31c1e2 100644
--- a/recipes-kernel/linux/linux-fslc-imx_5.4.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.6.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.4.y] branch updates of korg;
-# 2. NXP-specific updates via branch [5.4-2.2.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,36 +28,23 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
# ------------------------------------------------------------------------------
# 1. Stable (tag or SHA(s))
# ------------------------------------------------------------------------------
-# tag: v5.4.102
+# tag: v6.1.70
#
# ------------------------------------------------------------------------------
# 2. NXP-specific (tag or SHA(s))
# ------------------------------------------------------------------------------
-# tag: rel_imx_5.4.70_2.3.0
+# tag: lf-6.1.55-2.2.0
#
# ------------------------------------------------------------------------------
# 3. Critical patches (SHA(s))
# ------------------------------------------------------------------------------
-# b598b85172f7 irq-imx-irqsteer: fix compile error if CONFIG_PM_SLEEP is not set
-# 845099bfd0b8 fbdev: fix fbinfo flag dropped upstream
-# 847bfb09bb3b arm64: dts: imx8m: change ocotp node name on i.MX8M SoCs
-# d7ca6973c6d4 arm64: dts: imx8mm: Remove incorrect fallback compatible for ocotp
-# 539d19f12066 arm: imx: include i.MX6SX DDR freq implementation for i.MX6UL
-# 169b71ce3f8a arm: imx: do not include smp_wfe_imx6.S for i.MX6SX
-# 60be4c625594 arm: imx: enable HAVE_IMX_BUSFREQ for i.MX6
-# f393781fa575 arm: imx: do not build busfreq without HAVE_IMX_BUSFREQ
-# e0e74faf6af4 ARM: dts: imx6ul-kontron-n6x1x-s: Remove an obsolete comment and fix indentation
-# ad24781aecc3 ARM: dts: imx6ul-kontron-n6x1x-s: Add vbus-supply and overcurrent polarity to usb nodes
-# d56aa09ed0e0 ARM: dts: imx6ul-kontron-n6x1x: Add 'chosen' node with 'stdout-path'
-# 923bc9e57b24 ARM: dts: Add support for two more Kontron evalkit boards 'N6311 S' and 'N6411 S'
-# f952a6404d10 ARM: dts: imx6ul-kontron-n6310-s: Move common nodes to a separate file
-# 1fdb6565a632 ARM: dts: Add support for two more Kontron SoMs N6311 and N6411
-# 4fb833f01c30 ARM: dts: imx6ul-kontron-n6310: Move common SoM nodes to a separate file
-# 54c975dabcde ARM: imx: Fix boot crash if ocotp is not found
-# 1041cd02b33c ARM: imx: Correct ocotp id for serial number support of i.MX6ULL/ULZ SoCs
-# 974b100d789c soc: imx-scu: Using existing serial_number instead of UID
-# 6fbfed9afe99 soc: imx8: Using existing serial_number instead of UID
-# 64d8ea803af5 ARM: imx: Add serial number support for i.MX6/7 SoCs
+# - 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
@@ -65,24 +52,27 @@ 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 = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-KBRANCH = "5.4-2.3.x-imx"
-SRCREV = "c6036e92d242ca4457bef28f3e70751f50df1eeb"
+KBRANCH = "6.6-1.0.x-imx"
+SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
+SRCREV = "ccf0a99701a701fb48a04e31ffe3f9d585a8374a"
# 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.4.102"
+LINUX_VERSION = "6.6.3"
+
+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 = "-imx-5.4.70-2.3.0"
+LOCALVERSION = "-lf-6.6.y"
DEFAULT_PREFERENCE = "1"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc-lts-4.19.bb b/recipes-kernel/linux/linux-fslc-lts-4.19.bb
deleted file mode 100644
index b38e8216..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-4.19.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2012-2020 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-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=bbea815ee2795b2f4230826c0c6b8814"
-
-PV = "4.19.125+git${SRCPV}"
-
-KBRANCH = "4.19.x+fslc"
-SRCREV = "d839dc0169b3c568813f2ee2abc30720f5244b89"
-
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|vf|use-mainline-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc-lts-4.19/defconfig b/recipes-kernel/linux/linux-fslc-lts-4.19/defconfig
deleted file mode 100644
index bab877b9..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-4.19/defconfig
+++ /dev/null
@@ -1,451 +0,0 @@
-CONFIG_KERNEL_LZO=y
-CONFIG_SYSVIPC=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_CGROUPS=y
-CONFIG_NAMESPACES=y
-CONFIG_NET_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_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_MULTI_V6=y
-CONFIG_ARCH_MXC=y
-CONFIG_MACH_MX31LILLY=y
-CONFIG_MACH_MX31LITE=y
-CONFIG_MACH_PCM037=y
-CONFIG_MACH_PCM037_EET=y
-CONFIG_MACH_MX31_3DS=y
-CONFIG_MACH_MX31MOBOARD=y
-CONFIG_MACH_QONG=y
-CONFIG_MACH_ARMADILLO5X0=y
-CONFIG_MACH_KZM_ARM11_01=y
-CONFIG_MACH_IMX31_DT=y
-CONFIG_MACH_IMX35_DT=y
-CONFIG_MACH_PCM043=y
-CONFIG_MACH_MX35_3DS=y
-CONFIG_MACH_VPR200=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_VF610=y
-CONFIG_PCI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_IMX6=y
-CONFIG_SMP=y
-CONFIG_ARM_PSCI=y
-CONFIG_PREEMPT_VOLUNTARY=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_CPU_IDLE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_BINFMT_MISC=m
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-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_HCIUART=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_BNEP=m
-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_CMA_SIZE_MBYTES=64
-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_OF=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SST25L=y
-CONFIG_MTD_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=m
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=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_EGALAX=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_GPIO_SYSFS=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_MC9S08DZ60=y
-CONFIG_GPIO_PCA953X=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_SENSORS_GPIO_FAN=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_DA9062_WATCHDOG=y
-CONFIG_RN5T618_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_DA9062=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_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_SOC_CAMERA=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=m
-# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV5640=m
-CONFIG_IMX_IPUV3_CORE=y
-CONFIG_DRM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=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_PRINTER=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_PL2303=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=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_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_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_IIO=y
-CONFIG_MMA8452=y
-CONFIG_IMX7D_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_IMX=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_VF610_OCOTP=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_MUX_MMIO=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_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_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_PRINTK_TIME=y
-CONFIG_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_PROVE_LOCKING=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FUNCTION_TRACER=y
-# CONFIG_ARM_UNWIND is not set
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_SAHARA=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_USER_NS=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_FQ_CODEL=y
-CONFIG_NET_SCH_FIFO=y
diff --git a/recipes-kernel/linux/linux-fslc-lts-4.19/mx25/defconfig b/recipes-kernel/linux/linux-fslc-lts-4.19/mx25/defconfig
deleted file mode 100644
index 4cd2f4a2..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-4.19/mx25/defconfig
+++ /dev/null
@@ -1,189 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_ARCH_MULTI_V4T=y
-CONFIG_ARCH_MULTI_V5=y
-# CONFIG_ARCH_MULTI_V7 is not set
-CONFIG_ARCH_MXC=y
-CONFIG_MACH_MX21ADS=y
-CONFIG_MACH_MX27ADS=y
-CONFIG_MACH_MX27_3DS=y
-CONFIG_MACH_IMX27_VISSTRIM_M10=y
-CONFIG_MACH_PCA100=y
-CONFIG_MACH_IMX27_DT=y
-CONFIG_SOC_IMX1=y
-CONFIG_SOC_IMX25=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_PM_DEBUG=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_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_NETFILTER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_IMX_WEIM=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_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-# CONFIG_MTD_CFI_I2 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_MXC=y
-CONFIG_MTD_UBI=y
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_AT25=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_IMX=y
-CONFIG_NETDEVICES=y
-CONFIG_CS89x0=y
-CONFIG_CS89x0_PLATFORM=y
-CONFIG_DM9000=y
-CONFIG_SMC91X=y
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-CONFIG_SMSC_PHY=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_IMX=y
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=m
-CONFIG_TOUCHSCREEN_MX25=y
-CONFIG_TOUCHSCREEN_MC13783=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_W1=y
-CONFIG_W1_MASTER_MXC=y
-CONFIG_W1_SLAVE_THERM=y
-CONFIG_HWMON=m
-CONFIG_SENSORS_MC13783_ADC=m
-CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MX25_TSADC=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_SOC_CAMERA=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=y
-CONFIG_FB=y
-CONFIG_FB_IMX=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-# CONFIG_SND_ARM is not set
-# CONFIG_SND_SPI is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_MX27VIS_AIC32X4=y
-CONFIG_SND_SOC_PHYCORE_AC97=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_SGTL5000=y
-CONFIG_USB_HID=m
-CONFIG_USB=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MXC=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_CHIPIDEA_ULPI=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_ETH=m
-CONFIG_USB_ULPI_BUS=y
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_MMC_MXC=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_MC13783=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=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_DRV_PCF8563=y
-CONFIG_RTC_DRV_IMXDI=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_DMADEVICES=y
-CONFIG_IMX_DMA=y
-CONFIG_IMX_SDMA=y
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_IIO=y
-CONFIG_FSL_MX25_ADC=y
-CONFIG_EXT4_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_VFAT_FS=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
diff --git a/recipes-kernel/linux/linux-fslc-lts-4.19/mxs/defconfig b/recipes-kernel/linux/linux-fslc-lts-4.19/mxs/defconfig
deleted file mode 100644
index 7b821285..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-4.19/mxs/defconfig
+++ /dev/null
@@ -1,180 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=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_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_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_ARCH_MULTI_V7 is not set
-CONFIG_ARCH_MXS=y
-# CONFIG_ARM_THUMB is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_AEABI=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_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=y
-# 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_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_FRAMEBUFFER_CONSOLE=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_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_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC7=m
-CONFIG_FONTS=y
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.10.bb b/recipes-kernel/linux/linux-fslc-mfgtool_5.10.bb
deleted file mode 100644
index c155ebb9..00000000
--- a/recipes-kernel/linux/linux-fslc-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_${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-qoriq_5.4.bb b/recipes-kernel/linux/linux-fslc-qoriq_5.4.bb
index db972ba7..212e7858 100644
--- a/recipes-kernel/linux/linux-fslc-qoriq_5.4.bb
+++ b/recipes-kernel/linux/linux-fslc-qoriq_5.4.bb
@@ -14,4 +14,4 @@ LINUX_VERSION = "5.4.92"
SRCBRANCH = "5.4.y+qoriq+fslc"
SRCREV = "11d4722c637a77c6e1c9a8eeec091f1588f6b3f3"
-SRC_URI := "git://github.com/Freescale/linux-fslc.git;branch=${SRCBRANCH}"
+SRC_URI := "git://github.com/Freescale/linux-fslc.git;branch=${SRCBRANCH};protocol=https"
diff --git a/recipes-kernel/linux/linux-fslc.inc b/recipes-kernel/linux/linux-fslc.inc
deleted file mode 100644
index 566dd194..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} \
- 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 57c06075..00000000
--- a/recipes-kernel/linux/linux-fslc/armv8a/defconfig
+++ /dev/null
@@ -1,1092 +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
diff --git a/recipes-kernel/linux/linux-fslc/defconfig b/recipes-kernel/linux/linux-fslc/defconfig
deleted file mode 100644
index 5e216107..00000000
--- a/recipes-kernel/linux/linux-fslc/defconfig
+++ /dev/null
@@ -1,475 +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
diff --git a/recipes-kernel/linux/linux-fslc/mx25/defconfig b/recipes-kernel/linux/linux-fslc/mx25/defconfig
deleted file mode 100644
index bb70acc6..00000000
--- a/recipes-kernel/linux/linux-fslc/mx25/defconfig
+++ /dev/null
@@ -1,187 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_ARCH_MULTI_V4T=y
-CONFIG_ARCH_MULTI_V5=y
-# CONFIG_ARCH_MULTI_V7 is not set
-CONFIG_ARCH_MXC=y
-CONFIG_MACH_MX21ADS=y
-CONFIG_MACH_MX27ADS=y
-CONFIG_MACH_MX27_3DS=y
-CONFIG_MACH_IMX27_VISSTRIM_M10=y
-CONFIG_MACH_PCA100=y
-CONFIG_SOC_IMX1=y
-CONFIG_SOC_IMX25=y
-CONFIG_SOC_IMX27=y
-CONFIG_AEABI=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_PM_DEBUG=y
-CONFIG_OPROFILE=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-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_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_NETFILTER=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_IMX_WEIM=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_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-# CONFIG_MTD_CFI_I2 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_MXC=y
-CONFIG_MTD_UBI=y
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_AT25=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_IMX=y
-CONFIG_NETDEVICES=y
-CONFIG_CS89x0=y
-CONFIG_CS89x0_PLATFORM=y
-CONFIG_DM9000=y
-CONFIG_SMC91X=y
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-CONFIG_SMSC_PHY=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_IMX=y
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=m
-CONFIG_TOUCHSCREEN_MX25=y
-CONFIG_TOUCHSCREEN_MC13783=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MXC=y
-CONFIG_W1=y
-CONFIG_W1_MASTER_MXC=y
-CONFIG_W1_SLAVE_THERM=y
-CONFIG_HWMON=m
-CONFIG_SENSORS_MC13783_ADC=m
-CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MX25_TSADC=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=y
-CONFIG_FB=y
-CONFIG_FB_IMX=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-# CONFIG_SND_ARM is not set
-# CONFIG_SND_SPI is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_MX27VIS_AIC32X4=y
-CONFIG_SND_SOC_PHYCORE_AC97=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_FSL_ASOC_CARD=y
-CONFIG_SND_SOC_SGTL5000=y
-CONFIG_USB_HID=m
-CONFIG_USB=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MXC=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_ETH=m
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_MMC_MXC=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_MC13783=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=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_DRV_PCF8563=y
-CONFIG_RTC_DRV_IMXDI=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_DMADEVICES=y
-CONFIG_IMX_DMA=y
-CONFIG_IMX_SDMA=y
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_IIO=y
-CONFIG_FSL_MX25_ADC=y
-CONFIG_PWM=y
-CONFIG_PWM_IMX1=y
-CONFIG_PWM_IMX27=y
-CONFIG_EXT4_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_VFAT_FS=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
diff --git a/recipes-kernel/linux/linux-fslc/mxs/defconfig b/recipes-kernel/linux/linux-fslc/mxs/defconfig
deleted file mode 100644
index a9c6f32a..00000000
--- a/recipes-kernel/linux/linux-fslc/mxs/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_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
diff --git a/recipes-kernel/linux/linux-fslc_5.10.bb b/recipes-kernel/linux/linux-fslc_6.6.bb
index 8664e03d..e0e68c0b 100644
--- a/recipes-kernel/linux/linux-fslc_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.19"
+LINUX_VERSION = "6.6.26"
-KBRANCH = "5.10.x+fslc"
-SRCREV = "804eb1ad8bcceefe16c0b9fb793d5733e8bc03e6"
+KBRANCH = "6.6.x+fslc"
+SRCREV = "829705b49b55e0ea4dbb12ed23996a12d01898bf"
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|vf|use-mainline-bsp)"
+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.4.bb b/recipes-kernel/linux/linux-imx-headers_6.6.bb
index 4644295d..95ec32b0 100644
--- a/recipes-kernel/linux/linux-imx-headers_5.4.bb
+++ b/recipes-kernel/linux/linux-imx-headers_6.6.bb
@@ -1,16 +1,16 @@
-# Copyright 2017-2019 NXP
+# Copyright 2017-2023 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
SUMMARY = "Installs i.MX-specific kernel headers"
DESCRIPTION = "Installs i.MX-specific kernel headers to userspace. \
New headers are installed in ${includedir}/imx."
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-SRCBRANCH = "imx_5.4.70_2.3.0"
-LOCALVERSION = "-2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "dea2fede7e024ee7029b13e8d82a00ec14427777"
+SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "lf-6.6.y"
+LOCALVERSION = "-6.6.3-1.0.0"
+SRCREV = "ccf0a99701a701fb48a04e31ffe3f9d585a8374a"
S = "${WORKDIR}/git"
@@ -22,9 +22,8 @@ IMX_UAPI_HEADERS = " \
dma-buf.h \
hantrodec.h \
hx280enc.h \
- ion.h \
ipu.h \
- isl29023.h \
+ imx_vpu.h \
mxc_asrc.h \
mxc_dcic.h \
mxc_mlb.h \
@@ -33,25 +32,27 @@ IMX_UAPI_HEADERS = " \
mxcfb.h \
pxp_device.h \
pxp_dma.h \
+ version.h \
videodev2.h \
"
do_install() {
# We install all headers inside of B so we can copy only the
- # whitelisted ones, and there is no risk of a new header to be
+ # i.MX-specific ones, and there is no risk of a new header to be
# installed by mistake.
oe_runmake headers_install INSTALL_HDR_PATH=${B}${exec_prefix}
+ ################################################
+ # BEGIN Copy of exceptional logic from linux-libc-headers
# Kernel should not be exporting this header
- rm -f ${D}${exec_prefix}/include/scsi/scsi.h
+ rm -f ${B}${exec_prefix}/include/scsi/scsi.h
# The ..install.cmd conflicts between various configure runs
- find ${D}${includedir} -name ..install.cmd | xargs rm -f
+ find ${B}${includedir} -name ..install.cmd | xargs rm -f
+ # END Copy from linux-libc-headers
+ ################################################
- # FIXME: The ion.h is still on staging so "promote" it for now
- cp ${S}/drivers/staging/android/uapi/ion.h ${B}${includedir}/linux
-
- # Install whitelisted headers only
+ # Install i.MX-specific headers only
for h in ${IMX_UAPI_HEADERS}; do
install -D -m 0644 ${B}${includedir}/linux/$h \
${D}${includedir}/imx/linux/$h
@@ -64,7 +65,7 @@ do_install() {
# Without this setting the RDEPENDS in other recipes fails to find this
# package, therefore causing the -dev package also to be skipped effectively not
# populating it into SDK
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native bison-native rsync-native"
@@ -74,4 +75,4 @@ PACKAGE_ARCH = "${MACHINE_SOCARCH}"
# Restrict this recipe to NXP BSP only, this recipe is not compatible
# with mainline BSP
COMPATIBLE_HOST = '(null)'
-COMPATIBLE_HOST_use-nxp-bsp = '.*'
+COMPATIBLE_HOST:use-nxp-bsp = '.*'
diff --git a/recipes-kernel/linux/linux-imx-mfgtool_5.4.bb b/recipes-kernel/linux/linux-imx-mfgtool_5.4.bb
deleted file mode 100644
index 0a9f5259..00000000
--- a/recipes-kernel/linux/linux-imx-mfgtool_5.4.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 96d4df90..34d50cfc 100644
--- a/recipes-kernel/linux/linux-imx.inc
+++ b/recipes-kernel/linux/linux-imx.inc
@@ -1,8 +1,8 @@
# Copyright (C) 2012, 2015 O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+LICENSE = "GPL-2.0-only"
+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/defconfig b/recipes-kernel/linux/linux-imx/imx/defconfig
deleted file mode 100644
index c6d83c3b..00000000
--- a/recipes-kernel/linux/linux-imx/imx/defconfig
+++ /dev/null
@@ -1,590 +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_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_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_ARM_IMX7ULP_CPUFREQ=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_SECCOMP=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_VF610_NFC=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_E1000E=y
-# 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_HOSTAP=y
-CONFIG_MXMWIFIEX=m
-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_EGALAX=y
-CONFIG_TOUCHSCREEN_ELAN_TS=y
-CONFIG_TOUCHSCREEN_GOODIX=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_FSL_DSPI=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_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_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_CAMERA_SUPPORT=y
-CONFIG_MEDIA_RADIO_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_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_RADIO_SI476X=y
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_DRM=y
-CONFIG_DRM_MSM=y
-CONFIG_DRM_PANEL_LVDS=y
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=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_IMX_SOC=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_WM8960=y
-CONFIG_SND_SOC_IMX_SII902X=y
-CONFIG_SND_SOC_IMX_WM8958=y
-CONFIG_SND_SOC_IMX_CS42888=y
-CONFIG_SND_SOC_IMX_WM8962=y
-CONFIG_SND_SOC_IMX_RPMSG=y
-CONFIG_SND_SOC_IMX_ES8328=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_MQS=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_IMX_SI476X=y
-CONFIG_SND_SOC_IMX_HDMI=y
-CONFIG_SND_SOC_AC97_CODEC=y
-CONFIG_SND_SOC_TLV320AIC3X=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_OTG_WHITELIST=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_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_IMX_MBOX=y
-CONFIG_REMOTEPROC=y
-CONFIG_IMX_REMOTEPROC=y
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_IMX7D_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_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_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_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_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_XTS=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_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
-CONFIG_CRYPTO_DEV_SAHARA=y
-CONFIG_CRYPTO_DEV_MXS_DCP=y
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ANSI_CPRNG=m
-# meta-freescale change: Set CRYPTO_SHA1 to y to prevent kernel_configcheck warning
-#CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA1=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_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
diff --git a/recipes-kernel/linux/linux-imx/mx8/defconfig b/recipes-kernel/linux/linux-imx/mx8/defconfig
deleted file mode 100644
index 1de0c724..00000000
--- a/recipes-kernel/linux/linux-imx/mx8/defconfig
+++ /dev/null
@@ -1,881 +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_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=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_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_NUMA=y
-CONFIG_SECCOMP=y
-CONFIG_KEXEC=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_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_SCPI_PROTOCOL=y
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_IMX_DSP=y
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_IMX_SECO_MU=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_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_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_LLC2=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_MULTIQ=y
-CONFIG_NET_SCH_CBS=y
-CONFIG_NET_SCH_TAPRIO=y
-CONFIG_NET_SCH_MQPRIO=y
-CONFIG_NET_CLS_BASIC=y
-CONFIG_NET_CLS_TCINDEX=y
-CONFIG_TSN=y
-CONFIG_NET_SWITCHDEV=y
-CONFIG_BPF_JIT=y
-CONFIG_NET_PKTGEN=y
-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_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=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_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_IOV=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_PCIE_LAYERSCAPE_GEN4=y
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-CONFIG_PCI_EPF_TEST=y
-CONFIG_IMX_MIC_EPF=m
-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_BUS=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=y
-CONFIG_EEPROM_AT25=m
-CONFIG_SCIF_BUS=m
-CONFIG_VOP_BUS=m
-CONFIG_IMX_MIC_HOST=m
-CONFIG_IMX_MIC_CARD=m
-CONFIG_SCIF=m
-CONFIG_MIC_COSM=m
-CONFIG_VOP=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_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_AMD_XGBE=y
-CONFIG_ATL1C=m
-CONFIG_BNX2X=m
-CONFIG_MACB=y
-CONFIG_THUNDER_NIC_PF=y
-CONFIG_FEC=y
-CONFIG_FSL_SDK_DPAA_ETH=y
-CONFIG_FSL_DPAA2_ETH=y
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=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_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_STMMAC_ETH=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
-CONFIG_AQUANTIA_PHY=y
-CONFIG_AT803X_PHY=y
-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_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_BRCMFMAC=m
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_HOSTAP=y
-CONFIG_MXMWIFIEX=m
-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_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_SPI=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_S32V234=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_MB86S7X=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_MAX77620=y
-CONFIG_POWER_AVS=y
-CONFIG_POWER_RESET_BRCMSTB=y
-CONFIG_POWER_RESET_VEXPRESS=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_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_DEVICE_THERMAL=y
-CONFIG_IMX8MM_THERMAL=y
-CONFIG_QORIQ_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_ARM_SP805_WATCHDOG=y
-CONFIG_ARM_SBSA_WATCHDOG=y
-CONFIG_DW_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX_SC_WDT=y
-CONFIG_XEN_WDT=y
-CONFIG_MFD_BD9571MWV=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_IMX_AUDIOMIX=y
-CONFIG_MFD_HI6421_PMIC=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_ROHM_BD718XX=y
-CONFIG_MFD_PCA9450=y
-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_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_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_DVB_NET is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MX8_CAPTURE=y
-CONFIG_VIDEO_MXC_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_OV5640=y
-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_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_PANEL_WKS_101WX001=y
-CONFIG_DRM_FSL_IMX_LVDS_BRIDGE=y
-CONFIG_DRM_NXP_SEIKO_43WVFIG=y
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_I2C_ADV7511=y
-CONFIG_DRM_NWL_MIPI_DSI=y
-CONFIG_DRM_CDNS_HDMI_CEC=y
-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_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_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_BACKLIGHT_GENERIC=m
-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_EASRC=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_WM8960=y
-CONFIG_SND_SOC_IMX_WM8524=y
-CONFIG_SND_SOC_IMX_CS42888=y
-CONFIG_SND_SOC_IMX_MICFIL=y
-CONFIG_SND_SOC_IMX_RPMSG=y
-CONFIG_SND_SOC_IMX_MQS=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_AUDMIX=y
-CONFIG_SND_SOC_IMX_PDM_MIC=y
-CONFIG_SND_SOC_IMX_DSP=y
-CONFIG_SND_SOC_IMX_CDNHDMI=y
-CONFIG_SND_SOC_IMX_XCVR=y
-CONFIG_SND_SOC_IMX_PCM512X=y
-CONFIG_SND_SOC_SOF_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_OF=m
-CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_IMX8_SUPPORT=m
-CONFIG_SND_SOC_SOF_IMX8M_SUPPORT=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_BT_SCO=y
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_MAX98357A=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_SGTL5000=m
-CONFIG_SND_SOC_SPDIF=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_SND_AUDIO_GRAPH_CARD=y
-CONFIG_I2C_HID=m
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_OTG_WHITELIST=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_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_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=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=y
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_PCF85363=y
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PCF2127=y
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_CROS_EC=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_SC=y
-CONFIG_DMADEVICES=y
-CONFIG_BCM_SBA_RAID=m
-CONFIG_FSL_EDMA=y
-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_DMATEST=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_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_DPAA2_MAC=y
-CONFIG_FSL_SDK_DPA=y
-CONFIG_FSL_PPFE=y
-CONFIG_FSL_PPFE_UTIL_DISABLED=y
-CONFIG_MFD_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_COMMON_CLK_VERSATILE=y
-CONFIG_CLK_SP810=y
-CONFIG_CLK_VEXPRESS_OSC=y
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_COMMON_CLK_XGENE=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_CLK_IMX8MM=y
-CONFIG_CLK_IMX8MN=y
-CONFIG_CLK_IMX8MP=y
-CONFIG_CLK_IMX8MQ=y
-CONFIG_CLK_IMX8QXP=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_RPMSG_QCOM_GLINK_RPM=y
-CONFIG_SOC_BRCMSTB=y
-CONFIG_FSL_MC_DPIO=y
-CONFIG_FSL_QIXIS=y
-CONFIG_IMX_SCU_SOC=y
-CONFIG_SECVIO_SC=y
-CONFIG_SOC_TI=y
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-CONFIG_IIO=y
-CONFIG_IMX8QXP_ADC=y
-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_PWM=y
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_IMX27=y
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_MIXEL_LVDS=y
-CONFIG_PHY_MIXEL_LVDS_COMBO=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_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_MXC_SIM=y
-CONFIG_MXC_EMVSIM=y
-CONFIG_MXC_MLB150=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_XTS=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_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_ANUBIS=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_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
-CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=y
-CONFIG_INDIRECT_PIO=y
-CONFIG_CMA_SIZE_MBYTES=320
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=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_CORESIGHT=y
-CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
-CONFIG_CORESIGHT_SOURCE_ETM4X=y
diff --git a/recipes-kernel/linux/linux-imx_5.4.bb b/recipes-kernel/linux/linux-imx_6.6.bb
index 1997388c..409e1f66 100644
--- a/recipes-kernel/linux/linux-imx_5.4.bb
+++ b/recipes-kernel/linux/linux-imx_6.6.bb
@@ -1,5 +1,5 @@
# Copyright 2013-2016 (C) Freescale Semiconductor
-# Copyright 2017-2020 (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,22 +12,22 @@ i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU
require recipes-kernel/linux/linux-imx.inc
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-DEPENDS += "lzop-native bc-native"
-
-SRCBRANCH = "imx_5.4.70_2.3.0"
-LOCALVERSION = "-2.3.0"
-SRCREV = "4f2631b022d843c1f2a5d34eae2fd98927a1a6c7"
+SRCBRANCH = "lf-6.6.y"
+LOCALVERSION = "-6.6.3-1.0.0"
+SRCREV = "ccf0a99701a701fb48a04e31ffe3f9d585a8374a"
# 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.4.70"
+LINUX_VERSION = "6.6.3"
+
+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"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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.inc b/recipes-kernel/linux/linux-qoriq.inc
index dcf28401..5d28ae84 100644
--- a/recipes-kernel/linux/linux-qoriq.inc
+++ b/recipes-kernel/linux/linux-qoriq.inc
@@ -3,16 +3,16 @@ inherit fsl-kernel-localversion
SUMMARY = "Linux Kernel for NXP QorIQ platforms"
SECTION = "kernel"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
S = "${WORKDIR}/git"
-DEPENDS_append = " libgcc"
+DEPENDS:append = " libgcc"
# not put Images into /boot of rootfs, install kernel-image if needed
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
-KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}"
-KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_CC:append = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_LD:append = " ${TOOLCHAIN_OPTIONS}"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
@@ -24,9 +24,8 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
SCMVERSION ?= "y"
LOCALVERSION = ""
DELTA_KERNEL_DEFCONFIG ?= ""
-DELTA_KERNEL_DEFCONFIG_prepend_qoriq-arm64 = "lsdk.config "
-DELTA_KERNEL_DEFCONFIG_prepend_fsl-lsch2-32b = "multi_v7_lpae.config multi_v8.config lsdk.config "
-DELTA_KERNEL_DEFCONFIG_prepend_ls102xa = "multi_v7_lpae.config lsdk.config "
+DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm64 = "lsdk.config "
+DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm = "multi_v7_lpae.config lsdk.config "
do_merge_delta_config[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot bison-native:do_populate_sysroot"
do_merge_delta_config[dirs] = "${B}"
@@ -53,16 +52,7 @@ do_merge_delta_config() {
done
cp .config ${WORKDIR}/defconfig
}
-addtask merge_delta_config before do_preconfigure after do_patch
+addtask merge_delta_config before do_kernel_localversion after do_patch
-# The link of dts folder is needed for 32b compile of aarch64 targets(e.g. ls1043ardb-32b)
-do_compile_prepend_fsl-lsch2-32b() {
- ln -sfT ${STAGING_KERNEL_DIR}/arch/arm64/boot/dts/freescale ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale
-}
-
-do_install_prepend_fsl-lsch2-32b() {
- rm -f ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale
-}
-
-FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*"
+FILES:${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*"
COMPATIBLE_MACHINE = "(qoriq)"
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
new file mode 100644
index 00000000..c62de58e
--- /dev/null
+++ b/recipes-kernel/linux/linux-qoriq_5.10.bb
@@ -0,0 +1,8 @@
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+LINUX_VERSION = "5.10.52"
+
+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/linux/linux-qoriq_5.4.bb b/recipes-kernel/linux/linux-qoriq_5.4.bb
deleted file mode 100644
index 54fd700c..00000000
--- a/recipes-kernel/linux/linux-qoriq_5.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-LINUX_VERSION = "5.4.47"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1 \
- file://0001-Makfefile-linux-5.4-add-warning-cflags-on-LSDK-20.04.patch \
- file://0001-perf-tests-bp_account-Make-global-variable-static.patch \
- file://0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch \
- file://0001-perf-bench-Share-some-global-variables-to-fix-build-.patch \
- file://0001-libtraceevent-Fix-build-with-binutils-2.35.patch \
-"
-SRCREV = "6bff40d413b394c2d742e7a42089bfc62aef0a9b"
-
-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 4b111b5d..9e75f5ef 100644
--- a/recipes-kernel/skmm-host/skmm-host_git.bb
+++ b/recipes-kernel/skmm-host/skmm-host_git.bb
@@ -1,18 +1,18 @@
DESCRIPTION = "skmm host driver offload data to PCIe EP and push the data en-decrypted back to application"
SECTION = "c293-skmm-host"
-LICENSE = "BSD & GPLv2+"
+LICENSE = "BSD & GPL-2.0-or-later"
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"
EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
-FILES_${PN} += "/etc/skmm/ /usr/bin/"
+FILES:${PN} += "/etc/skmm/ /usr/bin/"
COMPATIBLE_MACHINE = "(p4080ds|t4240qds)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
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 747b62c5..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
@@ -1,14 +1,15 @@
-From cc06048dcd722049f92ab17958760bd798fb4781 Mon Sep 17 00:00:00 2001
+From 49a7eac8e02c33cae8a168e6d22d9ff8aaf86d44 Mon Sep 17 00:00:00 2001
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>
+
---
- src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++++++++++
- src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++++++++
+ src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++
+ src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++
src/conf/cards/Makefile.am | 4 +-
src/conf/cards/aliases.conf | 2 +
4 files changed, 166 insertions(+), 1 deletion(-)
@@ -204,18 +205,15 @@ index 00999f0..fbf0697 100644
if BUILD_ALISP
cfg_files += aliases.alisp
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
-index 18a920f..2c422ee 100644
+index 7e352f7..a9e6d76 100644
--- a/src/conf/cards/aliases.conf
+++ b/src/conf/cards/aliases.conf
@@ -57,6 +57,8 @@ CMI8786 cards.CMI8788
CMI8787 cards.CMI8788
pistachio cards.pistachio-card
VC4-HDMI cards.vc4-hdmi
-+cs42888-audio cards.CS42888
++imx-cs42888 cards.CS42888
+imx-hdmi-soc cards.IMX-HDMI
+ <confdir:ctl/default.conf>
<confdir:pcm/default.conf>
- <confdir:pcm/dmix.conf>
---
-2.7.4
-
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch b/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
new file mode 100644
index 00000000..5ec0d2e9
--- /dev/null
+++ b/recipes-multimedia/alsa/alsa-lib/0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch
@@ -0,0 +1,41 @@
+From aa4f56c3c952269c36464cc0da9db5a1381648fa Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Wed, 9 Nov 2022 08:11:42 +0100
+Subject: [PATCH] pcm: rate - fix the crash in
+
+Upstream-Status: Backport
+
+ snd_pcm_rate_may_wait_for_avail_min()
+
+The pcm argument passed to the conversion function in
+snd_pcm_plugin_may_wait_for_avail_min_conv() should be
+pcm->fast_op_arg.
+
+Test command: arecord -Dplughw:x -r12000 -c2 -fS16_LE -M temp.wav
+
+Fixes: d9dbb57b ("pcm: rate - rewrite the may_wait_for_avail_min callback for the rate plugin")
+
+BugLink: https://lore.kernel.org/alsa-devel/1667793912-18957-1-git-send-email-shengjiu.wang@nxp.com/
+Fixes: https://github.com/alsa-project/alsa-lib/issues/282
+Reported-by: Shengjiu Wang <shengjiu.wang@nxp.com>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ src/pcm/pcm_plugin.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c
+index 6bb90b8b..ec64604c 100644
+--- a/src/pcm/pcm_plugin.c
++++ b/src/pcm/pcm_plugin.c
+@@ -622,7 +622,7 @@ int snd_pcm_plugin_may_wait_for_avail_min_conv(
+ * This code is also used by extplug, but extplug does not allow to alter the sampling rate.
+ */
+ if (conv)
+- needed_slave_avail_min = conv(pcm, needed_slave_avail_min);
++ needed_slave_avail_min = conv(pcm->fast_op_arg, needed_slave_avail_min);
+
+ if (slave->avail_min != needed_slave_avail_min) {
+ snd_pcm_sw_params_t *swparams;
+--
+2.34.1
+
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 100755
index 4d28a77f..00000000
--- a/recipes-multimedia/alsa/alsa-lib/0004-pcm-Don-t-store-the-state-for-SND_PCM_STATE_SUSPENDE.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 93607819d90ddf9bbdad8bbbe4af5d917ca572dc 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 2/2] 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 a6a8f3a..89c07d1 100644
---- a/src/pcm/pcm_dmix.c
-+++ b/src/pcm/pcm_dmix.c
-@@ -466,9 +466,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 7cdfea2..e0b4ea7 100644
---- a/src/pcm/pcm_dshare.c
-+++ b/src/pcm/pcm_dshare.c
-@@ -261,9 +261,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 539b671..03df6ff 100644
---- a/src/pcm/pcm_dsnoop.c
-+++ b/src/pcm/pcm_dsnoop.c
-@@ -212,9 +212,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)
---
-2.7.4
-
diff --git a/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch b/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
index a07f60d6..b25aa910 100644
--- a/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0005-add-ak4458-conf-for-multichannel-support.patch
@@ -1,7 +1,10 @@
-From 1641ce8c724018365d7fa598f9a70c6492e7c271 Mon Sep 17 00:00:00 2001
+From d78b7e2b964c9713c2e9889f4ec85922528ba971 Mon Sep 17 00:00:00 2001
From: Shengjiu Wang <shengjiu.wang@nxp.com>
Date: Wed, 31 Jan 2018 15:06:53 +0800
Subject: [PATCH] add ak4458 conf for multichannel support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
one limitation is that ALSA and pulseaudio only support
maximum 8 channels, but ak4458 may support 16 channels
@@ -9,17 +12,19 @@ maximum 8 channels, but ak4458 may support 16 channels
Upstream-Status: Inappropriate [i.MX specific]
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
+
---
- src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++++++++++
+ src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++
src/conf/cards/Makefile.am | 3 +-
src/conf/cards/aliases.conf | 1 +
3 files changed, 77 insertions(+), 1 deletion(-)
create mode 100644 src/conf/cards/AK4458.conf
-Index: alsa-lib-1.1.6/src/conf/cards/AK4458.conf
-===================================================================
+diff --git a/src/conf/cards/AK4458.conf b/src/conf/cards/AK4458.conf
+new file mode 100644
+index 0000000..3b5b195
--- /dev/null
-+++ alsa-lib-1.1.6/src/conf/cards/AK4458.conf
++++ b/src/conf/cards/AK4458.conf
@@ -0,0 +1,74 @@
+#
+# Configuration for the AK4458 chip
@@ -95,10 +100,10 @@ Index: alsa-lib-1.1.6/src/conf/cards/AK4458.conf
+ }
+ slave.channels 8
+}
-Index: alsa-lib-1.1.6/src/conf/cards/Makefile.am
-===================================================================
---- alsa-lib-1.1.6.orig/src/conf/cards/Makefile.am
-+++ alsa-lib-1.1.6/src/conf/cards/Makefile.am
+diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
+index fbf0697..34fa5a3 100644
+--- a/src/conf/cards/Makefile.am
++++ b/src/conf/cards/Makefile.am
@@ -60,7 +60,8 @@ cfg_files = aliases.conf \
VXPocket.conf \
VXPocket440.conf \
@@ -109,15 +114,15 @@ Index: alsa-lib-1.1.6/src/conf/cards/Makefile.am
if BUILD_ALISP
cfg_files += aliases.alisp
-Index: alsa-lib-1.1.6/src/conf/cards/aliases.conf
-===================================================================
---- alsa-lib-1.1.6.orig/src/conf/cards/aliases.conf
-+++ alsa-lib-1.1.6/src/conf/cards/aliases.conf
+diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
+index a9e6d76..2f0a22a 100644
+--- a/src/conf/cards/aliases.conf
++++ b/src/conf/cards/aliases.conf
@@ -59,6 +59,7 @@ pistachio cards.pistachio-card
VC4-HDMI cards.vc4-hdmi
- cs42888-audio cards.CS42888
+ imx-cs42888 cards.CS42888
imx-hdmi-soc cards.IMX-HDMI
+ak4458-audio cards.AK4458
+ <confdir:ctl/default.conf>
<confdir:pcm/default.conf>
- <confdir:pcm/dmix.conf>
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 d72fb02c..f801309e 100755..100644
--- a/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
+++ b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
@@ -1,13 +1,14 @@
-From 2fd2737a1a0553e164d1b4f78687edf573f8e621 Mon Sep 17 00:00:00 2001
+From cfbe756d55a303803805d3e8e3d3cf3b97866964 Mon Sep 17 00:00:00 2001
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>
+
---
- src/conf/cards/IMX-XCVR.conf | 69 ++++++++++++++++++++++++++++++++++++++++++++
+ src/conf/cards/IMX-XCVR.conf | 69 ++++++++++++++++++++++++++++++++++++
src/conf/cards/Makefile.am | 3 +-
src/conf/cards/aliases.conf | 1 +
3 files changed, 72 insertions(+), 1 deletion(-)
@@ -103,17 +104,14 @@ index 34fa5a3..70b9bab 100644
if BUILD_ALISP
cfg_files += aliases.alisp
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
-index 5d92ac7..c195848 100644
+index 2f0a22a..e824145 100644
--- a/src/conf/cards/aliases.conf
+++ b/src/conf/cards/aliases.conf
@@ -60,6 +60,7 @@ VC4-HDMI cards.vc4-hdmi
- cs42888-audio cards.CS42888
+ imx-cs42888 cards.CS42888
imx-hdmi-soc cards.IMX-HDMI
ak4458-audio cards.AK4458
+imx-audio-xcvr cards.IMX-XCVR
+ <confdir:ctl/default.conf>
<confdir:pcm/default.conf>
- <confdir:pcm/dmix.conf>
---
-2.7.4
-
diff --git a/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch b/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
new file mode 100644
index 00000000..64e15be4
--- /dev/null
+++ b/recipes-multimedia/alsa/alsa-lib/0007-add-conf-for-imx-cs42448-sound-card.patch
@@ -0,0 +1,107 @@
+From 97d5e09a4166b45c567026e51b8a25ef5d7d587d Mon Sep 17 00:00:00 2001
+From: Chancel Liu <chancel.liu@nxp.com>
+Date: Fri, 29 Jul 2022 16:12:37 +0800
+Subject: [PATCH] add conf for imx-cs42448 sound card
+
+Upstream-Status: Inappropriate [i.MX specific]
+
+Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
+---
+ src/conf/cards/CS42448.conf | 58 +++++++++++++++++++++++++++++++++++++
+ src/conf/cards/Makefile.am | 3 +-
+ src/conf/cards/aliases.conf | 1 +
+ 3 files changed, 61 insertions(+), 1 deletion(-)
+ create mode 100644 src/conf/cards/CS42448.conf
+
+diff --git a/src/conf/cards/CS42448.conf b/src/conf/cards/CS42448.conf
+new file mode 100644
+index 00000000..28ba5c48
+--- /dev/null
++++ b/src/conf/cards/CS42448.conf
+@@ -0,0 +1,58 @@
++#
++# Configuration for the CS42448 chip
++#
++
++# default with dmix & dsnoop
++CS42448.pcm.default {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type asym
++ playback.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
++ }
++ }
++ capture.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
++ }
++ }
++}
++
++<confdir:pcm/surround51.conf>
++
++CS42448.pcm.surround51.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type plug
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ slave.channels 6
++}
++
++<confdir:pcm/surround71.conf>
++
++CS42448.pcm.surround71.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type plug
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ slave.channels 8
++}
++
++# vim: ft=alsaconf
+diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
+index 70b9bab3..6aba20b4 100644
+--- a/src/conf/cards/Makefile.am
++++ b/src/conf/cards/Makefile.am
+@@ -62,7 +62,8 @@ cfg_files = aliases.conf \
+ CS42888.conf \
+ IMX-HDMI.conf \
+ AK4458.conf \
+- IMX-XCVR.conf
++ IMX-XCVR.conf \
++ CS42448.conf
+
+ if BUILD_ALISP
+ cfg_files += aliases.alisp
+diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
+index e824145d..a40d3731 100644
+--- a/src/conf/cards/aliases.conf
++++ b/src/conf/cards/aliases.conf
+@@ -61,6 +61,7 @@ imx-cs42888 cards.CS42888
+ imx-hdmi-soc cards.IMX-HDMI
+ ak4458-audio cards.AK4458
+ imx-audio-xcvr cards.IMX-XCVR
++imx-cs42448 cards.CS42448
+
+ <confdir:ctl/default.conf>
+ <confdir:pcm/default.conf>
+--
+2.17.1
diff --git a/recipes-multimedia/alsa/alsa-lib_%.bbappend b/recipes-multimedia/alsa/alsa-lib_%.bbappend
index 80c11f33..65498aed 100644
--- a/recipes-multimedia/alsa/alsa-lib_%.bbappend
+++ b/recipes-multimedia/alsa/alsa-lib_%.bbappend
@@ -1,11 +1,15 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+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 \
+ file://0007-add-conf-for-imx-cs42448-sound-card.patch \
+ file://0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch \
"
-SRC_URI_append_imx = "${IMX_PATCH}"
+SRC_URI:append:imx-nxp-bsp = "${IMX_PATCH}"
-PACKAGE_ARCH_imx = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}"
+
+GLIBC_64BIT_TIME_FLAGS = ""
+INSANE_SKIP:append = " 32bit-time"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_1.0.26.bb b/recipes-multimedia/alsa/imx-alsa-plugins_1.0.26.bb
deleted file mode 100644
index db2f71fd..00000000
--- a/recipes-multimedia/alsa/imx-alsa-plugins_1.0.26.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Freescale alsa-lib plugins"
-LICENSE = "GPLv2"
-SECTION = "multimedia"
-DEPENDS = "alsa-lib"
-
-# For backwards compatibility
-PROVIDES += "fsl-alsa-plugins"
-RREPLACES_${PN} = "fsl-alsa-plugins"
-RPROVIDES_${PN} = "fsl-alsa-plugins"
-RCONFLICTS_${PN} = "fsl-alsa-plugins"
-
-LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit autotools pkgconfig use-imx-headers
-
-SRCBRANCH = "MM_04.05.01_1909_L4.19.35"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38"
-
-S = "${WORKDIR}/git"
-
-INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
-
-EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
-
-INSANE_SKIP_${PN} = "dev-so"
-
-FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so"
-FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
-FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
new file mode 100644
index 00000000..e2acf767
--- /dev/null
+++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -0,0 +1,44 @@
+# 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"
+LICENSE = "GPL-2.0-only"
+SECTION = "multimedia"
+DEPENDS = "alsa-lib"
+
+# For backwards compatibility
+PROVIDES += "fsl-alsa-plugins"
+RREPLACES:${PN} = "fsl-alsa-plugins"
+RPROVIDES:${PN} = "fsl-alsa-plugins"
+RCONFLICTS:${PN} = "fsl-alsa-plugins"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit autotools pkgconfig use-imx-headers
+
+PV = "1.0.26+${SRCPV}"
+
+SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
+SRCREV = "b2ba082e70333f187972ee4e85f63f9d2f608331"
+
+S = "${WORKDIR}/git"
+
+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"
+FILES:${PN}-dbg += "${libdir}/alsa-lib/.debug"
+FILES:${PN}-dev += "${libdir}/alsa-lib/*.la"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch b/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
new file mode 100644
index 00000000..2b4ca0e9
--- /dev/null
+++ b/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
@@ -0,0 +1,97 @@
+From 24a58d70cbb3997e471366bd5afe54be9007bfb1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 10 Nov 2020 15:32:14 +0000
+Subject: [PATCH] libavutil: include assembly with full path from source root
+
+Otherwise nasm writes the full host-specific paths into .o
+output, which breaks binary reproducibility.
+
+Upstream-Status: Submitted [by email to jamrial@gmail.com,ffmpeg-devel@ffmpeg.org]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ libavutil/x86/cpuid.asm | 2 +-
+ libavutil/x86/emms.asm | 2 +-
+ libavutil/x86/fixed_dsp.asm | 2 +-
+ libavutil/x86/float_dsp.asm | 2 +-
+ libavutil/x86/lls.asm | 2 +-
+ libavutil/x86/pixelutils.asm | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/libavutil/x86/cpuid.asm b/libavutil/x86/cpuid.asm
+index c3f7866..766f77f 100644
+--- a/libavutil/x86/cpuid.asm
++++ b/libavutil/x86/cpuid.asm
+@@ -21,7 +21,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/emms.asm b/libavutil/x86/emms.asm
+index 8611762..df84f22 100644
+--- a/libavutil/x86/emms.asm
++++ b/libavutil/x86/emms.asm
+@@ -18,7 +18,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/fixed_dsp.asm b/libavutil/x86/fixed_dsp.asm
+index 979dd5c..2f41185 100644
+--- a/libavutil/x86/fixed_dsp.asm
++++ b/libavutil/x86/fixed_dsp.asm
+@@ -20,7 +20,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
+index 517fd63..b773e61 100644
+--- a/libavutil/x86/float_dsp.asm
++++ b/libavutil/x86/float_dsp.asm
+@@ -20,7 +20,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION_RODATA 32
+ pd_reverse: dd 7, 6, 5, 4, 3, 2, 1, 0
+diff --git a/libavutil/x86/lls.asm b/libavutil/x86/lls.asm
+index 317fba6..d2526d1 100644
+--- a/libavutil/x86/lls.asm
++++ b/libavutil/x86/lls.asm
+@@ -20,7 +20,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm
+index 36c57c5..8b45ead 100644
+--- a/libavutil/x86/pixelutils.asm
++++ b/libavutil/x86/pixelutils.asm
+@@ -21,7 +21,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
diff --git a/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb b/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
new file mode 100644
index 00000000..5b1dedcd
--- /dev/null
+++ b/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
@@ -0,0 +1,185 @@
+SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
+DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
+ mux, demux, stream, filter and play pretty much anything that humans and machines \
+ have created. It supports the most obscure ancient formats up to the cutting edge."
+HOMEPAGE = "https://www.ffmpeg.org/"
+SECTION = "libs"
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
+LICENSE:${PN} = "GPL-2.0-or-later"
+LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libpostproc = "GPL-2.0-or-later"
+LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
+LICENSE_FLAGS = "commercial"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
+ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+ file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
+ "
+SRC_URI[sha256sum] = "eadbad9e9ab30b25f5520fbfde99fae4a92a1ae3c0257a8d68569a4651e30e02"
+
+# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
+
+# Should be API compatible with libav (which was a fork of ffmpeg)
+# libpostproc was previously packaged from a separate recipe
+PROVIDES = "libav libpostproc"
+
+DEPENDS = "nasm-native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
+ alsa bzlib lzma pic pthreads shared theora zlib \
+ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
+
+# libraries to build in addition to avutil
+PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
+PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
+PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
+PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
+PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
+PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
+PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
+
+# features to support
+PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
+PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
+PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
+PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+PACKAGECONFIG[libopus] = "--enable-libopus,--disable-libopus,libopus"
+PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
+PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
+PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
+PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
+PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
+PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
+PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
+PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
+PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265"
+PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
+PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+
+# other configuration options
+PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
+PACKAGECONFIG[pic] = "--enable-pic"
+PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
+PACKAGECONFIG[shared] = "--enable-shared"
+PACKAGECONFIG[strip] = ",--disable-stripping"
+
+# Check codecs that require --enable-nonfree
+USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
+
+def cpu(d):
+ for arg in (d.getVar('TUNE_CCARGS') or '').split():
+ if arg.startswith('-mcpu='):
+ return arg[6:]
+ return 'generic'
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ \
+ --ld='${CCLD}' \
+ --cc='${CC}' \
+ --cxx='${CXX}' \
+ --arch=${TARGET_ARCH} \
+ --target-os='linux' \
+ --enable-cross-compile \
+ --extra-cflags='${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
+ --extra-ldflags='${LDFLAGS}' \
+ --sysroot='${STAGING_DIR_TARGET}' \
+ ${EXTRA_FFCONF} \
+ --libdir=${libdir} \
+ --shlibdir=${libdir} \
+ --datadir=${datadir}/ffmpeg \
+ --cpu=${@cpu(d)} \
+ --pkg-config=pkg-config \
+"
+
+EXTRA_OECONF:append:linux-gnux32 = " --disable-asm"
+
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
+EXTRA_OECONF:append:mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
+ --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
+EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic"
+EXTRA_OECONF:append:armv5 = " --extra-libs=-latomic"
+EXTRA_OECONF:append:powerpc = " --extra-libs=-latomic"
+
+# gold crashes on x86, another solution is to --disable-asm but thats more hacky
+# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
+
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+EXTRA_OEMAKE = "V=1"
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+
+# patch out build host paths for reproducibility
+do_compile:prepend:class-target() {
+ sed -i -e "s,${WORKDIR},,g" ${B}/config.h
+}
+
+PACKAGES =+ "libavcodec \
+ libavdevice \
+ libavfilter \
+ libavformat \
+ libavresample \
+ libavutil \
+ libpostproc \
+ libswresample \
+ libswscale"
+
+FILES:libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES:libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES:libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES:libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES:libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES:libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES:libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES:libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES:libswscale = "${libdir}/libswscale${SOLIBS}"
+
+# ffmpeg disables PIC on some platforms (e.g. x86-32)
+INSANE_SKIP:${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP:${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP:${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP:${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP:${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP:${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP:${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP:${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP:${MLPREFIX}libpostproc = "textrel"
+
+# Downgrade for NXP BSP
+DEFAULT_PREFERENCE = "-1"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
deleted file mode 100644
index 1d99ad12..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 54bba228ea52d01fd84941d97be23c03f9862b64 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Sat, 6 Apr 2013 01:22:22 +0200
-Subject: [PATCH] Disable yasm for libav when --disable-yasm
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Shane Wang <shane.wang@intel.com>
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- configure.ac | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 22ede88..ef3c050 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -305,6 +305,12 @@ else
- emblibav_configure_args="$emblibav_configure_args --enable-gpl"
- fi
-
-+ AC_ARG_ENABLE(yasm,
-+ [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])])
-+ if test "x$enable_yasm" = "xno"; then
-+ emblibav_configure_args="$emblibav_configure_args --disable-yasm"
-+ fi
-+
- # if we are cross-compiling, tell libav so
- case $host in
- *android*)
---
-1.8.2
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
deleted file mode 100644
index b80d0739..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From aac5902d3c9cb35c771e760d0e487622aa2e116a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 20 Apr 2017 10:38:18 -0700
-Subject: [PATCH] configure: check for armv7ve variant
-
-OE passes -mcpu and -march via cmdline and if
-package tries to detect one of it own then it
-should be compatible otherwise, newer gcc7+ will
-error out
-
-Check for relevant preprocessor macro to determine
-armv7ve architecture
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gst-libs/ext/libav/configure | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure
-index 4a5e477..727818e 100755
---- a/gst-libs/ext/libav/configure
-+++ b/gst-libs/ext/libav/configure
-@@ -4295,6 +4295,7 @@ elif enabled arm; then
- elif check_arm_arch 6Z; then echo armv6z
- elif check_arm_arch 6ZK; then echo armv6zk
- elif check_arm_arch 6T2; then echo armv6t2
-+ elif check_arm_arch EXT_IDIV; then echo armv7ve
- elif check_arm_arch 7; then echo armv7
- elif check_arm_arch 7A 7_A; then echo armv7-a
- elif check_arm_arch 7S; then echo armv7-a
---
-2.12.2
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
deleted file mode 100644
index 120c0798..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c1700f867f876ee33c130a8e28b688e2b1d89663 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Wed, 11 Apr 2018 17:14:55 +0800
-Subject: [PATCH] Prevent host contamination
-
-Remove reference to host $(libdir) from .la files.
-
-Upstream-Status: Inappropriate [cross-compile specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- gst-libs/ext/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am
-index 6cdc048..a19d255 100644
---- a/gst-libs/ext/Makefile.am
-+++ b/gst-libs/ext/Makefile.am
-@@ -49,7 +49,7 @@ echo " GEN $1.la" && \
- echo "library_names=''" && \
- echo "old_library='$1.a'" && \
- echo "inherited_linker_flags=''" && \
-- echo "dependency_libs=' -L$(libdir) $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
-+ echo "dependency_libs=' -L $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
- echo "weak_library_names=''" && \
- echo "current=" && \
- echo "age=" && \
-@@ -58,7 +58,7 @@ echo " GEN $1.la" && \
- echo "shouldnotlink=no" && \
- echo "dlopen=''" && \
- echo "dlpreopen=''" && \
-- echo "libdir='$(libdir)'") > $1.la
-+ echo "libdir=''") > $1.la
- endef
-
- libavutil.la:
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/mips64_cpu_detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
deleted file mode 100644
index 7a0b4488..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-It will add -mips64r6 and -mips64r2 to cmdline which will
-cause conflicts
-
-in OE we user mips32r2 and mips64r2 for mips arch versions
-so there is no benefit of detecting it automatically by
-poking at tools especially in cross env
-
-Fixes errors like
-
-linking -mnan=2008 module with previous -mnan=legacy modules
-failed to merge target specific data of file
-
--Khem
-Upstream-Status: Inappropriate [OE-Specific]
-
-Index: gst-libav-1.10.1/gst-libs/ext/libav/configure
-===================================================================
---- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure
-+++ gst-libav-1.10.1/gst-libs/ext/libav/configure
-@@ -5269,12 +5269,9 @@ elif enabled mips; then
-
- # Enable minimum ISA based on selected options
- if enabled mips64; then
-- enabled mips64r6 && check_inline_asm_flags mips64r6 '"dlsa $0, $0, $0, 1"' '-mips64r6'
- enabled mips64r2 && check_inline_asm_flags mips64r2 '"dext $0, $0, 0, 1"' '-mips64r2'
- disabled mips64r6 && disabled mips64r2 && check_inline_asm_flags mips64r1 '"daddi $0, $0, 0"' '-mips64'
- else
-- enabled mips32r6 && check_inline_asm_flags mips32r6 '"aui $0, $0, 0"' '-mips32r6'
-- enabled mips32r5 && check_inline_asm_flags mips32r5 '"eretnc"' '-mips32r5'
- enabled mips32r2 && check_inline_asm_flags mips32r2 '"ext $0, $0, 0, 1"' '-mips32r2'
- disabled mips32r6 && disabled mips32r5 && disabled mips32r2 && check_inline_asm_flags mips32r1 '"addi $0, $0, 0"' '-mips32'
- fi
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
deleted file mode 100644
index 36abf860..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: Workaround to build libav for i586 with gcc 4.9.2 by avoiding memset
-Author: Bernhard Übelacker <bernhardu@vr-web.de>
-
----
-Bug-Debian: https://bugs.debian.org/783082
-Last-Update: 2015-04-28
-
-Upstream-Status: Backport [debian]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
---- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c
-+++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c
-@@ -2020,7 +2020,11 @@ decode_intra_mb:
- // In deblocking, the quantizer is 0
- h->cur_pic.qscale_table[mb_xy] = 0;
- // All coeffs are present
-- memset(h->non_zero_count[mb_xy], 16, 48);
-+ /*memset(h->non_zero_count[mb_xy], 16, 48);*/
-+ /* avoiding this memset because it leads at least with gcc4.9.2 to error: 'asm' operand has impossible constraints */
-+ for (size_t i = 0; i < 48; i++) {
-+ ( (unsigned char*)(h->non_zero_count[mb_xy]) ) [i] = 16;
-+ }
- h->cur_pic.mb_type[mb_xy] = mb_type;
- sl->last_qscale_diff = 0;
- return 0;
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
deleted file mode 100644
index 3f1ec99d..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "Libav-based GStreamer 1.x plugin"
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-SECTION = "multimedia"
-
-LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
- file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
- file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
- file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
- file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
- file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
- file://mips64_cpu_detection.patch \
- file://0001-configure-check-for-armv7ve-variant.patch \
- file://0001-fix-host-contamination.patch \
- "
-SRC_URI[md5sum] = "e3a201a45985ddc1327cd496046ca818"
-SRC_URI[sha256sum] = "dfac119043a9cfdcacd7acde77f674ab172cf2537b5812be52f49e9cddc53d9a"
-
-S = "${WORKDIR}/gst-libav-${PV}"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz"
-
-inherit autotools pkgconfig upstream-version-is-even gtk-doc
-
-# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time,
-# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
-# libav copy included in the gst-libav package.
-PACKAGECONFIG ??= "orc yasm"
-
-PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl,"
-PACKAGECONFIG[libav] = "--with-system-libav,,libav"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,nasm-native"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
-
-GSTREAMER_1_0_DEBUG ?= "--disable-debug"
-
-LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure"
-
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
- --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
- --ranlib='${RANLIB}' \
- ${GSTREAMER_1_0_DEBUG} \
- --cross-prefix='${HOST_PREFIX}'"
-
-# Disable assembly optimizations for X32, as this libav lacks the support
-PACKAGECONFIG_remove_linux-gnux32 = "yasm"
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm"
-
-LIBAV_EXTRA_CONFIGURE_COMMON = \
-'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"'
-
-EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}"
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-
-# http://errors.yoctoproject.org/Errors/Details/20493/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-# ffmpeg/libav disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${PN} = "textrel"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb
new file mode 100644
index 00000000..742004d8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Libav-based GStreamer 1.x plugin"
+DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
+muxers, and demuxers provided by FFmpeg."
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
+SECTION = "multimedia"
+
+# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
+LICENSE_FLAGS = "commercial"
+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-${@get_gst_ver('${PV}')}.tar.xz \
+ file://ffmpeg-6.0.patch \
+ "
+SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1"
+
+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"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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-ext-wayland-fix-meson-build-in-nxp-fork.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch
deleted file mode 100644
index 5e6a1c05..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 9e092d8976db034a2d6848d738c4f73cc001fd09 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-Date: Sun, 26 Jan 2020 10:45:28 +0000
-Subject: [PATCH] ext/wayland: fix meson build in nxp fork
-
-- Add Wayland protocols, which are not enabled in upstream
-- Add missing compilation unit, which in NXP-specific
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-
----
- ext/wayland/meson.build | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git a/ext/wayland/meson.build b/ext/wayland/meson.build
-index 3c377eefb..98a7cb76f 100644
---- a/ext/wayland/meson.build
-+++ b/ext/wayland/meson.build
-@@ -10,6 +10,11 @@ wl_sources = [
-
- libdrm_dep = dependency('libdrm', version: '>= 2.4.55', required:get_option('wayland'))
-
-+imx_wl_sources = [
-+ 'wlutils.c',
-+]
-+wl_sources += imx_wl_sources
-+
- if use_wayland
- protocols_datadir = wl_protocol_dep.get_pkgconfig_variable('pkgdatadir')
-
-@@ -21,6 +26,25 @@ if use_wayland
- 'fullscreen-shell-unstable-v1-protocol.c', 'fullscreen-shell-unstable-v1-client-protocol.h'],
- ['/stable/xdg-shell/xdg-shell.xml', 'xdg-shell-protocol.c', 'xdg-shell-client-protocol.h'],
- ]
-+
-+ imx_protocol_defs = [
-+ [
-+ '/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml',
-+ 'alpha-compositing-unstable-v1-protocol.c',
-+ 'alpha-compositing-unstable-v1-client-protocol.h'
-+ ],
-+ ['/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml',
-+ 'hdr10-metadata-unstable-v1-protocol.c',
-+ 'hdr10-metadata-unstable-v1-client-protocol.h'
-+ ],
-+ [
-+ '/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml',
-+ 'linux-explicit-synchronization-unstable-v1-protocol.c',
-+ 'linux-explicit-synchronization-unstable-v1-client-protocol.h'
-+ ],
-+ ]
-+ protocol_defs += imx_protocol_defs
-+
- protocols_files = []
-
- foreach protodef: protocol_defs
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 4f9041dc..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 69cff1595f9e0014c582c6f540d69d86d5e824ff Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Fri, 18 Oct 2019 00:39:12 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
-
-Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
-
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 2b492faea..bea89b23d 100644
---- a/meson.build
-+++ b/meson.build
-@@ -405,7 +405,7 @@ python3 = import('python').find_installation()
-
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
- 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch
deleted file mode 100644
index 525f4a45..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a4df38174d33dc1e620ea535e16cac406ff59da2 Mon Sep 17 00:00:00 2001
-From: Nicola Murino <nicola.murino@gmail.com>
-Date: Fri, 31 Jul 2020 23:38:56 +0200
-Subject: [PATCH] opencv: allow compilation against 4.4.x
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1482>
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/8544f3928ea46d2da3f27dc65576e8baf42a46d]
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-
----
- ext/opencv/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
-index a26403482..b3270e540 100644
---- a/ext/opencv/meson.build
-+++ b/ext/opencv/meson.build
-@@ -65,7 +65,7 @@ if opencv_found
- endif
- endforeach
- else
-- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false)
-+ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.5.0'], required : false)
- opencv_found = opencv_dep.found()
- if opencv_found
- foreach h : libopencv4_headers
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
deleted file mode 100644
index 5b8e0159..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 54c700f9721ef218188803b48acae46e885626ee Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
-Date: Sat, 9 May 2020 19:59:46 +0200
-Subject: [PATCH] vulkan: Drop use of VK_RESULT_BEGIN_RANGE
-
-This was removed in Vulkan 1.2.140.
-
-> Shortly after 2020-04-24, we will be removing the automatically
-> generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE`
-> tokens from the Vulkan headers. These tokens are currently defined for
-> some enumerated types, but are explicitly not part of the Vulkan API.
-> They existed only to support some Vulkan implementation internals,
-> which no longer require them. We will be accepting comments on this
-> topic in [#1230], but we strongly suggest any external projects using
-> these tokens immediately migrate away from them.
-
-[#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1603>
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/17850d7e87af93c6bd181d7c25903478c2254fa6]
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
----
- ext/vulkan/vkerror.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/ext/vulkan/vkerror.c b/ext/vulkan/vkerror.c
-index 3fec27e4d..c91589d9b 100644
---- a/ext/vulkan/vkerror.c
-+++ b/ext/vulkan/vkerror.c
-@@ -27,7 +27,7 @@
- #include "vkerror.h"
-
- /* *INDENT-OFF* */
--static const struct
-+static const struct
- {
- VkResult result;
- const char *str;
-@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result)
-
- if (result >= 0)
- return NULL;
-- if (result < VK_RESULT_BEGIN_RANGE)
-- return "Unknown Error";
-
- for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) {
- if (result == vk_result_string_map[i].result)
---
-2.17.1
-
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
new file mode 100644
index 00000000..029b80e1
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -0,0 +1,33 @@
+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] 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
+path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
+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 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
+index 1d86b90..b5c8b95 100644
+--- a/ext/opencv/meson.build
++++ b/ext/opencv/meson.build
+@@ -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', check: false)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
deleted file mode 100644
index da2dd8bf..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 05f9a7a9025cb1c6a5592ba998ab95d565f9c76f Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 3 Feb 2016 18:05:41 -0800
-Subject: [PATCH] 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 bd07369c3..ebfbe4947 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>
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
deleted file mode 100644
index c25a11e9..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From f9a8b71897af39640894915a5f202d0027124f57 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 9 Feb 2016 14:00:00 -0800
-Subject: [PATCH] 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 464b0de9d..9fb7246d3 100644
---- a/sys/decklink/gstdecklink.cpp
-+++ b/sys/decklink/gstdecklink.cpp
-@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
- "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);
-
- if (input && mode->interlaced) {
- if (mode->tff)
-@@ -632,16 +632,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 2fef934c8..c47229abf 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 7aea3f7a2..4864508bb 100644
---- a/sys/decklink/gstdecklinkvideosink.cpp
-+++ b/sys/decklink/gstdecklinkvideosink.cpp
-@@ -285,7 +285,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;
- }
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
deleted file mode 100644
index 7758300e..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e7914eb0baa3530a5075c0d3db7936ccddd8e3fe Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 26 Jan 2016 15:16:01 -0800
-Subject: [PATCH] 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 ac579712d..1686f6081 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;
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
deleted file mode 100644
index dc3a8c69..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 387886b05f4ae0de9b7faf1f9ca66040d38d19ee Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-Date: Sun, 26 Jan 2020 19:55:06 +0000
-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, and this fails because pkg-config provides an absolute
-path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
-in order for the 'test' utility to pick up the absolute path.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-
----
- ext/opencv/meson.build | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
-index f38b55dfe..a26403482 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')
- gstopencv_cargs += ['-DOPENCV_PREFIX="' + 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
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.imx.bb
deleted file mode 100644
index 8064d430..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.imx.bb
+++ /dev/null
@@ -1,175 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
-
-DEPENDS_append_imxgpu2d = " virtual/libg2d"
-DEPENDS_append_mx8 = " libdrm"
-
-PACKAGECONFIG_append_mx8 = " kms"
-
-DEFAULT_PREFERENCE = "-1"
-
-PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
-
-GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
-SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
-
-SRC_URI = " \
- ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \
- file://0001-ext-wayland-fix-meson-build-in-nxp-fork.patch \
- file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- file://opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
- file://0001-opencv-allow-compilation-against-4.4.x.patch \
- file://0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch \
- file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \
- file://avoid-including-sys-poll.h-directly.patch \
- file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
-"
-SRCREV = "cf7f2d0125424ce0d63ddc7f1eadc9ef71d10db1"
-
-S = "${WORKDIR}/git"
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
- file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
-
-DEPENDS += "gstreamer1.0-plugins-base"
-
-inherit gobject-introspection
-
-PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
-PACKAGECONFIG_GL_imxpxp = "gles2"
-
-PACKAGECONFIG ??= " \
- ${GSTREAMER_ORC} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
- ${PACKAGECONFIG_GL} \
- bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
- ttml uvch264 webp \
-"
-
-PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
-PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
-PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
-PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
-PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
-PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
-PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
-PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
-PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
-PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
-PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
-PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
-PACKAGECONFIG[hls] = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle"
-# the gl packageconfig enables OpenGL elements that haven't been ported
-# to -base yet. They depend on the gstgl library in -base, so we do
-# not add GL dependencies here, since these are taken care of in -base.
-PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
-PACKAGECONFIG[gles2] = ",,virtual/libgles2"
-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[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
-PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
-PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
-PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
-PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
-PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
-PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
-PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
-# the opus encoder/decoder elements are now in the -base package,
-# but the opus parser remains in -bad
-PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
-PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
-PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
-PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
-PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
-PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp"
-PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
-PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-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"
-PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
-PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
-PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader"
-PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
-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"
-
-# Following package config in not available in NXP fork:
-#PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
-
-# these plugins currently have no corresponding library in OE-core or meta-openembedded:
-# aom androidmedia applemedia bs2b chromaprint d3dvideosink
-# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
-# mplex musepack nvdec nvenc ofa openexr openni2 opensles
-# soundtouch spandsp srt teletext vdpau wasapi wildmidi winks
-# winscreencap wpe x265
-
-EXTRA_OEMESON += " \
- -Ddecklink=enabled \
- -Ddvb=enabled \
- -Dfbdev=enabled \
- -Dipcpipeline=enabled \
- -Dnetsim=enabled \
- -Dshm=enabled \
- -Daom=disabled \
- -Dandroidmedia=disabled \
- -Dapplemedia=disabled \
- -Dbs2b=disabled \
- -Dchromaprint=disabled \
- -Dd3dvideosink=disabled \
- -Ddirectsound=disabled \
- -Ddts=disabled \
- -Dfdkaac=disabled \
- -Dflite=disabled \
- -Dgme=disabled \
- -Dgsm=disabled \
- -Diqa=disabled \
- -Dkate=disabled \
- -Dladspa=disabled \
- -Dlv2=disabled \
- -Dmpeg2enc=disabled \
- -Dmplex=disabled \
- -Dmsdk=disabled \
- -Dmusepack=disabled \
- -Dnvdec=disabled \
- -Dnvenc=disabled \
- -Dofa=disabled \
- -Dopenexr=disabled \
- -Dopenmpt=disabled \
- -Dopenni2=disabled \
- -Dopensles=disabled \
- -Dsoundtouch=disabled \
- -Dspandsp=disabled \
- -Dsrt=disabled \
- -Dteletext=disabled \
- -Dvdpau=disabled \
- -Dwasapi=disabled \
- -Dwildmidi=disabled \
- -Dwinks=disabled \
- -Dwinscreencap=disabled \
- -Dwpe=disabled \
- -Dx265=disabled \
- -Dzbar=disabled \
- ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \
-"
-
-export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
-# include fragment shaders
-FILES_${PN}-opengl += "/usr/share/*.fs"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb
new file mode 100644
index 00000000..3366a627
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.imx.bb
@@ -0,0 +1,223 @@
+# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. 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: 937817e5164f8af8452aec03ae3c45cb23d63df9
+
+require gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-license.inc
+
+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://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
+ "
+SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c"
+
+S = "${WORKDIR}/gst-plugins-bad-${PV}"
+
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS += "gstreamer1.0-plugins-base"
+
+inherit gobject-introspection
+
+PACKAGECONFIG ??= " \
+ ${GSTREAMER_ORC} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', 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 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"
+PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
+PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
+PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
+PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
+PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
+PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
+PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
+PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
+PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
+# Pick atleast one crypto backend below when enabling hls
+PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
+PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
+# the gl packageconfig enables OpenGL elements that haven't been ported
+# to -base yet. They depend on the gstgl library in -base, so we do
+# not add GL dependencies here, since these are taken care of in -base.
+PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
+PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
+PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
+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 -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"
+PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
+PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
+PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
+# the opus encoder/decoder elements are now in the -base package,
+# but the opus parser remains in -bad
+PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
+PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
+PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
+PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
+PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
+PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
+PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
+PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
+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"
+PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
+PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
+PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
+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 \
+ -Dipcpipeline=enabled \
+ -Dshm=enabled \
+ -Dtranscode=enabled \
+ -Dandroidmedia=disabled \
+ -Dapplemedia=disabled \
+ -Dasio=disabled \
+ -Dbs2b=disabled \
+ -Dchromaprint=disabled \
+ -Dd3dvideosink=disabled \
+ -Dd3d11=disabled \
+ -Ddirectsound=disabled \
+ -Ddts=disabled \
+ -Dfdkaac=disabled \
+ -Dflite=disabled \
+ -Dgme=disabled \
+ -Dgs=disabled \
+ -Dgsm=disabled \
+ -Diqa=disabled \
+ -Dkate=disabled \
+ -Dladspa=disabled \
+ -Dldac=disabled \
+ -Dlv2=disabled \
+ -Dmagicleap=disabled \
+ -Dmediafoundation=disabled \
+ -Dmicrodns=disabled \
+ -Dmpeg2enc=disabled \
+ -Dmplex=disabled \
+ -Dmusepack=disabled \
+ -Dnvcodec=disabled \
+ -Dopenexr=disabled \
+ -Dopenni2=disabled \
+ -Dopenaptx=disabled \
+ -Dopensles=disabled \
+ -Donnx=disabled \
+ -Dqroverlay=disabled \
+ -Dsoundtouch=disabled \
+ -Dspandsp=disabled \
+ -Dsvthevcenc=disabled \
+ -Dteletext=disabled \
+ -Dwasapi=disabled \
+ -Dwasapi2=disabled \
+ -Dwildmidi=disabled \
+ -Dwinks=disabled \
+ -Dwinscreencap=disabled \
+ -Dwpe=disabled \
+ -Dzxing=disabled \
+"
+
+export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
+
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
+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 \
+ 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} "
+GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
+SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
+SRCREV = "9de821c50b4dd7af2407d9c3d078020704510a20"
+
+S = "${WORKDIR}/git"
+
+inherit use-imx-headers
+
+PACKAGE_ARCH:imxpxp = "${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-nxp-bsp = " kms tinycompress"
+
+PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
+PACKAGECONFIG_G2D ??= ""
+PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
+
+PACKAGECONFIG[g2d] = ",,virtual/libg2d"
+PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
+
+EXTRA_OEMESON += " \
+ -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-gst-libs-gst-gl-wayland-fix-meson-build.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch
deleted file mode 100644
index 61baf2f9..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From a145a129a8122f21c1e243b3dc2e5708f4c13bef Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-Date: Thu, 23 Jan 2020 12:54:10 +0000
-Subject: [PATCH] gst-libs gst gl wayland: fix meson build
-
-Since introduction of meson build system, modifications introduced in
-NXP fork are breaking the build, where xdg-shell-client-protocol.h
-is searched via relative path. This code is only present in NXP fork and
-should be removed.
-
-This reverts commit [48bde732b00fb42df636ebbaf3b06e5e7971c206]
-("wayland: fix build break in yocto") from upstream.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
----
- gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
-index d1795591f..89dedd9b5 100644
---- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
-+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
-@@ -22,7 +22,7 @@
- #define __GST_GL_WINDOW_WAYLAND_EGL_H__
-
- #include <wayland-client.h>
--#include <gst/gl/wayland/xdg-shell-client-protocol.h>
-+#include "xdg-shell-client-protocol.h"
- #include <wayland-egl.h>
- #include <wayland-cursor.h>
-
---
-2.17.1
-
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/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch
deleted file mode 100644
index da152531..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-From def285f623bc30b9d1acede00393188e693cc741 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-Date: Sat, 22 Feb 2020 13:22:57 +0000
-Subject: [PATCH] gstreamer-plugins-base: fix meson build in nxp fork
-
-- Add missing IMX header file into istall target;
-- Allocator's meta data files are missing in meson.build, bring them back;
-- Add ION NXP-specific allocator to meson.build;
-- Introduce additional configuration option to pass extra include paths,
- which are required to build ION allocator;
-- Some video sources are missing, bring them also into the build;
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
----
- gst-libs/gst/allocators/meson.build | 30 +++++++++++++++++++++++++++--
- gst-libs/gst/gl/gstglconfig.h.meson | 2 ++
- gst-libs/gst/gl/meson.build | 20 +++++++++++++++++++
- gst-libs/gst/meson.build | 6 ++++++
- gst-libs/gst/video/meson.build | 11 +++++++++++
- meson.build | 3 +++
- meson_options.txt | 4 ++++
- 7 files changed, 74 insertions(+), 2 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build
-index 364baeebf..30b1495c9 100644
---- a/gst-libs/gst/allocators/meson.build
-+++ b/gst-libs/gst/allocators/meson.build
-@@ -5,18 +5,44 @@ gst_allocators_headers = [
- 'gstphysmemory.h',
- 'gstdmabuf.h',
- ]
-+
-+imx_gst_allocators_headers = [
-+ 'gstphymemmeta.h',
-+ 'gstdmabufmeta.h',
-+ 'gstallocatorphymem.h',
-+]
-+
-+if cc.has_header('linux/ion.h', include_directories : imx_includes)
-+ imx_gst_allocators_headers += [
-+ 'gstionmemory.h',
-+ ]
-+endif
-+
-+gst_allocators_headers += imx_gst_allocators_headers
-+
- install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/')
-
- gst_allocators_sources = [ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c']
-+
-+imx_gst_allocators_sources = ['gstdmabufmeta.c', 'gstphymemmeta.c', 'gstallocatorphymem.c']
-+
-+if cc.has_header('linux/ion.h', include_directories : imx_includes)
-+ imx_gst_allocators_sources += [
-+ 'gstionmemory.c',
-+ ]
-+endif
-+
-+gst_allocators_sources += imx_gst_allocators_sources
-+
- gstallocators = library('gstallocators-@0@'.format(api_version),
- gst_allocators_sources,
- c_args : gst_plugins_base_args + ['-DBUILDING_GST_ALLOCATORS'],
-- include_directories: [configinc, libsinc],
-+ include_directories: [configinc, libsinc, imx_includes],
- version : libversion,
- soversion : soversion,
- darwin_versions : osxversion,
- install : true,
-- dependencies : [gst_dep],
-+ dependencies : [video_dep, gst_dep],
- )
-
- allocators_gen_sources = []
-diff --git a/gst-libs/gst/gl/gstglconfig.h.meson b/gst-libs/gst/gl/gstglconfig.h.meson
-index 11795c16c..66cd54a7e 100644
---- a/gst-libs/gst/gl/gstglconfig.h.meson
-+++ b/gst-libs/gst/gl/gstglconfig.h.meson
-@@ -32,8 +32,10 @@ G_BEGIN_DECLS
- #mesondefine GST_GL_HAVE_PLATFORM_CGL
- #mesondefine GST_GL_HAVE_PLATFORM_EAGL
-
-+#mesondefine GST_GL_HAVE_IONDMA
- #mesondefine GST_GL_HAVE_DMABUF
- #mesondefine GST_GL_HAVE_VIV_DIRECTVIV
-+#mesondefine GST_GL_HAVE_PHYMEM
-
- #mesondefine GST_GL_HAVE_GLEGLIMAGEOES
- #mesondefine GST_GL_HAVE_GLCHAR
-diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
-index 0e0ba1b7d..6f6c6866d 100644
---- a/gst-libs/gst/gl/meson.build
-+++ b/gst-libs/gst/gl/meson.build
-@@ -123,8 +123,10 @@ glconf_options = [
- 'GST_GL_HAVE_PLATFORM_CGL',
- 'GST_GL_HAVE_PLATFORM_EAGL',
-
-+ 'GST_GL_HAVE_IONDMA',
- 'GST_GL_HAVE_DMABUF',
- 'GST_GL_HAVE_VIV_DIRECTVIV',
-+ 'GST_GL_HAVE_PHYMEM',
-
- 'GST_GL_HAVE_GLEGLIMAGEOES',
- 'GST_GL_HAVE_GLCHAR',
-@@ -146,6 +148,18 @@ if unneeded_dep.found()
- error ('Found unfindable dependency')
- endif
-
-+if cc.has_header('linux/ion.h', include_directories : imx_includes)
-+ glconf.set10('GST_GL_HAVE_IONDMA', 1)
-+ gl_sources += [
-+ 'gstglmemorydma.c',
-+ ]
-+ gl_headers += [
-+ 'gstglmemorydma.h',
-+ ]
-+else
-+ error('i.MX platform requires ION support to be enabled!')
-+endif
-+
- # OpenGL/GLES2 libraries
- gl_lib_deps = []
- # GL platform - EGL, GLX, CGL, WGL, etc
-@@ -501,6 +515,7 @@ if need_platform_egl != 'no'
- glconf.set10('GST_GL_HAVE_DMABUF', 1)
- endif
-
-+
- egl_includes = '''
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-@@ -808,9 +823,14 @@ if need_platform_egl != 'no' and need_win_viv_fb != 'no'
- enabled_gl_winsys += 'viv-fb'
- glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1)
- glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1)
-+ glconf.set10('GST_GL_HAVE_PHYMEM', 1)
- gl_sources += [
- 'viv-fb/gstgldisplay_viv_fb.c',
- 'viv-fb/gstglwindow_viv_fb_egl.c',
-+ 'gstglphymemory.c',
-+ ]
-+ gl_headers += [
-+ 'gstglphymemory.h',
- ]
- gl_cpp_args += ['-DEGL_API_FB']
- endif
-diff --git a/gst-libs/gst/meson.build b/gst-libs/gst/meson.build
-index cd3b5b043..1935f46e5 100644
---- a/gst-libs/gst/meson.build
-+++ b/gst-libs/gst/meson.build
-@@ -11,3 +11,9 @@ subdir('app')
- subdir('allocators')
- # FIXME: gl deps are automagic
- subdir('gl')
-+
-+# Install dangling imx header, required by other plugins
-+gst_imx_header = [
-+ 'gstimxcommon.h',
-+]
-+install_headers(gst_imx_header, subdir : 'gstreamer-1.0/')
-diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
-index b4dfcdf65..d8531f199 100644
---- a/gst-libs/gst/video/meson.build
-+++ b/gst-libs/gst/video/meson.build
-@@ -35,6 +35,11 @@ video_sources = [
- 'videooverlay.c',
- ]
-
-+imx_video_sources = [
-+ 'gstvideohdr10meta.c',
-+]
-+video_sources += imx_video_sources
-+
- video_headers = [
- 'colorbalance.h',
- 'colorbalancechannel.h',
-@@ -70,6 +75,12 @@ video_headers = [
- 'video-overlay-composition.h',
- 'video-multiview.h',
- ]
-+
-+imx_video_headers = [
-+ 'gstvideohdr10meta.h',
-+]
-+video_headers += imx_video_headers
-+
- install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
-
- video_mkenum_headers = [
-diff --git a/meson.build b/meson.build
-index 2fca28205..7781934cd 100644
---- a/meson.build
-+++ b/meson.build
-@@ -103,6 +103,9 @@ if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev)
- add_project_arguments('-DG_DISABLE_CHECKS', language: 'c')
- endif
-
-+# Define i.MX-specific include path as variable from options
-+imx_includes = include_directories(get_option('extra_imx_incdir'))
-+
- check_headers = [
- ['HAVE_DLFCN_H', 'dlfcn.h'],
- ['HAVE_EMMINTRIN_H', 'emmintrin.h'],
-diff --git a/meson_options.txt b/meson_options.txt
-index e7af4dd45..d44401ca6 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -85,3 +85,7 @@ option('package-name', type : 'string', yield : true,
- description : 'package name to use in plugins')
- option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
- description : 'package origin URL to use in plugins')
-+
-+# NXP specific options
-+option('extra_imx_incdir', type : 'string', yield : true, description : 'i.MX specific header include path')
-+
---
-2.17.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 55871883..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From f82db8496df8ffb8352248e895258c19f8f4776b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 17 Oct 2019 20:06:24 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
-
-Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
-
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 2fca28205..2714af718 100644
---- a/meson.build
-+++ b/meson.build
-@@ -355,7 +355,7 @@ endif
-
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
- 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch
deleted file mode 100644
index c761619f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 8153e86dac04076fb80fc272c8374d4ba019fa3c Mon Sep 17 00:00:00 2001
-From: Zan Dobersek <zdobersek@igalia.com>
-Date: Wed, 4 Nov 2020 14:02:10 +0100
-Subject: [PATCH] meson: viv-fb code must link against libg2d
-
-Find the libg2d library and link against it, if necessary, avoiding
-linking errors for couple of libg2d symbols.
-
-Upstream-Status: Pending
-
-Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
----
- gst-libs/gst/gl/meson.build | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
-index 6f6c6866d..fb6a9aabf 100644
---- a/gst-libs/gst/gl/meson.build
-+++ b/gst-libs/gst/gl/meson.build
-@@ -818,9 +818,11 @@ if need_win_gbm != 'no'
- endif
-
- if need_platform_egl != 'no' and need_win_viv_fb != 'no'
-- if egl_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep)
-+ g2d_dep = cc.find_library('g2d', required : false)
-+ if egl_dep.found() and g2d_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep)
- if cc.has_function ('glTexDirectVIV', dependencies : gles2_dep)
- enabled_gl_winsys += 'viv-fb'
-+ gl_winsys_deps += [g2d_dep]
- glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1)
- glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1)
- glconf.set10('GST_GL_HAVE_PHYMEM', 1)
-@@ -834,6 +836,8 @@ if need_platform_egl != 'no' and need_win_viv_fb != 'no'
- ]
- gl_cpp_args += ['-DEGL_API_FB']
- endif
-+ else
-+ g2d_dep = unneeded_dep
- endif
- endif
-
---
-2.28.0
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
deleted file mode 100644
index 9494f622..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
+++ /dev/null
@@ -1,233 +0,0 @@
-From 7a21c86a3facfc7fe8285e764324839b2e55df8a Mon Sep 17 00:00:00 2001
-From: Thibault Saunier <tsaunier@igalia.com>
-Date: Mon, 22 Oct 2018 11:44:37 +0200
-Subject: [PATCH] meson: Add variables for gir files
-
-And flatten list of sources for dependencies
-
-Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
-
----
- gst-libs/gst/allocators/meson.build | 5 +++--
- gst-libs/gst/app/meson.build | 6 ++++--
- gst-libs/gst/audio/meson.build | 5 +++--
- gst-libs/gst/pbutils/meson.build | 5 +++--
- gst-libs/gst/rtp/meson.build | 6 ++++--
- gst-libs/gst/rtsp/meson.build | 5 +++--
- gst-libs/gst/sdp/meson.build | 6 ++++--
- gst-libs/gst/tag/meson.build | 5 +++--
- gst-libs/gst/video/meson.build | 5 +++--
- 9 files changed, 30 insertions(+), 18 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build
-index 364baeebf..56f156dc3 100644
---- a/gst-libs/gst/allocators/meson.build
-+++ b/gst-libs/gst/allocators/meson.build
-@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version),
- allocators_gen_sources = []
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ]
-- allocators_gen_sources += [gnome.generate_gir(gstallocators,
-+ allocators_gir = gnome.generate_gir(gstallocators,
- sources : gst_allocators_sources + gst_allocators_headers,
- namespace : 'GstAllocators',
- nsversion : api_version,
-@@ -33,7 +33,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : [gst_dep]
-- )]
-+ )
-+ allocators_gen_sources += allocators_gir
- endif
-
- allocators_dep = declare_dependency(link_with: gstallocators,
-diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build
-index 81dd0f42c..7a90f5e10 100644
---- a/gst-libs/gst/app/meson.build
-+++ b/gst-libs/gst/app/meson.build
-@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ]
-- app_gen_sources += [gnome.generate_gir(gstapp,
-+ app_gir = gnome.generate_gir(gstapp,
- sources : app_sources + app_headers + [gstapp_c] + [gstapp_h],
- namespace : 'GstApp',
- nsversion : api_version,
-@@ -43,7 +43,9 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : [gst_dep, gst_base_dep]
-- )]
-+ )
-+
-+ app_gen_sources += app_gir
- endif
-
- app_dep = declare_dependency(link_with: gstapp,
-diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build
-index 0e4efab2e..2a449d4bf 100644
---- a/gst-libs/gst/audio/meson.build
-+++ b/gst-libs/gst/audio/meson.build
-@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ]
-- audio_gen_sources += [gnome.generate_gir(gstaudio,
-+ audio_gir = gnome.generate_gir(gstaudio,
- sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
- namespace : 'GstAudio',
- nsversion : api_version,
-@@ -164,7 +164,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstaudio_deps
-- )]
-+ )
-+ audio_gen_sources += [audio_gir]
- endif
-
- audio_dep = declare_dependency(link_with : gstaudio,
-diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build
-index 2faf62622..0e96722fd 100644
---- a/gst-libs/gst/pbutils/meson.build
-+++ b/gst-libs/gst/pbutils/meson.build
-@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version),
- pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
-- pbutils_gen_sources += [gnome.generate_gir(pbutils,
-+ pbutils_gir = gnome.generate_gir(pbutils,
- sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
- namespace : 'GstPbutils',
- nsversion : api_version,
-@@ -74,7 +74,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstpbutils_deps
-- )]
-+ )
-+ pbutils_gen_sources += [pbutils_gir]
- endif
-
- pbutils_dep = declare_dependency(link_with : pbutils,
-diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build
-index f47ec6592..7ea6658d5 100644
---- a/gst-libs/gst/rtp/meson.build
-+++ b/gst-libs/gst/rtp/meson.build
-@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version),
- rtp_gen_sources = [gstrtp_enum_h]
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ]
-- rtp_gen_sources += [gnome.generate_gir(gst_rtp,
-+ rtp_gir = gnome.generate_gir(gst_rtp,
- sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
- namespace : 'GstRtp',
- nsversion : api_version,
-@@ -60,7 +60,9 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstrtp_deps
-- )]
-+ )
-+
-+ rtp_gen_sources += [rtp_gir]
- endif
-
-
-diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build
-index 27e309d5a..3632adceb 100644
---- a/gst-libs/gst/rtsp/meson.build
-+++ b/gst-libs/gst/rtsp/meson.build
-@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version),
- rtsp_gen_sources = [gstrtsp_h]
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ]
-- rtsp_gen_sources += [gnome.generate_gir(gst_rtsp,
-+ rtsp_gir = gnome.generate_gir(gst_rtsp,
- sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
- namespace : 'GstRtsp',
- nsversion : api_version,
-@@ -65,7 +65,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstrtsp_deps + [sdp_dep]
-- )]
-+ )
-+ rtsp_gen_sources += [rtsp_gir]
- endif
-
- rtsp_dep = declare_dependency(link_with : gst_rtsp,
-diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build
-index 62c18b732..24cdb5293 100644
---- a/gst-libs/gst/sdp/meson.build
-+++ b/gst-libs/gst/sdp/meson.build
-@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version),
- sdp_gen_sources = []
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ]
-- sdp_gen_sources += [gnome.generate_gir(gstsdp,
-+ sdp_gir = gnome.generate_gir(gstsdp,
- sources : gst_sdp_sources + gst_sdp_headers,
- namespace : 'GstSdp',
- nsversion : api_version,
-@@ -34,7 +34,9 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : rtsp_deps
-- )]
-+ )
-+
-+ sdp_gen_sources += [sdp_gir]
- endif
-
- sdp_dep = declare_dependency(link_with: gstsdp,
-diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build
-index 27e66fd63..5ec37392a 100644
---- a/gst-libs/gst/tag/meson.build
-+++ b/gst-libs/gst/tag/meson.build
-@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ]
-- tag_gen_sources += [gnome.generate_gir(gsttag,
-+ tag_gir = gnome.generate_gir(gsttag,
- sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c],
- namespace : 'GstTag',
- nsversion : api_version,
-@@ -104,7 +104,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : tag_deps
-- )]
-+ )
-+ tag_gen_sources += [tag_gir]
- endif
-
- tag_dep = declare_dependency(link_with: gsttag,
-diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
-index b4dfcdf65..036c3a6a7 100644
---- a/gst-libs/gst/video/meson.build
-+++ b/gst-libs/gst/video/meson.build
-@@ -135,7 +135,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
-- video_gen_sources += [gnome.generate_gir(gstvideo,
-+ video_gir = gnome.generate_gir(gstvideo,
- sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
- namespace : 'GstVideo',
- nsversion : api_version,
-@@ -146,7 +146,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstvideo_deps
-- )]
-+ )
-+ video_gen_sources += [video_gir]
- endif
-
- video_dep = declare_dependency(link_with : gstvideo,
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
deleted file mode 100644
index 731ba873..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 616cf194dfd26818ed7b776321582b8e0ff9b3f1 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/0009-glimagesink-Downrank-to-marginal.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
deleted file mode 100644
index fc67a486..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f18f1206ec44f4154e60546ecb82823f7a6569d7 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 24 Sep 2015 19:47:32 +0300
-Subject: [PATCH] glimagesink: Downrank to marginal
-
-On desktop, where there is good OpenGL, xvimagesink will come up first,
-on other platforms, OpenGL can't be trusted because it's either software (like
-in a VM) or broken (like on embedded)., so let ximagesink come above.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=751684]
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- ext/gl/gstopengl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
-index 302e8452c..463be9cd8 100644
---- a/ext/gl/gstopengl.c
-+++ b/ext/gl/gstopengl.c
-@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin)
- #endif
-
- if (!gst_element_register (plugin, "glimagesink",
-- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) {
-+ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) {
- return FALSE;
- }
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.%.bbappend
deleted file mode 100644
index d92bdf3c..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
-PACKAGECONFIG_GL_imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
-
-# For mainline BSP we need to enable 'gbm' Window system
-PACKAGECONFIG_GL_use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb
deleted file mode 100644
index db0b740f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb
+++ /dev/null
@@ -1,102 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
-
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
-
-GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
-SRCBRANCH = "MM_04.05.06_2008_L5.4.47"
-SRCREV = "3c4aa2a58576d68f6e684efa58609665679c9969"
-SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
- file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- file://0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch \
- file://0002-meson-Add-variables-for-gir-files.patch \
- file://0005-viv-fb-Make-sure-config.h-is-included.patch \
- file://0009-glimagesink-Downrank-to-marginal.patch \
- file://0001-gst-libs-gst-gl-wayland-fix-meson-build.patch \
- file://0001-meson-viv-fb-code-must-link-against-libg2d.patch \
- "
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "iso-codes util-linux zlib"
-DEPENDS_append_imxgpu2d = " virtual/libg2d"
-
-inherit use-imx-headers gobject-introspection gtk-doc
-
-DEFAULT_PREFERENCE = "-1"
-
-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 ??= " \
- ${GSTREAMER_ORC} \
- ${PACKAGECONFIG_GL} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
- ogg pango png theora vorbis \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
-"
-
-OPENGL_APIS = 'opengl gles2'
-OPENGL_PLATFORMS = 'egl'
-OPENGL_WINSYS = 'x11 wayland gbm viv-fb'
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
-X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
-X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
-
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
-PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
-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"
-PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
-PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
-PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
-PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
-PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-
-# OpenGL API packageconfigs
-PACKAGECONFIG[opengl] = ",,virtual/libgl libglu"
-PACKAGECONFIG[gles2] = ",,virtual/libgles2"
-
-# OpenGL platform packageconfigs
-PACKAGECONFIG[egl] = ",,virtual/egl"
-
-# OpenGL window systems (except for X11)
-PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
-PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
-PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d"
-
-EXTRA_OEMESON += " \
- -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)} \
- -Dextra_imx_incdir=${STAGING_INCDIR_IMX} \
-"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKDOC_MESON_ENABLE_FLAG = "enabled"
-GTKDOC_MESON_DISABLE_FLAG = "disabled"
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/include"
-FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
-
-def get_opengl_cmdline_list(switch_name, options, d):
- selected_options = []
- if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
- for option in options.split():
- if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
- selected_options += [option]
- if selected_options:
- return '-D' + switch_name + '=' + ','.join(selected_options)
- else:
- return ''
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.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb
new file mode 100644
index 00000000..dd7869a9
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.imx.bb
@@ -0,0 +1,146 @@
+# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. 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: 937817e5164f8af8452aec03ae3c45cb23d63df9
+
+require gstreamer1.0-plugins-common.inc
+
+SUMMARY = "'Base' GStreamer plugins and helper libraries"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
+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 \
+ "
+SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a"
+
+S = "${WORKDIR}/gst-plugins-base-${PV}"
+
+DEPENDS += "iso-codes util-linux zlib"
+
+inherit gobject-introspection
+
+# opengl packageconfig factored out to make it easy for distros
+# and BSP layers to choose OpenGL APIs/platforms/window systems
+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} \
+ ${PACKAGECONFIG_GL} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
+ jpeg ogg pango png theora vorbis \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
+"
+
+OPENGL_APIS = 'opengl gles2'
+OPENGL_PLATFORMS = 'egl glx'
+
+X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
+X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
+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"
+PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
+PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
+
+# OpenGL API packageconfigs
+PACKAGECONFIG[opengl] = ",,virtual/libgl libglu"
+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"
+PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
+PACKAGECONFIG[dispmanx] = ",,virtual/libomxil"
+PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d"
+
+OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}"
+
+EXTRA_OEMESON += " \
+ -Ddoc=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)} \
+"
+
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
+FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
+
+def get_opengl_cmdline_list(switch_name, options, d):
+ selected_options = []
+ if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+ for option in options.split():
+ if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
+ selected_options += [option]
+ if selected_options:
+ return '-D' + switch_name + '=' + ','.join(selected_options)
+ else:
+ return ''
+
+CVE_PRODUCT += "gst-plugins-base"
+
+########### End of OE-core copy ###########
+
+########### i.MX overrides ################
+
+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://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} "
+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.03_2312_L6.6.y"
+SRCREV = "c4333767ea122c182ba4e14cababe8dbe2a1b882"
+
+S = "${WORKDIR}/git"
+
+inherit use-imx-headers
+
+PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
+PACKAGECONFIG_REMOVE ?= "jpeg"
+
+PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
+PACKAGECONFIG_G2D ??= ""
+PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
+
+PACKAGECONFIG[g2d] = ",,virtual/libg2d"
+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_1.16.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.%.bbappend
deleted file mode 100644
index 8565c6a5..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-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', '', d)}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.imx.bb
deleted file mode 100644
index 8413bf10..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.imx.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
-
-
-GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
-SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
-
-SRC_URI = " \
- ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \
-"
-SRCREV = "6005e8199ea19878f269b058ffbbbcaa314472d8"
-
-DEFAULT_PREFERENCE = "-1"
-
-S = "${WORKDIR}/git"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
- 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"
-
-PACKAGECONFIG ??= " \
- ${GSTREAMER_ORC} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
- bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
-"
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
-X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
-X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
-
-PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
-PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
-PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
-PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
-PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
-PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
-PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
-PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
-PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
-PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
-PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
-PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
-PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
-PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
-PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
-PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
-PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
-PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false,libdrm"
-PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
-PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
-PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-
-# qt5 support is disabled, because it is not present in OE core, and requires more work than
-# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
-# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig
-# in a gstreamer1.0-plugins-good bbappend).
-
-EXTRA_OEMESON += " \
- -Daalib=disabled \
- -Ddirectsound=disabled \
- -Ddv=disabled \
- -Dlibcaca=disabled \
- -Doss=enabled \
- -Doss4=disabled \
- -Dosxaudio=disabled \
- -Dosxvideo=disabled \
- -Dqt5=disabled \
- -Dshout2=disabled \
- -Dtwolame=disabled \
- -Dwaveform=disabled \
-"
-
-FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb
new file mode 100644
index 00000000..9e09ef93
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.imx.bb
@@ -0,0 +1,127 @@
+# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. 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: 937817e5164f8af8452aec03ae3c45cb23d63df9
+
+require gstreamer1.0-plugins-common.inc
+
+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://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
+
+SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778"
+
+S = "${WORKDIR}/gst-plugins-good-${PV}"
+
+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 speex taglib v4l2 \
+"
+
+X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
+X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
+X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
+
+QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
+
+PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
+PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
+PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
+PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
+PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
+PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
+PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
+PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
+PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
+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[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"
+PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
+PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
+PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
+PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
+
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Daalib=disabled \
+ -Ddirectsound=disabled \
+ -Ddv=disabled \
+ -Dlibcaca=disabled \
+ -Doss=enabled \
+ -Doss4=disabled \
+ -Dosxaudio=disabled \
+ -Dosxvideo=disabled \
+ -Dshout2=disabled \
+ -Dtwolame=disabled \
+ -Dwaveform=disabled \
+"
+
+FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
+
+########### End of OE-core copy ###########
+
+########### i.MX overrides ################
+
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
+"
+# Enable pulsesink in gstreamer
+PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+
+# fb implementation of v4l2 uses libdrm
+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://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 \
+"
+
+SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
+GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
+SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
+SRCREV = "d361360510c97dc23abbfcdd22dff8214890527d"
+
+# set 32bit compile timer for 32-bit platform
+GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
+GLIBC_64BIT_TIME_FLAGS:mx7-nxp-bsp = ""
+INSANE_SKIP:mx6-nxp-bsp:append = " 32bit-time"
+INSANE_SKIP:mx7-nxp-bsp:append = " 32bit-time"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
+
+########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb
deleted file mode 100644
index 35996337..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright (C) 2018 O.S. Systems Software LTDA.
-DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
-SECTION = "multimedia"
-# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
-# GstPhotography headers and libraries
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
-# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
-# for the uniaudio decoder, videoparsersbad for the VPU video decoder
-# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
-# build (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
-RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good"
-RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
-RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH ?= "master"
-SRCREV = "805987bff74af13fcb14ff111955206f1c92554d"
-SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig waf use-imx-headers
-
-# configure the eglvivsink element to use the appropriate EGL platform code
-# Wayland if 'wayland' is present in DISTRO_FEATURES, if not,
-# X11 if x11 is present in DISTRO_FEATURES,
-# Framebuffer otherwise
-EGLVIVSINK_PLATFORM = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
- 'fb', d),d)}"
-
-EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
-
-EXTRA_OECONF = "--kernel-headers=${STAGING_INCDIR_IMX} ${PACKAGECONFIG_CONFARGS}"
-
-EGLVIVSINK_DEPENDS = " \
- virtual/egl virtual/libgles2 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
- '', d), d)} \
-"
-
-PACKAGECONFIG ?= "uniaudiodec mp3encoder v4l2src v4l2sink"
-PACKAGECONFIG_append_imxgpu3d = " eglvivsink"
-PACKAGECONFIG_append_imxgpu2d = " g2d g2dpango"
-PACKAGECONFIG_append_imxipu = " ipu"
-PACKAGECONFIG_append_imxvpu = " vpu"
-PACKAGECONFIG_append_imxpxp = " pxp"
-
-PACKAGECONFIG[g2d] = ",--disable-g2d,imx-gpu-g2d"
-PACKAGECONFIG[g2dpango] = ",--disable-g2dpango,imx-gpu-g2d pango"
-PACKAGECONFIG[pxp] = ",--disable-pxp,"
-PACKAGECONFIG[ipu] = ",--disable-ipu,"
-PACKAGECONFIG[vpu] = ",--disable-vpu,libimxvpuapi"
-PACKAGECONFIG[eglvivsink] = "${EGL_PLATFORM_CONF},--disable-eglvivsink,${EGLVIVSINK_DEPENDS}"
-PACKAGECONFIG[v4l2src] = ",--disable-imxv4l2videosrc,"
-PACKAGECONFIG[v4l2sink] = ",--disable-imxv4l2videosink,"
-PACKAGECONFIG[uniaudiodec] = ",--disable-uniaudiodec,imx-codec"
-PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,imx-codec"
-
-# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
-LIBV = "1.0"
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
-
-# the following line is required to produce one package for each plugin
-PACKAGES_DYNAMIC = "^${PN}-.*"
-
-COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
new file mode 100644
index 00000000..5bf60e62
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 O.S. Systems Software LTDA.
+DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
+SECTION = "multimedia"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer"
+# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
+# for the uniaudio decoder, videoparsersbad for the VPU video decoder
+# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
+# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
+RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
+RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
+RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
+
+PV .= "+git${SRCPV}"
+
+SRCBRANCH ?= "master"
+SRCREV = "cb3cd45676e808b222ac573e8a118f44fd70c288"
+SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig meson use-imx-headers
+
+# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
+# That particular libg2d .so depends on libdrm, however.
+# Also, due to behavioral differences, an additional flag
+# is needed to improve performance.
+LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false"
+LIBG2D_DEPENDENCIES = "virtual/libg2d"
+LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true"
+LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm"
+
+# 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 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-mxc-source-sink"
+PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink"
+
+PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
+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-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 gstreamer1.0-plugins-packaging.inc
+
+# the following line is required to produce one package for each plugin
+PACKAGES_DYNAMIC = "^${PN}-.*"
+
+COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)"
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.16.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb
deleted file mode 100644
index 2a1cc3fd..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
-
-LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = " \
- http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
- "
-SRC_URI[md5sum] = "1ec343c58d4b17d682f7befa8453c11c"
-SRC_URI[sha256sum] = "e30964c5f031c32289e0b25e176c3c95a5737f2052dfc81d0f7427ef0233a4c2"
-
-S = "${WORKDIR}/gst-plugins-ugly-${PV}"
-
-DEPENDS += "gstreamer1.0-plugins-base"
-
-GST_PLUGIN_SET_HAS_EXAMPLES = "0"
-
-PACKAGECONFIG ??= " \
- ${GSTREAMER_ORC} \
- 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[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"
-
-EXTRA_OEMESON += " \
- -Dsidplay=disabled \
-"
-
-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-plugins-ugly_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb
new file mode 100644
index 00000000..17522a93
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb
@@ -0,0 +1,52 @@
+require gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-license.inc
+
+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 \
+ "
+
+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-${@get_gst_ver("${PV}")}.tar.xz \
+ "
+SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c"
+
+S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
+
+DEPENDS += "gstreamer1.0-plugins-base"
+
+GST_PLUGIN_SET_HAS_EXAMPLES = "0"
+
+PACKAGECONFIG ??= " \
+ ${GSTREAMER_ORC} \
+ a52dec mpeg2dec \
+"
+
+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"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 6962a50d..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Fri, 18 Oct 2019 00:42:12 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
-
-Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index e1e3b1d..3f45f0e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -173,7 +173,7 @@ endif
-
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
- 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
---
-2.17.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb
deleted file mode 100644
index 0a3c35ff..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A library on top of GStreamer for building an RTSP server"
-HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
-SECTION = "multimedia"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
-
-PNREAL = "gst-rtsp-server"
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
- file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- "
-
-SRC_URI[md5sum] = "adc4460239ec2eccf58ad9752ce53bfd"
-SRC_URI[sha256sum] = "198e9eec1a3e32dc810d3fbf3a714850a22c6288d4a5c8e802c5ff984af03f19"
-
-S = "${WORKDIR}/${PNREAL}-${PV}"
-
-inherit meson pkgconfig upstream-version-is-even gobject-introspection
-
-EXTRA_OEMESON += " \
- -Dexamples=disabled \
- -Dtests=disabled \
-"
-
-GIR_MESON_ENABLE_FLAG = "enabled"
-GIR_MESON_DISABLE_FLAG = "disabled"
-
-# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
-LIBV = "1.0"
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb
new file mode 100644
index 00000000..d569ea9f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb
@@ -0,0 +1,37 @@
+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.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}-${@get_gst_ver("${PV}")}.tar.xz"
+
+SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed"
+
+S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
+
+inherit meson pkgconfig upstream-version-is-even gobject-introspection
+
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Dexamples=disabled \
+ -Dtests=disabled \
+"
+
+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 gstreamer1.0-plugins-packaging.inc
+
+CVE_PRODUCT += "gst-rtsp-server"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
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 67a872cd..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a1d7c582392c8bc87fa9411af77b20e011944357 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 25 Jan 2018 17:55:02 +0200
-Subject: [PATCH] gst/gstpluginloader.c: 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.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gst/gstpluginloader.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
-index 430829d..3a75731 100644
---- a/gst/gstpluginloader.c
-+++ b/gst/gstpluginloader.c
-@@ -471,9 +471,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
- helper_bin = g_strdup (env);
- res = gst_plugin_loader_try_helper (loader, helper_bin);
- g_free (helper_bin);
-- }
--
-- if (!res) {
-+ } else {
- GST_LOG ("Trying installed plugin scanner");
-
- #ifdef G_OS_WIN32
---
-2.15.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
new file mode 100644
index 00000000..1b9278db
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
@@ -0,0 +1,34 @@
+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] 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 9787b0a..16caac7 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -145,11 +145,11 @@ foreach t : core_tests
+
+ if not skip_test
+ exe = executable(test_name, fname,
+- c_args : gst_c_args + test_defines,
+- cpp_args : gst_c_args + test_defines,
+- include_directories : [configinc],
+- link_with : link_with_libs,
+- 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 : gst_deps + test_deps,
+ )
+
+ env = environment()
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 1ed7198a..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 17 Oct 2019 12:13:35 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-Fixes #454 and #381.
-
-Upstream-Status: Backport [35db4a2433fbdf8612cf98b5aab5b14aeb5372f8]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 90d98d8eb..a47e7f34e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -466,7 +466,7 @@ rt_lib = cc.find_library('rt', required : false)
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
-
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
-
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
---
-2.17.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
new file mode 100644
index 00000000..568e38cb
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
@@ -0,0 +1,107 @@
+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] tests: add support for install the tests
+
+This will provide to run the tests using the gnome-desktop-testing [1]
+
+[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
+---
+ 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 f9f591d..3906fb3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -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())
++
+ 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 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')
+
+ # Feature options
+ option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
+diff --git a/tests/check/meson.build b/tests/check/meson.build
+index 16caac7..f2d400f 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -124,10 +124,16 @@ test_defines = [
+ '-UG_DISABLE_ASSERT',
+ '-UG_DISABLE_CAST_CHECKS',
+ '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
+- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
+ '-DGST_DISABLE_DEPRECATED',
+ ]
+
++testfile = meson.current_source_dir() + '/meson.build'
++if installed_tests_enabled
++ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile')
++ testfile = installed_tests_metadir + '/testfile'
++endif
++test_defines += '-DTESTFILE="@0@"'.format(testfile)
++
+ # sanity checking
+ if get_option('check').disabled()
+ if get_option('tests').enabled()
+@@ -150,6 +156,8 @@ foreach t : core_tests
+ include_directories : [configinc],
+ link_with : link_with_libs,
+ dependencies : gst_deps + test_deps,
++ install_dir: installed_tests_execdir,
++ install: installed_tests_enabled,
+ )
+
+ env = environment()
+@@ -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')
+
++ if installed_tests_enabled
++ test_conf = configuration_data()
++ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
++ test_conf.set('program', test_name)
++ configure_file(
++ input: 'template.test.in',
++ output: test_name + '.test',
++ install_dir: installed_tests_metadir,
++ configuration: test_conf
++ )
++ endif
++
+ test(test_name, exe, env: env, timeout : 3 * 60)
+ endif
+ endforeach
+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-meson-Add-valgrind-feature.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
deleted file mode 100644
index f553340f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From f6c7973c03d9ba7dab60c496e768c5e6c4ee824c Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Sun, 20 Oct 2019 10:36:44 +0200
-Subject: [PATCH] meson: Add valgrind feature
-
-This allows for enabling/disabling Valgrind support. Since Valgrind is
-an external dependency, such a feature is needed by build environemnts
-such as Yocto to make sure builds are deterministic. These changes also
-add more Valgrind specific configure log output.
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 23 ++++++++++++++++++++++-
- meson_options.txt | 1 +
- 2 files changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index b55ecc5..4751761 100644
---- a/meson.build
-+++ b/meson.build
-@@ -199,7 +199,6 @@ check_headers = [
- 'sys/wait.h',
- 'ucontext.h',
- 'unistd.h',
-- 'valgrind/valgrind.h',
- 'sys/resource.h',
- ]
-
-@@ -214,6 +213,28 @@ foreach h : check_headers
- endif
- endforeach
-
-+valgrind_option = get_option('valgrind')
-+if valgrind_option.disabled()
-+ message('Valgrind support not requested; disabled.')
-+else
-+ valgrind_header = 'valgrind/valgrind.h'
-+ has_valgrind_header = cc.has_header(valgrind_header)
-+ if has_valgrind_header
-+ message('Valgrind support requested, and header ' + valgrind_header + \
-+ ' found. Enabled Valgrind support.')
-+ define = 'HAVE_' + valgrind_header.underscorify().to_upper()
-+ cdata.set(define, 1)
-+ else
-+ if valgrind_option.enabled()
-+ error('Valgrind support requested and set as required, but header ' + \
-+ valgrind_header + ' not found.')
-+ else
-+ message('Valgrind support requested, but header ' + valgrind_header + \
-+ ' not found. Disabling Valgrind support.')
-+ endif
-+ endif
-+endif
-+
- if cc.has_member('struct tm', 'tm_gmtoff', prefix : '#include <time.h>')
- cdata.set('HAVE_TM_GMTOFF', 1)
- endif
-diff --git a/meson_options.txt b/meson_options.txt
-index e7ff7ba..8afde39 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -19,6 +19,7 @@ option('memory-alignment', type: 'combo',
-
- # Feature options
- option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
-+option('valgrind', type : 'feature', value : 'auto', description : 'Enable Valgrind support')
- option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces')
- option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind')
- option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces')
---
-2.17.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
new file mode 100644
index 00000000..10a6dcc6
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
@@ -0,0 +1,50 @@
+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
+
+meson 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.
+
+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 | 21 ++++++++++++-------
+ 1 file changed, 13 insertions(+), 8 deletions(-)
+
+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.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')
++ # 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.project_build_root(),
++ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
++ 'GST_STATE_IGNORE_ELEMENTS': '',
++ 'CK_DEFAULT_TIMEOUT': '20',
++ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name),
++ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner',
++ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer',
++ }
+
+ if installed_tests_enabled
+ test_conf = configuration_data()
+--
+2.33.1
+
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch
deleted file mode 100644
index 0e6c44ea..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-From b843400284751968862751dfe93853f151551c64 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Fri, 25 Oct 2019 00:06:26 +0200
-Subject: [PATCH] meson: Add option for installed tests
-
-This adds an option for producing installed versions of the unit tests.
-These versions don't need meson to run (only a small shell script). This
-makes it easier to run cross compiled tests on a target machine.
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- build-aux/gen-installed-test-desc.py | 18 ++++++
- build-aux/gen-installed-test-shscript.py | 25 ++++++++
- meson_options.txt | 2 +
- tests/check/meson.build | 46 +++++++++++++-
- tests/files/testfile | 80 ++++++++++++++++++++++++
- 5 files changed, 170 insertions(+), 1 deletion(-)
- create mode 100644 build-aux/gen-installed-test-desc.py
- create mode 100644 build-aux/gen-installed-test-shscript.py
- create mode 100644 tests/files/testfile
-
-diff --git a/build-aux/gen-installed-test-desc.py b/build-aux/gen-installed-test-desc.py
-new file mode 100644
-index 0000000..69e8a0f
---- /dev/null
-+++ b/build-aux/gen-installed-test-desc.py
-@@ -0,0 +1,18 @@
-+import sys
-+import os
-+import argparse
-+
-+def write_template(filename, data):
-+ with open(filename, 'w') as f:
-+ f.write(data)
-+
-+def build_template(testdir, testname):
-+ return "[Test]\nType=session\nExec={}\n".format(os.path.join(testdir, testname))
-+
-+argparser = argparse.ArgumentParser(description='Generate installed-test data.')
-+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
-+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
-+argparser.add_argument('--output', metavar='file', required=True, help='Output file')
-+args = argparser.parse_args()
-+
-+write_template(args.output, build_template(args.test_execdir, args.testname))
-diff --git a/build-aux/gen-installed-test-shscript.py b/build-aux/gen-installed-test-shscript.py
-new file mode 100644
-index 0000000..5da86fb
---- /dev/null
-+++ b/build-aux/gen-installed-test-shscript.py
-@@ -0,0 +1,25 @@
-+import sys
-+import os
-+import argparse
-+
-+def write_template(filename, data):
-+ with open(filename, 'w') as f:
-+ f.write(data)
-+
-+def build_template(testdir, testname):
-+ return ''.join([
-+ "#!/usr/bin/env sh\n",
-+ "export GST_STATE_IGNORE_ELEMENTS=''\n",
-+ "export CK_DEFAULT_TIMEOUT=20\n",
-+ "export GST_PLUGIN_LOADING_WHITELIST='gstreamer'\n",
-+ "{}\n".format(os.path.join(testdir, testname)),
-+ ])
-+
-+argparser = argparse.ArgumentParser(description='Generate installed-test data.')
-+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
-+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
-+argparser.add_argument('--output', metavar='file', required=True, help='Output file')
-+args = argparser.parse_args()
-+
-+write_template(args.output, build_template(args.test_execdir, args.testname))
-+os.chmod(args.output, 0o755)
-diff --git a/meson_options.txt b/meson_options.txt
-index 8afde39..8884dcc 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -16,6 +16,8 @@ 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('test-files-path', type : 'string', description : 'Path where to find test files')
-
- # Feature options
- option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
-diff --git a/tests/check/meson.build b/tests/check/meson.build
-index 04da83f..2db7f76 100644
---- a/tests/check/meson.build
-+++ b/tests/check/meson.build
-@@ -118,11 +118,17 @@ if add_languages('cpp', required : false)
- ]
- endif
-
-+test_files_path = get_option('test-files-path')
-+if test_files_path == ''
-+ test_files_path = meson.current_source_dir() + '/../files'
-+endif
-+message('Using path "@0@" as the path to read test files from'.format(test_files_path))
-+
- test_defines = [
- '-UG_DISABLE_ASSERT',
- '-UG_DISABLE_CAST_CHECKS',
- '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
-- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
-+ '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'),
- '-DGST_USE_UNSTABLE_API',
- '-DGST_DISABLE_DEPRECATED',
- ]
-@@ -137,6 +143,14 @@ endif
- glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
- gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
-
-+installed_tests_datadir = join_paths(prefix, get_option('datadir'), 'installed-tests', 'gstreamer-1.0')
-+installed_tests_execdir = join_paths(prefix, libexecdir, 'installed-tests', 'gstreamer-1.0')
-+installed_tests_enabled = get_option('installed-tests')
-+
-+python = import('python').find_installation()
-+gen_installed_test_desc = files('../../build-aux/gen-installed-test-desc.py')
-+gen_installed_test_shscript = files('../../build-aux/gen-installed-test-shscript.py')
-+
- foreach t : core_tests
- fname = t[0]
- test_name = fname.split('.')[0].underscorify()
-@@ -150,8 +164,38 @@ foreach t : core_tests
- include_directories : [configinc],
- link_with : link_with_libs,
- dependencies : test_deps + glib_deps + gst_deps,
-+ install_dir: installed_tests_execdir,
-+ install: installed_tests_enabled
- )
-
-+ if installed_tests_enabled
-+ installed_test_shscript = test_name + '.sh'
-+ shscript = custom_target (test_name + '_shscript',
-+ output: installed_test_shscript,
-+ command: [
-+ python,
-+ gen_installed_test_shscript,
-+ '--test-execdir=@0@'.format(installed_tests_execdir),
-+ '--testname=@0@'.format(test_name),
-+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_shscript)),
-+ ],
-+ install: true,
-+ install_dir: installed_tests_execdir)
-+
-+ installed_test_desc = test_name + '.test'
-+ data = custom_target(test_name + '_desc',
-+ output: installed_test_desc,
-+ command: [
-+ python,
-+ gen_installed_test_desc,
-+ '--test-execdir=@0@'.format(installed_tests_execdir),
-+ '--testname=@0@'.format(installed_test_shscript),
-+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_desc)),
-+ ],
-+ install: true,
-+ install_dir: installed_tests_datadir)
-+ endif
-+
- env = environment()
- env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
-diff --git a/tests/files/testfile b/tests/files/testfile
-new file mode 100644
-index 0000000..89954e0
---- /dev/null
-+++ b/tests/files/testfile
-@@ -0,0 +1,80 @@
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
---
-2.17.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/capfix.patch b/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch
deleted file mode 100644
index 7ca3d5ad..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Currently gstreamer configuration depends on whether setcap is found on the host
-system. Turn this into a configure option to make builds deterinistic.
-
-RP 2020/2/19
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending
-
-Index: gstreamer-1.16.1/libs/gst/helpers/meson.build
-===================================================================
---- gstreamer-1.16.1.orig/libs/gst/helpers/meson.build
-+++ gstreamer-1.16.1/libs/gst/helpers/meson.build
-@@ -73,7 +73,12 @@ if have_ptp
- endif
- endif
-
-- setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false)
-+ setcap_feature = get_option('setcap')
-+ if setcap_feature.disabled()
-+ setcap = find_program('dontexist', required : false)
-+ else
-+ setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false)
-+ endif
-
- # user/group to change to in gst-ptp-helper
- ptp_helper_setuid_user = get_option('ptp-helper-setuid-user')
-Index: gstreamer-1.16.1/meson_options.txt
-===================================================================
---- gstreamer-1.16.1.orig/meson_options.txt
-+++ gstreamer-1.16.1/meson_options.txt
-@@ -26,6 +26,7 @@ option('libunwind', type : 'feature', va
- option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind')
- option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces')
- option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files')
-+option('setcap', type : 'feature', value : 'auto', description : 'Use setcap')
-
- # Common feature options
- option('examples', type : 'feature', value : 'auto', yield : true)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest b/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
new file mode 100755
index 00000000..0cfa955f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
@@ -0,0 +1,2 @@
+#!/usr/bin/env sh
+gnome-desktop-testing-runner gstreamer
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb
deleted file mode 100644
index 8bbc16c8..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-SUMMARY = "GStreamer 1.0 multimedia framework"
-DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
-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 = "LGPLv2+"
-
-DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
-
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
- file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
-
-# Use i.MX fork of GST for customizations
-GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
-SRCBRANCH = "MM_04.05.06_2008_L5.4.47"
-
-SRC_URI = " \
- ${GST1.0_SRC};branch=${SRCBRANCH} \
- file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
- file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- file://0003-meson-Add-valgrind-feature.patch \
- file://0004-meson-Add-option-for-installed-tests.patch \
- file://capfix.patch \
-"
-SRCREV = "8514bc61ccab208a65e387eab9347276a8e770e7"
-
-S = "${WORKDIR}/git"
-
-DEFAULT_PREFERENCE = "-1"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
- check \
- debug \
- tools"
-
-PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
-PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
-PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
-PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind,"
-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"
-PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
-PACKAGECONFIG[setcap] = "-Dsetcap=enabled,-Dsetcap=disabled,libcap libcap-native"
-
-# 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'
-
-EXTRA_OEMESON += " \
- -Dexamples=disabled \
- -Ddbghelp=disabled \
- ${@gettext_oemeson(d)} \
-"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKDOC_MESON_ENABLE_FLAG = "enabled"
-GTKDOC_MESON_DISABLE_FLAG = "disabled"
-
-GIR_MESON_ENABLE_FLAG = "enabled"
-GIR_MESON_DISABLE_FLAG = "disabled"
-
-PACKAGES += "${PN}-bash-completion"
-
-# Add the core element plugins to the main package
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
-FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb ${datadir}/glib-2.0/gdb"
-
-CVE_PRODUCT = "gstreamer"
-
-require recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb
new file mode 100644
index 00000000..ce7b3f1d
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.imx.bb
@@ -0,0 +1,105 @@
+# This recipe is for the i.MX fork of gstreamer1.0. 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: 937817e5164f8af8452aec03ae3c45cb23d63df9
+
+SUMMARY = "GStreamer 1.0 multimedia framework"
+DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
+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.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=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-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] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+ check \
+ debug \
+ tools"
+
+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[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
+PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
+PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
+PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
+PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
+
+# 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'
+
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Dexamples=disabled \
+ -Ddbghelp=disabled \
+ ${@gettext_oemeson(d)} \
+"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
+
+PACKAGES += "${PN}-bash-completion"
+
+# Add the core element plugins to the main package
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
+
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-5"
+
+CVE_PRODUCT = "gstreamer"
+
+PTEST_BUILD_HOST_FILES = ""
+
+########### End of OE-core copy ###########
+
+########### i.MX overrides ################
+
+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"
+SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
+GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
+SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
+SRCREV = "1a43c16272a7f4274eb8260e03206a57f317d823"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
+
+########### End of i.MX overrides #########
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.5.7.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
deleted file mode 100644
index c8bb6cd8..00000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright (C) 2014,2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Gstreamer freescale plugins"
-LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
-SECTION = "multimedia"
-
-DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
-DEPENDS_append_mx6 = " imx-lib"
-DEPENDS_append_mx7 = " imx-lib"
-DEPENDS_append_imxvpu = " imx-vpuwrap libdrm"
-
-# 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.05.07_2011_L5.4.70"
-
-SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
-"
-SRCREV = "659ec4947d6b1903d26e4ec9e40ae251a659935d"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig use-imx-headers
-
-PLATFORM_mx6 = "MX6"
-PLATFORM_mx6sl = "MX6SL"
-PLATFORM_mx6sx = "MX6SX"
-PLATFORM_mx6ul = "MX6UL"
-PLATFORM_mx6sll = "MX6SLL"
-PLATFORM_mx7= "MX7D"
-PLATFORM_mx7ulp= "MX7ULP"
-PLATFORM_mx8 = "MX8"
-
-# Todo add a mechanism to map possible build targets
-EXTRA_OECONF = "PLATFORM=${PLATFORM} \
- CPPFLAGS="-I${STAGING_INCDIR_IMX}" \
- CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', bb.utils.contains('DISTRO_FEATURES', 'x11', '--disable-x11', '', d), '', d)}"
-
-PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine"
-
-# Add codec list that the beep plugin run-time depended
-BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
-RDEPENDS_${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
-
-# overlaysink rely on G2D,
-# cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D
-PACKAGECONFIG ?= ""
-PACKAGECONFIG_imxgpu2d = "overlaysink"
-
-
-# FIXME: Add all features
-# feature from excluded mm packages
-PACKAGECONFIG[ac3] += ",,imx-ac3codec,imx-ac3codec"
-# feature from special mm packages
-PACKAGECONFIG[aacp] += ",,imx-aacpcodec,imx-aacpcodec"
-MSDEPENDS = "imx-msparser imx-mscodec"
-PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}"
-PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}"
-OVDEPENDS = "virtual/libg2d"
-PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}"
-
-FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
-
-FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-FILES_${PN}-gplay = "${bindir}/gplay-1.0"
-FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
-FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
-FILES_${PN}-grecorder = "${bindir}/grecorder-1.0"
-FILES_${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
-FILES_${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
new file mode 100644
index 00000000..a13cf30a
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -0,0 +1,110 @@
+# Copyright (C) 2014,2016 Freescale Semiconductor
+# Copyright 2017-2021 NXP
+# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Gstreamer freescale plugins"
+SECTION = "multimedia"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
+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:mx93-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 = ""
+DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter"
+
+# For backwards compatibility
+RREPLACES:${PN} = "gst1.0-fsl-plugin"
+RPROVIDES:${PN} = "gst1.0-fsl-plugin"
+RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
+
+PV = "4.8.3+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.03_2312_L6.6.y"
+SRCREV = "91c7fec888cf8932c91e354331aad94975cae3ff"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig use-imx-headers
+
+PLATFORM:mx6-nxp-bsp = "MX6"
+PLATFORM:mx6sl-nxp-bsp = "MX6SL"
+PLATFORM:mx6sx-nxp-bsp = "MX6SX"
+PLATFORM:mx6ul-nxp-bsp = "MX6UL"
+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} \
+ -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
+"
+
+PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine"
+
+# Add codec list that the beep plugin run-time depended
+BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
+RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
+RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp"
+RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp"
+RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp"
+RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp"
+RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp"
+
+PACKAGECONFIG ?= ""
+
+# FIXME: Add all features
+# feature from excluded mm packages
+PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec"
+# feature from special mm packages
+PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec"
+MSDEPENDS = "imx-msparser imx-mscodec"
+PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}"
+PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}"
+
+FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
+
+FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN}-gplay = "${bindir}/gplay-1.0"
+FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
+FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
+FILES:${PN}-grecorder = "${bindir}/grecorder-1.0"
+FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
+FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/imx-codec/imx-codec_4.5.7.bb b/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb
index 76a52f26..0a2c71e7 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.5.7.bb
+++ b/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb
@@ -1,34 +1,33 @@
# 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=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
# Backward compatibility
PROVIDES += "libfslcodec"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "4d6ab45675c4010502a9bf2c16ee4705"
-SRC_URI[sha256sum] = "637d6109e6d6105f36f0fbb4f1d2267d487e1326591f7a26cd078c35b8373e55"
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "7ae1615aad2c0456b9be2ab804a6267e"
+SRC_URI[sha256sum] = "9facb3541903b4a6c6baa906f8c2c6cc01fc8c7b82a726c8da6d3681d4ed720b"
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() {
+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
mv $p ${D}${libdir}
@@ -46,15 +45,15 @@ python __set_insane_skip() {
for p in d.getVar('PACKAGES').split():
# Even though we are packaging libraries those are plugins so we
# shouldn't rename the packages to follow its sonames.
- d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1")
+ d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1")
# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
# 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")
+ d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel")
}
do_package_qa[prefuncs] += "__set_insane_skip"
@@ -70,13 +69,13 @@ python __split_libfslcodec_plugins() {
for pkg in pkgs:
meta = pkg[10:]
if meta != '':
- d.setVar('RREPLACES_%s' % pkg, ' libfslcodec-%s' % meta)
- d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec-%s' % meta)
- d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec-%s' % meta)
+ d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta)
+ d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta)
+ d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta)
else :
- d.setVar('RREPLACES_%s' % pkg, ' libfslcodec')
- d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec')
- d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec')
+ d.setVar('RREPLACES:%s' % pkg, ' libfslcodec')
+ d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec')
+ d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec')
}
python __set_metapkg_rdepends() {
@@ -85,35 +84,38 @@ python __set_metapkg_rdepends() {
codec_pkgs = oe.utils.packages_filter_out_system(d)
codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'],
codec_pkgs)
- d.appendVar('RDEPENDS_imx-codec-meta', ' ' + ' '.join(codec_pkgs))
+ d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs))
}
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"
PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source"
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-meta = "1"
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-meta = "1"
# Ensure we get warnings if we miss something
-FILES_${PN} = ""
+FILES:${PN} = ""
-FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
+FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
${libdir}/imx-mm/*/*/*${SOLIBSDEV} \
${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*"
-FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
+FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
-FILES_${PN}-test-source += "${datadir}/imx-mm/*"
+FILES:${PN}-test-source += "${datadir}/imx-mm/*"
# FIXME: The wrap and lib names does not match
-FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
-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.*"
+FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
+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}"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.bb
new file mode 100644
index 00000000..bc73bd9f
--- /dev/null
+++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.7.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=44a8052c384584ba09077e85a3d1654f"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "32251bc952ca7b9a4b12fadb9328a8c1"
+SRC_URI[sha256sum] = "0baa82410a77c68e39aaa987d91b41c94255d62294fa2f5a399169f3068862cc"
+
+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_2.1.7.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.1.7.bb
new file mode 100644
index 00000000..60761e6e
--- /dev/null
+++ b/recipes-multimedia/imx-dsp/imx-dsp_2.1.7.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=44a8052c384584ba09077e85a3d1654f"
+
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "199f88716f289e93e0954fa6475a3cbc"
+SRC_URI[sha256sum] = "83eaef592de33b4d5e8fae63d798cc955bf3c414911c87afeb65a20af01fb0b6"
+
+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 d9fd8458..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"
@@ -17,6 +17,6 @@ INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-FILES_${PN} += "/unit_tests ${datadir}/imx-mm"
+FILES:${PN} += "/unit_tests ${datadir}/imx-mm"
-COMPATIBLE_MACHINE = "(mx8)"
+COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb
new file mode 100644
index 00000000..3dc0a7ea
--- /dev/null
+++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.2.0.bb
@@ -0,0 +1,18 @@
+# Copyright 2023 NXP
+DESCRIPTION = "NXP Multimedia opencl converter lib"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
+DEPENDS = "opencl-headers"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "dc668682189ce740fb46073e62f58066"
+SRC_URI[sha256sum] = "9f283df500c57421b87d96d9af7022ab490bc241aa28d00755beaadabbcd754b"
+
+inherit fsl-eula-unpack autotools pkgconfig meson
+
+FILES:${PN} += "${datadir}/"
+
+COMPATIBLE_MACHINE = "(^$)"
+COMPATIBLE_MACHINE:imxgpu = "(mx8-nxp-bsp|mx95-nxp-bsp)"
+COMPATIBLE_MACHINE:mx8mm-nxp-bsp = "(^$)"
diff --git a/recipes-multimedia/imx-parser/imx-parser_4.5.7.bb b/recipes-multimedia/imx-parser/imx-parser_4.8.3.bb
index 0a3bb6a2..4e580085 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.5.7.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.8.3.bb
@@ -1,21 +1,21 @@
# 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=cf3f9b8d09bc3926b1004ea71f7a248a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
# For backwards compatibility
PROVIDES += "libfslparser"
-RREPLACES_${PN} = "libfslparser"
-RPROVIDES_${PN} = "libfslparser"
-RCONFLICTS_${PN} = "libfslparser"
+RREPLACES:${PN} = "libfslparser"
+RPROVIDES:${PN} = "libfslparser"
+RCONFLICTS:${PN} = "libfslparser"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "dd34e4e2d1384af27d370964ebbd05fd"
-SRC_URI[sha256sum] = "033bdfdd4b611a4e9993519637c9b0f195daca9e12f614daff5d4dec90478fcf"
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "9bca484287f5592b86ed10c1761a3fcc"
+SRC_URI[sha256sum] = "b25267eefb4618b2ba8d6aba46a5b4e09621a44115036fc896e0777006472043"
inherit fsl-eula-unpack autotools pkgconfig
@@ -31,14 +31,14 @@ python __set_insane_skip() {
# the source we cannot fix it. Disable the insane check for now.
# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
for p in d.getVar('PACKAGES').split():
- d.setVar("INSANE_SKIP_%s" % p, "ldflags dev-so textrel")
+ d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel")
}
do_package_qa[prefuncs] += "__set_insane_skip"
# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
-FILES_${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
+FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
INHIBIT_SYSROOT_STRIP = "1"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
+COMPATIBLE_MACHINE = "(imx-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.5.7.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index 2b028235..af15e7b1 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.7.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -1,25 +1,24 @@
# 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=228c72f2a91452b8a03c4cab30f30ef9"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
DEPENDS = "virtual/imxvpu"
-DEPENDS_append_mx8mp = " imx-vpu-hantro-vc"
+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.05.07_2011_L5.4.70"
-SRCREV = "ccaf10a0dae7c0d7d204bd64282598bc0e3bd661"
+SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
+SRCREV = "f974cecdb00b4a214e4b5229f2279e772ee43306"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-do_install_append() {
+do_install:append() {
# FIXME: Drop examples for now
rm -r ${D}${datadir}
}
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.1.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
index f6b4baae..1e7d8252 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.1.0.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
@@ -1,24 +1,27 @@
DESCRIPTION = "frontend for the i.MX6 / i.MX8 VPU hardware video engines"
HOMEPAGE = "https://github.com/Freescale/libimxvpuapi"
-LICENSE = "LGPLv2.1"
+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 = "49cb1b34d759aa7a51269ca0f58fcc1f9647da5b"
-SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH}"
+SRCREV = "6f803f46d6b53a08cf02fc3d440072e01e2f3a09"
+SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
S = "${WORKDIR}/git"
inherit waf pkgconfig use-imx-headers
-IMX_PLATFORM_mx6 = "imx6"
-IMX_PLATFORM_mx8mq = "imx8m"
-IMX_PLATFORM_mx8mm = "imx8mm"
-IMX_PLATFORM_mx8mp = "imx8mm"
+IMX_PLATFORM:mx6-nxp-bsp = "imx6"
+IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m"
+IMX_PLATFORM:mx8mm-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/libimxvpuapi/libimxvpuapi_git.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
index 2d0f8571..e3a05193 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
@@ -1,7 +1,7 @@
# Copyright 2018 (C) O.S. Systems Software LTDA.
DESCRIPTION = "frontend for the i.MX6 VPU hardware video engine"
HOMEPAGE = "https://github.com/Freescale/libimxvpuapi"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
SECTION = "multimedia"
DEPENDS = "imx-vpu"
@@ -10,12 +10,12 @@ PV = "0.10.3+${SRCPV}"
SRCBRANCH ?= "v1"
SRCREV = "3a1ee3a54fe93813868d38c3d32ea065b59e227e"
-SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH}"
+SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
S = "${WORKDIR}/git"
inherit waf pkgconfig
-COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
+COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
EXTRA_OECONF = "--libdir=${libdir}"
diff --git a/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch b/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch
new file mode 100644
index 00000000..ab34dc2f
--- /dev/null
+++ b/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch
@@ -0,0 +1,41 @@
+From 2cac94185824aa7df07ec48a2872f3d26d517a6d Mon Sep 17 00:00:00 2001
+From: Shengjiu Wang <shengjiu.wang@nxp.com>
+Date: Tue, 28 Nov 2023 10:23:42 +0800
+Subject: [PATCH] launch: allow pipewire-pulse can be started by root.
+
+revert commit 8942f6b40 ("launch: avoid autostarting pipewire-pulse
+systemd units for root")
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
+---
+ src/daemon/systemd/user/pipewire-pulse.service.in | 1 -
+ src/daemon/systemd/user/pipewire-pulse.socket | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/src/daemon/systemd/user/pipewire-pulse.service.in b/src/daemon/systemd/user/pipewire-pulse.service.in
+index 73d22e532..da7728ee3 100644
+--- a/src/daemon/systemd/user/pipewire-pulse.service.in
++++ b/src/daemon/systemd/user/pipewire-pulse.service.in
+@@ -14,7 +14,6 @@ Description=PipeWire PulseAudio
+ # After=pipewire-pulse.socket is not needed, as it is already implicit in the
+ # socket-service relationship, see systemd.socket(5).
+ Requires=pipewire-pulse.socket
+-ConditionUser=!root
+ Wants=pipewire.service pipewire-session-manager.service
+ After=pipewire.service pipewire-session-manager.service
+ Conflicts=pulseaudio.service
+diff --git a/src/daemon/systemd/user/pipewire-pulse.socket b/src/daemon/systemd/user/pipewire-pulse.socket
+index 1ae5edafb..d27fb0e26 100644
+--- a/src/daemon/systemd/user/pipewire-pulse.socket
++++ b/src/daemon/systemd/user/pipewire-pulse.socket
+@@ -1,6 +1,5 @@
+ [Unit]
+ Description=PipeWire PulseAudio
+-ConditionUser=!root
+ Conflicts=pulseaudio.socket
+
+ [Socket]
+--
+2.34.1
+
diff --git a/recipes-multimedia/pipewire/pipewire_%.bbappend b/recipes-multimedia/pipewire/pipewire_%.bbappend
new file mode 100644
index 00000000..7d84ee93
--- /dev/null
+++ b/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI:append:imx-nxp-bsp = " file://0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch"
+
+SYSTEMD_AUTO_ENABLE:imx-nxp-bsp = "disable"
+
+DEPENDS:append:mx95-nxp-bsp = " libdrm"
+
+PACKAGECONFIG:remove:mx95-nxp-bsp = "libcamera"
+PACKAGECONFIG:remove:imx-nxp-bsp = "gstreamer"
+PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}"
+
+# FIXME: Needs to qualify on PACKAGECONFIG
+SYSTEMD_SERVICE:${PN}-pulse = "pipewire-pulse.service"
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/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/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/daemon.conf b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
index 9eb954bb..b9f533a0 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx/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/default.pa b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
index 83a6ba8d..b6c646b9 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx/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 78a17864..93f71e8f 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
@@ -1,21 +1,29 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx-nxp-bsp:"
-CACHED_CONFIGUREVARS_append_mx6 = " ax_cv_PTHREAD_PRIO_INHERIT=no"
+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}"
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/imx:"
+CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
-SRC_URI_append_mx6 = " file://daemon.conf file://default.pa"
-SRC_URI_append_mx7 = " file://daemon.conf file://default.pa \
- file://pulseaudio-remove-the-control-for-speaker-headphone-widge.patch \
-"
-SRC_URI_append_mx8 = " file://daemon.conf file://default.pa"
-
-do_install_append() {
+do_install:append() {
if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then
install -m 0644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf
install -m 0644 ${WORKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa
fi
}
-PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx7 = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
+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
new file mode 100755
index 00000000..78ff6989
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress/0001-tinycompress-Add-id3-decoding.patch
@@ -0,0 +1,1002 @@
+From 16f6b7a5baec41f18fde75fd311fb988e3c31810 Mon Sep 17 00:00:00 2001
+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 +++++++++++
+ src/utils/Makefile.am | 2 +-
+ src/utils/cplay.c | 88 +++++
+ src/utils/id3_tag_decode.c | 642 ++++++++++++++++++++++++++++++++++
+ 4 files changed, 929 insertions(+), 1 deletion(-)
+ create mode 100644 include/tinycompress/id3_tag_decode.h
+ create mode 100644 src/utils/id3_tag_decode.c
+
+diff --git a/include/tinycompress/id3_tag_decode.h b/include/tinycompress/id3_tag_decode.h
+new file mode 100644
+index 0000000..1a911d7
+--- /dev/null
++++ b/include/tinycompress/id3_tag_decode.h
+@@ -0,0 +1,198 @@
++/*
++ * Copyright (c) 2006-2017 Cadence Design Systems, Inc.
++ * Copyright 2018 NXP
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining
++ * a copy of this software and associated documentation files (the
++ * "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish,
++ * distribute, sublicense, and/or sell copies of the Software, and to
++ * permit persons to whom the Software is furnished to do so, subject to
++ * the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included
++ * in all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/******************************************************************
++ * file name : id3_tag_decode.h
++ *
++ * description : stores typedefs of structures specific to MP3 tag
++ *
++ * revision history:
++ * 29 04 2004 DK creation
++ *****************************************************************/
++
++#ifndef ID3_TAG_DECODE_H
++#define ID3_TAG_DECODE_H
++
++typedef signed char WORD8;
++typedef signed char * pWORD8;
++typedef unsigned char UWORD8;
++typedef unsigned char * pUWORD8;
++
++typedef signed short WORD16;
++typedef signed short * pWORD16;
++typedef unsigned short UWORD16;
++typedef unsigned short * pUWORD16;
++
++typedef signed int WORD24;
++typedef signed int * pWORD24;
++typedef unsigned int UWORD24;
++typedef unsigned int * pUWORD24;
++
++typedef signed int WORD32;
++typedef signed int * pWORD32;
++typedef unsigned int UWORD32;
++typedef unsigned int * pUWORD32;
++
++typedef void VOID;
++typedef void * pVOID;
++
++typedef signed int BOOL;
++typedef unsigned int UBOOL;
++typedef signed int FLAG;
++typedef unsigned int UFLAG;
++typedef signed int LOOPIDX;
++typedef unsigned int ULOOPIDX;
++typedef signed int WORD;
++typedef unsigned int UWORD;
++
++#define MAX_TAG_FRAME_SIZE 100
++
++#define ID3V1 (0x544147) /* 0x544147 is TAG in WORD8 */
++
++#define ID3V2 (0x494433) /* 0x494433 is ID3 in WORD8 */
++
++/*
++ * structure corresponding to ID3 tag v1 header.
++ * this structure has all the field corresponding to ID3 tag v1 header.
++ */
++
++typedef struct {
++ WORD32 tag; // 3 bytes
++
++ WORD16 version; // 2 bytes
++
++ WORD8 flag; //1 byte
++
++ WORD32 size; //4 bytes
++
++} id3_v2_header_struct;
++
++/* structure which will store the frame data and
++ * also put a limit max data to be stored
++ */
++typedef struct {
++ WORD8 frame_data[MAX_TAG_FRAME_SIZE];
++
++ WORD32 max_size; //4 bytes
++
++ WORD16 tag_present;
++
++ WORD16 exceeds_buffer_size;
++
++} id3_v2_frame_struct;
++
++/*
++ * structure corresponding to ID3 tag v2.
++ * this structure has some of the field corresponding to ID3 tag v2.
++ * if user wants to read some more tag information from
++ * the MP3 file, he can add that field in this structure and pass address
++ * of that element to get_inf function in id3_tag_decode.c under the
++ * corresponding field frame header. few fields which are needed are already
++ * populated by reading from the TAG header.
++ */
++typedef struct {
++ id3_v2_frame_struct album_movie_show_title;
++
++ id3_v2_frame_struct composer_name;
++
++ id3_v2_frame_struct content_type;
++
++ id3_v2_frame_struct encoded_by;
++
++ id3_v2_frame_struct lyricist_text_writer;
++
++ id3_v2_frame_struct content_group_description;
++
++ id3_v2_frame_struct title_songname_content_description;
++
++ id3_v2_frame_struct medxa_type;
++
++ id3_v2_frame_struct original_album_movie_show_title;
++
++ id3_v2_frame_struct original_filename;
++
++ id3_v2_frame_struct original_lyricist_text_writer;
++
++ id3_v2_frame_struct original_artist_performer;
++
++ id3_v2_frame_struct file_owner_licensee;
++
++ id3_v2_frame_struct lead_performer_soloist;
++
++ id3_v2_frame_struct publisher;
++
++ id3_v2_frame_struct private_frame;
++
++ id3_v2_frame_struct other_info;
++
++ id3_v2_header_struct id3_v2_header;
++
++ WORD32 header_end;
++
++ WORD32 bytes_consumed;
++
++} id3v2_struct;
++
++/*
++ * structure corresponding to ID3 tag v1.
++ * this structure has all the field corresponding to ID3 tag v1.
++ */
++typedef struct {
++ WORD8 song_title[30]; //30 word8acters
++
++ WORD8 artist[30]; //30 word8acters
++
++ WORD8 album[30]; //30 word8acters
++
++ WORD8 year[4]; //4 word8acters
++
++ WORD8 comment[30]; //30 word8acters
++
++ WORD8 genre[1]; //1 byte
++
++} id3v1_struct;
++
++WORD32 get_info(const char *inp_buffer,
++ unsigned int avail_inp,
++ WORD32 tag_size,
++ id3_v2_frame_struct *dest);
++
++WORD32 search_id3_v2(UWORD8 *buffer);
++
++WORD32 decode_id3_v2(const char *const buffer,
++ id3v2_struct *id3v2,
++ WORD32 continue_flag,
++ WORD32 insize);
++
++WORD32 get_id3_v2_bytes(UWORD8 *buffer);
++
++WORD32 get_v1_info(UWORD8 *buffer, id3v1_struct *id3v1);
++
++WORD32 search_id3_v1(UWORD8 *buffer);
++
++WORD32 decode_id3_v1(UWORD8 *buffer, id3v1_struct *id3v1);
++
++void init_id3v2_field(id3v2_struct *id3v2);
++
++#endif
+diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am
+index 1b996d4..e813689 100644
+--- a/src/utils/Makefile.am
++++ b/src/utils/Makefile.am
+@@ -1,6 +1,6 @@
+ bin_PROGRAMS = cplay crecord
+
+-cplay_SOURCES = cplay.c
++cplay_SOURCES = cplay.c id3_tag_decode.c
+ crecord_SOURCES = crecord.c
+
+ cplay_CFLAGS = -I$(top_srcdir)/include
+diff --git a/src/utils/cplay.c b/src/utils/cplay.c
+index 87863a3..2a52b52 100644
+--- a/src/utils/cplay.c
++++ b/src/utils/cplay.c
+@@ -72,6 +72,7 @@
+ #include "sound/compress_params.h"
+ #include "tinycompress/tinycompress.h"
+ #include "tinycompress/tinymp3.h"
++#include "tinycompress/id3_tag_decode.h"
+
+ static int verbose;
+ static const unsigned int DEFAULT_CODEC_ID = SND_AUDIOCODEC_PCM;
+@@ -245,12 +246,97 @@ int main(int argc, char **argv)
+ exit(EXIT_SUCCESS);
+ }
+
++void shift_buffer(char *buf, int buf_size, int bytes_consumed)
++{
++ int i;
++
++ if (bytes_consumed <= 0)
++ return;
++
++ for (i = 0; i < buf_size - bytes_consumed; i++)
++ buf[i] = buf[i + bytes_consumed];
++}
++
++void parse_id3(FILE *file, int *offset) {
++ /* ID3 tag specific declarations */
++ unsigned char id3_buf[128];
++ unsigned char id3v2_buf[4096];
++ signed int id3_v1_found = 0, id3_v1_decoded = 0;
++ signed int id3_v2_found = 0, id3_v2_complete = 0;
++ signed int i_bytes_consumed = 0;
++ signed int i_fread_bytes;
++ id3v1_struct id3v1;
++ id3v2_struct id3v2;
++
++ {
++ fseek(file, -128, SEEK_END);
++ fread(id3_buf, 1, 128, file);
++
++ /* search for ID3V1 */
++ id3_v1_found = search_id3_v1(id3_buf + 0);
++ if (id3_v1_found) {
++ /* if ID3V1 is found, decode ID3V1 */
++ decode_id3_v1(id3_buf + 3, &id3v1);
++ id3_v1_decoded = 1;
++ }
++ fseek(file, 0, SEEK_SET);
++ }
++
++ {
++ signed int flag = 0;
++ signed int continue_flag = 0;
++
++ i_fread_bytes = fread(id3v2_buf,
++ sizeof(char), 0x1000, file);
++
++ /* search for ID3V2 */
++ id3_v2_found =
++ search_id3_v2(id3v2_buf);
++
++ if (id3_v2_found) {
++ /* initialise the max fields */
++ init_id3v2_field(&id3v2);
++
++ while (!id3_v2_complete && id3_v2_found) {
++ /* if ID3V2 is found, decode ID3V2 */
++ id3_v2_complete = decode_id3_v2((const char *const)id3v2_buf,
++ &id3v2, continue_flag, i_fread_bytes);
++
++ if (!id3_v2_complete) {
++ continue_flag = 1;
++ i_bytes_consumed = id3v2.bytes_consumed;
++
++ fseek(file, i_bytes_consumed, SEEK_SET);
++
++ i_fread_bytes = fread(id3v2_buf,
++ sizeof(unsigned char), 0x1000, file);
++ if (i_fread_bytes <= 0) {
++ return;
++ }
++ }
++ }
++
++ if (id3_v2_complete) {
++ i_bytes_consumed = id3v2.bytes_consumed;
++ fseek(file, i_bytes_consumed, SEEK_SET);
++ }
++ }
++ }
++
++ *offset = i_bytes_consumed;
++}
++
+ void get_codec_mp3(FILE *file, struct compr_config *config,
+ struct snd_codec *codec)
+ {
+ size_t read;
+ struct mp3_header header;
+ unsigned int channels, rate, bits;
++ int offset = 0;
++
++ parse_id3(file, &offset);
++
++ fseek(file, offset, SEEK_SET);
+
+ read = fread(&header, 1, sizeof(header), file);
+ if (read != sizeof(header)) {
+@@ -279,6 +365,8 @@ void get_codec_mp3(FILE *file, struct compr_config *config,
+ codec->level = 0;
+ codec->ch_mode = 0;
+ codec->format = 0;
++
++ fseek(file, offset, SEEK_SET);
+ }
+
+ void get_codec_iec(FILE *file, struct compr_config *config,
+diff --git a/src/utils/id3_tag_decode.c b/src/utils/id3_tag_decode.c
+new file mode 100644
+index 0000000..393967a
+--- /dev/null
++++ b/src/utils/id3_tag_decode.c
+@@ -0,0 +1,642 @@
++/*
++ * Copyright (c) 2006-2017 Cadence Design Systems, Inc.
++ * Copyright 2018 NXP
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining
++ * a copy of this software and associated documentation files (the
++ * "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish,
++ * distribute, sublicense, and/or sell copies of the Software, and to
++ * permit persons to whom the Software is furnished to do so, subject to
++ * the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included
++ * in all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++ */
++#include <ctype.h>
++#include "tinycompress/id3_tag_decode.h"
++
++#define CHAR4(c1, c2, c3, c4) \
++ (int)(((unsigned char)(c1) << 24) | \
++ ((unsigned char)(c2) << 16) | \
++ ((unsigned char)(c3) << 8) | \
++ ((unsigned char)c4))
++
++#ifndef MSVC_BUILD
++unsigned int umin(unsigned int a, unsigned int b)
++{
++ return (a < b ? a : b);
++}
++
++#else
++unsigned int umin(unsigned int a, unsigned int b)
++{
++ return (a < b ? a : b);
++}
++#endif
++
++/***********************************************************
++ * function name : display
++ *
++ * description : display ID3 tag contents.
++ *
++ * arguments : input parameters
++ *
++ * values returned : 0
++ ***********************************************************/
++
++static void display2(const id3_v2_frame_struct * const src,
++ int size,
++ const char * const disp)
++{
++ int j;
++
++
++ for (j = 0; j < size; j++) {
++ int c = src->frame_data[j];
++
++ if (c) {
++ if (!isprint(c))
++ break;
++ }
++ }
++}
++
++static VOID display1(WORD8 src[], WORD32 size, WORD8 disp[])
++{
++ WORD32 j;
++
++ for (j = 0; j < size ; j++) {
++ int c = src[j];
++
++ if (c) {
++ if (!isprint(c))
++ break;
++ }
++ }
++}
++
++/*****************************************************************
++ * function name : init_id3_header
++ *
++ * description : initialise the max filed size of teh farem.
++ *
++ * arguments : input parameters
++ *
++ * values returned : 0
++ ****************************************************************/
++
++VOID init_id3v2_field(id3v2_struct *id3v2)
++{
++ id3v2->album_movie_show_title.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->composer_name.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->content_type.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->encoded_by.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->lyricist_text_writer.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->content_group_description.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->title_songname_content_description.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->medxa_type.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->original_album_movie_show_title.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->original_filename.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->original_lyricist_text_writer.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->original_artist_performer.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->file_owner_licensee.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->lead_performer_soloist.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->publisher.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->private_frame.max_size = MAX_TAG_FRAME_SIZE;
++ id3v2->other_info.max_size = MAX_TAG_FRAME_SIZE;
++
++ /* resetting the flag to indicate presese of frame */
++ id3v2->album_movie_show_title.tag_present = 0;
++ id3v2->composer_name.tag_present = 0;
++ id3v2->content_type.tag_present = 0;
++ id3v2->encoded_by.tag_present = 0;
++ id3v2->lyricist_text_writer.tag_present = 0;
++ id3v2->content_group_description.tag_present = 0;
++ id3v2->title_songname_content_description.tag_present = 0;
++ id3v2->medxa_type.tag_present = 0;
++ id3v2->original_album_movie_show_title.tag_present = 0;
++ id3v2->original_filename.tag_present = 0;
++ id3v2->original_lyricist_text_writer.tag_present = 0;
++ id3v2->original_artist_performer.tag_present = 0;
++ id3v2->file_owner_licensee.tag_present = 0;
++ id3v2->lead_performer_soloist.tag_present = 0;
++ id3v2->publisher.tag_present = 0;
++ id3v2->private_frame.tag_present = 0;
++ id3v2->other_info.tag_present = 0;
++
++ /* resetting the flag which indicates that size of the frame has
++ * exceeded the max buffer size
++ */
++ id3v2->album_movie_show_title.exceeds_buffer_size = 0;
++ id3v2->composer_name.exceeds_buffer_size = 0;
++ id3v2->content_type.exceeds_buffer_size = 0;
++ id3v2->encoded_by.exceeds_buffer_size = 0;
++ id3v2->lyricist_text_writer.exceeds_buffer_size = 0;
++ id3v2->content_group_description.exceeds_buffer_size = 0;
++ id3v2->title_songname_content_description.exceeds_buffer_size = 0;
++ id3v2->medxa_type.exceeds_buffer_size = 0;
++ id3v2->original_album_movie_show_title.exceeds_buffer_size = 0;
++ id3v2->original_filename.exceeds_buffer_size = 0;
++ id3v2->original_lyricist_text_writer.exceeds_buffer_size = 0;
++ id3v2->original_artist_performer.exceeds_buffer_size = 0;
++ id3v2->file_owner_licensee.exceeds_buffer_size = 0;
++ id3v2->lead_performer_soloist.exceeds_buffer_size = 0;
++ id3v2->publisher.exceeds_buffer_size = 0;
++ id3v2->private_frame.exceeds_buffer_size = 0;
++ id3v2->other_info.exceeds_buffer_size = 0;
++
++ id3v2->bytes_consumed = 0;
++ id3v2->header_end = 0;
++}
++
++/***************************************************************
++ * function name : search_id3_v2
++ *
++ * description : finds if ID3V2 starts at the start of given buffer.
++ *
++ * arguments : input parameters
++ * buffer input buffer
++ *
++ * values returned : FLAG 1: ID3 found 0: ID3 not found
++ ***************************************************************/
++WORD32 search_id3_v2(UWORD8 *buffer)
++{
++ UWORD32 temp;
++
++ temp = buffer[0] << 16;
++ temp |= buffer[1] << 8;
++ temp |= buffer[2];
++
++ if (temp == ID3V2)
++ return 1; /* ID3 found */
++
++ return 0; /* ID3 not found */
++}
++
++/**************************************************************
++ * function name : search_id3_v1
++ *
++ * description : finds if ID3V1 starts at the start of given buffer.
++ *
++ * arguments : input parameters
++ * buffer input buffer
++ *
++ * values returned : FLAG 1: ID3 found 0: ID3 not found
++ **************************************************************/
++WORD32 search_id3_v1(UWORD8 *buffer)
++{
++ UWORD32 temp;
++
++ temp = buffer[0] << 16;
++ temp |= buffer[1] << 8;
++ temp |= buffer[2];
++
++ if (temp == ID3V1)
++ return 1; /* ID3 found */
++
++ return 0; /* ID3 not found */
++}
++
++/***************************************************************
++ * function name : decode_id3_v1
++ *
++ * description : decodes ID3V1 tag.
++ *
++ * arguments : input parameters
++ * buffer input buffer
++ * id3v1 structure
++ *
++ * values returned : bytes consumed
++ **************************************************************/
++WORD32 decode_id3_v1(UWORD8 *buffer, id3v1_struct *id3v1)
++{
++ WORD32 bytes_consumed = 0;
++ short tag_type;
++
++ /* setting the tag type */
++ tag_type = 1;
++
++ bytes_consumed = get_v1_info(buffer, id3v1);
++
++ return bytes_consumed;
++}
++
++/***********************************************************
++ * function name : get_v1_info
++ *
++ * description : gets ID3V1 information fields.
++ *
++ * arguments : input parameters
++ * buffer input buffer
++ * id3v1 structure
++ *
++ * values returned : bytes consumed
++ ***********************************************************/
++WORD32 get_v1_info(UWORD8 *buffer, id3v1_struct *id3v1)
++{
++ WORD32 i;
++ WORD32 bytes_consumed = 0;
++
++ /* get song_title */
++ for (i = 0; i < 30; i++)
++ id3v1->song_title[i] = buffer[i];
++
++ buffer += 30;
++ bytes_consumed += 30;
++ display1(id3v1->song_title, 30, (WORD8 *)"song_title : ");
++
++ /* get artist */
++ for (i = 0; i < 30; i++)
++ id3v1->artist[i] = buffer[i];
++
++ buffer += 30;
++ bytes_consumed += 30;
++ display1(id3v1->artist, 30, (WORD8 *)"artist : ");
++
++ /* get album */
++ for (i = 0; i < 30; i++)
++ id3v1->album[i] = buffer[i];
++
++ buffer += 30;
++ bytes_consumed += 30;
++ display1(id3v1->album, 30, (WORD8 *)"album : ");
++
++ /* get year */
++ for (i = 0; i < 4; i++)
++ id3v1->year[i] = buffer[i];
++
++ buffer += 4;
++ bytes_consumed += 4;
++ display1(id3v1->year, 4, (WORD8 *)"year : ");
++
++ /* get comment */
++ for (i = 0; i < 30; i++)
++ id3v1->comment[i] = buffer[i];
++
++ buffer += 30;
++ bytes_consumed += 30;
++ display1(id3v1->comment, 30, (WORD8 *)"comment : ");
++
++ /* get genre */
++ for (i = 0; i < 1; i++)
++ id3v1->genre[i] = buffer[i];
++
++ buffer += 1;
++ bytes_consumed += 1;
++
++ return bytes_consumed;
++}
++
++/*****************************************************
++ * function name : decode_id3_v2
++ *
++ * description : decodes ID3V2 tag.
++ *
++ * arguments : input parameters
++ * buffer input buffer
++ * id3v2 structure
++ * continue_flag FLAG to indicate whether
++ * it is first call or not
++ * insize input buffer size
++ *
++ * values returned : bytes consumed
++ ******************************************************/
++WORD32 decode_id3_v2(const char *const buffer,
++ id3v2_struct *const id3v2,
++ WORD32 continue_flag,
++ WORD32 insize)
++{
++ UWORD32 size = 0, flag;
++ WORD32 i, buf_update_val;
++ UWORD8 buf[4], frame_header[10], id3_buffer[10];
++ WORD8 *bitstream_ptr;
++ short tag_type;
++
++ WORD32 bytes_consumed = 0;
++
++ if (id3v2->header_end == 1) {
++ id3v2->bytes_consumed += insize;
++ if (id3v2->bytes_consumed < id3v2->id3_v2_header.size)
++ return 0;
++
++ id3v2->bytes_consumed = (id3v2->id3_v2_header.size + 10);
++ return 1;
++ }
++
++ bitstream_ptr = (WORD8 *)id3_buffer;
++
++ if (!continue_flag) {
++ bytes_consumed += 3;
++ /* setting the tag type */
++ tag_type = 2;
++ id3v2->id3_v2_header.version = buffer[bytes_consumed + 0] << 8;
++ id3v2->id3_v2_header.version |= buffer[bytes_consumed + 1];
++ id3v2->id3_v2_header.flag = buffer[bytes_consumed + 2];
++
++ /* making the msb of each byte zero */
++ buf[0] = buffer[bytes_consumed + 6] & 0x7f;
++ buf[1] = buffer[bytes_consumed + 5] & 0x7f;
++ buf[2] = buffer[bytes_consumed + 4] & 0x7f;
++ buf[3] = buffer[bytes_consumed + 3] & 0x7f;
++
++ bytes_consumed += 7;
++
++ /* concatenation the bytes after making
++ * 7th bit zero to get 28 bits size
++ */
++ size = buf[0];
++ size |= (buf[1] << 7);
++ size |= (buf[2] << 14);
++ size |= (buf[3] << 21);
++ /* storing the size */
++ id3v2->id3_v2_header.size = size;
++
++ /* check for extended header */
++ if (id3v2->id3_v2_header.flag & 0x20) {
++ for (i = 0; i < 10; i++)
++ bitstream_ptr[i] = buffer[bytes_consumed + i];
++
++ i = 0;
++ bytes_consumed += 10;
++
++ size = bitstream_ptr[i++] << 24;
++ size |= bitstream_ptr[i++] << 16;
++ size |= bitstream_ptr[i++] << 8;
++ size |= bitstream_ptr[i++];
++
++ /* two bytes for flag */
++ i += 2;
++ {
++ UWORD32 padding_size;
++
++ padding_size = bitstream_ptr[i++] << 24;
++ padding_size |= bitstream_ptr[i++] << 16;
++ padding_size |= bitstream_ptr[i++] << 8;
++ padding_size |= bitstream_ptr[i++];
++
++ /* skipping the padding and frame size
++ * number of bytes
++ */
++ bytes_consumed += (padding_size + size);
++ }
++ }
++ }
++
++ while (id3v2->header_end != 1) {
++ char *key;
++ id3_v2_frame_struct *value;
++ unsigned int avail_inp;
++
++ /* reading the 10 bytes to get the frame header */
++
++ for (i = 0; i < 10; i++)
++ frame_header[i] = buffer[bytes_consumed + i];
++ bytes_consumed += 10;
++
++ /* getting the size from the header */
++ size = frame_header[4] << 24;
++ size |= frame_header[5] << 16;
++ size |= frame_header[6] << 8;
++ size |= frame_header[7];
++
++ /* decoding the flag, currently not used */
++ flag = frame_header[8] << 8;
++ flag |= frame_header[9];
++
++ avail_inp = insize - bytes_consumed;
++
++ /* switching to the frame type */
++ switch (CHAR4(frame_header[0],
++ frame_header[1],
++ frame_header[2],
++ frame_header[3])) {
++ case CHAR4('A', 'E', 'N', 'C'):
++ case CHAR4('A', 'P', 'I', 'C'):
++ case CHAR4('C', 'O', 'M', 'M'):
++ case CHAR4('C', 'O', 'M', 'R'):
++ case CHAR4('E', 'N', 'C', 'R'):
++ case CHAR4('E', 'Q', 'U', 'A'):
++ case CHAR4('E', 'T', 'C', 'O'):
++ case CHAR4('G', 'E', 'O', 'B'):
++ case CHAR4('G', 'R', 'I', 'D'):
++ case CHAR4('I', 'P', 'L', 'S'):
++ case CHAR4('L', 'I', 'N', 'K'):
++ case CHAR4('M', 'C', 'D', 'I'):
++ case CHAR4('M', 'L', 'L', 'T'):
++ case CHAR4('O', 'W', 'N', 'E'):
++ case CHAR4('P', 'C', 'N', 'T'):
++ case CHAR4('P', 'O', 'P', 'M'):
++ case CHAR4('P', 'O', 'S', 'S'):
++ case CHAR4('R', 'B', 'U', 'F'):
++ case CHAR4('R', 'V', 'A', 'D'):
++ case CHAR4('R', 'V', 'R', 'B'):
++ case CHAR4('S', 'Y', 'L', 'T'):
++ case CHAR4('S', 'Y', 'T', 'C'):
++ case CHAR4('T', 'B', 'P', 'M'):
++ case CHAR4('T', 'C', 'O', 'P'):
++ case CHAR4('T', 'D', 'A', 'T'):
++ case CHAR4('T', 'D', 'L', 'Y'):
++ case CHAR4('T', 'F', 'L', 'T'):
++ case CHAR4('T', 'I', 'M', 'E'):
++ case CHAR4('T', 'K', 'E', 'Y'):
++ case CHAR4('T', 'L', 'A', 'N'):
++ case CHAR4('T', 'L', 'E', 'N'):
++ case CHAR4('T', 'M', 'E', 'D'):
++ case CHAR4('T', 'O', 'F', 'N'):
++ case CHAR4('T', 'O', 'L', 'Y'):
++ case CHAR4('T', 'O', 'R', 'Y'):
++ case CHAR4('T', 'P', 'E', '2'):
++ case CHAR4('T', 'P', 'E', '3'):
++ case CHAR4('T', 'P', 'E', '4'):
++ case CHAR4('T', 'P', 'O', 'S'):
++ case CHAR4('T', 'R', 'C', 'K'):
++ case CHAR4('T', 'R', 'D', 'A'):
++ case CHAR4('T', 'R', 'S', 'N'):
++ case CHAR4('T', 'R', 'S', 'O'):
++ case CHAR4('T', 'S', 'I', 'Z'):
++ case CHAR4('T', 'S', 'R', 'C'):
++ case CHAR4('T', 'S', 'S', 'E'):
++ case CHAR4('T', 'Y', 'E', 'R'):
++ case CHAR4('T', 'X', 'X', 'X'):
++ case CHAR4('U', 'F', 'I', 'D'):
++ case CHAR4('U', 'S', 'E', 'R'):
++ case CHAR4('U', 'S', 'L', 'T'):
++ case CHAR4('W', 'C', 'O', 'M'):
++ case CHAR4('W', 'C', 'O', 'P'):
++ case CHAR4('W', 'O', 'A', 'F'):
++ case CHAR4('W', 'O', 'A', 'R'):
++ case CHAR4('W', 'O', 'A', 'S'):
++ case CHAR4('W', 'O', 'R', 'S'):
++ case CHAR4('W', 'P', 'A', 'Y'):
++ case CHAR4('W', 'P', 'U', 'B'):
++ case CHAR4('W', 'X', 'X', 'X'):
++ case CHAR4('T', 'I', 'T', '3'):
++ key = "other_info : ";
++ value = &id3v2->other_info;
++ break;
++ case CHAR4('P', 'R', 'I', 'V'):
++ key = "private_frame : ";
++ value = &id3v2->private_frame;
++ break;
++ case CHAR4('T', 'A', 'L', 'B'):
++ key = "album_movie_show_title : ";
++ value = &id3v2->album_movie_show_title;
++ break;
++ case CHAR4('T', 'C', 'O', 'M'):
++ key = "composer_name : ";
++ value = &id3v2->composer_name;
++ break;
++ case CHAR4('T', 'C', 'O', 'N'):
++ key = "content_type : ";
++ value = &id3v2->content_type;
++ break;
++ case CHAR4('T', 'E', 'N', 'C'):
++ key = "encoded_by : ";
++ value = &id3v2->encoded_by;
++ break;
++ case CHAR4('T', 'E', 'X', 'T'):
++ key = "lyricist_text_writer : ";
++ value = &id3v2->lyricist_text_writer;
++ break;
++ case CHAR4('T', 'I', 'T', '1'):
++ key = "content_group_description : ";
++ value = &id3v2->content_group_description;
++ break;
++ case CHAR4('T', 'I', 'T', '2'):
++ key = "title_songname_content_description : ";
++ value = &id3v2->title_songname_content_description;
++ break;
++ case CHAR4('T', 'O', 'A', 'L'):
++ key = "original_album_movie_show_title : ";
++ value = &id3v2->original_album_movie_show_title;
++ break;
++ case CHAR4('T', 'O', 'P', 'E'):
++ key = "original_artist_performer : ";
++ value = &id3v2->original_artist_performer;
++ break;
++ case CHAR4('T', 'O', 'W', 'N'):
++ key = "file_owner_licensee : ";
++ value = &id3v2->file_owner_licensee;
++ break;
++ case CHAR4('T', 'P', 'E', '1'):
++ key = "lead_performer_soloist : ";
++ value = &id3v2->lead_performer_soloist;
++ break;
++ case CHAR4('T', 'P', 'U', 'B'):
++ key = "publisher : ";
++ value = &id3v2->publisher;
++ break;
++ default:
++ /* skipping the read 10 bytes */
++ buf_update_val = -10;
++ id3v2->header_end = 1;
++ value = 0;
++ key = 0;
++ break;
++ }
++
++ if (value != 0)
++ buf_update_val = get_info(&buffer[bytes_consumed],
++ avail_inp, size, value);
++
++ /* Negative value for buf_update_val means one of two things:
++ * 1. The default case happened and we're done with ID3V2 tag
++ * frames, or
++ * 2. get_info() returned -1 to indicate that more input is
++ * required to decode this frame of the tag.
++ */
++ if (buf_update_val >= 0)
++ display2(value,
++ umin(value->max_size, buf_update_val), key);
++
++ if (buf_update_val == -1) {
++ id3v2->bytes_consumed += bytes_consumed;
++ return 1;
++ }
++
++ bytes_consumed += buf_update_val;
++
++ /* Is there enough input left (10 bytes) to begin
++ * decoding another frame? If not, bag out temporarily
++ * now. The caller will refill our input buffer and
++ * call us again with continue_flag == 1.
++ */
++ if (insize - bytes_consumed < 10) {
++ id3v2->bytes_consumed += bytes_consumed;
++ return 0; /* not completely decoded */
++ }
++ }
++
++ id3v2->bytes_consumed += bytes_consumed;
++ if ((id3v2->bytes_consumed + 10) < id3v2->id3_v2_header.size)
++ return 0; /* not completely decoded */
++
++ return 1; /* completely decoded */
++}
++
++/*******************************************************
++ * function name : get_id3_v2_bytes
++ *
++ * description : tells the size of ID3V2 tag.
++ *
++ * arguments : input parameters
++ * buffer input buffer
++ *
++ * values returned : bytes consumed
++ ********************************************************/
++WORD32 get_id3_v2_bytes(UWORD8 *buffer)
++{
++ WORD32 size;
++
++ /* making the msb of each byte zero */
++ size = (buffer[9] & 0x7f);
++ size |= ((buffer[8] & 0x7f) << 7);
++ size |= ((buffer[7] & 0x7f) << 14);
++ size |= ((buffer[6] & 0x7f) << 21);
++
++ return (size + 10);
++}
++
++/****************************************************
++ * function name : get_info
++ *
++ * description : read the frame information from the input buffer.
++ *
++ * arguments : input parameters
++ *
++ * values returned : update value for buffer
++ ****************************************************/
++WORD32 get_info(const char *inp_buffer,
++ unsigned int avail_inp,
++ WORD32 tag_size,
++ id3_v2_frame_struct *dest)
++{
++ WORD32 j;
++
++ /* setting the tag to indicate the presence of frame */
++ dest->tag_present = 1;
++ /* If there isn't enough input available, we punt back to the top
++ * level and ask for more.
++ */
++ if (avail_inp < umin(tag_size, dest->max_size))
++ return -1;
++
++ if (dest->max_size >= tag_size) {
++ for (j = 0; j < tag_size ; j++)
++ dest->frame_data[j] = inp_buffer[j];
++ } else {
++ dest->exceeds_buffer_size = 1;
++ for (j = 0; j < dest->max_size ; j++)
++ dest->frame_data[j] = inp_buffer[j];
++ }
++ return tag_size;
++}
+--
+2.7.4
+
diff --git a/recipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch b/recipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch
new file mode 100755
index 00000000..79544711
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress/0002-cplay-Support-wave-file.patch
@@ -0,0 +1,215 @@
+From 4d4bc0a958fe254531920095fbabc241aad88113 Mon Sep 17 00:00:00 2001
+From: Shengjiu Wang <shengjiu.wang@nxp.com>
+Date: Tue, 28 Jul 2020 13:00:36 +0800
+Subject: [PATCH] cplay: Support wave file
+
+The supported format is mono/stereo, S16_LE/S32_LE, 8kHz-192kHz.
+Command is:
+cplay -c x -I PCM test.wav
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
+---
+ include/tinycompress/wave_formats.h | 51 +++++++++++++
+ src/utils/cplay.c | 107 ++++++++++++++++++++++++++++
+ 2 files changed, 158 insertions(+)
+ create mode 100644 include/tinycompress/wave_formats.h
+
+--- /dev/null
++++ b/include/tinycompress/wave_formats.h
+@@ -0,0 +1,53 @@
++#ifndef WAVE_FORMATS_H
++#define WAVE_FORMATS_H 1
++
++#include <sys/types.h>
++
++#define COMPOSE_ID(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d)<<24))
++
++#define WAV_RIFF COMPOSE_ID('R','I','F','F')
++#define WAV_RIFX COMPOSE_ID('R','I','F','X')
++#define WAV_WAVE COMPOSE_ID('W','A','V','E')
++#define WAV_FMT COMPOSE_ID('f','m','t',' ')
++#define WAV_DATA COMPOSE_ID('d','a','t','a')
++
++/* WAVE fmt block constants from Microsoft mmreg.h header */
++#define WAV_FMT_PCM 0x0001
++#define WAV_FMT_IEEE_FLOAT 0x0003
++#define WAV_FMT_DOLBY_AC3_SPDIF 0x0092
++#define WAV_FMT_EXTENSIBLE 0xfffe
++
++/* Used with WAV_FMT_EXTENSIBLE format */
++#define WAV_GUID_TAG "\x00\x00\x00\x00\x10\x00\x80\x00\x00\xAA\x00\x38\x9B\x71"
++
++typedef struct {
++ u_int magic; /* 'RIFF' */
++ u_int length; /* filelen */
++ u_int type; /* 'WAVE' */
++} WaveHeader;
++
++typedef struct {
++ u_short format; /* see WAV_FMT_* */
++ u_short channels;
++ u_int sample_fq; /* frequence of sample */
++ u_int byte_p_sec;
++ u_short byte_p_spl; /* samplesize; 1 or 2 bytes */
++ u_short bit_p_spl; /* 8, 12 or 16 bit */
++} WaveFmtBody;
++
++typedef struct {
++ WaveFmtBody format;
++ u_short ext_size;
++ u_short bit_p_spl;
++ u_int channel_mask;
++ u_short guid_format; /* WAV_FMT_* */
++ u_char guid_tag[14]; /* WAV_GUID_TAG */
++} WaveFmtExtensibleBody;
++
++typedef struct {
++ u_int type; /* 'data' */
++ u_int length; /* samplecount */
++} WaveChunkHeader;
++
++
++#endif /* FORMATS */
+--- a/src/utils/cplay.c
++++ b/src/utils/cplay.c
+@@ -1,4 +1,6 @@
+ /*
++ * Copyright 2020 NXP
++ *
+ * This file is provided under a dual BSD/LGPLv2.1 license. When using or
+ * redistributing this file, you may do so under either license.
+ *
+@@ -73,6 +75,8 @@
+ #include "tinycompress/tinycompress.h"
+ #include "tinycompress/tinymp3.h"
+ #include "tinycompress/id3_tag_decode.h"
++#include "tinycompress/wave_formats.h"
++#include <alsa/asoundlib.h>
+
+ static int verbose;
+ static const unsigned int DEFAULT_CODEC_ID = SND_AUDIOCODEC_PCM;
+@@ -166,6 +170,77 @@ static int parse_mp3_header(struct mp3_h
+ return 0;
+ }
+
++static int parse_wav_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate,
++ unsigned int *format) {
++ WaveHeader wave_header;
++ WaveChunkHeader chunk_header;
++ WaveFmtBody fmt_body;
++ int more_chunks = 1;
++
++ fread(&wave_header, sizeof(WaveHeader), 1, file);
++ if ((wave_header.magic != WAV_RIFF) ||
++ (wave_header.type != WAV_WAVE)) {
++ fprintf(stderr, "Error: it is not a riff/wave file\n");
++ return -1;
++ }
++
++ do {
++ fread(&chunk_header, sizeof(WaveChunkHeader), 1, file);
++ switch (chunk_header.type) {
++ case WAV_FMT:
++ fread(&fmt_body, sizeof(WaveFmtBody), 1, file);
++ /* If the format header is larger, skip the rest */
++ if (chunk_header.length > sizeof(WaveFmtBody))
++ fseek(file, chunk_header.length - sizeof(WaveFmtBody), SEEK_CUR);
++
++ *num_channels = fmt_body.channels;
++ *sample_rate = fmt_body.sample_fq;
++
++ switch (fmt_body.bit_p_spl) {
++ case 8:
++ *format = SND_PCM_FORMAT_U8;
++ break;
++ case 16:
++ *format = SND_PCM_FORMAT_S16_LE;
++ break;
++ case 24:
++ switch (fmt_body.byte_p_spl / fmt_body.channels) {
++ case 3:
++ *format = SND_PCM_FORMAT_S24_3LE;
++ break;
++ case 4:
++ *format = SND_PCM_FORMAT_S24_LE;
++ break;
++ default:
++ fprintf(stderr, "format error\n");
++ return -1;
++ }
++ break;
++ case 32:
++ if (fmt_body.format == WAV_FMT_PCM) {
++ *format = SND_PCM_FORMAT_S32_LE;
++ } else if (fmt_body.format == WAV_FMT_IEEE_FLOAT) {
++ *format = SND_PCM_FORMAT_FLOAT_LE;
++ }
++ break;
++ default:
++ fprintf(stderr, "format error\n");
++ return -1;
++ }
++ break;
++ case WAV_DATA:
++ /* Stop looking for chunks */
++ more_chunks = 0;
++ break;
++ default:
++ /* Unknown chunk, skip bytes */
++ fseek(file, chunk_header.length, SEEK_CUR);
++ }
++ } while (more_chunks);
++
++ return 0;
++}
++
+ static int print_time(struct compress *compress)
+ {
+ unsigned int avail;
+@@ -385,6 +460,35 @@ void get_codec_iec(FILE *file, struct co
+ codec->format = 0;
+ }
+
++void get_codec_pcm(FILE *file, struct compr_config *config,
++ struct snd_codec *codec)
++{
++ unsigned int channels, rate, format;
++
++ if (parse_wav_header(file, &channels, &rate, &format) == -1) {
++ fclose(file);
++ exit(EXIT_FAILURE);
++ }
++
++ if (channels > 2 || (format != SND_PCM_FORMAT_S16_LE && format != SND_PCM_FORMAT_S32_LE) ||
++ rate > 192000) {
++ fprintf(stderr, "unsupported wave file\n");
++ fclose(file);
++ exit(EXIT_FAILURE);
++ }
++
++ codec->id = SND_AUDIOCODEC_PCM;
++ codec->ch_in = channels;
++ codec->ch_out = channels;
++ codec->sample_rate = rate;
++ codec->bit_rate = 0;
++ codec->rate_control = 0;
++ codec->profile = SND_AUDIOPROFILE_PCM;
++ codec->level = 0;
++ codec->ch_mode = 0;
++ codec->format = format;
++}
++
+ void play_samples(char *name, unsigned int card, unsigned int device,
+ unsigned long buffer_size, unsigned int frag,
+ unsigned long codec_id)
+@@ -411,6 +515,9 @@ void play_samples(char *name, unsigned i
+ case SND_AUDIOCODEC_IEC61937:
+ get_codec_iec(file, &config, &codec);
+ break;
++ case SND_AUDIOCODEC_PCM:
++ get_codec_pcm(file, &config, &codec);
++ break;
+ default:
+ fprintf(stderr, "codec ID %ld is not supported\n", codec_id);
+ exit(EXIT_FAILURE);
diff --git a/recipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch b/recipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch
new file mode 100755
index 00000000..7d8492b7
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress/0003-cplay-Add-pause-feature.patch
@@ -0,0 +1,146 @@
+From 6f778c21ee357a662cdd758cff578a3e4b85eedf Mon Sep 17 00:00:00 2001
+From: Zhang Peng <peng.zhang_8@nxp.com>
+Date: Tue, 4 Aug 2020 15:29:29 +0800
+Subject: [PATCH] cplay: Add pause feature
+
+Add option: -p pause
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
+---
+ src/utils/cplay.c | 56 +++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 52 insertions(+), 4 deletions(-)
+
+diff --git a/src/utils/cplay.c b/src/utils/cplay.c
+index 8882f4d..8e3dcbb 100644
+--- a/src/utils/cplay.c
++++ b/src/utils/cplay.c
+@@ -117,6 +117,9 @@ static void usage(void)
+ "-f\tfragments\n\n"
+ "-v\tverbose mode\n"
+ "-h\tPrints this help list\n\n"
++ "-p\tpause\n"
++ "-m\tpause blocks\n"
++ "-n\tpause time duration\n"
+ "Example:\n"
+ "\tcplay -c 1 -d 2 test.mp3\n"
+ "\tcplay -f 5 test.mp3\n\n"
+@@ -133,7 +136,8 @@ static void usage(void)
+
+ void play_samples(char *name, unsigned int card, unsigned int device,
+ unsigned long buffer_size, unsigned int frag,
+- unsigned long codec_id);
++ unsigned long codec_id, int pause_count, int pause_block,
++ int pause_duration);
+
+ struct mp3_header {
+ uint16_t sync;
+@@ -262,12 +266,15 @@ int main(int argc, char **argv)
+ int c, i;
+ unsigned int card = 0, device = 0, frag = 0;
+ unsigned int codec_id = SND_AUDIOCODEC_MP3;
++ int pause_count = 0;
++ int pause_block = 6;
++ int pause_duration = 10;
+
+ if (argc < 2)
+ usage();
+
+ verbose = 0;
+- while ((c = getopt(argc, argv, "hvb:f:c:d:I:")) != -1) {
++ while ((c = getopt(argc, argv, "hvb:f:c:d:I:p:m:n:")) != -1) {
+ switch (c) {
+ case 'h':
+ usage();
+@@ -306,6 +313,23 @@ int main(int argc, char **argv)
+ case 'v':
+ verbose = 1;
+ break;
++ case 'p':
++ pause_count = strtol(optarg, NULL, 10);
++ break;
++ case 'm':
++ pause_block = strtol(optarg, NULL, 10);
++ if (pause_duration < 0) {
++ printf("Set wrong paramter! Set duration default 6.\n");
++ pause_duration = 6;
++ }
++ break;
++ case 'n':
++ pause_duration = strtol(optarg, NULL, 10);
++ if (pause_duration < 0) {
++ printf("Set wrong paramter! Set duration default 10.\n");
++ pause_duration = 10;
++ }
++ break;
+ default:
+ exit(EXIT_FAILURE);
+ }
+@@ -315,7 +339,7 @@ int main(int argc, char **argv)
+
+ file = argv[optind];
+
+- play_samples(file, card, device, buffer_size, frag, codec_id);
++ play_samples(file, card, device, buffer_size, frag, codec_id, pause_count, pause_block, pause_duration);
+
+ fprintf(stderr, "Finish Playing.... Close Normally\n");
+ exit(EXIT_SUCCESS);
+@@ -491,7 +515,8 @@ void get_codec_pcm(FILE *file, struct compr_config *config,
+
+ void play_samples(char *name, unsigned int card, unsigned int device,
+ unsigned long buffer_size, unsigned int frag,
+- unsigned long codec_id)
++ unsigned long codec_id, int pause_count, int pause_block,
++ int pause_duration)
+ {
+ struct compr_config config;
+ struct snd_codec codec;
+@@ -499,6 +524,7 @@ void play_samples(char *name, unsigned int card, unsigned int device,
+ FILE *file;
+ char *buffer;
+ int size, num_read, wrote;
++ int write_count = 0;
+
+ if (verbose)
+ printf("%s: entry\n", __func__);
+@@ -574,6 +600,13 @@ void play_samples(char *name, unsigned int card, unsigned int device,
+ if (verbose)
+ printf("%s: You should hear audio NOW!!!\n", __func__);
+
++ if (pause_count > 0) {
++ printf("sleep...\n");
++ compress_pause(compress);
++ sleep(pause_duration);
++ compress_resume(compress);
++ }
++
+ do {
+ num_read = fread(buffer, 1, size, file);
+ if (num_read > 0) {
+@@ -592,8 +625,23 @@ void play_samples(char *name, unsigned int card, unsigned int device,
+ printf("%s: wrote %d\n", __func__, wrote);
+ }
+ }
++ write_count++;
++ if ((pause_count > 0) && (write_count % pause_block == 0)) {
++ printf("pause...\n");
++ compress_pause(compress);
++ sleep(pause_duration);
++ printf("pause release...\n");
++ compress_resume(compress);
++ pause_count--;
++ }
+ } while (num_read > 0);
+
++ if (pause_count > 0) {
++ compress_pause(compress);
++ sleep(5);
++ compress_resume(compress);
++ }
++
+ if (verbose)
+ printf("%s: exit success\n", __func__);
+ /* issue drain if it supports */
+--
+2.17.1
+
diff --git a/recipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch b/recipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch
new file mode 100755
index 00000000..dfedd186
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress/0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch
@@ -0,0 +1,40 @@
+From a2892bf5db7520689fa9cb1d1589fa804bd9dc1a Mon Sep 17 00:00:00 2001
+From: Bing Song <bing.song@nxp.com>
+Date: Tue, 18 Aug 2020 15:26:51 +0800
+Subject: [PATCH] tinycompress: pass NULL buffer with 0 size to driver.
+
+The NULL buffer with 0 size to indecate driver drain input data with
+non-block mode. The defaul drain is block mode.
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: Bing Song <bing.song@nxp.com>
+---
+ src/lib/compress.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib/compress.c b/src/lib/compress.c
+index bba4fcf..d66df0b 100644
+--- a/src/lib/compress.c
++++ b/src/lib/compress.c
+@@ -315,7 +315,8 @@ int compress_write(struct compress *compress, const void *buf, unsigned int size
+ fds.events = POLLOUT;
+
+ /*TODO: treat auto start here first */
+- while (size) {
++ /* NULL buffer with 0 size for non-block drain */
++ do {
+ if (ioctl(compress->fd, SNDRV_COMPRESS_AVAIL, &avail))
+ return oops(compress, errno, "cannot get avail");
+
+@@ -357,7 +358,7 @@ int compress_write(struct compress *compress, const void *buf, unsigned int size
+ size -= written;
+ cbuf += written;
+ total += written;
+- }
++ } while (size);
+ return total;
+ }
+
+--
+2.17.1
+
diff --git a/recipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch b/recipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch
new file mode 100755
index 00000000..2f36551a
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress/0005-cplay-Support-aac-streams.patch
@@ -0,0 +1,251 @@
+From 2912f8573cea25fbd38ac7a8b68af2ea6a05e599 Mon Sep 17 00:00:00 2001
+From: Zhang Peng <peng.zhang_8@nxp.com>
+Date: Wed, 28 Oct 2020 19:08:53 +0800
+Subject: [PATCH] cplay: Support aac streams
+
+Support run aac format streams for cplay.
+
+Upstream-Status: Inappropriate [i.MX specific]
+Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
+---
+ src/utils/cplay.c | 210 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 210 insertions(+)
+
+diff --git a/src/utils/cplay.c b/src/utils/cplay.c
+index 8e3dcbb..2a1464a 100644
+--- a/src/utils/cplay.c
++++ b/src/utils/cplay.c
+@@ -245,6 +245,190 @@ static int parse_wav_header(FILE *file, unsigned int *num_channels, unsigned int
+ return 0;
+ }
+
++int find_adts_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate, unsigned int *format)
++{
++ int ret;
++ unsigned char buf[5];
++
++ ret = fread(buf, sizeof(buf), 1, file);
++ if (ret < 0) {
++ fprintf(stderr, "open file error: %d\n", ret);
++ return 0;
++ }
++ fseek(file, 0, SEEK_SET);
++
++ if ((buf[0] != 0xff) || (buf[1] & 0xf0 != 0xf0))
++ return 0;
++ /* mpeg id */
++ switch (buf[1]>>3 & 0x1) {
++ case 0x0:
++ *format = SND_AUDIOSTREAMFORMAT_MP4ADTS;
++ break;
++ case 0x1:
++ *format = SND_AUDIOSTREAMFORMAT_MP2ADTS;
++ break;
++ default:
++ fprintf(stderr, "can't find stream format\n");
++ break;
++ }
++ /* sample_rate */
++ switch (buf[2]>>2 & 0xf) {
++ case 0x0:
++ *sample_rate = 96000;
++ break;
++ case 0x1:
++ *sample_rate = 88200;
++ break;
++ case 0x2:
++ *sample_rate = 64000;
++ break;
++ case 0x3:
++ *sample_rate = 48000;
++ break;
++ case 0x4:
++ *sample_rate = 44100;
++ break;
++ case 0x5:
++ *sample_rate = 32000;
++ break;
++ case 0x6:
++ *sample_rate = 24000;
++ break;
++ case 0x7:
++ *sample_rate = 22050;
++ break;
++ case 0x8:
++ *sample_rate = 16000;
++ break;
++ case 0x9:
++ *sample_rate = 12000;
++ break;
++ case 0xa:
++ *sample_rate = 11025;
++ break;
++ case 0xb:
++ *sample_rate = 8000;
++ break;
++ case 0xc:
++ *sample_rate = 7350;
++ break;
++ default:
++ break;
++ }
++ /* channel */
++ switch (((buf[2]&0x1) << 2) | (buf[3]>>6)) {
++ case 1:
++ *num_channels = 1;
++ break;
++ case 2:
++ *num_channels = 2;
++ break;
++ case 3:
++ *num_channels = 3;
++ break;
++ case 4:
++ *num_channels = 4;
++ break;
++ case 5:
++ *num_channels = 5;
++ break;
++ case 6:
++ *num_channels = 6;
++ break;
++ case 7:
++ *num_channels = 7;
++ break;
++ default:
++ break;
++ }
++ return 1;
++}
++
++static const int aac_sample_rates[] = { 96000, 88200, 64000, 48000, 44100,
++ 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350
++};
++
++#define MAX_SR_NUM sizeof(aac_sample_rates)/sizeof(aac_sample_rates[0])
++
++static int get_sample_rate_from_index(int sr_index)
++{
++ if (sr_index >= 0 && sr_index < MAX_SR_NUM)
++ return aac_sample_rates[sr_index];
++
++ return 0;
++}
++
++int find_adif_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate, unsigned int *format)
++{
++ int ret;
++ unsigned char adif_id[4];
++ unsigned char adif_header[20];
++ int bitstream_type;
++ int bitrate;
++ int object_type;
++ int sr_index;
++ int skip_size = 0;
++
++ ret = fread(adif_id, sizeof(unsigned char), 4, file);
++ if (ret < 0) {
++ fprintf(stderr, "read data from file err: %d\n", ret);
++ return 0;
++ }
++ /* adif id */
++ if ((adif_id[0] != 0x41) || (adif_id[1] != 0x44) ||
++ (adif_id[2] != 0x49) || (adif_id[3] != 0x46))
++ return 0;
++
++ fread(adif_header, sizeof(unsigned char), 20, file);
++
++ /* copyright string */
++ if (adif_header[0] & 0x80)
++ skip_size = 9;
++
++ bitstream_type = adif_header[0 + skip_size] & 0x10;
++ bitrate =
++ ((unsigned int) (adif_header[0 + skip_size] & 0x0f) << 19) |
++ ((unsigned int) adif_header[1 + skip_size] << 11) |
++ ((unsigned int) adif_header[2 + skip_size] << 3) |
++ ((unsigned int) adif_header[3 + skip_size] & 0xe0);
++
++ if (bitstream_type == 0) {
++ object_type = ((adif_header[6 + skip_size] & 0x01) << 1) |
++ ((adif_header[7 + skip_size] & 0x80) >> 7);
++ sr_index = (adif_header[7 + skip_size] & 0x78) >> 3;
++ }
++ /* VBR */
++ else {
++ object_type = (adif_header[4 + skip_size] & 0x18) >> 3;
++ sr_index = ((adif_header[4 + skip_size] & 0x07) << 1) |
++ ((adif_header[5 + skip_size] & 0x80) >> 7);
++ }
++
++ /* sample rate */
++ *sample_rate = get_sample_rate_from_index(sr_index);
++
++ /* FIXME: assume channels is 2 */
++ *num_channels = 2;
++
++ *format = SND_AUDIOSTREAMFORMAT_ADIF;
++ fseek(file, 0, SEEK_SET);
++ return 1;
++}
++
++static int parse_aac_header(FILE *file, unsigned int *num_channels, unsigned int *sample_rate, unsigned int *format)
++{
++ if (find_adts_header(file, num_channels, sample_rate, format))
++ return 1;
++ else if (find_adif_header(file, num_channels, sample_rate, format))
++ return 1;
++ else {
++ fprintf(stderr, "can't find streams format\n");
++ return 0;
++ }
++
++ return 1;
++}
++
+ static int print_time(struct compress *compress)
+ {
+ unsigned int avail;
+@@ -513,6 +697,29 @@ void get_codec_pcm(FILE *file, struct compr_config *config,
+ codec->format = format;
+ }
+
++void get_codec_aac(FILE *file, struct compr_config *config,
++ struct snd_codec *codec)
++{
++ unsigned int channels, rate, format;
++
++ if (parse_aac_header(file, &channels, &rate, &format) == 0) {
++ fclose(file);
++ exit(EXIT_FAILURE);
++ };
++ fseek(file, 0, SEEK_SET);
++
++ codec->id = SND_AUDIOCODEC_AAC;
++ codec->ch_in = channels;
++ codec->ch_out = channels;
++ codec->sample_rate = rate;
++ codec->bit_rate = 0;
++ codec->rate_control = 0;
++ codec->profile = SND_AUDIOPROFILE_AAC;
++ codec->level = 0;
++ codec->ch_mode = 0;
++ codec->format = format;
++
++}
+ void play_samples(char *name, unsigned int card, unsigned int device,
+ unsigned long buffer_size, unsigned int frag,
+ unsigned long codec_id, int pause_count, int pause_block,
+@@ -544,6 +751,9 @@ void play_samples(char *name, unsigned int card, unsigned int device,
+ case SND_AUDIOCODEC_PCM:
+ get_codec_pcm(file, &config, &codec);
+ break;
++ case SND_AUDIOCODEC_AAC:
++ get_codec_aac(file, &config, &codec);
++ break;
+ default:
+ fprintf(stderr, "codec ID %ld is not supported\n", codec_id);
+ exit(EXIT_FAILURE);
+--
+2.17.1
+
diff --git a/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb b/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
new file mode 100644
index 00000000..803c38df
--- /dev/null
+++ b/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "A library to handle compressed formats like MP3 etc."
+LICENSE = "LGPL-2.1-only | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cf9105c1a2d4405cbe04bbe3367373a0"
+DEPENDS = "alsa-lib"
+
+SRC_URI = "git://git.alsa-project.org/tinycompress.git;protocol=git;branch=master \
+ file://0001-tinycompress-Add-id3-decoding.patch \
+ file://0002-cplay-Support-wave-file.patch \
+ file://0003-cplay-Add-pause-feature.patch \
+ file://0004-tinycompress-pass-NULL-buffer-with-0-size-to-driver.patch \
+ file://0005-cplay-Support-aac-streams.patch \
+"
+SRCREV = "995f2ed91045dad8c20485ab1a64727d22cd92e5"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
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-fslc.inc b/recipes-security/optee-imx/optee-client-fslc.inc
new file mode 100644
index 00000000..92f9f1d1
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client-fslc.inc
@@ -0,0 +1,42 @@
+# Copyright (C) 2017-2021 NXP
+
+SUMMARY = "OPTEE Client libs"
+HOMEPAGE = "http://www.optee.org/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
+
+SRC_URI = "file://tee-supplicant.service"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+inherit python3native systemd features_check pkgconfig
+
+DEPENDS = "util-linux-libuuid"
+
+REQUIRED_MACHINE_FEATURES = "optee"
+
+SYSTEMD_SERVICE:${PN} = "tee-supplicant.service"
+
+EXTRA_OEMAKE = " \
+ -C ${S} O=${B} \
+"
+
+do_install () {
+ oe_runmake -C ${S} install
+
+ install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0.0 ${D}${libdir}/libteec.so.1.0.0
+ ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1
+ ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so
+
+ install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0
+ ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0
+ ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so
+
+ install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant
+
+ cp -a ${B}/export/usr/include ${D}${includedir}
+
+ 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
+}
diff --git a/recipes-security/optee-imx/optee-client/0001-flags-do-not-override-CFLAGS-from-host.patch b/recipes-security/optee-imx/optee-client/0001-flags-do-not-override-CFLAGS-from-host.patch
deleted file mode 100644
index 9c6b1069..00000000
--- a/recipes-security/optee-imx/optee-client/0001-flags-do-not-override-CFLAGS-from-host.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 591461d6efe51989b4a7f4e875cdf37505eba360 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Thu, 4 Jun 2020 19:24:05 +0000
-Subject: [PATCH] flags: do not override CFLAGS from host
-
-Some build systems set CFLAGS in environment before the build, but they
-got overridden by CFLAGS immediate assignment operator.
-
-Replace immediate assignment with append directive and use override
-directive, so the former definition of CFLAGS gets passed either from
-command line or via environment is completely expanded (see [1] for
-detailed explanation of override directive and variable append).
-
-Link: [1] https://www.gnu.org/software/make/manual/html_node/Override-Directive.html
-
-Upstream-Status: Backport [https://github.com/OP-TEE/optee_client/pull/211]
-
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
-Reviewed-by: Jerome Forissier <jerome@forissier.org>
-Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
----
- flags.mk | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/flags.mk b/flags.mk
-index c2f0e1c..65192bc 100644
---- a/flags.mk
-+++ b/flags.mk
-@@ -6,7 +6,7 @@ CROSS_COMPILE ?= arm-linux-gnueabihf-
- CC ?= $(CROSS_COMPILE)gcc
- AR ?= $(CROSS_COMPILE)ar
-
--CFLAGS := -Wall -Wbad-function-cast -Wcast-align \
-+override CFLAGS += -Wall -Wbad-function-cast -Wcast-align \
- -Werror-implicit-function-declaration -Wextra \
- -Wfloat-equal -Wformat-nonliteral -Wformat-security \
- -Wformat=2 -Winit-self -Wmissing-declarations \
-@@ -16,13 +16,13 @@ CFLAGS := -Wall -Wbad-function-cast -Wcast-align \
- -Wswitch-default -Wunsafe-loop-optimizations \
- -Wwrite-strings -D_FILE_OFFSET_BITS=64
- ifeq ($(CFG_WERROR),y)
--CFLAGS += -Werror
-+override CFLAGS += -Werror
- endif
--CFLAGS += -c -fPIC
-+override CFLAGS += -c -fPIC
-
- DEBUG ?= 0
- ifeq ($(DEBUG), 1)
--CFLAGS += -DDEBUG -O0 -g
-+override CFLAGS += -DDEBUG -O0 -g
- endif
-
- RM := rm -f
---
-2.17.1
-
diff --git a/recipes-security/optee-imx/optee-client_3.7.0.imx.bb b/recipes-security/optee-imx/optee-client_3.7.0.imx.bb
deleted file mode 100644
index d83f8a9c..00000000
--- a/recipes-security/optee-imx/optee-client_3.7.0.imx.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright (C) 2017-2018 NXP
-
-SUMMARY = "OPTEE Client libs"
-HOMEPAGE = "http://www.optee.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
-
-inherit python3native systemd
-
-SRCBRANCH = "imx_5.4.24_2.1.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH}"
-
-SRCREV = "bc0ec8ce1e4dc5ae23f4737ef659338b7cd408fe"
-
-SRC_URI += "file://tee-supplicant.service \
- file://0001-flags-do-not-override-CFLAGS-from-host.patch \
-"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
-
-OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH_armv7a = "arm32"
-OPTEE_ARCH_aarch64 = "arm64"
-
-EXTRA_OEMAKE = "ARCH=${OPTEE_ARCH} O=${B}"
-
-do_install () {
- oe_runmake -C ${S} install
-
- install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
- ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
- ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
-
- install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant
-
- cp -a ${B}/export/usr/include ${D}/usr/
-
- 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
-}
-
-PACKAGES += "tee-supplicant"
-FILES_${PN} += "${libdir}/* ${includedir}/*"
-FILES_tee-supplicant += "${bindir}/tee-supplicant"
-
-INSANE_SKIP_${PN} = "ldflags dev-elf"
-INSANE_SKIP_${PN}-dev = "ldflags dev-elf"
-INSANE_SKIP_tee-supplicant = "ldflags"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
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..b404dd5b
--- /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.6.3_1.0.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/0001-optee-os-fix-gcc10-compilation-issue-and-missing-cc-.patch b/recipes-security/optee-imx/optee-os/0001-optee-os-fix-gcc10-compilation-issue-and-missing-cc-.patch
deleted file mode 100644
index ab42d340..00000000
--- a/recipes-security/optee-imx/optee-os/0001-optee-os-fix-gcc10-compilation-issue-and-missing-cc-.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 109ed8d9a5351c7bb0fdc0953c7e7fb6cedcad9c Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Sat, 30 May 2020 22:00:59 +0000
-Subject: [PATCH] optee-os: fix gcc10 compilation issue and missing cc-options
-
-Backport PR 3891 from upstream to imx fork, which addressed compilation
-failure when GCC10 is used.
-
-Additional changes ported fixed cc-options macro, which allows to query
-compiler used if the desired option exists before it could be set. This
-solves also the build issues when GCC9 is used to build this component.
-
-Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/3891]
-
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
----
- core/arch/arm/arm.mk | 22 +++++++++++++++++-----
- core/core.mk | 5 +----
- mk/cc-option.mk | 9 +++++++++
- mk/gcc.mk | 2 +-
- ta/mk/ta_dev_kit.mk | 3 +++
- ta/ta.mk | 1 +
- 6 files changed, 32 insertions(+), 10 deletions(-)
- create mode 100644 mk/cc-option.mk
-
-diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk
-index 5defb327..fffa491a 100644
---- a/core/arch/arm/arm.mk
-+++ b/core/arch/arm/arm.mk
-@@ -1,3 +1,16 @@
-+# Setup compiler for the core module
-+ifeq ($(CFG_ARM64_core),y)
-+arch-bits-core := 64
-+else
-+arch-bits-core := 32
-+endif
-+CROSS_COMPILE_core := $(CROSS_COMPILE$(arch-bits-core))
-+COMPILER_core := $(COMPILER)
-+include mk/$(COMPILER_core).mk
-+
-+# Defines the cc-option macro using the compiler set for the core module
-+include mk/cc-option.mk
-+
- CFG_LTC_OPTEE_THREAD ?= y
- # Size of emulated TrustZone protected SRAM, 448 kB.
- # Only applicable when paging is enabled.
-@@ -106,7 +119,7 @@ arm32-platform-aflags-no-hard-float ?=
-
- arm64-platform-cflags-no-hard-float ?= -mgeneral-regs-only
- arm64-platform-cflags-hard-float ?=
--arm64-platform-cflags-generic ?= -mstrict-align
-+arm64-platform-cflags-generic := -mstrict-align $(call cc-option,-mno-outline-atomics,)
-
- ifeq ($(DEBUG),1)
- # For backwards compatibility
-@@ -135,14 +148,12 @@ core-platform-aflags += $(platform-aflags-generic)
- core-platform-aflags += $(platform-aflags-debug-info)
-
- ifeq ($(CFG_ARM64_core),y)
--arch-bits-core := 64
- core-platform-cppflags += $(arm64-platform-cppflags)
- core-platform-cflags += $(arm64-platform-cflags)
- core-platform-cflags += $(arm64-platform-cflags-generic)
- core-platform-cflags += $(arm64-platform-cflags-no-hard-float)
- core-platform-aflags += $(arm64-platform-aflags)
- else
--arch-bits-core := 32
- core-platform-cppflags += $(arm32-platform-cppflags)
- core-platform-cflags += $(arm32-platform-cflags)
- core-platform-cflags += $(arm32-platform-cflags-no-hard-float)
-@@ -241,8 +252,9 @@ ta-mk-file-export-add-ta_arm64 += COMPILER ?= gcc_nl_
- ta-mk-file-export-add-ta_arm64 += COMPILER_ta_arm64 ?= $$(COMPILER)_nl_
- endif
-
--# Set cross compiler prefix for each submodule
--$(foreach sm, core $(ta-targets), $(eval CROSS_COMPILE_$(sm) ?= $(CROSS_COMPILE$(arch-bits-$(sm)))))
-+# Set cross compiler prefix for each TA target
-+$(foreach sm, $(ta-targets), $(eval CROSS_COMPILE_$(sm) ?= $(CROSS_COMPILE$(arch-bits-$(sm)))))
-+
-
- arm32-sysreg-txt = core/arch/arm/kernel/arm32_sysreg.txt
- arm32-sysregs-$(arm32-sysreg-txt)-h := arm32_sysreg.h
-diff --git a/core/core.mk b/core/core.mk
-index a51cf847..28c7235c 100644
---- a/core/core.mk
-+++ b/core/core.mk
-@@ -8,6 +8,7 @@ arch-dir := core/arch/$(ARCH)
- platform-dir := $(arch-dir)/plat-$(PLATFORM)
- include $(platform-dir)/conf.mk
- include mk/config.mk
-+# $(ARCH).mk also sets the compiler for the core module
- include core/arch/$(ARCH)/$(ARCH).mk
-
- PLATFORM_$(PLATFORM) := y
-@@ -16,10 +17,6 @@ PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) := y
- $(eval $(call cfg-depends-all,CFG_PAGED_USER_TA,CFG_WITH_PAGER CFG_WITH_USER_TA))
- include core/crypto.mk
-
--# Setup compiler for this sub module
--COMPILER_$(sm) ?= $(COMPILER)
--include mk/$(COMPILER_$(sm)).mk
--
- cppflags$(sm) += -D__KERNEL__
-
- cppflags$(sm) += -Icore/include
-diff --git a/mk/cc-option.mk b/mk/cc-option.mk
-new file mode 100644
-index 00000000..4699fbcc
---- /dev/null
-+++ b/mk/cc-option.mk
-@@ -0,0 +1,9 @@
-+_cc-option-supported = $(if $(shell $(CC$(sm)) $(1) -c -x c /dev/null -o /dev/null 2>/dev/null >/dev/null || echo "Not supported"),,1)
-+_cc-opt-cached-var-name = $(subst =,~,$(strip cached-cc-option-$(1)-$(subst $(empty) $(empty),,$(CC$(sm)))))
-+define _cc-option
-+$(eval _var_name := $(call _cc-opt-cached-var-name,$(1)))
-+$(eval $(_var_name) := $(if $(filter $(origin $(_var_name)),undefined),$(call _cc-option-supported,$(1)),$($(_var_name))))
-+$(if $($(_var_name)),$(1),$(2))
-+endef
-+cc-option = $(strip $(call _cc-option,$(1),$(2)))
-+
-diff --git a/mk/gcc.mk b/mk/gcc.mk
-index 1f2c5990..c53a23b1 100644
---- a/mk/gcc.mk
-+++ b/mk/gcc.mk
-@@ -12,7 +12,7 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \
- -print-file-name=include 2> /dev/null)
-
- # Get location of libgcc from gcc
--libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) $(comp-cflags$(sm)) \
-+libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
- -print-libgcc-file-name 2> /dev/null)
-
- # Define these to something to discover accidental use
-diff --git a/ta/mk/ta_dev_kit.mk b/ta/mk/ta_dev_kit.mk
-index 04a4f94b..e4b02ea7 100644
---- a/ta/mk/ta_dev_kit.mk
-+++ b/ta/mk/ta_dev_kit.mk
-@@ -92,6 +92,9 @@ clean:
- @$(cmd-echo-silent) ' CLEAN $(O)'
- ${q}if [ -d "$(O)" ]; then $(RMDIR) $(O); fi
-
-+include $(ta-dev-kit-dir$(sm))/mk/$(COMPILER_$(sm)).mk
-+include $(ta-dev-kit-dir$(sm))/mk/cc-option.mk
-+
- subdirs = .
- include $(ta-dev-kit-dir$(sm))/mk/subdir.mk
-
-diff --git a/ta/ta.mk b/ta/ta.mk
-index dde7be67..ca17054a 100644
---- a/ta/ta.mk
-+++ b/ta/ta.mk
-@@ -157,6 +157,7 @@ $(foreach f, $(libfiles), \
-
- # Copy .mk files
- ta-mkfiles = mk/compile.mk mk/subdir.mk mk/gcc.mk mk/clang.mk mk/cleandirs.mk \
-+ mk/cc-option.mk \
- ta/arch/$(ARCH)/link.mk ta/arch/$(ARCH)/link_shlib.mk \
- ta/mk/ta_dev_kit.mk
-
---
-2.17.1
-
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.7.0.imx.bb b/recipes-security/optee-imx/optee-os_3.7.0.imx.bb
deleted file mode 100644
index c9cdd39d..00000000
--- a/recipes-security/optee-imx/optee-os_3.7.0.imx.bb
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright (C) 2017-2020 NXP
-
-SUMMARY = "OPTEE OS"
-DESCRIPTION = "OPTEE OS"
-HOMEPAGE = "http://www.optee.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
-
-inherit deploy python3native autotools
-DEPENDS = "python3-pycrypto-native python3-pyelftools-native u-boot-mkimage-native"
-
-SRCBRANCH = "imx_5.4.24_2.1.0"
-
-SRC_URI = "\
- git://source.codeaurora.org/external/imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-optee-os-fix-gcc10-compilation-issue-and-missing-cc-.patch \
-"
-
-SRCREV = "7a49776de59265500f10a247125429fde1555ac1"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
-
-# The platform flavor corresponds to the Yocto machine without the leading 'i'.
-PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}"
-PLATFORM_FLAVOR_imx6qpdlsolox = "mx6qsabresd"
-PLATFORM_FLAVOR_imx6ul7d = "mx6ulevk"
-PLATFORM_FLAVOR_imx6ull14x14evk = "mx6ullevk"
-PLATFORM_FLAVOR_imx6ull9x9evk = "mx6ullevk"
-PLATFORM_FLAVOR_imx6ulz-14x14-evk = "mx6ulzevk"
-PLATFORM_FLAVOR_mx8mq = "mx8mqevk"
-PLATFORM_FLAVOR_mx8mm = "mx8mmevk"
-PLATFORM_FLAVOR_mx8mn = "mx8mnevk"
-PLATFORM_FLAVOR_mx8mp = "mx8mpevk"
-PLATFORM_FLAVOR_mx8qm = "mx8qmmek"
-PLATFORM_FLAVOR_mx8qxp = "mx8qxpmek"
-PLATFORM_FLAVOR_mx8dx = "mx8dxmek"
-PLATFORM_FLAVOR_mx8dxl = "mx8dxlevk"
-
-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} \
- NOWERROR=1 \
- LDFLAGS= \
- O=${B} \
-"
-
-do_compile () {
- unset LDFLAGS
- export CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_HOST}"
- oe_runmake -C ${S} all CFG_TEE_TA_LOG_LEVEL=0 CFG_TEE_CORE_LOG_LEVEL=0
-}
-
-
-do_deploy () {
- install -d ${DEPLOYDIR}
- ${TARGET_PREFIX}objcopy -O binary ${B}/core/tee.elf ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin
-
- if [ "${OPTEE_ARCH}" != "arm64" ]; then
- IMX_LOAD_ADDR=`cat ${B}/core/tee-init_load_addr.txt` && \
- 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
-
- cd ${DEPLOYDIR}
- ln -sf tee.${PLATFORM_FLAVOR}.bin tee.bin
- cd -
-}
-
-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}/usr/include/optee/export-user_ta_${OPTEE_ARCH}/
-
- for f in ${B}/export-ta_${OPTEE_ARCH}/*; do
- cp -aR $f ${D}/usr/include/optee/export-user_ta_${OPTEE_ARCH}/
- done
-}
-
-addtask deploy after do_compile before do_install
-
-
-FILES_${PN} = "${nonarch_base_libdir}/firmware/"
-FILES_${PN}-staticdev = "/usr/include/optee/"
-RDEPENDS_${PN}-dev += "${PN}-staticdev"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(imx)"
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..ad6c6b40
--- /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.6.3_1.0.0"
+SRCREV = "e0a3e77735941e6057a1994a576b83a93ea0bdb9"
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/0001-use-python3-instead-of-python.patch b/recipes-security/optee-imx/optee-test/0001-use-python3-instead-of-python.patch
deleted file mode 100644
index 20f190af..00000000
--- a/recipes-security/optee-imx/optee-test/0001-use-python3-instead-of-python.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 6271160639002a2580d80b75b5397a96d56329f2 Mon Sep 17 00:00:00 2001
-From: Scott Branden <scott.branden@broadcom.com>
-Date: Fri, 27 Dec 2019 12:54:28 -0800
-Subject: [PATCH] use python3 instead of python
-
-use python3 instead of python as python2 is EOL January 2020.
-
-Signed-off-by: Scott Branden <scott.branden@broadcom.com>
-Reviewed-by: Jerome Forissier <jerome@forissier.org>
-Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU, CFG_GCM_NIST_VECTORS=y)
-Upstream-Status: Backport from v3.8.0
----
- scripts/file_to_c.py | 4 ++--
- scripts/rsp_to_gcm_test.py | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/file_to_c.py b/scripts/file_to_c.py
-index ae16f52..b4ce2a2 100755
---- a/scripts/file_to_c.py
-+++ b/scripts/file_to_c.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # SPDX-License-Identifier: BSD-2-Clause
- #
- # Copyright (c) 2018, Linaro Limited
-@@ -29,7 +29,7 @@ def main():
-
- f.write("const uint8_t " + args.name + "[] = {\n")
- i = 0
-- for x in array.array("B", inf.read()):
-+ for x in array.array("B", map(ord, (inf.read()))):
- f.write("0x" + '{0:02x}'.format(x) + ",")
- i = i + 1
- if i % 8 == 0:
-diff --git a/scripts/rsp_to_gcm_test.py b/scripts/rsp_to_gcm_test.py
-index 0543541..e4418be 100755
---- a/scripts/rsp_to_gcm_test.py
-+++ b/scripts/rsp_to_gcm_test.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- modes = {'encrypt': 0, 'decrypt': 1}
-
---
-2.7.4
-
diff --git a/recipes-security/optee-imx/optee-test/0003-sock_server-fix-compilation-against-musl-sys-errno.h.patch b/recipes-security/optee-imx/optee-test/0003-sock_server-fix-compilation-against-musl-sys-errno.h.patch
deleted file mode 100644
index d32a8eb7..00000000
--- a/recipes-security/optee-imx/optee-test/0003-sock_server-fix-compilation-against-musl-sys-errno.h.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From dc8cd1c43edeedb9f7335020537c4ffdddd683f8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
-Date: Thu, 7 Feb 2019 01:26:53 +0000
-Subject: [PATCH 1/3] sock_server: fix compilation against musl (sys/errno.h)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compiling against musl-libc fails with the following error:
-
-| In file included from .../host/xtest/sock_server.c:24:
-| .../usr/include/sys/errno.h:1:2: error: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Werror=cpp]
-| #warning redirecting incorrect #include <sys/errno.h> to <errno.h>
-| ^~~~~~~
-
-Just remove the needless include.
-
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
-Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
----
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Upstream-Status: Backport [3.5.0]
- host/xtest/sock_server.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/host/xtest/sock_server.c b/host/xtest/sock_server.c
-index 0d2ff06..1ba73d6 100644
---- a/host/xtest/sock_server.c
-+++ b/host/xtest/sock_server.c
-@@ -21,7 +21,6 @@
- #include <netdb.h>
- #include <netinet/in.h>
- #include <poll.h>
--#include <sys/errno.h>
- #include <sys/socket.h>
- #include <unistd.h>
-
---
-2.23.0.rc1
-
diff --git a/recipes-security/optee-imx/optee-test/0004-build-ignore-declaration-after-statement-warnings.patch b/recipes-security/optee-imx/optee-test/0004-build-ignore-declaration-after-statement-warnings.patch
deleted file mode 100644
index ed45df60..00000000
--- a/recipes-security/optee-imx/optee-test/0004-build-ignore-declaration-after-statement-warnings.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 1401b89684ee81bf0b3d3dea06e2926b24ba3f97 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
-Date: Thu, 7 Feb 2019 01:29:08 +0000
-Subject: [PATCH 2/3] build: ignore declaration-after-statement warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| Makefile:37: recipe for target 'xtest' failed
-| make: *** [xtest] Error 2
-| make: *** Waiting for unfinished jobs....
-| arith_taf.c: In function 'get_handle':
-| arith_taf.c:56:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
-| int h = handle_get(&hdb, ptr);
-| ^~~
-| arith_taf.c: In function 'ta_entry_arith_new_var':
-| arith_taf.c:82:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
-| size_t len = TEE_BigIntSizeInU32(params[0].value.a);
-| ^~~~~~
-| arith_taf.c: In function 'ta_entry_arith_new_fmm_var':
-| arith_taf.c:129:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
-| size_t len = TEE_BigIntFMMSizeInU32(params[0].value.a);
-| ^~~~~~
-| arith_taf.c: In function 'ta_entry_arith_free_handle':
-| arith_taf.c:150:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
-| void *ptr = put_handle(params[0].value.a & ~HT_MASK);
-| ^~~~
-| arith_taf.c: In function 'ta_entry_arith_from_octet_string':
-| arith_taf.c:165:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
-| TEE_BigInt *big_int = lookup_handle(HT_BIGINT, params[0].value.a);
-| ^~~~~~~~~~
-| arith_taf.c: In function 'ta_entry_arith_from_s32':
-| arith_taf.c:181:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
-| TEE_BigInt *big_int = lookup_handle(HT_BIGINT, params[0].value.a);
-| ^~~~~~~~~~
-
-etc.
-
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
-Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
----
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Upstream-Status: Backport [3.5.0]
- host/xtest/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/host/xtest/Makefile b/host/xtest/Makefile
-index f4291e0..e97e555 100644
---- a/host/xtest/Makefile
-+++ b/host/xtest/Makefile
-@@ -154,6 +154,7 @@ CFLAGS += -Wall -Wcast-align -Werror \
- -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
- -Wshadow -Wstrict-prototypes -Wswitch-default \
- -Wwrite-strings \
-+ -Wno-declaration-after-statement \
- -Wno-missing-field-initializers -Wno-format-zero-length
- endif
-
---
-2.23.0.rc1
-
diff --git a/recipes-security/optee-imx/optee-test/0005-benchmark_1000-fix-compilation-against-musl-uint.patch b/recipes-security/optee-imx/optee-test/0005-benchmark_1000-fix-compilation-against-musl-uint.patch
deleted file mode 100644
index 58734aa4..00000000
--- a/recipes-security/optee-imx/optee-test/0005-benchmark_1000-fix-compilation-against-musl-uint.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From f74e9f339a8e8cb97fc8ea03bef51d7e3862a60a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
-Date: Thu, 7 Feb 2019 01:31:27 +0000
-Subject: [PATCH 3/3] benchmark_1000: fix compilation against musl (uint)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compiling against musl-libc fails with the following error:
-
-| .../host/xtest/benchmark_1000.c: In function 'show_test_result':
-| .../host/xtest/benchmark_1000.c:102:2: error: unknown type name 'uint'; did you mean 'int'?
-| uint i;
-| ^~~~
-| int
-| ...host/xtest/benchmark_1000.c:108:16: error: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Werror=sign-compare]
-| for (i = 0; i < size; i++) {
-| ^
-
-etc.
-
-Convert to using more standard size_t
-
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
-Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
----
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Upstream-Status: Backport [3.5.0]
- host/xtest/benchmark_1000.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/host/xtest/benchmark_1000.c b/host/xtest/benchmark_1000.c
-index bf92fa0..1caf420 100644
---- a/host/xtest/benchmark_1000.c
-+++ b/host/xtest/benchmark_1000.c
-@@ -99,7 +99,7 @@ static TEEC_Result run_chunk_access_test(enum storage_benchmark_cmd cmd,
-
- static void show_test_result(struct test_record records[], size_t size)
- {
-- uint i;
-+ size_t i;
-
- printf("-----------------+---------------+----------------\n");
- printf(" Data Size (B) \t | Time (s)\t | Speed (kB/s)\t \n");
-@@ -119,7 +119,7 @@ static void chunk_test(ADBG_Case_t *c, enum storage_benchmark_cmd cmd)
- {
- uint32_t chunk_size = DEFAULT_CHUNK_SIZE;
- struct test_record records[ARRAY_SIZE(data_size_table) - 1];
-- uint i;
-+ size_t i;
-
- for (i = 0; data_size_table[i]; i++) {
- ADBG_EXPECT_TEEC_SUCCESS(c,
---
-2.23.0.rc1
-
diff --git a/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch b/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch
deleted file mode 100644
index 1a5c4044..00000000
--- a/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 7d566ed585d1e13f444d48fde5705b5be54de4af Mon Sep 17 00:00:00 2001
-From: Ricardo Salveti <ricardo@foundries.io>
-Date: Wed, 26 Jun 2019 17:32:11 -0300
-Subject: [PATCH] regression_8100: use null terminated strings with file_to_c
-
-GCC 9 is more strict with string manipulation, causing the build to
-fail as the string data converted via file_to_c is not null terminated,
-as described by the following build error:
-
-regression_8100.c:100:29: error: '%*s' directive argument is not a
-nul-terminated string [-Werror=format-overflow=]
-tlen = myasprintf(&trust, "%*s", (int)sizeof(regression_8100_ca_crt),
- ^~~
- regression_8100_ca_crt);
- ~~~~~~~~~~~~~~~~~~~~~~
-
-Change file_to_c to terminate the string after conversion and update the
-string size to remove the null terminated byte. Also update
-regression_8100 to use the size variable defined via file_to_c instead
-of manually calling sizeof.
-
-Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
----
-Signed-off-by: André Draszik <andre.draszik@jci.com>
-Upstream-Status: Backport [3.6.0]
- host/xtest/regression_8100.c | 10 +++++-----
- scripts/file_to_c.py | 4 ++--
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/host/xtest/regression_8100.c b/host/xtest/regression_8100.c
-index 04d62d9..13780e1 100644
---- a/host/xtest/regression_8100.c
-+++ b/host/xtest/regression_8100.c
-@@ -91,13 +91,13 @@ static void test_8102(ADBG_Case_t *c)
- return;
-
- clen = myasprintf(&chain, "%*s\n%*s",
-- (int)sizeof(regression_8100_my_crt),
-+ (int)regression_8100_my_crt_size,
- regression_8100_my_crt,
-- (int)sizeof(regression_8100_mid_crt),
-+ (int)regression_8100_mid_crt_size,
- regression_8100_mid_crt);
- if (!ADBG_EXPECT_COMPARE_SIGNED(c, clen, !=, -1))
- goto out;
-- tlen = myasprintf(&trust, "%*s", (int)sizeof(regression_8100_ca_crt),
-+ tlen = myasprintf(&trust, "%*s", (int)regression_8100_ca_crt_size,
- regression_8100_ca_crt);
- if (!ADBG_EXPECT_COMPARE_SIGNED(c, tlen, !=, -1))
- goto out;
-@@ -282,7 +282,7 @@ static void test_8103(ADBG_Case_t *c)
- NULL, &ret_orig)))
- return;
-
-- clen = myasprintf(&csr, "%*s", (int)sizeof(regression_8100_my_csr),
-+ clen = myasprintf(&csr, "%*s", (int)regression_8100_my_csr_size,
- regression_8100_my_csr);
- if (!ADBG_EXPECT_COMPARE_SIGNED(c, clen, >=, 0))
- goto out;
-@@ -300,7 +300,7 @@ static void test_8103(ADBG_Case_t *c)
- if (!ADBG_EXPECT_TEEC_SUCCESS(c, res))
- goto out;
-
-- myasprintf(&ca, "%*s", (int)sizeof(regression_8100_ca_crt),
-+ myasprintf(&ca, "%*s", (int)regression_8100_ca_crt_size,
- regression_8100_ca_crt);
- if (!ADBG_EXPECT_NOT_NULL(c, ca))
- goto out;
-diff --git a/scripts/file_to_c.py b/scripts/file_to_c.py
-index 83a9832..ae16f52 100755
---- a/scripts/file_to_c.py
-+++ b/scripts/file_to_c.py
-@@ -37,9 +37,9 @@ def main():
- else:
- f.write(" ")
-
-- f.write("};\n")
-+ f.write("'\\0'};\n")
- f.write("const size_t " + args.name + "_size = sizeof(" +
-- args.name + ");\n")
-+ args.name + ") - 1;\n")
-
- f.close()
- inf.close()
---
-2.23.0.rc1
-
diff --git a/recipes-security/optee-imx/optee-test_3.7.0.imx.bb b/recipes-security/optee-imx/optee-test_3.7.0.imx.bb
deleted file mode 100644
index e0dfdbe2..00000000
--- a/recipes-security/optee-imx/optee-test_3.7.0.imx.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright (C) 2017-2018 NXP
-
-SUMMARY = "OPTEE test"
-HOMEPAGE = "http://www.optee.org/"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
-
-DEPENDS = "optee-os optee-client python3-pycrypto-native openssl"
-inherit python3native
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRCBRANCH = "imx_5.4.24_2.1.0"
-
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-optee-test.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-use-python3-instead-of-python.patch \
-"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-SRCREV = "227d6f4c40eaa6f84fe049b9e48c7b27ad7fab08"
-
-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/"
-
-EXTRA_OEMAKE = " \
- TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
- ARCH=${OPTEE_ARCH} \
- OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}/usr \
- CROSS_COMPILE_HOST=${HOST_PREFIX} \
- CROSS_COMPILE_TA=${HOST_PREFIX} \
- CROSS_COMPILE=${HOST_PREFIX} \
- OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}/ \
- -C ${S} O=${B} \
-"
-do_compile() {
- cd ${S}
- # Top level makefile doesn't seem to handle parallel make gracefully
- oe_runmake xtest
- oe_runmake ta
-}
-do_compile[cleandirs] = "${B}"
-
-do_install () {
- install -d ${D}/usr/bin
- install ${B}/xtest/xtest ${D}/usr/bin/
-
- install -d ${D}/lib/optee_armtz
- find ${B}/ta -name '*.ta' | while read name; do
- install -m 444 $name ${D}/lib/optee_armtz/
- done
-}
-
-FILES_${PN} = "/usr/bin/ /lib*/optee_armtz/"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
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..1717a713
--- /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.6.3_1.0.0"
+SRCREV = "95c49d950f50fa774e4530d19a967079b3b61279"
+
+COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb
new file mode 100644
index 00000000..94123e43
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-client-qoriq_3.13.0.bb
@@ -0,0 +1,5 @@
+require optee-client.nxp.inc
+
+PV:append = "+git${SRCPV}"
+
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee-qoriq/optee-client.nxp.inc b/recipes-security/optee-qoriq/optee-client.nxp.inc
new file mode 100644
index 00000000..a7d34497
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-client.nxp.inc
@@ -0,0 +1,53 @@
+# Copyright 2020-2021 NXP
+
+SUMMARY = "OPTEE Client libs"
+HOMEPAGE = "http://www.optee.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
+
+inherit python3native systemd
+
+SRC_URI = "git://github.com/nxp-qoriq/optee_client.git;protocol=https;nobranch=1"
+SRCREV = "7c9c423d00e96bf51debd5fe10fd70dce83be5cc"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
+SRC_URI += "file://tee-supplicant.service"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEE_ARCH ?= "arm32"
+OPTEE_ARCH:armv7a = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
+
+EXTRA_OEMAKE = "ARCH=${OPTEE_ARCH} O=${B}"
+
+do_install () {
+ oe_runmake -C ${S} install
+
+ install -d ${D}${libdir}/
+ install -p -m0644 ${B}/export${libdir}/libteec.so.1.0.0 ${D}${libdir}/
+ ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1.0
+ ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1
+ ln -sf libteec.so.1 ${D}${libdir}/libteec.so
+
+ install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0
+ ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1
+ ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0
+ ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so
+
+ install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant
+
+ cp -a ${B}/export/usr/include ${D}${includedir}
+
+ install -d ${D}${systemd_system_unitdir}/
+ install -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/
+ sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${D}${systemd_system_unitdir}/tee-supplicant.service
+}
+
+SYSTEMD_SERVICE:${PN} = "tee-supplicant.service"
+
+FILES:${PN} += "${libdir}/* ${includedir}/*"
+
+INSANE_SKIP:${PN} = "ldflags dev-elf"
+INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
diff --git a/recipes-security/optee-qoriq/optee-client/tee-supplicant.service b/recipes-security/optee-qoriq/optee-client/tee-supplicant.service
new file mode 100644
index 00000000..0e2b4f6b
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-client/tee-supplicant.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=TEE Supplicant
+
+[Service]
+User=root
+EnvironmentFile=-/etc/default/tee-supplicant
+ExecStart=/usr/bin/tee-supplicant $OPTARGS
+
+[Install]
+WantedBy=basic.target
+
diff --git a/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb
new file mode 100644
index 00000000..3c3652d3
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-os-qoriq_3.13.0.bb
@@ -0,0 +1,28 @@
+require optee-os.nxp.inc
+
+PV:append = "+git${SRCPV}"
+
+PLATFORM_FLAVOR:ls1088ardb-pb = "ls1088ardb"
+PLATFORM_FLAVOR:ls1046afrwy = "ls1046ardb"
+PLATFORM_FLAVOR:lx2162aqds = "lx2160aqds"
+
+EXTRA_OEMAKE += " \
+ PLATFORM=ls \
+ CFG_ARM64_core=y \
+"
+
+do_compile:append:ls1012afrwy() {
+ mv ${B}/core/tee-raw.bin ${B}/core/tee_512mb.bin
+ oe_runmake CFG_DRAM0_SIZE=0x40000000 all
+}
+
+do_install:append:qoriq() {
+ install -m 644 ${B}/core/tee-raw.bin ${D}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin
+}
+
+do_install:append:ls1012afrwy() {
+ install -m 644 ${B}/core/tee_512mb.bin ${D}${nonarch_base_libdir}/firmware/tee_${MACHINE}_512mb.bin
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee-qoriq/optee-os.nxp.inc b/recipes-security/optee-qoriq/optee-os.nxp.inc
new file mode 100644
index 00000000..5b90b937
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-os.nxp.inc
@@ -0,0 +1,75 @@
+# Copyright 2020-2021 NXP
+
+SUMMARY = "OPTEE OS"
+DESCRIPTION = "OPTEE OS"
+HOMEPAGE = "http://www.optee.org/"
+LICENSE = "BSD"
+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://github.com/nxp-qoriq/optee_os.git;protocol=https;nobranch=1"
+SRCREV = "735d98806dc26fbeeecad7f5e60ffeab8170c67e"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
+
+PLATFORM_FLAVOR ?= "${MACHINE}"
+
+OPTEE_ARCH ?= "arm64"
+OPTEE_ARCH:armv7a = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
+
+OPTEE_CORE_LOG_LEVEL ?= "1"
+OPTEE_TA_LOG_LEVEL ?= "0"
+
+# 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 = " \
+ -C ${S} O=${B} \
+ PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \
+ CROSS_COMPILE=${HOST_PREFIX} \
+ CROSS_COMPILE64=${HOST_PREFIX} \
+ CFG_WERROR=y \
+ CFG_TEE_CORE_LOG_LEVEL=${OPTEE_CORE_LOG_LEVEL} \
+ CFG_TEE_TA_LOG_LEVEL=${OPTEE_TA_LOG_LEVEL} \
+"
+
+do_compile() {
+ unset LDFLAGS
+ export CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_HOST}"
+ oe_runmake all
+}
+
+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/
+
+ for f in ${B}/export-ta_${OPTEE_ARCH}/*; do
+ cp -aR $f ${D}${includedir}/optee/export-user_ta/
+ done
+
+ install -d ${D}${nonarch_base_libdir}/optee_armtz
+ find ${B}/export-ta_${OPTEE_ARCH}/ta -name '*.ta' | while read name; do
+ install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/
+ done
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/optee
+ install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
+}
+addtask deploy before do_build after do_install
+
+FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/"
+FILES:${PN}-staticdev = "/usr/include/optee/"
+RDEPENDS:${PN}-dev += "${PN}-staticdev"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb b/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb
new file mode 100644
index 00000000..69ef73d3
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-test-qoriq_3.13.0.bb
@@ -0,0 +1,13 @@
+require optee-test.nxp.inc
+
+PV:append = "+git${SRCPV}"
+
+DEPENDS += "optee-client-qoriq optee-os-qoriq"
+
+TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+
+EXTRA_OEMAKE += " \
+ TEEC_EXPORT=${TEEC_EXPORT} \
+"
+
+COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee-qoriq/optee-test.nxp.inc b/recipes-security/optee-qoriq/optee-test.nxp.inc
new file mode 100644
index 00000000..14a42ac5
--- /dev/null
+++ b/recipes-security/optee-qoriq/optee-test.nxp.inc
@@ -0,0 +1,61 @@
+# Copyright 2020-2021 NXP
+
+SUMMARY = "OPTEE test"
+HOMEPAGE = "http://www.optee.org/"
+
+LICENSE = "BSD & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
+
+DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native openssl"
+inherit python3native cmake
+
+SRC_URI = "git://github.com/nxp-qoriq/optee_test.git;protocol=https;nobranch=1"
+SRCREV = "69722dab8c1f2683e30e0ee3b536053367e37aad"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+TA_DEV_KIT_DIR ?= "${STAGING_INCDIR}/optee/export-user_ta"
+OPTEE_CLIENT_EXPORT ?= "${STAGING_DIR_HOST}${prefix}"
+
+EXTRA_OEMAKE = " \
+ TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+ OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+ CROSS_COMPILE_HOST=${HOST_PREFIX} \
+ CROSS_COMPILE_TA=${HOST_PREFIX} \
+ OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}/ \
+ -C ${S} O=${B} \
+"
+
+EXTRA_OECMAKE = " \
+ -DOPTEE_TEST_SDK=${TA_DEV_KIT_DIR} \
+"
+
+do_compile() {
+ export CXXFLAGS="${CXXFLAGS} --sysroot=${STAGING_DIR_HOST}"
+ oe_runmake xtest
+ oe_runmake ta
+ oe_runmake test_plugin
+}
+
+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/
+ find ${B}/supp_plugin -name '*.plugin' | while read name; do
+ install -m 755 $name ${D}${libdir}/tee-supplicant/plugins/
+ done
+}
+
+FILES:${PN} += "${nonarch_base_libdir} ${libdir}/tee-supplicant/plugins/"
+
+DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized -Wno-deprecated-declarations"
+FULL_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized -Wno-deprecated-declarations"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee/optee-client-qoriq_3.8.0.bb b/recipes-security/optee/optee-client-qoriq_3.8.0.bb
deleted file mode 100644
index 0cd9eeab..00000000
--- a/recipes-security/optee/optee-client-qoriq_3.8.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "OPTEE Client"
-HOMEPAGE = "https://github.com/OP-TEE/optee_client"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
-
-inherit python3native systemd
-
-SRC_URI = "git://github.com/OP-TEE/optee_client;nobranch=1"
-SRCREV = "be4fa2e36f717f03ca46e574aa66f697a897d090"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "ARCH=arm64"
-
-do_install() {
- oe_runmake install
-
- install -D -p -m0755 ${S}/out/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant
- install -D -p -m0755 ${S}/out/export/usr/lib/libteec.so.1.0.0 ${D}${libdir}/libteec.so.1.0.0
- ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1.0
- ln -sf libteec.so.1.0.0 ${D}${libdir}/libteec.so.1
- ln -sf libteec.so.1 ${D}${libdir}/libteec.so
-
- cp -a ${S}/out/export/usr/include ${D}/usr/
-}
-
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee/optee-os-qoriq/0001-allow-setting-sysroot-for-libgcc-lookup.patch b/recipes-security/optee/optee-os-qoriq/0001-allow-setting-sysroot-for-libgcc-lookup.patch
deleted file mode 100644
index 17127d0b..00000000
--- a/recipes-security/optee/optee-os-qoriq/0001-allow-setting-sysroot-for-libgcc-lookup.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/mk/gcc.mk b/mk/gcc.mk
-index fc38c4d..77b8d74 100644
---- a/mk/gcc.mk
-+++ b/mk/gcc.mk
-@@ -12,7 +12,7 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \
- -print-file-name=include 2> /dev/null)
-
- # Get location of libgcc from gcc
--libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) $(comp-cflags$(sm)) \
-+libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) $(comp-cflags$(sm)) \
- -print-libgcc-file-name 2> /dev/null)
-
- # Define these to something to discover accidental use
diff --git a/recipes-security/optee/optee-os-qoriq/0001-arm64-Disable-outline-atomics-when-compiling.patch b/recipes-security/optee/optee-os-qoriq/0001-arm64-Disable-outline-atomics-when-compiling.patch
deleted file mode 100644
index 086d4333..00000000
--- a/recipes-security/optee/optee-os-qoriq/0001-arm64-Disable-outline-atomics-when-compiling.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f94d9558d9eae48e92ce8d651539b6cf69eb4394 Mon Sep 17 00:00:00 2001
-From: Joshua Watt <JPEWhacker@gmail.com>
-Date: Mon, 18 May 2020 20:00:00 -0500
-Subject: [PATCH] arm64: Disable outline-atomics when compiling
-
-Disables the automatic detection of LSE (Large System Extension)
-instructions when compiling AArch64 code. GCC 10 implements this
-detection in libgcc using __getauxval(), which optee doesn't implement.
-This requires that the proper -mcpu is passed to GCC so that the code
-can be correctly compiled to use either LSE or load-store-exclusive.
-
-Fixes linker errors like the following when compiling with GCC 10:
-
- aarch64-linux-ld.bfd: libgcc.a(lse-init.o):
- in function `init_have_lse_atomics':
- lse-init.c:44: undefined reference to `__getauxval'
- core/arch/arm/kernel/link.mk:38:
- recipe for target 'build/core/all_objs.o' failed
-
-Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
-Upstream-Status: Submitted [https://github.com/OP-TEE/optee_os/pull/3874]
----
- core/arch/arm/arm.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk
-index a18eda3b..07069c66 100644
---- a/core/arch/arm/arm.mk
-+++ b/core/arch/arm/arm.mk
-@@ -115,7 +115,7 @@ arm32-platform-aflags-no-hard-float ?=
-
- arm64-platform-cflags-no-hard-float ?= -mgeneral-regs-only
- arm64-platform-cflags-hard-float ?=
--arm64-platform-cflags-generic ?= -mstrict-align
-+arm64-platform-cflags-generic ?= -mstrict-align $(call cc-option,-mno-outline-atomics,)
-
- ifeq ($(DEBUG),1)
- # For backwards compatibility
---
-2.17.1
-
diff --git a/recipes-security/optee/optee-os-qoriq_3.8.0.bb b/recipes-security/optee/optee-os-qoriq_3.8.0.bb
deleted file mode 100644
index b8d764ff..00000000
--- a/recipes-security/optee/optee-os-qoriq_3.8.0.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "OP-TEE Trusted OS"
-DESCRIPTION = "OPTEE OS"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
-
-PV = "3.8+git${SRCPV}"
-
-DEPENDS += "python3-pyelftools-native python3-pycryptodome-native python3-pycryptodomex-native dtc-native"
-
-inherit deploy python3native
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/optee_os;nobranch=1 \
- file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
- file://0001-arm64-Disable-outline-atomics-when-compiling.patch \
- "
-SRCREV = "0cb01f7f6aee552ead49990c06f69f73f459cc65"
-
-S = "${WORKDIR}/git"
-
-OPTEEMACHINE ?= "${MACHINE}"
-OPTEEMACHINE_ls1088ardb-pb = "ls1088ardb"
-OPTEEMACHINE_ls1046afrwy = "ls1046ardb"
-OPTEEMACHINE_lx2162aqds = "lx2160aqds"
-
-EXTRA_OEMAKE = "PLATFORM=ls-${OPTEEMACHINE} CFG_ARM64_core=y \
- ARCH=arm \
- CROSS_COMPILE_core=${HOST_PREFIX} \
- CROSS_COMPILE_ta_arm64=${HOST_PREFIX} \
- NOWERROR=1 \
- LDFLAGS= \
- LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
- "
-EXTRA_OEMAKE_append_lx2162aqds = " CFG_EMBED_DTB_SOURCE_FILE=fsl-lx2160a-qds.dts CFG_EMBED_DT=y"
-
-OPTEE_ARCH_armv7a = "arm32"
-OPTEE_ARCH_aarch64 = "arm64"
-
-do_compile() {
- unset LDFLAGS
- oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
- ${OBJCOPY} -v -O binary ${B}/out/arm-plat-ls/core/tee.elf ${B}/out/arm-plat-ls/core/tee.bin
-
- if [ ${MACHINE} = ls1012afrwy ]; then
- mv ${B}/out/arm-plat-ls/core/tee.bin ${B}/out/arm-plat-ls/core/tee_512mb.bin
- oe_runmake CFG_DRAM0_SIZE=0x40000000 all CFG_TEE_TA_LOG_LEVEL=0
- ${OBJCOPY} -v -O binary ${B}/out/arm-plat-ls/core/tee.elf ${B}/out/arm-plat-ls/core/tee.bin
- fi
-}
-
-do_install() {
- #install core on boot directory
- install -d ${D}/lib/firmware/
- if [ ${MACHINE} = ls1012afrwy ]; then
- install -m 644 ${B}/out/arm-plat-ls/core/tee_512mb.bin ${D}/lib/firmware/tee_${MACHINE}_512mb.bin
- fi
- install -m 644 ${B}/out/arm-plat-ls/core/tee.bin ${D}/lib/firmware/tee_${MACHINE}.bin
- #install TA devkit
- install -d ${D}/usr/include/optee/export-user_ta/
-
- for f in ${B}/out/arm-plat-ls/export-ta_${OPTEE_ARCH}/* ; do
- cp -aR $f ${D}/usr/include/optee/export-user_ta/
- done
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-do_deploy() {
- install -d ${DEPLOYDIR}/optee
- for f in ${D}/lib/firmware/*; do
- cp $f ${DEPLOYDIR}/optee/
- done
-}
-
-addtask deploy before do_build after do_install
-
-FILES_${PN} = "/lib/firmware/"
-FILES_${PN}-dev = "/usr/include/optee"
-
-INSANE_SKIP_${PN}-dev = "staticdev"
-
-INHIBIT_PACKAGE_STRIP = "1"
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-security/optee/optee-test-qoriq_3.8.0.bb b/recipes-security/optee/optee-test-qoriq_3.8.0.bb
deleted file mode 100644
index 94cd00c2..00000000
--- a/recipes-security/optee/optee-test-qoriq_3.8.0.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "OP-TEE sanity testsuite"
-HOMEPAGE = "https://github.com/OP-TEE/optee_test"
-
-LICENSE = "BSD & GPLv2"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
-
-DEPENDS = "optee-client-qoriq optee-os-qoriq python3-pycryptodome-native python3-pycryptodomex-native"
-
-inherit python3native
-
-SRC_URI = "git://github.com/OP-TEE/optee_test;nobranch=1"
-SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
-
-S = "${WORKDIR}/git"
-
-OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
-TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
-TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
-
-EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
- OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
- CFG_ARM64=y \
- CROSS_COMPILE_HOST=${TARGET_PREFIX} \
- CROSS_COMPILE_TA=${TARGET_PREFIX} \
- V=1 \
- "
-
-do_compile() {
- # Top level makefile doesn't seem to handle parallel make gracefully
- oe_runmake xtest
- oe_runmake ta
-}
-
-do_install () {
- install -D -p -m0755 ${S}/out/xtest/xtest ${D}${bindir}/xtest
-
- # install path should match the value set in optee-client/tee-supplicant
- # default TEEC_LOAD_PATH is /lib
- mkdir -p ${D}/lib/optee_armtz/
- install -D -p -m0444 ${S}/out/ta/*/*.ta ${D}/lib/optee_armtz/
-}
-
-FILES_${PN} += "/lib/optee_armtz/"
-
-# Imports machine specific configs from staging to build
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
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/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch b/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch
new file mode 100644
index 00000000..5d88d1a6
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch
@@ -0,0 +1,41 @@
+From 9cfa84313c5833d7295fcf57be93d5d2aaadfd88 Mon Sep 17 00:00:00 2001
+From: Vincent Rabaud <vrabaud@google.com>
+Date: Sat, 10 Jul 2021 00:21:52 +0200
+Subject: [PATCH] Use the one argument version of SetTotalBytesLimit.
+
+The two argument versions has been deprecated, cf
+https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream
+
+Upstream-Status: Backport [9cfa84313c5833d7295fcf57be93d5d2aaadfd88 - from master after 4.5.3 tag]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ modules/dnn/src/caffe/caffe_io.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index 2fc4d84f46..ebecf95eea 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -92,6 +92,7 @@
+ #ifdef HAVE_PROTOBUF
+ #include <google/protobuf/io/coded_stream.h>
+ #include <google/protobuf/io/zero_copy_stream_impl.h>
++#include <google/protobuf/stubs/common.h>
+ #include <google/protobuf/text_format.h>
+
+ #include <opencv2/core.hpp>
+@@ -1111,7 +1112,11 @@ static const int kProtoReadBytesLimit = INT_MAX; // Max size of 2 GB minus 1 by
+
+ bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) {
+ CodedInputStream coded_input(input);
++#if GOOGLE_PROTOBUF_VERSION >= 3006000
++ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit);
++#else
+ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912);
++#endif
+
+ return proto->ParseFromCodedStream(&coded_input);
+ }
+--
+2.32.0
+
diff --git a/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch b/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
new file mode 100644
index 00000000..7b2c4100
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
@@ -0,0 +1,44 @@
+From ffe20fc4ec46c6b491eff29a38f90686d4d035f6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 12 Apr 2021 20:37:40 +0000
+Subject: [PATCH] sfm: link with Glog_LIBS
+
+* in 4.5.0 there was explicit linkage with GLOG_LIBRARY, but since 4.5.1 with:
+ https://github.com/opencv/opencv_contrib/commit/23ee62a19b7a3e50d6dbf295359d8b1aff2e03fd
+
+ it's gone, probably because Glog_FOUND is already set from Ceres,
+ but then GLOG_LIBRARIES is empty in LIBMV_LIGHT_LIBS and build with gold fails:
+
+FAILED: bin/example_tutorial_perspective_correction
+: && TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -mssse3 -DNDEBUG -DNDEBUG -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,--gc-sections -Wl,--as-needed samples/cpp/CMakeFiles/example_tutorial_perspective_correction.dir/tutorial_code/features2D/Homography/perspective_correction.cpp.o -o bin/example_tutorial_perspective_correction -ldl -lm -lpthread -lrt lib/libopencv_gapi.so.4.5.2 lib/libopencv_stitching.so.4.5.2 lib/libopencv_ts.so.4.5.2 lib/libopencv_alphamat.so.4.5.2 lib/libopencv_aruco.so.4.5.2 lib/libopencv_bgsegm.so.4.5.2 lib/libopencv_bioinspired.so.4.5.2 lib/libopencv_ccalib.so.4.5.2 lib/libopencv_dnn_objdetect.so.4.5.2 lib/libopencv_dnn_superres.so.4.5.2 lib/libopencv_dpm.so.4.5.2 lib/libopencv_face.so.4.5.2 lib/libopencv_fuzzy.so.4.5.2 lib/libopencv_hfs.so.4.5.2 lib/libopencv_img_hash.so.4.5.2 lib/libopencv_intensity_transform.so.4.5.2 lib/libopencv_line_descriptor.so.4.5.2 lib/libopencv_mcc.so.4.5.2 lib/libopencv_quality.so.4.5.2 lib/libopencv_rapid.so.4.5.2 lib/libopencv_reg.so.4.5.2 lib/libopencv_rgbd.so.4.5.2 lib/libopencv_saliency.so.4.5.2 lib/libopencv_sfm.so.4.5.2 lib/libopencv_stereo.so.4.5.2 lib/libopencv_structured_light.so.4.5.2 lib/libopencv_superres.so.4.5.2 lib/libopencv_surface_matching.so.4.5.2 lib/libopencv_tracking.so.4.5.2 lib/libopencv_videostab.so.4.5.2 lib/libopencv_wechat_qrcode.so.4.5.2 lib/libopencv_xfeatures2d.so.4.5.2 lib/libopencv_xobjdetect.so.4.5.2 lib/libopencv_xphoto.so.4.5.2 lib/libopencv_shape.so.4.5.2 lib/libopencv_highgui.so.4.5.2 lib/libopencv_datasets.so.4.5.2 lib/libopencv_ml.so.4.5.2 lib/libopencv_plot.so.4.5.2 lib/libopencv_phase_unwrapping.so.4.5.2 lib/libopencv_optflow.so.4.5.2 lib/libopencv_ximgproc.so.4.5.2 lib/libopencv_videoio.so.4.5.2 lib/libopencv_video.so.4.5.2 lib/libopencv_dnn.so.4.5.2 lib/libopencv_imgcodecs.so.4.5.2 lib/libopencv_objdetect.so.4.5.2 lib/libopencv_calib3d.so.4.5.2 lib/libopencv_features2d.so.4.5.2 lib/libopencv_flann.so.4.5.2 lib/libopencv_photo.so.4.5.2 lib/libopencv_imgproc.so.4.5.2 lib/libopencv_core.so.4.5.2 -Wl,-rpath-link,TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/build/lib && :
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::LogMessage(char const*, int)'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::stream()'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::~LogMessage()'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::kLogSiteUninitialized'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'fLI::FLAGS_v'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::InitVLOG3__(int**, int*, char const*, int)'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::LogMessageFatal(char const*, int)'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::~LogMessageFatal()'
+collect2: error: ld returned 1 exit status
+
+ Add Glog_LIBS which is set to the same value as GLOG_LIBRARIES used to be.
+
+Upstream-Status: Submitted [https://github.com/opencv/opencv_contrib/pull/2923]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ modules/sfm/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/sfm/CMakeLists.txt b/modules/sfm/CMakeLists.txt
+index 045a1fe6e..ee7cecdac 100644
+--- a/modules/sfm/CMakeLists.txt
++++ b/modules/sfm/CMakeLists.txt
+@@ -84,6 +84,7 @@ set(LIBMV_LIGHT_LIBS
+ multiview
+ numeric
+ ${GLOG_LIBRARIES}
++ ${Glog_LIBS}
+ ${GFLAGS_LIBRARIES}
+ )
+
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 569d5b02..ef7831a5 100644
--- a/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
+++ b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
@@ -18,7 +18,7 @@ Index: git/samples/cpp/logistic_regression.cpp
===================================================================
--- git.orig/samples/cpp/logistic_regression.cpp
+++ git/samples/cpp/logistic_regression.cpp
-@@ -83,7 +83,7 @@ static float calculateAccuracyPercent(co
+@@ -28,7 +28,7 @@ static float calculateAccuracyPercent(co
int main()
{
@@ -31,15 +31,15 @@ Index: git/samples/dnn/classification.cpp
===================================================================
--- git.orig/samples/dnn/classification.cpp
+++ git/samples/dnn/classification.cpp
-@@ -11,6 +11,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 }"
-+ "{ device | 0 | camera device number. }"
- "{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}"
- "{ framework f | | Optional name of an origin framework of the model. Detect it automatically if it does not set. }"
- "{ classes | | Optional path to a text file with names of classes. }"
-@@ -94,7 +95,7 @@ int main(int argc, char** argv)
+@@ -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 }"
++ "{ device | 0 | camera device number. }"
+ "{ 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.}"
+@@ -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.
-@@ -131,13 +132,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);
@@ -120,15 +122,15 @@ Index: git/samples/dnn/text_detection.cpp
===================================================================
--- git.orig/samples/dnn/text_detection.cpp
+++ git/samples/dnn/text_detection.cpp
-@@ -25,6 +25,7 @@ using namespace cv::dnn;
+@@ -30,6 +30,7 @@ using namespace cv::dnn;
const char* keys =
- "{ help h | | Print help message. }"
- "{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}"
-+ "{ device | 0 | camera device number. }"
- "{ model m | | Path to a binary .pb file contains trained detector network.}"
- "{ ocr | | Path to a binary .pb or .onnx file contains trained recognition network.}"
- "{ width | 320 | Preprocess input image by resizing to a specific width. It should be multiple by 32. }"
-@@ -75,7 +76,7 @@ int main(int argc, char** argv)
+ "{ help h | | Print help message. }"
+ "{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}"
++ "{ device | 0 | camera device number. }"
+ "{ detModel dmp | | Path to a binary .pb file contains trained detector network.}"
+ "{ width | 320 | Preprocess input image by resizing to a specific width. It should be multiple by 32. }"
+ "{ height | 320 | Preprocess input image by resizing to a specific height. It should be multiple by 32. }"
+@@ -106,7 +107,7 @@ int main(int argc, char** argv)
// Open a video file or an image file or a camera stream.
VideoCapture cap;
@@ -137,12 +139,3 @@ Index: git/samples/dnn/text_detection.cpp
CV_Assert(openSuccess);
static const std::string kWinName = "EAST: An Efficient and Accurate Scene Text Detector";
-@@ -156,7 +157,7 @@ int main(int argc, char** argv)
-
- // Put efficiency information.
- std::string label = format("Inference time: %.2f ms", tickMeter.getTimeMilli());
-- putText(frame, label, Point(0, 15), 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);
-
- imshow(kWinName, frame);
-
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.4.0.imx.bb b/recipes-support/opencv/opencv_4.6.0.imx.bb
index f50cca8a..6d13d107 100644
--- a/recipes-support/opencv/opencv_4.4.0.imx.bb
+++ b/recipes-support/opencv/opencv_4.6.0.imx.bb
@@ -3,25 +3,28 @@
# 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/"
SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19598330421859a6dd353a4318091ac7"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
-SRCREV_opencv = "c3bb57afeaf030f10939204d48d7c2a3842f4293"
-SRCREV_contrib = "5fae4082cc493efa5cb7a7486f9e009618a5198b"
+SRCREV_opencv = "b0dc474160e389b9c9045da5db49d03ae17c6a6b"
+SRCREV_contrib = "7b77c355a8fdc97667b3fa1e7a0d37e4973fc868"
SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
+SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
def ipp_filename(d):
import re
@@ -43,20 +46,23 @@ IPP_FILENAME = "${@ipp_filename(d)}"
IPP_MD5 = "${@ipp_md5sum(d)}"
SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;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-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"
@@ -65,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
@@ -80,20 +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 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 \
@@ -101,16 +109,28 @@ 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)} \
"
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
+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_WHITELIST", "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"
+# tbb now needs getcontect/setcontext which is not there for all arches on musl
+PACKAGECONFIG:remove:libc-musl:riscv64 = "tbb"
+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,"
@@ -128,13 +148,14 @@ PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${
PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
inherit pkgconfig cmake
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)}
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
@@ -152,144 +173,146 @@ PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '
${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
${PN}-apps"
-python populate_packages_prepend () {
+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'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
blacklist = [ metapkg ]
metapkg_rdepends = [ ]
packages = d.getVar('PACKAGES').split()
for pkg in packages[1:]:
if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('RRECOMMENDS:' + metapkg, ' '.join(metapkg_rdepends))
metapkg = pn
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
blacklist = [ metapkg, "libopencv-ts" ]
metapkg_rdepends = [ ]
for pkg in packages[1:]:
if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
}
PACKAGES_DYNAMIC += "^libopencv-.*"
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake"
-FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/opencv4/samples/"
+FILES:${PN} = ""
+FILES:${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake"
+FILES:${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
+FILES:${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
+FILES:${PN}-java = "${datadir}/OpenCV/java"
+FILES:${PN}-samples = "${datadir}/opencv4/samples/"
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
+INSANE_SKIP:${PN}-java = "libdir"
+INSANE_SKIP:${PN}-dbg = "libdir"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
+SUMMARY:python-opencv = "Python bindings to opencv"
+FILES:python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:python-opencv = "python-core python-numpy"
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
+SUMMARY:python3-opencv = "Python bindings to opencv"
+FILES:python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:python3-opencv = "python3-core python3-numpy"
-RDEPENDS_${PN}-apps = "bash"
+RDEPENDS:${PN}-apps = "bash"
-do_compile_prepend() {
+do_compile:prepend() {
# remove the build host info to improve reproducibility
if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then
sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc
fi
}
-do_install_append() {
+do_install:append() {
# Move Python files into correct library folder (for multilib build)
if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
mv ${D}/usr/lib/* ${D}/${libdir}/
rm -rf ${D}/usr/lib
fi
+ # remove build host path to improve reproducibility
+ if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then
+ sed -e 's@${STAGING_DIR_HOST}@@g' \
+ -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake
+ fi
+ # remove setup_vars_opencv4.sh as its content is confusing and useless
+ if [ -f ${D}${bindir}/setup_vars_opencv4.sh ]; then
+ rm -rf ${D}${bindir}/setup_vars_opencv4.sh
+ fi
}
-TOOLCHAIN = "gcc"
-
########## End of meta-openembedded copy ##########
########## i.MX overrides ##########
SUMMARY = "Opencv : The Open Computer Vision Library, i.MX Fork"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19598330421859a6dd353a4318091ac7"
-
-SRCREV_opencv = "e39e6eded2d365a5dc370e1a72717e132166cf07"
-SRCREV_contrib = "5fae4082cc493efa5cb7a7486f9e009618a5198b"
-SRCREV_extra = "65796edadce27ed013e3deeedb3c081ff527e4ec"
-SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59"
-SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b"
-SRCREV_FORMAT_append = "_extra"
-
-OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https"
-SRCBRANCH = "4.4.0_imx"
-SRC_URI = "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv \
- git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
- https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \
- 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://OpenCV_DNN_examples.patch \
- file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \
- "
-PV = "4.4.0.imx"
-
-PACKAGECONFIG_remove = "eigen"
-PACKAGECONFIG_append_mx8 = " dnn text"
-PACKAGECONFIG_OPENCL = ""
-PACKAGECONFIG_OPENCL_mx8 = "opencl"
-PACKAGECONFIG_OPENCL_mx8dxl = ""
-PACKAGECONFIG_OPENCL_mx8phantomdxl = ""
-PACKAGECONFIG_OPENCL_mx8mm = ""
-PACKAGECONFIG_OPENCL_mx8mnlite = ""
-PACKAGECONFIG_append = " ${PACKAGECONFIG_OPENCL}"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+# Replace the opencv URL with the fork
+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
+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: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[test] = "-DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DBUILD_TESTS=OFF -DINSTALL_TESTS=OFF,"
+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"
-do_unpack_extra_append() {
- mkdir -p ${S}/3rdparty/tinydnn/
- tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/
-}
+# 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() {
+do_install:append() {
ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
install -d ${D}${datadir}/OpenCV/samples/data
cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data
install -d ${D}${datadir}/OpenCV/samples/bin/
cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/
- if ${@bb.utils.contains('PACKAGECONFIG', 'test', 'true', 'false', d)}; then
+ if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then
cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/
fi
}
-FILES_${PN}-samples += "${datadir}/OpenCV/samples"
+FILES:${PN}-samples += "${datadir}/OpenCV/samples"
-COMPATIBLE_MACHINE = "(mx8)"
+COMPATIBLE_MACHINE = "(mx8-nxp-bsp|mx9-nxp-bsp)"
########## End of i.MX overrides ##########
diff --git a/scripts/convert-bsp-specific-overrides b/scripts/convert-bsp-specific-overrides
new file mode 100755
index 00000000..d2160888
--- /dev/null
+++ b/scripts/convert-bsp-specific-overrides
@@ -0,0 +1,87 @@
+#!/bin/sh
+# Convert old-style NXP overrides to new style BSP overides
+#
+# Essentially, we extend the overrides to a generic-bsp, nxp-bsp, and mainline-bsp.
+#
+# So, for example, the mx8mq override is split into:
+#
+# - imx-generic-bsp: compatible with every i.MX SoC and both BSP variants
+# - imx-nxp-bsp: compatible with every i.MX SoC but specific to NXP BSP
+# - imx-mainline-bsp: compatible with every i.MX SoC but specific to Mainline BSP
+#
+# - mx8-generic-bsp: compatible with every i.MX8 SoC and both BSP variants
+# - mx8-nxp-bsp: compatible with every i.MX8 SoC but specific to NXP BSP
+# - mx8-mainline-bsp: compatible with every i.MX8 SoC but specific to Mainline BSP
+#
+# - mx8m-generic-bsp: compatible with every i.MX8M SoC and both BSP variants
+# - mx8m-nxp-bsp: compatible with every i.MX8M SoC but specific to NXP BSP
+# - mx8m-mainline-bsp: compatible with every i.MX8M SoC but specific to Mainline BSP
+#
+# - mx8mq-generic-bsp: compatible with every i.MX8MQ SoC and both BSP variants
+# - mx8mq-nxp-bsp: compatible with every i.MX8MQ SoC8 but specific to NXP BSP
+# - mx8mq-mainline-bsp: compatible with every i.MX8MQ SoC but specific to Mainline BSP
+#
+# The extender mechanism is responsible for extending the override list to include the generic
+# overrides. We can then use the three different variants to handle the metadata correctly.
+#
+# WARN: This script is intended to be run only once in a layer.
+#
+# Copyright 2022 (C) O.S. Systems Software LTDA.
+
+# Error out if the layer looks as already converted.
+if git ls-files \
+ | grep -v 'conf/machine/' \
+ | xargs egrep -q '(mx[5-8s]|vf\w+)-(nxp|generic|mainline)-bsp'; then
+ echo "ERROR: The $0 should be used once in a layer. The layer seems already converted."
+ exit 1
+fi
+
+# Convert the recipes to use the new BSP-specific overrides.
+git ls-files \
+ | grep -v 'conf/machine/' \
+ | xargs sed -i \
+ -e 's,:\(mx[6-8]\w*\),:\1-nxp-bsp,g' \
+ -e 's,(\(mx[6-8]\w*\)),(\1-nxp-bsp),g' \
+ -e 's,\(mx[6-8]\w*\)|,\1-nxp-bsp|,g' \
+ -e 's,|\(mx[6-8]\w*\)),|\1-nxp-bsp),g' \
+ \
+ -e 's,:\(mx[5s]\w*\),:\1-generic-bsp,g' \
+ -e 's,(\(mx[5s]\w*\)),(\1-generic-bsp),g' \
+ -e 's,\(mx[5s]\w*\)|,\1-generic-bsp|,g' \
+ -e 's,|\(mx[5s]\w*\)),|\1-generic-bsp),g' \
+ \
+ -e 's,:\(vf\w*\),:\1-generic-bsp,g' \
+ -e 's,:\(vf[56]0\w*\),:\1-generic-bsp,g' \
+ -e 's,\(vf\w*\)|,\1-generic-bsp|,g' \
+ -e 's,|\(vf\w*\)),|\1-generic-bsp),g' \
+ -e 's,\(vf[56]0\w*\)|,\1-generic-bsp|,g' \
+ -e 's,|\(vf[56]0\w*\)),|\1-generic-bsp),g' \
+ \
+ -e 's,:\(imx\) ,:\1-nxp-bsp ,g' \
+ -e 's,(\(imx\)),(\1-nxp-bsp),g' \
+ -e 's,\(imx\)|,\1-nxp-bsp|,g' \
+ -e 's,|\(imx\)),|\1-nxp-bsp),g'
+
+# Convert the folders old overrides to the new BSP-specific overrides.
+for d in $(find -type d | egrep '/mx[6-8]w*'); do
+ git mv $d $d-nxp-bsp
+done
+
+for d in $(find -type d | egrep '/imx$'); do
+ git mv $d $d-nxp-bsp
+done
+
+for d in $(find -type d | egrep '/mx[5s]w*'); do
+ git mv $d $d-generic-bsp
+done
+
+# Rework machine overrides to simplify them.
+git ls-files conf \
+ | xargs sed -i \
+ -e 's,mx6:mx6,mx6,g' \
+ -e 's,mx6ul:mx6ull:,mx6ull:,g' \
+ -e 's,mx6dl:mx6q:,mx6q:mx6dl:,g' \
+ \
+ -e 's,mx8:mx8m,mx8m,g' \
+ -e 's,mx8m:mx8m,mx8m,g' \
+ -e 's,mx8:mx8x:mx8,mx8,g'
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
diff --git a/wic/ls104x-uboot-bootpart.wks.in b/wic/ls104x-uboot-bootpart.wks.in
new file mode 100644
index 00000000..8ca231c6
--- /dev/null
+++ b/wic/ls104x-uboot-bootpart.wks.in
@@ -0,0 +1,21 @@
+# 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 Layerscape lx1043a/ls1046a family.
+# It uses u-boot.
+#
+# The disk layout used is:
+# - ----- --------- -------------- --------------------
+# | | PBL | FIP | FMAN-UCODE | boot + rootfs |
+# - ----- --------- -------------- --------------------
+# ^ ^ ^ ^ ^
+# | | | | |
+# 0 4kiB 1MiB 9MiB 16MiB
+#
+part PBL --source rawcopy --sourceparams="file=${IMAGE_FILE_PBL_SD}" --ondisk mmcblk --no-table --align ${IMAGE_OFFSET_PBL}
+part FIP --source rawcopy --sourceparams="file=${IMAGE_FILE_FIP_UBOOT}" --ondisk mmcblk --no-table --align ${IMAGE_OFFSET_FIP}
+part FMAN-UCODE --source rawcopy --sourceparams="file=${FMAN_UCODE}" --ondisk mmcblk --no-table --align ${IMAGE_OFFSET_FMAN_UCODE}
+part /boot --source bootimg-partition --ondisk mmcblk --fstype=ext4 --label boot --active --align 16384 --extra-space 0
+part / --source rootfs --ondisk mmcblk --fstype=ext4 --label rootfs --align 16384
+
+bootloader --ptable msdos