aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/backport.yaml28
-rw-r--r--.gitignore4
-rw-r--r--EULA1267
-rw-r--r--README34
-rw-r--r--README.md47
-rw-r--r--SCR/SCR-4.1.15-2.0.0.txt404
-rw-r--r--SCR/SCR-6.6.3-1.0.0.txt1685
-rw-r--r--classes/dtc-145.bbclass7
-rw-r--r--classes/fsl-dynamic-packagearch.bbclass11
-rw-r--r--classes/fsl-eula-unpack.bbclass214
-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.bbclass8
-rw-r--r--classes/use-imx-headers.bbclass22
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass36
-rw-r--r--classes/uuu_bootloader_tag.bbclass12
-rw-r--r--conf/layer.conf36
-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.conf76
-rw-r--r--conf/machine/imx6qdlsabresd.conf78
-rw-r--r--conf/machine/imx6slevk.conf34
-rw-r--r--conf/machine/imx6sllevk.conf31
-rw-r--r--conf/machine/imx6sxsabreauto.conf31
-rw-r--r--conf/machine/imx6sxsabresd.conf50
-rw-r--r--conf/machine/imx6ulevk.conf67
-rw-r--r--conf/machine/imx6ullevk.conf40
-rw-r--r--conf/machine/imx6ulz-14x14-evk.conf36
-rw-r--r--conf/machine/imx7dsabresd.conf45
-rw-r--r--conf/machine/imx7ulpevk.conf41
-rw-r--r--conf/machine/imx8dx-mek.conf17
-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/imx8mm-ddr4-evk.conf31
-rw-r--r--conf/machine/imx8mm-lpddr4-evk.conf41
-rw-r--r--conf/machine/imx8mmevk.conf51
-rw-r--r--conf/machine/imx8mn-ddr4-evk.conf29
-rw-r--r--conf/machine/imx8mn-lpddr4-evk.conf30
-rw-r--r--conf/machine/imx8mnul-ddr3l-evk.conf69
-rw-r--r--conf/machine/imx8mp-ddr4-evk.conf32
-rw-r--r--conf/machine/imx8mp-lpddr4-evk.conf68
-rw-r--r--conf/machine/imx8mq-evk.conf100
-rw-r--r--conf/machine/imx8mq-lpddr4-wevk.conf19
-rw-r--r--conf/machine/imx8mqevk.conf66
-rw-r--r--conf/machine/imx8qm-mek.conf88
-rw-r--r--conf/machine/imx8qmmek.conf60
-rw-r--r--conf/machine/imx8qxp-mek.conf33
-rw-r--r--conf/machine/imx8qxpmek.conf53
-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.inc690
-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.inc75
-rw-r--r--conf/machine/include/imx8mn-evk.inc84
-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.inc71
-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.inc57
-rw-r--r--conf/machine/include/utilities.inc11
-rw-r--r--conf/machine/ls1012afrwy.conf6
-rw-r--r--conf/machine/ls1012ardb.conf8
-rw-r--r--conf/machine/ls1021atwr.conf35
-rw-r--r--conf/machine/ls1028ardb.conf38
-rw-r--r--conf/machine/ls1043ardb.conf21
-rw-r--r--conf/machine/ls1046afrwy.conf12
-rw-r--r--conf/machine/ls1046ardb.conf15
-rw-r--r--conf/machine/ls1088ardb-pb.conf10
-rw-r--r--conf/machine/ls1088ardb.conf10
-rw-r--r--conf/machine/ls2080ardb.conf20
-rw-r--r--conf/machine/ls2088ardb.conf10
-rw-r--r--conf/machine/lx2160ardb.conf13
-rw-r--r--conf/machine/lx2162aqds.conf36
-rw-r--r--conf/machine/mpc8548cds.conf5
-rw-r--r--conf/machine/p1020rdb.conf10
-rw-r--r--conf/machine/p2020rdb.conf18
-rw-r--r--conf/machine/p2041rdb.conf7
-rw-r--r--conf/machine/p3041ds.conf7
-rw-r--r--conf/machine/p4080ds.conf7
-rw-r--r--conf/machine/p5040ds-64b.conf7
-rw-r--r--conf/machine/p5040ds.conf7
-rw-r--r--conf/machine/t1024rdb-64b.conf7
-rw-r--r--conf/machine/t1024rdb.conf7
-rw-r--r--conf/machine/t1042d4rdb-64b.conf7
-rw-r--r--conf/machine/t1042d4rdb.conf7
-rw-r--r--conf/machine/t2080rdb-64b.conf8
-rw-r--r--conf/machine/t2080rdb.conf8
-rw-r--r--conf/machine/t4240rdb-64b.conf4
-rw-r--r--conf/machine/t4240rdb.conf4
-rw-r--r--custom-licenses/Freescale-EULA214
-rw-r--r--dynamic-layers/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend3
-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.bbappend1
-rw-r--r--dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini109
-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/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/README77
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_left.conf-3des-sha1-tunnel32
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_right.conf-3des-sha1-tunnel31
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/flush-setkey4
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.left29
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.right28
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.left3
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.right8
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.left39
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.right34
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-transport22
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-transport22
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.ipv42
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonCert.pem25
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonKey.pem27
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizes.sh19
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizest.sh19
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/psk.txt2
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/racoon.conf22
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-transport22
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-tunnel41
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-transport22
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-tunnel41
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-transport23
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-tunnel42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.ipv42
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup47
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_left13
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_right13
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan.conf19
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswanCert.pem22
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_left10
-rwxr-xr-xdynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_right10
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunCert.pem25
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunKey.pem27
-rw-r--r--dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo_0.1.bb26
-rw-r--r--dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend8
-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/openembedded-layer/recipes-support/opencv/opencv_4.%.bbappend3
-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/0015-Add-eglfs-to-IMX-GPU.patch13
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch13
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend37
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend9
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend7
-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)2758
-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/atf-tools_git.bb19
-rw-r--r--recipes-bsp/atf/atf/0001-Makefile-add-CC-gcc.patch28
-rw-r--r--recipes-bsp/atf/atf/0001-fix-fiptool-build-error.patch28
-rw-r--r--recipes-bsp/atf/atf_git.bb224
-rw-r--r--recipes-bsp/atf/qoriq-atf-2.6.inc12
-rw-r--r--recipes-bsp/atf/qoriq-atf-tools_2.6.bb15
-rw-r--r--recipes-bsp/atf/qoriq-atf/tf-a-tests-no-warn-rwx-segments.patch35
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.6.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/change-file-endianess/change-file-endianess.bb19
-rwxr-xr-xrecipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl40
-rw-r--r--recipes-bsp/ddr-phy/ddr-phy_git.bb14
-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.1.1.inc)9
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb25
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb24
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb20
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb75
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.22.bb156
-rw-r--r--recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb159
-rw-r--r--recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb24
-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_2.0.3.bb27
-rw-r--r--recipes-bsp/firmware-qca/firmware-qca9377_2.0.3.bb27
-rw-r--r--recipes-bsp/firmware-qca/qca-tools_2.0.3.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/0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch29
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.0.bb47
-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.bb36
-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_0.2.bb164
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bb346
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.bb30
-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.bb45
-rw-r--r--recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.2.bb38
-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/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch34
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs_git.bb27
-rw-r--r--recipes-bsp/imx-seco/imx-seco_5.9.0.bb27
-rw-r--r--recipes-bsp/imx-test/imx-test_00.00.00.bb4
-rw-r--r--recipes-bsp/imx-test/imx-test_git.bb61
-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.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-Get-i.MX-custom-headers-from-usr-include-imx.patch49
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.11.0.bb34
-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.38.bb31
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb31
-rw-r--r--recipes-bsp/inphi/inphi_git.bb6
-rw-r--r--recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb28
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch44
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.24.0.bb105
-rw-r--r--recipes-bsp/libimxdmabuffer/files/run-ptest10
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb41
-rw-r--r--recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.1.3.bb89
-rw-r--r--recipes-bsp/ls2-phy/ls2-phy_git.bb6
-rw-r--r--recipes-bsp/mc-utils/mc-utils_git.bb42
-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.bb10
-rw-r--r--recipes-bsp/qe-ucode/qe-ucode_git.bb6
-rw-r--r--recipes-bsp/rcw/rcw_git.bb33
-rw-r--r--recipes-bsp/u-boot/libubootenv_%.bbappend43
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2019.07.inc18
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-common_2024.04.inc19
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-fw-utils_2019.07.bb45
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb (renamed from recipes-bsp/u-boot/u-boot-fslc-mxsboot_2019.07.bb)24
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2024.04.bb (renamed from recipes-bsp/u-boot/u-boot-fslc_2019.07.bb)10
-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_2018.03.bb6
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2018.03.bb48
-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-common_2019.04.inc19
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2019.04.bb44
-rw-r--r--recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb (renamed from recipes-bsp/u-boot/u-boot-qoriq_2019.04.bb)41
-rw-r--r--recipes-bsp/uefi/uefi_git.bb8
-rw-r--r--recipes-connectivity/iproute2/iproute2_%.bbappend2
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/0001-Remove-test-that-requires-running-as-non-root.patch49
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/0001-Take-linking-flags-from-LDFLAGS-env-var.patch43
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/0001-aes-asm-aes-armv4-bsaes-armv7-.pl-make-it-work-with-.patch88
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh222
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq/run-ptest4
-rw-r--r--recipes-connectivity/openssl/openssl-qoriq_1.1.0g.bb184
-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.bb18
-rw-r--r--recipes-core/udev/udev-rules-qoriq/73-fsl-enetc-networking.rules16
-rw-r--r--recipes-daemons/ptpd/ptpd-qoriq.bb67
-rw-r--r--recipes-daemons/ptpd/ptpd-qoriq/ptpd-use-pkgconfig.patch35
-rw-r--r--recipes-devtools/devregs/devregs_git.bb6
-rw-r--r--recipes-devtools/imx-usb-loader/imx-usb-loader_git.bb6
-rw-r--r--recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch33
-rw-r--r--recipes-devtools/qemu/qemu-qoriq/memfd.patch41
-rw-r--r--recipes-devtools/qemu/qemu-qoriq/run-ptest2
-rw-r--r--recipes-devtools/qemu/qemu-qoriq_4.2.bb64
-rw-r--r--recipes-devtools/qemu/qemu-qoriq_git.bb73
-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.patch43
-rw-r--r--recipes-devtools/qoriq-cst/qoriq-cst_git.bb (renamed from recipes-devtools/cst/cst_git.bb)16
-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.bb26
-rw-r--r--recipes-dpaa/fmlib/fmlib_git.bb27
-rw-r--r--recipes-dpaa2/aiopsl/aiopsl_git.bb12
-rw-r--r--recipes-dpaa2/dce/dce_git.bb13
-rw-r--r--recipes-dpaa2/dce/files/0001-support-user-merge.patch31
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-add-fcommon-to-fix-gcc-10-build-issue.patch36
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-remove-libio.h.patch1
-rw-r--r--recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb4
-rw-r--r--recipes-dpaa2/management-complex/management-complex_10.37.0.bb (renamed from recipes-dpaa2/management-complex/management-complex_10.16.2.bb)20
-rw-r--r--recipes-dpaa2/restool/files/disable-manpage-generation.patch26
-rw-r--r--recipes-dpaa2/restool/restool/0001-restool-fix-build-error-with-gcc7.patch24
-rw-r--r--recipes-dpaa2/restool/restool_git.bb21
-rw-r--r--recipes-dpaa2/spc/spc_git.bb8
-rw-r--r--recipes-extended/crconf/crconf_git.bb11
-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.inc53
-rw-r--r--recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch7
-rw-r--r--recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch8
-rw-r--r--recipes-extended/dpdk/dpdk/0001-examples-fix-Arm-build-with-GCC-12.patch49
-rw-r--r--recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch39
-rw-r--r--recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch105
-rw-r--r--recipes-extended/dpdk/dpdk_18.11.bb8
-rw-r--r--recipes-extended/dpdk/dpdk_19.11-20.12.bb21
-rw-r--r--recipes-extended/dpdk/dpdk_20.11.bb93
-rw-r--r--recipes-extended/hyperrelay/hyperrelay_git.bb36
-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.bb112
-rw-r--r--recipes-extended/libpkcs11/libpkcs11/0001-fix-multiple-definition-error.patch90
-rw-r--r--recipes-extended/libpkcs11/libpkcs11_git.bb15
-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.11.bb49
-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_21.05.0.bb37
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_3.6.6.bb34
-rw-r--r--recipes-extended/procps/procps_%.bbappend2
-rw-r--r--recipes-extended/secure-obj/secure-obj.inc15
-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.bb37
-rw-r--r--recipes-extended/vpp-core/dpdkvpp.bb127
-rw-r--r--recipes-extended/vpp-core/dpdkvpp/0001-Add-RTE_KERNELDIR_OUT.patch26
-rw-r--r--recipes-extended/vpp-core/dpdkvpp/0001-add-Wno-cast-function-type.patch27
-rw-r--r--recipes-extended/vpp-core/dpdkvpp/0004-update-WERROR_FLAGS.patch39
-rw-r--r--recipes-extended/vpp-core/dpdkvpp/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch51
-rw-r--r--recipes-extended/vpp-core/vpp-core.bb45
-rw-r--r--recipes-extended/vpp-core/vpp-core/0001-GCC-above-5.4-fails-when-we-specify-arch-funattribut.patch26
-rw-r--r--recipes-extended/vpp-core/vpp-core/0001-getcpu-rename-getcpu-to-avoid-conflict-with-glibc-2..patch42
-rw-r--r--recipes-extended/vpp-core/vpp-core/0001-vpp-core-fix-package_qa-error.patch27
-rw-r--r--recipes-extended/vpp-core/vpp-pkgs.inc264
-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.bb16
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb8
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb12
-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-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch54
-rw-r--r--recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch24
-rw-r--r--recipes-graphics/drm/libdrm/imxgpu2d/drm-update-arm.patch35
-rw-r--r--recipes-graphics/drm/libdrm/installtests.patch25
-rw-r--r--recipes-graphics/drm/libdrm_%.bbappend5
-rw-r--r--recipes-graphics/drm/libdrm_2.4.115.imx.bb74
-rw-r--r--recipes-graphics/drm/libdrm_2.4.91.imx.bb65
-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.7.0.bb30
-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.bb55
-rw-r--r--recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_7.1.0.bb37
-rw-r--r--recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p4.0.bb39
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc455
-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.2.4.p4.0-aarch32.bb11
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p4.0-aarch64.bb6
-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/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_%.bbappend32
-rw-r--r--recipes-graphics/pango/pango_%.bbappend5
-rw-r--r--recipes-graphics/piglit/piglit_%.bbappend6
-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.patch47
-rw-r--r--recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch40
-rw-r--r--recipes-graphics/waffle/waffle_%.bbappend23
-rw-r--r--recipes-graphics/wayland/required-distro-features.inc8
-rw-r--r--recipes-graphics/wayland/wayland-protocols/0001-linux-dmabuf-support-passing-buffer-DTRC-meta-to-com.patch49
-rw-r--r--recipes-graphics/wayland/wayland-protocols/0001-unstable-Add-alpha-compositing-protocol.patch195
-rw-r--r--recipes-graphics/wayland/wayland-protocols/0002-unstable-Add-hdr10-metadata-protocol.patch134
-rw-r--r--recipes-graphics/wayland/wayland-protocols_1.17.imx.bb30
-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.bbappend97
-rw-r--r--recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini25
-rw-r--r--recipes-graphics/wayland/weston-init/imxdrm/weston.config2
-rwxr-xr-xrecipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config1
-rwxr-xr-xrecipes-graphics/wayland/weston-init/mx6sl/weston.config3
-rw-r--r--recipes-graphics/wayland/weston-init/mx8mm/weston.config2
-rw-r--r--recipes-graphics/wayland/weston-init/weston.config2
-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-make-error-portable.patch78
-rw-r--r--recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch173
-rw-r--r--recipes-graphics/wayland/weston/0001-weston.ini-using-argb8888-as-gbm-default-on-mscale-8.patch26
-rw-r--r--recipes-graphics/wayland/weston/0002-weston.ini-configure-desktop-shell-size-in-weston-co.patch28
-rw-r--r--recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch30
-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.bb211
-rw-r--r--recipes-graphics/wayland/weston_11.0.3.imx.bb188
-rw-r--r--recipes-graphics/wayland/weston_5.0.0.imx.bb154
-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.2.4.p4.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/mx7/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/mxs/xorg.conf)0
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-bsp/xorg.conf12
-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/cryptodev/cryptodev-qoriq-linux_1.9.bb16
-rw-r--r--recipes-kernel/cryptodev/cryptodev-qoriq-module_1.9.bb21
-rw-r--r--recipes-kernel/cryptodev/cryptodev-qoriq-tests_1.9.bb26
-rw-r--r--recipes-kernel/cryptodev/cryptodev-qoriq_1.9.inc26
-rw-r--r--recipes-kernel/cryptodev/yocto_patches/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch50
-rw-r--r--recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch22
-rw-r--r--recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch28
-rw-r--r--recipes-kernel/dtc/dtc-145_git.bb20
-rw-r--r--recipes-kernel/dtc/files/0001-Fix-compiler-warnings-seen-with-musl.patch55
-rw-r--r--recipes-kernel/dtc/files/make_install.patch17
-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.2.4.p4.0.bb26
-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.2.4.p1.2+fslc.bb)8
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb24
-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-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/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch91
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-qca6174_2.1.bb15
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-qca9377_2.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-rt/0001-fix-build.patch71
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch85
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch126
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch31
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/defconfig439
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb26
-rw-r--r--recipes-kernel/linux/linux-fslc-imx/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch51
-rw-r--r--recipes-kernel/linux/linux-fslc-imx/defconfig426
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_4.9-1.0.x.bb16
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.6.bb78
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-4.19.bb19
-rw-r--r--recipes-kernel/linux/linux-fslc-lts-4.19/defconfig447
-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-qoriq_5.4.bb17
-rw-r--r--recipes-kernel/linux/linux-fslc.inc10
-rw-r--r--recipes-kernel/linux/linux-fslc/defconfig453
-rw-r--r--recipes-kernel/linux/linux-fslc/mx25/defconfig190
-rw-r--r--recipes-kernel/linux/linux-fslc/mxs/defconfig177
-rw-r--r--recipes-kernel/linux/linux-fslc_5.1.bb19
-rw-r--r--recipes-kernel/linux/linux-fslc_6.6.bb39
-rw-r--r--recipes-kernel/linux/linux-imx-4.14.98/0001-compiler-attributes-add-support-for-copy-gcc-9.patch151
-rw-r--r--recipes-kernel/linux/linux-imx-4.14.98/0002-include-linux-module.h-copy-init-exit-attrs-to-.patch139
-rw-r--r--recipes-kernel/linux/linux-imx-4.14.98/imx/defconfig464
-rw-r--r--recipes-kernel/linux/linux-imx-4.14.98/mx8/defconfig828
-rw-r--r--recipes-kernel/linux/linux-imx-headers_4.14.98.bb57
-rw-r--r--recipes-kernel/linux/linux-imx-headers_6.6.bb78
-rw-r--r--recipes-kernel/linux/linux-imx-mfgtool-4.14.98/defconfig466
-rw-r--r--recipes-kernel/linux/linux-imx-mfgtool_4.14.98.bb14
-rw-r--r--recipes-kernel/linux/linux-imx.inc56
-rw-r--r--recipes-kernel/linux/linux-imx_4.14.98.bb23
-rw-r--r--recipes-kernel/linux/linux-imx_6.6.bb33
-rw-r--r--recipes-kernel/linux/linux-mfgtool.inc7
-rw-r--r--recipes-kernel/linux/linux-qoriq.inc (renamed from recipes-kernel/linux/linux-qoriq_4.19.bb)40
-rw-r--r--recipes-kernel/linux/linux-qoriq/0001-Makfefile-add-cflags.patch26
-rw-r--r--recipes-kernel/linux/linux-qoriq_4.14.bb70
-rw-r--r--recipes-kernel/linux/linux-qoriq_5.10.bb8
-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--recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch117
-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_%.bbappend13
-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/files/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch35
-rw-r--r--recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch42
-rw-r--r--recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch47
-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.14.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-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch45
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.14.imx/configure-allow-to-disable-libssh2.patch61
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-fix-build-for-opencv-3-4-2.patch63
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-Fix-build-with-opencv-3.4.5.patch40
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb173
-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-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch167
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0001-gstreamer1.0-plugins-base-Fix-ion.h-header-inclusion.patch45
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch289
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0003-riff-add-missing-include-directories-when-calling-in.patch28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch27
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/make-gio_unix_2_0-dependency-configurable.patch45
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocator-Fix-typcasts.patch47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb76
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.%.bbappend3
-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.14.%.bbappend3
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb71
-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_2.2.0.bb68
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_git.bb71
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc19
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc73
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.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_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-tests-respect-the-idententaion-used-in-meson.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch107
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch50
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch74
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch107
-rwxr-xr-xrecipes-multimedia/gstreamer/gstreamer1.0/run-ptest2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb76
-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/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch44
-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.4.5.bb83
-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.4.5.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.bb22
-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.4.5.bb)24
-rw-r--r--recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.3.bb22
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.4.5.bb32
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb28
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb (renamed from recipes-multimedia/libimxvpuapi/libimxvpuapi2_git.bb)18
-rw-r--r--recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb10
-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)22
-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/tee-supplicant.service11
-rw-r--r--recipes-security/optee-imx/optee-client_4.0.0.imx.bb7
-rw-r--r--recipes-security/optee-imx/optee-fslc.inc26
-rw-r--r--recipes-security/optee-imx/optee-os-fslc-imx.inc26
-rw-r--r--recipes-security/optee-imx/optee-os-fslc.inc87
-rw-r--r--recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch245
-rw-r--r--recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch34
-rw-r--r--recipes-security/optee-imx/optee-os/0003-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch133
-rw-r--r--recipes-security/optee-imx/optee-os/0004-core-link-add-no-warn-rwx-segments.patch67
-rw-r--r--recipes-security/optee-imx/optee-os_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_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.bb29
-rw-r--r--recipes-security/optee/optee-client-qoriq/0001-GCC-8-format-truncation-error.patch35
-rw-r--r--recipes-security/optee/optee-client-qoriq/0001-flags-CFLAGS-add-Wno-cpp.patch28
-rw-r--r--recipes-security/optee/optee-os-qoriq/0001-Fix-alignment-of-data-for-mempool_alloc_pool.patch148
-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_git.bb78
-rw-r--r--recipes-security/optee/optee-test-qoriq/0001-fix-build-failure-with-GCC-9.patch28
-rw-r--r--recipes-security/optee/optee-test-qoriq_git.bb49
-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.patch37
-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.patch180
-rw-r--r--recipes-support/opencv/opencv/0001-Dont-use-isystem.patch28
-rw-r--r--recipes-support/opencv/opencv/0001-Make-ts-module-external.patch42
-rw-r--r--recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch32
-rw-r--r--recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch31
-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.patch71
-rw-r--r--recipes-support/opencv/opencv/OpenCV_DNN_examples.patch141
-rw-r--r--recipes-support/opencv/opencv/download.patch41
-rw-r--r--recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch408
-rw-r--r--recipes-support/opencv/opencv_4.6.0.imx.bb318
-rwxr-xr-xscripts/convert-bsp-specific-overrides87
-rw-r--r--wic/imx-imx-boot-bootpart.wks.in13
-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
743 files changed, 23142 insertions, 17666 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/.gitignore b/.gitignore
index b25c15b8..983cee9c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,5 @@
*~
+*.bak
+*.orig
+*.rej
+*.swp
diff --git a/EULA b/EULA
index 4504a14d..64d5ecb6 100644
--- a/EULA
+++ b/EULA
@@ -1,380 +1,326 @@
-LA_OPT_BASE_LICENSE v24 May 2018
-
-
-
+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, you
-indicate that you 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.
-
-
+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
+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
+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 you, as an authorized representative of your
-employer, or if you have no employer, as an individual (together "you"), and
-NXP B.V. ("NXP"). It concerns your rights to use the software identified in
-the Software Content Register and provided to you in binary or source code form
-and any accompanying written materials (the "Licensed Software"). The Licensed
-Software may include any updates or error corrections or documentation relating
-to the Licensed Software provided to you by NXP under this License. In
-consideration for NXP allowing you to access the Licensed 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 Licensed
-Software. If you change your mind later, stop using the Licensed Software and
-delete all copies of the Licensed 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. For NXP, the term "Affiliate" means (i) any Person Controlled by NXP
-Semiconductors N.V. or (ii) any Person Controlled by any transferee of all or
-substantially all of the assets of NXP Semiconductors N.V., where "Controlled"
-means the direct or indirect beneficial ownership of more than fifty percent
-(50%) of the voting stock, or decision-making authority in the event that there
-is no voting stock, in another entity; provided, any such Person described in
-clause (i) or (ii) shall be deemed to be an "Affiliate" only for so long as
-such Person is Controlled by NXP Semiconductors N.V. or such transferee. For
-the purposes of this definition, "Person" is defined to mean "an individual,
-corporation, partnership, limited liability company, association,
-unincorporated association, trust or other entity or organization, including a
-government or political subdivision or an agency or instrumentality thereof."
-
-1.2. "Essential Patent" means a patent to the limited extent that infringement
-of such patent cannot be avoided in remaining compliant with the technology
-standards implicated by the usage of any of the Licensed Software, including
-optional implementation of the standards, on technical but not commercial
-grounds, taking into account normal technical practice and the state of the art
-generally available at the time of standardization.
-
-1.3. "Intellectual Property Rights" means any and all rights under statute,
+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
+provided to you in binary or source code form and any accompanying written
+materials (the "Licensed Software"). The Licensed Software may include any
+updates or error corrections or documentation relating to the Licensed Software
+provided to you by NXP under this Agreement. In consideration for NXP allowing
+you to access the Licensed 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 Licensed Software. If you change your mind
+later, stop using the Licensed Software and delete all copies of the Licensed
+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
+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
+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,
including any applications for and the right to apply for, any of the foregoing.
-
-1.4. "Software Content Register" means the documentation accompanying the
-Licensed Software which identifies the contents of the Licensed Software,
-including but not limited to identification of any Third Party Software.
-
-1.5. "Third Party Software" means, any software included in the Licensed
-Software that is not NXP Proprietary software, and is not open source software,
+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. 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 is 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.2. Exclusively in connection with your development and distribution of
-product containing a programmable processing unit (e.g. a microprocessor,
-microcontroller, sensor or digital signal processor) ("NXP Product") supplied
-directly or indirectly from NXP ("Authorized System"), and exclusively for use
-with or integrated within an NXP Product, NXP grants you a world-wide,
-personal, non-transferable, non-exclusive, non-sublicensable, license, under
-NXP's Intellectual Property Rights:
-
-(a) to use and reproduce the Licensed Software only as part of, or integrated
-within, Authorized Systems and not on a standalone basis;
-
-(b) to directly or indirectly manufacture, demonstrate, copy, distribute,
-market and sell the Licensed Software in object code (machine readable) only as
-part of, or embedded within, Authorized Systems in object code form 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.
-
-(c) to copy, use and distribute as needed, solely in connection with an
-Authorized System, proprietary NXP information associated with the Licensed
-Software for the purpose of developing, maintaining and supporting Authorized
-Systems with which the Licensed Software is integrated or associated.
-
-
-
-2.3. For Licensed Software provided to you in source code form (human
-readable), exclusively for use with or integrated within an NXP Product, NXP
-further grants to you a worldwide, personal, non-transferable, non-exclusive,
-non-sublicensable, license, under NXP's Intellectual Property Rights:
-
-(a) to prepare derivative works of the Licensed Software, only as part of, or
-integrated within, Authorized Systems and not on a standalone basis;
-
-(b) to use, demonstrate, copy, distribute, market and sell the derivative
-works of the Licensed Software in object code (machine readable) only as part
-of, or integrated 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.
-
-2.4. You may use subcontractors on your premises to exercise your rights under
-Section 2.2 and 2.3 so long as you have an agreement in place with the
+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
+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)) 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
+2.2(b)) in object code (machine readable format) only as part of, or embedded
+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 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
+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.3 only extend to NXP intellectual
-property rights that would be infringed by the 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 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.
-
-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 sublicensees 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 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 (c)(1) and (c)(2).
-
-3.6. You grant to NXP a non-exclusive, non-transferable, irrevocable,
+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
+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
+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 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 information, results or data associated
-with the use of the Licensed Software to anyone other than NXP; however, you
-must advise NXP of any results obtained including any problems or suggested
-improvements thereof. 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 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. Subject to NXP's ownership
-interest in the underlying Licensed Software, all intellectual property rights
-associated with, and title to, your Authorized System will be retained by or
-will vest in you. 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 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 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 licensees.
-
-6. PATENT COVENANT NOT TO SUE. As partial, material consideration
-for the rights granted to you under this Agreement, you covenant not to sue or
-otherwise assert your patents against NXP, a NXP Affiliate or subsidiary, or a
-NXP licensee of the Licensed Software for infringement of your Intellectual
-Property Rights by the manufacture, use, sale, offer for sale, importation or
-other disposition or promotion of the Licensed Software and/or any
-redistributed portions of the Licensed Software.
-
-7. ESSENTIAL PATENTS. You are solely responsible for obtaining
-licenses for any relevant Essential Patents for your use in connection with
-technology that you incorporate into your product (whether as part of the
-Licensed Software or not).
-
-8. TERM AND TERMINATION. This Agreement will remain in effect
-unless terminated as provided in this Section 8.
-
-8.1. You may terminate this Agreement immediately upon written notice to NXP at
-the address provided below.
-
-8.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
+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
+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
+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.
+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
+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 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.
-
-8.3. Notwithstanding the foregoing, NXP may terminate this Agreement
+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,
-insolvent, or file a petition for bankruptcy or insolvency, make an assignment
+obligations or the license restrictions under this Agreement; become bankrupt,
+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 its business or assets.
-
-8.4. Upon termination of this Agreement, all licenses granted under Section 2
-will expire, except that any licenses extended to end-users pursuant to
-Sections 2.2(b), 2.2(c), and 2.3(b), which have been granted prior to such
-termination will survive.
-
-8.5. After termination of this Agreement by either party and upon NXP's written
-request, you will, at your discretion, return to the NXP any confidential
-information including all copies thereof or furnish to NXP at the address
-below, a statement certifying, with respect to the Licensed Software delivered
-hereunder that the original and all copies, except for archival copies to be
-used solely for dispute resolution purposes, in whole or in part, in any form,
-of the Licensed Software have been destroyed.
-
-8.6. Notwithstanding the termination of this Agreement for any reason, the
-terms of Sections 1, 3, 5 through 25 will survive.
-
-9. SUPPORT. NXP is not obligated to provide any support, upgrades
-or new releases of the Licensed Software under this Agreement. If you wish, you
+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
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.
-
-
-10. 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, 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).
-
-11. 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 contractors or distributee's use, if permitted)
-of the Licensed Software or (2) your violation of the terms and conditions of
-this Agreement.
-
-12. LIMITATION OF LIABILITY. EXCLUDING LIABILITY FOR A BREACH OF
+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,
+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
+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 17 (CONFIDENTIAL INFORMATION), OR CLAIMS UNDER SECTION 11(INDEMNITY),
+SECTION 16 (CONFIDENTIAL INFORMATION), OR CLAIMS UNDER SECTION 10 (INDEMNITY),
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 TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
-
-
-13. EXPORT COMPLIANCE. Each party shall comply with all applicable
+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 Regulations (including prohibited party lists issued
-by other federal governments), Catch-all regulations and all national and
-international embargoes. Each party further agrees that it will not knowingly
-transfer, divert, export or re-export, directly or indirectly, any product,
-software, including software source code, or technology restricted by such
-regulations or by other applicable national regulations, received from the
-other party under this Agreement, or any direct product of such software or
-technical data to any person, firm, entity, country 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.
-
-14. GOVERNMENT CONTRACT COMPLIANCE.
-
-14.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 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.
-
-14.2. The Licensed Software has been developed at private
-expense and is a "Commercial Item" as defined in 48 C.F.R. §2.101, consisting
-of "Commercial Computer Software", and/or "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 may only be licensed to or shared with U.S.
-Government end users in object code form as part of, or embedded 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.
-
-15. SAFETY CRITICAL APPLICATIONS
-
-15.1. In some cases, NXP may promote certain Licensed Software
-for use in safety-related applications. NXP's goal is to educate licensees so
-that they can design their own end-product solutions to meet applicable
-functional safety standards and requirements. You make the ultimate design
-decisions regarding your products and are solely responsible for compliance
-with all legal, regulatory, safety, and security related requirements
-concerning your products, regardless of any information or support that may be
-provided by NXP. Accordingly, you 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 your incorporation of any
-product in a safety-critical application or system.
-
-15.2. Only Licensed Software that NXP has specifically
-designated as "Automotive Qualified" is intended for use in automotive,
-military, or aerospace applications or environments. If you use Licensed
-Software that has not been designated as "Automotive Qualified" in an
-automotive, military, or aerospace application or environment, you do so at
-your own risk.
-
-15.3. Licensed Software is not intended or authorized for any
-use in anti-personnel landmines.
-
-16. CHOICE OF LAW; VENUE. This Agreement will be governed by,
+US Export Administration Regulation (including restrictions on certain military
+end uses and military end users as specified in Section 15 C.F.R. § 744.21 and
+prohibited party lists issued by other federal governments), Catch-all
+regulations and all national and international embargoes. Each party further
+agrees that it will not knowingly transfer, divert, export or re-export,
+directly or indirectly, any product, software, including software source code,
+or technology restricted by such regulations or by other applicable national
+regulations, received from the other party under this Agreement, or any direct
+product of such software or technical data to any person, firm, entity, country
+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
+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
+Documentation," as such terms are used in 48 C.F.R. Section 12.212 (or 48
+C.F.R. Section 227.7202, as applicable) and may only be licensed to or shared
+with U.S. Government end users in object code form as part of, or embedded
+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
+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,
+safety, and security related requirements concerning its products, regardless
+of any information or support that may be provided by NXP. As such, Licensee
+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.
+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
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
+Netherlands. The United Nations Convention on Contracts for the International
Sale of Goods will not apply to this document.
-
-17. CONFIDENTIAL INFORMATION. Subject to the license grants and
+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
-confidence perpetually, with respect to Licensed 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 Licensed
-Software. During this period, you may not disclose any part of the Licensed
-Software to anyone other than employees, or sub-contractors in accordance with
-Section 2.4 who have a need to know of the Licensed 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
-Licensed Software as you do with your own confidential information. You may
-disclose Licensed Software to the extent required by a court or under operation
-of law or order provided that you notify NXP of such requirement prior to
-disclosure, which you only disclose information required, and that you allow
-NXP the opportunity to object to such court or other legal body requiring such
+confidence perpetually. You may not disclose any part of the Licensed Software
+to anyone other than distributees in accordance with Section 2.3 and employees,
+or subcontractors in accordance with Section 2.5, who have a need to know of
+the Licensed Software and who have executed written agreements obligating them
+to protect such Licensed Software to at least the same degree of
+confidentiality as in this Agreement. You agree to use the same degree of care,
+but no less than a reasonable degree of care, with the Licensed Software as you
+do with your own confidential information. You may disclose Licensed Software
+to the extent required by a court or under operation of law or order provided
+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.
-
-18. TRADEMARKS. You are not authorized to use any NXP trademarks,
-brand names, or logos.
-
-19. 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.
-
-20. SEVERABILITY. If any provision of this Agreement is held for any
+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
invalid or unenforceable provision is further held to deprive you or NXP of a
@@ -382,278 +328,419 @@ 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.
-
-21. 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
+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.
-
-22. 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, 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.
-
-23. NOTICES. All notices and communications under this
+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,
+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
-
-
-
- You: The address provided at registration will
-be used.
-
-24. 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
+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.
+
+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.
-
-25. 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.
-
-
-
-
+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
-is either 1) not NXP proprietary software or 2) NXP proprietary software
-subject to different terms than those in the Agreement. If the Software
-Content Register that accompanies the Licensed Software identifies any of the
-following Third 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:
-
-
-
-Third Party Software Use Restrictions
-
-Amphion Semiconductor Ltd.
-Distribution of Amphion software must be a part of, or embedded within,
-Authorized Systems that include an Amphion Video Decoder.
-
-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.
-
-ATI (AMD)
-Distribution of ATI software must be a part of, or embedded within, Authorized
-Systems that include a ATI graphics processor core.
-
-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.
-
-Cadence Design Systems
-Use of Cadence audio codec software is limited to evaluation and demonstration
-only of one copy embedded in a single NXP Product. Further rights must be
-obtained from Cadence. The license granted 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.
-
-Cirque Corporation
-Use of Cirque Corporation technology is limited to evaluation, demonstration,
-or certification testing only. Permitted distributions must be similarly
-limited. Further rights, including but not limited to ANY commercial
-distribution rights, must be obtained directly from Cirque Corporation.
-
-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.
-
-CSR
-Use of Cambridge Silicon Radio, Inc. ("CSR") software is limited to evaluation
+is either 1) Third Party Software or 2) NXP proprietary software subject to
+different terms than those in the Agreement. If the Software Content Register
+that accompanies the Licensed Software identifies any of the following Third
+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". 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.
+
+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.
+
+Cadence Design Systems: Use of Cadence audio codec software is limited to
+distribution only of one copy per single NXP Product. The license granted
+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. Your use of Cadence
+NatureDSP Libraries whether in source code or in binary is restricted to NXP
+SoC based systems or emulation enablement based on NXP SoC.
+
+CEVA D.S.P. Ltd. And CEVA Technologies Inc. ("CEVA"): The CEVA-SPF2 linear
+algebra, CEVA-SPF2 Neural Network Libraries, CEVA-SPF2 Core Libraries,
+CEVA-SPF2 OpenAMP and CEVA-SPF2 STL licensed modules are owned by CEVA and such
+materials may only be used in connection with an NXP product containing the
+S250 or S125 integrated circuits, whether or not the CEVA-SPF2 Core is
+physically implemented and/or enabled on such NXP product
+
+Cirque Corporation: Use of Cirque Corporation technology is limited to
+evaluation, demonstration, or certification testing only. Permitted
+distributions must be similarly limited. Further rights, including but not
+limited to ANY commercial distribution rights, must be obtained directly from
+Cirque Corporation.
+
+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 directly from CSR.
-
-NXP Wireless Charging Library
-License to the Software is limited to use in inductive coupling or wireless
-charging applications
-
-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.
-
-Imagination Technologies Limited (IMG)
-If the Licensed Software includes proprietary software developed by IMG, your
-rights are limited to a non-exclusive, world-wide right and nontransferable and
-non-sub-licensable license (i) to use and modify the Licensed Software and
-documentation and (ii) to copy and distribute the Licensed Software only in
-object code form solely for use on NXP Rayleigh products. If you are provided
-with the Licensed Software in source code format, you are restricted to
-accessing only those deliverables in source code format which are necessary for
-you to carry out either specific customization or porting work in association
-with NXP's Rayleigh products or your Authorized System.
-
-The confidentiality restrictions shall continue in force without limit in time
-notwithstanding the termination or expiration of this Agreement.
-
-Micrium
-uC/OS-II and uC/OS-III is provided in source form for FREE short-term
-evaluation, for educational use or for peaceful research. If you plan or
-intend to use uC/OS-II or uC/OS-III in a commercial application/product then,
-you need to contact Micrium to properly license uC/OS-II or uC/OSIII for its
-use in your application/product. We provide ALL the source code for your
-convenience and to help you experience uC/OS-II or uC/OSIII. The fact that the
-source is provided does NOT mean that you can use it commercially without
-paying a licensing fee.
-
-Microsoft
-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 Software") and as such, NXP
-grants no license to you, beyond evaluation and demonstration in connection
-with NXP processors, in the Microsoft Underlying Licensed Software. You must
-separately obtain rights beyond evaluation and demonstration in connection with
-the Microsoft Underlying Licensed Software from Microsoft.
-
-Microsoft does not provide support services for the components provided to you
-through this Agreement. If you have any questions or require technical
-assistance, please contact NXP. Microsoft Corporation is a third party
-beneficiary to this Agreement with the right to enforce the terms of this
-Agreement. TO THE MAXIMUM EXTENT PERMITTED BY LAW, MICROSOFT AND ITS
-AFFILIATES DISCLAIM ANY WARRANTIES FOR THE
-MICROSOFT UNDERLYING LICENSED SOFTWARE. TO THE MAXIMUM
-EXTENT PERMITTED BY LAW, NEITHER MICROSOFT NOR ITS AFFILIATES
-WILL BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY
-DIRECT, 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, ARISING FROM THE FROM THE USE OF THE MICROSOFT UNDERLYING LICENSED
-SOFTWARE.
-
-MindTree
-Notwithstanding the terms contained in Section 2.3 (a), if the Licensed
-Software includes proprietary software of MindTree in source code format,
-Licensee may make modifications and create derivative works only to the extent
-necessary for debugging of the Licensed Software.
-
-MPEG LA
-Use of MPEG LA audio or video codec technology is limited to evaluation and
+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.
+
+Crank: Use of Crank Software Inc. software is limited to evaluation and
demonstration only. Permitted distributions must be similarly limited. Further
-rights must be obtained directly from MPEG LA.
-
-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.
-
-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/
-
-Qualcomm Atheros, Inc.
-Notwithstanding anything in this Agreement, Qualcomm Atheros, Inc. Wi-Fi
-software must be used strictly in accordance with the Qualcomm Atheros, Inc.
-Technology License Agreement that accompanies such software. Any other use is
-expressly prohibited.
-
-Real Networks - its GStreamer Optimized Real Format Client Code implementation
-or OpenMax Optimized Real Format Client Code
-Use of the GStreamer Optimized Real Format Client Code, or OpenMax Optimized
-Real Format Client code is restricted to applications in the automotive market.
- Licensee must be a final manufacturer in good standing with a current license
-with Real Networks for the commercial use and distribution of products
-containing the GStreamer Optimized Real Format Client Code implementation or
-OpenMax Optimized Real Format Client Code
-
-Real Time Engineers Ltd.
-Any FreeRTOS source code, whether modified or in its original release form, or
-whether in whole or in part, can only be distributed by you under the terms of
-version 2 of the GNU General Public License plus this exception. An
-independent module is a module which is not derived from or based on FreeRTOS.
-
-Clause 1: Linking FreeRTOS with other modules is making a combined work based
-on FreeRTOS. Thus, the terms and conditions of the GNU General Public License
-V2 cover the whole combination.
-
-As a special exception, the copyright holders of FreeRTOS give you permission
-to link FreeRTOS with independent modules to produce a statically linked
-executable, regardless of the license terms of these independent modules, and
-to copy and distribute the resulting executable under terms of your choice,
-provided that you also meet, for each linked independent module, the terms and
-conditions of the license of that module. An independent module is a module
-which is not derived from or based on FreeRTOS.
-
-Clause 2: FreeRTOS 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 Real Time Engineers Ltd. (this is the norm
-within the industry and is intended to ensure information accuracy).
-
-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 intellectual property. Such use constitutes a breach of this
-Agreement. Any such use rights must be obtained directly from RivieraWaves.
-
-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
+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 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
+
+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
+Software") and as such, NXP grants no license to you, beyond evaluation and
+demonstration in connection with NXP processors, in the Microsoft Underlying
+Licensed Software. You must separately obtain rights beyond evaluation and
+demonstration in connection with the Microsoft Underlying Licensed Software
+from Microsoft. Microsoft does not provide support services for the components
+provided to you through this Agreement. If you have any questions or require
+technical assistance, please contact NXP. Microsoft Corporation is a third
+party beneficiary to this Agreement with the right to enforce the terms of this
+Agreement. TO THE MAXIMUM EXTENT PERMITTED BY LAW, MICROSOFT AND ITS
+AFFILIATES DISCLAIM ANY WARRANTIES FOR THE MICROSOFT UNDERLYING LICENSED
+SOFTWARE. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NEITHER MICROSOFT NOR ITS
+AFFILIATES WILL BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY
+DIRECT, 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, ARISING
+FROM THE FROM THE USE OF THE MICROSOFT UNDERLYING LICENSED SOFTWARE. With
+respect to the Microsoft PlayReady software, you will have the license rights
+granted in Section 2, provided that you may not use the Microsoft PlayReady
+software unless you have entered into a Microsoft PlayReady Master Agreement
+and license directly with Microsoft.
+
+MindTree: Notwithstanding the terms contained in Section 2.3 (a), if the
+Licensed Software includes proprietary software of MindTree in source code
+format, Licensee may make modifications and create derivative works only to the
+extent necessary for debugging of the Licensed Software.
+
+MM SOLUTIONS AD: Use of MM SOLUTIONS AEC (Auto Exposure Control) and AWB (Auto
+White Balance) software is limited to demonstration, testing, and evaluation
+only. In no event may Licensee distribute or sublicense the MM SOLUTIONS
+software. Further rights must be obtained directly from MM SOLUTIONS.
+
+MPEG LA: Use of MPEG LA audio or video codec technology is limited to
+evaluation and demonstration only. Permitted distributions must be similarly
+limited. Further rights must be obtained directly from MPEG LA.
+
+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/
+
+Oracle JRE (Java): The Oracle JRE must be used consistent with terms found
+here: http://java.com/license
+
+P&E Micro: P&E Software must be used consistent with the terms found here:
+http://www.pemicro.com/licenses/gdbserver/license_gdb.pdf
+
+Pro Design Electronic: Licensee may not modify, create derivative works based
+on, or copy the Pro Design software, documentation, hardware execution key or
+the accompanying materials. Licensee shall not use Pro Design's or any of its
+licensors names, logos or trademarks to market the Authorized System. Only NXP
+customers and distributors are permitted to further redistribute the Pro Design
+software and only as part of an Authorized System which contains the Pro Design
+software.
+
+Qualcomm Atheros, Inc.: Notwithstanding anything in this Agreement, Qualcomm
+Atheros, Inc. Wi-Fi software must be used strictly in accordance with the
+Qualcomm Atheros, Inc. Technology License Agreement that accompanies such
+software. Any other use is expressly prohibited.
+
+Real Networks - GStreamer Optimized Real Format Client Code implementation or
+OpenMax Optimized Real Format Client Code: Use of the GStreamer Optimized Real
+Format Client Code, or OpenMax Optimized Real Format Client code is restricted
+to applications in the automotive market. Licensee must be a final
+manufacturer in good standing with a current license with Real Networks for the
+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
+intellectual property. Such use constitutes a breach of this Agreement. Any
+such use rights must be obtained directly from RivieraWaves.
+
+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
+(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
-
+(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
all rights to any modifications or derivative works to the SanDisk Corporation
Licensed Software that you may create.
-SEGGER Microcontroller
-Your use of SEGGER emWin software is restricted to NXP ARM7, ARM9, Cortex-M0,
-Cortex-M3, and Cortex-M4 based devices only.
-
-Synopsys/Target Compiler Technologies
-Your use of the Synopsys/Target Compiler Technologies Licensed Software and
-related documentation is subject to the following:
-
-* Duration of the license for the Licensed Software is limited to 12
-months, unless otherwise specified in the license file.
-* The Licensed Software is usable by one user at a time on a single
+SEGGER Microcontroller - emWin Software: Your use of SEGGER emWin software and
+components is restricted for development of NXP ARM7, ARM9, Cortex-M0,
+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.
-* Licensed Software and documentation are to be used only on a designated
+(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.
-* The Licensed Software is not sub-licensable.
-
-
-Texas Instruments
-Your use of Texas Instruments Inc. WiLink8 Licensed Software is restricted to
-NXP SoC based systems that include a compatible connectivity device
-manufactured by TI.
-
-Vivante
-Distribution of Vivante software must be a part of, or embedded within,
-Authorized Systems that include a Vivante Graphics Processing Unit.
+(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.
+
+Texas Instruments: Your use of Texas Instruments Inc. WiLink8 Licensed Software
+is restricted to NXP SoC based systems that include a compatible connectivity
+device manufactured by TI.
+
+TES Electronic Solutions Germany (TES): TES 3D Surround View software and
+associated data and documentation may only be used for evaluation purposes and
+for demonstration to third parties in integrated form on a board package
+containing an NXP S32V234 device. Licensee may not distribute or sublicense the
+TES software. Your license to the TES software may be terminated at any time
+upon notice.
+
+Vivante: Distribution of Vivante software must be a part of, or embedded
+within, Authorized Systems that include a Vivante Graphics Processing Unit.
diff --git a/README b/README
deleted file mode 100644
index fee03955..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/listinfo/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-4.1.15-2.0.0.txt b/SCR/SCR-4.1.15-2.0.0.txt
deleted file mode 100644
index ec0274c6..00000000
--- a/SCR/SCR-4.1.15-2.0.0.txt
+++ /dev/null
@@ -1,404 +0,0 @@
-NXP Software Content Register
-
-Release - Linux 4.1.15
-
-Date Created: 2016-Sep-14
-
---------------------------------------------
-BSP PACKAGES
---------------------------------------------
-
-Package: linux-2.6-imx
-
-Outgoing License: GPL-2.0+
-
-License Files: COPYING: GPL-2.0
-
-Package Category: BSP
-
-Type of content: Source code
-
-Description and comments: The Linux kernel with i.MX-specific drivers
-
-Release Location: git.freescale.com branch imx_4.1.15_2.0.0_ga
-
-Origin: Freescale Semiconductor, Inc. (GPL-2.0+)
- kernel.org (GPL-2.0+) - https://www.kernel.org/
-
---------------------------------------------
-
-Package: uboot-imx
-
-Outgoing License: GPL-2.0+
-
-License Files: COPYING: GPL-2.0
-
-Package Category: Bootloader
-
-Type of content: Source code
-
-Description and comments: Bootloader with i.MX-specific capabilities
-
-Release Location: git.freescale.com branch imx_v2016.03_4.1.15_2.0.0_ga
-
-Origin: Freescale Semiconductor, Inc. (GPL-2.0+)
- Das U-Boot - Universal Bootloader (LGPL-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: firmware-imx-5.4.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v12 March 2016
-
-License Files: COPYING
-
-Package Category: BSP
-
-Type of content: Binaries
-
-Description and comments: BSP firmware - EPDC, SDMA, VPU
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
- Chips & Media, Inc. (proprietary)
-
---------------------------------------------
-
-Package: imx-lib-5.5.tar.gz
-
-Outgoing License: LGPL-2.1+
-
-License Files: COPYING-LGPL-2.1
-
-Package Category: BSP
-
-Type of content: Source code
-
-Description and comments: BSP libraries
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (LGPL-2.1+)
-
---------------------------------------------
-
-Package: imx-test-5.7.tar.gz
-
-Outgoing License: Each test has its own license
-
-License Files: See source code.
-
-Package Category: BSP
-
-Type of content: Source code
-
-Description and comments: Linux unit test applications
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
- Linux Test Project (GPL-2.0+) - https://github.com/linux-test-project/ltp
- Chips and Media Resource (GPL2+) - none
- RTC Test in Linux Kernel (GPL-2.0+) - http://kernel.org
- BlueZ (GPL-2.0+) - http://www.bluez.org/
- Embedded Alley v4l2 test (GPL-2.0+)
- Android Open Source Project (BSD-2-Clause) - https://source.android.com/
- Hantro Memalloc in Linux (GPL-2.0+)
- Linux driver for Atheros AR5210 802.11a (GPL-2.0+) - http://sourceforge.net/projects/ar5k/
- Hannu Savolainen's soundcard.h (BSD-2-clause)
-
---------------------------------------------
-
-Package: imx-vpu-5.4.35.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v12 March 2016
-
-License Files: COPYING
-
-Package Category: BSP
-
-Type of content: Source code
-
-Description and comments: VPU library
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
- Chips & Media, Inc. (proprietary)
-
---------------------------------------------
-GRAPHICS PACKAGES
---------------------------------------------
-
-Package: imx-gpu-viv-5.0.11.p8.6.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-License Files: COPYING
-
-Package Category: Graphics
-
-Type of content: Binaries, scripts and header files
-
-Description and comments: GPU Core IP in binary and test application source
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
- Vivante Corp. (proprietary)
- apitrace (MIT) - https://github.com/apitrace/apitrace
- opengleskul (MIT) - https://code.google.com/archive/p/opengleskul/
- Khronos Group (MIT) - http://www.khronos.org/
- 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: kernel-module-imx-gpu-viv-5.0.11.p8.6.tar.gz
-
-Outgoing License: GPL-2.0+
-
-License Files: See source code.
-
-Package Category: Graphics
-
-Type of content: Source code
-
-Description and comments: GPU kernel source provided for kernel loadable modules
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (GPL-2.0+)
- Vivante Corp. (proprietary)
-
---------------------------------------------
-
-Package: xserver-xorg-video-imx-viv-5.0.11.p8.6.tar.gz
-
-Outgoing License: MIT
-
-License Files: COPYING-MIT
-
-Package Category: Graphics
-
-Type of content: Source code
-
-Description and comments: Xserver Library extensions
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (MIT)
- Vivante Corp. (MIT)
- xorg-server (MIT) - http://xorg.freedesktop.org/
- XFree86 Project (XFree86-1.0) - http://sourceforge.net/projects/xfree86/
- xf86-video-freedreno (MIT) - http://github.com/freedreno/xf86-video-freedreno/
-
---------------------------------------------
-
-Package: imx-gpu-sdk-2.3.2.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-License Files: COPYING
-
-Package Category: Graphics
-
-Type of content: Source code
-
-Description and comments: Graphics sample applications
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
- DevIL (LGPL-2.1+) - https://sourceforge.net/projects/openil/ [separate binary]
- Templatized C++ Command Line Parser [tclap] (MIT) - http://sourceforge.net/projects/tclap/
- The Android Open Source Project (Apache-2.0) - https://source.android.com/
- Mesa 3D - Graphics Library (MIT) - http://mesa3d.sourceforge.net/
- "OpenGL(R) ES 3.0 Programming Guide" book samples (MIT) - http://github.com/zemanel/opengles-book-samples/
- The Khronos Group Inc. (MIT) - http://www.khronos.org/
- Wayland (Seetex License) - http://cgit.freedesktop.org/~krh/wayland/
- GetTimeOfDay (MIT) - unknown
- XFree86 (XFree86-1.0) - http://www.xfree86.org/
- Chromium (BSD) - https://github.com/bloomberg/chromium.bb/
-
---------------------------------------------
-
-Package: VivanteVTK-v5.0.11.p8.1.6.7.tgz
-
-Outgoing License: Vivante Licenses in each msi install
-
-License Files: included in msi install
-
-Package Category: Graphics
-
-Type of content: Setup MSI installations
-
-Description and comments: Vivante Tools
-
-Release Location: mx8_downloads
-
-Origin: VeriSilicon
-
---------------------------------------------
-MULTIMEDIA PACKAGES
---------------------------------------------
-
-Package: imx-gst1.0-plugin-4.1.4.tar.gz
-
-Outgoing License: LGPL-2.1+
-
-License Files: COPYING (GPL-2.0)
- COPYING-LGPL-2
- COPYING-LGPL-2.1
-
-Package Category: Multimedia
-
-Type of content: Source code
-
-Description and comments: i.MX Gstreamer 1.0 plugins
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (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: imx-codec-4.1.4.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-License Files: COPYING
-
-Package Category: Multimedia
-
-Type of content: Binaries and header files
-
-Description and comments: i.MX multimedia codec libraries
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (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.1.4.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-License Files: COPYING
-
-Package Category: Multimedia
-
-Type of content: Binaries and header files
-
-Description and comments: i.MX multimedia parser libraries
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
-
---------------------------------------------
-
-Package: imx-vpuwrap-1.0.68.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-License Files: COPYING
-
-Package Category: Multimedia
-
-Type of content: Source code
-
-Description and comments: i.MX VPU wrapper library
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
- sqlite (Public Domain) - http://www.hwaci.com/sw/sqlite/index.html
-
---------------------------------------------
-
-Package: imx-qtapplications-1.0.9.bin
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-License Files: COPYING
-
-Package Category: Multimedia
-
-Type of content: Binaries
-
-Description and comments: i.MX QT multimedia player application
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (proprietary)
-
---------------------------------------------
-
-Package: simg2img-1.0.0.tar.gz
-
-Outgoing License: Apache-2.0
-
-License Files: COPYING
-
-Package Category: Multimedia
-
-Type of content: Source
-
-Description and comments: Tool to convert Android sparse images to raw images
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (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-alsa-plugins-1.0.26
-
-Outgoing License: GPL-2.0+
-
-License Files: COPYING-GPL: GPL-2.0
-
-Package Category: Multimedia
-
-Type of content: Source
-
-Description and comments: Audio
-
-Release Location: i.MX Yocto Project mirror
-
-Origin: Freescale Semiconductor, Inc. (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 PACKAGES
---------------------------------------------
-Package: imx7d_sabresd_m4_freertos_1.0.1
-
-Outgoing License: LA_OPT_BASE_LICENSE v14 June 2016
-
-Description and comments: See the SW-Content-Register-FreeRTOS-BSP-1.0.1 for details
- on the contents and origins.
-
-Release Location: i.MX Yocto Project mirror
-
-Origin overview: Freescale Semiconductor, Inc. (BSD-3-clause)
- ARM (BSD-3-clause) - http://silver.arm.com
- Real Time Engineers, Ltd. (GPL-2.0-WITHfreertos-exception-2.0) - http://www.freertos.org
- Mentor Graphics, Ltd. (BSD-3-Clause) - https://github.com/OpenAMP/open-amp
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/dtc-145.bbclass b/classes/dtc-145.bbclass
deleted file mode 100644
index d4a30711..00000000
--- a/classes/dtc-145.bbclass
+++ /dev/null
@@ -1,7 +0,0 @@
-# Use this class for U-Boot 2017.03 or older.
-
-DEPENDS_append = " dtc-145-native"
-
-do_configure_prepend () {
- sed -i -e 's/^DTC[[:space:]]*=[[:space:]]*dtc[[:space:]]*$/DTC = dtc-145/' ${S}/Makefile
-}
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 03f576e5..46b0f9c4 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -6,43 +6,132 @@
#
# SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV};fsl-eula=true"
-LIC_FILES_CHKSUM_append = " file://${FSL_EULA_FILE};md5=ab61cab9599935bfe9f700405ef00f28"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8 = "01ba08a2b77c3a0a9d0ab5d4d83fed64"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V10 = "3880bb9c943b135a30fad5e8aabd3ee9"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V11 = "a31dce3023402a821cfcdc1bb8dbdbc0"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V12 = "8cf95184c220e247b9917e7244124c5a"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V13 = "102094e9e695888c6a9f9fda9004165d"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V14 = "d4f548f93b5fe0ee2bc86758c344412d"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V16 = "be67a88e9e6c841043b005ad7bcf8309"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V17 = "88595f92466edd79be7f4f9547ffa0ef"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V18 = "6b552f505eedab4a11ab538cf3db743a"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V20 = "08fd295cce89b0a9c74b9b83ed74f671"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V21 = "6bd2df2910a2234bf6f419b7d2f531a3"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V22 = "75abe2fa1d16ca79f87cde926f05f72d"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V24 = "ab61cab9599935bfe9f700405ef00f28"
+FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V26 = "5ab1a30d0cd181e3408077727ea5a2db"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V3 = "6dfb32a488e5fd6bae52fbf6c7ebb086"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V5 = "80c0478f4339af024519b3723023fe28"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V7 = "fb0303e4ee8b0e71c094171e2272bd44"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V8 = "72c0f70181bb6e83eee6aab8de12a9f3"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V9 = "6c12031a11b81db21cdfe0be88cac4b3"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V10 = "fd4b227530cd88a82af6a5982cfb724d"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11 = "228c72f2a91452b8a03c4cab30f30ef9"
+FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V13 = "1b4db4b25c3a1e422c0c0ed64feb65d2"
+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"
-LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE"
+FSL_EULA_FILE_MD5SUMS = " \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V10} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V11} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V12} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V13} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V14} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V16} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V17} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V18} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V20} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V21} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V22} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V24} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V26} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V3} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V5} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V7} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V8} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V9} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V10} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11} \
+ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V13} \
+ ${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} \
+"
-python fsl_bin_do_unpack() {
- src_uri = (d.getVar('SRC_URI') or "").split()
- if len(src_uri) == 0:
- return
+# The checksum for the EULA in the layer
+FSL_EULA_FILE_MD5SUM ?= \
+ "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53}"
- localdata = bb.data.createCopy(d)
- bb.data.update_data(localdata)
-
- rootdir = localdata.getVar('WORKDIR', True)
- fetcher = bb.fetch2.Fetch(src_uri, localdata)
+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}"
- for url in fetcher.ud.values():
- save_cwd = os.getcwd()
- # Check for supported fetchers
- if url.type in ['http', 'https', 'ftp', 'file']:
- if url.parm.get('fsl-eula', False):
- # If download has failed, do nothing
- if not os.path.exists(url.localpath):
- bb.debug(1, "Exiting as '%s' cannot be found" % url.basename)
- return
-
- # Change to the working directory
- bb.note("Handling file '%s' as a Freescale's EULA binary." % url.basename)
- save_cwd = os.getcwd()
- os.chdir(rootdir)
-
- cmd = "sh %s --auto-accept --force" % (url.localpath)
- bb.fetch2.runfetchcmd(cmd, d, quiet=True)
+LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE"
- # Return to the previous directory
- os.chdir(save_cwd)
+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')
@@ -56,13 +145,70 @@ python do_unpack() {
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
+
+ bb.build.exec_func('fsl_bin_do_unpack', d)
}
-do_unpack[vardepsexclude] += "FSL_EULA_FILE"
+python fsl_bin_do_unpack() {
+ src_uri = (d.getVar('SRC_URI') or "").split()
+ if len(src_uri) == 0:
+ return
+
+ localdata = bb.data.createCopy(d)
+
+ rootdir = localdata.getVar('WORKDIR', True)
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+
+ found = 0
+ for url in fetcher.ud.values():
+ # Skip this fetcher if it's not under EULA or if the fetcher type is not supported
+ if not url.parm.get('fsl-eula', False) or url.type not in ['http', 'https', 'ftp', 'file']:
+ continue
+ # If download has failed, do nothing
+ if not os.path.exists(url.localpath):
+ bb.debug(1, "Exiting as '%s' cannot be found" % url.basename)
+ return
+ found += 1
+ 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_licenses = ""
+ found_package_licenses = ""
+ for license in licenses.split():
+ try:
+ (method, host, path, user, pswd, parm) = bb.fetch.decodeurl(license)
+ if method != "file" or not path:
+ raise bb.fetch.MalformedUrl()
+ except bb.fetch.MalformedUrl:
+ 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_licenses += license
+ elif parm.get('md5') in md5sums:
+ bb.note("Found Freescale EULA for the package %s." % license)
+ 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 ff1075e5..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
+
+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 e0578f4e..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-base', ' kernel-module-imx-gpu-viv')
- e.data.appendVar('RREPLACES_kernel-base', ' kernel-module-imx-gpu-viv')
- e.data.appendVar('RCONFLICTS_kernel-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 703fa616..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 ffa67c8c..5186c2a4 100644
--- a/classes/qoriq_build_64bit_kernel.bbclass
+++ b/classes/qoriq_build_64bit_kernel.bbclass
@@ -1,13 +1,13 @@
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES_e6500 += "multiarch"
+inherit features_check
+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 9dcd864d..4baf4574 100644
--- a/classes/use-imx-headers.bbclass
+++ b/classes/use-imx-headers.bbclass
@@ -13,7 +13,25 @@
#
# Copyright 2018 (C) O.S. Systems Software LTDA.
-DEPENDS_append_imx = " linux-imx-headers"
-PACKAGE_ARCH_imx ?= "${MACHINE_SOCARCH}"
+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"
+
+PACKAGE_ARCH:imx-nxp-bsp ?= "${MACHINE_SOCARCH}"
STAGING_INCDIR_IMX = "${STAGING_INCDIR}/imx"
+
+# Recipes that inherit this class are contracted to use NXP BSP only.
+# This is done by overriding the COMPATIBLE_HOST, as this would effectively
+# cause recipes to be skipped in case if 'use-nxp-bsp' override is not
+# defined for them. This effectively marks recipes that should only be
+# built using NXP BSP, and gives an indication to mainline BSP creators
+# that recipe is not compatible with mainline.
+#
+# 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 = '.*'
diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass
new file mode 100644
index 00000000..f07580dd
--- /dev/null
+++ b/classes/use-imx-security-controller-firmware.bbclass
@@ -0,0 +1,36 @@
+#
+# Class to provide a possibility to re-use names of Security Controller (SECO)
+# Firmware files, which are required by certain derivatives on i.MX8 family.
+#
+# SECO Firmware names are used by imx-boot and imx-seco recipes, therefore
+# their respective definitions are moved into a separate class, which is
+# inherited by both recipes.
+#
+# Currently, only 'mx8m' family does not require SECO FW to be provided in the
+# target image, therefore as a first step - the machine override is verified
+# if it matches, and then derivative is taken.
+#
+# NOTE: SECO_FIRMWARE_NAME defaults to empty string, and is verified against
+# the family first. If a derivative in the family does not have a firmware name
+# set in this class - recipe parsing is stopped.
+# 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-generic-bsp ?= "mx8qm${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8qxp-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8dx-generic-bsp ?= "mx8qx${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8dxl-generic-bsp ?= "mx8dxl${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}-ahab-container.img"
+SECO_FIRMWARE_NAME:mx93-generic-bsp ?= "mx93${IMX_SOC_REV_LOWER}-ahab-container.img"
+
+python () {
+ if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"):
+ return # We need to allow the recipes to be parsed for this case
+
+ seco_firmware = d.getVar('SECO_FIRMWARE_NAME')
+ if not seco_firmware:
+ raise bb.parse.SkipRecipe("This SoC requires 'SECO_FIRMWARE_NAME', define it in 'use-imx-security-controller-firmware' bbclass")
+}
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
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 1b71bead..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 = "warrior zeus"
+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"
@@ -16,25 +17,43 @@ LICENSE_PATH += "${LAYERDIR}/custom-licenses"
FSL_EULA_FILE = "${LAYERDIR}/EULA"
IMX_MIRROR ?= "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/"
-QORIQ_MIRROR ?= "http://git.freescale.com/source/"
# FIXME: set this to avoid changing all the recipes that use it
FSL_MIRROR ?= "${IMX_MIRROR}"
MIRRORS += " \
${IMX_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
-${QORIQ_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 += " \
- browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*/*.bb \
- browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*/*.bbappend \
+ aglprofilegraphical:${LAYERDIR}/dynamic-layers/aglprofilegraphical/*/*/*.bb \
+ aglprofilegraphical:${LAYERDIR}/dynamic-layers/aglprofilegraphical/*/*/*.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 \
\
- networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \
- networking-layer:${LAYERDIR}/dynamic-layers/networking-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 \
+ \
+ 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 \
@@ -45,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 16c1dcb6..61d81ab6 100644
--- a/conf/machine/imx6qdlsabreauto.conf
+++ b/conf/machine/imx6qdlsabreauto.conf
@@ -11,37 +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"
+
+### 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 ec43e464..1ab1d9df 100644
--- a/conf/machine/imx6qdlsabresd.conf
+++ b/conf/machine/imx6qdlsabresd.conf
@@ -11,37 +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.dtb imx6qp-sabresd-btwifi.dtb imx6qp-sabresd-hdcp.dtb \
- imx6qp-sabresd-ldo.dtb imx6qp-sabresd-ldo-pcie-cert.dtb \
- \
- imx6q-sabresd.dtb imx6q-sabresd-ldo.dtb imx6q-sabresd-hdcp.dtb \
- imx6q-sabresd-enetirq.dtb imx6q-sabresd-btwifi.dtb \
- \
- imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb imx6dl-sabresd-hdcp.dtb \
- imx6dl-sabresd-enetirq.dtb imx6dl-sabresd-btwifi.dtb \
+ nxp/imx/imx6qp-sabresd-btwifi.dtb \
+ nxp/imx/imx6qp-sabresd.dtb \
+ nxp/imx/imx6qp-sabresd-hdcp.dtb \
+ nxp/imx/imx6qp-sabresd-ldo.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 \
+ \
+ 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"
+
+### 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 5d81272f..af196eab 100644
--- a/conf/machine/imx6slevk.conf
+++ b/conf/machine/imx6slevk.conf
@@ -4,23 +4,35 @@
#@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
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
-KERNEL_DEVICETREE = "imx6sl-evk.dtb imx6sl-evk-csi.dtb imx6sl-evk-ldo.dtb \
- imx6sl-evk-uart.dtb imx6sl-evk-btwifi.dtb"
-KERNEL_DEVICETREE_use-mainline-bsp = "imx6sl-evk.dtb"
+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_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard"
-UBOOT_CONFIG[epdc] = "mx6slevk_epdc_config"
-UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config"
-UBOOT_CONFIG[mfgtool] = "mx6slevk_config"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+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"
+
+OPTEE_BIN_EXT = "6slevk"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FEATURES += " pci wifi bluetooth"
+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 f55e274f..5a1dc666 100644
--- a/conf/machine/imx6sllevk.conf
+++ b/conf/machine/imx6sllevk.conf
@@ -4,26 +4,35 @@
#@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
-MACHINE_FIRMWARE_append = " firmware-imx-epdc"
+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"
-KERNEL_DEVICETREE = "imx6sll-evk.dtb imx6sll-evk-btwifi.dtb imx6sll-evk-reva.dtb"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx6sllevk_config,sdcard"
-UBOOT_CONFIG[epdc] = "mx6sllevk_epdc_config"
-UBOOT_CONFIG[mfgtool] = "mx6sllevk_config"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+UBOOT_CONFIG[sd] = "mx6sllevk_config,sdcard"
+UBOOT_CONFIG[sd-optee] = "mx6sllevk_optee_config,sdcard"
+UBOOT_CONFIG[epdc] = "mx6sllevk_epdc_config"
+
+OPTEE_BIN_EXT:imx6sllevk = "6sllevk"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FEATURES += " pci wifi bluetooth"
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
# MESA DRI library
XSERVER += "mesa-driver-swrast"
-PREFERRED_PROVIDER_u-boot = "u-boot-imx"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
+PREFERRED_PROVIDER_u-boot = "u-boot-fslc"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-fslc"
diff --git a/conf/machine/imx6sxsabreauto.conf b/conf/machine/imx6sxsabreauto.conf
index b26605d4..cbb20d56 100644
--- a/conf/machine/imx6sxsabreauto.conf
+++ b/conf/machine/imx6sxsabreauto.conf
@@ -4,25 +4,30 @@
#@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 imx6sx-sabreauto-m4.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-imx"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx6sxsabreauto_config,sdcard"
-UBOOT_CONFIG[qspi1] = "mx6sxsabreauto_qspi1_config"
-UBOOT_CONFIG[nand] = "mx6sxsabreauto_nand_config,ubifs"
-UBOOT_CONFIG[mfgtool] = "mx6sxsabreauto_config"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+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"
+
+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 5793a0b0..8d597c55 100644
--- a/conf/machine/imx6sxsabresd.conf
+++ b/conf/machine/imx6sxsabresd.conf
@@ -4,26 +4,44 @@
#@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
-
-KERNEL_DEVICETREE = "imx6sx-sdb.dtb imx6sx-sdb-emmc.dtb imx6sx-sdb-m4.dtb \
- imx6sx-sdb-sai.dtb imx6sx-sdb-lcdif1.dtb imx6sx-sdb-ldo.dtb \
- imx6sx-sdb-reva-ldo.dtb imx6sx-sdb-reva.dtb \
- imx6sx-sdb-btwifi.dtb imx6sx-sdb-mqs.dtb"
-KERNEL_DEVICETREE_use-mainline-bsp = "imx6sx-sdb.dtb imx6sx-sdb-sai.dtb imx6sx-sdb-reva.dtb"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx6sxsabresd_config,sdcard"
-UBOOT_CONFIG[emmc] = "mx6sxsabresd_emmc_config,sdcard"
-UBOOT_CONFIG[qspi2] = "mx6sxsabresd_qspi2_config"
+require conf/machine/include/arm/armv7a/tune-cortexa9.inc
+
+KERNEL_DEVICETREE = " \
+ nxp/imx/imx6sx-sdb.dtb \
+ nxp/imx/imx6sx-sdb-reva.dtb \
+ nxp/imx/imx6sx-sdb-sai.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)} \
+"
+UBOOT_CONFIG[sd] = "mx6sxsabresd_config,sdcard"
+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"
+MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
diff --git a/conf/machine/imx6ulevk.conf b/conf/machine/imx6ulevk.conf
index fa786b0d..b06e3031 100644
--- a/conf/machine/imx6ulevk.conf
+++ b/conf/machine/imx6ulevk.conf
@@ -4,26 +4,51 @@
#@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
-
-MACHINE_FEATURES += " pci wifi bluetooth"
-
-KERNEL_DEVICETREE = "imx6ul-14x14-evk.dtb imx6ul-14x14-evk-csi.dtb imx6ul-14x14-evk-btwifi.dtb \
- imx6ul-14x14-evk-gpmi-weim.dtb imx6ul-14x14-evk-usb-certi.dtb \
- imx6ul-14x14-evk-emmc.dtb "
-KERNEL_DEVICETREE_use-mainline-bsp = "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"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_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"
+include conf/machine/include/arm/armv7a/tune-cortexa7.inc
+
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
+
+KERNEL_DEVICETREE = " \
+ 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 = "nxp/imx/imx6ul-14x14-evk.dtb"
+
+### 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 \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+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"
+
+OPTEE_BIN_EXT = "6ulevk"
diff --git a/conf/machine/imx6ullevk.conf b/conf/machine/imx6ullevk.conf
index 7931b5a4..a8d76a2c 100644
--- a/conf/machine/imx6ullevk.conf
+++ b/conf/machine/imx6ullevk.conf
@@ -2,24 +2,36 @@
#@NAME: NXP i.MX6ULL Evaluation Kit
#@SOC: i.MX6ULL
#@DESCRIPTION: Machine configuration for NXP i.MX6ULL EVK
-#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
+#@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
-KERNEL_DEVICETREE = "imx6ull-14x14-evk.dtb imx6ull-14x14-evk-btwifi.dtb \
- imx6ull-14x14-evk-btwifi-oob.dtb imx6ull-14x14-evk-emmc.dtb \
- imx6ull-14x14-evk-gpmi-weim.dtb imx6ull-14x14-evk-usb-certi.dtb"
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_config,sdcard"
-UBOOT_CONFIG[mfgtool] = "mx6ull_14x14_evk_config"
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8801-sdio nxp8987-sdio"
-PREFERRED_PROVIDER_u-boot = "u-boot-imx"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
-PREFERRED_PROVIDER_virtual/kernel = "linux-imx"
+KERNEL_DEVICETREE = " \
+ nxp/imx/imx6ull-14x14-evk.dtb \
+"
-SERIAL_CONSOLES = "115200;ttymxc0"
+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 \
+"
-MACHINE_FEATURES += "wifi bluetooth"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_config,sdcard"
+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"
+
+OPTEE_BIN_EXT = "6ullevk"
diff --git a/conf/machine/imx6ulz-14x14-evk.conf b/conf/machine/imx6ulz-14x14-evk.conf
new file mode 100644
index 00000000..d1dcae99
--- /dev/null
+++ b/conf/machine/imx6ulz-14x14-evk.conf
@@ -0,0 +1,36 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX6ULZ 14x14 Evaluation Kit
+#@SOC: i.MX6ULZ
+#@DESCRIPTION: Machine configuration for NXP i.MX6ULZ 14x14 EVK
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+MACHINEOVERRIDES =. "mx6ulz:"
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/arm/armv7a/tune-cortexa7.inc
+
+MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
+
+KERNEL_DEVICETREE = " \
+ nxp/imx/imx6ulz-14x14-evk.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)} \
+"
+UBOOT_CONFIG[sd] = "mx6ulz_14x14_evk_config,sdcard"
+UBOOT_CONFIG[sd-optee] = "mx6ulz_14x14_evk_optee_config,sdcard"
+UBOOT_CONFIG[emmc] = "mx6ulz_14x14_evk_emmc_config,sdcard"
+UBOOT_CONFIG[nand] = "mx6ulz_14x14_evk_nand_config,ubifs"
+UBOOT_CONFIG[qspi1] = "mx6ulz_14x14_evk_qspi1_config"
+
+OPTEE_BIN_EXT = "6ulzevk"
diff --git a/conf/machine/imx7dsabresd.conf b/conf/machine/imx7dsabresd.conf
index 2a4f8e6c..4b4a6012 100644
--- a/conf/machine/imx7dsabresd.conf
+++ b/conf/machine/imx7dsabresd.conf
@@ -7,21 +7,38 @@
MACHINEOVERRIDES =. "mx7:mx7d:"
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"
+MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455 nxp8987-sdio"
-KERNEL_DEVICETREE = "imx7d-sdb.dtb imx7d-sdb-epdc.dtb imx7d-sdb-gpmi-weim.dtb \
- imx7d-sdb-m4.dtb imx7d-sdb-mipi-dsi.dtb imx7d-sdb-qspi.dtb \
- imx7d-sdb-reva.dtb imx7d-sdb-reva-epdc.dtb imx7d-sdb-reva-gpmi-weim.dtb \
- imx7d-sdb-reva-hdmi-audio.dtb imx7d-sdb-reva-m4.dtb imx7d-sdb-reva-qspi.dtb \
- imx7d-sdb-reva-touch.dtb imx7d-sdb-reva-wm8960.dtb"
-KERNEL_DEVICETREE_use-mainline-bsp = "imx7d-sdb.dtb"
+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_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx7dsabresd_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"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+UBOOT_CONFIG[sd] = "mx7dsabresd_config,sdcard"
+UBOOT_CONFIG[sd-optee] = "mx7dsabresd_optee_config,sdcard"
+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"
+
+OPTEE_BIN_EXT = "7dsdb"
+
+XSERVER += "mesa-driver-swrast"
diff --git a/conf/machine/imx7ulpevk.conf b/conf/machine/imx7ulpevk.conf
index 31b88c2c..2e39a0c7 100644
--- a/conf/machine/imx7ulpevk.conf
+++ b/conf/machine/imx7ulpevk.conf
@@ -7,20 +7,39 @@
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 qca9377"
+MACHINE_FEATURES += "pci wifi bluetooth bcm43430 nxp8987-sdio"
-KERNEL_DEVICETREE = "imx7ulp-evk.dtb imx7ulp-evkb-emmc.dtb imx7ulp-evk-emmc-qspi.dtb imx7ulp-evk-ft5416.dtb imx7ulp-evk-mipi.dtb \
- imx7ulp-evkb-lpuart.dtb imx7ulp-evk-qspi.dtb imx7ulp-evkb-sd1.dtb imx7ulp-evkb-sensors-to-i2c5.dtb \
- imx7ulp-evkb-spi-slave.dtb imx7ulp-evk-wm8960.dtb \
- imx7ulp-evkb.dtb imx7ulp-evkb-mipi.dtb \
- imx7ulp-evkb-rm68200-wxga.dtb imx7ulp-evkb-rm68191-qhd.dtb"
+KERNEL_DEVICETREE = " \
+ nxp/imx/imx7ulp-evk.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_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "mx7ulp_evk_config,sdcard"
-UBOOT_CONFIG[emmc] = "mx7ulp_evk_emmc_config,sdcard"
-UBOOT_CONFIG[mfgtool] = "mx7ulp_evk_config"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
+UBOOT_CONFIG ??= " \
+ sd \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
+"
+UBOOT_CONFIG[sd] = "mx7ulp_evk_config,sdcard"
+UBOOT_CONFIG[sd-optee] = "mx7ulp_evk_optee_config,sdcard"
+UBOOT_CONFIG[emmc] = "mx7ulp_evk_emmc_config,sdcard"
+
+OPTEE_BIN_EXT = "7ulp"
# Set Serial console
SERIAL_CONSOLES = "115200;ttyLP0"
diff --git a/conf/machine/imx8dx-mek.conf b/conf/machine/imx8dx-mek.conf
new file mode 100644
index 00000000..f7abd89a
--- /dev/null
+++ b/conf/machine/imx8dx-mek.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: i.MX 8DX MEK
+#@SOC: i.MX8DX
+#@DESCRIPTION: i.MX 8DualX Multisensory Enablement Kit board
+#@MAINTAINER: Lauren Post <lauren.post@nxp.com>
+
+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/imx8mm-ddr4-evk.conf b/conf/machine/imx8mm-ddr4-evk.conf
new file mode 100644
index 00000000..467ca863
--- /dev/null
+++ b/conf/machine/imx8mm-ddr4-evk.conf
@@ -0,0 +1,31 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Mini EVK with DDR4
+#@SOC: i.MX8MM
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Mini Evaluation Kit with DDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8mm-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
+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"
+UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig,ubifs"
+
+DDR_FIRMWARE_NAME = " \
+ ddr4_imem_1d.bin \
+ ddr4_dmem_1d.bin \
+ ddr4_imem_2d.bin \
+ ddr4_dmem_2d.bin \
+"
+
+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
new file mode 100644
index 00000000..1387e594
--- /dev/null
+++ b/conf/machine/imx8mm-lpddr4-evk.conf
@@ -0,0 +1,41 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Mini EVK with LPDDR4
+#@SOC: i.MX8MM
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Mini Evaluation Kit with LPDDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+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}-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 \
+"
+
+
+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 \
+"
+
+IMXBOOT_TARGETS_BASENAME = "flash_evk"
diff --git a/conf/machine/imx8mmevk.conf b/conf/machine/imx8mmevk.conf
deleted file mode 100644
index 8294476f..00000000
--- a/conf/machine/imx8mmevk.conf
+++ /dev/null
@@ -1,51 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP i.MX8MM LPDDR4 Evaluation Kit and i.MX8MM DDR4 Evaluation Kit
-#@SOC: i.MX8MM
-#@DESCRIPTION: Machine configuration for NXP i.MX8MMini LPDDR4 EVK and i.MX8MMini DDR4 EVK
-#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa53.inc
-
-MACHINE_FEATURES += " pci wifi bluetooth optee qca9377 qca6174"
-
-KERNEL_DEVICETREE = "freescale/fsl-imx8mm-evk.dtb \
- freescale/fsl-imx8mm-evk-ak4497.dtb freescale/fsl-imx8mm-evk-ak5558.dtb \
- freescale/fsl-imx8mm-evk-audio-tdm.dtb freescale/fsl-imx8mm-evk-inmate.dtb \
- freescale/fsl-imx8mm-evk-m4.dtb freescale/fsl-imx8mm-evk-rm67191.dtb \
- freescale/fsl-imx8mm-ddr4-evk.dtb freescale/fsl-imx8mm-ddr4-evk-rm67191.dtb \
- freescale/fsl-imx8mm-ddr4-qca9377-evk.dtb freescale/fsl-imx8mm-evk-root.dtb"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "imx8mm_evk_config,sdcard"
-UBOOT_CONFIG[fspi] = "imx8mm_evk_fspi_defconfig"
-UBOOT_CONFIG[mfgtool] = "imx8mm_evk_config"
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-# Set DDR FIRMWARE
-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"
-
-# Set u-boot DTB
-UBOOT_DTB_NAME = "fsl-imx8mm-evk.dtb"
-
-# Set imx-mkimage boot target
-IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_evk', d)}"
-
-# Set Serial console
-SERIAL_CONSOLES = "115200;ttymxc1"
-
-IMAGE_BOOTLOADER = "imx-boot"
-
-BOOT_SPACE = "65536"
-
-LOADADDR = ""
-UBOOT_SUFFIX = "bin"
-UBOOT_MAKE_TARGET = ""
-IMX_BOOT_SEEK = "33"
-
-OPTEE_BIN_EXT = "8mm"
-
-# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
diff --git a/conf/machine/imx8mn-ddr4-evk.conf b/conf/machine/imx8mn-ddr4-evk.conf
new file mode 100644
index 00000000..7a796d38
--- /dev/null
+++ b/conf/machine/imx8mn-ddr4-evk.conf
@@ -0,0 +1,29 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Nano Evaluation Kit with DDR4
+#@SOC: i.MX8MM
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Nano EVK with DDR4
+#@MAINTAINER: Andrey Zhizhikin <andrey.z@gmail.com>
+
+require include/imx8mn-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
+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_${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
new file mode 100644
index 00000000..25103706
--- /dev/null
+++ b/conf/machine/imx8mn-lpddr4-evk.conf
@@ -0,0 +1,30 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Nano Evaluation Kit with LPDDR4
+#@SOC: i.MX8MN
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Nano EVK with LPDDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8mn-evk.inc
+
+# The device tree name is implicit for LPDDR4, so can't use MACHINE here
+KERNEL_DEVICETREE_BASENAME = "imx8mn-evk"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \
+"
+UBOOT_CONFIG_BASENAME = "imx8mn_evk"
+DDR_FIRMWARE_NAME = " \
+ lpddr4_pmu_train_1d_imem.bin \
+ lpddr4_pmu_train_1d_dmem.bin \
+ lpddr4_pmu_train_2d_imem.bin \
+ lpddr4_pmu_train_2d_dmem.bin \
+"
+IMXBOOT_TARGETS_BASENAME = "flash_evk"
+
+# Mainline BSP doesn't support LPDDR4 so it must be set to nxp.
+# Also this machine isn't supported by u-boot-fslc but imx8mn-evk.inc already
+# set the bootloader to u-boot-imx instead when NXP BSP is used.
+IMX_DEFAULT_BSP = "nxp"
diff --git a/conf/machine/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-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
new file mode 100644
index 00000000..92a436e5
--- /dev/null
+++ b/conf/machine/imx8mq-evk.conf
@@ -0,0 +1,100 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Quad EVK
+#@SOC: i.MX8MQ
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Quad Evaluation Kit
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+MACHINEOVERRIDES =. "mx8mq:"
+
+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 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"
+
+KERNEL_DEVICETREE = " \
+ freescale/imx8mq-evk.dtb \
+"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ freescale/imx8mq-evk-ak4497.dtb \
+ freescale/imx8mq-evk-audio-tdm.dtb \
+ freescale/imx8mq-evk-dcss-adv7535.dtb \
+ freescale/imx8mq-evk-dcss-rm67191.dtb \
+ freescale/imx8mq-evk-dcss-rm67199.dtb \
+ freescale/imx8mq-evk-dp.dtb \
+ freescale/imx8mq-evk-dual-display.dtb \
+ freescale/imx8mq-evk-inmate.dtb \
+ freescale/imx8mq-evk-lcdif-adv7535.dtb \
+ freescale/imx8mq-evk-lcdif-rm67191.dtb \
+ freescale/imx8mq-evk-lcdif-rm67199.dtb \
+ freescale/imx8mq-evk-pcie-ep.dtb \
+ freescale/imx8mq-evk-pcie1-m2.dtb \
+ freescale/imx8mq-evk-pdm.dtb \
+ freescale/imx8mq-evk-root.dtb \
+ freescale/imx8mq-evk-rpmsg.dtb \
+ freescale/imx8mq-evk-usd-wifi.dtb \
+ 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"
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+# Set DDR FIRMWARE
+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 \
+"
+
+# Set u-boot DTB
+UBOOT_DTB_NAME = "imx8mq-evk.dtb"
+
+# Set ATF platform name
+ATF_PLATFORM = "imx8mq"
+
+# Set imx-mkimage boot target
+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_MAKE_TARGET = ""
+IMX_BOOT_SEEK = "33"
+
+OPTEE_BIN_EXT = "8mq"
+
+# Add additional firmware
+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/imx8mqevk.conf b/conf/machine/imx8mqevk.conf
deleted file mode 100644
index 19178fdd..00000000
--- a/conf/machine/imx8mqevk.conf
+++ /dev/null
@@ -1,66 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP i.MX8MQ Evaluation Kit
-#@SOC: i.MX8MQ
-#@DESCRIPTION: Machine configuration for NXP i.MX8MQ EVK
-#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/arm/arch-arm64.inc
-
-MACHINE_FEATURES += "pci wifi bluetooth optee qca6174"
-
-MACHINE_SOCARCH_FILTER_append_mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
-
-KERNEL_DEVICETREE = "freescale/fsl-imx8mq-evk.dtb freescale/fsl-imx8mq-evk-ak4497.dtb \
- freescale/fsl-imx8mq-evk-audio-tdm.dtb freescale/fsl-imx8mq-evk-b3.dtb \
- freescale/fsl-imx8mq-evk-dcss-adv7535.dtb freescale/fsl-imx8mq-evk-dcss-rm67191.dtb \
- freescale/fsl-imx8mq-evk-dcss-adv7535-b3.dtb freescale/fsl-imx8mq-evk-dcss-rm67191-b3.dtb \
- freescale/fsl-imx8mq-evk-dual-display-b3.dtb \
- freescale/fsl-imx8mq-evk-dual-display.dtb freescale/fsl-imx8mq-evk-drm.dtb \
- freescale/fsl-imx8mq-evk-dp.dtb freescale/fsl-imx8mq-evk-edp.dtb \
- freescale/fsl-imx8mq-evk-inmate.dtb \
- freescale/fsl-imx8mq-evk-lcdif-adv7535.dtb \
- freescale/fsl-imx8mq-evk-lcdif-adv7535-b3.dtb \
- freescale/fsl-imx8mq-evk-m4.dtb freescale/fsl-imx8mq-evk-mipi-csi2.dtb \
- freescale/fsl-imx8mq-evk-pcie1-m2.dtb freescale/fsl-imx8mq-evk-pdm.dtb \
- freescale/fsl-imx8mq-evk-root.dtb"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "imx8mq_evk_config,sdcard"
-UBOOT_CONFIG[mfgtool] = "imx8mq_evk_config"
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-# Set DDR FIRMWARE
-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"
-
-# Set u-boot DTB
-UBOOT_DTB_NAME = "fsl-imx8mq-evk.dtb"
-
-# Set imx-mkimage boot target
-IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk"
-
-# Set Serial console
-SERIAL_CONSOLES = "115200;ttymxc0"
-
-IMAGE_BOOTLOADER = "imx-boot"
-
-BOOT_SPACE = "65536"
-
-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.14 from meta-freescale
-PREFERRED_VERSION_gstreamer1.0 ?= "1.14.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.14.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.14.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.14.imx"
-PREFERRED_VERSION_gstreamer1.0-libav ?= "1.14.0"
diff --git a/conf/machine/imx8qm-mek.conf b/conf/machine/imx8qm-mek.conf
new file mode 100644
index 00000000..5dea4e41
--- /dev/null
+++ b/conf/machine/imx8qm-mek.conf
@@ -0,0 +1,88 @@
+#@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/arm/armv8a/tune-cortexa72-cortexa53.inc
+
+IMX_DEFAULT_BSP = "nxp"
+
+MACHINE_FEATURES += "pci optee 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 = ""
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+SERIAL_CONSOLES = "115200;ttyAMA0"
+
+# we do not want to have getty running on tty1 as we run
+# auto-serial-console there
+USE_VT = "0"
+
+KERNEL_DEVICETREE = " \
+ 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 = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '', \
+ 'u-boot.bin', d)}"
+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"
+
+IMX_BOOT_SEEK = "32"
+
+IMAGE_BOOT_FILES += "hdmitxfw.bin hdmirxfw.bin dpfw.bin"
+
+# Set ATF platform name
+ATF_PLATFORM = "imx8qm"
+
+IMXBOOT_TARGETS_SD = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \
+ 'flash flash_ca72', 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)}"
+IMX_BOOT_SOC_TARGET = "iMX8QM"
+
+BOARD_TYPE = "mek"
+
+# Add additional firmware
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
diff --git a/conf/machine/imx8qmmek.conf b/conf/machine/imx8qmmek.conf
deleted file mode 100644
index 66d55eb3..00000000
--- a/conf/machine/imx8qmmek.conf
+++ /dev/null
@@ -1,60 +0,0 @@
-#@TYPE: Machine
-#@NAME: i.MX 8QM MEK
-#@DESCRIPTION: i.MX 8QuadMax MEK board
-#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8qm:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/arm/arch-arm64.inc
-
-MACHINE_FEATURES_append = " qca6174"
-
-# Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
-
-LOADADDR = ""
-
-# We have to disable SERIAL_CONSOLE due to auto-serial-console
-SERIAL_CONSOLES = "115200;ttyAMA0"
-
-# we do not want to have getty running on tty1 as we run
-# auto-serial-console there
-USE_VT = "0"
-
-KERNEL_DEVICETREE = "freescale/fsl-imx8qm-mek.dtb \
- freescale/fsl-imx8qm-mek_ca53.dtb freescale/fsl-imx8qm-mek_ca72.dtb \
- freescale/fsl-imx8qm-mek-dom0.dtb freescale/fsl-imx8qm-mek-dom0-dpu2.dtb \
- freescale/fsl-imx8qm-mek-domu-car.dtb \
- freescale/fsl-imx8qm-mek-domu-dpu1.dtb freescale/fsl-imx8qm-mek-domu-dpu1-hdmi.dtb \
- freescale/fsl-imx8qm-mek-domu.dtb \
- freescale/fsl-imx8qm-mek-dsi-rm67191.dtb freescale/fsl-imx8qm-mek-dsp.dtb \
- freescale/fsl-imx8qm-mek-enet2-tja1100.dtb \
- freescale/fsl-imx8qm-mek-hdmi.dtb freescale/fsl-imx8qm-mek-hdmi-in.dtb \
- freescale/fsl-imx8qm-mek-inmate.dtb freescale/fsl-imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \
- freescale/fsl-imx8qm-mek-ov5640.dtb \
- freescale/fsl-imx8qm-mek-root.dtb \
- freescale/fsl-imx8qm-mek-rpmsg.dtb "
-
-UBOOT_MAKE_TARGET = "u-boot.bin"
-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"
-
-BOOT_SPACE = "65536"
-IMAGE_BOOTLOADER = "imx-boot"
-IMX_BOOT_SEEK = "33"
-
-WKS_FILE_DEPENDS_append = " firmware-imx-8"
-IMAGE_BOOT_FILES += "hdmitxfw.bin hdmirxfw.bin dpfw.bin"
-
-IMXBOOT_TARGETS = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'sd', 'flash', \
- 'flash_flexspi', d)}"
-
-BOARD_TYPE = "mek"
-
-# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf
new file mode 100644
index 00000000..72867a95
--- /dev/null
+++ b/conf/machine/imx8qxp-mek.conf
@@ -0,0 +1,33 @@
+#@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>
+
+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}-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/imx8qxpmek.conf b/conf/machine/imx8qxpmek.conf
deleted file mode 100644
index f976d12d..00000000
--- a/conf/machine/imx8qxpmek.conf
+++ /dev/null
@@ -1,53 +0,0 @@
-#@TYPE: Machine
-#@NAME: i.MX 8QXP MEK
-#@DESCRIPTION: i.MX 8QXP Multisensory Enablement Kit (MEK) board
-#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/arm/arch-arm64.inc
-
-MACHINE_FEATURES_append = " qca6174"
-
-# Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
-
-LOADADDR = ""
-
-# We have to disable SERIAL_CONSOLE due to auto-serial-console
-SERIAL_CONSOLES = "115200;ttyAMA0"
-
-# we do not want to have getty running on tty1 as we run
-# auto-serial-console there
-USE_VT = "0"
-
-KERNEL_DEVICETREE = "freescale/fsl-imx8qxp-mek.dtb freescale/fsl-imx8qxp-mek-dom0.dtb \
- freescale/fsl-imx8qxp-mek-dsi-rm67191.dtb freescale/fsl-imx8qxp-mek-dsp.dtb \
- freescale/fsl-imx8qxp-mek-enet2.dtb freescale/fsl-imx8qxp-mek-enet2-tja1100.dtb \
- freescale/fsl-imx8qxp-mek-it6263-lvds0-dual-channel.dtb freescale/fsl-imx8qxp-mek-it6263-lvds1-dual-channel.dtb \
- freescale/fsl-imx8qxp-mek-inmate.dtb \
- freescale/fsl-imx8qxp-mek-lcdif.dtb \
- freescale/fsl-imx8qxp-mek-jdi-wuxga-lvds1-panel.dtb freescale/fsl-imx8qxp-mek-jdi-wuxga-lvds0-panel.dtb \
- freescale/fsl-imx8qxp-mek-ov5640.dtb freescale/fsl-imx8qxp-mek-ov5640-rpmsg.dtb \
- freescale/fsl-imx8qxp-mek-rpmsg.dtb freescale/fsl-imx8qxp-mek-root.dtb"
-
-UBOOT_MAKE_TARGET = "u-boot.bin"
-UBOOT_SUFFIX = "bin"
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "imx8qxp_mek_config,sdcard"
-UBOOT_CONFIG[fspi] = "imx8qxp_mek_fspi_defconfig"
-
-BOOT_SPACE = "65536"
-IMAGE_BOOTLOADER = "imx-boot"
-IMX_BOOT_SEEK = "32"
-
-IMXBOOT_TARGETS = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'sd', 'flash', \
- bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
- 'UNKNOWN', d), d)}"
-
-BOARD_TYPE = "mek"
-
-# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
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 fc7c7fc8..c1243c7f 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -5,44 +5,141 @@ include conf/machine/include/fsl-default-versions.inc
require conf/machine/include/utilities.inc
-# Set specific make target and binary suffix
-IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
-IMX_DEFAULT_BOOTLOADER_mx8 = "u-boot-imx"
+# Machines or distros can define which BSP it should use by default. We are
+# intending to default for mainline BSP by default and specific machines or
+# DISTROs might change it if need.
+#
+# Two values are considered valid: mainline, nxp
+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"
+
+MACHINEOVERRIDES =. "use-${IMX_DEFAULT_BSP}-bsp:"
+
+# 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}"
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_mx7 = "0x80008000"
-UBOOT_ENTRYPOINT_mx7ulp = "0x60008000"
-UBOOT_ENTRYPOINT_mx8mq = "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}"
@@ -55,33 +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_mx7 ?= "cortexa7thf-neon"
-DEFAULTTUNE_vf ?= "cortexa5thf-neon"
-DEFAULTTUNE_mx8mm ?= "cortexa53-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_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_mx8mq = "imxdrm:imxvpu:imxgpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
-
-MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
+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 \
@@ -90,72 +274,100 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
mx6sll \
mx6ul \
mx6ull \
+ mx6ulz \
\
mx7 \
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_mx23 = "-mxs"
-MACHINE_SOCARCH_SUFFIX_mx28 = "-mxs"
-MACHINE_SOCARCH_SUFFIX_mx51 = "-mx5"
-MACHINE_SOCARCH_SUFFIX_mx53 = "-mx5"
-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_mx8qm = "-mx8"
-MACHINE_SOCARCH_SUFFIX_mx8mm = "-mx8mm"
-MACHINE_SOCARCH_SUFFIX_mx8mq = "-mx8m"
-MACHINE_SOCARCH_SUFFIX_mx8qxp = "-mx8"
-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-parser \
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 \
@@ -167,21 +379,13 @@ MACHINE_SOCARCH_FILTER_append_use-mainline-bsp = " \
pango \
qtbase \
"
-MACHINE_SOCARCH_FILTER_append_mx6q = " \
- virtual/opencl-icd \
- opencl-headers \
-"
-MACHINE_SOCARCH_FILTER_append_mx8 = " \
- virtual/opencl-icd \
- 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 \
@@ -189,51 +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_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_mx8qxp = " firmware-imx-vpu-imx8qxp"
-MACHINE_FIRMWARE_append_use-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
-
-# FIXME: Needs addition of firmware-imx of official BSPs
-#MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27"
+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
-MACHINE_EXTRA_RRECOMMENDS_append_mx6 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append_mx7 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append_mx8 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)}"
+IMX_ALSA_EXTRA = ""
+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', '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.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 ?= ""
+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
@@ -246,92 +550,132 @@ 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_VERSION_weston_mx6 ?= "5.0.0.imx"
-PREFERRED_VERSION_weston_mx7 ?= "5.0.0.imx"
-PREFERRED_VERSION_weston_mx8 ?= "5.0.0.imx"
-
-PREFERRED_VERSION_wayland-protocols_mx6 ?= "1.17.imx"
-PREFERRED_VERSION_wayland-protocols_mx7 ?= "1.17.imx"
-PREFERRED_VERSION_wayland-protocols_mx8 ?= "1.17.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.91.imx"
-PREFERRED_VERSION_libdrm_mx7 ?= "2.4.91.imx"
-PREFERRED_VERSION_libdrm_mx8 ?= "2.4.91.imx"
+PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.115.imx"
+PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.115.imx"
+PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.115.imx"
+PREFERRED_VERSION_libdrm:mx9-nxp-bsp ??= "2.4.115.imx"
+
+PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.239.0.imx"
+PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.239.0.imx"
+
+# Use i.MX optee Version
+PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "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
+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-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-imx"
-IMX_DEFAULT_KERNEL_mx7ulp = "linux-imx"
-IMX_DEFAULT_KERNEL_mx6sll = "linux-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.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"
-SDCARD_ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.ext4"
+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}"
IMAGE_BOOT_FILES ?= " \
${KERNEL_IMAGETYPE} \
${@make_dtb_boot_files(d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \
"
### wic default support
+OPTEE_WKS_FILE_DEPENDS = "optee-os"
+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_mx8 += "imx-boot"
+# We need to restrict the append so we don't add this for other i.MX SoC's.
+# Derivatives that are not yet adopted the usage of boot container provided
+# by U-Boot build are still targeted to use 'imx-boot' package provided by
+# NXP.
+#
+# Moving those derivatives to mainline BSP would require to 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_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}"
-# Certain machines override the default fsl u-boot with the
-# fslc u-boot. To restore the fsl u-boot, add use-fsl-bsp like this:
-# MACHINEOVERRIDES_prepend_imx6ulevk = "use-fsl-bsp:"
-UBOOT_MAKE_TARGET_use-fsl-bsp_mx6 = "u-boot.imx"
-UBOOT_SUFFIX_use-fsl-bsp_mx6 = "imx"
-SPL_BINARY_use-fsl-bsp_mx6 = ""
-WKS_FILE_use-fsl-bsp_mx6 = "imx-uboot-bootpart.wks.in"
-UBOOT_MAKE_TARGET_use-fsl-bsp_mx7 = "u-boot.imx"
-UBOOT_SUFFIX_use-fsl-bsp_mx7 = "imx"
-SPL_BINARY_use-fsl-bsp_mx7 = ""
-WKS_FILE_use-fsl-bsp_mx7 = "imx-uboot-bootpart.wks.in"
-
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 screen"
-MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen"
+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
new file mode 100644
index 00000000..442f4477
--- /dev/null
+++ b/conf/machine/include/imx8mm-evk.inc
@@ -0,0 +1,75 @@
+MACHINEOVERRIDES =. "mx8mm:"
+
+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 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
+# 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 \
+ 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"
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+ATF_PLATFORM = "imx8mm"
+
+IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
+
+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_MAKE_TARGET = "all"
+IMX_BOOT_SEEK = "33"
+
+OPTEE_BIN_EXT = "8mm"
+TEE_LOAD_ADDR = "0xbe000000"
+
+# Add additional firmware
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
diff --git a/conf/machine/include/imx8mn-evk.inc b/conf/machine/include/imx8mn-evk.inc
new file mode 100644
index 00000000..11657bcc
--- /dev/null
+++ b/conf/machine/include/imx8mn-evk.inc
@@ -0,0 +1,84 @@
+MACHINEOVERRIDES =. "mx8mn:"
+
+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 += "wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
+
+# NXP BSP can consume proprietary jailhouse and Broadcom drivers
+# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
+# 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}-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[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig"
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+ATF_PLATFORM = "imx8mn"
+
+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"
+
+# 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_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
+# Doc ID: IMX8MNRM
+IMX_BOOT_SEEK = "32"
+
+OPTEE_BIN_EXT = "8mn"
+TEE_LOAD_ADDR = "0x56000000"
+
+# Add additional firmware
+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
new file mode 100644
index 00000000..9eaa77c5
--- /dev/null
+++ b/conf/machine/include/imx8x-mek.inc
@@ -0,0 +1,71 @@
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8a/tune-cortexa35.inc
+
+IMX_DEFAULT_BSP = "nxp"
+
+MACHINE_FEATURES += "pci optee 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 = ""
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+SERIAL_CONSOLES = "115200;ttyAMA0"
+
+# 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}-dsi-rm67191.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191-rpmsg.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 \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds1-dual-channel.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds1-dual-channel-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds0-panel.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds0-panel-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-rpmsg.dtb \
+ freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+"
+
+UBOOT_MAKE_TARGET = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '', \
+ 'u-boot.bin', d)}"
+SPL_BINARY = \
+ "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'spl/u-boot-spl.bin', \
+ '', d)}"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
+
+IMX_BOOT_SEEK = "32"
+
+# 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', \
+ '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 = "mek"
+
+# Add additional firmware
+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 6166cb2a..4340c942 100644
--- a/conf/machine/include/qoriq-base.inc
+++ b/conf/machine/include/qoriq-base.inc
@@ -1,30 +1,61 @@
# common providers of QorIQ targets
-PREFERRED_PROVIDER_cryptodev-linux = "cryptodev-qoriq-linux"
-PREFERRED_PROVIDER_cryptodev-module = "cryptodev-qoriq-module"
-PREFERRED_PROVIDER_cryptodev-tests = "cryptodev-qoriq-tests"
-PREFERRED_PROVIDER_openssl = "openssl-qoriq"
-PREFERRED_PROVIDER_u-boot ?= "u-boot-qoriq"
-PREFERRED_PROVIDER_u-boot-fw-utils ?= "${PREFERRED_PROVIDER_u-boot}-fw-utils"
-PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-qoriq"
-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"
-PREFERRED_PROVIDER_ptpd = "ptpd-qoriq"
-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:"
+# Machines or distros can define which BSP it should use by default. We are
+# intending to default for nxp BSP by default and specific machines or
+# DISTROs might change it if need.
+#
+# Two values are considered valid: mainline, nxp
+QORIQ_DEFAULT_BSP ?= "nxp"
+
+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"
-MACHINE_SOCARCH_FILTER_append_qoriq = " cryptodev-qoriq-linux cryptodev-qoriq-module cryptodev-qoriq-test openssl-qoriq"
INHERIT += "fsl-dynamic-packagearch"
diff --git a/conf/machine/include/utilities.inc b/conf/machine/include/utilities.inc
index 164d77f4..34ce7abc 100644
--- a/conf/machine/include/utilities.inc
+++ b/conf/machine/include/utilities.inc
@@ -6,6 +6,11 @@ def make_dtb_boot_files(d):
# Use only the basename for dtb files:
alldtbs = d.getVar('KERNEL_DEVICETREE')
+
+ # DTBs may be built out of kernel with devicetree.bbclass
+ if not alldtbs:
+ return ''
+
def transform(dtb):
if not (dtb.endswith('dtb') or dtb.endswith('dtbo')):
# eg: whatever/bcm2708-rpi-b.dtb has:
@@ -15,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 449e518c..7de1e990 100644
--- a/conf/machine/ls1012afrwy.conf
+++ b/conf/machine/ls1012afrwy.conf
@@ -19,13 +19,13 @@ 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"
KERNEL_DEVICETREE ?= "freescale/fsl-ls1012a-frwy.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
-EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw atf"
+EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw qoriq-atf"
USE_VT = "0"
diff --git a/conf/machine/ls1012ardb.conf b/conf/machine/ls1012ardb.conf
index 6dbb1bda..879e3f8f 100644
--- a/conf/machine/ls1012ardb.conf
+++ b/conf/machine/ls1012ardb.conf
@@ -19,14 +19,14 @@ 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"
-KERNEL_DEVICETREE ?= "freescale/fsl-ls1012a-rdb.dtb"
+KERNEL_DEVICETREE ?= "freescale/fsl-ls1012a-rdb.dtb freescale/fsl-ls1012a-qds.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
-EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw atf"
+EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw qoriq-atf"
USE_VT = "0"
diff --git a/conf/machine/ls1021atwr.conf b/conf/machine/ls1021atwr.conf
deleted file mode 100644
index 3ccb621c..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_config,,u-boot-dtb.bin"
-UBOOT_CONFIG[sdcard-ifc] = "ls1021atwr_sdcard_ifc_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[sdcard-qspi] = "ls1021atwr_sdcard_qspi_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[lpuart] = "ls1021atwr_nor_lpuart_config,,u-boot-dtb.bin"
-UBOOT_CONFIG[qspi] = "ls1021atwr_qspi_config,,u-boot-dtb.bin"
-UBOOT_CONFIG[secure-boot] = "ls1021atwr_nor_SECURE_BOOT_config,,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
new file mode 100644
index 00000000..268a60c3
--- /dev/null
+++ b/conf/machine/ls1028ardb.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: NXP LS1028ARDB
+#@SOC: LSCH3
+#@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"
+
+KERNEL_CLASSES = " kernel-fitimage "
+KERNEL_IMAGETYPES = "fitImage"
+
+UBOOT_DTB_LOADADDRESS = "0x90000000"
+UBOOT_ENTRYPOINT = "0x80080000"
+
+UBOOT_CONFIG ??= "tfa-secure-boot tfa"
+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 = "\
+ freescale/fsl-ls1028a-rdb-dpdk.dtb \
+"
+KERNEL_DEFCONFIG ?= "defconfig"
+
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
+SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
+
+RCWSD ?= "R_SQPP_0x85bb/rcw_1500_gpu600"
+RCWXSPI ?= "R_SQPP_0x85bb/rcw_1500_gpu600"
+RCWEMMC ?= "R_SQPP_0x85bb/rcw_1500_gpu600"
+
+EXTRA_IMAGEDEPENDS += "rcw qoriq-atf dp-firmware-cadence"
+USE_VT = "0"
diff --git a/conf/machine/ls1043ardb.conf b/conf/machine/ls1043ardb.conf
index 64891b28..4ff3c0ac 100644
--- a/conf/machine/ls1043ardb.conf
+++ b/conf/machine/ls1043ardb.conf
@@ -19,10 +19,19 @@ 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"
-
-KERNEL_DEVICETREE ?= "freescale/fsl-ls1043a-rdb-sdk.dtb freescale/fsl-ls1043a-rdb-usdpaa.dtb"
+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:prepend:use-nxp-bsp = "\
+ freescale/fsl-ls1043a-rdb-sdk.dtb \
+ freescale/fsl-ls1043a-rdb-usdpaa.dtb \
+ freescale/fsl-ls1043a-qds-sdk.dtb \
+"
KERNEL_DEFCONFIG ?= "defconfig"
UEFI_NORBOOT ?= "LS1043ARDB_EFI_NORBOOT.fd"
@@ -31,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"
-EXTRA_IMAGEDEPENDS += "fm-ucode rcw qe-ucode uefi atf ls2-phy"
+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 e685c141..eb3c0bb6 100644
--- a/conf/machine/ls1046afrwy.conf
+++ b/conf/machine/ls1046afrwy.conf
@@ -18,10 +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:prepend:use-nxp-bsp = "\
freescale/fsl-ls1046a-frwy-sdk.dtb \
freescale/fsl-ls1046a-frwy-usdpaa.dtb \
"
@@ -33,5 +37,7 @@ SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
RCWQSPI ?= "NN_NNQNNPNP_3040_0506/rcw_1600_qspiboot"
RCWSD ?= "NN_NNQNNPNP_3040_0506/rcw_1600_sdboot"
-EXTRA_IMAGEDEPENDS += "fm-ucode rcw atf ls2-phy qe-ucode"
+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 baf24c01..2b82c98f 100644
--- a/conf/machine/ls1046ardb.conf
+++ b/conf/machine/ls1046ardb.conf
@@ -18,12 +18,19 @@ 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: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"
@@ -34,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"
-EXTRA_IMAGEDEPENDS += "fm-ucode rcw uefi atf qe-ucode ls2-phy"
+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 2e456f1b..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"
@@ -31,5 +31,5 @@ RCWSD ?= "FCSSRR_PPPP_0x1d_0x13/rcw_1600_sd"
RCWQSPI ?= "FCSSRR_PPPP_0x1d_0x13/rcw_1600_qspi"
-EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex atf"
+EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex qoriq-atf"
USE_VT = "0"
diff --git a/conf/machine/ls1088ardb.conf b/conf/machine/ls1088ardb.conf
index 8f47f284..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"
@@ -30,5 +30,5 @@ SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
RCWSD ?= "FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_sd"
RCWQSPI ?= "FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi"
-EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex atf"
+EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex qoriq-atf"
USE_VT = "0"
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 de9f279f..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,18 +18,18 @@ 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"
UEFI_NORBOOT ?= "LS2088ARDB_EFI_NORBOOT.fd"
-KERNEL_DEVICETREE ?= "freescale/fsl-ls2088a-rdb.dtb"
+KERNEL_DEVICETREE ?= "freescale/fsl-ls2088a-rdb.dtb freescale/fsl-ls2088a-qds.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
-EXTRA_IMAGEDEPENDS += "mc-utils ls2-phy rcw management-complex uefi atf"
+EXTRA_IMAGEDEPENDS += "mc-utils ls2-phy rcw management-complex uefi qoriq-atf"
USE_VT = "0"
diff --git a/conf/machine/lx2160ardb.conf b/conf/machine/lx2160ardb.conf
index 80d1e8ea..1945ad31 100644
--- a/conf/machine/lx2160ardb.conf
+++ b/conf/machine/lx2160ardb.conf
@@ -18,18 +18,19 @@ 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"
+KERNEL_DEVICETREE ?= "freescale/fsl-lx2160a-rdb.dtb freescale/fsl-lx2160a-qds.dtb"
KERNEL_DEFCONFIG ?= "defconfig"
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_sd"
+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 atf inphi"
+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
new file mode 100644
index 00000000..80f91331
--- /dev/null
+++ b/conf/machine/lx2162aqds.conf
@@ -0,0 +1,36 @@
+#@TYPE: Machine
+#@NAME: NXP LX2162AQDS
+#@SOC: LSCH3
+#@DESCRIPTION: Machine configuration for running LX2162AQDS in 64-bit mode
+#@MAINTAINER: Zongchun Yu <Zongchun.Yu@nxp.com>
+
+require conf/machine/include/qoriq-arm64.inc
+require conf/machine/include/arm/arch-arm64.inc
+
+MACHINEOVERRIDES =. "fsl-lsch3:lx2162a:"
+
+MACHINE_FEATURES += "optee"
+
+KERNEL_CLASSES = " kernel-fitimage "
+KERNEL_IMAGETYPES = "fitImage"
+
+DTB_LOAD = "0x90000000"
+UBOOT_ENTRYPOINT = "0x80080000"
+
+UBOOT_CONFIG ??= "tfa-verified-boot tfa-secure-boot tfa"
+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"
+KERNEL_DEFCONFIG ?= "defconfig"
+
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
+SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
+
+RCWXSPI ?= "GGGG_NNNN_PPPP_PPPP_RR_17_2/rcw_2000_650_2900_17_2"
+RCWSD ?= "GGGG_NNNN_PPPP_PPPP_RR_17_2/rcw_2000_650_2900_17_2"
+RCWEMMC ?= "GGGG_NNNN_PPPP_PPPP_RR_17_2/rcw_2000_650_2900_17_2"
+
+EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy qoriq-atf inphi"
+USE_VT = "0"
diff --git a/conf/machine/mpc8548cds.conf b/conf/machine/mpc8548cds.conf
index 73194402..bd4b6500 100644
--- a/conf/machine/mpc8548cds.conf
+++ b/conf/machine/mpc8548cds.conf
@@ -1,14 +1,15 @@
#@TYPE: Machine
#@Name: NXP MPC8548CDS
+#@SOC: MPC8548CDS
#@DESCRIPTION: Machine configuration for the NXP MPC8548CDS
#@MAINTAINER: Chunrong Guo <chunrong.guo@nxp.com>
require conf/machine/include/e500v2.inc
UBOOT_CONFIG ??= "nor"
-UBOOT_CONFIG[nor] = "MPC8548CDS_defconfig,,u-boot.bin"
+UBOOT_CONFIG[nor] = "MPC8548CDS_defconfig,,u-boot-with-dtb.bin"
-KERNEL_DEVICETREE = "mpc8548cds_32b.dtb"
+KERNEL_DEVICETREE = "fsl/mpc8548cds_32b.dtb"
KERNEL_DEFCONFIG = "mpc85xx_defconfig"
USE_VT ?= "0"
diff --git a/conf/machine/p1020rdb.conf b/conf/machine/p1020rdb.conf
index 42bbdc39..974213c1 100644
--- a/conf/machine/p1020rdb.conf
+++ b/conf/machine/p1020rdb.conf
@@ -11,16 +11,16 @@ MACHINEOVERRIDES =. "p1020:"
BOOTFORMAT_CONFIG = "config_sram_p1022ds.dat"
UBOOT_CONFIG ??= "nand sdcard spi nor"
-UBOOT_CONFIG[nor] = "P1020RDB-PD_config"
-UBOOT_CONFIG[nand] = "P1020RDB-PD_NAND_config"
-UBOOT_CONFIG[sdcard] = "P1020RDB-PD_SDCARD_config"
-UBOOT_CONFIG[spi] = "P1020RDB-PD_SPIFLASH_config"
+UBOOT_CONFIG[nor] = "P1020RDB-PD_config,,u-boot-with-dtb.bin"
+UBOOT_CONFIG[nand] = "P1020RDB-PD_NAND_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[sdcard] = "P1020RDB-PD_SDCARD_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[spi] = "P1020RDB-PD_SPIFLASH_config,,u-boot-with-spl.bin"
UBOOT_SOURCE_NAND = "u-boot-with-spl.bin"
UBOOT_SOURCE_SPI = "u-boot-with-spl.bin"
UBOOT_SOURCE_SD = "u-boot-with-spl.bin"
-KERNEL_DEVICETREE ?= "p1020rdb-pd.dtb"
+KERNEL_DEVICETREE ?= "fsl/p1020rdb-pd.dtb"
KERNEL_DEFCONFIG ?= "mpc85xx_smp_defconfig"
JFFS2_ERASEBLOCK = "0x20000"
diff --git a/conf/machine/p2020rdb.conf b/conf/machine/p2020rdb.conf
index 324186ca..40e279d2 100644
--- a/conf/machine/p2020rdb.conf
+++ b/conf/machine/p2020rdb.conf
@@ -11,16 +11,16 @@ MACHINEOVERRIDES =. "p2020:"
BOOTFORMAT_CONFIG = "config_sram_p1022ds.dat"
UBOOT_CONFIG ??= "nand sdcard spi 36bit-nor 36bit-spi 36bit-nand 36bit-sdcard nor"
-UBOOT_CONFIG[nor] = "P2020RDB-PC_config,,u-boot.bin"
-UBOOT_CONFIG[nand] = "P2020RDB-PC_NAND_config,,u-boot.bin"
-UBOOT_CONFIG[sdcard] = "P2020RDB-PC_SDCARD_config,,u-boot.bin"
-UBOOT_CONFIG[spi] = "P2020RDB-PC_SPIFLASH_config,,u-boot.bin"
-UBOOT_CONFIG[36bit-nor] = "P2020RDB-PC_36BIT_config,,u-boot.bin"
-UBOOT_CONFIG[36bit-spi] = "P2020RDB-PC_36BIT_SPIFLASH_config,,u-boot.bin"
-UBOOT_CONFIG[36bit-nand] = "P2020RDB-PC_36BIT_NAND_config,,u-boot.bin"
-UBOOT_CONFIG[36bit-sdcard] = "P2020RDB-PC_36BIT_SDCARD_config,,u-boot.bin"
+UBOOT_CONFIG[nor] = "P2020RDB-PC_config,,u-boot-with-dtb.bin"
+UBOOT_CONFIG[nand] = "P2020RDB-PC_NAND_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[sdcard] = "P2020RDB-PC_SDCARD_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[spi] = "P2020RDB-PC_SPIFLASH_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[36bit-nor] = "P2020RDB-PC_36BIT_config,,u-boot-with-dtb.bin"
+UBOOT_CONFIG[36bit-spi] = "P2020RDB-PC_36BIT_SPIFLASH_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[36bit-nand] = "P2020RDB-PC_36BIT_NAND_config,,u-boot-with-spl.bin"
+UBOOT_CONFIG[36bit-sdcard] = "P2020RDB-PC_36BIT_SDCARD_config,,u-boot-with-spl.bin"
-KERNEL_DEVICETREE ?= "p2020rdb-pc_32b.dtb"
+KERNEL_DEVICETREE ?= "fsl/p2020rdb-pc_32b.dtb"
KERNEL_DEFCONFIG ?= "mpc85xx_smp_defconfig"
JFFS2_ERASEBLOCK = "0x20000"
diff --git a/conf/machine/p2041rdb.conf b/conf/machine/p2041rdb.conf
index 19f7df43..67fa16d1 100644
--- a/conf/machine/p2041rdb.conf
+++ b/conf/machine/p2041rdb.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e500mc.inc
MACHINEOVERRIDES =. "p2041:"
-UBOOT_CONFIG ??= "nand secure-boot sdcard spi nor"
-UBOOT_CONFIG[nor] = "P2041RDB_config"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "P2041RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "P2041RDB_NAND_config,,u-boot.pbl"
-UBOOT_CONFIG[secure-boot] = "P2041RDB_SECURE_BOOT_config"
UBOOT_CONFIG[sdcard] = "P2041RDB_SDCARD_config,,u-boot.pbl"
UBOOT_CONFIG[spi] = "P2041RDB_SPIFLASH_config,,u-boot.pbl"
HV_CFG_M = "p2041rdb"
-KERNEL_DEVICETREE ?= "p2041rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/p2041rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet32_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/p3041ds.conf b/conf/machine/p3041ds.conf
index 5102fc96..cb8099c2 100644
--- a/conf/machine/p3041ds.conf
+++ b/conf/machine/p3041ds.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e500mc.inc
MACHINEOVERRIDES =. "p3041:"
-UBOOT_CONFIG ??= "nand secure-boot sdcard spi nor"
-UBOOT_CONFIG[nor] = "P3041DS_config"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "P3041DS_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "P3041DS_NAND_config,,u-boot.pbl"
-UBOOT_CONFIG[secure-boot] = "P3041DS_SECURE_BOOT_config"
UBOOT_CONFIG[sdcard] = "P3041DS_SDCARD_config,,u-boot.pbl"
UBOOT_CONFIG[spi] = "P3041DS_SPIFLASH_config,,u-boot.pbl"
HV_CFG_M = "p3041ds"
-KERNEL_DEVICETREE ?= "p3041ds.dtb"
+KERNEL_DEVICETREE ?= "fsl/p3041ds.dtb"
KERNEL_DEFCONFIG ?= "corenet32_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/p4080ds.conf b/conf/machine/p4080ds.conf
index 6ea35b37..e648a242 100644
--- a/conf/machine/p4080ds.conf
+++ b/conf/machine/p4080ds.conf
@@ -9,15 +9,14 @@ require conf/machine/include/e500mc.inc
MACHINEOVERRIDES =. "p4080:"
-UBOOT_CONFIG ??= "secure-boot sdcard spi nor"
-UBOOT_CONFIG[nor] = "P4080DS_config"
-UBOOT_CONFIG[secure-boot] = "P4080DS_SECURE_BOOT_config"
+UBOOT_CONFIG ??= "sdcard spi nor"
+UBOOT_CONFIG[nor] = "P4080DS_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[sdcard] = "P4080DS_SDCARD_config,,u-boot.pbl"
UBOOT_CONFIG[spi] = "P4080DS_SPIFLASH_config,,u-boot.pbl"
HV_CFG_M = "p4080ds"
-KERNEL_DEVICETREE ?= "p4080ds.dtb"
+KERNEL_DEVICETREE ?= "fsl/p4080ds.dtb"
KERNEL_DEFCONFIG ?= "corenet32_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/p5040ds-64b.conf b/conf/machine/p5040ds-64b.conf
index 161eb5e9..a6a29393 100644
--- a/conf/machine/p5040ds-64b.conf
+++ b/conf/machine/p5040ds-64b.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e5500-64b.inc
MACHINEOVERRIDES =. "p5040:"
-UBOOT_CONFIG ??= "nand secure-boot sdcard spi nor"
-UBOOT_CONFIG[nor] = "P5040DS_config"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "P5040DS_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "P5040DS_NAND_config,,u-boot.pbl"
-UBOOT_CONFIG[secure-boot] = "P5040DS_SECURE_BOOT_config"
UBOOT_CONFIG[sdcard] = "P5040DS_SDCARD_config,,u-boot.pbl"
UBOOT_CONFIG[spi] = "P5040DS_SPIFLASH_config,,u-boot.pbl"
HV_CFG_M = "p5040ds"
-KERNEL_DEVICETREE ?= "p5040ds.dtb"
+KERNEL_DEVICETREE ?= "fsl/p5040ds.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/p5040ds.conf b/conf/machine/p5040ds.conf
index d958e4f6..daa8d4cd 100644
--- a/conf/machine/p5040ds.conf
+++ b/conf/machine/p5040ds.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e5500.inc
MACHINEOVERRIDES =. "p5040:"
-UBOOT_CONFIG ??= "nand secure-boot sdcard spi nor"
-UBOOT_CONFIG[nor] = "P5040DS_config"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "P5040DS_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "P5040DS_NAND_config,,u-boot.pbl"
-UBOOT_CONFIG[secure-boot] = "P5040DS_SECURE_BOOT_config"
UBOOT_CONFIG[sdcard] = "P5040DS_SDCARD_config,,u-boot.pbl"
UBOOT_CONFIG[spi] = "P5040DS_SPIFLASH_config,,u-boot.pbl"
HV_CFG_M = "p5040ds"
-KERNEL_DEVICETREE ?= "p5040ds.dtb"
+KERNEL_DEVICETREE ?= "fsl/p5040ds.dtb"
KERNEL_DEFCONFIG ?= "corenet32_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t1024rdb-64b.conf b/conf/machine/t1024rdb-64b.conf
index 490c8491..92ccc0e6 100644
--- a/conf/machine/t1024rdb-64b.conf
+++ b/conf/machine/t1024rdb-64b.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e5500-64b.inc
MACHINEOVERRIDES =. "t1:t1024:"
-UBOOT_CONFIG ??= "nand sdcard spi secure-boot nor"
-UBOOT_CONFIG[nor] = "T1024RDB_config"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "T1024RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "T1024RDB_NAND_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[sdcard] = "T1024RDB_SDCARD_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[spi] = "T1024RDB_SPIFLASH_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[secure-boot] = "T1024RDB_SECURE_BOOT_config"
HV_CFG_M = "t1024rdb"
-KERNEL_DEVICETREE ?= "t1024rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t1024rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t1024rdb.conf b/conf/machine/t1024rdb.conf
index 81d56962..9d39958e 100644
--- a/conf/machine/t1024rdb.conf
+++ b/conf/machine/t1024rdb.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e5500.inc
MACHINEOVERRIDES =. "t1:t1024:"
-UBOOT_CONFIG ??= "nand sdcard spi secure-boot nor"
-UBOOT_CONFIG[nor] = "T1024RDB_config"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "T1024RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "T1024RDB_NAND_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[sdcard] = "T1024RDB_SDCARD_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[spi] = "T1024RDB_SPIFLASH_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[secure-boot] = "T1024RDB_SECURE_BOOT_config"
HV_CFG_M = "t1024rdb"
-KERNEL_DEVICETREE ?= "t1024rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t1024rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet32_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t1042d4rdb-64b.conf b/conf/machine/t1042d4rdb-64b.conf
index 873f206a..dd9acda1 100644
--- a/conf/machine/t1042d4rdb-64b.conf
+++ b/conf/machine/t1042d4rdb-64b.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e5500-64b.inc
MACHINEOVERRIDES =. "t1:t1042:"
-UBOOT_CONFIG ??= "nand sdcard spi secure-boot nor"
-UBOOT_CONFIG[nor] = "T1042D4RDB_config,,u-boot.bin"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "T1042D4RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "T1042D4RDB_NAND_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[sdcard] = "T1042D4RDB_SDCARD_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[spi] = "T1042D4RDB_SPIFLASH_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[secure-boot] = "T1042D4RDB_SECURE_BOOT_config,,u-boot.bin"
HV_CFG_M = "t1040rdb"
-KERNEL_DEVICETREE ?= "t1042d4rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t1042d4rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t1042d4rdb.conf b/conf/machine/t1042d4rdb.conf
index 685b7cb1..52a792c7 100644
--- a/conf/machine/t1042d4rdb.conf
+++ b/conf/machine/t1042d4rdb.conf
@@ -9,16 +9,15 @@ require conf/machine/include/e5500.inc
MACHINEOVERRIDES =. "t1:t1042:"
-UBOOT_CONFIG ??= "nand sdcard spi secure-boot nor"
-UBOOT_CONFIG[nor] = "T1042D4RDB_config,,u-boot.bin"
+UBOOT_CONFIG ??= "nand sdcard spi nor"
+UBOOT_CONFIG[nor] = "T1042D4RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[nand] = "T1042D4RDB_NAND_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[sdcard] = "T1042D4RDB_SDCARD_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[spi] = "T1042D4RDB_SPIFLASH_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[secure-boot] = "T1042D4RDB_SECURE_BOOT_config,,u-boot.bin"
HV_CFG_M = "t1040rdb"
-KERNEL_DEVICETREE ?= "t1042d4rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t1042d4rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet32_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t2080rdb-64b.conf b/conf/machine/t2080rdb-64b.conf
index c46d94cf..2da8b3d2 100644
--- a/conf/machine/t2080rdb-64b.conf
+++ b/conf/machine/t2080rdb-64b.conf
@@ -9,17 +9,15 @@ require conf/machine/include/e6500-64b.inc
MACHINEOVERRIDES =. "t2:t2080:"
-UBOOT_CONFIG ??= "sdcard spi nand srio-pcie-boot secure-boot nor"
-UBOOT_CONFIG[nor] = "T2080RDB_config"
+UBOOT_CONFIG ??= "sdcard spi nand nor"
+UBOOT_CONFIG[nor] = "T2080RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[sdcard] = "T2080RDB_SDCARD_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[spi] = "T2080RDB_SPIFLASH_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[nand] = "T2080RDB_NAND_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[srio-pcie-boot] = "T2080RDB_SRIO_PCIE_BOOT_config"
-UBOOT_CONFIG[secure-boot] = "T2080RDB_SECURE_BOOT_config"
HV_CFG_M = "t2080rdb"
-KERNEL_DEVICETREE ?= "t2080rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t2080rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t2080rdb.conf b/conf/machine/t2080rdb.conf
index 128f643b..9b6a85ac 100644
--- a/conf/machine/t2080rdb.conf
+++ b/conf/machine/t2080rdb.conf
@@ -9,17 +9,15 @@ require conf/machine/include/e6500.inc
MACHINEOVERRIDES =. "t2:t2080:"
-UBOOT_CONFIG ??= "sdcard spi nand srio-pcie-boot secure-boot nor"
-UBOOT_CONFIG[nor] = "T2080RDB_config"
+UBOOT_CONFIG ??= "sdcard spi nand nor"
+UBOOT_CONFIG[nor] = "T2080RDB_config,,u-boot-with-dtb.bin"
UBOOT_CONFIG[sdcard] = "T2080RDB_SDCARD_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[spi] = "T2080RDB_SPIFLASH_config,,u-boot-with-spl-pbl.bin"
UBOOT_CONFIG[nand] = "T2080RDB_NAND_config,,u-boot-with-spl-pbl.bin"
-UBOOT_CONFIG[srio-pcie-boot] = "T2080RDB_SRIO_PCIE_BOOT_config"
-UBOOT_CONFIG[secure-boot] = "T2080RDB_SECURE_BOOT_config"
HV_CFG_M = "t2080rdb"
-KERNEL_DEVICETREE ?= "t2080rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t2080rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t4240rdb-64b.conf b/conf/machine/t4240rdb-64b.conf
index 0ccfce7c..7073e2a9 100644
--- a/conf/machine/t4240rdb-64b.conf
+++ b/conf/machine/t4240rdb-64b.conf
@@ -10,11 +10,11 @@ require conf/machine/include/e6500-64b.inc
MACHINEOVERRIDES =. "t4:t4240:"
UBOOT_CONFIG ??= "nor"
-UBOOT_CONFIG[nor] = "T4240RDB_config"
+UBOOT_CONFIG[nor] = "T4240RDB_config,,u-boot-with-dtb.bin"
HV_CFG_M = "t4240rdb"
-KERNEL_DEVICETREE ?= "t4240rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t4240rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
diff --git a/conf/machine/t4240rdb.conf b/conf/machine/t4240rdb.conf
index 0f642114..1f8cb83c 100644
--- a/conf/machine/t4240rdb.conf
+++ b/conf/machine/t4240rdb.conf
@@ -10,11 +10,11 @@ require conf/machine/include/e6500.inc
MACHINEOVERRIDES =. "t4:t4240:"
UBOOT_CONFIG ??= "nor"
-UBOOT_CONFIG[nor] = "T4240RDB_config"
+UBOOT_CONFIG[nor] = "T4240RDB_config,,u-boot-with-dtb.bin"
HV_CFG_M = "t4240rdb"
-KERNEL_DEVICETREE ?= "t4240rdb.dtb"
+KERNEL_DEVICETREE ?= "fsl/t4240rdb.dtb"
KERNEL_DEFCONFIG ?= "corenet64_smp_defconfig"
JFFS2_ERASEBLOCK = "0x10000"
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
new file mode 100644
index 00000000..b7bf3298
--- /dev/null
+++ b/dynamic-layers/aglprofilegraphical/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 00000000..4fc41d05
--- /dev/null
+++ b/dynamic-layers/ivi/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1 @@
+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
new file mode 100644
index 00000000..b1392871
--- /dev/null
+++ b/dynamic-layers/ivi/recipes-graphics/wayland/weston-init/weston.ini
@@ -0,0 +1,109 @@
+[core]
+shell=ivi-shell.so
+modules=hmi-controller.so
+#gbm-format=argb8888
+idle-time=0
+#use-g2d=1
+#repaint-window=16
+#enable-overlay-view=1
+
+#[shell]
+#size=1920x1080
+
+[libinput]
+touchscreen_calibrator=true
+
+[ivi-shell]
+ivi-shell-user-interface=weston-ivi-shell-user-interface
+
+#developermode=true
+
+cursor-theme=default
+cursor-size=32
+
+base-layer-id=1000
+base-layer-id-offset=10000
+
+workspace-background-layer-id=2000
+workspace-layer-id=3000
+application-layer-id=4000
+
+transition-duration=300
+
+background-image=/usr/share/weston/background.png
+background-id=1001
+panel-image=/usr/share/weston/panel.png
+panel-id=1002
+surface-id-offset=10
+tiling-image=/usr/share/weston/tiling.png
+tiling-id=1003
+sidebyside-image=/usr/share/weston/sidebyside.png
+sidebyside-id=1004
+fullscreen-image=/usr/share/weston/fullscreen.png
+fullscreen-id=1005
+random-image=/usr/share/weston/random.png
+random-id=1006
+home-image=/usr/share/weston/home.png
+home-id=1007
+workspace-background-color=0x99000000
+workspace-background-id=2001
+
+[ivi-launcher]
+workspace-id=0
+icon-id=4001
+icon=/usr/share/weston/icon_ivi_flower.png
+path=/usr/bin/weston-flower
+
+[ivi-launcher]
+workspace-id=0
+icon-id=4002
+icon=/usr/share/weston/icon_ivi_clickdot.png
+path=/usr/bin/weston-clickdot
+
+[ivi-launcher]
+workspace-id=1
+icon-id=4003
+icon=/usr/share/weston/icon_ivi_simple-egl.png
+path=/usr/bin/weston-simple-egl
+
+[ivi-launcher]
+workspace-id=1
+icon-id=4004
+icon=/usr/share/weston/icon_ivi_simple-shm.png
+path=/usr/bin/weston-simple-shm
+
+[ivi-launcher]
+workspace-id=2
+icon-id=4005
+icon=/usr/share/weston/icon_ivi_smoke.png
+path=/usr/bin/weston-smoke
+
+[ivi-launcher]
+workspace-id=3
+icon-id=4006
+icon=/usr/share/weston/icon_ivi_flower.png
+path=/usr/bin/weston-flower
+
+[ivi-launcher]
+workspace-id=3
+icon-id=4007
+icon=/usr/share/weston/icon_ivi_clickdot.png
+path=/usr/bin/weston-clickdot
+
+[ivi-launcher]
+workspace-id=3
+icon-id=4008
+icon=/usr/share/weston/icon_ivi_simple-egl.png
+path=/usr/bin/weston-simple-egl
+
+[ivi-launcher]
+workspace-id=3
+icon-id=4009
+icon=/usr/share/weston/icon_ivi_simple-shm.png
+path=/usr/bin/weston-simple-shm
+
+[ivi-launcher]
+workspace-id=3
+icon-id=4010
+icon=/usr/share/weston/icon_ivi_smoke.png
+path=/usr/bin/weston-smoke
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/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/README b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/README
deleted file mode 100644
index 9578982d..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/README
+++ /dev/null
@@ -1,77 +0,0 @@
-test_setkey script usage
-
-The scripts in this directory may be used for testing
-native Linux IPsec with the talitos driver as a loadable module.
-
-It's assumed that these scripts have been placed in the directory
-named /test_setkey.
-
-The scripts setup_left and setup_right configure the ip addresses
-for two boards named 'left' and 'right', which are two gateways for
-an IPsec tunnel. Connect the eth1 interfaces of left and right boards together.
-For smartbits testing, connect eth0 on each board to a smartbits port.
-For other testing (ping, netperf, iperf), connect eth0 on each board to another system.
-
-The scripts named left.conf-* and right.conf-* are setkey scripts
-which configure the IPsec SA and SPD entries.
-The scripts ending in -tunnel use tunnel mode IPsec, and the scripts
-ending in -transport used transport mode IPsec.
-Transport mode is useful for quickly testing security functionality
-using ping or netperf between two boards.
-Tunnel mode can be used for testing throughput using smartbits or other
-performance test equipment.
-
-There is a top level script called 'setup' which
-is used for a one-step setup on the left and right boards.
-'setup' uses two or three parameters. The first parameter is the side, left or right.
-The second parameter is the setkey suffix for the left.conf- and right.conf- files.
-If the third parameter is supplied, the setup will modprobe that name, so
-typically you should provide talitos as the third parameter if you want to load the driver.
-If you have built the talitos driver into the kernel, omit the third parameter to setup.
-You may test software encryption if talitos is built as a module and you omit the third parameter.
-
-Below are example uses of the 'setup' script.
-
-1) One-step setup for smartbits
- Use a tunnel mode setup on each side.
- AES-HMAC-SHA1:
- Left side:
- /test_setkey/setup left aes-sha1-tunnel talitos
- Right side:
- /test_setkey/setup right aes-sha1-tunnel talitos
-
- 3DES-HMAC-SHA1:
- Left side:
- /test_setkey/setup left 3des-sha1-tunnel talitos
- Right side:
- /test_setkey/setup right 3des-sha1-tunnel talitos
-
-2) One-step setup for testing ping, netperf, or iperf between two boards.
- Use a transport mode setup on each side.
- AES-HMAC-SHA1:
- Left side:
- /test_setkey/setup left aes-sha1-transport talitos
- Right side:
- /test_setkey/setup right aes-sha1-transport talitos
-
- 3DES-HMAC-SHA1:
- Left side:
- /test_setkey/setup left 3des-sha1-transport talitos
- Right side:
- /test_setkey/setup right 3des-sha1-transport talitos
-
-3) Testing ipv4
- To test ipv4 (with no security) over the two gateways, use steps below.
- Testing ipv4 is helpful to get your smartbits configuration verified
- and also establish a baseline performance for throughput.
-
- On the left board:
- cd /test_setkey
- ./setup_left
- ./left.ipv4
-
- On the right board:
- cd /test_setkey
- ./setup_right
- ./right.ipv4
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_left.conf-3des-sha1-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_left.conf-3des-sha1-tunnel
deleted file mode 100755
index 6bd6c5d8..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_left.conf-3des-sha1-tunnel
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_right.conf-3des-sha1-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_right.conf-3des-sha1-tunnel
deleted file mode 100755
index eebf307a..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/auto_right.conf-3des-sha1-tunnel
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board B setup
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/flush-setkey b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/flush-setkey
deleted file mode 100755
index 0be30562..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/flush-setkey
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/sbin/setkey -f
-
-flush;
-spdflush;
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.left b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.left
deleted file mode 100644
index d9d6c0c6..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.left
+++ /dev/null
@@ -1,29 +0,0 @@
-# /etc/ipsec.conf - strongSwan IPsec configuration file
-
-config setup
- charondebug="chd 2, knl 2"
- crlcheckinterval=180
- strictcrlpolicy=no
- plutostart=no
-
-conn %default
- ikelifetime=60m
- keylife=20m
- rekeymargin=3m
- keyingtries=1
- keyexchange=ikev2
- type=tunnel
- auth=esp
- compress=no
- mobike=no
-
-conn net-net
- left=200.200.200.10
- leftsubnet=192.168.1.0/24
- leftcert=moonCert.pem
- leftid="C=CH, O=Linux strongSwan, CN=moon.strongswan.org"
- leftfirewall=yes
- right=200.200.200.20
- rightsubnet=192.168.2.0/24
- rightid="C=CH, O=Linux strongSwan, CN=sun.strongswan.org"
- auto=add
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.right b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.right
deleted file mode 100644
index c14dee2b..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.conf.right
+++ /dev/null
@@ -1,28 +0,0 @@
-# /etc/ipsec.conf - strongSwan IPsec configuration file
-
-config setup
- charondebug="chd 2, knl 2"
- crlcheckinterval=180
- strictcrlpolicy=no
- plutostart=no
-
-conn %default
- ikelifetime=60m
- keylife=20m
- rekeymargin=3m
- keyingtries=1
- keyexchange=ikev2
- auth=esp
- compress=no
- mobike=no
-
-conn net-net
- left=200.200.200.20
- leftcert=sunCert.pem
- leftid="C=CH, O=Linux strongSwan, CN=sun.strongswan.org"
- leftsubnet=192.168.2.0/24
- leftfirewall=yes
- right=200.200.200.10
- rightid="C=CH, O=Linux strongSwan, CN=moon.strongswan.org"
- rightsubnet=192.168.1.0/24
- auto=add
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.left b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.left
deleted file mode 100644
index e86d6aa5..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.left
+++ /dev/null
@@ -1,3 +0,0 @@
-# /etc/ipsec.secrets - strongSwan IPsec secrets file
-
-: RSA moonKey.pem
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.right b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.right
deleted file mode 100644
index 1095b74c..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec.secrets.right
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/ipsec.secrets - strongSwan IPsec secrets file
-
-: RSA sunKey.pem
-
-
-
-
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.left b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.left
deleted file mode 100644
index 55025dbc..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.left
+++ /dev/null
@@ -1,39 +0,0 @@
-# /etc/ipsec.conf - strongSwan IPsec configuration file
-
-config setup
- plutodebug=control
- crlcheckinterval=180
- strictcrlpolicy=no
- charonstart=no
-
-conn %default
- ikelifetime=60m
- keylife=20m
- rekeymargin=3m
- keyingtries=1
- keyexchange=ikev1
- left=200.200.200.10
- leftcert=moonCert.pem
- leftid="C=CH, O=Linux strongSwan, CN=moon.strongswan.org"
- leftfirewall=yes
-
-conn net-net
- left=%defaultroute
- leftsubnet=192.168.1.0/24
- leftcert=moonCert.pem
- right=200.200.200.20
- rightsubnet=192.168.2.0/24
- rightid="C=CH, O=Linux strongSwan, CN=sun.strongswan.org"
- auto=add
-
-conn host-host
- left=%defaultroute
- leftcert=moonCert.pem
- right=200.200.200.20
- rightid="C=CH, O=Linux strongSwan, CN=sun.strongswan.org"
- auto=add
-
-conn rw
- leftsubnet=192.168.1.0/24
- right=%any
- auto=add
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.right b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.right
deleted file mode 100644
index 479791ea..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/ipsec_ikev1.conf.right
+++ /dev/null
@@ -1,34 +0,0 @@
-# /etc/ipsec.conf - strongSwan IPsec configuration file
-
-config setup
- plutodebug=control
- crlcheckinterval=180
- strictcrlpolicy=no
- charonstart=no
-
-conn %default
- ikelifetime=60m
- keylife=20m
- rekeymargin=3m
- keyingtries=1
- keyexchange=ikev1
- left=200.200.200.20
- leftcert=sunCert.pem
- leftid="C=CH, O=Linux strongSwan, CN=sun.strongswan.org"
- leftfirewall=yes
-
-conn net-net
- left=%defaultroute
- leftsubnet=192.168.2.0/24
- leftcert=sunCert.pem
- right=200.200.200.10
- rightsubnet=192.168.1.0/24
- rightid="C=CH, O=Linux strongSwan, CN=moon.strongswan.org"
- auto=add
-
-conn host-host
- left=%defaultroute
- leftcert=sunCert.pem
- right=200.200.200.10
- rightid="C=CH, O=Linux strongSwan, CN=moon.strongswan.org"
- auto=add
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-transport
deleted file mode 100755
index 5422771b..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-tunnel
deleted file mode 100755
index 52bf9c3f..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-md5-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-transport
deleted file mode 100755
index e5ee0054..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-transport
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-tunnel
deleted file mode 100755
index eb2881db..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha1-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-transport
deleted file mode 100755
index b5286320..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-tunnel
deleted file mode 100755
index e7726f08..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-3des-sha256-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513 -m tunnel
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514 -m tunnel
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-transport
deleted file mode 100755
index 96f57837..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-tunnel
deleted file mode 100755
index b2cf84bf..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-md5-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-transport
deleted file mode 100755
index f3ffaf5c..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-transport
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-tunnel
deleted file mode 100755
index 1ab7874f..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha1-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-transport
deleted file mode 100755
index d2645d6f..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-tunnel
deleted file mode 100755
index 8ed697d1..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-aes-sha256-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513 -m tunnel
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514 -m tunnel
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-transport
deleted file mode 100755
index 84275d07..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.10
-
-flush;
-spdflush;
-
-# ESP SAs doing null encryption
-# and null authentication
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E null
- -A null;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E null
- -A null;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P in ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P out ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-tunnel
deleted file mode 100755
index 478d14a8..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.conf-null-null-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway A (eth0:192.168.1.130, eth1:200.200.200.10)
-#
-# Security policies
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-
-# ESP SAs doing null encryption
-# and null authentication
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E null
- -A null;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E null
- -A null;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.ipv4 b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.ipv4
deleted file mode 100755
index e219f2ad..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/left.ipv4
+++ /dev/null
@@ -1,2 +0,0 @@
-set -v
-route add -net 192.168.2.0 netmask 255.255.255.0 gw 200.200.200.20
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonCert.pem b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonCert.pem
deleted file mode 100644
index d5c970f4..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonCert.pem
+++ /dev/null
@@ -1,25 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEIjCCAwqgAwIBAgIBFzANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ
-MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS
-b290IENBMB4XDTA5MDgyNzEwMDMzMloXDTE0MDgyNjEwMDMzMlowRjELMAkGA1UE
-BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xHDAaBgNVBAMTE21vb24u
-c3Ryb25nc3dhbi5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDK
-L2M91Lu6BYYhWxWgMS9z9TMSTwszm5rhO7ZIsCtMRo4PAeYw+++SGXt3CPXb/+p+
-SWKGlm11rPE71eQ3ehgh2C3hAurfmWO0iQQaCw+fdreeIVCqOQIOP6UqZ327h5yY
-YpHk8VQv4vBJTpxclU1PqnWheqe1ZlLxsW773LRml/fQt/UgvJkCBTZZONLNMfK+
-7TDnYaVsAtncgvDN78nUNEe2qY92KK7SrBJ6SpUEg49m51F+XgsGcsgWVHS85on3
-Om/G48crLEVJjdu8CxewSRVgb+lPJWzHd8QsU0Vg/7vlqs3ZRMyNtNKrr4opSvVb
-A6agGlTXhDCreDiXU8KHAgMBAAGjggEaMIIBFjAJBgNVHRMEAjAAMAsGA1UdDwQE
-AwIDqDAdBgNVHQ4EFgQUapx00fiJeYn2WpTpifH6w2SdKS4wbQYDVR0jBGYwZIAU
-XafdcAZRMn7ntm2zteXgYOouTe+hSaRHMEUxCzAJBgNVBAYTAkNIMRkwFwYDVQQK
-ExBMaW51eCBzdHJvbmdTd2FuMRswGQYDVQQDExJzdHJvbmdTd2FuIFJvb3QgQ0GC
-AQAwHgYDVR0RBBcwFYITbW9vbi5zdHJvbmdzd2FuLm9yZzATBgNVHSUEDDAKBggr
-BgEFBQcDATA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLnN0cm9uZ3N3YW4u
-b3JnL3N0cm9uZ3N3YW4uY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCctXg2xeMozaTV
-jiBL1P8MY9uEH5JtU0EceQ1RbI5/2vGRdnECND9oADY5vamaaE2Mdq2Qh/vlXnML
-o3ii5ELjsQlYdTYZOcMOdcUUXYvbbFX1cwpkBhyBl1H25KptHcgQ/HnceKp3kOuq
-wYOYjgwePXulcpWXx0E2QtQCFQQZFPyEWeNJxH0oglg53QPXfHY9I2/Gukj5V0bz
-p7ME0Gs8KdnYdmbbDqzQgPsta96/m+HoJlsrVF+4Gqihj6BWMBQ2ybjPWZdG3oH9
-25cE8v60Ry98D0Z/tygbAUFnh5oOvaf642paVgc3aoA77I8U+UZjECxISoiHultY
-7QTufOwP
------END CERTIFICATE-----
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonKey.pem b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonKey.pem
deleted file mode 100644
index 4d99866f..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/moonKey.pem
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAyi9jPdS7ugWGIVsVoDEvc/UzEk8LM5ua4Tu2SLArTEaODwHm
-MPvvkhl7dwj12//qfklihpZtdazxO9XkN3oYIdgt4QLq35ljtIkEGgsPn3a3niFQ
-qjkCDj+lKmd9u4ecmGKR5PFUL+LwSU6cXJVNT6p1oXqntWZS8bFu+9y0Zpf30Lf1
-ILyZAgU2WTjSzTHyvu0w52GlbALZ3ILwze/J1DRHtqmPdiiu0qwSekqVBIOPZudR
-fl4LBnLIFlR0vOaJ9zpvxuPHKyxFSY3bvAsXsEkVYG/pTyVsx3fELFNFYP+75arN
-2UTMjbTSq6+KKUr1WwOmoBpU14Qwq3g4l1PChwIDAQABAoIBACBFB/Xqajv6fbn9
-K6pxrz02uXwGmacXAtVIDoPzejWmXS4QA4l17HrJDmelSnhelDKry8nnYHkTrTz7
-mn0wQ4HDWy86o/okJUG/TKRLd6bf79aRQqqohqd3iQkHk43GyzuXH+oGioVKF0fc
-ACDWw4wfjL7FMNdHCZ4Bz9DrHO/ysHe9B6rvSYm3VZRhSxaneIkaLkkDadKpVx3f
-XNFlMxY4qKPJYYSoJZ61iMqrO7+rnA93tmyDDs8PKU3BtnpfNrdePgleJHhk8Zqy
-Ev2/NOCSUxbKE8NCtLpGTs+T0qjjnu4k3WPd3ZOBAan0uPDekHZeHB/aXGLhYcxx
-J5SurqECgYEA+F1gppkER5Jtoaudt/CUpdQ1sR9wxf75VBqJ4FiYABGQz9xlG4oj
-zL/o572s0iV3bwFpnQa+WuWrxGkP6ZuB/Z82npc0N/vLou/b4dxvg4n7K+eOOEf0
-8FMjsse2tqTIXKCqcmQnR0NPQ1jwuvEKsXP5w/JOlnRXAXnd4jxsJI0CgYEA0GaT
-61ySttUW9jC3mxuY6jkQy8TEQqR3nOFvWwmCXIWOpN/MTTPus+Telxp/pdKhU+mo
-PmX3Unyne5PvwleWDq3YzltX5ZDZGJ5UJlKuNnfGIzQ6OcHRbb7zBpQG6qSRPuug
-bgo688hTnb1L59nK88zWVK45euf6pyuoI+SwIGMCgYEA7yvE8knyhBXvezuv0z1b
-eGHmHp5/VDwY0DQKSEAoiBBiWrkLqLybgwXf/KJ8dZZc8En08aFX2GLJyYe/KiB1
-ys3ypEBJqgvRayP+o/9KZ+qNNRd0rqAksPXvL7ABNNt0kzapTSVDae3Yu6s/j1am
-DIL5qAeERIDedG5uDPpQzdUCgYB7MtjpP63ABhLv8XbpbBQnCxtByw3W89F+Xcrt
-v55gQdhE4cSuMzA/CuMH4vNpPS6AI9aBJNhj3CtKo/cOJachAGb1/wvkO5ALvLW0
-fhZdPstUTnDJain7vfF/hwzbs/PlhXgu9T9KlLfRvXFdG+Sd4g8mumRiozcLkoRw
-y6XPTwKBgDJP+s9wXmdG90HST/aqC7FKrVXLpB63dY5swNUfQP6sa0pFnON0r0JC
-h/YCsGFFIAebQ2uOkM3g3f9nkwTp7910ov+/5uThvRI2w2BBPy0mVuALPjyyF1Z2
-cb9zpyKiIuXoXRCf4sd8r1lR9bn0Fxx0Svpxf+fpMGSI5quHNBKY
------END RSA PRIVATE KEY-----
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizes.sh b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizes.sh
deleted file mode 100755
index faefb245..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizes.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-#
-# Usage: ./pingsizes.sh 1440 20 (or greater)
-#
-
-PINGDEST=${PINGDEST:-200.200.200.10}
-k=$1
-lim="$((k+$2))"
-((k-=1))
-while [ "$k" != "$lim" ] ; do
- echo -n "ping -s $((k+=1)) : "
- ping -i 1000 -c 1 -s $k $PINGDEST | grep packets &
- sleep 1
- PID=`ps -eaf | grep 'ping -i' | grep -v grep | sed 's/[ ][ ]*/ /g' | cut -d " " -f 2`
- if [ -n "$PID" ] ; then
- echo "****************** killing $PID"
- kill $PID > /dev/null
- fi
-done
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizest.sh b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizest.sh
deleted file mode 100755
index d5ff0f7d..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/pingsizest.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-#
-# Usage: ./pingsizes.sh 1440 20 (or greater)
-#
-
-PINGDEST=${PINGDEST:-200.200.200.10}
-k=$1
-lim="$((k+$2))"
-((k-=1))
-while [ "$k" != "$lim" ] ; do
- echo ping -s $((k+=1))
- ping -i 1000 -c 1 -s $k $PINGDEST &
- sleep 1
- PID=`ps -eaf | grep 'ping -i' | sed 's/[ ][ ]*/ /g' | cut -d " " -f 2`
- if [ -n "$PID" ] ; then
- echo "****************** killing $PID"
- kill $PID
- fi
-done
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/psk.txt b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/psk.txt
deleted file mode 100644
index 46c1ff41..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/psk.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-200.200.200.20 secretkeyracoon
-200.200.200.10 secretkeyracoon
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/racoon.conf b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/racoon.conf
deleted file mode 100644
index cf561f51..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/racoon.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-path pre_shared_key "/test_setkey/psk.txt" ;
-
- remote anonymous
- {
- exchange_mode main ;
- lifetime time 1 hour ;
- proposal {
- encryption_algorithm 3des;
- hash_algorithm sha1;
- authentication_method pre_shared_key ;
- dh_group 2 ;
- }
- }
-
- sainfo anonymous
- {
- pfs_group 2;
- lifetime time 1 hour ;
- encryption_algorithm 3des ;
- authentication_algorithm hmac_sha1 ;
- compression_algorithm deflate ;
- }
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-transport
deleted file mode 100755
index 7f82fb46..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-tunnel
deleted file mode 100755
index 5a752579..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-md5-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board B setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-transport
deleted file mode 100755
index 6ef885d4..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-transport
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
-# Security policies
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-tunnel
deleted file mode 100755
index 16c31578..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha1-tunnel
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board B setup
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-transport
deleted file mode 100755
index b9772092..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-tunnel
deleted file mode 100755
index e7c5b4e6..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-3des-sha256-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513 -m tunnel
- -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514 -m tunnel
- -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-transport
deleted file mode 100755
index 5d55d001..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-tunnel
deleted file mode 100755
index f49bd54a..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-md5-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board B setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-md5 authentication using 128 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-md5 0xd5f603abc8cd9d19319ca32fb955b10f;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-md5 0x1dd90b4c32dcbe9d37b555a23df5170e;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-transport
deleted file mode 100755
index d9c65a45..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-transport
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
-# Security policies
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-tunnel
deleted file mode 100755
index 1f10136a..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha1-tunnel
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board B setup
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha1 authentication using 160 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha1 0xe9c43acd5e8d779b6e09c87347852708ab49bdd3;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha1 0xea6856479330dc9c17b8f6c37e2a895363d83f21;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-transport
deleted file mode 100755
index 817a8bd4..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-tunnel
deleted file mode 100755
index 9bca18fb..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-aes-sha256-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board A setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-
-# ESP SAs doing encryption using 192 bit long keys (168 + 24 parity)
-# and hmac-sha2-256 authentication using 256 bit long keys
-add 200.200.200.10 200.200.200.20 esp 0x10513 -m tunnel
- -E aes-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
- -A hmac-sha2-256 0x4de03bebf6beb4fdef5a67d349a09580466cc4e54503333b2a5fd34538c91198;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514 -m tunnel
- -E aes-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df
- -A hmac-sha2-256 0x5e01eb780b7ecc074ca2ca4fa4a5ea2ff841c977da0ce61c49d1fe767ea5452c;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-transport b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-transport
deleted file mode 100755
index 26dfe2e1..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-transport
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/sbin/setkey -f
-#I am 200.200.200.20
-
-flush;
-spdflush;
-
-# ESP SAs doing null encryption
-# and null authentication
-add 200.200.200.10 200.200.200.20 esp 0x10513
- -E null
- -A null;
-
-add 200.200.200.20 200.200.200.10 esp 0x10514
- -E null
- -A null;
-
-
-spdadd 200.200.200.20 200.200.200.10 any -P out ipsec
- esp/transport//require;
-
-spdadd 200.200.200.10 200.200.200.20 any -P in ipsec
- esp/transport//require;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-tunnel b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-tunnel
deleted file mode 100755
index bc4f38eb..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.conf-null-null-tunnel
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/sbin/setkey -f
-#
-#
-# Example ESP Tunnel for VPN.
-#
-# ========= ESP =========
-# | |
-# Network-A Gateway-A Gateway-B Network-B
-# 192.168.1.0/24 ---- 200.200.200.10 ------ 200.200.200.20 ---- 192.168.2.0/24
-#
-# ====== 83xx board A ====== ===== 83xx board B =====
-# | | | |
-# eth0 eth1 eth1 eth0
-# 192.168.1.130 200.200.200.10 200.200.200.20 192.168.2.130
-#
-#
-# Board B setup
-#
-# Flush the SAD and SPD
-flush;
-spdflush;
-
-# I am gateway B (eth0:192.168.2.130, eth1:200.200.200.20)
-#
-# Security policies
-spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec
- esp/tunnel/200.200.200.20-200.200.200.10/require;
-
-spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec
- esp/tunnel/200.200.200.10-200.200.200.20/require;
-
-
-# ESP SAs doing null encryption
-# and null authentication
-add 200.200.200.10 200.200.200.20 esp 0x201 -m tunnel
- -E null
- -A null;
-
-add 200.200.200.20 200.200.200.10 esp 0x301 -m tunnel
- -E null
- -A null;
-
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.ipv4 b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.ipv4
deleted file mode 100755
index 67cd1b2c..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/right.ipv4
+++ /dev/null
@@ -1,2 +0,0 @@
-set -v
-route add -net 192.168.1.0 netmask 255.255.255.0 gw 200.200.200.10
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup
deleted file mode 100755
index 9e6fa7fa..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup
+++ /dev/null
@@ -1,47 +0,0 @@
-# setup - quick setup for left or right side of ipsec test
-# see README for example use.
-
-SCRIPT_HOME=/test_setkey/
-cd $SCRIPT_HOME
-
-export PATH=$SCRIPT_HOME:$PATH
-
-if [ "$1" != "left" -a "$1" != "right" ] ; then
- echo "Usage: $0 side [config] [driver]"
- echo " where side is either left or right."
- echo " where config is either"
- echo " aes-sha1-tunnel (default)"
- echo " or 3des-sha1-tunnel"
- echo " if driver is supplied, script does 'modprobe driver'"
- exit 1
-fi
-
-SIDE=$1
-POLICY_CFG=$SIDE.conf
-DEFAULT_POLICY=aes-sha1-tunnel
-
-if [ -n "$2" ] ; then
- POLICY=$2
-else
- POLICY=$DEFAULT_POLICY
-fi
-
-SETKEY_FILE=$POLICY_CFG-$POLICY
-
-if [ ! -f $SETKEY_FILE ] ; then
- echo "Missing setkey command file: $SETKEY_FILE"
- exit 1
-fi
-
-# modprobe any driver name given as last parameter
-if [ -n "$3" ] ; then
- modprobe $3
-fi
-
-SETUP_CMD_FILE=./setup_$SIDE
-. $SETUP_CMD_FILE
-
-$SETKEY_FILE
-
-setkey -D
-setkey -D -P
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_left b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_left
deleted file mode 100755
index da769099..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_left
+++ /dev/null
@@ -1,13 +0,0 @@
-# board on left setup
-set -v
-ifconfig eth0 down
-ifconfig eth0 hw ether 00:04:9F:11:22:33
-ifconfig eth0 192.168.1.130 netmask 255.255.255.0
-ifconfig eth0 up
-ifconfig eth1 down
-ifconfig eth1 hw ether 00:E0:0C:00:7D:FD
-ifconfig eth1 200.200.200.10 netmask 255.255.255.0
-ifconfig eth1 up
-arp -s 192.168.1.21 00:00:00:00:00:01
-route add default dev eth1
-echo 1 > /proc/sys/net/ipv4/ip_forward
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_right b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_right
deleted file mode 100755
index f0e333ee..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/setup_right
+++ /dev/null
@@ -1,13 +0,0 @@
-# board on right setup
-set -v
-ifconfig eth0 down
-ifconfig eth0 hw ether 00:E0:0C:00:01:FD
-ifconfig eth0 192.168.2.130 netmask 255.255.255.0
-ifconfig eth0 up
-ifconfig eth1 down
-ifconfig eth1 hw ether 00:E0:0C:00:00:FD
-ifconfig eth1 200.200.200.20 netmask 255.255.255.0
-ifconfig eth1 up
-arp -s 192.168.2.21 00:00:00:00:00:02
-route add default dev eth1
-echo 1 > /proc/sys/net/ipv4/ip_forward
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan.conf b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan.conf
deleted file mode 100644
index 1701f4ab..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-# strongswan.conf - strongSwan configuration file
-
-charon {
- load = curl aes des sha1 sha2 md5 pem pkcs1 gmp random x509 revocation hmac xcbc stroke kernel-netlink socket-raw updown
- multiple_authentication = no
-}
-
-pluto {
-
- # plugins to load in pluto
- #load = aes des sha1 md5 sha2 hmac gmp random pubkey
-
-}
-
-libstrongswan {
-
- # set to no, the DH exponent size is optimized
- # dh_exponent_ansi_x9_42 = no
-}
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswanCert.pem b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswanCert.pem
deleted file mode 100644
index 0865ad22..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswanCert.pem
+++ /dev/null
@@ -1,22 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDuDCCAqCgAwIBAgIBADANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ
-MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS
-b290IENBMB4XDTA0MDkxMDEwMDExOFoXDTE5MDkwNzEwMDExOFowRTELMAkGA1UE
-BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMTEnN0cm9u
-Z1N3YW4gUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/y
-X2LqPVZuWLPIeknK86xhz6ljd3NNhC2z+P1uoCP3sBMuZiZQEjFzhnKcbXxCeo2f
-FnvhOOjrrisSuVkzuu82oxXD3fIkzuS7m9V4E10EZzgmKWIf+WuNRfbgAuUINmLc
-4YGAXBQLPyzpP4Ou48hhz/YQo58Bics6PHy5v34qCVROIXDvqhj91P8g+pS+F21/
-7P+CH2jRcVIEHZtG8M/PweTPQ95dPzpYd2Ov6SZ/U7EWmbMmT8VcUYn1aChxFmy5
-gweVBWlkH6MP+1DeE0/tL5c87xo5KCeGK8Tdqpe7sBRC4pPEEHDQciTUvkeuJ1Pr
-K+1LwdqRxo7HgMRiDw8CAwEAAaOBsjCBrzASBgNVHRMBAf8ECDAGAQH/AgEBMAsG
-A1UdDwQEAwIBBjAdBgNVHQ4EFgQUXafdcAZRMn7ntm2zteXgYOouTe8wbQYDVR0j
-BGYwZIAUXafdcAZRMn7ntm2zteXgYOouTe+hSaRHMEUxCzAJBgNVBAYTAkNIMRkw
-FwYDVQQKExBMaW51eCBzdHJvbmdTd2FuMRswGQYDVQQDExJzdHJvbmdTd2FuIFJv
-b3QgQ0GCAQAwDQYJKoZIhvcNAQELBQADggEBACOSmqEBtBLR9aV3UyCI8gmzR5in
-Lte9aUXXS+qis6F2h2Stf4sN+Nl6Gj7REC6SpfEH4wWdwiUL5J0CJhyoOjQuDl3n
-1Dw3dE4/zqMZdyDKEYTU75TmvusNJBdGsLkrf7EATAjoi/nrTOYPPhSUZvPp/D+Y
-vORJ9Ej51GXlK1nwEB5iA8+tDYniNQn6BD1MEgIejzK+fbiy7braZB1kqhoEr2Si
-7luBSnU912sw494E88a2EWbmMvg2TVHPNzCpVkpNk7kifCiwmw9VldkqYy9y/lCa
-Epyp7lTfKw7cbD04Vk8QJW782L6Csuxkl346b17wmOqn8AZips3tFsuAY3w=
------END CERTIFICATE-----
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_left b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_left
deleted file mode 100755
index e55c3e42..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_left
+++ /dev/null
@@ -1,10 +0,0 @@
-#strongswan on left board
-set -v
-cp -rf ipsec.conf.left /etc/ipsec.conf
-cp -rf ipsec.secrets.left /etc/ipsec.secrets
-cp -rf strongswan.conf /etc/
-cp -rf strongswanCert.pem /etc/ipsec.d/cacerts/
-cp -rf moonCert.pem /etc/ipsec.d/certs/
-mkdir /etc/ipsec.d/private
-cp -rf sunKey.pem /etc/ipsec.d/private/
-cp -rf moonKey.pem /etc/ipsec.d/private/
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_right b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_right
deleted file mode 100755
index bcdbb731..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/strongswan_right
+++ /dev/null
@@ -1,10 +0,0 @@
-#strongswan on left board
-set -v
-cp -rf ipsec.conf.right /etc/ipsec.conf
-cp -rf ipsec.secrets.right /etc/ipsec.secrets
-cp -rf strongswan.conf /etc/
-cp -rf strongswanCert.pem /etc/ipsec.d/cacerts/
-cp -rf sunCert.pem /etc/ipsec.d/certs/
-mkdir /etc/ipsec.d/private
-cp -rf sunKey.pem /etc/ipsec.d/private/
-cp -rf moonKey.pem /etc/ipsec.d/private/
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunCert.pem b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunCert.pem
deleted file mode 100644
index d0937bab..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunCert.pem
+++ /dev/null
@@ -1,25 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEIDCCAwigAwIBAgIBFjANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ
-MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS
-b290IENBMB4XDTA5MDgyNzA5NTkwNFoXDTE0MDgyNjA5NTkwNFowRTELMAkGA1UE
-BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMTEnN1bi5z
-dHJvbmdzd2FuLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+V
-VIpn6Q5jaU//EN6p6A5cSfUfhBK0mFa2laFFZh/Y0h66AXqqrQ3X917h7YNsSk68
-oowY9h9I3gOx7hNVBsJr2VjdYC+b0q5NTha09/A5mimv/prYj6o0yawxoPjoDs9Y
-h7D7Kf+F8fkgk0stlHJZX66J7dNrFXbg1xBld+Ep5Or2FbEZ9QWUpRQTuhdpNt/4
-9YuxQ59DemY9IRbwsrKCHH0mGrJsDdqeb0ap+8QvSXHjCt1fr9MNKWaAFAQLKQI4
-e0da1ntPCEQLeE833+NNRBgGufk0KqGT3eAXqrxa9AEIUJnVcPexQdqUMjcUpXFb
-8WNzRWB8Egh3BDK6FsECAwEAAaOCARkwggEVMAkGA1UdEwQCMAAwCwYDVR0PBAQD
-AgOoMB0GA1UdDgQWBBRW1p4v2qihzRlcI1PnxbZwluML+zBtBgNVHSMEZjBkgBRd
-p91wBlEyfue2bbO15eBg6i5N76FJpEcwRTELMAkGA1UEBhMCQ0gxGTAXBgNVBAoT
-EExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMTEnN0cm9uZ1N3YW4gUm9vdCBDQYIB
-ADAdBgNVHREEFjAUghJzdW4uc3Ryb25nc3dhbi5vcmcwEwYDVR0lBAwwCgYIKwYB
-BQUHAwEwOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2NybC5zdHJvbmdzd2FuLm9y
-Zy9zdHJvbmdzd2FuLmNybDANBgkqhkiG9w0BAQsFAAOCAQEAo37LYT9Awx0MK/nA
-FZpPJqUr0Ey+O5Ukcsdx7nd00SlmpiQRY8KmuRXCBQnDEgdLstd3slQjT0pJEgWF
-0pzxybnI6eOzYAhLfhart+X1hURiNGbXjggm2s4I5+K32bVIkNEqlsYnd/6F9oo5
-ZNO0/eTTruLZfkNe/zchBGKe/Z7MacVwlYWWCbMtBV4K1d5dGcRRgpQ9WivDlmat
-Nh9wlscDSgSGk3HJkbxnq695VN7zUbDWAUvWWhV5bIDjlAR/xyT9ApqIxiyVVRul
-fYrE7U05Hbt6GgAroAKLp6qJup9+TxQAKSjKIwJ0hf7OuYyQ8TZtVHS7AOhm+T/5
-G/jGGA==
------END CERTIFICATE-----
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunKey.pem b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunKey.pem
deleted file mode 100644
index d8fad9aa..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo/test_setkey/sunKey.pem
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEA35VUimfpDmNpT/8Q3qnoDlxJ9R+EErSYVraVoUVmH9jSHroB
-eqqtDdf3XuHtg2xKTryijBj2H0jeA7HuE1UGwmvZWN1gL5vSrk1OFrT38DmaKa/+
-mtiPqjTJrDGg+OgOz1iHsPsp/4Xx+SCTSy2Ucllfront02sVduDXEGV34Snk6vYV
-sRn1BZSlFBO6F2k23/j1i7FDn0N6Zj0hFvCysoIcfSYasmwN2p5vRqn7xC9JceMK
-3V+v0w0pZoAUBAspAjh7R1rWe08IRAt4Tzff401EGAa5+TQqoZPd4BeqvFr0AQhQ
-mdVw97FB2pQyNxSlcVvxY3NFYHwSCHcEMroWwQIDAQABAoIBADH51hjN2zk9HVgl
-QmcTAWzcUie5cLMhrP+M9mtC8O3jcCwwFY6OwfnbMU8DHy0GMqHg5lB8b99UUVPw
-HLAzjDw/ESkc6pgZs4EEhJTsxJLsvTnePgHssEgyXnXf7gRVEqJkPohfy+Zy0UCH
-eIUQXiMlOQ7xg7iDMhwNa+UdWSt539DztSKilQn2xdPZjFnMT0/prvl4NA/8Zn54
-/SdWDq5yRdLWb6EK1V7yJ3687GXR1jzGtgy7TXuncUJVTYgX7RdP1Tn6gWD8YAQ/
-RfT0DdWYm4WHSgSb9/NW8lBZH2yy3hg+lNgofXEvTfBkO5QyW31LIr0tCV6zhJIc
-Y9MxaKUCgYEA9sktaXfhPLe0ECjdeQEOq5EKuDrCviSKCOuAV4BDSOsdw6+5LWfY
-Vb/oke8N70lL3RCblcj1pOKWUi2O/SpEJdDRduiw2gM9cXt3/bChSTHC4TsIxxN/
-Db9OGg72kZ4sRY5Au+zyAAQYBwXhFWux194Jk5qK0JblNG9J5QMqZDcCgYEA5+5h
-BgHUMEO+pdME5lAiSc5PcNTejpA6j+OikCh4/HFXy3C/dLx+Cs1+egw64c8iVaIv
-NEo7n7E9I0e3XqanPRXhMnBRrP+39OVsWPmZ18Li2Hi84KwJyi8Y11l3XJOqaYpF
-wMVUuZpxR0dfG5k/5GwT/tEkmQBglOgG3m2zUMcCgYEA4m3Vd9ahV5dp5AXKpzKc
-JjiPMFfhxJo7+FEz0ZUCp03qYljBu/Jy4MKS/grrqyiCLdQGHNlk4SNxLvdUId78
-5gGBnuuDEJU2dAAIKUE9yq2YlBUZSacOxStI2snt28/X6P3LUWHm7LLU5OS1D3Vf
-mKPF/6MlSJuas5CEqVZNN+MCgYBH9Qh7IaQgmVQUBKVXg3Mv7OduvUyTdKIGtHxi
-N3xZ7hxsDP4JjNWaKmlcGmFGX8pqQRheI83d3NJ4GK8GmbP3Wst0p65fezMqsudr
-r30QmPFicgs/tYCQDw6o+aPzwAi2F+VOSqrfrtAIaldSq7hL+VA21dKB+cD9UgOX
-jPd+TwKBgQCbKeg2QNS2qhPIG9eaqJDROuxmxb/07d7OBctgMgxVvKhqW9hW42Sy
-gJ59fyz5QjFBaSfcOdf4gkKyEawVo45/q6ymIQU37R4vF4CW9Z3CfaIbwJp7LcHV
-zH07so/HNsZua6GWCSCLJU5MeCRiZzk2RFiS9KIaLP4gZndv4lXOiQ==
------END RSA PRIVATE KEY-----
diff --git a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo_0.1.bb b/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo_0.1.bb
deleted file mode 100644
index 1a4ae6dd..00000000
--- a/dynamic-layers/networking-layer/recipes-connectivity/ipsec-demo/ipsec-demo_0.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Scripts and configuration files for ipsec demo"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-RDEPENDS_${PN} = "ipsec-tools bash"
-
-inherit allarch
-
-SRC_URI = "file://test_setkey"
-
-S = "${WORKDIR}"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install(){
- install -d ${D}${datadir}
- cp -a ${WORKDIR}/test_setkey ${D}${datadir}/
- chown -R root:root ${D}${datadir}/test_setkey
-}
-
-FILES_${PN} = "${datadir}/*"
-
-COMPATIBLE_MACHINE = "(qoriq)"
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-
diff --git a/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend b/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
index b579028b..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 @@
-PACKAGECONFIG_imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gles2', \
- bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d), d)}"
-PACKAGECONFIG_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', '', \
- bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl', '', d), d)}"
+# Only _mx8 machine do provide virtual/libgbm required for any drm* flavour
+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 2f5f1afa..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 = "c7576ab7fb6fb09b68ebc40531e5452fc89e5cd5"
+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/openembedded-layer/recipes-support/opencv/opencv_4.%.bbappend b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.%.bbappend
deleted file mode 100644
index 2bae6470..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-PACKAGECONFIG_remove_imxgpu2d = "v4l"
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/0015-Add-eglfs-to-IMX-GPU.patch b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0015-Add-eglfs-to-IMX-GPU.patch
deleted file mode 100644
index 8e7129e3..00000000
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0015-Add-eglfs-to-IMX-GPU.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: git/mkspecs/linux-oe-g++/qmake.conf
-===================================================================
---- git.orig/mkspecs/linux-oe-g++/qmake.conf 2016-12-14 17:03:17.000000000 -0600
-+++ git/mkspecs/linux-oe-g++/qmake.conf 2016-12-14 17:06:23.000000000 -0600
-@@ -37,6 +37,8 @@ QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
- # for the SDK
- isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
-
-+EGLFS_DEVICE_INTEGRATION = eglfs_viv
-+
- include(../oe-device-extra.pri)
-
- QMAKE_LIBS_EGL += -lEGL
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch
deleted file mode 100644
index a245d79a..00000000
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: git/src/plugins/platforms/eglfs/eglfs-plugin.pro
-===================================================================
---- git.orig/src/plugins/platforms/eglfs/eglfs-plugin.pro 2017-01-04 16:54:05.000000000 -0600
-+++ git/src/plugins/platforms/eglfs/eglfs-plugin.pro 2017-01-04 16:56:25.000000000 -0600
-@@ -2,6 +2,8 @@
-
- QT += platformsupport-private eglfs_device_lib-private
-
-+CONFIG += egl
-+
- SOURCES += $$PWD/qeglfsmain.cpp
-
- OTHER_FILES += $$PWD/eglfs.json
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index 08a2cbe3..7401a566 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -3,30 +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_imxgpu2d = " \
+SRC_URI:append:imxgpu = " \
file://0014-Add-IMX-GPU-support.patch \
file://0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch \
"
-SRC_URI_APPEND_3D_NOT_X11 = " \
- file://0015-Add-eglfs-to-IMX-GPU.patch \
- file://0016-Configure-eglfs-with-egl-pkg-config.patch \
-"
-SRC_URI_append_imxgpu3d = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '${SRC_URI_APPEND_3D_NOT_X11}', d)} \
-"
-PACKAGECONFIG_GL_imxpxp = "gles2"
-PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)}"
-PACKAGECONFIG_GL_imxgpu3d = "gles2"
-PACKAGECONFIG_GL_append_use-mainline-bsp = " gbm kms"
+PACKAGECONFIG_GL_IMX_GPU = ""
+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_IMX_GPU}"
+PACKAGECONFIG_GL:imxgpu3d = "gles2 \
+ ${PACKAGECONFIG_GL_IMX_GPU}"
+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-nxp-bsp = "vulkan"
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = ""
+PACKAGECONFIG_VULKAN = ""
+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 afc728c1..a97b765f 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
@@ -1,5 +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-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 87f44994..ace734df 100755
--- a/recipes-bsp/alsa-state/alsa-state/imx/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/imx-generic-bsp/asound.state
@@ -5215,7 +5215,7 @@ state.wm8958audio {
}
}
}
-state.cs42888audio {
+state.imxcs42888 {
control.1 {
iface MIXER
name 'DAC1 Playback Volume'
@@ -7090,3 +7090,2759 @@ state.ak4497audio {
}
}
}
+state.sofwm8960audio {
+ control.1 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 35
+ value.1 35
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -1725
+ dbmax 3000
+ dbvalue.0 900
+ dbvalue.1 900
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume ZC Switch'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 1'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Playback Volume'
+ value.0 235
+ value.1 235
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -1000
+ dbvalue.1 -1000
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 101
+ value.1 101
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -2000
+ dbvalue.1 -2000
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 110
+ value.1 110
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -1100
+ dbvalue.1 -1100
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'Speaker DC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'Speaker AC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'PCM Playback -6dB Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ADC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ADC High Pass Filter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'DAC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'DAC Deemphasis Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.22 {
+ iface MIXER
+ name '3D Filter Upper Cut-Off'
+ value High
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 High
+ item.1 Low
+ }
+ }
+ control.23 {
+ iface MIXER
+ name '3D Filter Lower Cut-Off'
+ value Low
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Low
+ item.1 High
+ }
+ }
+ control.24 {
+ iface MIXER
+ name '3D Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.25 {
+ iface MIXER
+ name '3D Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'ALC Function'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 Right
+ item.2 Left
+ item.3 Stereo
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'ALC Max Gain'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'ALC Target'
+ value 4
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'ALC Min Gain'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'ALC Hold Time'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'ALC Mode'
+ value ALC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ALC
+ item.1 Limiter
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'ALC Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'ALC Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Noise Gate Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'Noise Gate Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'ADC PCM Capture Volume'
+ value.0 195
+ value.1 195
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 3000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'ADC Data Output Select'
+ value 'Left Data = Left ADC; Right Data = Left ADC'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Left Data = Left ADC; Right Data = Right ADC'
+ item.1 'Left Data = Left ADC; Right Data = Left ADC'
+ item.2 'Left Data = Right ADC; Right Data = Right ADC'
+ item.3 'Left Data = Right ADC; Right Data = Left ADC'
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Mono Output Mixer Left Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Mono Output Mixer Right Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Right Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Left Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'Right Input Mixer Boost Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'Left Input Mixer Boost Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface CARD
+ name 'Headphone Jack'
+ value true
+ comment {
+ access read
+ type BOOLEAN
+ count 1
+ }
+ }
+}
+state.wm8960audio2 {
+ control.1 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 35
+ value.1 35
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -1725
+ dbmax 3000
+ dbvalue.0 900
+ dbvalue.1 900
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume ZC Switch'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 1'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Playback Volume'
+ value.0 235
+ value.1 235
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -1000
+ dbvalue.1 -1000
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 101
+ value.1 101
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -2000
+ dbvalue.1 -2000
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 110
+ value.1 110
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -1100
+ dbvalue.1 -1100
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'Speaker DC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'Speaker AC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'PCM Playback -6dB Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ADC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ADC High Pass Filter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'DAC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'DAC Deemphasis Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.22 {
+ iface MIXER
+ name '3D Filter Upper Cut-Off'
+ value High
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 High
+ item.1 Low
+ }
+ }
+ control.23 {
+ iface MIXER
+ name '3D Filter Lower Cut-Off'
+ value Low
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Low
+ item.1 High
+ }
+ }
+ control.24 {
+ iface MIXER
+ name '3D Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.25 {
+ iface MIXER
+ name '3D Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'ALC Function'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 Right
+ item.2 Left
+ item.3 Stereo
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'ALC Max Gain'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'ALC Target'
+ value 4
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'ALC Min Gain'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'ALC Hold Time'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'ALC Mode'
+ value ALC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ALC
+ item.1 Limiter
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'ALC Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'ALC Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Noise Gate Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'Noise Gate Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'ADC PCM Capture Volume'
+ value.0 195
+ value.1 195
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 3000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'ADC Data Output Select'
+ value 'Left Data = Left ADC; Right Data = Left ADC'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Left Data = Left ADC; Right Data = Right ADC'
+ item.1 'Left Data = Left ADC; Right Data = Left ADC'
+ item.2 'Left Data = Right ADC; Right Data = Right ADC'
+ item.3 'Left Data = Right ADC; Right Data = Left ADC'
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Mono Output Mixer Left Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Mono Output Mixer Right Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Right Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Left Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'Right Input Mixer Boost Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'Left Input Mixer Boost Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface CARD
+ name 'Headphone Jack'
+ value true
+ comment {
+ access read
+ type BOOLEAN
+ count 1
+ }
+ }
+}
+state.wm8960audio3 {
+ control.1 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 35
+ value.1 35
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -1725
+ dbmax 3000
+ dbvalue.0 900
+ dbvalue.1 900
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume ZC Switch'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 1'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Playback Volume'
+ value.0 235
+ value.1 235
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -1000
+ dbvalue.1 -1000
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 101
+ value.1 101
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -2000
+ dbvalue.1 -2000
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 110
+ value.1 110
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -1100
+ dbvalue.1 -1100
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'Speaker DC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'Speaker AC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'PCM Playback -6dB Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ADC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ADC High Pass Filter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'DAC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'DAC Deemphasis Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.22 {
+ iface MIXER
+ name '3D Filter Upper Cut-Off'
+ value High
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 High
+ item.1 Low
+ }
+ }
+ control.23 {
+ iface MIXER
+ name '3D Filter Lower Cut-Off'
+ value Low
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Low
+ item.1 High
+ }
+ }
+ control.24 {
+ iface MIXER
+ name '3D Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.25 {
+ iface MIXER
+ name '3D Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'ALC Function'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 Right
+ item.2 Left
+ item.3 Stereo
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'ALC Max Gain'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'ALC Target'
+ value 4
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'ALC Min Gain'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'ALC Hold Time'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'ALC Mode'
+ value ALC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ALC
+ item.1 Limiter
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'ALC Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'ALC Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Noise Gate Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'Noise Gate Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'ADC PCM Capture Volume'
+ value.0 195
+ value.1 195
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 3000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'ADC Data Output Select'
+ value 'Left Data = Left ADC; Right Data = Left ADC'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Left Data = Left ADC; Right Data = Right ADC'
+ item.1 'Left Data = Left ADC; Right Data = Left ADC'
+ item.2 'Left Data = Right ADC; Right Data = Right ADC'
+ item.3 'Left Data = Right ADC; Right Data = Left ADC'
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Mono Output Mixer Left Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Mono Output Mixer Right Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Right Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Left Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'Right Input Mixer Boost Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'Left Input Mixer Boost Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface CARD
+ name 'Headphone Jack'
+ value true
+ comment {
+ access read
+ type BOOLEAN
+ count 1
+ }
+ }
+}
+state.wm8960audio4 {
+ control.1 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 35
+ value.1 35
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -1725
+ dbmax 3000
+ dbvalue.0 900
+ dbvalue.1 900
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume ZC Switch'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 1'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT3 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT2 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Right Input Boost Mixer RINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Left Input Boost Mixer LINPUT1 Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 2900
+ dbvalue.0 0
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Playback Volume'
+ value.0 235
+ value.1 235
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -1000
+ dbvalue.1 -1000
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 101
+ value.1 101
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -2000
+ dbvalue.1 -2000
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 110
+ value.1 110
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -1100
+ dbvalue.1 -1100
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'Speaker DC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'Speaker AC Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 5'
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'PCM Playback -6dB Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ADC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ADC High Pass Filter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'DAC Polarity'
+ value 'No Inversion'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Inversion'
+ item.1 'Left Inverted'
+ item.2 'Right Inverted'
+ item.3 'Stereo Inversion'
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'DAC Deemphasis Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.22 {
+ iface MIXER
+ name '3D Filter Upper Cut-Off'
+ value High
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 High
+ item.1 Low
+ }
+ }
+ control.23 {
+ iface MIXER
+ name '3D Filter Lower Cut-Off'
+ value Low
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Low
+ item.1 High
+ }
+ }
+ control.24 {
+ iface MIXER
+ name '3D Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.25 {
+ iface MIXER
+ name '3D Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'ALC Function'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 Right
+ item.2 Left
+ item.3 Stereo
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'ALC Max Gain'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'ALC Target'
+ value 4
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'ALC Min Gain'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'ALC Hold Time'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'ALC Mode'
+ value ALC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ALC
+ item.1 Limiter
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'ALC Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'ALC Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Noise Gate Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'Noise Gate Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'ADC PCM Capture Volume'
+ value.0 195
+ value.1 195
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 3000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Volume'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -2100
+ dbmax 0
+ dbvalue.0 -1500
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'ADC Data Output Select'
+ value 'Left Data = Left ADC; Right Data = Left ADC'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Left Data = Left ADC; Right Data = Right ADC'
+ item.1 'Left Data = Left ADC; Right Data = Left ADC'
+ item.2 'Left Data = Right ADC; Right Data = Right ADC'
+ item.3 'Left Data = Right ADC; Right Data = Left ADC'
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Mono Output Mixer Left Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Mono Output Mixer Right Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Right Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Right Output Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Right Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Left Output Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Left Output Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'Left Output Mixer Boost Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'Right Input Mixer Boost Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'Left Input Mixer Boost Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'Right Boost Mixer RINPUT1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'Left Boost Mixer LINPUT1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface CARD
+ name 'Headphone Jack'
+ value true
+ comment {
+ access read
+ type BOOLEAN
+ count 1
+ }
+ }
+}
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/atf-tools_git.bb b/recipes-bsp/atf/atf-tools_git.bb
deleted file mode 100644
index a5998fe2..00000000
--- a/recipes-bsp/atf/atf-tools_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Tools for ARM Trusted Firmware, e.g. FIP image creation tool"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;nobranch=1"
-SRCREV = "17f94e4315e81e3d1b22d863d9614d724e8273dc"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "openssl"
-
-EXTRA_OEMAKE = "fiptool V=1 HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'"
-
-do_install () {
- install -m 0755 -d ${D}/${bindir}
- install -m 0755 ${S}/tools/fiptool/fiptool ${D}/${bindir}/
-}
-
-BBCLASSEXTEND = "native"
diff --git a/recipes-bsp/atf/atf/0001-Makefile-add-CC-gcc.patch b/recipes-bsp/atf/atf/0001-Makefile-add-CC-gcc.patch
deleted file mode 100644
index efa2749e..00000000
--- a/recipes-bsp/atf/atf/0001-Makefile-add-CC-gcc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3161524085339ae214f7dee17a98ccd6c442d66b Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Thu, 16 Aug 2018 17:38:04 +0800
-Subject: [PATCH] Makefile: add CC=gcc
-
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com>
----
- plat/nxp/tools/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/plat/nxp/tools/Makefile b/plat/nxp/tools/Makefile
-index e648fd1..43d3b56 100644
---- a/plat/nxp/tools/Makefile
-+++ b/plat/nxp/tools/Makefile
-@@ -32,6 +32,7 @@ endif
- INCLUDE_PATHS :=
-
- HOSTCC ?= gcc
-+CC = gcc
-
- .PHONY: all clean distclean
-
---
-2.7.4
-
diff --git a/recipes-bsp/atf/atf/0001-fix-fiptool-build-error.patch b/recipes-bsp/atf/atf/0001-fix-fiptool-build-error.patch
deleted file mode 100644
index ffd9965a..00000000
--- a/recipes-bsp/atf/atf/0001-fix-fiptool-build-error.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a76ae26fdb673613f5f97872b7275c630b7b24b8 Mon Sep 17 00:00:00 2001
-From: BJ DevOps Team <bjdevops@NXP1.onmicrosoft.com>
-Date: Wed, 16 May 2018 13:26:45 +0800
-Subject: [PATCH] fix fiptool build error
-
-Upstream-Status: Inappropriate [embedded specific]
-
----
- tools/fiptool/Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile
-index e0e3923..f213f44 100644
---- a/tools/fiptool/Makefile
-+++ b/tools/fiptool/Makefile
-@@ -19,7 +19,8 @@ ifeq (${DEBUG},1)
- else
- CFLAGS += -O2
- endif
--LDLIBS := -lcrypto
-+
-+LDLIBS := -Wl,-rpath=${LIBPATH}/usr/lib -L${LIBPATH}/usr/lib -lcrypto
-
- ifeq (${V},0)
- Q := @
---
-1.8.3.1
-
diff --git a/recipes-bsp/atf/atf_git.bb b/recipes-bsp/atf/atf_git.bb
deleted file mode 100644
index 58b1d8f7..00000000
--- a/recipes-bsp/atf/atf_git.bb
+++ /dev/null
@@ -1,224 +0,0 @@
-DESCRIPTION = "ARM Trusted Firmware"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
-
-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 = "17f94e4315e81e3d1b22d863d9614d724e8273dc"
-
-SRC_URI += "file://0001-fix-fiptool-build-error.patch \
- file://0001-Makefile-add-CC-gcc.patch \
-"
-COMPATIBLE_MACHINE = "(qoriq)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-PLATFORM = "${MACHINE}"
-PLATFORM_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"
-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)}"
-
-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="${DEPLOY_DIR_IMAGE}/optee/tee_${MACHINE}.bin"
- bl32opt="BL32=${bl32}"
- spdopt="SPD=opteed"
- 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 ${BOOTTYPE}; 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
- ;;
- sd)
- rcwimg="${RCWSD}${rcwtemp}.bin"
- ;;
- flexspi_nor)
- rcwimg="${RCWXSPI}${rcwtemp}.bin"
- uefiboot="${UEFI_XSPIBOOT}"
- ;;
- esac
-
- if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${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/${PLATFORM}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
- 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 [ ${MACHINE} = ls1012afrwy ]; then
- oe_runmake V=1 -C ${S} realclean
- oe_runmake V=1 -C ${S} all fip pbl PLAT=ls1012afrwy_512mb BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
- cp -r ${S}/build/ls1012afrwy_512mb/release/bl2_qspi${secext}.pbl ${S}/bl2_${d}${secext}_512mb.pbl
- cp -r ${S}/build/ls1012afrwy_512mb/release/fip.bin ${S}/fip_512mb.bin
- if [ "${BUILD_FUSE}" = "true" ]; then
- cp -r ${S}/build/ls1012afrwy_512mb/release/fuse_fip.bin ${S}/fuse_fip_512mb.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/${PLATFORM}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
- 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 [ ${MACHINE} = ls1012afrwy ]; then
- cp -r ${S}/fip_512mb.bin ${D}/boot/atf/fip_512mb.bin
- cp -r ${S}/bl2_qspi${secext}_512mb.pbl ${D}/boot/atf/bl2_qspi${secext}_512mb.pbl
- if [ -f "${S}/fuse_fip_512mb.bin" ]; then
- cp -r ${S}/fuse_fip_512mb.bin ${D}/boot/atf/fuse_fip_512mb.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 [ ${MACHINE} = ls1012afrwy ]; then
- cp -r ${S}/bl2_qspi${secext}_512mb.pbl ${DEPLOYDIR}/atf/
- cp -r ${S}/fip_512mb.bin ${DEPLOYDIR}/atf/fip_uboot${secext}_512mb.bin
- if [ -f "${S}/fuse_fip_512mb.bin" ]; then
- cp -r ${S}/fuse_fip_512mb.bin ${D}/boot/atf/fuse_fip_512mb${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.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.6.bb b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
new file mode 100644
index 00000000..2c1db306
--- /dev/null
+++ b/recipes-bsp/atf/qoriq-atf-tools_2.6.bb
@@ -0,0 +1,15 @@
+require qoriq-atf-${PV}.inc
+
+DEPENDS += "openssl"
+
+PV:append = "+${SRCPV}"
+
+EXTRA_OEMAKE = "fiptool V=1 PLAT=lx2162aqds HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'"
+
+do_install () {
+ install -m 0755 -d ${D}/${bindir}
+ install -m 0755 ${S}/tools/fiptool/fiptool ${D}/${bindir}/
+}
+
+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_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/change-file-endianess/change-file-endianess.bb b/recipes-bsp/change-file-endianess/change-file-endianess.bb
deleted file mode 100644
index 570ee3f6..00000000
--- a/recipes-bsp/change-file-endianess/change-file-endianess.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "provides the tcl script for endian swap"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-SRC_URI = "file://byte_swap.tcl"
-
-S = "${WORKDIR}"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install () {
- install -d ${D}/${bindir}
- install -m 755 ${WORKDIR}/byte_swap.tcl ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "tcl"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl b/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
deleted file mode 100755
index c6222022..00000000
--- a/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
+++ /dev/null
@@ -1,40 +0,0 @@
-puts $argv
-set i_file [lindex $argv 0]
-set o_file [lindex $argv 1]
-set num_b [lindex $argv 2]
-puts ""
-
-set fileid_i [open $i_file "r"]
-set fileid_o [open $o_file "w+"]
-fconfigure $fileid_i -translation {binary binary}
-fconfigure $fileid_o -translation {binary binary}
-
-set old_bin [read $fileid_i]
-set new_bin {}
-set old_length [string length $old_bin]
-set old_rem [expr $old_length % $num_b]
-if {$old_rem != 0} {
- for {set i 0} {$i< [expr $num_b - $old_rem]} {incr i 1} {
- append old_bin y
- }
-}
-for {set i 0} {$i<[expr $old_length-8]} {incr i $num_b} {
- for {set j $num_b} {$j>0} {incr j -1} {
- append new_bin [string index $old_bin [expr $i+($j-1)]]
- }
-}
-
-for {set j 0} {$j<8} {incr j 1} {
- append new_bin [string index $old_bin [expr $i+$j]]
-}
-
-for {set i 0} {$i<[string length $old_bin]} {incr i $num_b} {
- set binValue [string range $old_bin [expr $i+0] [expr $i+($num_b-1)]]
- binary scan $binValue H[expr $num_b*2] hexValue
-
- set binValue [string range $new_bin [expr $i+0] [expr $i+($num_b-1)]]
- binary scan $binValue H[expr $num_b*2] hexValue
-}
-
-puts -nonewline $fileid_o $new_bin
-close $fileid_o
diff --git a/recipes-bsp/ddr-phy/ddr-phy_git.bb b/recipes-bsp/ddr-phy/ddr-phy_git.bb
index d98d102f..8ea92502 100644
--- a/recipes-bsp/ddr-phy/ddr-phy_git.bb
+++ b/recipes-bsp/ddr-phy/ddr-phy_git.bb
@@ -2,16 +2,16 @@ SUMMARY = "DDR firmware repository"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=89cc852481956e861228286ac7430d74"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;fsl-eula=true;nobranch=1"
-SRCREV = "14d03e6e748ed5ebb9440f264bb374f1280b061c"
+SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https"
+SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
S = "${WORKDIR}/git"
-REGLEX_lx2160a = "lx2160a"
+REGLEX = "lx2160a"
-DEPENDS += "atf-tools-native"
+DEPENDS += "qoriq-atf-tools-native"
do_compile() {
cd ${S}/${REGLEX}
@@ -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)"
+COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
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.1.1.inc b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
index 33b9594a..804a7db0 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc
@@ -1,17 +1,16 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
+# Copyright 2017-2022 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
-SRCBRANCH ?= "master"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "b494c9a2ba9f8906de73ac33068789a2"
-SRC_URI[sha256sum] = "c115d5d0d115fc14754671bd2428f672f9f99677988588accef2fbca2c3f749c"
+SRC_URI[md5sum] = "c5cf3842569f0a7fd990fbc64979e84f"
+SRC_URI[sha256sum] = "94c8bceac56ec503c232e614f77d6bbd8e17c7daa71d4e651ea8fd5034c30350"
S = "${WORKDIR}/firmware-imx-${PV}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb
deleted file mode 100644
index d99aa41b..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2018 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}
- # SECO
- install -m 0644 ${S}/firmware/seco/mx8qm-ahab-container.img ${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.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb
deleted file mode 100644
index a605d226..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2018 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-8x_8.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb
deleted file mode 100644
index 85d394a0..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 NXP
-SUMMARY = "Freescale i.MX firmware for 8X family"
-DESCRIPTION = "Freescale i.MX firmware for 8X family"
-
-require firmware-imx-${PV}.inc
-
-inherit deploy
-
-do_install[noexec] = "1"
-
-do_deploy() {
- # SECO
- install -m 0644 ${S}/firmware/seco/mx8qx-ahab-container.img ${DEPLOYDIR}
-}
-
-addtask deploy after do_install before do_build
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-
-COMPATIBLE_MACHINE = "(mx8x)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb
deleted file mode 100644
index 96a09e38..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright (C) 2012-2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-# Copyright (C) 2018 O.S. Systems Software LTDA.
-SUMMARY = "Freescale i.MX firmware"
-DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
-
-require firmware-imx-${PV}.inc
-
-PE = "1"
-
-SRC_URI += " \
- git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH};destsuffix=${S}/git \
-"
-SRCREV = "8ce9046f5058fdd2c5271f86ccfc61bc5a248ae3"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${base_libdir}/firmware/imx
-
- cd firmware
- for d in *; do
- case $d in
- ddr|hdmi|seco)
- # These folders are for i.MX 8 and are included in the boot image via imx-boot
- bbnote Excluding folder $d
- ;;
- *)
- cp -rfv $d ${D}${base_libdir}/firmware
- ;;
- esac
- done
- cd -
-
- install -d ${D}${base_libdir}/firmware/imx/sdma
- mv ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin ${D}${base_libdir}/firmware/imx/sdma
- mv ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin ${D}${base_libdir}/firmware/imx/sdma
-
- mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/
- mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
-
- find ${D}${base_libdir}/firmware -type f -exec chmod 644 '{}' ';'
- find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';'
-
- # Remove files not going to be installed
- find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';'
-}
-
-python populate_packages_prepend() {
- vpudir = bb.data.expand('${base_libdir}/firmware/vpu', d)
- do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
- output_pattern='firmware-imx-vpu-%s',
- description='Freescale IMX Firmware %s',
- extra_depends='',
- prepend=True)
-
- sdmadir = bb.data.expand('${base_libdir}/firmware/sdma', d)
- do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
- output_pattern='firmware-imx-sdma-%s',
- description='Freescale IMX Firmware %s',
- extra_depends='',
- prepend=True)
-}
-
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
-
-PACKAGES =+ "${PN}-epdc ${PN}-scfw ${PN}-sdma"
-
-FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/"
-FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/"
-FILES_${PN}-sdma = " ${base_libdir}/firmware/imx/sdma"
-
-COMPATIBLE_MACHINE = "(imx)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.22.bb b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
new file mode 100644
index 00000000..a9e36b5e
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb
@@ -0,0 +1,156 @@
+# Copyright (C) 2012-2016 Freescale Semiconductor
+# 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"
+
+require firmware-imx-${PV}.inc
+
+PE = "1"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/imx
+
+ # SDMA Firmware section
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma
+ install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma
+ rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin
+ rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin
+
+ # EASRC Firmware section
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc
+ install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/
+
+ # XCVR Firmware section
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr
+ install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/
+
+ # XUVI Firmware section
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi
+ install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/
+
+ # EPDC Firmware section
+ # NOTE:
+ # epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should
+ # be installed with a different name
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc
+ install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/
+ install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
+
+ # HDMI Firmware section
+ # 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 -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:
+ # Do the same thing as above for HDMI - only install a pre-defined list of firmware files,
+ # as some of other files are provided by packages from other recipes.
+ install -d ${D}${nonarch_base_libdir}/firmware/vpu
+ install -m 0644 ${S}/firmware/vpu/vpu_fw_imx*.bin ${D}${nonarch_base_libdir}/firmware/vpu
+}
+
+#
+# This prepend is here to produce separate packages containing firmware,
+# which could be included separately based on the machine definition.
+#
+# It operates similar to the FILES mechanism by travesing through
+# ${D} + folder supplied as a first parameter, matches the regexp supplied
+# 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() {
+ # 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',
+ description='Freescale IMX EASRC Firmware [%s]',
+ extra_depends='',
+ prepend=True)
+
+ vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d)
+ 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)
+
+ sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d)
+ do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
+ output_pattern='firmware-imx-sdma-%s',
+ description='Freescale IMX SDMA Firmware [%s]',
+ extra_depends='',
+ prepend=True)
+
+ xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d)
+ do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin',
+ output_pattern='firmware-imx-xcvr-%s',
+ description='Freescale IMX XCVR Firmware [%s]',
+ extra_depends='',
+ prepend=True)
+
+ xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d)
+ do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin',
+ output_pattern='firmware-imx-xuvi-%s',
+ description='Freescale IMX XUVI Firmware [%s]',
+ extra_depends='',
+ prepend=True)
+}
+
+# Declare a contract that we would provide packages produced by prepend above
+PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*"
+
+#
+# Deal with the rest of Firmware packages here
+#
+# Provide EPDC and HDMI Firmware in common packages as they tend to be special in
+# terms of the content.
+#
+# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated
+# complimentary packages (-dev and -dbg).
+# This is done in order to be able to keep the main package empty and fail when
+# somebody tries to install it in the image.
+# If -dev package is present in that setup, and dev-pkgs is enabled in
+# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev
+# packages would be installed, and -dev package would fail because the main one
+# is empty.
+# Therefore, we opt-out from producing -dev package here, since also for firmware
+# 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/hdmitxfw.bin \
+ ${nonarch_base_libdir}/firmware/hdmirxfw.bin \
+ ${nonarch_base_libdir}/firmware/dpfw.bin \
+"
+
+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
new file mode 100644
index 00000000..8dc7ae64
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb
@@ -0,0 +1,159 @@
+# Copyright 2020-2023 NXP
+
+SUMMARY = "Wi-Fi firmware redistributed by NXP"
+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://LICENSE.txt;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+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"
+
+do_compile() {
+ :
+}
+
+do_install() {
+
+ 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 = " \
+ ${nonarch_base_libdir}/firmware/brcm/brcmfmac4359-pcie.* \
+ ${sysconfdir}/firmware/BCM4349B1_*.hcd \
+"
+
+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_2.3.0.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
new file mode 100644
index 00000000..9778bd1c
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2020-2022 NXP
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Sound Open Firmware"
+HOMEPAGE = "https://www.sofproject.org"
+SECTION = "base"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444"
+
+SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz"
+SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6"
+SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
+
+S = "${WORKDIR}/sof-imx-${PV}"
+
+inherit allarch
+
+do_install() {
+ # Install sof and sof-tplg folder
+ install -d ${D}${nonarch_base_libdir}/firmware/imx/
+ cp -r sof* ${D}${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 b2374d15..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2018 NXP
-
-SUMMARY = "Qualcomm Wi-Fi and Bluetooth firmware"
-SECTION = "base"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6dfb32a488e5fd6bae52fbf6c7ebb086 \
- file://QUALCOMM_ATHEROS_LICENSE_AGREEMENT.pdf;md5=e629669cf17f6a2a6872e067582986e3 \
-"
-
-SRC_URI = " ${FSL_MIRROR}/firmware-qca-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "29e949d1037a464dcb7e71b45a97280e"
-SRC_URI[sha256sum] = "d61220c97aa1e5a875234a95934957b02274cb87c2be74e119e4f093907cf68f"
-S = "${WORKDIR}/firmware-qca-${PV}"
-
-inherit fsl-eula-unpack
diff --git a/recipes-bsp/firmware-qca/firmware-qca6174_2.0.3.bb b/recipes-bsp/firmware-qca/firmware-qca6174_2.0.3.bb
deleted file mode 100644
index fd0e24f0..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca6174_2.0.3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2019 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_2.0.3.bb b/recipes-bsp/firmware-qca/firmware-qca9377_2.0.3.bb
deleted file mode 100644
index 5bee32de..00000000
--- a/recipes-bsp/firmware-qca/firmware-qca9377_2.0.3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2018 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_2.0/etc/bluetooth/firmware.conf ${D}${sysconfdir}/bluetooth
-
- # Install firmware files
- install -d ${D}${base_libdir}
- cp -r ${S}/1PJ_QCA9377-3_LEA_2.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_2.0.3.bb b/recipes-bsp/firmware-qca/qca-tools_2.0.3.bb
deleted file mode 100644
index b7bf0dff..00000000
--- a/recipes-bsp/firmware-qca/qca-tools_2.0.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 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 131bda55..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://git.freescale.com/ppc/sdk/fsl-tlu.git;branch=master"
+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/0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch b/recipes-bsp/imx-atf/imx-atf/0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch
deleted file mode 100644
index be747789..00000000
--- a/recipes-bsp/imx-atf/imx-atf/0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4123893a8a4d93362a0a36f72134f75436fee457 Mon Sep 17 00:00:00 2001
-From: Tom Hochstein <tom.hochstein@nxp.com>
-Date: Thu, 18 Oct 2018 18:03:46 -0500
-Subject: [PATCH] Allow BUILD_STRING to be set in .revision file.
-
-Upstream-Status: Pending
-
-Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
----
- Makefile | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 57c4a90..ec49397 100644
---- a/Makefile
-+++ b/Makefile
-@@ -97,6 +97,9 @@ endif
-
- # Default build string (git branch and commit)
- ifeq (${BUILD_STRING},)
-+ BUILD_STRING := $(shell cat .revision 2> /dev/null)
-+endif
-+ifeq (${BUILD_STRING},)
- BUILD_STRING := $(shell git describe --long --always --dirty --tags 2> /dev/null)
- endif
- VERSION_STRING := v${VERSION_MAJOR}.${VERSION_MINOR}(${BUILD_TYPE}):${BUILD_STRING}
---
-2.7.4
-
diff --git a/recipes-bsp/imx-atf/imx-atf_2.0.bb b/recipes-bsp/imx-atf/imx-atf_2.0.bb
deleted file mode 100644
index 6a1ed74d..00000000
--- a/recipes-bsp/imx-atf/imx-atf_2.0.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2017-2019 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_4.14.98_2.0.0_ga"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
-"
-SRCREV = "1cb68fa0a0dd8bc00b9871b51d4c4e1d0a827b2d"
-
-S = "${WORKDIR}/git"
-
-inherit deploy
-
-BOOT_TOOLS = "imx-boot-tools"
-
-PLATFORM ?= "INVALID"
-PLATFORM_mx8qm = "imx8qm"
-PLATFORM_mx8qxp = "imx8qx"
-PLATFORM_mx8mq = "imx8mq"
-PLATFORM_mx8mm = "imx8mm"
-
-EXTRA_OEMAKE += " \
- CROSS_COMPILE="${TARGET_PREFIX}" \
- PLAT=${PLATFORM} \
-"
-
-do_compile() {
- # Clear LDFLAGS to avoid the option -Wl recognize issue
- unset LDFLAGS
- oe_runmake bl31
-}
-
-do_install[noexec] = "1"
-
-do_deploy() {
- install -Dm 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}.bin
-}
-addtask deploy after do_compile
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(mx8)"
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 b339407c..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 = "02c01d4a3d85d767360820a23751cd1aa231d0a0"
+SRCREV = "ff13a99a22aa73cca0e09a33c2ebb6a94ad698da"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-COMPATIBLE_MACHINE = "(imx)"
+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 d94b2daa..74b7bddf 100644
--- a/recipes-bsp/imx-lib/imx-lib_git.bb
+++ b/recipes-bsp/imx-lib/imx-lib_git.bb
@@ -3,31 +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_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 = ""
@@ -39,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_0.2.bb b/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
deleted file mode 100644
index 04e8b11e..00000000
--- a/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2017-2018 NXP
-
-require imx-mkimage_git.inc
-
-DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-SECTION = "BSP"
-
-IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware"
-IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m"
-IMX_EXTRA_FIRMWARE_mx8x = "firmware-imx-8x imx-sc-firmware"
-DEPENDS += " \
- firmware-imx \
- ${IMX_EXTRA_FIRMWARE} \
- imx-atf \
-"
-DEPENDS_append_mx8m = " dtc-native"
-BOOT_NAME = "imx-boot"
-PROVIDES = "${BOOT_NAME}"
-
-inherit deploy
-
-# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build
-CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}"
-
-# This package aggregates output deployed by other packages,
-# so set the appropriate dependencies
-do_compile[depends] += " \
- virtual/bootloader:do_deploy \
- ${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
- imx-atf:do_deploy \
-"
-
-SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
-
-ATF_MACHINE_NAME ?= "bl31-imx8qm.bin"
-ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin"
-ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qx.bin"
-ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin"
-ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin"
-ATF_MACHINE_NAME_append = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '-optee', '', d)}"
-
-UBOOT_NAME = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
-BOOT_CONFIG_MACHINE = "${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG}.bin"
-
-TOOLS_NAME ?= "mkimage_imx8"
-
-SOC_TARGET ?= "INVALID"
-SOC_TARGET_mx8qm = "iMX8QM"
-SOC_TARGET_mx8qxp = "iMX8QX"
-SOC_TARGET_mx8mq = "iMX8M"
-SOC_TARGET_mx8mm = "iMX8MM"
-
-IMXBOOT_TARGETS ?= \
- "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
- bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
- 'flash flash_dcd', d), d)}"
-
-BOOT_STAGING = "${S}/${SOC_TARGET}"
-BOOT_STAGING_mx8mm = "${S}/iMX8M"
-
-SOC_FAMILY = "INVALID"
-SOC_FAMILY_mx8 = "mx8"
-SOC_FAMILY_mx8m = "mx8m"
-SOC_FAMILY_mx8x = "mx8x"
-
-compile_mx8m() {
- bbnote 8MQ/8MM 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}/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} \
- ${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} \
- ${BOOT_STAGING}/u-boot-nodtb.bin
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/mkimage_uboot ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
- cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${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}/mx8qm-ahab-container.img ${BOOT_STAGING}
-}
-compile_mx8x() {
- bbnote 8QX boot binary build
- cp ${DEPLOY_DIR_IMAGE}/mx8qx-ahab-container.img ${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
-}
-do_compile() {
- compile_${SOC_FAMILY}
- # mkimage for i.MX8
- for target in ${IMXBOOT_TARGETS}; do
- bbnote "building ${SOC_TARGET} - ${target}"
- make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${target}
- if [ -e "${BOOT_STAGING}/flash.bin" ]; then
- cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${target}
- fi
- done
-}
-
-do_install () {
- install -d ${D}/boot
- for target in ${IMXBOOT_TARGETS}; do
- install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${D}/boot/
- done
-}
-
-deploy_mx8m() {
- install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
- ${DEPLOYDIR}/${BOOT_TOOLS}
- for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
- done
- install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
-}
-deploy_mx8() {
- install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${BOOT_STAGING}/mx8qm-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
-}
-deploy_mx8x() {
- install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${BOOT_STAGING}/mx8qx-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
-}
-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 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"
- fi
- install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${DEPLOYDIR}
- done
- cd ${DEPLOYDIR}
- ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${BOOT_NAME}
- cd -
-}
-addtask deploy before do_build after do_compile
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} = "/boot"
-
-COMPATIBLE_MACHINE = "(mx8)"
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
new file mode 100644
index 00000000..a761870b
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -0,0 +1,346 @@
+# Copyright (C) 2017-2020 NXP
+
+require imx-mkimage_git.inc
+
+DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
+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 uboot-sign
+
+DEPENDS += " \
+ u-boot \
+ ${IMX_EXTRA_FIRMWARE} \
+ imx-atf \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
+"
+# 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 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}"
+
+# This package aggregates output deployed by other packages,
+# so set the appropriate dependencies
+do_compile[depends] += " \
+ virtual/bootloader:do_deploy \
+ ${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
+ imx-atf:do_deploy \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
+"
+
+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)}"
+
+TOOLS_NAME ?= "mkimage_imx8"
+
+IMX_BOOT_SOC_TARGET ?= "INVALID"
+
+DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
+
+IMXBOOT_TARGETS ?= \
+ "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
+ bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
+ 'flash_multi_cores flash_dcd', d), d)}"
+
+BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
+BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M"
+BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX"
+BOOT_STAGING:mx9-generic-bsp = "${S}/iMX9"
+
+SOC_FAMILY = "INVALID"
+SOC_FAMILY:mx8-generic-bsp = "mx8"
+SOC_FAMILY:mx8m-generic-bsp = "mx8m"
+SOC_FAMILY:mx8x-generic-bsp = "mx8x"
+SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp"
+SOC_FAMILY:mx91p-generic-bsp = "mx93"
+SOC_FAMILY:mx93-generic-bsp = "mx93"
+
+REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
+
+do_uboot_assemble_fitimage:prepend:imx-generic-bsp() {
+ for config in ${UBOOT_MACHINE}; do
+ mkdir -p ${B}/${config}
+ done
+}
+
+compile_mx8m() {
+ bbnote 8MQ/8MM/8MN/8MP boot binary build
+ 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}/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_EXTRA} \
+ ${BOOT_STAGING}/u-boot-spl.bin
+
+ if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
+ # Use DTB binary patched with signature node
+ cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA}
+ else
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}
+ fi
+
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${BOOT_STAGING}/u-boot-nodtb.bin
+
+ cp ${DEPLOY_DIR_IMAGE}/${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}/${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_EXTRA} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${BOOT_STAGING}/u-boot-spl.bin
+ fi
+}
+
+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}/${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 type in ${UBOOT_CONFIG}; do
+ if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then
+ UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
+ else
+ 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 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}
+ for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
+ done
+
+ install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
+}
+
+deploy_mx8() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+}
+
+deploy_mx8x() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+}
+
+deploy_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
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+}
+
+do_deploy() {
+ deploy_${SOC_FAMILY}
+
+ # 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}
+
+ 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
+ # 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
+ unset type
+}
+addtask deploy before do_build after do_compile
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+FILES:${PN} = "/boot"
+
+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 5304ebf9..f95f2a2b 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.bb
@@ -1,35 +1,23 @@
# Copyright (C) 2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
+# Copyright (C) 2017-2022 NXP
require imx-mkimage_git.inc
DESCRIPTION = "i.MX make image"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
-inherit native deploy
+inherit deploy native
-CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
+EXTRA_OEMAKE = "SOC=iMX8M mkimage_imx8"
-do_compile () {
- cd ${S}
- oe_runmake clean
- oe_runmake bin
- oe_runmake -C iMX8M -f soc.mak mkimage_imx8
- oe_runmake -C iMX8QM -f soc.mak imx8qm_dcd.cfg.tmp
- oe_runmake -C iMX8QX -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 ab354f9c..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-2019 NXP
+# Copyright 2017-2022 NXP
DEPENDS = "zlib-native openssl-native"
-SRCBRANCH = "imx_4.14.98_2.0.0_ga"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "dd0234001713623c79be92b60fa88bc07b07f24f"
+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.15.0.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
new file mode 100644
index 00000000..7dc2e593
--- /dev/null
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb
@@ -0,0 +1,45 @@
+# Copyright (C) 2016 Freescale Semiconductor
+# Copyright 2017-2022 NXP
+
+DESCRIPTION = "i.MX System Controller Firmware"
+LICENSE = "Proprietary"
+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] = "d608eb2b3d312da1dbde55b8514c1e0f"
+SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
+
+BOARD_TYPE ?= "mek"
+SC_FIRMWARE_NAME ?= "INVALID"
+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"
+
+BOOT_TOOLS = "imx-boot-tools"
+
+do_compile[noexec] = "1"
+
+do_install[noexec] = "1"
+
+do_deploy() {
+ install -Dm 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME}
+ ln -sf ${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${symlink_name}
+}
+addtask deploy after do_install
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+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-sc-firmware/imx-sc-firmware_1.2.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.2.bb
deleted file mode 100644
index 904c8cc3..00000000
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.2.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 2016 Freescale Semiconductor
-# Copyright (C) 2017-2019 NXP
-
-DESCRIPTION = "i.MX System Controller Firmware"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=80c0478f4339af024519b3723023fe28"
-SECTION = "BSP"
-
-inherit fsl-eula-unpack deploy
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-
-SRC_URI[md5sum] = "1a37cfcb0c7d338f5b69cb8248c452e3"
-SRC_URI[sha256sum] = "05efa9ba86533e99cb508c4982afe9de16abbee2710db623359d856384247a64"
-
-BOARD_TYPE ?= "mek"
-SC_FIRMWARE_NAME ?= "mx8qm-mek-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8qm = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8qxp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
-symlink_name = "scfw_tcm.bin"
-
-BOOT_TOOLS = "imx-boot-tools"
-
-do_compile[noexec] = "1"
-
-do_install[noexec] = "1"
-
-do_deploy() {
- install -Dm 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME}
- ln -sf ${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${symlink_name}
-}
-addtask deploy after do_install
-
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-COMPATIBLE_MACHINE = "(mx8qm|mx8qxp)"
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/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch b/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch
new file mode 100644
index 00000000..757b9a6a
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch
@@ -0,0 +1,34 @@
+From 59608dcb0f0a6f6d8154b1d331c2403d7c1143eb Mon Sep 17 00:00:00 2001
+From: Cristinel Panfir <cristinel.panfir@nxp.com>
+Date: Fri, 5 Feb 2021 19:27:00 +0200
+Subject: [PATCH] Makefile: Fix install to clear host-user-contaminated
+ warnings [HSM-483]
+
+WARNING: imx-seco-libs-git-r0 do_package_qa: QA Issue:
+imx-seco-libs: /usr/lib/hsm_lib.a is owned by uid 26292, which is the same as the user running bitbake. This may be due to host contamination
+imx-seco-libs: /usr/lib/she_lib.a is owned by uid 26292, which is the same as the user running bitbake. This may be due to host contamination
+imx-seco-libs: /usr/lib/seco_nvm_manager.a is owned by uid 26292, which is the same as the user running bitbake.
+This may be due to host contamination [host-user-contaminated]
+
+Upstream-Status: Pending
+
+Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 492d700..25ad333 100644
+--- a/Makefile
++++ b/Makefile
+@@ -63,7 +63,7 @@ hsm_doc: include/hsm/hsm_api.h
+
+ install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a
+ mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)
+- cp -a seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
++ cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
+ cp hsm_test she_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
new file mode 100644
index 00000000..b0296e97
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb
@@ -0,0 +1,27 @@
+# Copyright 2019-22 NXP
+
+SUMMARY = "NXP i.MX SECO library"
+DESCRIPTION = "Library for NXP i.MX Security Controller Subsystem"
+SECTION = "base"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011"
+
+DEPENDS = "zlib"
+
+SRCBRANCH = "imx_5.4.70_2.3.11"
+SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \
+ file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \
+ file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \
+ file://0001-add-v2x_test-to-the-installed-binaries.patch \
+ file://0001-Fix-return-value-of-void-functions.patch"
+SRCREV = "aa8d62900c41cc779c11fe4e6f58b40c3c9f82f0"
+
+S = "${WORKDIR}/git"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ oe_runmake DESTDIR=${D} BINDIR=${bindir} LIBDIR=${libdir} install
+}
+
+COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
diff --git a/recipes-bsp/imx-seco/imx-seco_5.9.0.bb b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
new file mode 100644
index 00000000..f7dadea5
--- /dev/null
+++ b/recipes-bsp/imx-seco/imx-seco_5.9.0.bb
@@ -0,0 +1,27 @@
+# Copyright 2019-2022 NXP
+
+SUMMARY = "NXP i.MX SECO firmware"
+DESCRIPTION = "Firmware for i.MX Security Controller Subsystem"
+SECTION = "base"
+LICENSE = "Proprietary"
+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] = "b722a534c4d3cc90270e05eaa812514d"
+SRC_URI[sha256sum] = "c3bd761f457e939035b01a0ab36e79064a2a1bc6c3cdb3cd847f7f38df0964df"
+
+
+do_compile[noexec] = "1"
+
+do_install[noexec] = "1"
+
+addtask deploy after do_install
+do_deploy () {
+ # Deploy i.MX8 SECO firmware files
+ install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
+}
+
+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 084a2b04..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"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+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_4.14.98_2.0.0_ga"
-SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
- file://memtool_profile \
-"
-SRCREV = "d32727a9d7ef2543729c149a713db24b8f5c2aa8"
+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,24 +29,27 @@ 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"
+PACKAGECONFIG[swpdm] = "HAS_IMX_SW_PDM=true,HAS_IMX_SW_PDM=false,imx-sw-pdm"
do_compile() {
CFLAGS="${TOOLCHAIN_OPTIONS}"
@@ -70,13 +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}-dbg += "/unit_tests/.debug"
+FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile"
+RDEPENDS:${PN} = "bash"
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
+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 713db3ab..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 = "fc48b497fe961d601b4bcced807f562090854ec9"
+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)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
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-Get-i.MX-custom-headers-from-usr-include-imx.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-Get-i.MX-custom-headers-from-usr-include-imx.patch
deleted file mode 100644
index a41641df..00000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-Get-i.MX-custom-headers-from-usr-include-imx.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a277191d6e7d775b1c081f8b25734f6f962ade14 Mon Sep 17 00:00:00 2001
-From: Tom Hochstein <tom.hochstein@nxp.com>
-Date: Thu, 4 Oct 2018 10:34:00 -0500
-Subject: [PATCH] Get i.MX custom headers from /usr/include/imx
-
-Upstream-Status: Pending
-
-Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
----
- Makefile_G1G2 | 5 ++---
- Makefile_H1 | 3 +--
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile_G1G2 b/Makefile_G1G2
-index caab40f..5b55a8b 100755
---- a/Makefile_G1G2
-+++ b/Makefile_G1G2
-@@ -6,12 +6,11 @@ SOURCE_ROOT = decoder_sw/software
- OMX_ROOT = openmax_il
-
- INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/source/hevc \
-- -I$(SOURCE_ROOT)/source/config -I$(SOURCE_ROOT)/source/dwl -I$(SOURCE_ROOT)/source/common -I$(SOURCE_ROOT)/source/vp9 \
-- -I$(SDKTARGETSYSROOT)/usr/imx/include
-+ -I$(SOURCE_ROOT)/source/config -I$(SOURCE_ROOT)/source/dwl -I$(SOURCE_ROOT)/source/common -I$(SOURCE_ROOT)/source/vp9
-
- INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc
- #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver
--INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
-+INCLUDE_HEADERS += -I$(SDKTARGETSYSROOT)/usr/include/imx
-
- CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \
- -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \
-diff --git a/Makefile_H1 b/Makefile_H1
-index 9ca1aa9..237f53a 100755
---- a/Makefile_H1
-+++ b/Makefile_H1
-@@ -17,8 +17,7 @@ ENV += -DMEMALLOC_MODULE_PATH=\\\"/dev/ion\\\"
- #ENV += -DSDRAM_LM_BASE=0x00000000
- ENV += -DEWL_NO_HW_TIMEOUT
- ENV += -DUSE_ION
--ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
--ENV += -I$(SDKTARGETSYSROOT)/usr/imx/include
-+ENV += -I$(SDKTARGETSYSROOT)/usr/include/imx
-
- LIBENCNAME = libcodec_enc
- LIBSENC = -L./ -lhantro_h1 -lpthread
---
-2.7.4
-
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.11.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.11.0.bb
deleted file mode 100644
index 3aeba4ac..00000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.11.0.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2017-2018 NXP
-
-DESCRIPTION = "i.MX Hantro VPU library"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=80c0478f4339af024519b3723023fe28"
-
-PROVIDES = "virtual/imxvpu"
-
-SRC_URI = " \
- ${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
-"
-SRC_URI[md5sum] = "51b811f9523d03ca87f611ba86594311"
-SRC_URI[sha256sum] = "cec620241d303852ddad8601f2025a68abbc1ec26d605103c7e4173749b59e3f"
-
-inherit fsl-eula-unpack use-imx-headers
-
-PARALLEL_MAKE="-j 1"
-
-PLATFORM_mx8mm = "IMX8MM"
-PLATFORM_mx8mq = "IMX8MQ"
-
-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 = "(mx8m)"
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.38.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb
deleted file mode 100644
index 2b60cc24..00000000
--- a/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 2013-2018 O.S. Systems Software LTDA.
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017-2018 NXP
-
-DESCRIPTION = "Freescale Chips&Media VPU library"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d"
-
-PROVIDES = "virtual/imxvpu"
-
-PE = "1"
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-
-SRC_URI[md5sum] = "521d5f839829f8d1f2a6a0e60270243e"
-SRC_URI[sha256sum] = "34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f"
-
-inherit fsl-eula-unpack use-imx-headers
-
-PLATFORM_mx6 = "IMX6Q"
-
-do_compile () {
- INCLUDE_DIR="-I${STAGING_INCDIR_IMX}"
- oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
-}
-
-do_install () {
- oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
-}
-
-COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
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
new file mode 100644
index 00000000..383a0e2a
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
@@ -0,0 +1,31 @@
+# Copyright (C) 2013-2018 O.S. Systems Software LTDA.
+# Copyright (C) 2013-2016 Freescale Semiconductor
+# Copyright (C) 2017-2020 NXP
+
+DESCRIPTION = "Freescale VPU library for Chips&Media VPU"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
+
+PROVIDES = "virtual/imxvpu"
+RPROVIDES:${PN} = "virtual/imxvpu"
+
+PE = "1"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "6d6302189a6704874375afe62a65def0"
+SRC_URI[sha256sum] = "87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127"
+
+inherit fsl-eula-unpack use-imx-headers
+
+PLATFORM = "IMX6Q"
+
+do_compile() {
+ INCLUDE_DIR="-I${STAGING_INCDIR_IMX}"
+ oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
+}
+
+do_install() {
+ oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
+}
+
+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 c0c8a776..4deacb58 100644
--- a/recipes-bsp/inphi/inphi_git.bb
+++ b/recipes-bsp/inphi/inphi_git.bb
@@ -2,9 +2,9 @@ SUMMARY = "Firmwares and Standalone Applications"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;fsl-eula=true;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.24.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
new file mode 100644
index 00000000..0ab44074
--- /dev/null
+++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.24.0.bb
@@ -0,0 +1,28 @@
+# Copyright 2020-2023 NXP
+
+DESCRIPTION = "Basler camera binary drivers"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
+
+inherit fsl-eula-unpack
+
+SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "31d716e1f40c248556e5a8e6b467ba71"
+SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
+
+do_install() {
+ dest_dir=${D}/opt/imx8-isp/bin
+ install -d ${D}/${libdir}
+ install -d $dest_dir
+ cp -r ${S}/opt/imx8-isp/bin/* $dest_dir
+ cp -r ${S}/usr/lib/* ${D}/${libdir}
+}
+
+SYSTEMD_AUTO_ENABLE = "enable"
+
+FILES:${PN} = "${libdir} /opt"
+INSANE_SKIP:${PN} = "already-stripped"
+RDEPENDS:${PN} += "isp-imx"
+
+COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
new file mode 100644
index 00000000..3f04000c
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0001-cpp-netlib-parsers.ipp-add-missing-include.patch
@@ -0,0 +1,44 @@
+From 15aae364fb52df30e4a49e73e2048fdc633e6868 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Sun, 8 Oct 2023 09:15:54 -0300
+Subject: [PATCH] cpp-netlib: parsers.ipp: add missing include
+
+With the update to boost from 1.82.0 -> 1.83.0 we now get compiler errors:
+
+| .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:58:3: error: 'u8_to_u32_iterator' was not declared in this scope
+
+Add the missing explicit include. Before the file was indirectly included from qi.hpp:
+
+| In file included from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/regex/pending/unicode_iterator.hpp:27,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/utf8.hpp:15,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/support/info.hpp:17,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/domain.hpp:16,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/meta_compiler.hpp:15,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action/action.hpp:14,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi/action.hpp:14,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/home/qi.hpp:14,
+| from .../isp-imx/4.2.2.22.0/recipe-sysroot/usr/include/boost/spirit/include/qi.hpp:16,
+| from .../isp-imx/4.2.2.22.0/isp-imx-4.2.2.22.0/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp:5,
+
+Upstream-Status: Pending
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ .../boost/network/protocol/http/server/impl/parsers.ipp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
+index c31e60e..2b83fbe 100755
+--- a/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
++++ b/utils3rd/3rd/cpp-netlib/boost/network/protocol/http/server/impl/parsers.ipp
+@@ -13,6 +13,7 @@
+ #include <tuple>
+ #include <boost/fusion/include/std_tuple.hpp>
+ #include <boost/network/protocol/http/message/header.hpp>
++#include <boost/regex/pending/unicode_iterator.hpp>
+
+ #ifdef BOOST_NETWORK_NO_LIB
+ #ifndef BOOST_NETWORK_INLINE
+--
+2.35.3
+
diff --git a/recipes-bsp/isp-imx/isp-imx_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/libimxdmabuffer/files/run-ptest b/recipes-bsp/libimxdmabuffer/files/run-ptest
new file mode 100644
index 00000000..09f69a8d
--- /dev/null
+++ b/recipes-bsp/libimxdmabuffer/files/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+./test-alloc >/dev/null 2>&1
+
+if [ $? -eq 0 ]; then
+ echo "PASS: test-alloc"
+else
+ echo "FAIL: test-alloc"
+fi
+
diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb
deleted file mode 100644
index a4252a7b..00000000
--- a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb
+++ /dev/null
@@ -1,41 +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 = "1.0.0+git${SRCPV}"
-
-SRCBRANCH ?= "master"
-SRCREV = "db17cb57d1087cf590b28487c43cb5c47bf76fe7"
-SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH}"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig waf use-imx-headers ptest
-
-EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
- --libdir=${libdir} \
- ${PACKAGECONFIG_CONFARGS}"
-
-PACKAGECONFIG ?= " "
-PACKAGECONFIG_append_imxgpu2d = " g2d"
-PACKAGECONFIG_append_imxipu = " ipu"
-PACKAGECONFIG_append_imxpxp = " pxp"
-PACKAGECONFIG_append_mx8m = " dwl 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,"
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}/tests
-}
-
-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 d0e8ca50..c13a05a1 100644
--- a/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -2,9 +2,9 @@ SUMMARY = "Firmwares and Standalone Applications"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;fsl-eula=true;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 f0b21b70..568096c4 100644
--- a/recipes-bsp/mc-utils/mc-utils_git.bb
+++ b/recipes-bsp/mc-utils/mc-utils_git.bb
@@ -1,45 +1,45 @@
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 = "18c77603733b3fcd0b716bf9800e052330941f4e"
+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:ls1088a = "ls1088a"
+MC_CFG:ls2088a = "ls2088a"
+MC_CFG:lx2160a = "lx2160a"
+MC_CFG:lx2162a = "lx2162a"
-do_install () {
+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
+}
+do_install () {
install -d ${D}/boot/mc-utils
- cp -r ${S}/config/${MC_CFG}/RDB/*.dtb ${D}/boot/mc-utils
- if [ -d ${S}/config/${MC_CFG}/RDB/custom/ ]; then
- install -d ${D}/boot/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/RDB/custom/*.dtb ${D}/boot/mc-utils/custom
- fi
+ 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}/RDB/*.dtb ${DEPLOYDIR}/mc-utils
- if [ -d ${S}/config/${MC_CFG}/RDB/custom/ ]; then
- install -d ${DEPLOYDIR}/mc-utils/custom
- cp -r ${S}/config/${MC_CFG}/RDB/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 b94d88c4..c01bfd4c 100644
--- a/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
+++ b/recipes-bsp/ppfe-firmware/ppfe-firmware_git.bb
@@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=92723670f432558b9e2494ed177d2
INHIBIT_DEFAULT_DEPS = "1"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;fsl-eula=true;nobranch=1"
-SRCREV = "58aa0cac630528ed91fe5639700d6b571c0c07b5"
+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 58dffa3b..33648d1e 100644
--- a/recipes-bsp/qe-ucode/qe-ucode_git.bb
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -3,9 +3,9 @@ SECTION = "qe-ucode"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=c62f8109b4df15ca37ceeb5e4943626c"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;fsl-eula=true;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 3808a712..5721313b 100644
--- a/recipes-bsp/rcw/rcw_git.bb
+++ b/recipes-bsp/rcw/rcw_git.bb
@@ -1,30 +1,33 @@
SUMMARY = "Reset Configuration Word"
DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=45a017ee5f4cfe64b1cddf2eb06cffc7"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=44a0d0fad189770cc022af4ac6262cbe"
-DEPENDS += "change-file-endianess-native tcl-native"
+DEPENDS += "tcl-native"
inherit deploy siteinfo
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/rcw;nobranch=1"
-SRCREV = "93358b4872bc69f1e3757739d70f20c8b18894e4"
+SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
+SRCREV = "020dcf0645959afec6705f518e8350476891ef4f"
S = "${WORKDIR}/git"
-export PYTHON = "${USRBINPATH}/python2"
+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:lx2160ardb-rev2 = "lx2160ardb_rev2"
+
+do_compile () {
+ oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/
+}
+
do_install () {
- if [ ${M} = ls2088ardb ]; then
- oe_runmake BOARDS=${M} DESTDIR=${D}/boot/rcw/ install
- oe_runmake BOARDS=${M}_rev1.1 DESTDIR=${D}/boot/rcw/ install
- elif [ ${M} = ls1088ardb-pb ]; then
- oe_runmake BOARDS=ls1088ardb DESTDIR=${D}/boot/rcw/ install
- else
- oe_runmake BOARDS=${M} DESTDIR=${D}/boot/rcw/ install
- fi
+ oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/ install
}
do_deploy () {
@@ -34,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_2019.07.inc b/recipes-bsp/u-boot/u-boot-fslc-common_2019.07.inc
deleted file mode 100644
index 575f76f8..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-common_2019.07.inc
+++ /dev/null
@@ -1,18 +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=30503fd321432fc713238f582193b78e"
-
-DEPENDS += "bison-native"
-
-SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH}"
-
-SRCREV = "ca0ab152714540f93bab9347ad5b706a0a54f037"
-SRCBRANCH = "2019.07+fslc"
-
-PV = "v2019.07+git${SRCPV}"
-
-S = "${WORKDIR}/git"
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-fw-utils_2019.07.bb b/recipes-bsp/u-boot/u-boot-fslc-fw-utils_2019.07.bb
deleted file mode 100644
index a809a3f6..00000000
--- a/recipes-bsp/u-boot/u-boot-fslc-fw-utils_2019.07.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-require u-boot-fslc-common_${PV}.inc
-
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-DEPENDS += "mtd-utils"
-
-INSANE_SKIP_${PN} = "already-stripped"
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
-EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
-
-inherit uboot-config
-
-do_compile () {
- oe_runmake ${UBOOT_MACHINE}
- oe_runmake envtools
-}
-
-do_install () {
- install -d ${D}${base_sbindir}
- install -d ${D}${sysconfdir}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
-
- if [ -e ${WORKDIR}/fw_env.config ]; then
- install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
- else
- install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
- fi
-}
-
-do_install_class-cross () {
- install -d ${D}${bindir_cross}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
-}
-
-SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
-uboot_fw_utils_cross() {
- sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
-}
-
-PROVIDES += "u-boot-fw-utils"
-RPROVIDES_${PN} += "u-boot-fw-utils"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-BBCLASSEXTEND = "cross"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2019.07.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb
index 9123b331..b7e4ca76 100644
--- a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2019.07.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2024.04.bb
@@ -3,23 +3,33 @@ 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 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
# is built with target tools and thus cannot be executed on host.
sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
- oe_runmake cross_tools NO_SDL=1
+ oe_runmake -C ${S} O=${B} cross_tools NO_SDL=1
}
do_install () {
@@ -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_2019.07.bb b/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb
index 2a17792f..eba8876a 100644
--- a/recipes-bsp/u-boot/u-boot-fslc_2019.07.bb
+++ b/recipes-bsp/u-boot/u-boot-fslc_2024.04.bb
@@ -6,9 +6,13 @@ 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"
+inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
-PROVIDES += "u-boot"
+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
@@ -18,4 +22,4 @@ EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
HOSTSTRIP=true'
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
+COMPATIBLE_MACHINE = "(imx-generic-bsp)"
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2023.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_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_2018.03.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2018.03.bb
deleted file mode 100644
index ec1de27d..00000000
--- a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2018.03.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (C) 2014 O.S. Systems Software LTDA.
-# Copyright (C) 2014-2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-
-require u-boot-imx_${PV}.bb
-require u-boot-mfgtool.inc
diff --git a/recipes-bsp/u-boot/u-boot-imx_2018.03.bb b/recipes-bsp/u-boot/u-boot-imx_2018.03.bb
deleted file mode 100644
index ed32ffcb..00000000
--- a/recipes-bsp/u-boot/u-boot-imx_2018.03.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Copyright 2017-2019 NXP
-
-DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
-require recipes-bsp/u-boot/u-boot.inc
-
-PROVIDES += "u-boot"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRCBRANCH = "imx_v2018.03_4.14.98_2.0.0_ga"
-SRC_URI = "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "0d6d8807793e74402e23772062469aeb4808dd48"
-
-S = "${WORKDIR}/git"
-
-inherit fsl-u-boot-localversion
-
-LOCALVERSION ?= "-${SRCBRANCH}"
-
-BOOT_TOOLS = "imx-boot-tools"
-
-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}/tools/mkimage ${DEPLOYDIR}/${BOOT_TOOLS}/mkimage_uboot
- 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-common_2019.04.inc b/recipes-bsp/u-boot/u-boot-qoriq-common_2019.04.inc
deleted file mode 100644
index 46e43140..00000000
--- a/recipes-bsp/u-boot/u-boot-qoriq-common_2019.04.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-
-inherit fsl-u-boot-localversion
-
-LICENSE = "GPLv2 & BSD-3-Clause & BSD-2-Clause & LGPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
- file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
- file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
- file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
-"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/u-boot;nobranch=1 \
-"
-SRCREV= "c873063750db4479feee58a1d97f38a0934ea7b9"
-
-S = "${WORKDIR}/git"
-PV_append = "+fslgit"
-LOCALVERSION = "+fsl"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2019.04.bb b/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2019.04.bb
deleted file mode 100644
index 7a8ad21b..00000000
--- a/recipes-bsp/u-boot/u-boot-qoriq-fw-utils_2019.04.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require u-boot-qoriq-common_${PV}.inc
-
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-DEPENDS = "mtd-utils bison-native"
-
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
-EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
-
-inherit uboot-config
-
-do_compile () {
- oe_runmake ${UBOOT_MACHINE}
- oe_runmake envtools
-}
-
-do_install () {
- install -d ${D}${base_sbindir}
- install -d ${D}${sysconfdir}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
-
- if [ -e ${WORKDIR}/fw_env.config ]; then
- install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
- else
- install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
- fi
-}
-
-do_install_class-cross () {
- install -d ${D}${bindir_cross}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
-}
-
-SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
-uboot_fw_utils_cross() {
- sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
-}
-
-PROVIDES += "u-boot-fw-utils"
-RPROVIDES_${PN} += "u-boot-fw-utils"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-BBCLASSEXTEND = "cross"
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2019.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
index f48dc81f..c46eae33 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2019.04.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2021.04.bb
@@ -1,14 +1,32 @@
require recipes-bsp/u-boot/u-boot.inc
-require u-boot-qoriq-common_${PV}.inc
DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ boards"
PROVIDES += "u-boot"
+inherit fsl-u-boot-localversion
+
+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 \
+ file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
+ file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
+SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+PV:append = "+fslgit"
+LOCALVERSION = "+fsl"
+
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python-native"
-DEPENDS_append_qoriq-arm64 = " change-file-endianess-native dtc-native tcl-native"
-DEPENDS_append_qoriq-arm = " change-file-endianess-native dtc-native tcl-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":
@@ -23,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:
@@ -33,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 + '-')
}
@@ -46,8 +64,9 @@ ENDIANNESS_LD = "${@bb.utils.contains("LE_UBOOT_FOR_ARMBE_TARGET", "1", "-EL", "
WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${ENDIANNESS_GCC}" LD="${WRAP_TARGET_PREFIX}ld ${ENDIANNESS_LD}" V=1'
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`;
@@ -75,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 55344c12..b001a325 100644
--- a/recipes-bsp/uefi/uefi_git.bb
+++ b/recipes-bsp/uefi/uefi_git.bb
@@ -3,10 +3,10 @@ SECTION = "bootloaders"
LICENSE = "NXP-Binary-EULA"
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
-inherit deploy fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;fsl-eula=true;nobranch=1"
-SRCREV= "12963900e9cb4e322df7bff327862de3b8a6371e"
+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-Remove-test-that-requires-running-as-non-root.patch b/recipes-connectivity/openssl/openssl-qoriq/0001-Remove-test-that-requires-running-as-non-root.patch
deleted file mode 100644
index 736bb39a..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/0001-Remove-test-that-requires-running-as-non-root.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 3fdb1e2a16ea405c6731447a8994f222808ef7e6 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 7 Apr 2017 18:01:52 +0300
-Subject: [PATCH] Remove test that requires running as non-root
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- test/recipes/40-test_rehash.t | 17 +----------------
- 1 file changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/test/recipes/40-test_rehash.t b/test/recipes/40-test_rehash.t
-index f902c23..c7567c1 100644
---- a/test/recipes/40-test_rehash.t
-+++ b/test/recipes/40-test_rehash.t
-@@ -23,7 +23,7 @@ setup("test_rehash");
- plan skip_all => "test_rehash is not available on this platform"
- unless run(app(["openssl", "rehash", "-help"]));
-
--plan tests => 5;
-+plan tests => 3;
-
- indir "rehash.$$" => sub {
- prepare();
-@@ -42,21 +42,6 @@ indir "rehash.$$" => sub {
- 'Testing rehash operations on empty directory');
- }, create => 1, cleanup => 1;
-
--indir "rehash.$$" => sub {
-- prepare();
-- chmod 0500, curdir();
-- SKIP: {
-- if (!ok(!open(FOO, ">unwritable.txt"),
-- "Testing that we aren't running as a privileged user, such as root")) {
-- close FOO;
-- skip "It's pointless to run the next test as root", 1;
-- }
-- isnt(run(app(["openssl", "rehash", curdir()])), 1,
-- 'Testing rehash operations on readonly directory');
-- }
-- chmod 0700, curdir(); # make it writable again, so cleanup works
--}, create => 1, cleanup => 1;
--
- sub prepare {
- my @pemsourcefiles = sort glob(srctop_file('test', "*.pem"));
- my @destfiles = ();
---
-2.11.0
-
diff --git a/recipes-connectivity/openssl/openssl-qoriq/0001-Take-linking-flags-from-LDFLAGS-env-var.patch b/recipes-connectivity/openssl/openssl-qoriq/0001-Take-linking-flags-from-LDFLAGS-env-var.patch
deleted file mode 100644
index 6ce4e47d..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/0001-Take-linking-flags-from-LDFLAGS-env-var.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 08face4353d80111973aba9c1304c92158cfad0e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 28 Mar 2017 16:40:12 +0300
-Subject: [PATCH] Take linking flags from LDFLAGS env var
-
-This fixes "No GNU_HASH in the elf binary" issues.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Configurations/unix-Makefile.tmpl | 2 +-
- Configure | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
-index c029817..43b769b 100644
---- a/Configurations/unix-Makefile.tmpl
-+++ b/Configurations/unix-Makefile.tmpl
-@@ -173,7 +173,7 @@ CROSS_COMPILE= {- $config{cross_compile_prefix} -}
- CC= $(CROSS_COMPILE){- $target{cc} -}
- CFLAGS={- our $cflags2 = join(" ",(map { "-D".$_} @{$target{defines}}, @{$config{defines}}),"-DOPENSSLDIR=\"\\\"\$(OPENSSLDIR)\\\"\"","-DENGINESDIR=\"\\\"\$(ENGINESDIR)\\\"\"") -} {- $target{cflags} -} {- $config{cflags} -}
- CFLAGS_Q={- $cflags2 =~ s|([\\"])|\\$1|g; $cflags2 -} {- $config{cflags} -}
--LDFLAGS= {- $target{lflags} -}
-+LDFLAGS= {- $target{lflags}." ".$ENV{'LDFLAGS'} -}
- PLIB_LDFLAGS= {- $target{plib_lflags} -}
- EX_LIBS= {- $target{ex_libs} -} {- $config{ex_libs} -}
- LIB_CFLAGS={- $target{shared_cflag} || "" -}
-diff --git a/Configure b/Configure
-index aee7cc3..274d236 100755
---- a/Configure
-+++ b/Configure
-@@ -979,7 +979,7 @@ $config{build_file} = $target{build_file};
- $config{defines} = [];
- $config{cflags} = "";
- $config{ex_libs} = "";
--$config{shared_ldflag} = "";
-+$config{shared_ldflag} = $ENV{'LDFLAGS'};
-
- # Make sure build_scheme is consistent.
- $target{build_scheme} = [ $target{build_scheme} ]
---
-2.11.0
-
diff --git a/recipes-connectivity/openssl/openssl-qoriq/0001-aes-asm-aes-armv4-bsaes-armv7-.pl-make-it-work-with-.patch b/recipes-connectivity/openssl/openssl-qoriq/0001-aes-asm-aes-armv4-bsaes-armv7-.pl-make-it-work-with-.patch
deleted file mode 100644
index bb0a1689..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/0001-aes-asm-aes-armv4-bsaes-armv7-.pl-make-it-work-with-.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From bcc096a50811bf0f0c4fd34b2993fed7a7015972 Mon Sep 17 00:00:00 2001
-From: Andy Polyakov <appro@openssl.org>
-Date: Fri, 3 Nov 2017 23:30:01 +0100
-Subject: [PATCH] aes/asm/{aes-armv4|bsaes-armv7}.pl: make it work with
- binutils-2.29.
-
-It's not clear if it's a feature or bug, but binutils-2.29[.1]
-interprets 'adr' instruction with Thumb2 code reference differently,
-in a way that affects calculation of addresses of constants' tables.
-
-Upstream-Status: Backport
-
-Reviewed-by: Tim Hudson <tjh@openssl.org>
-Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
-Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
-(Merged from https://github.com/openssl/openssl/pull/4669)
-
-(cherry picked from commit b82acc3c1a7f304c9df31841753a0fa76b5b3cda)
----
- crypto/aes/asm/aes-armv4.pl | 6 +++---
- crypto/aes/asm/bsaes-armv7.pl | 6 +++---
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/crypto/aes/asm/aes-armv4.pl b/crypto/aes/asm/aes-armv4.pl
-index 16d79aae53..c6474b8aad 100644
---- a/crypto/aes/asm/aes-armv4.pl
-+++ b/crypto/aes/asm/aes-armv4.pl
-@@ -200,7 +200,7 @@ AES_encrypt:
- #ifndef __thumb2__
- sub r3,pc,#8 @ AES_encrypt
- #else
-- adr r3,AES_encrypt
-+ adr r3,.
- #endif
- stmdb sp!,{r1,r4-r12,lr}
- #ifdef __APPLE__
-@@ -450,7 +450,7 @@ _armv4_AES_set_encrypt_key:
- #ifndef __thumb2__
- sub r3,pc,#8 @ AES_set_encrypt_key
- #else
-- adr r3,AES_set_encrypt_key
-+ adr r3,.
- #endif
- teq r0,#0
- #ifdef __thumb2__
-@@ -976,7 +976,7 @@ AES_decrypt:
- #ifndef __thumb2__
- sub r3,pc,#8 @ AES_decrypt
- #else
-- adr r3,AES_decrypt
-+ adr r3,.
- #endif
- stmdb sp!,{r1,r4-r12,lr}
- #ifdef __APPLE__
-diff --git a/crypto/aes/asm/bsaes-armv7.pl b/crypto/aes/asm/bsaes-armv7.pl
-index 9f288660ef..a27bb4a179 100644
---- a/crypto/aes/asm/bsaes-armv7.pl
-+++ b/crypto/aes/asm/bsaes-armv7.pl
-@@ -744,7 +744,7 @@ $code.=<<___;
- .type _bsaes_decrypt8,%function
- .align 4
- _bsaes_decrypt8:
-- adr $const,_bsaes_decrypt8
-+ adr $const,.
- vldmia $key!, {@XMM[9]} @ round 0 key
- #ifdef __APPLE__
- adr $const,.LM0ISR
-@@ -843,7 +843,7 @@ _bsaes_const:
- .type _bsaes_encrypt8,%function
- .align 4
- _bsaes_encrypt8:
-- adr $const,_bsaes_encrypt8
-+ adr $const,.
- vldmia $key!, {@XMM[9]} @ round 0 key
- #ifdef __APPLE__
- adr $const,.LM0SR
-@@ -951,7 +951,7 @@ $code.=<<___;
- .type _bsaes_key_convert,%function
- .align 4
- _bsaes_key_convert:
-- adr $const,_bsaes_key_convert
-+ adr $const,.
- vld1.8 {@XMM[7]}, [$inp]! @ load round 0 key
- #ifdef __APPLE__
- adr $const,.LM0
---
-2.15.0
-
diff --git a/recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh b/recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh
deleted file mode 100644
index 6620fdcb..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh
+++ /dev/null
@@ -1,222 +0,0 @@
-#!/bin/sh
-#
-# Ben Secrest <blsecres@gmail.com>
-#
-# sh c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-#
-# based on the c_rehash perl script distributed with openssl
-#
-# LICENSE: See OpenSSL license
-# ^^acceptable?^^
-#
-
-# default certificate location
-DIR=/etc/openssl
-
-# for filetype bitfield
-IS_CERT=$(( 1 << 0 ))
-IS_CRL=$(( 1 << 1 ))
-
-
-# check to see if a file is a certificate file or a CRL file
-# arguments:
-# 1. the filename to be scanned
-# returns:
-# bitfield of file type; uses ${IS_CERT} and ${IS_CRL}
-#
-check_file()
-{
- local IS_TYPE=0
-
- # make IFS a newline so we can process grep output line by line
- local OLDIFS=${IFS}
- IFS=$( printf "\n" )
-
- # XXX: could be more efficient to have two 'grep -m' but is -m portable?
- for LINE in $( grep '^-----BEGIN .*-----' ${1} )
- do
- if echo ${LINE} \
- | grep -q -E '^-----BEGIN (X509 |TRUSTED )?CERTIFICATE-----'
- then
- IS_TYPE=$(( ${IS_TYPE} | ${IS_CERT} ))
-
- if [ $(( ${IS_TYPE} & ${IS_CRL} )) -ne 0 ]
- then
- break
- fi
- elif echo ${LINE} | grep -q '^-----BEGIN X509 CRL-----'
- then
- IS_TYPE=$(( ${IS_TYPE} | ${IS_CRL} ))
-
- if [ $(( ${IS_TYPE} & ${IS_CERT} )) -ne 0 ]
- then
- break
- fi
- fi
- done
-
- # restore IFS
- IFS=${OLDIFS}
-
- return ${IS_TYPE}
-}
-
-
-#
-# use openssl to fingerprint a file
-# arguments:
-# 1. the filename to fingerprint
-# 2. the method to use (x509, crl)
-# returns:
-# none
-# assumptions:
-# user will capture output from last stage of pipeline
-#
-fingerprint()
-{
- ${SSL_CMD} ${2} -fingerprint -noout -in ${1} | sed 's/^.*=//' | tr -d ':'
-}
-
-
-#
-# link_hash - create links to certificate files
-# arguments:
-# 1. the filename to create a link for
-# 2. the type of certificate being linked (x509, crl)
-# returns:
-# 0 on success, 1 otherwise
-#
-link_hash()
-{
- local FINGERPRINT=$( fingerprint ${1} ${2} )
- local HASH=$( ${SSL_CMD} ${2} -hash -noout -in ${1} )
- local SUFFIX=0
- local LINKFILE=''
- local TAG=''
-
- if [ ${2} = "crl" ]
- then
- TAG='r'
- fi
-
- LINKFILE=${HASH}.${TAG}${SUFFIX}
-
- while [ -f ${LINKFILE} ]
- do
- if [ ${FINGERPRINT} = $( fingerprint ${LINKFILE} ${2} ) ]
- then
- echo "NOTE: Skipping duplicate file ${1}" >&2
- return 1
- fi
-
- SUFFIX=$(( ${SUFFIX} + 1 ))
- LINKFILE=${HASH}.${TAG}${SUFFIX}
- done
-
- echo "${3} => ${LINKFILE}"
-
- # assume any system with a POSIX shell will either support symlinks or
- # do something to handle this gracefully
- ln -s ${3} ${LINKFILE}
-
- return 0
-}
-
-
-# hash_dir create hash links in a given directory
-hash_dir()
-{
- echo "Doing ${1}"
-
- cd ${1}
-
- ls -1 * 2>/dev/null | while read FILE
- do
- if echo ${FILE} | grep -q -E '^[[:xdigit:]]{8}\.r?[[:digit:]]+$' \
- && [ -h "${FILE}" ]
- then
- rm ${FILE}
- fi
- done
-
- ls -1 *.pem *.cer *.crt *.crl 2>/dev/null | while read FILE
- do
- REAL_FILE=${FILE}
- # if we run on build host then get to the real files in rootfs
- if [ -n "${SYSROOT}" -a -h ${FILE} ]
- then
- FILE=$( readlink ${FILE} )
- # check the symlink is absolute (or dangling in other word)
- if [ "x/" = "x$( echo ${FILE} | cut -c1 -)" ]
- then
- REAL_FILE=${SYSROOT}/${FILE}
- fi
- fi
-
- check_file ${REAL_FILE}
- local FILE_TYPE=${?}
- local TYPE_STR=''
-
- if [ $(( ${FILE_TYPE} & ${IS_CERT} )) -ne 0 ]
- then
- TYPE_STR='x509'
- elif [ $(( ${FILE_TYPE} & ${IS_CRL} )) -ne 0 ]
- then
- TYPE_STR='crl'
- else
- echo "NOTE: ${FILE} does not contain a certificate or CRL: skipping" >&2
- continue
- fi
-
- link_hash ${REAL_FILE} ${TYPE_STR} ${FILE}
- done
-}
-
-
-# choose the name of an ssl application
-if [ -n "${OPENSSL}" ]
-then
- SSL_CMD=$(which ${OPENSSL} 2>/dev/null)
-else
- SSL_CMD=/usr/bin/openssl
- OPENSSL=${SSL_CMD}
- export OPENSSL
-fi
-
-# fix paths
-PATH=${PATH}:${DIR}/bin
-export PATH
-
-# confirm existance/executability of ssl command
-if ! [ -x ${SSL_CMD} ]
-then
- echo "${0}: rehashing skipped ('openssl' program not available)" >&2
- exit 0
-fi
-
-# determine which directories to process
-old_IFS=$IFS
-if [ ${#} -gt 0 ]
-then
- IFS=':'
- DIRLIST=${*}
-elif [ -n "${SSL_CERT_DIR}" ]
-then
- DIRLIST=$SSL_CERT_DIR
-else
- DIRLIST=${DIR}/certs
-fi
-
-IFS=':'
-
-# process directories
-for CERT_DIR in ${DIRLIST}
-do
- if [ -d ${CERT_DIR} -a -w ${CERT_DIR} ]
- then
- IFS=$old_IFS
- hash_dir ${CERT_DIR}
- IFS=':'
- fi
-done
diff --git a/recipes-connectivity/openssl/openssl-qoriq/run-ptest b/recipes-connectivity/openssl/openssl-qoriq/run-ptest
deleted file mode 100644
index 65c6cc7b..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq/run-ptest
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-cd test
-OPENSSL_ENGINES=../engines BLDTOP=.. SRCTOP=.. perl run_tests.pl
-cd ..
diff --git a/recipes-connectivity/openssl/openssl-qoriq_1.1.0g.bb b/recipes-connectivity/openssl/openssl-qoriq_1.1.0g.bb
deleted file mode 100644
index b0e188ae..00000000
--- a/recipes-connectivity/openssl/openssl-qoriq_1.1.0g.bb
+++ /dev/null
@@ -1,184 +0,0 @@
-SUMMARY = "Secure Socket Layer"
-DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
-HOMEPAGE = "http://www.openssl.org/"
-BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
-SECTION = "libs/network"
-
-DISABLE_STATIC = ""
-
-# "openssl | SSLeay" dual license
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cae6da10f4ffd9703214776d2aabce32"
-
-DEPENDS += "cryptodev-linux hostperl-runtime-native"
-DEPENDS_append_class-target = " openssl-native"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/openssl;nobranch=1 \
- file://run-ptest \
- file://openssl-c_rehash.sh \
- file://0001-Take-linking-flags-from-LDFLAGS-env-var.patch \
- file://0001-Remove-test-that-requires-running-as-non-root.patch \
- file://0001-aes-asm-aes-armv4-bsaes-armv7-.pl-make-it-work-with-.patch \
- "
-
-SRCREV = "472c9c380669eb7a26819a52598632f257b3e72b"
-
-PROVIDES = "openssl"
-
-python() {
- pkgs = d.getVar('PACKAGES').split()
- for p in pkgs:
- if 'openssl-qoriq' in p:
- d.appendVar("RPROVIDES_%s" % p, p.replace('openssl-qoriq', 'openssl'))
- d.appendVar("RCONFLICTS_%s" % p, p.replace('openssl-qoriq', 'openssl'))
- d.appendVar("RREPLACES_%s" % p, p.replace('openssl-qoriq', 'openssl'))
-}
-
-S = "${WORKDIR}/git"
-
-inherit lib_package multilib_header ptest
-
-do_configure () {
- os=${HOST_OS}
- case $os in
- linux-uclibc |\
- linux-uclibceabi |\
- linux-gnueabi |\
- linux-uclibcspe |\
- linux-gnuspe |\
- linux-musl*)
- os=linux
- ;;
- *)
- ;;
- esac
- target="$os-${HOST_ARCH}"
- case $target in
- linux-arm)
- target=linux-armv4
- ;;
- linux-armeb)
- target=linux-armv4
- ;;
- linux-aarch64*)
- target=linux-aarch64
- ;;
- linux-sh3)
- target=linux-generic32
- ;;
- linux-sh4)
- target=linux-generic32
- ;;
- linux-i486)
- target=linux-elf
- ;;
- linux-i586 | linux-viac3)
- target=linux-elf
- ;;
- linux-i686)
- target=linux-elf
- ;;
- linux-gnux32-x86_64)
- target=linux-x32
- ;;
- linux-gnu64-x86_64)
- target=linux-x86_64
- ;;
- linux-mips)
- # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
- target="linux-mips32 ${TARGET_CC_ARCH}"
- ;;
- linux-mipsel)
- target="linux-mips32 ${TARGET_CC_ARCH}"
- ;;
- linux-gnun32-mips*)
- target=linux-mips64
- ;;
- linux-*-mips64 | linux-mips64)
- target=linux64-mips64
- ;;
- linux-*-mips64el | linux-mips64el)
- target=linux64-mips64
- ;;
- linux-microblaze*|linux-nios2*)
- target=linux-generic32
- ;;
- linux-powerpc)
- target=linux-ppc
- ;;
- linux-powerpc64)
- target=linux-ppc64
- ;;
- linux-riscv64)
- target=linux-generic64
- ;;
- linux-riscv32)
- target=linux-generic32
- ;;
- linux-supersparc)
- target=linux-sparcv9
- ;;
- linux-sparc)
- target=linux-sparcv9
- ;;
- darwin-i386)
- target=darwin-i386-cc
- ;;
- esac
- useprefix=${prefix}
- if [ "x$useprefix" = "x" ]; then
- useprefix=/
- fi
- libdirleaf="$(echo ${libdir} | sed s:$useprefix::)"
- perl ./Configure -DHAVE_CRYPTODEV ${EXTRA_OECONF} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdirleaf} $target
-}
-
-#| engines/afalg/e_afalg.c: In function 'eventfd':
-#| engines/afalg/e_afalg.c:110:20: error: '__NR_eventfd' undeclared (first use in this function)
-#| return syscall(__NR_eventfd, n);
-#| ^~~~~~~~~~~~
-EXTRA_OECONF_aarch64 += "no-afalgeng"
-
-#| ./libcrypto.so: undefined reference to `getcontext'
-#| ./libcrypto.so: undefined reference to `setcontext'
-#| ./libcrypto.so: undefined reference to `makecontext'
-EXTRA_OECONF_libc-musl += "-DOPENSSL_NO_ASYNC"
-
-do_install () {
- oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
- oe_multilib_header openssl/opensslconf.h
-}
-
-do_install_append_class-native () {
- # Install a custom version of c_rehash that can handle sysroots properly.
- # This version is used for example when installing ca-certificates during
- # image creation.
- install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
- sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
-}
-
-do_install_ptest() {
- cp -r * ${D}${PTEST_PATH}
-
- # Putting .so files in ptest package will mess up the dependencies of the main openssl package
- # so we rename them to .so.ptest and patch the test accordingly
- mv ${D}${PTEST_PATH}/libcrypto.so ${D}${PTEST_PATH}/libcrypto.so.ptest
- mv ${D}${PTEST_PATH}/libssl.so ${D}${PTEST_PATH}/libssl.so.ptest
- sed -i 's/$target{shared_extension_simple}/".so.ptest"/' ${D}${PTEST_PATH}/test/recipes/90-test_shlibload.t
-}
-
-RDEPENDS_${PN}-ptest += "perl-module-file-spec-functions bash"
-RRECOMMENDS_libcrypto += "openssl-conf"
-
-FILES_${PN} =+ " ${libdir}/ssl-1.1/*"
-
-PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
-FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl = "${libdir}/libssl${SOLIBS}"
-FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
-FILES_${PN}-engines = "${libdir}/engines-1.1"
-FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
-
-RPROVIDES_openssl-conf = "openssl10-conf"
-RREPLACES_openssl-conf = "openssl10-conf"
-RCONFLICTS_openssl-conf = "openssl10-conf"
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 af570009..1200527c 100644
--- a/recipes-core/udev/udev-rules-qoriq.bb
+++ b/recipes-core/udev/udev-rules-qoriq.bb
@@ -7,19 +7,21 @@ SRC_URI = "\
file://72-fsl-dpaa-persistent-networking.rules \
file://73-fsl-dpaa-persistent-networking.rules \
file://74-ls1046a-xfi2-networking.rules \
+ file://73-fsl-enetc-networking.rules \
"
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_ls1046a = "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 \
74-ls1046a-xfi2-networking.rules \
"
-RULE_ls1012a = ""
-RULE_ls2080a = ""
+RULE:ls1012a = ""
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d/
@@ -28,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-core/udev/udev-rules-qoriq/73-fsl-enetc-networking.rules b/recipes-core/udev/udev-rules-qoriq/73-fsl-enetc-networking.rules
new file mode 100644
index 00000000..19f41634
--- /dev/null
+++ b/recipes-core/udev/udev-rules-qoriq/73-fsl-enetc-networking.rules
@@ -0,0 +1,16 @@
+# ENETC rules
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", NAME:="eno0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", NAME:="eno1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", DRIVERS=="fsl_enetc", NAME:="eno2"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", DRIVERS=="fsl_enetc", NAME:="eno3"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1"
+# LS1028 switch rules
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5"
diff --git a/recipes-daemons/ptpd/ptpd-qoriq.bb b/recipes-daemons/ptpd/ptpd-qoriq.bb
deleted file mode 100644
index 569deed5..00000000
--- a/recipes-daemons/ptpd/ptpd-qoriq.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "The PTP daemon (PTPd)"
-DESCRIPTION = "The PTP daemon (PTPd) implements the Precision Time protocol (PTP) as \
-defined by the relevant IEEE 1588 standard. PTP Version 1 implements IEEE-1588-2002, \
-and PTP Version 2 implements IEEE-1588-2008. PTP was developed to provide very precise \
-time coordination of LAN connected computers."
-HOMEPAGE = "http://sourceforge.net/projects/ptpd"
-SECTION = "net"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://README;md5=0733e1b3788ab2ebbc63bf33a020da1d"
-
-COMPATIBLE_MACHINE = "(qoriq)"
-
-DEPENDS = "libpcap"
-
-PROVIDES = "ptpd"
-
-inherit autotools pkgconfig systemd
-
-python() {
- pkgs = d.getVar('PACKAGES').split()
- for p in pkgs:
- if 'ptpd-qoriq' in p:
- d.appendVar("RPROVIDES_%s" % p, p.replace('ptpd-qoriq', 'ptpd'))
- d.appendVar("RCONFLICTS_%s" % p, p.replace('ptpd-qoriq', 'ptpd'))
- d.appendVar("RREPLACES_%s" % p, p.replace('ptpd-qoriq', 'ptpd'))
-}
-
-# return something like '1.2.3' or '1.2.3/rc1'
-#
-def get_sub(d):
- parts = d.getVar('PV').split('-')
- try:
- return parts[0] + '/' + parts[1]
- except:
- return parts[0]
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ptpd;nobranch=1 \
- file://ptpd-use-pkgconfig.patch \
-"
-SRCREV = "ec34cdd10446619d036ac8d6a86b8276f0d4a81c"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = ""
-
-EXTRA_OECONF += "--disable-snmp --with-pcap-config=pkg-config"
-
-do_install() {
- install -d ${D}${bindir} ${D}${mandir}/man8
- install -m 0755 ${B}/src/ptpd2 ${D}${bindir}
- install -m 0644 ${B}/src/ptpd2.8 ${D}${mandir}/man8
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ptpd.service ${D}${systemd_unitdir}/system
-
- sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/ptpd.service
- sed -i -e 's#@BINDIR@#${bindir}#g' ${D}${systemd_unitdir}/system/ptpd.service
-
- install -d ${D}${sysconfdir}/default/
- install -m 0644 ${WORKDIR}/ptpd.conf ${D}${sysconfdir}/default/ptpd
- fi
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "ptpd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/recipes-daemons/ptpd/ptpd-qoriq/ptpd-use-pkgconfig.patch b/recipes-daemons/ptpd/ptpd-qoriq/ptpd-use-pkgconfig.patch
deleted file mode 100644
index e4578dda..00000000
--- a/recipes-daemons/ptpd/ptpd-qoriq/ptpd-use-pkgconfig.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 4c850b92a1cf8cfa19677c66bcde2edfab1a4490 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe_macdonald@mentor.com>
-Date: Tue, 24 Feb 2015 23:02:14 -0500
-Subject: [PATCH] ptpd: use pkgconfig
-
-Yocto uses pkg-config for libpcap, rather than pcap-config, so use that
-instead as the source for libs and cflags.
-
-Upstream-status: Inappropriate [ embedded specific ]
-
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dc9541f..288f547 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -112,10 +112,10 @@ case "$try_pcap" in
- yes)
- case "$PATH_PCAP_CONFIG" in
- /*)
-- PCAP_LIBS=`$PATH_PCAP_CONFIG --libs`
-+ PCAP_LIBS=`$PATH_PCAP_CONFIG --libs libpcap`
- AC_SUBST([PCAP_LIBS])
- # Separate CPPFLAGS and CFLAGS
-- foo=`$PATH_PCAP_CONFIG --cflags`
-+ foo=`$PATH_PCAP_CONFIG --cflags libpcap`
- PCAP_CPPFLAGS=
- PCAP_CFLAGS=
- for i in $foo; do
---
-1.9.1
-
diff --git a/recipes-devtools/devregs/devregs_git.bb b/recipes-devtools/devregs/devregs_git.bb
index 3bac55a4..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 = "34ed402b92920864b89e0fd1e76bae3aa340baaa"
-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 79dbfe0e..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 = "29fa8ab592924cf2294584b4a407f0a76858b60e"
-SRC_URI = "git://github.com/boundarydevices/imx_usb_loader.git;protocol=http"
+SRCREV = "f009770d841468204ab104bf7d3b0c5bc8425dbb"
+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/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
new file mode 100644
index 00000000..7f7da510
--- /dev/null
+++ b/recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
@@ -0,0 +1,33 @@
+From 8ee6281516bd9210e75e91d705da8916bab3bf51 Mon Sep 17 00:00:00 2001
+From: Juro Bystricky <juro.bystricky@intel.com>
+Date: Thu, 31 Aug 2017 11:06:56 -0700
+Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
+ qemu.
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+
+---
+ tests/Makefile.include | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/tests/Makefile.include b/tests/Makefile.include
+index 8566f5f1..52d0320b 100644
+--- a/tests/Makefile.include
++++ b/tests/Makefile.include
+@@ -1210,4 +1210,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
+ -include $(wildcard tests/*.d)
+ -include $(wildcard tests/libqos/*.d)
+
++buildtest-TESTS: $(check-unit-y)
++
++runtest-TESTS:
++ for f in $(check-unit-y); do \
++ nf=$$(echo $$f | sed 's/tests\//\.\//g'); \
++ $$nf; \
++ done
++
+ endif
diff --git a/recipes-devtools/qemu/qemu-qoriq/memfd.patch b/recipes-devtools/qemu/qemu-qoriq/memfd.patch
deleted file mode 100644
index d9e7a455..00000000
--- a/recipes-devtools/qemu/qemu-qoriq/memfd.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From d60ecdd94f4054aa0ec615824d5efdb4cebc7db9 Mon Sep 17 00:00:00 2001
-From: Ting Liu <ting.liu@nxp.com>
-Date: Thu, 19 Apr 2018 11:47:16 +0800
-Subject: [PATCH] memfd
-
----
- configure | 2 +-
- util/memfd.c | 4 +---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index be4d326..cb5197c 100755
---- a/configure
-+++ b/configure
-@@ -3735,7 +3735,7 @@ fi
- # check if memfd is supported
- memfd=no
- cat > $TMPC << EOF
--#include <sys/memfd.h>
-+#include <sys/mman.h>
-
- int main(void)
- {
-diff --git a/util/memfd.c b/util/memfd.c
-index 4571d1a..412e94a 100644
---- a/util/memfd.c
-+++ b/util/memfd.c
-@@ -31,9 +31,7 @@
-
- #include "qemu/memfd.h"
-
--#ifdef CONFIG_MEMFD
--#include <sys/memfd.h>
--#elif defined CONFIG_LINUX
-+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
- #include <sys/syscall.h>
- #include <asm/unistd.h>
-
---
-2.7.4
-
diff --git a/recipes-devtools/qemu/qemu-qoriq/run-ptest b/recipes-devtools/qemu/qemu-qoriq/run-ptest
index 2206b319..b25a792d 100644
--- a/recipes-devtools/qemu/qemu-qoriq/run-ptest
+++ b/recipes-devtools/qemu/qemu-qoriq/run-ptest
@@ -7,4 +7,4 @@ ptestdir=$(dirname "$(readlink -f "$0")")
export SRC_PATH=$ptestdir
cd $ptestdir/tests
-make -f Makefile.include -k runtest-TESTS | sed '/: OK/ s/^/PASS: /g'
+make -f Makefile.include -k runtest-TESTS | sed '/^ok /s/ok /PASS: /g'
diff --git a/recipes-devtools/qemu/qemu-qoriq_4.2.bb b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
new file mode 100644
index 00000000..5ac774ed
--- /dev/null
+++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb
@@ -0,0 +1,64 @@
+BBCLASSEXTEND = ""
+
+require qemu.inc
+
+COMPATIBLE_MACHINE = "(qoriq)"
+
+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://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 \
+ "
+
+SRCREV = "14fda5a42df6c72e890d6a97ff88c5852172604b"
+
+S = "${WORKDIR}/git"
+
+python() {
+ d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', ''))
+ 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', ''))
+}
+
+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)}"
+
+do_install:append:class-nativesdk() {
+ ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
+}
+
+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
+}
+
+PACKAGECONFIG ??= " \
+ fdt sdl kvm aio libusb vhost numa \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
+"
+PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm"
+
+PACKAGECONFIG[xkbcommon] = ",,"
+PACKAGECONFIG[libudev] = ",,"
+
+DISABLE_STATIC = ""
+
diff --git a/recipes-devtools/qemu/qemu-qoriq_git.bb b/recipes-devtools/qemu/qemu-qoriq_git.bb
deleted file mode 100644
index 9c6d1c56..00000000
--- a/recipes-devtools/qemu/qemu-qoriq_git.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-require recipes-devtools/qemu/qemu.inc
-
-inherit ptest
-
-RDEPENDS_${PN}-ptest = "bash make"
-DEPENDS = "glib-2.0 zlib pixman dtc"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
- file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/qemu;nobranch=1 \
- file://powerpc_rom.bin \
- file://run-ptest \
- "
-
-SRCREV = "79df0577f5467dfaf0b2469ce3973a342f0c9e90"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE = "(qoriq|imx)"
-
-PROVIDES = "qemu"
-
-python() {
- pkgs = d.getVar('PACKAGES').split()
- for p in pkgs:
- if 'qemu-qoriq' in p:
- d.appendVar("RPROVIDES_%s" % p, p.replace('qemu-qoriq', 'qemu'))
- d.appendVar("RCONFLICTS_%s" % p, p.replace('qemu-qoriq', 'qemu'))
- d.appendVar("RREPLACES_%s" % p, p.replace('qemu-qoriq', 'qemu'))
-}
-
-EXTRA_OECONF_append = " --python=python2.7"
-
-PPC_OECONF = '--enable-fdt --enable-kvm --with-system-pixman --disable-werror'
-EXTRA_OECONF_qoriq-arm64 = "--prefix=${prefix} --target-list=aarch64-softmmu --enable-fdt --enable-kvm --with-system-pixman --disable-werror"
-EXTRA_OECONF_qoriq-arm = "--prefix=${prefix} --target-list=arm-softmmu --enable-fdt --enable-kvm --with-system-pixman --disable-werror"
-EXTRA_OECONF_e5500-64b = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
-EXTRA_OECONF_e6500-64b = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
-EXTRA_OECONF_e6500 = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
-EXTRA_OECONF_e5500 = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
-EXTRA_OECONF_e500v2 = "--prefix=${prefix} --target-list=ppc-softmmu ${PPC_OECONF}"
-EXTRA_OECONF_e500mc = "--prefix=${prefix} --target-list=ppc-softmmu ${PPC_OECONF}"
-
-DISABLE_STATIC = ""
-
-do_install_append() {
- # Prevent QA warnings about installed ${localstatedir}/run
- if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
- install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
-}
-
-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
-}
-
-INSANE_SKIP_${PN} += "already-stripped"
-FILES_${PN} += "/usr/share/qemu/* /usr/var/*"
-
-# FIXME: Avoid WARNING due missing patch for native/nativesdk
-BBCLASSEXTEND = ""
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/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch b/recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
new file mode 100644
index 00000000..d25675aa
--- /dev/null
+++ b/recipes-devtools/qoriq-cst/qoriq-cst/0001-tools-Mark-struct-input_field-file_field-extern.patch
@@ -0,0 +1,43 @@
+From 81ec65e72f357fb2c395e40c5195434bbaddf7f7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 May 2020 08:21:52 -0700
+Subject: [PATCH] tools: Mark struct input_field file_field extern
+
+This struct is already defined in common/parse_utils.c
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/header_generation/create_hdr_common.c | 2 +-
+ tools/pbi_creation/create_pbi_common.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/header_generation/create_hdr_common.c b/tools/header_generation/create_hdr_common.c
+index bfa90a3..edf632c 100644
+--- a/tools/header_generation/create_hdr_common.c
++++ b/tools/header_generation/create_hdr_common.c
+@@ -39,7 +39,7 @@
+ #include <crypto_utils.h>
+
+ extern struct g_data_t gd;
+-struct input_field file_field;
++extern struct input_field file_field;
+
+ extern char line_data[];
+ static struct option long_options[] = {
+diff --git a/tools/pbi_creation/create_pbi_common.c b/tools/pbi_creation/create_pbi_common.c
+index ff2ed84..bd976da 100644
+--- a/tools/pbi_creation/create_pbi_common.c
++++ b/tools/pbi_creation/create_pbi_common.c
+@@ -57,7 +57,7 @@ static char *parse_list[] = {
+
+ extern struct g_data_t gd;
+ extern char line_data[];
+-struct input_field file_field;
++extern struct input_field file_field;
+
+ #define NUM_PARSE_LIST (sizeof(parse_list) / sizeof(char *))
+
+--
+2.26.2
+
diff --git a/recipes-devtools/cst/cst_git.bb b/recipes-devtools/qoriq-cst/qoriq-cst_git.bb
index a57db6c4..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,13 +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 = "e04690ba2ca60f56eb126e01496ed0cacbd838d4"
+SRCREV = "af56e6c5c66dd2bc86a83b0bee8cb61b88d2120c"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
+CFLAGS:append = ' -Wno-deprecated-declarations'
PARALLEL_MAKE = ""
@@ -37,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 1db1acd0..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 fsl-eula-unpack
+inherit deploy
-SRC_URI = "git://github.com/NXP/qoriq-fm-ucode.git;fsl-eula=true;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 57b2c253..68f7a8de 100644
--- a/recipes-dpaa2/aiopsl/aiopsl_git.bb
+++ b/recipes-dpaa2/aiopsl/aiopsl_git.bb
@@ -7,25 +7,25 @@ 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
install -d ${D}/usr/aiop/
- cp -rf ${S}/demos/images/ ${D}/usr/aiop/bin
+ cp -rf ${S}/demos/images/* ${D}/usr/aiop/bin
cp -rf ${S}/misc/setup/scripts ${D}/usr/aiop/
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 e5fec34c..7c0ec270 100644
--- a/recipes-dpaa2/dce/dce_git.bb
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -3,11 +3,14 @@ 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 = "1b9e9ac80bce1c3a209f38f72599c44768854551"
-SRCREV_qbman = "a1af1e1528fe2e1ce0df1e6d9170b6c239c8ab4f"
+SRCREV = "9db9c08379aa89f45f514f4f3f0a8e8212198758"
+SRCREV_qbman = "2f92993a9f34e5221d6b36c63b9e30ef703e9ac3"
+
+SRCREV_FORMAT = "default_qbman"
S = "${WORKDIR}/git"
@@ -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-add-fcommon-to-fix-gcc-10-build-issue.patch b/recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-add-fcommon-to-fix-gcc-10-build-issue.patch
new file mode 100644
index 00000000..6b69e7fd
--- /dev/null
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool/0001-add-fcommon-to-fix-gcc-10-build-issue.patch
@@ -0,0 +1,36 @@
+From e506c4ea7e576e713fa64569b6784bdc22b3205f Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Fri, 9 Oct 2020 13:13:13 +0530
+Subject: [PATCH] add -fcommon to fix gcc 10 build issue
+
+Fix:
+| ...ld: src/aiop_logger.o:(.bss+0x0): multiple definition of `_debug_flag'; src/aiop_tool.o:(.bss+0x0): first defined here
+| ...ld: src/aiop_logger.o:(.bss+0x2): multiple definition of `_verbose_flag'; src/aiop_tool.o:(.bss+0x2): first defined here
+
+Reference: https://gcc.gnu.org/gcc-10/porting_to.html
+As a workaround, legacy C code where all tentative definitions should be
+placed into a common block can be compiled with -fcommon.
+
+Upstream-Status: Pending
+
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertion(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f10dda2..f568788 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,7 @@ BINDIR = bin
+
+
+ # FLAGS
+-CFLAGS = -Wall
++CFLAGS = -Wall -fcommon
+ #CFLAGS += -g -O0 # Enable for Debugging
+ CFLAGS += -I$(top_builddir)/include
+ CFLAGS += -I$(top_builddir)/src
+--
+2.17.1
+
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 a9c3180f..303aa8ff 100644
--- a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
@@ -6,8 +6,9 @@ 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 \
"
SRCREV = "6ead470dde043f3ca67f1ba19b313dd64ec199e1"
@@ -21,6 +22,7 @@ do_configure[depends] += "virtual/kernel:do_shared_workdir"
do_install () {
oe_runmake install DESTDIR=${D}
+ chown -R root:root ${D}${bindir}/aiop_tool
}
COMPATIBLE_MACHINE = "(ls2088a|ls1088a)"
diff --git a/recipes-dpaa2/management-complex/management-complex_10.16.2.bb b/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
index 435544ad..d1877159 100644
--- a/recipes-dpaa2/management-complex/management-complex_10.16.2.bb
+++ b/recipes-dpaa2/management-complex/management-complex_10.37.0.bb
@@ -1,19 +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 fsl-eula-unpack
+inherit deploy
INHIBIT_DEFAULT_DEPS = "1"
-SRC_URI = "git://github.com/nxp/qoriq-mc-binary;fsl-eula=true;nobranch=1"
-SRCREV = "f72b978873af6c7cd0fd92b793363506411c102c"
+SRC_URI = "git://github.com/nxp/qoriq-mc-binary;protocol=https;nobranch=1"
+SRCREV = "bb19f586b87b97878b4bd0d3e57da2ca40c5c69f"
S = "${WORKDIR}/git"
-REGLEX_ls2088a = "ls2088a"
-REGLEX_ls1088a = "ls1088a"
-REGLEX_lx2160a = "lx2160a"
+REGLEX:ls2088a = "ls2088a"
+REGLEX:ls1088a = "ls1088a"
+REGLEX:lx2160a = "lx216xa"
+REGLEX:lx2162a = "lx216xa"
do_install () {
install -d ${D}/boot
@@ -24,17 +25,16 @@ 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 `ls ${DEPLOYDIR}/mc_app |sort`;do
+ 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"
+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/0001-restool-fix-build-error-with-gcc7.patch b/recipes-dpaa2/restool/restool/0001-restool-fix-build-error-with-gcc7.patch
deleted file mode 100644
index 82ade02b..00000000
--- a/recipes-dpaa2/restool/restool/0001-restool-fix-build-error-with-gcc7.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 895db76654c796a0edc6b2d329addde108b1755c Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Wed, 19 Jul 2017 14:31:23 +0800
-Subject: [PATCH] restool: fix build error with gcc7
-
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 3976b66..df1e791 100644
---- a/Makefile
-+++ b/Makefile
-@@ -64,7 +64,6 @@ CFLAGS = ${EXTRA_CFLAGS} \
- -Wmissing-prototypes \
- -Wpointer-arith \
- -Winline \
-- -Werror \
- -Wundef \
- -Icommon/
-
---
-2.7.4
-
diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 521aa7ad..1d1aeffe 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -1,17 +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 \
- file://0001-restool-fix-build-error-with-gcc7.patch"
-
-SRCREV = "8b1dd407bbd48b4f1a50c71b78083112a6397619"
+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="-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}
@@ -20,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 7dc92776..755365d6 100644
--- a/recipes-extended/crconf/crconf_git.bb
+++ b/recipes-extended/crconf/crconf_git.bb
@@ -1,18 +1,15 @@
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"
-SRC_URI = "git://github.com/Thermi/crconf.git;protocol=https;nobranch=1"
+EXTRA_OEMAKE = "'CC=${CC}' 'HOSTCC=${CC}' SBINDIR='${sbindir}' MANDIR='${mandir}'"
-EXTRA_OEMAKE = "'CC=${CC}' 'HOSTCC=${CC}'"
-
-SRCREV = "7b5819e7638e471d41dd2dca71f012d5a022f014"
+SRC_URI = "git://git.code.sf.net/p/crconf/code;protocol=https;nobranch=1"
+SRCREV = "c2b9595d739a9515a86ff3b1980b5cfdfcc42d68"
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 2084c9f9..f2ab1370 100644
--- a/recipes-extended/dpdk/dpdk.inc
+++ b/recipes-extended/dpdk/dpdk.inc
@@ -1,40 +1,30 @@
DESCRIPTION = "Data Plane Development Kit"
HOMEPAGE = "http://dpdk.org"
-LICENSE = "BSD-3-Clause & LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://license/README;md5=3383def2d4c82237df281174e981a492"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dpdk;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://0004-update-WERROR_FLAGS.patch \
-"
-SRCREV = "0123ced10233e7de8a72f743e2ae7e9791124f07"
-RDEPENDS_${PN} += "python-subprocess"
+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"
@@ -87,23 +77,29 @@ do_install () {
# Install examples
install -d 0644 ${D}/${datadir}/dpdk/cmdif/include
install -d 0644 ${D}/${datadir}/dpdk/cmdif/lib
+ install -d 0644 ${D}/${datadir}/dpdk/examples
cp examples/cmdif/lib/client/fsl_cmdif_client.h examples/cmdif/lib/server/fsl_cmdif_server.h \
examples/cmdif/lib/shbp/fsl_shbp.h ${D}/${datadir}/dpdk/cmdif/include
cp examples/cmdif/lib/${RTE_TARGET}/librte_cmdif.a ${D}/${datadir}/dpdk/cmdif/lib
install -d 0644 ${D}/${datadir}/dpdk/examples/ipsec_secgw
cp -r ${S}/examples/ipsec-secgw/*.cfg ${D}/${datadir}/dpdk/examples/ipsec_secgw
cp -rf ${S}/nxp/* ${D}/${datadir}/dpdk
+ cp -r ${S}/examples/cmdif/cmdif_demo/${DPDK_RTE_TARGET}/cmdif_demo ${D}/${datadir}/dpdk/examples
+ cp -r ${S}/examples/vhost/vhost-switch ${D}/${datadir}/dpdk/examples
+ for APP in l2fwd l3fwd l2fwd-qdma l2fwd-crypto ipsec-secgw kni ip_fragmentation ip_reassembly; do
+ cp -r ${S}/examples/${APP}/${APP} ${D}/${datadir}/dpdk/examples
+ done
}
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 \
@@ -113,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 64a6876f..383b9085 100644
--- a/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
+++ b/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
@@ -1,15 +1,16 @@
-From 4ea737c1d5a185d56ee1d6da18172b389ea90760 Mon Sep 17 00:00:00 2001
+From 9c2b840a1c8ac0fbb638b5cd481909a3f832eed4 Mon Sep 17 00:00:00 2001
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 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
-index 282be7b..dfbebdc 100644
+index 595bac261..28a31f36a 100644
--- a/kernel/linux/kni/Makefile
+++ b/kernel/linux/kni/Makefile
@@ -20,7 +20,7 @@ MODULE_CFLAGS += -Wall -Werror
@@ -22,5 +23,5 @@ index 282be7b..dfbebdc 100644
MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
endif
--
-2.7.4
+2.17.1
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 c074eac6..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
@@ -1,16 +1,16 @@
-From beb13be8023beb68499c72e71a79b8f91784e484 Mon Sep 17 00:00:00 2001
+From 354c2d1570ddf83a99c4ac711c884644c6dd1cef Mon Sep 17 00:00:00 2001
From: "C.r. Guo" <nxa13725@lsv07005.swis.us-cdc01.nxp.com>
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/examples/cmdif/lib/Makefile b/examples/cmdif/lib/Makefile
-index d28badf..4e9851c 100644
+index 235c3adbf..230f17b0a 100644
--- a/examples/cmdif/lib/Makefile
+++ b/examples/cmdif/lib/Makefile
@@ -28,7 +28,7 @@ SRCS-y += server/cmdif_srv_gpp.c
@@ -23,5 +23,5 @@ index d28badf..4e9851c 100644
CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib/client
CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib/server
--
-2.7.4
+2.17.1
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/0004-update-WERROR_FLAGS.patch b/recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch
deleted file mode 100644
index 9249b2b5..00000000
--- a/recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 3828a36fa537a187127a1c9b82ce2f5959b88367 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Thu, 4 Jul 2019 08:03:56 +0200
-Subject: [PATCH] update WERROR_FLAGS
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- kernel/linux/kni/Makefile | 2 +-
- mk/toolchain/gcc/rte.vars.mk | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
-index dfbebdc..8b5c13e 100644
---- a/kernel/linux/kni/Makefile
-+++ b/kernel/linux/kni/Makefile
-@@ -14,7 +14,7 @@ MODULE = rte_kni
- MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=50
- MODULE_CFLAGS += -I$(RTE_OUTPUT)/include -I$(SRCDIR)/ethtool/ixgbe -I$(SRCDIR)/ethtool/igb
- MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
--MODULE_CFLAGS += -Wall -Werror
-+MODULE_CFLAGS += -Wall -Werror -Wno-missing-attributes
-
- -include /etc/lsb-release
-
-diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
-index aa94344..81efa1c 100644
---- a/mk/toolchain/gcc/rte.vars.mk
-+++ b/mk/toolchain/gcc/rte.vars.mk
-@@ -49,6 +49,7 @@ WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
- WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
- WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
- WERROR_FLAGS += -Wno-error=pedantic
-+WERROR_FLAGS += -Wno-address-of-packed-member
-
- ifeq ($(RTE_DEVEL_BUILD),y)
- WERROR_FLAGS += -Werror
---
-2.7.4
-
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
new file mode 100644
index 00000000..b1bdf09b
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk/0005-use-python3-instead-of-python.patch
@@ -0,0 +1,105 @@
+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
++++ b/app/test-bbdev/test-bbdev.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2017 Intel Corporation
+diff --git a/app/test-cmdline/cmdline_test.py b/app/test-cmdline/cmdline_test.py
+index 3a8fac426..231fe6032 100755
+--- a/app/test-cmdline/cmdline_test.py
++++ b/app/test-cmdline/cmdline_test.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2010-2014 Intel Corporation
+
+diff --git a/app/test/autotest.py b/app/test/autotest.py
+index b42f48879..30541d102 100644
+--- a/app/test/autotest.py
++++ b/app/test/autotest.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2010-2014 Intel Corporation
+
+diff --git a/buildtools/map_to_def.py b/buildtools/map_to_def.py
+index 6775b54a9..ff67f0a35 100644
+--- a/buildtools/map_to_def.py
++++ b/buildtools/map_to_def.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2019 Intel Corporation
+
+diff --git a/config/arm/armv8_machine.py b/config/arm/armv8_machine.py
+index 404866d2f..1f689d9a8 100755
+--- a/config/arm/armv8_machine.py
++++ b/config/arm/armv8_machine.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2017 Cavium, Inc
+
+diff --git a/devtools/update_version_map_abi.py b/devtools/update_version_map_abi.py
+index 616412a1c..3244b0984 100755
+--- a/devtools/update_version_map_abi.py
++++ b/devtools/update_version_map_abi.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2019 Intel Corporation
+
+diff --git a/usertools/cpu_layout.py b/usertools/cpu_layout.py
+index 6f129b1db..e86bf6b92 100755
+--- a/usertools/cpu_layout.py
++++ b/usertools/cpu_layout.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2010-2014 Intel Corporation
+ # Copyright(c) 2017 Cavium, Inc. All rights reserved.
+diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
+index b1d149876..3f8175338 100755
+--- a/usertools/dpdk-devbind.py
++++ b/usertools/dpdk-devbind.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2010-2014 Intel Corporation
+ #
+diff --git a/usertools/dpdk-pmdinfo.py b/usertools/dpdk-pmdinfo.py
+index 069a3bf12..1d5c99c2a 100755
+--- a/usertools/dpdk-pmdinfo.py
++++ b/usertools/dpdk-pmdinfo.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
+
+diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
+index 290345dcc..279067450 100755
+--- a/usertools/dpdk-telemetry-client.py
++++ b/usertools/dpdk-telemetry-client.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright(c) 2018 Intel Corporation
+
diff --git a/recipes-extended/dpdk/dpdk_18.11.bb b/recipes-extended/dpdk/dpdk_18.11.bb
deleted file mode 100644
index 1a6b927e..00000000
--- a/recipes-extended/dpdk/dpdk_18.11.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-include dpdk.inc
-
-
-do_install_append () {
- # Remove the unneeded dir
- rm -rf ${D}/${datadir}/${RTE_TARGET}/app
-}
-
diff --git a/recipes-extended/dpdk/dpdk_19.11-20.12.bb b/recipes-extended/dpdk/dpdk_19.11-20.12.bb
new file mode 100644
index 00000000..b14d4fbf
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk_19.11-20.12.bb
@@ -0,0 +1,21 @@
+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 \
+ 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 () {
+ # 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/hyperrelay/hyperrelay_git.bb b/recipes-extended/hyperrelay/hyperrelay_git.bb
deleted file mode 100644
index 29056c55..00000000
--- a/recipes-extended/hyperrelay/hyperrelay_git.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "Userspace proxy agent for Code Warrrior HyperTrk"
-LICENSE = "Freescale-EULA"
-LIC_FILES_CHKSUM = "file://EULA;md5=c9ae442cf1f9dd6c13dfad64b0ffe73f"
-
-inherit fsl-eula-unpack
-
-SRC_URI = "git://git.freescale.com/ppc/sdk/hyperrelay.git;fsl-eula=true;branch=sdk-v2.0.x"
-SRCREV = "925af97359c2b86399561f1f97f2cb6ca0ccd344"
-
-S = "${WORKDIR}/git"
-
-CFLAGS += "\
- -Wall \
- -Wundef \
- -Wstrict-prototypes \
- -Wno-trigraphs \
- -fno-strict-aliasing \
- -fno-common \
- -O2 \
- -g \
- -fmessage-length=0 \
- -MMD \
- -MP \
- -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" \
-"
-
-LDFLAGS_prepend = " -lpthread "
-
-do_install() {
- install -d ${D}${bindir}
- oe_runmake install DESTDIR=${D}
-}
-
-COMPATIBLE_MACHINE = "(qoriq-ppc)"
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-INSANE_SKIP_${PN} = "ldflags"
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-imx_git.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb
new file mode 100644
index 00000000..5b3391bd
--- /dev/null
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -0,0 +1,112 @@
+SUMMARY = "Jailhouse, i.MX fork"
+HOMEPAGE = "https://github.com/siemens/jailhouse"
+SECTION = "jailhouse"
+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 \
+ file://include/jailhouse/hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
+ file://include/jailhouse/cell-config.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
+ file://include/arch/arm/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
+ file://include/arch/arm64/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
+ file://include/arch/x86/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
+ file://driver/jailhouse.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
+"
+
+PROVIDES = "jailhouse"
+RPROVIDES:${PN} += "jailhouse"
+
+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 \
+ python3-mako-native \
+ python3-mako \
+ dtc-native \
+"
+
+inherit module bash-completion deploy setuptools3
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+JH_ARCH = "arm64"
+JH_DATADIR ?= "${datadir}/jailhouse"
+CELL_DIR ?= "${JH_DATADIR}/cells"
+CELLCONF_DIR ?= "${JH_DATADIR}/configs"
+INMATES_DIR ?= "${JH_DATADIR}/inmates"
+
+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:prepend() {
+ if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
+ then
+ cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/${ARCH}/
+ fi
+}
+
+do_compile:prepend() {
+ # explicity call make to build the kernel module and tools
+ oe_runmake
+}
+
+do_install:append() {
+ oe_runmake DESTDIR=${D} install
+
+ install -d ${D}${CELL_DIR}
+ install ${B}/configs/${JH_ARCH}/*.cell ${D}${CELL_DIR}/
+
+ install -d ${D}${INMATES_DIR}/tools/${JH_ARCH}
+ install ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
+
+ install -d ${D}${JH_DATADIR}/tools
+ install ${B}/tools/jailhouse-cell-linux ${D}${JH_DATADIR}/tools
+ install ${B}/tools/jailhouse-cell-stats ${D}${JH_DATADIR}/tools
+ install ${B}/tools/jailhouse-config-collect ${D}${JH_DATADIR}/tools
+ install ${B}/tools/jailhouse-config-create ${D}${JH_DATADIR}/tools
+ install ${B}/tools/jailhouse-gcov-extract ${D}${JH_DATADIR}/tools
+ install ${B}/tools/jailhouse-hardware-check ${D}${JH_DATADIR}/tools
+ install ${B}/inmates/tools/${JH_ARCH}/linux-loader.bin ${D}${INMATES_DIR}/tools/${JH_ARCH}
+}
+
+PACKAGE_BEFORE_PN = "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} += " \
+ pyjailhouse \
+ python3-curses \
+ python3-datetime \
+ python3-mmap \
+"
+
+RDEPENDS:pyjailhouse = " \
+ python3-core \
+ python3-ctypes \
+ python3-fcntl \
+ python3-shell \
+"
+
+INSANE_SKIP:${PN} = "ldflags"
+
+COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx93-nxp-bsp)"
diff --git a/recipes-extended/libpkcs11/libpkcs11/0001-fix-multiple-definition-error.patch b/recipes-extended/libpkcs11/libpkcs11/0001-fix-multiple-definition-error.patch
new file mode 100644
index 00000000..a1680a8b
--- /dev/null
+++ b/recipes-extended/libpkcs11/libpkcs11/0001-fix-multiple-definition-error.patch
@@ -0,0 +1,90 @@
+From e8e566a4b4d589cbdf2613c78cac75ecbea86d3b Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Wed, 30 Sep 2020 10:24:14 +0530
+Subject: [PATCH] fix multiple definition error
+
+gcc10 default to -fno-common, which results in error:
+| ../aarch64-fsl-linux/10.2.0/ld: /tmp/ccaL5AXA.o:.../libpkcs11/git-r0/git/app/pkcs11_app.c:23: multiple definition of `funcs'; /tmp/ccvGV0xB.o:.../app/utils.c:18: first defined here
+| collect2: error: ld returned 1 exit status
+| Makefile:66: recipe for target 'app' failed
+| make: *** [app] Error 1
+
+Upstream-Status: Pending
+
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+---
+ app/gen_test.c | 2 +-
+ app/pkcs11_app.c | 2 +-
+ app/sign_digest_update_final.c | 2 +-
+ app/thread_test.c | 2 +-
+ app/utils.c | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/app/gen_test.c b/app/gen_test.c
+index fbd3429..2476e18 100644
+--- a/app/gen_test.c
++++ b/app/gen_test.c
+@@ -17,7 +17,7 @@
+ #include <openssl/pem.h>
+ #include <openssl/md5.h>
+
+-CK_FUNCTION_LIST *funcs;
++static CK_FUNCTION_LIST *funcs;
+
+ #define err2str(X) case X: return #X
+
+diff --git a/app/pkcs11_app.c b/app/pkcs11_app.c
+index 2b4a70d..3883dab 100644
+--- a/app/pkcs11_app.c
++++ b/app/pkcs11_app.c
+@@ -20,7 +20,7 @@
+ #include <openssl/pem.h>
+ #include "utils.h"
+
+-CK_FUNCTION_LIST *funcs;
++static CK_FUNCTION_LIST *funcs;
+
+ struct getOptValue_t {
+ uint32_t main_option;
+diff --git a/app/sign_digest_update_final.c b/app/sign_digest_update_final.c
+index b3367ed..49fee20 100644
+--- a/app/sign_digest_update_final.c
++++ b/app/sign_digest_update_final.c
+@@ -20,7 +20,7 @@
+ #include <openssl/pem.h>
+ #include "utils.h"
+
+-CK_FUNCTION_LIST *funcs;
++static CK_FUNCTION_LIST *funcs;
+
+ struct getOptValue_t {
+ uint32_t main_option;
+diff --git a/app/thread_test.c b/app/thread_test.c
+index 19d03ee..a574074 100644
+--- a/app/thread_test.c
++++ b/app/thread_test.c
+@@ -20,7 +20,7 @@
+ #include <sched.h>
+ #include <pthread.h>
+
+-CK_FUNCTION_LIST *funcs;
++static CK_FUNCTION_LIST *funcs;
+
+ #define err2str(X) case X: return #X
+ #define MAX_THREADS 10
+diff --git a/app/utils.c b/app/utils.c
+index 7afad95..9f9e143 100644
+--- a/app/utils.c
++++ b/app/utils.c
+@@ -15,7 +15,7 @@
+ #include <tee_slot.h>
+ #include "utils.h"
+
+-CK_FUNCTION_LIST *funcs;
++static CK_FUNCTION_LIST *funcs;
+
+ #define err2str(X) case X: return #X
+
+--
+2.17.1
+
diff --git a/recipes-extended/libpkcs11/libpkcs11_git.bb b/recipes-extended/libpkcs11/libpkcs11_git.bb
index 384b24f2..731b7a23 100644
--- a/recipes-extended/libpkcs11/libpkcs11_git.bb
+++ b/recipes-extended/libpkcs11/libpkcs11_git.bb
@@ -1,9 +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"
-SRCREV = "a243fb21772f1bd434d8bc1ac45feb36571afadb"
+SRC_URI = "git://github.com/nxp-qoriq/libpkcs11;protocol=https;nobranch=1 \
+ file://0001-fix-multiple-definition-error.patch \
+"
+SRCREV = "8d85182b7a7cd393ab6dd72930f8d1b69468f741"
DEPENDS = "openssl secure-obj"
@@ -28,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}
- cp ${S}/out/export/app/pkcs11_app ${D}/${bindir}
+ 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.11.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_2.11.bb
deleted file mode 100644
index fd9d3a61..00000000
--- a/recipes-extended/ovs-dpdk/ovs-dpdk_2.11.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-DESCRIPTION = "OVS DPDK"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1ce5d23a6429dff345518758f13aaeab"
-
-DEPENDS = "dpdk python-six-native coreutils-native"
-RDEPENDS_${PN} = "bash libcrypto libssl python"
-
-inherit pythonnative
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ovs-dpdk;nobranch=1 \
-"
-SRCREV = "abc80ef87a8786050f27afb2a797cadd14e2a6bd"
-
-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_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/pktgen-dpdk/pktgen-dpdk_3.6.6.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_3.6.6.bb
deleted file mode 100644
index 29ed267e..00000000
--- a/recipes-extended/pktgen-dpdk/pktgen-dpdk_3.6.6.bb
+++ /dev/null
@@ -1,34 +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 = "b3d08bb3c29c999b261c7d74443da03079a012e9"
-
-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() {
- unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
- oe_runmake EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
-}
-
-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/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 166c874a..64e4a6b7 100644
--- a/recipes-extended/secure-obj/secure-obj.inc
+++ b/recipes-extended/secure-obj/secure-obj.inc
@@ -2,17 +2,16 @@ DESCRIPTION = "Secure Object"
LICENSE = "BSD"
DEPENDS = "openssl optee-os-qoriq optee-client-qoriq"
-RDEPENDS_${PN} = "bash libcrypto libssl"
+RDEPENDS:${PN} = "bash libcrypto libssl"
-DEPENDS += "python-pycrypto-native"
+DEPENDS += "python3-pycryptodomex-native"
-inherit pythonnative
+inherit python3native
LDFLAGS += "${TOOLCHAIN_OPTIONS}"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/secure_obj;nobranch=1 \
-"
-SRCREV = "cd3c353df1c3f19577cf3fa08f8a21abd63fb3c1"
+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 94649477..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://git.freescale.com/ppc/sdk/skmm-ep.git;branch=sdk-v2.0.x \
+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
new file mode 100644
index 00000000..2ad4a0c4
--- /dev/null
+++ b/recipes-extended/tsntool/tsntool_git.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Configure TSN funtionalitie"
+DESCRIPTION = "A tool to configure TSN funtionalities in user space"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ef58f855337069acd375717db0dbbb6d"
+
+DEPENDS = "cjson libnl readline"
+
+inherit pkgconfig
+
+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() {
+ mkdir -p ${S}/include/linux
+ cp -r ${STAGING_KERNEL_DIR}/include/uapi/linux/tsn.h ${S}/include/linux
+}
+do_install() {
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 0755 ${S}/tsntool ${D}${bindir}
+ install -m 0755 ${S}/libtsn.so ${D}${libdir}
+}
+
+PACKAGES = "${PN}-dbg ${PN}"
+FILES:${PN} = "${libdir}/libtsn.so ${bindir}/*"
+INSANE_SKIP:${PN} += "file-rdeps rpaths dev-so"
+COMPATIBLE_MACHINE = "(qoriq)"
+PARALLEL_MAKE = ""
diff --git a/recipes-extended/vpp-core/dpdkvpp.bb b/recipes-extended/vpp-core/dpdkvpp.bb
deleted file mode 100644
index 5e355fdc..00000000
--- a/recipes-extended/vpp-core/dpdkvpp.bb
+++ /dev/null
@@ -1,127 +0,0 @@
-DESCRIPTION = "Data Plane Development Kit"
-HOMEPAGE = "http://dpdk.org"
-LICENSE = "BSD-3-Clause & LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://license/README;md5=3383def2d4c82237df281174e981a492"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dpdk;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://0004-update-WERROR_FLAGS.patch \
-"
-SRCREV = "0123ced10233e7de8a72f743e2ae7e9791124f07"
-
-RDEPENDS_${PN} += "python-subprocess"
-DEPENDS = "virtual/kernel openssl"
-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_MACHINE = "(imx|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 ?= "${ARCH}-dpaa-linuxapp-gcc"
-
-TLSDIALECT ?= ""
-TLSDIALECT_aarch64 ?= "-mtls-dialect=trad"
-
-export RTE_TARGET = "${DPDK_RTE_TARGET}"
-export RTE_OUTPUT = "${S}/${RTE_TARGET}"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE += 'ETHTOOL_LIB_PATH="${S}/examples/ethtool/lib/${RTE_TARGET}" RTE_SDK="${S}" \
- OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
- RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" EXAMPLES_BUILD_DIR="${RTE_TARGET}" \
-'
-do_configure () {
- #############################################################
- ### default value for prefix is "usr", unsetting it, so it
- ### will not be concatenated in ${RTE_TARGET}/Makefile
- ### which will cause compilation failure
- #############################################################
- unset prefix
- oe_runmake O=$RTE_TARGET T=$RTE_TARGET config
-}
-
-do_compile () {
- unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
-
- cd ${S}/${RTE_TARGET}
- oe_runmake CONFIG_RTE_EAL_IGB_UIO=n CONFIG_RTE_KNI_KMOD=y \
- CONFIG_RTE_LIBRTE_PMD_OPENSSL=y \
- EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \
- EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR} -fPIC ${TLSDIALECT}" \
- CROSS="${TARGET_PREFIX}" \
- prefix="" LDFLAGS="${TUNE_LDARGS}" WERROR_FLAGS="-w" V=1
-
- cd ${S}/examples/
- for APP in l2fwd l3fwd cmdif l2fwd-qdma l2fwd-crypto ipsec-secgw vhost kni ip_fragmentation ip_reassembly; do
- temp=`basename ${APP}`
- if [ ${temp} = "ipsec-secgw" ] || [ ${temp} = "l2fwd-crypto" ]; then
- oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu -fuse-ld=bfd" \
- EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR}" \
- CROSS="${TARGET_PREFIX}" -C ${APP} CONFIG_RTE_LIBRTE_PMD_OPENSSL=y O="${S}/examples/${temp}"
- else
- oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu -fuse-ld=bfd" \
- EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR}" \
- CROSS="${TARGET_PREFIX}" -C ${APP} CONFIG_RTE_LIBRTE_PMD_OPENSSL=y O="${S}/examples/${temp}/"
- fi
- done
-
-}
-
-do_install () {
- oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D}
- oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D}
-
- # Install examples
- install -d 0644 ${D}/${datadir}/dpdk/cmdif/include
- install -d 0644 ${D}/${datadir}/dpdk/cmdif/lib
- cp examples/cmdif/lib/client/fsl_cmdif_client.h examples/cmdif/lib/server/fsl_cmdif_server.h \
- examples/cmdif/lib/shbp/fsl_shbp.h ${D}/${datadir}/dpdk/cmdif/include
- cp examples/cmdif/lib/${RTE_TARGET}/librte_cmdif.a ${D}/${datadir}/dpdk/cmdif/lib
- install -d 0644 ${D}/${datadir}/dpdk/examples/ipsec_secgw
- cp -r ${S}/examples/ipsec-secgw/*.cfg ${D}/${datadir}/dpdk/examples/ipsec_secgw
- cp -rf ${S}/nxp/* ${D}/${datadir}/dpdk
-
- # Remove the unneeded dir
- rm -rf ${D}/${datadir}/${RTE_TARGET}/app
-}
-
-PACKAGES += "${PN}-examples"
-
-FILES_${PN}-dbg += " \
- ${datadir}/dpdk/.debug \
- ${datadir}/dpdk/examples/*/.debug \
- "
-FILES_${PN}-staticdev += "${datadir}/dpdk/cmdif/lib/*.a \
-"
-FILES_${PN}-dev += " \
- ${datadir}/dpdk/${RTE_TARGET}/.config \
- ${includedir} \
- ${includedir}/exec-env \
- ${datadir}/dpdk/buildtools/ \
- ${datadir}/dpdk/${RTE_TARGET}/include \
- ${datadir}/dpdk/${RTE_TARGET}/lib \
- ${datadir}/dpdk/mk \
- "
-
-FILES_${PN} += " ${datadir}/ \
- ${prefix}/sbin/ \
- ${prefix}/bin/ \
- ${libdir}/ \
- "
-FILES_${PN}-examples += " \
- ${datadir}/examples/* \
- "
diff --git a/recipes-extended/vpp-core/dpdkvpp/0001-Add-RTE_KERNELDIR_OUT.patch b/recipes-extended/vpp-core/dpdkvpp/0001-Add-RTE_KERNELDIR_OUT.patch
deleted file mode 100644
index 64a6876f..00000000
--- a/recipes-extended/vpp-core/dpdkvpp/0001-Add-RTE_KERNELDIR_OUT.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4ea737c1d5a185d56ee1d6da18172b389ea90760 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Wed, 3 Jul 2019 08:50:45 +0200
-Subject: [PATCH] Add RTE_KERNELDIR_OUT
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- kernel/linux/kni/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
-index 282be7b..dfbebdc 100644
---- a/kernel/linux/kni/Makefile
-+++ b/kernel/linux/kni/Makefile
-@@ -20,7 +20,7 @@ MODULE_CFLAGS += -Wall -Werror
-
- ifeq ($(DISTRIB_ID),Ubuntu)
- MODULE_CFLAGS += -DUBUNTU_RELEASE_CODE=$(subst .,,$(DISTRIB_RELEASE))
--UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/generated/utsrelease.h \
-+UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR_OUT)/include/generated/utsrelease.h \
- | cut -d '"' -f2 | cut -d- -f1,2 | tr .- ,`,1)
- MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
- endif
---
-2.7.4
-
diff --git a/recipes-extended/vpp-core/dpdkvpp/0001-add-Wno-cast-function-type.patch b/recipes-extended/vpp-core/dpdkvpp/0001-add-Wno-cast-function-type.patch
deleted file mode 100644
index c074eac6..00000000
--- a/recipes-extended/vpp-core/dpdkvpp/0001-add-Wno-cast-function-type.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From beb13be8023beb68499c72e71a79b8f91784e484 Mon Sep 17 00:00:00 2001
-From: "C.r. Guo" <nxa13725@lsv07005.swis.us-cdc01.nxp.com>
-Date: Wed, 27 Mar 2019 09:35:43 +0100
-Subject: [PATCH] add -Wno-cast-function-type
-
-Upstream-Status: Inappropriate [configuration]
-
----
- examples/cmdif/lib/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/cmdif/lib/Makefile b/examples/cmdif/lib/Makefile
-index d28badf..4e9851c 100644
---- a/examples/cmdif/lib/Makefile
-+++ b/examples/cmdif/lib/Makefile
-@@ -28,7 +28,7 @@ SRCS-y += server/cmdif_srv_gpp.c
- SRCS-y += shbp/shbp.c
-
- CFLAGS += -O3
--CFLAGS += $(WERROR_FLAGS)
-+CFLAGS += $(WERROR_FLAGS) -Wno-cast-function-type -Wno-missing-attributes
- CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib
- CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib/client
- CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib/server
---
-2.7.4
-
diff --git a/recipes-extended/vpp-core/dpdkvpp/0004-update-WERROR_FLAGS.patch b/recipes-extended/vpp-core/dpdkvpp/0004-update-WERROR_FLAGS.patch
deleted file mode 100644
index 9249b2b5..00000000
--- a/recipes-extended/vpp-core/dpdkvpp/0004-update-WERROR_FLAGS.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 3828a36fa537a187127a1c9b82ce2f5959b88367 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Thu, 4 Jul 2019 08:03:56 +0200
-Subject: [PATCH] update WERROR_FLAGS
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- kernel/linux/kni/Makefile | 2 +-
- mk/toolchain/gcc/rte.vars.mk | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
-index dfbebdc..8b5c13e 100644
---- a/kernel/linux/kni/Makefile
-+++ b/kernel/linux/kni/Makefile
-@@ -14,7 +14,7 @@ MODULE = rte_kni
- MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=50
- MODULE_CFLAGS += -I$(RTE_OUTPUT)/include -I$(SRCDIR)/ethtool/ixgbe -I$(SRCDIR)/ethtool/igb
- MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
--MODULE_CFLAGS += -Wall -Werror
-+MODULE_CFLAGS += -Wall -Werror -Wno-missing-attributes
-
- -include /etc/lsb-release
-
-diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
-index aa94344..81efa1c 100644
---- a/mk/toolchain/gcc/rte.vars.mk
-+++ b/mk/toolchain/gcc/rte.vars.mk
-@@ -49,6 +49,7 @@ WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
- WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
- WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
- WERROR_FLAGS += -Wno-error=pedantic
-+WERROR_FLAGS += -Wno-address-of-packed-member
-
- ifeq ($(RTE_DEVEL_BUILD),y)
- WERROR_FLAGS += -Werror
---
-2.7.4
-
diff --git a/recipes-extended/vpp-core/dpdkvpp/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch b/recipes-extended/vpp-core/dpdkvpp/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
deleted file mode 100644
index 4657f070..00000000
--- a/recipes-extended/vpp-core/dpdkvpp/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 6c8d348190a8cf6c35111913cbf117ca98137e84 Mon Sep 17 00:00:00 2001
-From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
-Date: Fri, 18 Dec 2015 18:30:47 +0800
-Subject: [PATCH] dpdk v2.2.0: add RTE_KERNELDIR_OUT to split kernel build
- artifact
-
-Introduce RTE_KERNELDIR_OUT to be the path to which kernel build
-artifacts are located. This is for matching the workflow change
-since Yocto Project v1.8 onwards whereby tmp/work-shared contains
-separate directories for kernel source and kernel artifacts.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
----
- mk/rte.module.mk | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mk/rte.module.mk b/mk/rte.module.mk
-index 53ed4fe..b7a014b 100644
---- a/mk/rte.module.mk
-+++ b/mk/rte.module.mk
-@@ -77,7 +77,7 @@ build: _postbuild
- # build module
- $(MODULE).ko: $(SRCS_LINKS)
- @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-+ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
- CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
-
- # install module in $(RTE_OUTPUT)/kmod
-@@ -88,7 +88,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-
- # install module
- modules_install:
-- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-+ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
- modules_install
-
- .PHONY: clean
-@@ -98,7 +98,7 @@ clean: _postclean
- .PHONY: doclean
- doclean:
- @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-- $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-+ $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean
- @$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
- if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
- @if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
---
-1.9.1
diff --git a/recipes-extended/vpp-core/vpp-core.bb b/recipes-extended/vpp-core/vpp-core.bb
deleted file mode 100644
index 3155543d..00000000
--- a/recipes-extended/vpp-core/vpp-core.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "Vector Packet Processing"
-
-S = "${WORKDIR}/git/"
-PV = "19.01"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e"
-
-OECMAKE_SOURCEPATH = "${S}/src"
-
-SRCREV = "ff7bf7bdc0fd5a7029abdf9083178d066a42a9fb"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/vpp;nobranch=1 \
- file://0001-GCC-above-5.4-fails-when-we-specify-arch-funattribut.patch \
- file://0001-getcpu-rename-getcpu-to-avoid-conflict-with-glibc-2..patch \
- file://0001-vpp-core-fix-package_qa-error.patch \
-"
-DEPENDS = "dpdkvpp openssl python-ply util-linux vpp-core-native"
-
-DEPENDS_class-native = "openssl-native python-ply-native util-linux-native"
-
-inherit cmake
-inherit pkgconfig
-inherit python-dir pythonnative
-
-export ARCH="arm64"
-export OPENSSL_PATH = "${RECIPE_SYSROOT}"
-export DPDK_PATH= "${RECIPE_SYSROOT}"
-
-EXTRA_OECONF = " \
- --with-libtool-sysroot=${SYSROOT} \
- --srcdir=${S}/src \
- --with-pre-data=128 \
- --without-libnuma \
- --without-ipv6sr \
-"
-
-CFLAGS += " -mtls-dialect=trad -DCLIB_LOG2_CACHE_LINE_BYTES=6 -I${OPENSSL_PATH}/usr/include -L${OPENSSL_PATH}/lib"
-
-include vpp-pkgs.inc
-
-BBCLASSEXTEND = "native nativesdk"
-
-COMPATIBLE_MACHINE_class-target = "(qoriq)"
diff --git a/recipes-extended/vpp-core/vpp-core/0001-GCC-above-5.4-fails-when-we-specify-arch-funattribut.patch b/recipes-extended/vpp-core/vpp-core/0001-GCC-above-5.4-fails-when-we-specify-arch-funattribut.patch
deleted file mode 100644
index 7f838476..00000000
--- a/recipes-extended/vpp-core/vpp-core/0001-GCC-above-5.4-fails-when-we-specify-arch-funattribut.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6dab3ad3f91ebcdb16eb9bbb37383718793b675a Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Sat, 29 Sep 2018 09:57:05 -0700
-Subject: [PATCH] GCC above 5.4 fails when we specify arch funattribute.
-
-Here we are as a workaround setting target.
----
- src/vppinfra/cpu.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/vppinfra/cpu.h b/src/vppinfra/cpu.h
-index 110815c..618276c 100644
---- a/src/vppinfra/cpu.h
-+++ b/src/vppinfra/cpu.h
-@@ -27,7 +27,7 @@
-
- #if __x86_64__ && CLIB_DEBUG == 0
- #define foreach_march_variant(macro, x) \
-- macro(avx2, x, "arch=core-avx2")
-+ macro(avx2, x, "avx2")
- #else
- #define foreach_march_variant(macro, x)
- #endif
---
-2.7.4
-
diff --git a/recipes-extended/vpp-core/vpp-core/0001-getcpu-rename-getcpu-to-avoid-conflict-with-glibc-2..patch b/recipes-extended/vpp-core/vpp-core/0001-getcpu-rename-getcpu-to-avoid-conflict-with-glibc-2..patch
deleted file mode 100644
index 7f80b75f..00000000
--- a/recipes-extended/vpp-core/vpp-core/0001-getcpu-rename-getcpu-to-avoid-conflict-with-glibc-2..patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 205ebcd8eed1347330e7ebda616970d880bb03d7 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Tue, 9 Jul 2019 10:36:27 +0200
-Subject: [PATCH] getcpu:rename getcpu to avoid conflict with glibc >= 2.29
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- src/vppinfra/linux/syscall.h | 2 +-
- src/vppinfra/pmalloc.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/vppinfra/linux/syscall.h b/src/vppinfra/linux/syscall.h
-index 1ae029d..fa65a47 100644
---- a/src/vppinfra/linux/syscall.h
-+++ b/src/vppinfra/linux/syscall.h
-@@ -20,7 +20,7 @@
- #include <sys/syscall.h>
-
- static inline int
--getcpu (unsigned *cpu, unsigned *node, void *tcache)
-+getcpu0 (unsigned *cpu, unsigned *node, void *tcache)
- {
- return syscall (__NR_getcpu, cpu, node, tcache);
- }
-diff --git a/src/vppinfra/pmalloc.c b/src/vppinfra/pmalloc.c
-index 365ee04..7dbca86 100644
---- a/src/vppinfra/pmalloc.c
-+++ b/src/vppinfra/pmalloc.c
-@@ -53,7 +53,7 @@ pmalloc_validate_numa_node (u32 * numa_node)
- if (*numa_node == CLIB_PMALLOC_NUMA_LOCAL)
- {
- u32 cpu;
-- if (getcpu (&cpu, numa_node, 0) != 0)
-+ if (getcpu0 (&cpu, numa_node, 0) != 0)
- return 1;
- }
- return 0;
---
-2.7.4
-
diff --git a/recipes-extended/vpp-core/vpp-core/0001-vpp-core-fix-package_qa-error.patch b/recipes-extended/vpp-core/vpp-core/0001-vpp-core-fix-package_qa-error.patch
deleted file mode 100644
index a312b49d..00000000
--- a/recipes-extended/vpp-core/vpp-core/0001-vpp-core-fix-package_qa-error.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ba3c9e624cf7ca370d6500c04428116939076bf1 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Wed, 10 Jul 2019 09:44:34 +0200
-Subject: [PATCH] vpp-core:fix package_qa error
-
-Upstream-Status: Inappropriate[oe-specific]
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- src/CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 0326dbd..116bec3 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -51,7 +51,6 @@ endif()
- ##############################################################################
- # install config
- ##############################################################################
--set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
- set(CMAKE_INSTALL_MESSAGE NEVER)
-
- include_directories (
---
-2.7.4
-
diff --git a/recipes-extended/vpp-core/vpp-pkgs.inc b/recipes-extended/vpp-core/vpp-pkgs.inc
deleted file mode 100644
index 77257859..00000000
--- a/recipes-extended/vpp-core/vpp-pkgs.inc
+++ /dev/null
@@ -1,264 +0,0 @@
-
-PACKAGES += "vpp-core-data vpp-core-plugin-igmp vpp-core-plugin-gtpu vpp-core-plugin-gbp \
- vpp-core-plugin-lb vpp-core-plugin-avf vpp-core-plugin-cdp vpp-core-plugin-map vpp-core-plugin-srv6as \
- vpp-core-plugin-l2e vpp-core-plugin-acl vpp-core-plugin-flowprobe vpp-core-plugin-abf \
- vpp-core-plugin-pppoe vpp-core-plugin-lacp vpp-core-plugin-ioam vpp-core-plugin-memif \
- vpp-core-plugin-stn vpp-core-plugin-srv6ad vpp-core-plugin-mactime vpp-core-plugin-unittest \
- vpp-core-plugin-nat vpp-core-plugin-srv6am vpp-core-plugin-lb_test \
- vpp-core-plugin-ioam_vxlan_gpe_test vpp-core-plugin-map_test vpp-core-plugin-avf_test \
- vpp-core-plugin-mactime_test vpp-core-plugin-udp_ping_test vpp-core-plugin-ioam_trace_test \
- vpp-core-plugin-lacp_test vpp-core-plugin-stn_test vpp-core-plugin-memif_test \
- vpp-core-plugin-nat_test vpp-core-plugin-acl_test vpp-core-plugin-ioam_export_test \
- vpp-core-plugin-flowprobe_test vpp-core-plugin-ioam_pot_test \
- vpp-core-plugin-vxlan_gpe_ioam_export_test vpp-core-plugin-pppoe_test vpp-core-plugin-gtpu_test \
- vpp-core-plugin-cdp_test vpp-core-plugin-dpdk vpp-core-plugin-dpdk_test vpp-core-plugin-vmxnet3_test \
- vpp-core-plugin-vmxnet3 vpp-core-plugin-svs vpp-core-test vpp-core-plugin-nsh_test \
- vpp-core-plugin-ioam_test vpp-core-plugin-nsim_test vpp-core-plugin-nsim vpp-core-plugin-perfmon \
- vpp-core-plugin-nsh \
- vpp-core-plugin-tlsopenssl vpp-core-plugin-ixge vpp-core-plugin-ila vpp-core-plugin-data \
- "
-
-#vpp-core-python
-#FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info/requires.txt \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info/PKG-INFO \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info/top_level.txt \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info/dependency_links.txt \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info/zip-safe \
-# ${PYTHON_SITEPACKAGES_DIR}/vpp_papi-1.6.1-py2.7.egg-info/SOURCES.txt \
-# "
-
-FILES_${PN}-test = " ${bindir}/vpp_json_test "
-FILES_${PN}-plugin-igmp = " ${libdir}/vpp_plugins/igmp_plugin.so "
-FILES_${PN}-plugin-gtpu = " ${libdir}/vpp_plugins/gtpu_plugin.so "
-FILES_${PN}-plugin-gbp = " ${libdir}/vpp_plugins/gbp_plugin.so "
-FILES_${PN}-plugin-lb = " ${libdir}/vpp_plugins/lb_plugin.so "
-FILES_${PN}-plugin-avf = " ${libdir}/vpp_plugins/avf_plugin.so "
-FILES_${PN}-plugin-cdp = " ${libdir}/vpp_plugins/cdp_plugin.so "
-FILES_${PN}-plugin-map = " ${libdir}/vpp_plugins/map_plugin.so "
-FILES_${PN}-plugin-srv6as = " ${libdir}/vpp_plugins/srv6as_plugin.so "
-FILES_${PN}-plugin-tlsopenssl = " ${libdir}/vpp_plugins/tlsopenssl_plugin.so "
-FILES_${PN}-plugin-ixge = " ${libdir}/vpp_plugins/ixge_plugin.so "
-FILES_${PN}-plugin-l2e = " ${libdir}/vpp_plugins/l2e_plugin.so "
-FILES_${PN}-plugin-acl = " ${libdir}/vpp_plugins/acl_plugin.so "
-FILES_${PN}-plugin-flowprobe = " ${libdir}/vpp_plugins/flowprobe_plugin.so "
-FILES_${PN}-plugin-abf = " ${libdir}/vpp_plugins/abf_plugin.so "
-FILES_${PN}-plugin-pppoe = " ${libdir}/vpp_plugins/pppoe_plugin.so "
-FILES_${PN}-plugin-lacp = " ${libdir}/vpp_plugins/lacp_plugin.so "
-FILES_${PN}-plugin-ioam = " ${libdir}/vpp_plugins/ioam_plugin.so "
-FILES_${PN}-plugin-memif = " ${libdir}/vpp_plugins/memif_plugin.so "
-FILES_${PN}-plugin-stn = " ${libdir}/vpp_plugins/stn_plugin.so "
-FILES_${PN}-plugin-srv6ad = " ${libdir}/vpp_plugins/srv6ad_plugin.so "
-FILES_${PN}-plugin-mactime = " ${libdir}/vpp_plugins/mactime_plugin.so "
-FILES_${PN}-plugin-unittest = " ${libdir}/vpp_plugins/unittest_plugin.so "
-FILES_${PN}-plugin-nat = " ${libdir}/vpp_plugins/nat_plugin.so "
-FILES_${PN}-plugin-srv6am = " ${libdir}/vpp_plugins/srv6am_plugin.so "
-FILES_${PN}-plugin-dpdk = " ${libdir}/vpp_plugins/dpdk_plugin.so "
-FILES_${PN}-plugin-ila = " ${libdir}/vpp_plugins/ila_plugin.so "
-FILES_${PN}-plugin-svs = " ${libdir}/vpp_plugins/svs_plugin.so "
-FILES_${PN}-plugin-nsh = " ${libdir}/vpp_plugins/nsh_plugin.so "
-FILES_${PN}-plugin-vmxnet3 = " ${libdir}/vpp_plugins/vmxnet3_plugin.so "
-FILES_${PN}-plugin-perfmon = " ${libdir}/vpp_plugins/perfmon_plugin.so "
-FILES_${PN}-plugin-nsim = " ${libdir}/vpp_plugins/nsim_plugin.so"
-
-FILES_${PN}-plugin-lb_test = " ${libdir}/vpp_api_test_plugins/lb_test_plugin.so "
-FILES_${PN}-plugin-ioam_vxlan_gpe_test = " ${libdir}/vpp_api_test_plugins/ioam_vxlan_gpe_test_plugin.so "
-FILES_${PN}-plugin-map_test = " ${libdir}/vpp_api_test_plugins/map_test_plugin.so "
-FILES_${PN}-plugin-avf_test = " ${libdir}/vpp_api_test_plugins/avf_test_plugin.so "
-FILES_${PN}-plugin-mactime_test = " ${libdir}/vpp_api_test_plugins/mactime_test_plugin.so "
-FILES_${PN}-plugin-udp_ping_test = " ${libdir}/vpp_api_test_plugins/udp_ping_test_plugin.so "
-FILES_${PN}-plugin-ioam_trace_test = " ${libdir}/vpp_api_test_plugins/ioam_trace_test_plugin.so "
-FILES_${PN}-plugin-lacp_test = " ${libdir}/vpp_api_test_plugins/lacp_test_plugin.so "
-FILES_${PN}-plugin-stn_test = " ${libdir}/vpp_api_test_plugins/stn_test_plugin.so "
-FILES_${PN}-plugin-memif_test = " ${libdir}/vpp_api_test_plugins/memif_test_plugin.so "
-FILES_${PN}-plugin-nat_test = " ${libdir}/vpp_api_test_plugins/nat_test_plugin.so "
-FILES_${PN}-plugin-acl_test = " ${libdir}/vpp_api_test_plugins/acl_test_plugin.so "
-FILES_${PN}-plugin-ioam_export_test = " ${libdir}/vpp_api_test_plugins/ioam_export_test_plugin.so "
-FILES_${PN}-plugin-flowprobe_test = " ${libdir}/vpp_api_test_plugins/flowprobe_test_plugin.so "
-FILES_${PN}-plugin-ioam_pot_test = " ${libdir}/vpp_api_test_plugins/ioam_pot_test_plugin.so "
-FILES_${PN}-plugin-vxlan_gpe_ioam_export_test = " ${libdir}/vpp_api_test_plugins/vxlan_gpe_ioam_export_test_plugin.so "
-FILES_${PN}-plugin-pppoe_test = " ${libdir}/vpp_api_test_plugins/pppoe_test_plugin.so "
-FILES_${PN}-plugin-gtpu_test = " ${libdir}/vpp_api_test_plugins/gtpu_test_plugin.so "
-FILES_${PN}-plugin-cdp_test = " ${libdir}/vpp_api_test_plugins/cdp_test_plugin.so "
-FILES_${PN}-plugin-dpdk_test = " ${libdir}/vpp_api_test_plugins/dpdk_test_plugin.so "
-FILES_${PN}-plugin-nsh_test = " ${libdir}/vpp_api_test_plugins/nsh_test_plugin.so "
-FILES_${PN}-plugin-ioam_test = " ${libdir}/vpp_api_test_plugins/ioam_test_plugin.so "
-FILES_${PN}-plugin-vmxnet3_test = " ${libdir}/vpp_api_test_plugins/vmxnet3_test_plugin.so "
-FILES_${PN}-plugin-nsim_test = " ${libdir}/vpp_api_test_plugins/nsim_test_plugin.so "
-
-
-FILES_${PN}-data = " \
- ${datadir}/vpp/api/core/sctp.api.json \
- ${datadir}/vpp/api/core/sr.api.json \
- ${datadir}/vpp/api/core/gre.api.json \
- ${datadir}/vpp/api/core/lisp.api.json \
- ${datadir}/vpp/api/core/netmap.api.json \
- ${datadir}/vpp/api/core/tcp.api.json \
- ${datadir}/vpp/api/core/ipsec_gre.api.json \
- ${datadir}/vpp/api/core/bfd.api.json \
- ${datadir}/vpp/api/core/tap.api.json \
- ${datadir}/vpp/api/core/oam.api.json \
- ${datadir}/vpp/api/core/vpe.api.json \
- ${datadir}/vpp/api/core/bier.api.json \
- ${datadir}/vpp/api/core/ipsec.api.json \
- ${datadir}/vpp/api/core/af_packet.api.json \
- ${datadir}/vpp/api/core/vxlan_gpe.api.json \
- ${datadir}/vpp/api/core/session.api.json \
- ${datadir}/vpp/api/core/one.api.json \
- ${datadir}/vpp/api/core/sr_mpls.api.json \
- ${datadir}/vpp/api/core/feature.api.json \
- ${datadir}/vpp/api/core/p2p_ethernet.api.json \
- ${datadir}/vpp/api/core/memclnt.api.json \
- ${datadir}/vpp/api/core/pg.api.json \
- ${datadir}/vpp/api/core/l2.api.json \
- ${datadir}/vpp/api/core/punt.api.json \
- ${datadir}/vpp/api/core/classify.api.json \
- ${datadir}/vpp/api/core/policer.api.json \
- ${datadir}/vpp/api/core/span.api.json \
- ${datadir}/vpp/api/core/udp.api.json \
- ${datadir}/vpp/api/core/vxlan.api.json \
- ${datadir}/vpp/api/core/mpls.api.json \
- ${datadir}/vpp/api/core/qos.api.json \
- ${datadir}/vpp/api/core/ip.api.json \
- ${datadir}/vpp/api/core/ipip.api.json \
- ${datadir}/vpp/api/core/bond.api.json \
- ${datadir}/vpp/api/core/dns.api.json \
- ${datadir}/vpp/api/core/tapv2.api.json \
- ${datadir}/vpp/api/core/pipe.api.json \
- ${datadir}/vpp/api/core/dhcp6_pd_client_cp.api.json \
- ${datadir}/vpp/api/core/l2tp.api.json \
- ${datadir}/vpp/api/core/lisp_gpe.api.json \
- ${datadir}/vpp/api/core/cop.api.json \
- ${datadir}/vpp/api/core/geneve.api.json \
- ${datadir}/vpp/api/core/stats.api.json \
- ${datadir}/vpp/api/core/rd_cp.api.json \
- ${datadir}/vpp/api/core/dhcp.api.json \
- ${datadir}/vpp/api/core/lldp.api.json \
- ${datadir}/vpp/api/core/dhcp6_ia_na_client_cp.api.json \
- ${datadir}/vpp/api/core/ipfix_export.api.json \
- ${datadir}/vpp/api/core/vhost_user.api.json \
- ${datadir}/vpp/api/core/interface.api.json \
- ${datadir}/vpp/C.py \
- ${datadir}/vpp/api/core/flow.api.json \
- ${datadir}/vpp/api/core/map.api.json \
- ${datadir}/vpp/api/core/dpdk.api.json \
- ${datadir}/vpp/JSON.py \
- ${datadir}/vpp/vppapigen_json.py \
- ${datadir}/vpp/vppapigen_c.py "
-
-
-FILES_${PN} = " \
- ${sysconfdir}/vpp \
- ${sysconfdir}/vpp/startup.conf \
- ${sysconfdir}/vpp/startup.conf.dflt \
- ${sysconfdir}/rc.local \
- ${bindir}/svmdbtool \
- ${bindir}/svmtool \
- ${bindir}/vppapigen \
- ${bindir}/vpp_get_stats \
- ${bindir}/vpp_prometheus_export \
- ${bindir}/elftool \
- ${bindir}/cpelatency \
- ${bindir}/cpelinreg \
- ${bindir}/elog_merge \
- ${bindir}/c2cpel \
- ${bindir}/cpelstate \
- ${bindir}/cpeldump \
- ${bindir}/vpp \
- ${bindir}/vpp_api_test \
- ${bindir}/vpp_get_metrics \
- ${bindir}/vpp_restart \
- ${bindir}/vppctl \
- ${libdir}/libcperf.so.0.0.0 \
- ${libdir}/libcperf.so.0 \
- ${libdir}/libsvm.so.0 \
- ${libdir}/libsvm.so.0.0.0 \
- ${libdir}/libsvmdb.so.0 \
- ${libdir}/libsvmdb.so.0.0.0 \
- ${libdir}/libvapiclient.so.0 \
- ${libdir}/libvapiclient.so.0.0.0 \
- ${libdir}/libvatplugin.so.0 \
- ${libdir}/libvatplugin.so.0.0.0 \
- ${libdir}/libvcl_ldpreload.so.0 \
- ${libdir}/libvcl_ldpreload.so.0.0.0 \
- ${libdir}/libvlib.so.0 \
- ${libdir}/libvlib.so.0.0.0 \
- ${libdir}/libvlibmemory.so.0 \
- ${libdir}/libvlibmemory.so.0.0.0 \
- ${libdir}/libvlibmemoryclient.so.0 \
- ${libdir}/libvlibmemoryclient.so.0.0.0 \
- ${libdir}/libvnet.so.0 \
- ${libdir}/libvnet.so.0.0.0 \
- ${libdir}/libvppapiclient.so.0 \
- ${libdir}/libvppapiclient.so.0.0.0 \
- ${libdir}/libvppcom.so.19.06 \
- ${libdir}/libvppapiclient.so.19.06 \
- ${libdir}/libsvm.so.19.06 \
- ${libdir}/libvcl_ldpreload.so.19.06 \
- ${libdir}/libvlibmemoryclient.so.19.06 \
- ${libdir}/libvnet.so.19.06 \
- ${libdir}/libvapiclient.so.19.06 \
- ${libdir}/libvlibmemory.so.19.06 \
- ${libdir}/libvppinfra.so.19.06 \
- ${libdir}/usr/lib/libvppcom.so.19.06 \
- ${libdir}/libvlib.so.19.06 \
- ${libdir}/libvatplugin.so.19.06 \
- ${libdir}/libsvmdb.so.19.06 \
- ${libdir}/libvppcom.so.0.0.0 \
- ${libdir}/libvppinfra.so.0 \
- ${libdir}/libvppinfra.so.0.0.0 \
- "
-
-FILES_${PN}-plugin-data = " \
- ${datadir}/vpp/api/plugins/pot.api.json \
- ${datadir}/vpp/api/plugins/pppoe.api.json \
- ${datadir}/vpp/api/plugins/igmp.api.json \
- ${datadir}/vpp/api/plugins/avf.api.json \
- ${datadir}/vpp/api/plugins/mactime.api.json \
- ${datadir}/vpp/api/plugins/gbp.api.json \
- ${datadir}/vpp/api/plugins/map.api.json \
- ${datadir}/vpp/api/plugins/udp_ping.api.json \
- ${datadir}/vpp/api/plugins/l2e.api.json \
- ${datadir}/vpp/api/plugins/ioam_export.api.json \
- ${datadir}/vpp/api/plugins/lb.api.json \
- ${datadir}/vpp/api/plugins/vxlan_gpe_ioam_export.api.json \
- ${datadir}/vpp/api/plugins/ioam_vxlan_gpe.api.json \
- ${datadir}/vpp/api/plugins/acl.api.json \
- ${datadir}/vpp/api/plugins/ioam_cache.api.json \
- ${datadir}/vpp/api/plugins/stn.api.json \
- ${datadir}/vpp/api/plugins/abf.api.json \
- ${datadir}/vpp/api/plugins/nat.api.json \
- ${datadir}/vpp/api/plugins/flowprobe.api.json \
- ${datadir}/vpp/api/plugins/memif.api.json \
- ${datadir}/vpp/api/plugins/lacp.api.json \
- ${datadir}/vpp/api/plugins/gtpu.api.json \
- ${datadir}/vpp/api/plugins/trace.api.json \
- ${datadir}/vpp/api/plugins/dpdk.api.json \
- ${datadir}/vpp/api/plugins/cdp.api.json \
- ${datadir}/vpp/api/plugins/nsh.api.json \
- ${datadir}/vpp/api/plugins/nsim.api.json \
- ${datadir}/vpp/api/plugins/svs.api.json \
- ${datadir}/vpp/api/plugins/vmxnet3.api.json \
- ${datadir}/vpp/api/core/syslog.api.json \
- ${datadir}/vpp/api/core/vxlan_gbp.api.json \
- ${datadir}/vpp/plugins/perfmon/PerfmonTables.tar.xz "
-
-FILES_${PN}-dev = " \
- ${includedir}/* \
- ${libdir}/libvcl_ldpreload.so \
- ${libdir}/libvppapiclient.so \
- ${libdir}/libvppcom.so \
- ${libdir}/libvlib.so \
- ${libdir}/libsvm.so \
- ${libdir}/libsvmdb.so \
- ${libdir}/libvatplugin.so \
- ${libdir}/libvlibmemory.so \
- ${libdir}/libvapiclient.so \
- ${libdir}/libvnet.so \
- ${libdir}/libvppinfra.so \
- ${libdir}/libcperf.so \
- ${libdir}/libvlibmemoryclient.so \
- ${libdir}/cmake/vpp/*.cmake "
-
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
new file mode 100644
index 00000000..415587a8
--- /dev/null
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Add packages for ISP build"
+
+# basler-camera* gets dynamically renamed
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit packagegroup
+
+ISP_PKGS ?= ""
+ISP_PKGS:mx8mp-nxp-bsp = " \
+ isp-imx \
+ basler-camera \
+ basler-camera-dev \
+ kernel-module-isp-vvcam \
+"
+RDEPENDS:${PN} = " \
+ ${ISP_PKGS} \
+"
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb b/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
index ab378cf5..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)"
+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
new file mode 100644
index 00000000..724d0ff5
--- /dev/null
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-opencv-imx.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Add packages for opencv i.MX build"
+
+inherit packagegroup
+
+OPENCV_PKGS = " \
+ opencv-apps \
+ opencv-samples \
+ python3-opencv \
+"
+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 0a14e371..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)"
diff --git a/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch
deleted file mode 100644
index fa7b218e..00000000
--- a/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 9be904a70e6b7e6b3cc4e1b270bca02d14a4179b Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Mon, 5 Sep 2016 14:41:37 +0300
-Subject: [PATCH] configure.ac: Allow explicit enabling of cunit tests
-
-Add --with-cunit to make it easier to do reproducible builds. Default
-is still to probe cunit and build opportunistically.
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Submitted [mailing list]
-
----
- configure.ac | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1341f51..bef46e0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -168,6 +168,12 @@ AC_ARG_ENABLE(install-test-programs,
- [Install test programs (default: no)]),
- [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no])
-
-+AC_ARG_WITH([cunit],
-+ [AS_HELP_STRING([--with-cunit],
-+ [Build tests that use cunit (default: auto)])],
-+ [],
-+ [with_cunit=auto])
-+
- dnl ===========================================================================
- dnl check compiler flags
- AC_DEFUN([LIBDRM_CC_TRY_FLAG], [
-@@ -416,7 +422,7 @@ else
- AC_DEFINE(HAVE_RADEON, 0)
- fi
-
--if test "x$AMDGPU" != xno; then
-+if test "x$with_cunit" != xno -a "x$AMDGPU" != xno; then
- # Detect cunit library
- PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no])
- # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We
-@@ -441,7 +447,11 @@ if test "x$AMDGPU" = xyes; then
- AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support])
-
- if test "x$have_cunit" = "xno"; then
-- AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
-+ if test "x$with_cunit" = "xyes"; then
-+ AC_MSG_ERROR([Could not find cunit library but --with-cunit was given])
-+ elif test "x$with_cunit" = "xauto"; then
-+ AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
-+ fi
- fi
- else
- AC_DEFINE(HAVE_AMDGPU, 0)
diff --git a/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
deleted file mode 100644
index 4708bf1e..00000000
--- a/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-drmdevice.c: define _GNU_SOURCE
-
-Include config.h to fix this build error with uclibc:
-
-libdrm-2.4.66/tests/drmdevice.c: In function 'main':
-libdrm-2.4.66/tests/drmdevice.c:96:60: error:
-'O_CLOEXEC' undeclared (first use in this function)
-fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0);
-
-Upstream-Status: Pending
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c
---- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200
-+++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200
-@@ -21,6 +21,7 @@
- *
- */
-
-+#include <config.h>
- #include <errno.h>
- #include <stdio.h>
- #include <stdlib.h>
diff --git a/recipes-graphics/drm/libdrm/imxgpu2d/drm-update-arm.patch b/recipes-graphics/drm/libdrm/imxgpu2d/drm-update-arm.patch
deleted file mode 100644
index 1160cd10..00000000
--- a/recipes-graphics/drm/libdrm/imxgpu2d/drm-update-arm.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Add ARM support into xf86arm.h. This provides support for Xorg interface.
-Without this the vivante samples will hang during close requiring a reboot
-
-Upstream-Status: Pending
-
-Signed-off-by: Lauren Post <lauren.post@freescale.com>
-Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
-
-diff --git a/xf86drm.h b/xf86drm.h
---- a/xf86drm.h
-+++ b/xf86drm.h
-@@ -461,6 +461,23 @@ do { register unsigned int __old __asm("
- : "cr0", "memory"); \
- } while (0)
-
-+#elif defined(__arm__)
-+ #undef DRM_DEV_MODE
-+ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
-+
-+ #define DRM_CAS(lock,old,new,__ret) \
-+ do { \
-+ __asm__ __volatile__ ( \
-+ "1: ldrex %0, [%1]\n" \
-+ " teq %0, %2\n" \
-+ " ite eq\n" \
-+ " strexeq %0, %3, [%1]\n" \
-+ " movne %0, #1\n" \
-+ : "=&r" (__ret) \
-+ : "r" (lock), "r" (old), "r" (new) \
-+ : "cc","memory"); \
-+ } while (0)
-+
- #endif /* architecture */
- #endif /* __GNUC__ >= 2 */
-
diff --git a/recipes-graphics/drm/libdrm/installtests.patch b/recipes-graphics/drm/libdrm/installtests.patch
deleted file mode 100644
index ec1fb023..00000000
--- a/recipes-graphics/drm/libdrm/installtests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5c6eb43c2f6e7f2ee7c25c92e42f4e4403fa0527 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 21 Feb 2017 14:37:52 +0200
-Subject: [PATCH] tests: also install test apps
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Yu Ke <ke.yu@intel.com>
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 0355a92..b4882cd 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -45,3 +45,4 @@ TESTS = \
- check_PROGRAMS = \
- $(TESTS) \
- drmdevice
-+bin_PROGRAMS = $(check_PROGRAMS)
---
-2.1.4
-
diff --git a/recipes-graphics/drm/libdrm_%.bbappend b/recipes-graphics/drm/libdrm_%.bbappend
deleted file mode 100644
index 97b6df92..00000000
--- a/recipes-graphics/drm/libdrm_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI_append_imxgpu2d = " file://drm-update-arm.patch"
-
-PACKAGE_ARCH_imxgpu2d = "${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/drm/libdrm_2.4.91.imx.bb b/recipes-graphics/drm/libdrm_2.4.91.imx.bb
deleted file mode 100644
index 0a2d41a3..00000000
--- a/recipes-graphics/drm/libdrm_2.4.91.imx.bb
+++ /dev/null
@@ -1,65 +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 libpciaccess"
-
-IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
-IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.91"
-SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \
- file://installtests.patch \
- file://fix_O_CLOEXEC_undeclared.patch \
- file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \
- "
-SRC_URI_remove = "file://drm-update-arm.patch"
-SRCREV = "95645843f59495387a072d48374718f22e69d7a4"
-S = "${WORKDIR}/git"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit autotools pkgconfig manpages
-
-EXTRA_OECONF += "--disable-cairo-tests \
- --without-cunit \
- --enable-omap-experimental-api \
- --enable-etnaviv-experimental-api \
- --enable-install-test-programs \
- --disable-valgrind \
- "
-PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, 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.*"
-FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
-
-EXTRA_OECONF_append_imxgpu = " --enable-vivante-experimental-api"
-
-PACKAGES_prepend_imxgpu = "${PN}-vivante "
-
-RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante"
-
-FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
-
-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.7.0.bb b/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.7.0.bb
deleted file mode 100644
index a4ca208a..00000000
--- a/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.7.0.bb
+++ /dev/null
@@ -1,30 +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=80c0478f4339af024519b3723023fe28"
-PROVIDES += "virtual/libg2d"
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "a47ae6db002b47031e44d8402c40604e"
-SRC_URI[sha256sum] = "5a2785ba1f4e4ea6f61ab98f8408600adca9decd66511e6665023325184bf7e9"
-
-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"
-
-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_10.0.0.bb b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
new file mode 100644
index 00000000..a2f049a8
--- /dev/null
+++ b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
@@ -0,0 +1,55 @@
+# Copyright 2018 (C) O.S. Systems Software LTDA.
+SUMMARY = "Samples for OpenGL ES"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50"
+DEPENDS = "imx-gpu-viv zlib libpng procps"
+
+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-nxp-bsp = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'waffle', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
+ '', d), d)} \
+"
+PACKAGECONFIG_BACKEND:mx7-nxp-bsp = "${PACKAGECONFIG_BACKEND:mx6-nxp-bsp}"
+PACKAGECONFIG_BACKEND:mx8-nxp-bsp = "waffle"
+
+PACKAGECONFIG_GPU2D = ""
+PACKAGECONFIG_GPU2D:imxgpu2d = "vivante"
+
+PACKAGECONFIG ??= " \
+ egl \
+ ${PACKAGECONFIG_BACKEND} \
+ ${PACKAGECONFIG_GPU2D} \
+"
+
+PACKAGECONFIG[egl] = "-DENABLE_EGL=ON,-DENABLE_EGL=OFF,virtual/egl"
+PACKAGECONFIG[gui] = "-DENABLE_GUI=ON,-DENABLE_GUI=OFF"
+PACKAGECONFIG[multiarch] = "-DENABLE_MULTIARCH=ON,-DENABLE_MULTIARCH=OFF"
+PACKAGECONFIG[waffle] = "-DENABLE_WAFFLE=ON,-DENABLE_WAFFLE=OFF,waffle"
+PACKAGECONFIG[x11] = "-DENABLE_X11=ON,-DENABLE_X11=OFF"
+PACKAGECONFIG[vivante] = "-DENABLE_VIVANTE=ON,-DENABLE_VIVANTE=OFF,virtual/libg2d"
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+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-apitrace/imx-gpu-apitrace_7.1.0.bb b/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_7.1.0.bb
deleted file mode 100644
index d8137e29..00000000
--- a/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_7.1.0.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-SUMMARY = "Samples for OpenGL ES"
-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_7.1"
-SRCREV = "013499c63d9eddd8c792bd8b136991caa3b8a100"
-
-S = "${WORKDIR}/git"
-
-inherit cmake lib_package pkgconfig perlnative pythonnative
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG_append = \
- "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', \
- '', d), d)}"
-PACKAGECONFIG_append_imxgpu2d = " vivante"
-# For 8M, which has 3D but no 2D, eglretrace is not available
-# on Wayland except through X11 and waffle.
-PACKAGECONFIG_IMXGPU3D = \
- "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', ' waffle x11 x11-egl', '', d)}"
-PACKAGECONFIG_IMXGPU3D_imxgpu2d = ""
-PACKAGECONFIG_append_imxgpu3d = "${PACKAGECONFIG_IMXGPU3D}"
-
-PACKAGECONFIG[multiarch] = "-DENABLE_MULTIARCH=ON,-DENABLE_MULTIARCH=OFF"
-PACKAGECONFIG[waffle] = "-DENABLE_WAFFLE=ON,-DENABLE_WAFFLE=OFF,waffle"
-PACKAGECONFIG[x11] = "-DENABLE_X11=ON,-DENABLE_X11=OFF"
-PACKAGECONFIG[x11-egl] = "-Dwaffle_has_x11_egl=ON,-Dwaffle_has_x11_egl=OFF"
-PACKAGECONFIG[vivante] = "-DENABLE_VIVANTE=ON,-DENABLE_VIVANTE=OFF,virtual/libg2d"
-
-FILES_${PN} = "${bindir} ${libdir}"
-FILES_${PN}-dbg += "${libdir}/*/*/.debug"
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(imxgpu)"
diff --git a/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p4.0.bb b/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p4.0.bb
deleted file mode 100644
index 1329f365..00000000
--- a/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p4.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=80c0478f4339af024519b3723023fe28"
-
-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] = "ec8d8662ac31b96122a1af7736831482"
-SRC_URI[aarch64.sha256sum] = "362265b9c6c6ce05b1fafb412efe6617cf142669eb21302beec5e87ebbfe6a25"
-SRC_URI[arm.md5sum] = "bb1ef2e365b5d72e2a03c3b39d2016cc"
-SRC_URI[arm.sha256sum] = "27557094f4b5e7bef87c73131959503f3d0c3a6ea1c4f010d86c1668078f7f22"
-
-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 2c61c101..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-2019 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=80c0478f4339af024519b3723023fe28"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479"
DEPENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -17,83 +17,123 @@ 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 = " \
+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 \
"
-EXTRA_PROVIDES_append_mx8qm = " \
- virtual/libopenvx \
-"
-PROVIDES += " \
- imx-gpu-viv \
- libgal-imx \
+
+PROVIDES_OPENCL = " \
opencl-headers \
- virtual/egl \
- virtual/libopenvg \
- virtual/opencl-headers \
+ opencl-clhpp \
+ opencl-icd-loader \
virtual/opencl-icd \
- ${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 distro_features_check
+inherit fsl-eula-unpack
+
+FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:"
+SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
+ file://imx_icd.json"
-REQUIRED_DISTRO_FEATURES_mx8 = "wayland"
+S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
+PACKAGECONFIG ?= ""
+
+# Enables valgrind annotations for libgal-imx
+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 \
+ ${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"
+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.
@@ -105,44 +145,50 @@ 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).
for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
- ("libgles3",) , ("libvulkan",), ("libgbm",)):
+ ("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_mx8mq = "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}
@@ -157,102 +203,89 @@ 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=wl
+ 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
-
- # We'll only have one backend here so we rename it to generic name
- # and avoid rework in other packages, when possible
- mv ${D}${libdir}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2.0
- ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1.2
- ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1
- ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so
- mv ${D}${libdir}/libEGL-${backend}.so ${D}${libdir}/libEGL.so.1.0
- ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
- ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
- mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
- if [ "${USE_WL}" = "yes" ]; then
+ if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then
# Special case for libVDK on Wayland backend, deliver fb library as well.
- # Need to rename the libraries to avoid the code below that will remove
- # *-fb.so and *-wl.so
- mv ${D}${libdir}/libVDK-fb.so ${D}${libdir}/libVDK-framebuffer.so
- mv ${D}${libdir}/libVDK-wl.so ${D}${libdir}/libVDK-wayland.so
- ln -sf libVDK-wayland.so ${D}${libdir}/libVDK.so
- else
- mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so
+ cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0
fi
- # update libglesv2 as backend dependent
- rm -rf ${D}${libdir}/libGLESv2*
- cp ${S}/gpu-core/usr/lib/libGLESv2-${backend}.so ${D}${libdir}/libGLESv2.so.2.0.0
- ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
- ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.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 [ "${IS_MX8}" = "1" ]; then
- # Change libvulkon.so driver soname, so that it does not clash with the
- # vulkan-loader libvulkan.so
- patchelf --set-soname libvulkan_VSI.so.1 ${D}${libdir}/libvulkan-${backend}.so
- mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/libvulkan_VSI.so
+ 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
- # 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 [ -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
- for i in wl x11 fb dri; do
- find ${D}${libdir} -name "*-$i.so" -exec rm '{}' ';'
- find ${D}${libdir} -name "*.$i.so" -exec rm '{}' ';'
- done
+ 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
if [ "${IS_MX6SL}" = "1" ]; then
@@ -280,92 +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
+}
-# FIXME: Remove the following lines after adding libopenvx package
-INSANE_SKIP_imx-gpu-viv-dev += "dev-elf"
-INSANE_SKIP_libclc-imx += "dev-deps"
+ALLOW_EMPTY:${PN} = "1"
-FILES_libclc-imx = "${libdir}/libCLC${SOLIBS}"
-FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
+FILES:libclc-imx = "${libdir}/libCLC${SOLIBS}"
+FILES:libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBS} "
+FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
# libEGL.so is used by some demo apps from Freescale
-INSANE_SKIP_libegl-imx += "dev-so"
-FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
-FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
-
-FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
-FILES_libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
-RDEPENDS_libgal-imx += "kernel-module-imx-gpu-viv"
-RPROVIDES_libgal-imx += "libgal-imx"
-INSANE_SKIP_libgal-imx += "build-deps"
-
-FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}"
-
-FILES_libgbm-imx_mx8 = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}"
-FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}"
-RDEPENDS_libgbm-imx_append_mx8 = " libdrm"
+INSANE_SKIP:libegl-imx += "dev-so"
-FILES_libvulkan-imx = "${libdir}/libvulkan_VSI${SOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}"
-FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
+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_libopenvx-imx = "${libdir}/libOpenVX${SOLIBS} ${libdir}/libOpenVXC${SOLIBS} ${libdir}/libOpenVXU${SOLIBS}"
-FILES_libopenvx-imx-dev = "${includedir}/VX ${libdir}/libopenVX${SOLIBSDEV}"
+FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}"
-FILES_libgl-imx = "${libdir}/libGL${REALSOLIBS}"
-FILES_libgl-imx-dev = "${libdir}/libGL${SOLIBSDEV} ${includedir}/GL"
+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"
-# 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"
+FILES:libvulkan-imx = "\
+ ${libdir}/libvulkan_VSI${REALSOLIBS} \
+ ${sysconfdir}/vulkan"
+FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
-# 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:libspirv-imx = " \
+ ${libdir}/libSPIRV_viv${SOLIBS} \
+"
-FILES_libgles3-imx-dev = "${includedir}/GLES3"
+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 ${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${SOLIBS} \
+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"
-
-INSANE_SKIP_libopenvg-imx += "dev-so"
-FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}"
-FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
+FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
+RDEPENDS:libopencl-imx= "libclc-imx"
-FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}"
-FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
-INSANE_SKIP_libvdk-imx += "dev-so"
+FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}"
+FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc"
+# libEGL does dlopen of libOpenVG.so
+INSANE_SKIP:libopenvg-imx += "dev-so"
-FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
-RDEPENDS_libvivante-dri-imx = "libdrm"
+FILES:libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
+FILES:libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
-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:imx-gpu-viv-tools = "${bindir}/gmem_info"
-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-demos = "/opt"
+INSANE_SKIP:imx-gpu-viv-demos += "rpaths dev-deps"
-FILES_imx-gpu-viv-tools = "${bindir}/gmem_info"
+FILES:libnn-imx = "${libdir}/libNN*${SOLIBS}"
-FILES_imx-gpu-viv-demos = "/opt"
-INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps"
+# 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.2.4.p4.0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p4.0-aarch32.bb
deleted file mode 100644
index 4876f7cb..00000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p4.0-aarch32.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017-2019 NXP
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
-SRC_URI[md5sum] = "83c40f63358dd3bd9bbc1cd7521bf8fe"
-SRC_URI[sha256sum] = "5abfc3b24c1f9d02970064898fb30da705b67bc7e967dbfbf0525c1cc60f2491"
-
-PACKAGE_FP_TYPE = "hardfp"
-
-COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p4.0-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p4.0-aarch64.bb
deleted file mode 100644
index 51212093..00000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p4.0-aarch64.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require imx-gpu-viv-6.inc
-
-SRC_URI[md5sum] = "a937571f6ecf85bdff1dfb3b6c834ed0"
-SRC_URI[sha256sum] = "1eb4ebe2fa11d8fb7beb8fc7046bb57093fd416d0a401608d78cd48b65624fcd"
-
-COMPATIBLE_MACHINE = "(mx8)"
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/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 c522315a..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,22 +15,13 @@ python () {
}
# Enable Etnaviv and Freedreno support
-PACKAGECONFIG_append_use-mainline-bsp = " gallium"
-GALLIUMDRIVERS_append_use-mainline-bsp_armv7a = ",etnaviv,freedreno,kmsro,vc4"
-GALLIUMDRIVERS_append_use-mainline-bsp_armv7ve = ",etnaviv,freedreno,kmsro,vc4"
+PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno"
-# Define the osmesa block in PACKAGECONFIG for target, this block is
-# not defined in the master recipe, effectively causing the osmesa
-# feature to be disabled and -Dosmesa=none set.
-PACKAGECONFIG_append_mx8 = " osmesa"
+# For NXP BSP, GPU drivers don't support dri
+PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri"
-# Solve 'Problem encountered: OSMesa classic requires dri (classic) swrast.'
-# by defining the dri swrast for mx8mm machine
-DRIDRIVERS_append_mx8 = "swrast"
-
-# Solve 'ERROR: Problem encountered: Only one swrast provider can be built'
-# by excluding gallium support, dri is used together with 'classic' mesa backend.
-PACKAGECONFIG_remove_mx8 = "gallium"
+# mainline/etnaviv:
+RRECOMMENDS:${PN}-megadriver:append:use-mainline-bsp = " libdrm-etnaviv mesa-etnaviv-env"
BACKEND = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -38,9 +29,10 @@ 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 \
${D}${includedir}/GL/glext.h \
${D}${includedir}/GL/glx.h \
${D}${includedir}/GL/glxext.h
@@ -49,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_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
new file mode 100644
index 00000000..6f4be031
--- /dev/null
+++ b/recipes-graphics/waffle/waffle/0001-meson-Add-missing-wayland-dependency-on-EGL.patch
@@ -0,0 +1,47 @@
+From 87fc7761cff5931a58984c7f7e78f421a0660e0e Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Wed, 22 Apr 2020 13:40:04 -0500
+Subject: [PATCH] meson: Add missing wayland dependency on EGL
+
+The build was not finding egl.pc due to this
+missing dependency.
+
+Upstream-Status: Pending
+
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+
+---
+ meson.build | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+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
+@@ -106,7 +107,8 @@ else
+ dep_wayland_client = dependency(
+ 'wayland-client', version : '>= 1.10', required : get_option('wayland'),
+ )
+- dep_wayland_egl = dependency(
++ dep_wayland_egl = dependency('egl', required : get_option('wayland'))
++ dep_wayland_wayland_egl = dependency(
+ 'wayland-egl', version : '>= 9.1', required : get_option('wayland'),
+ )
+ 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()
+
+ # 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
new file mode 100644
index 00000000..2a680cc6
--- /dev/null
+++ b/recipes-graphics/waffle/waffle/0002-meson-Separate-surfaceless-option-from-x11.patch
@@ -0,0 +1,40 @@
+From 12ac4372cc6a66e83b61f8510bdaa4f11c72113d Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Wed, 22 Apr 2020 14:08:36 -0500
+Subject: [PATCH] meson: Separate surfaceless option from x11
+
+Allow surfaceless build separate from the x11 option.
+Also require gbm for surfaceless build.
+
+Upstream-Status: Pending
+
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+
+---
+ meson.build | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/meson.build
++++ b/meson.build
+@@ -72,6 +72,7 @@ dep_udev = _dep_null
+ dep_cocoa = _dep_null
+ dep_core_foundation = _dep_null
+ dep_gl_headers = _dep_null
++dep_surfaceless = _dep_null
+
+ # Get dependencies
+ if build_wgl
+@@ -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()
+
+- 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()
+
+ 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 caef3a1e..e88f558d 100644
--- a/recipes-graphics/waffle/waffle_%.bbappend
+++ b/recipes-graphics/waffle/waffle_%.bbappend
@@ -1,7 +1,18 @@
-PACKAGECONFIG_X11 = ""
-PACKAGECONFIG_X11_append_imxgpu3d = " x11-egl glx"
-PACKAGECONFIG_imxgpu = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gbm wayland', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', '${PACKAGECONFIG_X11}', \
- '', d), d)} \
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += " \
+ file://0001-meson-Add-missing-wayland-dependency-on-EGL.patch \
+ file://0002-meson-Separate-surfaceless-option-from-x11.patch \
+"
+
+PACKAGECONFIG_IMXGPU_X11 = ""
+PACKAGECONFIG_IMXGPU_X11:imxgpu3d = "x11-egl glx"
+PACKAGECONFIG_IMXGPU_GBM = "gbm"
+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)} \
+ ${PACKAGECONFIG_IMXGPU_GBM} \
"
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/0001-linux-dmabuf-support-passing-buffer-DTRC-meta-to-com.patch b/recipes-graphics/wayland/wayland-protocols/0001-linux-dmabuf-support-passing-buffer-DTRC-meta-to-com.patch
deleted file mode 100644
index 16aabec8..00000000
--- a/recipes-graphics/wayland/wayland-protocols/0001-linux-dmabuf-support-passing-buffer-DTRC-meta-to-com.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 50ea8fbdd1b768ccaa33dfee43b0f12245ef09b8 Mon Sep 17 00:00:00 2001
-From: Haihua Hu <jared.hu@nxp.com>
-Date: Wed, 5 Sep 2018 13:00:47 +0800
-Subject: [PATCH] linux-dmabuf: support passing buffer DTRC meta to compositor
-
-DTRC meta is untilized to pass offset to DTRC in drm dcss driver
-to enable video tile compress
-
-Signed-off-by: Haihua Hu <jared.hu@nxp.com>
----
- unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
-index 154afe2..9c955c7 100644
---- a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
-+++ b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
-@@ -343,6 +343,28 @@
- <arg name="flags" type="uint" summary="see enum flags"/>
- </request>
-
-+ <request name="add_dtrc_meta">
-+ <description summary="add dtrc meta in this dmabuf">
-+ This request adds one dmabuf to the set in this
-+ zwp_linux_buffer_params_v1.
-+
-+ The 64-bit unsigned value combined from modifier_hi and modifier_lo
-+ is the dmabuf layout modifier. DRM AddFB2 ioctl calls this the
-+ fb modifier, which is defined in drm_mode.h of Linux UAPI.
-+ This is an opaque token. Drivers use this token to express tiling,
-+ compression, etc. driver-specific modifications to the base format
-+ defined by the DRM fourcc code.
-+
-+ This request raises the PLANE_IDX error if plane_idx is too large.
-+ The error PLANE_SET is raised if attempting to set a plane that
-+ was already set.
-+ </description>
-+ <arg name="rfc_chroma_offset" type="uint"
-+ summary="high 32 bits of DTRC offset"/>
-+ <arg name="rfc_luma_offset" type="uint"
-+ summary="low 32 bits of DTRC offset"/>
-+ </request>
-+
- </interface>
-
- </protocol>
---
-2.7.4
-
diff --git a/recipes-graphics/wayland/wayland-protocols/0001-unstable-Add-alpha-compositing-protocol.patch b/recipes-graphics/wayland/wayland-protocols/0001-unstable-Add-alpha-compositing-protocol.patch
deleted file mode 100644
index 55f4cb8f..00000000
--- a/recipes-graphics/wayland/wayland-protocols/0001-unstable-Add-alpha-compositing-protocol.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From b4be5e338be2301f83f4dfdc0cbb740f0a783464 Mon Sep 17 00:00:00 2001
-From: Haihua Hu <jared.hu@nxp.com>
-Date: Thu, 14 Jun 2018 13:54:08 +0800
-Subject: [PATCH 1/2] unstable: Add alpha-compositing protocol
-
-It's based on the Chromium Wayland protocol of the same name ([1])
-and Alexandros's modified version ([2])with a few changes
-made to the blending_equation enumeration.
-
-Add one more blending_equation "src_alpha / src_alpha"
-
-[1] https://chromium.googlesource.com/chromium/src/+/master/third_party/wayland-protocols/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml
-[2] https://lists.freedesktop.org/archives/wayland-devel/2017-August/034741.html
-
-Upstream-Status: Inappropriate [i.MX specific]
-
-Signed-off-by: Haihua Hu <jared.hu@nxp.com>
----
- Makefile.am | 1 +
- unstable/alpha-compositing/README | 6 +
- .../alpha-compositing-unstable-v1.xml | 136 +++++++++++++++++++++
- 3 files changed, 143 insertions(+)
- create mode 100644 unstable/alpha-compositing/README
- create mode 100644 unstable/alpha-compositing/alpha-compositing-unstable-v1.xml
-
-diff --git a/Makefile.am b/Makefile.am
-index 4b9a901..e6c44ec 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -23,6 +23,7 @@ unstable_protocols = \
- unstable/xdg-decoration/xdg-decoration-unstable-v1.xml \
- unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml \
- unstable/primary-selection/primary-selection-unstable-v1.xml \
-+ unstable/alpha-compositing/alpha-compositing-unstable-v1.xml \
- $(NULL)
-
- stable_protocols = \
-diff --git a/unstable/alpha-compositing/README b/unstable/alpha-compositing/README
-new file mode 100644
-index 0000000..d874156
---- /dev/null
-+++ b/unstable/alpha-compositing/README
-@@ -0,0 +1,6 @@
-+Alpha compositing protocol
-+
-+Maintainers:
-+David Reveman <reveman at chromium.org>
-+Alexandros Frantzis <alexandros.frantzis at collabora.com>
-+Jared Hu <Jared Hu at nxp.com>
-diff --git a/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml b/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml
-new file mode 100644
-index 0000000..0844b3f
---- /dev/null
-+++ b/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml
-@@ -0,0 +1,136 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="alpha_compositing_unstable_v1">
-+
-+ <copyright>
-+ Copyright 2016 The Chromium Authors.
-+ Copyright 2017 Collabora Ltd
-+ 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 (including the next
-+ paragraph) 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.
-+ </copyright>
-+
-+ <description summary="Protocol for more advanced compositing and blending">
-+ This protocol specifies a set of interfaces used to control the alpha
-+ compositing and blending of surface contents.
-+
-+ Warning! The protocol described in this file is experimental and backward
-+ incompatible changes may be made. Backward compatible changes may be added
-+ together with the corresponding interface version bump. Backward
-+ incompatible changes are done by bumping the version number in the protocol
-+ and interface names and resetting the interface version. Once the protocol
-+ is to be declared stable, the 'z' prefix and the version number in the
-+ protocol and interface names are removed and the interface version number is
-+ reset.
-+ </description>
-+
-+ <interface name="zwp_alpha_compositing_v1" version="1">
-+ <description summary="alpha_compositing">
-+ The global interface exposing compositing and blending capabilities is
-+ used to instantiate an interface extension for a wl_surface object.
-+ This extended interface will then allow the client to specify the
-+ blending equation and alpha value used for compositing the wl_surface.
-+ </description>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="unbind from the blending interface">
-+ Informs the server that the client will not be using this
-+ protocol object anymore. This does not affect any other objects,
-+ blending objects included.
-+ </description>
-+ </request>
-+
-+ <enum name="error">
-+ <entry name="blending_exists" value="0"
-+ summary="the surface already has a blending object associated"/>
-+ </enum>
-+
-+ <request name="get_blending">
-+ <description summary="extend surface interface for blending">
-+ Instantiate an interface extension for the given wl_surface to
-+ provide surface blending. If the given wl_surface already has
-+ a blending object associated, the blending_exists protocol error
-+ is raised.
-+ </description>
-+
-+ <arg name="id" type="new_id" interface="zwp_blending_v1"
-+ summary="the new blending interface id"/>
-+ <arg name="surface" type="object" interface="wl_surface"
-+ summary="the surface"/>
-+ </request>
-+ </interface>
-+
-+ <interface name="zwp_blending_v1" version="1">
-+ <description summary="blending interface to a wl_surface">
-+ An additional interface to a wl_surface object, which allows the
-+ client to specify the blending equation used for compositing and
-+ an alpha value applied to the whole surface.
-+
-+ When the blending object is created its blending equation is
-+ 'none' and its alpha is 1.0, i.e., it's inactive by default. Clients
-+ can activate it by setting the blending equation and alpha value.
-+
-+ If the wl_surface associated with the blending object is destroyed,
-+ the blending object becomes inert.
-+
-+ If the blending object is destroyed, the blending state is removed
-+ from the wl_surface. The change will be applied on the next
-+ wl_surface.commit.
-+ </description>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="remove blending from the surface">
-+ The associated wl_surface's blending state is removed.
-+ The change is applied on the next wl_surface.commit.
-+ </description>
-+ </request>
-+
-+ <enum name="blending_equation">
-+ <description summary="different blending equations for compositing">
-+ Blending equations that can be used when compositing a surface.
-+ </description>
-+ <entry name="none" value="0" summary="blending object is inactive"/>
-+ <entry name="opaque" value="1" summary="(one, zero)"/>
-+ <entry name="premultiplied" value="2" summary="(one, one_minus_src_alpha)"/>
-+ <entry name="straight" value="3" summary="(src_alpha, one_minus_src_alpha)" />
-+ <entry name="fromsource" value="4" summary="(src_alpha, src_alpha)" />
-+ </enum>
-+
-+ <request name="set_blending">
-+ <description summary="set the blending equation">
-+ Set the blending equation for compositing the wl_surface.
-+
-+ The blending equation state is double-buffered state,
-+ and will be applied on the next wl_surface.commit.
-+ </description>
-+ <arg name="equation" type="uint" summary="the new blending equation"/>
-+ </request>
-+
-+ <request name="set_alpha">
-+ <description summary="set the alpha value">
-+ Set the alpha value applied to the whole surface for compositing.
-+
-+ The alpha value state is double-buffered state,
-+ and will be applied on the next wl_surface.commit.
-+ </description>
-+ <arg name="value" type="fixed" summary="the new alpha value"/>
-+ </request>
-+ </interface>
-+
-+</protocol>
-\ No newline at end of file
---
-2.7.4
-
diff --git a/recipes-graphics/wayland/wayland-protocols/0002-unstable-Add-hdr10-metadata-protocol.patch b/recipes-graphics/wayland/wayland-protocols/0002-unstable-Add-hdr10-metadata-protocol.patch
deleted file mode 100644
index 01cac46e..00000000
--- a/recipes-graphics/wayland/wayland-protocols/0002-unstable-Add-hdr10-metadata-protocol.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 54e847c10a75ec7bd6fbb8fbdd700d085145cdce Mon Sep 17 00:00:00 2001
-From: Haihua Hu <jared.hu@nxp.com>
-Date: Tue, 26 Jun 2018 15:30:18 +0800
-Subject: [PATCH 2/2] unstable: Add hdr10-metadata protocol
-
-this protocol is used to support hdr10 video playback.
-HDR10 metadata is passed to compositor via this interface
-
-Upstream-Status: Inappropriate [i.MX specific]
-
-Signed-off-by: Haihua Hu <jared.hu@nxp.com>
----
- Makefile.am | 1 +
- unstable/hdr10-metadata/README | 4 ++
- .../hdr10-metadata/hdr10-metadata-unstable-v1.xml | 84 ++++++++++++++++++++++
- 3 files changed, 89 insertions(+)
- create mode 100644 unstable/hdr10-metadata/README
- create mode 100644 unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml
-
-diff --git a/Makefile.am b/Makefile.am
-index e6c44ec..b8206c7 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -24,6 +24,7 @@ unstable_protocols = \
- unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml \
- unstable/primary-selection/primary-selection-unstable-v1.xml \
- unstable/alpha-compositing/alpha-compositing-unstable-v1.xml \
-+ unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml \
- $(NULL)
-
- stable_protocols = \
-diff --git a/unstable/hdr10-metadata/README b/unstable/hdr10-metadata/README
-new file mode 100644
-index 0000000..58a82f8
---- /dev/null
-+++ b/unstable/hdr10-metadata/README
-@@ -0,0 +1,4 @@
-+hdr10 metadata protocol
-+
-+Maintainers:
-+Jared Hu <Jared Hu at nxp.com>
-diff --git a/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml b/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml
-new file mode 100644
-index 0000000..5b1bac4
---- /dev/null
-+++ b/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml
-@@ -0,0 +1,84 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="hdr10_metadata_unstable_v1">
-+
-+ <copyright>
-+ 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 (including the next
-+ paragraph) 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.
-+ </copyright>
-+
-+ <description summary="Protocol for sending hdr10 metadata to compositor">
-+ This protocol specifies a set of interfaces used to set and control
-+ hdr10 metadata of video contents.
-+
-+ Warning! The protocol described in this file is experimental and backward
-+ incompatible changes may be made. Backward compatible changes may be added
-+ together with the corresponding interface version bump. Backward
-+ incompatible changes are done by bumping the version number in the protocol
-+ and interface names and resetting the interface version. Once the protocol
-+ is to be declared stable, the 'z' prefix and the version number in the
-+ protocol and interface names are removed and the interface version number is
-+ reset.
-+ </description>
-+
-+ <interface name="zwp_hdr10_metadata_v1" version="1">
-+ <description summary="hdr10_metadata">
-+ The global interface exposing hdr10 metadata capabilities is
-+ used to instantiate an interface extension for compositor.
-+ This extended interface will then allow the client to pass hdr10 metadata
-+ to compositor and send to display driver if supported.
-+ </description>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="unbind from the hdr10 metadata interface">
-+ Informs the server that the client will not be using this
-+ protocol object anymore. This does not affect any other objects.
-+ </description>
-+ </request>
-+
-+ <enum name="error">
-+ <entry name="sending_meta_error" value="0"
-+ summary="error occurs when compositor handle metadata"/>
-+ </enum>
-+
-+ <request name="set_metadata">
-+ <description summary="interface of setting and controling hdr10 metadata">
-+ client can use this interface pass hdr10 metadata to server. Server need
-+ use the recived metadata to enable hdr mode.
-+ </description>
-+
-+ <arg name="eotf" type="uint" summary="supported eotf"/>
-+ <arg name="type" type="uint" summary="supported type"/>
-+ <arg name="display_primaries_red" type="uint"
-+ summary="display primaries of red, high 16bits for x, and low 16bits for y"/>
-+ <arg name="display_primaries_green" type="uint"
-+ summary="display primaries of green, high 16bits for x, and low 16bits for y"/>
-+ <arg name="display_primaries_blue" type="uint"
-+ summary="display primaries of blue, high 16bits for x, and low 16bits for y"/>
-+ <arg name="white_point" type="uint"
-+ summary="white point, high 16bits for x, and low 16bits for blue"/>
-+ <arg name="mastering_display_luminance" type="uint"
-+ summary="max and min mastering display luminance, high 16 bits for max, and low 16 bits for min"/>
-+ <arg name="max_cll" type="uint" summary="max content light level"/>
-+ <arg name="max_fall" type="uint" summary="max frame average light level"/>
-+ </request>
-+ </interface>
-+
-+</protocol>
---
-2.7.4
-
diff --git a/recipes-graphics/wayland/wayland-protocols_1.17.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.17.imx.bb
deleted file mode 100644
index 069bbea0..00000000
--- a/recipes-graphics/wayland/wayland-protocols_1.17.imx.bb
+++ /dev/null
@@ -1,30 +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"
-
-ARCHIVE_NAME = "${BPN}-1.17"
-SRC_URI = "https://wayland.freedesktop.org/releases/${ARCHIVE_NAME}.tar.xz \
- file://0001-unstable-Add-alpha-compositing-protocol.patch \
- file://0002-unstable-Add-hdr10-metadata-protocol.patch \
- file://0001-linux-dmabuf-support-passing-buffer-DTRC-meta-to-com.patch \
- "
-SRC_URI[md5sum] = "55ddd5fdb02b73b9de9559aaec267315"
-SRC_URI[sha256sum] = "df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f"
-S = "${WORKDIR}/${ARCHIVE_NAME}"
-
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
-
-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 13818bc3..9d04df23 100644
--- a/recipes-graphics/wayland/weston-init.bbappend
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -1,20 +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}"
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE:imxgpu2d = "opengl"
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE:imxgpu3d = ""
+REQUIRED_DISTRO_FEATURES:remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd wayland x11', 'file://weston.config', '', d)}"
+SRC_URI:append:mx6sl-nxp-bsp = " file://weston.config"
-HAS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
-HAS_XWAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'true', 'false', d)}"
+PACKAGECONFIG ??= " \
+ no-idle-timeout \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)} \
+ ${PACKAGECONFIG_GBM_FORMAT} \
+ ${PACKAGECONFIG_REPAINT_WINDOW} \
+ ${PACKAGECONFIG_SIZE} \
+ ${PACKAGECONFIG_USE_G2D} \
+"
-do_install_append() {
- if ${HAS_SYSTEMD}; then
- if ${HAS_XWAYLAND}; then
- install -Dm0755 ${WORKDIR}/weston.config ${D}${sysconfdir}/default/weston
- fi
+# 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"
+
+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
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'gbm-format', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[core\]/a gbm-format=${GBM_FORMAT_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'rdp', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "s|^command=${bindir}/weston .*|& --rdp-tls-cert=${sysconfdir}/freerdp/keys/server.crt --rdp-tls-key=${sysconfdir}/freerdp/keys/server.key|" ${D}${sysconfdir}/xdg/weston/weston.ini
+ sed -i -e "/^\[core\]/a modules=screen-share.so" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'repaint-window', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[core\]/a repaint-window=16" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'size', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[shell\]/a size=${SIZE_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-g2d', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[core\]/a use-g2d=${USE_G2D_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ elif ${HAS_G2D}; then
+ sed -i -e "/^\[core\]/a #use-g2d=${USE_G2D_VALUE}" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "no" ]; then
+ sed -i -e "s/^xwayland=true/#xwayland=true/g" ${D}${sysconfdir}/xdg/weston/weston.ini
+ fi
+
+ sed -i -e 's,@bindir@,${bindir},g' ${D}${sysconfdir}/xdg/weston/weston.ini
}
diff --git a/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini b/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
new file mode 100644
index 00000000..19e6ad24
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini
@@ -0,0 +1,25 @@
+[core]
+#enable-overlay-view=1
+
+[shell]
+
+[libinput]
+touchscreen_calibrator=true
+
+#[output]
+#name=HDMI-A-1
+#mode=1920x1080@60
+#transform=rotate-90
+
+#[output]
+#name=HDMI-A-2
+#mode=off
+# WIDTHxHEIGHT Resolution size width and height in pixels
+# off Disables the output
+# preferred Uses the preferred mode
+# current Uses the current crt controller mode
+#transform=rotate-90
+
+[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/imxdrm/weston.config b/recipes-graphics/wayland/weston-init/imxdrm/weston.config
deleted file mode 100644
index 7c92cf11..00000000
--- a/recipes-graphics/wayland/weston-init/imxdrm/weston.config
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-OPTARGS="--xwayland"
diff --git a/recipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config b/recipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config
new file mode 100755
index 00000000..6456cd24
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config
@@ -0,0 +1 @@
+FB_MULTI_BUFFER=1
diff --git a/recipes-graphics/wayland/weston-init/mx6sl/weston.config b/recipes-graphics/wayland/weston-init/mx6sl/weston.config
deleted file mode 100755
index 89269d79..00000000
--- a/recipes-graphics/wayland/weston-init/mx6sl/weston.config
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-OPTARGS="--xwayland"
-FB_MULTI_BUFFER=1
diff --git a/recipes-graphics/wayland/weston-init/mx8mm/weston.config b/recipes-graphics/wayland/weston-init/mx8mm/weston.config
deleted file mode 100644
index 060aae09..00000000
--- a/recipes-graphics/wayland/weston-init/mx8mm/weston.config
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-OPTARGS="--xwayland --use-g2d=1"
diff --git a/recipes-graphics/wayland/weston-init/weston.config b/recipes-graphics/wayland/weston-init/weston.config
deleted file mode 100644
index 7c92cf11..00000000
--- a/recipes-graphics/wayland/weston-init/weston.config
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-OPTARGS="--xwayland"
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-make-error-portable.patch b/recipes-graphics/wayland/weston/0001-make-error-portable.patch
deleted file mode 100644
index c15e6928..00000000
--- a/recipes-graphics/wayland/weston/0001-make-error-portable.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 6ef33e86557c59b31c9b731c0360ec1d404cc801 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 May 2015 20:56:00 -0700
-Subject: [PATCH] make error() portable
-
-error() is not posix but gnu extension so may not be available on all
-kind of systemsi e.g. musl.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- configure.ac | 2 ++
- libweston/weston-error.h | 20 ++++++++++++++++++++
- libweston/weston-launch.c | 2 +-
- 3 files changed, 23 insertions(+), 1 deletion(-)
- create mode 100644 libweston/weston-error.h
-
-diff --git a/configure.ac b/configure.ac
-index 9d98e84..8f6b80d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
- [[#include <time.h>]])
- AC_CHECK_HEADERS([execinfo.h])
-
-+AC_CHECK_HEADERS([error.h])
-+
- AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate])
-
- # check for libdrm as a build-time dependency only
-diff --git a/libweston/weston-error.h b/libweston/weston-error.h
-new file mode 100644
-index 0000000..2089d02
---- /dev/null
-+++ b/libweston/weston-error.h
-@@ -0,0 +1,20 @@
-+#ifndef _WESTON_ERROR_H
-+#define _WESTON_ERROR_H
-+
-+#if defined(HAVE_ERROR_H)
-+#include <error.h>
-+#else
-+#include <err.h>
-+#include <string.h>
-+#define _weston_error(S, E, F, ...) do { \
-+ if (E) \
-+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
-+ else \
-+ err(S, F, ##__VA_ARGS__); \
-+} while(0)
-+
-+#define error _weston_error
-+#endif
-+
-+#endif
-+
-diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index bf73e0d..9064439 100644
---- a/libweston/weston-launch.c
-+++ b/libweston/weston-launch.c
-@@ -33,7 +33,6 @@
- #include <poll.h>
- #include <errno.h>
-
--#include <error.h>
- #include <getopt.h>
-
- #include <sys/types.h>
-@@ -59,6 +58,7 @@
- #endif
-
- #include "weston-launch.h"
-+#include "weston-error.h"
-
- #define DRM_MAJOR 226
-
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 3e4e772b..00000000
--- a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From d5fb8567868866665502106def90017243a968a8 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>
-
----
- configure.ac | 9 +++++++--
- libweston/weston-launch.c | 20 ++++++++++++++++++++
- 2 files changed, 27 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8f6b80d..603fcb3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -494,13 +494,17 @@ AC_ARG_ENABLE(resize-optimization,
- AS_IF([test "x$enable_resize_optimization" = "xyes"],
- [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
-
-+AC_ARG_WITH(pam,
-+ AS_HELP_STRING([--with-pam], [Use PAM]),
-+ [use_pam=$withval], [use_pam=yes])
- AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes)
- AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes)
--if test x$enable_weston_launch = xyes; then
-+if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then
- WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no])
- if test x$have_pam = xno; then
-- AC_ERROR([weston-launch requires pam])
-+ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found])
- fi
-+ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available])
- fi
-
- AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
-@@ -748,6 +752,7 @@ AC_MSG_RESULT([
- Enable developer documentation ${enable_devdocs}
-
- weston-launch utility ${enable_weston_launch}
-+ PAM support ${use_pam}
- systemd-login support ${have_systemd_login}
- systemd notify support ${enable_systemd_notify}
-
-diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 9064439..c6abe92 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>
-@@ -101,8 +103,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];
-@@ -191,6 +195,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,
-@@ -231,6 +236,7 @@ setup_pam(struct weston_launch *wl)
-
- return 0;
- }
-+#endif
-
- static int
- setup_launcher_socket(struct weston_launch *wl)
-@@ -424,6 +430,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)
-@@ -431,6 +438,7 @@ quit(struct weston_launch *wl, int status)
- err, pam_strerror(wl->ph, err));
- pam_end(wl->ph, err);
- }
-+#endif
-
- if (ioctl(wl->tty, KDSKBMUTE, 0) &&
- ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
-@@ -610,6 +618,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) {
-@@ -618,6 +627,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
- }
- free(env);
- }
-+#endif
-
- /*
- * We open a new session, so it makes sense
-@@ -685,8 +695,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");
-@@ -700,7 +712,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' },
-@@ -712,9 +726,13 @@ 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)
- error(1, 0, "Permission denied. -u allowed for root only");
-+#else
-+ error(1, 0, "-u is unsupported in this weston-launch build");
-+#endif
- break;
- case 't':
- tty = optarg;
-@@ -755,8 +773,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/recipes-graphics/wayland/weston/0001-weston.ini-using-argb8888-as-gbm-default-on-mscale-8.patch b/recipes-graphics/wayland/weston/0001-weston.ini-using-argb8888-as-gbm-default-on-mscale-8.patch
deleted file mode 100644
index 75589d3b..00000000
--- a/recipes-graphics/wayland/weston/0001-weston.ini-using-argb8888-as-gbm-default-on-mscale-8.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 186ec0c80410b2120b8f31c211cb44a836c84522 Mon Sep 17 00:00:00 2001
-From: Haihua Hu <jared.hu@nxp.com>
-Date: Wed, 4 Jul 2018 16:05:20 +0800
-Subject: [PATCH] weston.ini: using argb8888 as gbm default on mscale 850D
-
-mscale 850D video playback need using pixel alpha for graphic layer
-
-upstream status: imx specific
-Signed-off-by: Haihua Hu <jared.hu@nxp.com>
-
----
- weston.ini.in | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: git/weston.ini.in
-===================================================================
---- git.orig/weston.ini.in
-+++ git/weston.ini.in
-@@ -2,6 +2,7 @@
- # i.MX: Disable idle timeout
- idle-time=0
- #use-g2d=1
-+gbm-format=argb8888
-
- [libinput]
- touchscreen_calibrator=true
diff --git a/recipes-graphics/wayland/weston/0002-weston.ini-configure-desktop-shell-size-in-weston-co.patch b/recipes-graphics/wayland/weston/0002-weston.ini-configure-desktop-shell-size-in-weston-co.patch
deleted file mode 100644
index 4aa32569..00000000
--- a/recipes-graphics/wayland/weston/0002-weston.ini-configure-desktop-shell-size-in-weston-co.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3012798d7e9c9e624024fc962d749a960289ad8b Mon Sep 17 00:00:00 2001
-From: Haihua Hu <jared.hu@nxp.com>
-Date: Wed, 11 Jul 2018 17:47:47 +0800
-Subject: [PATCH] weston.ini: configure desktop shell size in weston configure
- file
-
-mscale 850D need set desktop shell to 1080p
-
-upstream status: imx specific
-Signed-off-by: Haihua Hu <jared.hu@nxp.com>
-
----
- weston.ini.in | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/weston.ini.in b/weston.ini.in
-index bd8abe4..077155b 100644
---- a/weston.ini.in
-+++ b/weston.ini.in
-@@ -8,6 +8,8 @@ gbm-format=argb8888
- #mode=1920x1080@60
- #transform=90
-
-+[shell]
-+size=1920x1080
-
- #[output]
- #name=HDMI-A-2
diff --git a/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch b/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch
deleted file mode 100644
index 7ea07ed6..00000000
--- a/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 46843c8681ddafbea6f491b7af4de6529e93f5bd Mon Sep 17 00:00:00 2001
-From: Jun Zhu <junzhu@nxp.com>
-Date: Sun, 30 Sep 2018 15:31:26 +0800
-Subject: [PATCH] weston-touch-calibrator: Advertise the touchscreen calibrator
- interface to all clients. [YOCIMX-2963]
-
-Set touchscreen_calibrator to true in the section "libinput" of the configure file
- /etc/xdg/weston/weston.ini.
-Otherwise, it will report that the new-added interface "weston-touch-calibration" cannot be found.
-
-Signed-off-by: Jun Zhu <junzhu@nxp.com>
-
----
- weston.ini.in | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/weston.ini.in b/weston.ini.in
-index 83dd56e..6e20e11 100644
---- a/weston.ini.in
-+++ b/weston.ini.in
-@@ -3,6 +3,9 @@
- idle-time=0
- #use-g2d=1
-
-+[libinput]
-+touchscreen_calibrator=true
-+
- #[output]
- #name=HDMI-A-1
- #mode=1920x1080@60
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_10.0.4.imx.bb b/recipes-graphics/wayland/weston_10.0.4.imx.bb
new file mode 100644
index 00000000..e31d2280
--- /dev/null
+++ b/recipes-graphics/wayland/weston_10.0.4.imx.bb
@@ -0,0 +1,211 @@
+# 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: 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=eb6d5297798cabe2ddc65e2af519bcf0 \
+ "
+
+SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
+ file://weston.png \
+ file://weston.desktop \
+ file://xwayland.weston-start \
+ file://systemd-notify.weston-start \
+ "
+
+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
+
+# 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"
+
+# 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 framebuffer
+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] = "-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
+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"
+# colord CMS support
+PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-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"
+# 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:append = "file://LICENSE;md5=d79ee9e66bb0f95d3386a7acae780b70"
+
+DEFAULT_PREFERENCE = "-1"
+
+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"
+PACKAGECONFIG_OPENGL = "opengl"
+PACKAGECONFIG_OPENGL:imxgpu2d = ""
+PACKAGECONFIG_OPENGL:imxgpu3d = "opengl"
+
+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"
+
+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
+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)"
+
+########### End of i.MX overrides #########
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/wayland/weston_5.0.0.imx.bb b/recipes-graphics/wayland/weston_5.0.0.imx.bb
deleted file mode 100644
index 10ce08ca..00000000
--- a/recipes-graphics/wayland/weston_5.0.0.imx.bb
+++ /dev/null
@@ -1,154 +0,0 @@
-SUMMARY = "Weston, a Wayland compositor, i.MX fork"
-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=26;md5=f47553ae598090444273db00adfb5b66"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRCBRANCH = "weston-imx-5.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \
- file://weston.png \
- file://weston.desktop \
- file://0001-make-error-portable.patch \
- file://xwayland.weston-start \
- file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
- file://0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch \
-"
-# Use argb8888 as gbm-format for i.MX8MQ only
-SRC_URI_append_mx8mq = " file://0001-weston.ini-using-argb8888-as-gbm-default-on-mscale-8.patch \
- file://0002-weston.ini-configure-desktop-shell-size-in-weston-co.patch \
-"
-SRCREV = "fb563901657b296c7c7c86d26602a622429e334f"
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
-
-inherit autotools pkgconfig useradd distro_features_check
-
-# 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"
-PACKAGECONFIG_OPENGL = "opengl"
-PACKAGECONFIG_OPENGL_imxgpu2d = ""
-PACKAGECONFIG_OPENGL_imxgpu3d = "opengl"
-
-DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
-DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
-
-WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
-
-EXTRA_OECONF = "--enable-setuid-install \
- --disable-rdp-compositor \
- "
-EXTRA_OECONF_append_qemux86 = " \
- WESTON_NATIVE_BACKEND=fbdev-backend.so \
- "
-EXTRA_OECONF_append_qemux86-64 = " \
- WESTON_NATIVE_BACKEND=fbdev-backend.so \
- "
-EXTRA_OECONF_append_imxfbdev = " \
- WESTON_NATIVE_BACKEND=fbdev-backend.so \
- "
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL} pam systemd x11', d)} \
- clients launch"
-PACKAGECONFIG_remove_imxfbdev = "kms"
-PACKAGECONFIG_append_imxgpu = " imxgpu"
-PACKAGECONFIG_append_imxgpu2d = " imxg2d"
-PACKAGECONFIG_append_imxgpu3d = " cairo-glesv2"
-#
-# Compositor choices
-#
-# Weston on KMS
-PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev"
-# Weston on Wayland (nested Weston)
-PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
-# Weston on X11
-PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
-# Headless Weston
-PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor"
-# Weston on framebuffer
-PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
-# weston-launch
-PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm"
-# VA-API desktop recorder
-PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
-# Weston with EGL support
-PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl"
-# Weston with cairo glesv2 support
-PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
-# Weston with lcms support
-PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
-# Weston with webp support
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-# Weston with systemd-login support
-PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
-# Weston with Xwayland support (requires X11 and Wayland)
-PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland"
-# colord CMS support
-PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
-# Clients support
-PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
-# Weston with PAM support
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
-# Weston with i.MX GPU support
-PACKAGECONFIG[imxgpu] = "--enable-imxgpu,--disable-imxgpu"
-# Weston with i.MX G2D renderer
-PACKAGECONFIG[imxg2d] = "--enable-imxg2d,--disable-imxg2d,virtual/libg2d"
-# Weston with OpenGL support
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl"
-
-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
-
- # install default weston.ini
- if [ -z "${@bb.utils.filter('BBFILE_COLLECTIONS', 'aglprofilegraphical', d)}" ]; then
- if [ "${@bb.utils.filter('BBFILE_COLLECTIONS', 'ivi', d)}" ]; then
- WESTON_INI_SRCDIR=${B}/ivi-shell
- else
- WESTON_INI_SRCDIR=${B}
- fi
- install -D -m 0644 ${WESTON_INI_SRCDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
- fi
-}
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
- libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
-
-FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir} ${sysconfdir}/xdg/weston"
-
-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 += "xserver-xorg-xwayland"
-
-RDEPENDS_${PN} += "xkeyboard-config"
-RRECOMMENDS_${PN} = "liberation-fonts"
-RRECOMMENDS_${PN}-dev += "wayland-protocols"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system weston-launch"
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)"
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 30372eff..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.arm.linux.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)"
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.2.4.p4.0.bb b/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p4.0.bb
deleted file mode 100644
index 670ade64..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p4.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 = "b765c3ffc0dcc4246afa659aa0d59f78a6736b08"
-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/mx7/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/mx7/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/mxs/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/mxs/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/mx7-nxp-bsp/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-bsp/xorg.conf
new file mode 100644
index 00000000..79b6c0fc
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-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/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/cryptodev/cryptodev-qoriq-linux_1.9.bb b/recipes-kernel/cryptodev/cryptodev-qoriq-linux_1.9.bb
deleted file mode 100644
index 58db5053..00000000
--- a/recipes-kernel/cryptodev/cryptodev-qoriq-linux_1.9.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require cryptodev-qoriq_${PV}.inc
-
-SUMMARY = "A /dev/crypto device driver header file"
-
-PROVIDES = "cryptodev-linux"
-
-do_compile[noexec] = "1"
-
-# Just install cryptodev.h which is the only header file needed to be exported
-do_install() {
- install -D ${S}/crypto/cryptodev.h ${D}${includedir}/crypto/cryptodev.h
-}
-
-ALLOW_EMPTY_${PN} = "1"
-
-COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-kernel/cryptodev/cryptodev-qoriq-module_1.9.bb b/recipes-kernel/cryptodev/cryptodev-qoriq-module_1.9.bb
deleted file mode 100644
index 412bb0e5..00000000
--- a/recipes-kernel/cryptodev/cryptodev-qoriq-module_1.9.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require cryptodev-qoriq_${PV}.inc
-
-SUMMARY = "A /dev/crypto device driver kernel module"
-
-PROVIDES = "cryptodev-module"
-
-inherit module qoriq_build_64bit_kernel
-
-# Header file provided by a separate package
-DEPENDS += "cryptodev-linux"
-
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" DESTDIR="${D}"'
-
-SRC_URI_append = " \
-file://0001-Disable-installing-header-file-provided-by-another-p.patch \
-"
-
-RCONFLICTS_${PN} = "ocf-linux"
-RREPLACES_${PN} = "ocf-linux"
-
-COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-kernel/cryptodev/cryptodev-qoriq-tests_1.9.bb b/recipes-kernel/cryptodev/cryptodev-qoriq-tests_1.9.bb
deleted file mode 100644
index f7d0b61b..00000000
--- a/recipes-kernel/cryptodev/cryptodev-qoriq-tests_1.9.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require cryptodev-qoriq_${PV}.inc
-
-SUMMARY = "A test suite for /dev/crypto device driver"
-
-DEPENDS = "openssl"
-
-PROVIDES = "cryptodev-tests"
-
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_EXECPREFIXDIR}" DESTDIR="${D}"'
-
-SRC_URI_append = " \
-file://0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch \
-"
-
-do_compile() {
- oe_runmake testprogs
-}
-
-do_install() {
- oe_runmake install_tests
-}
-
-FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
-FILES_${PN} = "${bindir}/tests_cryptodev/*"
-
-COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-kernel/cryptodev/cryptodev-qoriq_1.9.inc b/recipes-kernel/cryptodev/cryptodev-qoriq_1.9.inc
deleted file mode 100644
index ad54fc9e..00000000
--- a/recipes-kernel/cryptodev/cryptodev-qoriq_1.9.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-HOMEPAGE = "http://cryptodev-linux.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-python() {
- pkgs = d.getVar('PACKAGES').split()
- for p in pkgs:
- if 'cryptodev-qoriq' in p:
- d.appendVar("RPROVIDES_%s" % p, p.replace('cryptodev-qoriq', 'cryptodev'))
- d.appendVar("RCONFLICTS_%s" % p, p.replace('cryptodev-qoriq', 'cryptodev'))
- d.appendVar("RREPLACES_%s" % p, p.replace('cryptodev-qoriq', 'cryptodev'))
-}
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/yocto_patches:"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/cryptodev-linux;nobranch=1"
-SRCREV = "479e6e7f071e252c0c37ea38d38fdb4cd808f496"
-
-# NOTE: remove this patch and all traces of DISTRO_FEATURE c29x_pkc
-# if pkc-host does not need customized cryptodev patches anymore
-#SRC_URI_append = "${@bb.utils.contains('DISTRO_FEATURES', 'c29x_pkc', ' file://0001-don-t-advertise-RSA-keygen.patch', '', d)}"
-
-S = "${WORKDIR}/git"
-
-CLEANBROKEN = "1"
diff --git a/recipes-kernel/cryptodev/yocto_patches/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch b/recipes-kernel/cryptodev/yocto_patches/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch
deleted file mode 100644
index 1e7f5843..00000000
--- a/recipes-kernel/cryptodev/yocto_patches/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 03257bf2aff37b78496ccc1b58a87e7baaea042a Mon Sep 17 00:00:00 2001
-From: Cristian Stoica <cristian.stoica@nxp.com>
-Date: Mon, 22 Feb 2016 12:17:52 +0200
-Subject: [PATCH 2/2] Add the compile and install rules for cryptodev tests
-
-(original patch Signed-off-by: Yu Zongchun <b40527@freescale.com>)
-Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
-
-Upstream-Status: Inappropriate [ OE specific ]
----
- Makefile | 6 ++++++
- tests/Makefile | 4 ++--
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 06202bd..a598b12 100644
---- a/Makefile
-+++ b/Makefile
-@@ -42,6 +42,12 @@ clean:
- check:
- CFLAGS=$(CRYPTODEV_CFLAGS) KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests check
-
-+testprogs:
-+ KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests all
-+
-+install_tests:
-+ $(MAKE) -C tests install
-+
- CPOPTS =
- ifneq ($(SHOW_TYPES),)
- CPOPTS += --show-types
-diff --git a/tests/Makefile b/tests/Makefile
-index 5e3111d..cda971c 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -35,9 +35,9 @@ check: $(hostprogs)
- ./cipher-aead
-
- install:
-- install -d $(DESTDIR)/$(bindir)
-+ install -d $(DESTDIR)/$(bindir)/tests_cryptodev
- for prog in $(hostprogs); do \
-- install -m 755 $$prog $(DESTDIR)/$(bindir); \
-+ install -m 755 $$prog $(DESTDIR)/$(bindir)/tests_cryptodev/; \
- done
-
- clean:
---
-2.7.0
-
diff --git a/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch b/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch
deleted file mode 100644
index 35aad600..00000000
--- a/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From eedfa57953d2d6255d53cb098c3f81cbde9187f7 Mon Sep 17 00:00:00 2001
-From: Cristian Stoica <cristian.stoica@nxp.com>
-Date: Mon, 22 Feb 2016 11:47:27 +0200
-Subject: [PATCH 1/2] Disable installing header file provided by another
- package
-
-(original patch Signed-off-by: Denys Dmytriyenko <denys@ti.com>)
-Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
-
-Upstream-Status: Inappropriate [ OE specific ]
-
-
---- a/Makefileold 2017-04-18 14:54:40.588438842 +0800
-+++ b/Makefile 2017-04-18 14:55:40.308436774 +0800
-@@ -33,7 +33,6 @@
-
- modules_install:
- $(MAKE) $(KERNEL_MAKE_OPTS) modules_install
-- install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h
-
- clean:
- $(MAKE) $(KERNEL_MAKE_OPTS) clean
diff --git a/recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch b/recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch
deleted file mode 100644
index 4f92dbab..00000000
--- a/recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5b0d2cf5abaaa3bffb4a9e874dba88bdab15b69d Mon Sep 17 00:00:00 2001
-From: Ting Liu <ting.liu@nxp.com>
-Date: Mon, 20 Feb 2017 22:43:00 +0800
-Subject: [PATCH] update the install path for cryptodev tests
-
-Signed-off-by: Ting Liu <ting.liu@nxp.com>
----
- tests/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/Makefile b/tests/Makefile
-index dd7d5ff..e1c5039 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -37,8 +37,8 @@ install:
- for prog in $(hostprogs); do \
- install -m 755 $$prog $(DESTDIR)/$(bindir)/tests_cryptodev/; \
- done
-- install -m 755 speed_multi.sh $(DESTDIR)/$(bindir)
-- install -m 755 run_crypto_tests.sh $(DESTDIR)/$(bindir)
-+ install -m 755 speed_multi.sh $(DESTDIR)/$(bindir)/tests_cryptodev/
-+ install -m 755 run_crypto_tests.sh $(DESTDIR)/$(bindir)/tests_cryptodev/
-
- clean:
- rm -f *.o *~ $(hostprogs)
---
-1.9.2
-
diff --git a/recipes-kernel/dtc/dtc-145_git.bb b/recipes-kernel/dtc/dtc-145_git.bb
deleted file mode 100644
index 2d4097bb..00000000
--- a/recipes-kernel/dtc/dtc-145_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-kernel/dtc/dtc.inc
-
-LIC_FILES_CHKSUM = " \
- file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c \
-"
-
-SRCREV = "22a65c5331c22979d416738eb756b9541672e00d"
-
-SRC_URI += "file://0001-Fix-compiler-warnings-seen-with-musl.patch \
- "
-S = "${WORKDIR}/git"
-
-# only install the dtc binary renamed to dtc-145
-do_install () {
- install -d ${D}/${bindir}
- install -m 755 dtc ${D}/${bindir}/dtc-145
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-kernel/dtc/files/0001-Fix-compiler-warnings-seen-with-musl.patch b/recipes-kernel/dtc/files/0001-Fix-compiler-warnings-seen-with-musl.patch
deleted file mode 100644
index 418a6498..00000000
--- a/recipes-kernel/dtc/files/0001-Fix-compiler-warnings-seen-with-musl.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 50034ca2600ae07203f397af6d78e2e9ff16bc02 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Oct 2018 18:12:23 -0700
-Subject: [PATCH] Fix compiler warnings seen with musl
-
-Fixes
-
-checks.c:975:16: error: format '%ld' expects argument of type 'long
-int', but argument 6 has type 'unsigned int' [-Werror=format=]
- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple
-of %ld in node %s",
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- prop->name, prop->val.len, sizeof(cell_t), node->fullpath);
- ~~~~~~~~~~~~~~
-checks.c:96:23: note: in definition of macro 'FAIL'
- check_msg((c), dti, __VA_ARGS__); \
- ^~~~~~~~~~~
-checks.c: In function 'check_interrupts_property':
-checks.c:1166:16: error: format '%ld' expects argument of type 'long
-int', but argument 6 has type 'unsigned int' [-Werror=format=]
- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple
-of %ld in node %s",
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- irq_prop->name, irq_prop->val.len, sizeof(cell_t),
- ~~~~~~~~~~~~~~
-
-Upstream-Status: Backport [adapted from an upstream fix]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- checks.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/checks.c b/checks.c
-index 902f2e3..08a3a29 100644
---- a/checks.c
-+++ b/checks.c
-@@ -972,7 +972,7 @@ static void check_property_phandle_args(struct check *c,
- int cell, cellsize = 0;
-
- if (prop->val.len % sizeof(cell_t)) {
-- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %ld in node %s",
-+ FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %zu in node %s",
- prop->name, prop->val.len, sizeof(cell_t), node->fullpath);
- return;
- }
-@@ -1163,7 +1163,7 @@ static void check_interrupts_property(struct check *c,
- return;
-
- if (irq_prop->val.len % sizeof(cell_t))
-- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %ld in node %s",
-+ FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %zu in node %s",
- irq_prop->name, irq_prop->val.len, sizeof(cell_t),
- node->fullpath);
-
diff --git a/recipes-kernel/dtc/files/make_install.patch b/recipes-kernel/dtc/files/make_install.patch
deleted file mode 100644
index ccf17b38..00000000
--- a/recipes-kernel/dtc/files/make_install.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -168,8 +168,8 @@ install-bin: all $(SCRIPTS)
- install-lib: all
- @$(VECHO) INSTALL-LIB
- $(INSTALL) -d $(DESTDIR)$(LIBDIR)
-- $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
-- ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
-+ $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
-+ ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/$(notdir $(LIBFDT_lib))
- ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT)
- $(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
-
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.2.4.p4.0.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p4.0.bb
deleted file mode 100644
index 61fc98e0..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p4.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2015-2016 Freescale Semiconductor
-# Copyright 2017-2018 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"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRCBRANCH = "imx_4.14.98_2.0.0_ga"
-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 = "f54dc1486d13d44766cdb6551d094313f077b535"
-
-S = "${WORKDIR}/git"
-
-inherit module
-
-EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m"
-
-KERNEL_MODULE_AUTOLOAD = "galcore"
-COMPATIBLE_MACHINE = "(imx)"
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.2+fslc.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb
index f9307fb4..13793132 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.2+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 = "86354002bea77acd9ce1812712e9d8485b377ec8"
-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.11.p2.2.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb
new file mode 100644
index 00000000..7aae0cd7
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2015-2016 Freescale Semiconductor
+# 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 = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
+
+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"
+
+inherit module
+
+EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m"
+
+KERNEL_MODULE_AUTOLOAD = "galcore"
+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 e3c92f3a..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://git.freescale.com/ppc/sdk/ipc.git;branch=sdk-v2.0.x"
+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-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/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch b/recipes-kernel/kernel-modules/kernel-module-qca6174/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch
deleted file mode 100644
index 2c8bce3b..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-qca6174/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 16573cbb9c82218f93741a9bc873242c012ac061 Mon Sep 17 00:00:00 2001
-From: Hangtian Zhu <hangtian@qti.qualcomm.com>
-Date: Thu, 14 Jun 2018 11:10:05 +0800
-Subject: [PATCH 22/23] MLK-18491-02 qcacld-2.0: fix the overflow of bounce
- buffer
-
-Patch a41baa51cbc5("MLK-18491 qcacld-2.0: avoid overflow of bounce buffer")
-is not reasonable to fix overflow of bounce buffer issue.
-
-The patch is released by Qualcomm to fix the issue.
-(Case Number:03515221)
-
-Signed-off-by: Hangtian Zhu <hangtian@qti.qualcomm.com>
----
- CORE/SERVICES/HTC/htc.c | 2 +-
- CORE/SERVICES/HTC/htc_send.c | 28 ++++++++++++++--------------
- 2 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/CORE/SERVICES/HTC/htc.c b/CORE/SERVICES/HTC/htc.c
-index 1e2450d..09936a0 100644
---- a/CORE/SERVICES/HTC/htc.c
-+++ b/CORE/SERVICES/HTC/htc.c
-@@ -657,7 +657,7 @@ static void ResetEndpointStates(HTC_TARGET *target)
- INIT_HTC_PACKET_QUEUE(&pEndpoint->RxBufferHoldQueue);
- pEndpoint->target = target;
- //pEndpoint->TxCreditFlowEnabled = (A_BOOL)htc_credit_flow;
-- pEndpoint->TxCreditFlowEnabled = (A_BOOL)0;
-+ pEndpoint->TxCreditFlowEnabled = (A_BOOL)1;
- adf_os_atomic_init(&pEndpoint->TxProcessCount);
- }
- }
-diff --git a/CORE/SERVICES/HTC/htc_send.c b/CORE/SERVICES/HTC/htc_send.c
-index 1a3dd28..19d8065 100644
---- a/CORE/SERVICES/HTC/htc_send.c
-+++ b/CORE/SERVICES/HTC/htc_send.c
-@@ -105,12 +105,12 @@ void HTCGetControlEndpointTxHostCredits(HTC_HANDLE HTCHandle, int *credits)
-
- static INLINE void RestoreTxPacket(HTC_TARGET *target, HTC_PACKET *pPacket)
- {
-+ adf_nbuf_t netbuf = GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket);
- if (pPacket->PktInfo.AsTx.Flags & HTC_TX_PACKET_FLAG_FIXUP_NETBUF) {
-- adf_nbuf_t netbuf = GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket);
- adf_nbuf_unmap(target->osdev, netbuf, ADF_OS_DMA_TO_DEVICE);
-- adf_nbuf_pull_head(netbuf, sizeof(HTC_FRAME_HDR));
- pPacket->PktInfo.AsTx.Flags &= ~HTC_TX_PACKET_FLAG_FIXUP_NETBUF;
- }
-+ adf_nbuf_pull_head(netbuf, sizeof(HTC_FRAME_HDR));
-
- }
-
-@@ -641,12 +641,11 @@ static A_STATUS HTCIssuePackets(HTC_TARGET *target,
- * that is already mapped, or a non-data netbuf that needs to be
- * mapped.
- */
-- if (pPacket->PktInfo.AsTx.Flags & HTC_TX_PACKET_FLAG_FIXUP_NETBUF) {
-- adf_nbuf_map(
-- target->osdev,
-- GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket),
-- ADF_OS_DMA_TO_DEVICE);
-- }
-+ pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF;
-+ adf_nbuf_map(
-+ target->osdev,
-+ GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket),
-+ ADF_OS_DMA_TO_DEVICE);
- }
- LOCK_HTC_TX(target);
- /* store in look up queue to match completions */
-@@ -1261,12 +1260,13 @@ A_STATUS HTCSendPktsMultiple(HTC_HANDLE HTCHandle, HTC_PACKET_QUEUE *pPktQueue)
- * mapped. This only applies to non-data frames, since data frames
- * were already mapped as they entered into the driver.
- */
-- adf_nbuf_map(
-- target->osdev,
-- GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket),
-- ADF_OS_DMA_TO_DEVICE);
--
-- pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF;
-+ if(!IS_TX_CREDIT_FLOW_ENABLED(pEndpoint)) {
-+ pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF;
-+ adf_nbuf_map(
-+ target->osdev,
-+ GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket),
-+ ADF_OS_DMA_TO_DEVICE);
-+ }
- } HTC_PACKET_QUEUE_ITERATE_END;
-
- HTCTrySend(target,pEndpoint,pPktQueue);
---
-1.9.1
-
diff --git a/recipes-kernel/kernel-modules/kernel-module-qca6174_2.1.bb b/recipes-kernel/kernel-modules/kernel-module-qca6174_2.1.bb
deleted file mode 100644
index 3bc18124..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-qca6174_2.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require kernel-module-qcacld-lea.inc
-
-SUMMARY = "Qualcomm WiFi driver for QCA module 6174"
-
-SRC_URI += "file://0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch"
-
-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 \
-"
-
-RDEPENDS_${PN} += "firmware-qca6174"
diff --git a/recipes-kernel/kernel-modules/kernel-module-qca9377_2.1.bb b/recipes-kernel/kernel-modules/kernel-module-qca9377_2.1.bb
deleted file mode 100644
index fbc87ea2..00000000
--- a/recipes-kernel/kernel-modules/kernel-module-qca9377_2.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 662975aa..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_2.0"
-SRCREV = "e008d2578b09f1f593f65ede48529a52312e3957"
-
-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-rt/0001-fix-build.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0001-fix-build.patch
deleted file mode 100644
index 4be4066d..00000000
--- a/recipes-kernel/linux/linux-fslc-imx-rt/0001-fix-build.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Fix build errors when RT patch is applied
-
-Upstream-Status: Inappropriate [other]
-Freescale does not support the RT patch
-
-Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
-Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> [updated for 3.14.28]
-
-diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-index 2ec98dc..5d0b7df 100644
---- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-@@ -7344,7 +7344,7 @@ gckOS_WaitSignal(
-
- might_sleep();
-
-- spin_lock_irq(&signal->obj.wait.lock);
-+ raw_spin_lock_irq(&signal->obj.wait.lock);
-
- if (signal->obj.done)
- {
-@@ -7366,9 +7366,8 @@ gckOS_WaitSignal(
- ? MAX_SCHEDULE_TIMEOUT
- : Wait * HZ / 1000;
-
-- DECLARE_WAITQUEUE(wait, current);
-- wait.flags |= WQ_FLAG_EXCLUSIVE;
-- __add_wait_queue_tail(&signal->obj.wait, &wait);
-+ DEFINE_SWAITER(wait);
-+ swait_prepare_locked(&signal->obj.wait, &wait);
-
- while (gcvTRUE)
- {
-@@ -7380,9 +7379,9 @@ gckOS_WaitSignal(
- }
-
- __set_current_state(TASK_INTERRUPTIBLE);
-- spin_unlock_irq(&signal->obj.wait.lock);
-+ raw_spin_unlock_irq(&signal->obj.wait.lock);
- timeout = schedule_timeout(timeout);
-- spin_lock_irq(&signal->obj.wait.lock);
-+ raw_spin_lock_irq(&signal->obj.wait.lock);
-
- if (signal->obj.done)
- {
-@@ -7403,10 +7402,10 @@ gckOS_WaitSignal(
- }
- }
-
-- __remove_wait_queue(&signal->obj.wait, &wait);
-+ swait_finish_locked(&signal->obj.wait, &wait);
- }
-
-- spin_unlock_irq(&signal->obj.wait.lock);
-+ raw_spin_unlock_irq(&signal->obj.wait.lock);
-
- OnError:
- /* Return status. */
-diff --git a/include/linux/imx_sema4.h b/include/linux/imx_sema4.h
-index 9787980..3586199 100644
---- a/include/linux/imx_sema4.h
-+++ b/include/linux/imx_sema4.h
-@@ -9,6 +9,8 @@
- #ifndef __LINUX_IMX_SEMA4_H__
- #define __LINUX_IMX_SEMA4_H__
-
-+#include <linux/wait.h>
-+
- #define SEMA4_NUM_DEVICES 1
- #define SEMA4_NUM_GATES 16
-
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch
deleted file mode 100644
index 40c012a5..00000000
--- a/recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Work around the oops below by disabling split ptlocks
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
-Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> [updated for 3.14.28]
-
-Unable to handle kernel NULL pointer dereference at virtual address 00000000
-pgd = ac5a8000
-[00000000] *pgd=3c8db831, *pte=00000000, *ppte=00000000
-Internal error: Oops: 17 [#1] PREEMPT SMP ARM
-Modules linked in:
-CPU: 1 PID: 277 Comm: test-qt5 Not tainted 3.10.17-rt12-monkey+gec1af9f #2
-task: ac65df80 ti: ac968000 task.ti: ac968000
-PC is at _raw_spin_lock+0x10/0x4c
-LR is at get_parent_ip+0x10/0x2c
-pc : [<80623fd4>] lr : [<8004ef18>] psr: 60010013
-sp : ac969c38 ip : 80c44404 fp : 00000000
-r10: ac65df80 r9 : ac969cd8 r8 : 00000000
-r7 : 00000054 r6 : afffe000 r5 : 00000000 r4 : 00000000
-r3 : ac65df80 r2 : 00000001 r1 : 00000000 r0 : 00000000
-Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
-Control: 10c53c7d Table: 3c5a804a DAC: 00000015
-Process test-qt5 (pid: 277, stack limit = 0xac968238)
-Stack: (0xac969c38 to 0xac96a000)
-9c20: b00549a8 806235e0
-9c40: 00000000 ac968000 812f9a00 80017cec ac969c74 fffffffe 00000000 00005000
-9c60: 00000000 80017e6c ac968000 ac65df80 00000000 00000000 00000001 ac968001
-9c80: ac65df80 b00549a8 00000000 afffe000 00000054 00000000 ac969cd8 afffe150
-9ca0: b0054bf8 8044e540 ac969cd8 b00549a8 ac0b8180 00000230 ac8fd000 00000230
-9cc0: 00000000 8044f6f4 ac155700 ac969cf4 ac155700 804605b8 ac155700 ac969d8c
-9ce0: 00000002 ac969d24 b0054bf8 804607f4 7ef1fcd0 80450078 ac0b8180 ac155700
-9d00: ac969d8c 00000002 ac8fd000 8045f1a0 ac969d24 00000000 ac8fd01c b00549a8
-9d20: b0050000 00000008 ac969d98 ac0b8300 ac969d8c 00000115 ac969d98 ac969e00
-9d40: ac155600 ac3985f0 7ef1fcd0 8045661c 00000115 00000000 00000001 00000000
-9d60: 00007530 80454144 80c32e18 00000001 81518e18 806237dc 00000001 ac968038
-9d80: 00000000 00000000 00000000 00000000 00000115 806237dc ac6f5688 ac968018
-9da0: 812e1640 00000000 00000001 ac968000 ac969dc4 8004efe4 ac968008 ac39a000
-9dc0: ac744400 ac968020 00007530 ac968000 ac968000 ac3985f0 7ef1fcd0 8044d374
-9de0: 7ef1fd20 00000000 000000f8 00000000 7ef1fd20 00000000 000000f8 00000000
-9e00: 00000028 00000002 00000000 6437d1dd 7ef1fddc 76f9c030 7ef1fd88 76fb9abc
-9e20: 00000320 00005007 e02c7eca c1399eff 020fb2db 00000000 00000000 00000000
-9e40: 00000001 00000040 00000400 00000004 00000010 00000400 00000002 00000100
-9e60: 00000100 00000008 00000008 00000000 ffffffff 00000000 7588e180 76fb1000
-9e80: 08000000 00000000 00000000 76fb11b8 000000af 760b6cd8 ffffffff 7431d4c0
-9ea0: 000cb1ac 75889000 00000000 00000001 000000b0 00000000 00000000 76fa0da0
-9ec0: 00000000 00000001 00000001 00000000 00000000 7588cb40 00000001 75957ecc
-9ee0: 00000001 7ef1fe7c 75953e94 7ef1fedc 00000002 76fa789c 00007530 ac6813c0
-9f00: 00000000 7ef1fcd0 ac6813c0 ac968000 ac3985f0 800d68fc 00000001 ac968000
-9f20: ac969f34 8004efe4 ac4f71d4 6c31d000 00000000 80623fd4 00000000 80623578
-9f40: ac4f71d4 800a3d40 00000001 00000000 ac969f5c 00000003 ac6813c8 00000000
-9f60: 00000001 00007530 00000003 00000000 7ef1fcd0 ac6813c0 ac968000 00000000
-9f80: 00000000 800d6afc ac4f7180 00000000 00002710 00007530 75957e40 00000036
-9fa0: 8000e2c4 8000e140 00002710 00007530 00000003 00007530 7ef1fcd0 01bc3008
-9fc0: 00002710 00007530 75957e40 00000036 01bd2e70 00000001 7ef1fd20 00000000
-9fe0: 759540c4 7ef1fcbc 7593f698 760a0ccc 20010010 00000003 00000000 00000000
-[<80623fd4>] (_raw_spin_lock+0x10/0x4c) from [<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c)
-[<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c) from [<8044e540>] (_QueryProcessPageTable+0x8c/0xdc)
-[<8044e540>] (_QueryProcessPageTable+0x8c/0xdc) from [<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58)
-[<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58) from [<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90)
-[<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90) from [<804607f4>] (gckHARDWARE_Link+0x60/0x104)
-[<804607f4>] (gckHARDWARE_Link+0x60/0x104) from [<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc)
-[<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc) from [<8045661c>] (gckCOMMAND_Attach+0x44/0x88)
-[<8045661c>] (gckCOMMAND_Attach+0x44/0x88) from [<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8)
-[<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8) from [<8044d374>] (drv_ioctl+0x120/0x284)
-[<8044d374>] (drv_ioctl+0x120/0x284) from [<800d68fc>] (do_vfs_ioctl+0x408/0x5d0)
-[<800d68fc>] (do_vfs_ioctl+0x408/0x5d0) from [<800d6afc>] (SyS_ioctl+0x38/0x64)
-[<800d6afc>] (SyS_ioctl+0x38/0x64) from [<8000e140>] (ret_fast_syscall+0x0/0x30)
-Code: e92d4010 e1a04000 e3a00001 ebe8abd7 (e1943f9f)
----[ end trace 0000000000000002 ]---
-note: test-qt5[277] exited with preempt_count 1
-
-diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
-index 6c1dc6c..8c00faf 100644
---- a/include/linux/mm_types.h
-+++ b/include/linux/mm_types.h
-@@ -24,7 +24,7 @@
-
- struct address_space;
-
--#define USE_SPLIT_PTE_PTLOCKS (NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS)
-+#define USE_SPLIT_PTE_PTLOCKS (0)
- #define USE_SPLIT_PMD_PTLOCKS (USE_SPLIT_PTE_PTLOCKS && \
- IS_ENABLED(CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK))
- #define ALLOC_SPLIT_PTLOCKS (SPINLOCK_SIZE > BITS_PER_LONG/8)
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
deleted file mode 100644
index 93200c62..00000000
--- a/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From f7cba8d49a980909cea48c5b9dcfefc6e13fef0b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= <dominic.sacre@gmx.de>
-Date: Fri, 29 Apr 2016 15:48:40 +0200
-Subject: [PATCH] Work around CPU stalls in the imx-sdma driver
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Replace spinlocks with raw spinlocks. This prevents preemption during
-the spinlock's critical section, as is the case on non PREEMPT_RT kernels.
-
-Without this patch, the following error can occur, for example when
-using the audio codec on an i.MX6Q SabreSD board:
-
-INFO: rcu_preempt self-detected stall on CPU { 0} (t=2100 jiffies g=106 c=105 q=93)
-CPU: 0 PID: 120 Comm: irq/34-sdma Not tainted 3.14.28-rt25-1.0.0_ga+g91cf351 #1
-[<80014a8c>] (unwind_backtrace) from [<8001173c>] (show_stack+0x10/0x14)
-[<8001173c>] (show_stack) from [<806ee750>] (dump_stack+0x7c/0xc8)
-[<806ee750>] (dump_stack) from [<800771c8>] (rcu_check_callbacks+0x454/0x888)
-[<800771c8>] (rcu_check_callbacks) from [<80037f28>] (update_process_times+0x40/0x5c)
-[<80037f28>] (update_process_times) from [<80082230>] (tick_sched_timer+0x4c/0x78)
-[<80082230>] (tick_sched_timer) from [<8004bf30>] (__run_hrtimer.isra.34+0x74/0x124)
-[<8004bf30>] (__run_hrtimer.isra.34) from [<8004cbb0>] (hrtimer_interrupt+0x154/0x3ac)
-[<8004cbb0>] (hrtimer_interrupt) from [<80014464>] (twd_handler+0x30/0x38)
-[<80014464>] (twd_handler) from [<8006fa2c>] (handle_percpu_devid_irq+0x6c/0x84)
-[<8006fa2c>] (handle_percpu_devid_irq) from [<8006bc64>] (generic_handle_irq+0x2c/0x3c)
-[<8006bc64>] (generic_handle_irq) from [<8000ed8c>] (handle_IRQ+0x40/0x90)
-[<8000ed8c>] (handle_IRQ) from [<8000856c>] (gic_handle_irq+0x2c/0x5c)
-[<8000856c>] (gic_handle_irq) from [<80012240>] (__irq_svc+0x40/0x84)
-Exception stack(0xa840feb8 to 0xa840ff00)
-fea0: a8007a28 00000002
-fec0: 00000001 0000a6a6 a80079c0 a8007a28 a83ea080 00000000 a80079c0 a83ea080
-fee0: 285190f0 00000000 00000000 a840ff00 8006d04c 806f3070 20030113 ffffffff
-[<80012240>] (__irq_svc) from [<806f3070>] (_raw_spin_unlock_irq+0x20/0x60)
-[<806f3070>] (_raw_spin_unlock_irq) from [<8006d04c>] (irq_finalize_oneshot.part.37+0x70/0xcc)
-[<8006d04c>] (irq_finalize_oneshot.part.37) from [<8006d148>] (irq_forced_thread_fn+0x60/0x64)
-[<8006d148>] (irq_forced_thread_fn) from [<8006d3dc>] (irq_thread+0x138/0x1a4)
-[<8006d3dc>] (irq_thread) from [<8004913c>] (kthread+0xbc/0xd4)
-[<8004913c>] (kthread) from [<8000e538>] (ret_from_fork+0x14/0x3c)
-
-Upstream-Status: Pending
-
-Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de>
----
- drivers/dma/imx-sdma.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
-index 31b7fed..bb7d6aa 100644
---- a/drivers/dma/imx-sdma.c
-+++ b/drivers/dma/imx-sdma.c
-@@ -408,7 +408,7 @@ struct sdma_engine {
- struct dma_device dma_device;
- struct clk *clk_ipg;
- struct clk *clk_ahb;
-- spinlock_t channel_0_lock;
-+ raw_spinlock_t channel_0_lock;
- u32 script_number;
- struct sdma_script_start_addrs *script_addrs;
- const struct sdma_driver_data *drvdata;
-@@ -700,7 +700,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
- return -ENOMEM;
- }
-
-- spin_lock_irqsave(&sdma->channel_0_lock, flags);
-+ raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
-
- bd0->mode.command = C0_SETPM;
- bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD;
-@@ -712,7 +712,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
-
- ret = sdma_run_channel0(sdma);
-
-- spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
-+ raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
-
- if (use_iram)
- gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size);
-@@ -979,7 +979,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
- dev_dbg(sdma->dev, "event_mask0 = 0x%08x\n", (u32)sdmac->event_mask[0]);
- dev_dbg(sdma->dev, "event_mask1 = 0x%08x\n", (u32)sdmac->event_mask[1]);
-
-- spin_lock_irqsave(&sdma->channel_0_lock, flags);
-+ raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
-
- memset(context, 0, sizeof(*context));
- context->channel_state.pc = load_address;
-@@ -1005,7 +1005,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
- bd0->ext_buffer_addr = 2048 + (sizeof(*context) / 4) * channel;
- ret = sdma_run_channel0(sdma);
-
-- spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
-+ raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
-
- sdmac->context_loaded = true;
-
-@@ -1019,7 +1019,7 @@ static int sdma_save_restore_context(struct sdma_engine *sdma, bool save)
- unsigned long flags;
- int ret;
-
-- spin_lock_irqsave(&sdma->channel_0_lock, flags);
-+ raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
-
- if (save)
- bd0->mode.command = C0_GETDM;
-@@ -1032,7 +1032,7 @@ static int sdma_save_restore_context(struct sdma_engine *sdma, bool save)
- bd0->ext_buffer_addr = 2048;
- ret = sdma_run_channel0(sdma);
-
-- spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
-+ raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
-
- return ret;
- }
-@@ -2152,7 +2152,7 @@ static int sdma_probe(struct platform_device *pdev)
- if (!sdma)
- return -ENOMEM;
-
-- spin_lock_init(&sdma->channel_0_lock);
-+ raw_spin_lock_init(&sdma->channel_0_lock);
-
- sdma->dev = &pdev->dev;
- sdma->drvdata = drvdata;
---
-2.8.1
-
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch
deleted file mode 100644
index 1a616aa3..00000000
--- a/recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2460dd985b0cf477f74396de92d1bc5df496abdc Mon Sep 17 00:00:00 2001
-From: Julio Cruz <jcsistemas2001@gmail.com>
-Date: Wed, 20 Jan 2016 19:26:44 +0800
-Subject: [PATCH] Export symbols for iMX-GPU-VIV module
-
----
- kernel/sched/wait-simple.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/kernel/sched/wait-simple.c b/kernel/sched/wait-simple.c
-index 7dfa86d..a3776ee 100644
---- a/kernel/sched/wait-simple.c
-+++ b/kernel/sched/wait-simple.c
-@@ -40,6 +40,7 @@ void swait_prepare_locked(struct swait_head *head, struct swaiter *w)
- if (list_empty(&w->node))
- __swait_enqueue(head, w);
- }
-+EXPORT_SYMBOL(swait_prepare_locked);
-
- void swait_prepare(struct swait_head *head, struct swaiter *w, int state)
- {
-@@ -58,6 +59,7 @@ void swait_finish_locked(struct swait_head *head, struct swaiter *w)
- if (w->task)
- __swait_dequeue(w);
- }
-+EXPORT_SYMBOL(swait_finish_locked);
-
- void swait_finish(struct swait_head *head, struct swaiter *w)
- {
---
-2.1.0
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/defconfig b/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
deleted file mode 100644
index 34ee14d1..00000000
--- a/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
+++ /dev/null
@@ -1,439 +0,0 @@
-CONFIG_LOCALVERSION="-fslc"
-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_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_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX50=y
-CONFIG_SOC_IMX53=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6ULL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_VF610=y
-# CONFIG_SWP_EMULATE is not set
-CONFIG_SMP=y
-CONFIG_HAVE_ARM_ARCH_TIMER=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_PREEMPT_RT_FULL=y
-CONFIG_AEABI=y
-CONFIG_HIGHMEM=y
-CONFIG_CMA=y
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX7D_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_INET_LRO is not set
-CONFIG_IPV6=y
-CONFIG_VLAN_8021Q=y
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_CAN_M_CAN=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_ATH3K=y
-CONFIG_BT_HCIBCM203X=y
-CONFIG_BT_ATH3K=y
-CONFIG_CFG80211=y
-CONFIG_MAC80211=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=0
-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_MXC=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_MTD_UBI=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_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_MICREL_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_BCMDHD=y
-CONFIG_BCMDHD_SDIO=y
-CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin"
-CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.OOB.cal"
-# CONFIG_RTL_CARDS is not set
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_KEYBOARD_GPIO=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_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=y
-CONFIG_INPUT_MPL3115=y
-CONFIG_SENSOR_FXLS8471=y
-CONFIG_INPUT_ISL29023=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_DEVKMEM is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_FSL_OTP=y
-CONFIG_HW_RANDOM_IMX_RNG=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_74X164=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_SABRESD_MAX8903=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_SENSORS_MAG3110=y
-CONFIG_THERMAL=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_MAX17135=y
-CONFIG_MFD_SI476X_CORE=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_MEDIA_RC_SUPPORT=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MXC_OUTPUT=y
-CONFIG_VIDEO_MXC_CAPTURE=m
-CONFIG_MXC_CAMERA_OV5640=m
-CONFIG_MXC_CAMERA_OV5642=m
-CONFIG_MXC_CAMERA_OV5640_MIPI=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_VIDEO_MXC_CSI_CAMERA=m
-CONFIG_MXC_VADC=m
-CONFIG_MXC_MIPI_CSI=m
-CONFIG_MXC_CAMERA_OV5647_MIPI=m
-CONFIG_SOC_CAMERA=y
-CONFIG_VIDEO_MX3=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=y
-CONFIG_RADIO_SI476X=y
-CONFIG_SOC_CAMERA_OV2640=y
-CONFIG_DRM=y
-CONFIG_DRM_VIVANTE=y
-CONFIG_FB=y
-CONFIG_FB_MXS=y
-CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5079E=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXS_SII902X=y
-CONFIG_FB_MXC_DCIC=m
-CONFIG_HANNSTAR_CABC=y
-CONFIG_FB_MXC_EINK_PANEL=y
-CONFIG_FB_MXC_EINK_V2_PANEL=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=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_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_SIMPLE_CARD=y
-CONFIG_USB=y
-CONFIG_USB_OTG_WHITELIST=y
-CONFIG_USB_OTG_FSM=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_EHSET_TEST_FIXTURE=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=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_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=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_MXC_IPU=y
-CONFIG_MXC_IPU_V3_PRE=y
-CONFIG_MXC_GPU_VIV=y
-CONFIG_MXC_SIM=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_MXC_HDMI_CEC=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_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_DMADEVICES=y
-CONFIG_MXC_PXP_V2=y
-CONFIG_MXC_PXP_V3=y
-CONFIG_IMX_SDMA=y
-CONFIG_MXS_DMA=y
-CONFIG_DMATEST=m
-CONFIG_STAGING=y
-CONFIG_STAGING_MEDIA=y
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_IIO=y
-CONFIG_IMX7D_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_PWM=y
-CONFIG_PWM_IMX=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_EXT4_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_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=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_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=y
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=y
-CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_TWOFISH=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=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
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
deleted file mode 100644
index 621023b4..00000000
--- a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Realtime version of the FSL Community BSP i.MX6 Linux kernel with backported features and fixes"
-DESCRIPTION = "Linux kernel based on NXP 4.1-2.0.0 GA release, used by FSL Community BSP in order to \
-provide support for i.MX6 based platforms and include official Linux kernel stable updates, backported \
-features and fixes coming from the vendors, kernel community or FSL Community itself. \
-In addition, this kernel has the realtime patch (PREEMPT_RT) applied."
-
-include linux-fslc.inc
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH = "4.1-2.0.x-imx"
-SRCREV = "ee67fc7e072df596577e3a4e4fce7b51816d4b0a"
-
-SRC_URI += " \
- ${KERNELORG_MIRROR}/linux/kernel/projects/rt/4.1/older/patch-4.1.38-rt45.patch.gz;name=rt-patch \
- file://0001-fix-build.patch \
- file://0002-no-split-ptlocks.patch \
- file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
- file://0004-export-swait-locked-functions.patch \
-"
-
-SRC_URI[rt-patch.md5sum] = "6e86714997e190a45fb5b9c951d2c179"
-SRC_URI[rt-patch.sha256sum] = "12aa4947ee656fa724e17d8971dcb3634a058c18afe59a472adfcd6f11d17f67"
-
-
-COMPATIBLE_MACHINE = "(mx6|mx7)"
diff --git a/recipes-kernel/linux/linux-fslc-imx/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch b/recipes-kernel/linux/linux-fslc-imx/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch
deleted file mode 100644
index 0b2d077d..00000000
--- a/recipes-kernel/linux/linux-fslc-imx/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 846b11d8c834af4fa62393dadb490ea8246b332c Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Mon, 2 Jul 2018 23:10:28 -0400
-Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses location
-
-In some cross build environments such as the Yocto Project build
-environment it provides an ncurses library that is compiled
-differently than the host's version. This causes display corruption
-problems when the host's curses includes are used instead of the
-includes from the provided compiler are overridden. There is a second
-case where there is no curses libraries at all on the host system and
-menuconfig will just fail entirely.
-
-The solution is simply to allow an override variable in
-check-lxdialog.sh for environments such as the Yocto Project. Adding
-a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing
-compiling and linking against the right headers and libraries.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-cc: Michal Marek <mmarek@suse.cz>
-cc: linux-kbuild@vger.kernel.org
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- scripts/kconfig/mconf-cfg.sh | 8 ++++++++
- 1 file changed, 8 insertions(+)
- mode change 100755 => 100644 scripts/kconfig/mconf-cfg.sh
-
-diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh
-old mode 100755
-new mode 100644
-index c812872d7f9d..65a9b9e5b8a6
---- a/scripts/kconfig/mconf-cfg.sh
-+++ b/scripts/kconfig/mconf-cfg.sh
-@@ -4,6 +4,14 @@
- PKG="ncursesw"
- PKG2="ncurses"
-
-+if [ "$CROSS_CURSES_LIB" != "" ]; then
-+ echo libs=\'$CROSS_CURSES_LIB\'
-+ if [ x"$CROSS_CURSES_INC" != x ]; then
-+ echo cflags=\'$CROSS_CURSES_INC\'
-+ fi
-+ exit 0
-+fi
-+
- if [ -n "$(command -v pkg-config)" ]; then
- if pkg-config --exists $PKG; then
- echo cflags=\"$(pkg-config --cflags $PKG)\"
---
-2.20.1
-
diff --git a/recipes-kernel/linux/linux-fslc-imx/defconfig b/recipes-kernel/linux/linux-fslc-imx/defconfig
deleted file mode 100644
index f9e53a6a..00000000
--- a/recipes-kernel/linux/linux-fslc-imx/defconfig
+++ /dev/null
@@ -1,426 +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_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_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX50=y
-CONFIG_SOC_IMX53=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6ULL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_VF610=y
-# CONFIG_SWP_EMULATE is not set
-CONFIG_SMP=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-CONFIG_HIGHMEM=y
-CONFIG_CMA=y
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-CONFIG_CPU_FREQ=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_INTERACTIVE=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX7D_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_VLAN_8021Q=y
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_CAN_M_CAN=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_ATH3K=y
-CONFIG_BT_HCIBCM203X=y
-CONFIG_BT_ATH3K=y
-CONFIG_CFG80211=y
-CONFIG_MAC80211=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=0
-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_MXC=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_MTD_UBI=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_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_MICREL_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_BCMDHD=y
-CONFIG_BCMDHD_SDIO=y
-CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin"
-CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.OOB.cal"
-# CONFIG_RTL_CARDS is not set
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_KEYBOARD_GPIO=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_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=y
-CONFIG_INPUT_MPL3115=y
-CONFIG_SENSOR_FXLS8471=y
-CONFIG_INPUT_ISL29023=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_DEVKMEM is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_FSL_OTP=y
-CONFIG_HW_RANDOM_IMX_RNG=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_74X164=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_SABRESD_MAX8903=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_SENSORS_MAG3110=y
-CONFIG_THERMAL=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_MAX17135=y
-CONFIG_MFD_SI476X_CORE=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_MEDIA_RC_SUPPORT=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MXC_OUTPUT=y
-CONFIG_VIDEO_MXC_CAPTURE=m
-CONFIG_MXC_CAMERA_OV5640=m
-CONFIG_MXC_CAMERA_OV5642=m
-CONFIG_MXC_CAMERA_OV5640_MIPI=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_VIDEO_MXC_CSI_CAMERA=m
-CONFIG_MXC_VADC=m
-CONFIG_MXC_MIPI_CSI=m
-CONFIG_MXC_CAMERA_OV5647_MIPI=m
-CONFIG_SOC_CAMERA=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=y
-CONFIG_RADIO_SI476X=y
-CONFIG_SOC_CAMERA_OV2640=y
-CONFIG_DRM=y
-CONFIG_DRM_VIVANTE=y
-CONFIG_FB_MXS=y
-CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5079E=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXS_SII902X=y
-CONFIG_FB_MXC_DCIC=m
-CONFIG_HANNSTAR_CABC=y
-CONFIG_FB_MXC_EINK_PANEL=y
-CONFIG_FB_MXC_EINK_V2_PANEL=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_PWM=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_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_SIMPLE_CARD=y
-CONFIG_USB=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_EHSET_TEST_FIXTURE=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=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_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=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_MXC_IPU=y
-CONFIG_MXC_IPU_V3_PRE=y
-CONFIG_MXC_GPU_VIV=y
-CONFIG_MXC_SIM=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_MXC_HDMI_CEC=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_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_DMADEVICES=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_IOMMU_SUPPORT is not set
-CONFIG_IIO=y
-CONFIG_IMX7D_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_PWM=y
-CONFIG_PWM_IMX=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=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_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FUNCTION_TRACER=y
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=y
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=y
-CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=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
diff --git a/recipes-kernel/linux/linux-fslc-imx_4.9-1.0.x.bb b/recipes-kernel/linux/linux-fslc-imx_4.9-1.0.x.bb
deleted file mode 100644
index aff27bbf..00000000
--- a/recipes-kernel/linux/linux-fslc-imx_4.9-1.0.x.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (C) 2015, 2017 O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "FSL Community BSP i.MX Linux kernel with backported features and fixes"
-DESCRIPTION = "Linux kernel based on NXP 4.9.11-1.0.0 GA release, used by FSL Community BSP in order to \
-provide support for i.MX based platforms and include official Linux kernel stable updates, backported \
-features and fixes coming from the vendors, kernel community or FSL Community itself."
-
-include linux-fslc.inc
-
-PV .= "+git${SRCPV}"
-
-SRCBRANCH = "4.9-1.0.x-imx"
-SRCREV = "953c6e30c9701fda69ef08e2476c541dc4fb1453"
-
-COMPATIBLE_MACHINE = "(mx6|mx7)"
diff --git a/recipes-kernel/linux/linux-fslc-imx_6.6.bb b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
new file mode 100644
index 00000000..6e31c1e2
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
@@ -0,0 +1,78 @@
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# SPDX-License-Identifier: MIT
+#
+
+SUMMARY = "Linux Kernel provided by NXP and supported by Community"
+DESCRIPTION = "Linux Kernel provided by NXP as the part of release distribution. \
+Main focus is set on i.MX Family Reference Boards. \
+It includes support for many NXP Proprietary IPs (GPU, VPU, IPU). \
+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-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.
+#
+# Therefore, there is a need to keep track on the patches which are introduced
+# from every source. This could be achieved in this recipe by filling the
+# below list with the information once the update is performed from any source.
+#
+# Once the critical patch gets merged into the stable branch, or NXP-specific
+# patches would be covered by the tag - individual entries from sections below
+# could be removed.
+#
+# ------------------------------------------------------------------------------
+# 1. Stable (tag or SHA(s))
+# ------------------------------------------------------------------------------
+# tag: v6.1.70
+#
+# ------------------------------------------------------------------------------
+# 2. NXP-specific (tag or SHA(s))
+# ------------------------------------------------------------------------------
+# tag: lf-6.1.55-2.2.0
+#
+# ------------------------------------------------------------------------------
+# 3. Critical patches (SHA(s))
+# ------------------------------------------------------------------------------
+# - 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
+# the linux-fslc kernel tree on the corresponding branch, and tracking
+# information should be properly filled in above.
+###############################################################################
+
+require linux-imx.inc
+
+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 = "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 = "-lf-6.6.y"
+
+DEFAULT_PREFERENCE = "1"
+
+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 be0b01be..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-4.19.bb
+++ /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)
-
-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.66+git${SRCPV}"
-
-SRCBRANCH = "4.19.x+fslc"
-SRCREV = "91d5756ab9096bbec256115d1d6b85f5d7139f85"
-
-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 949b69da..00000000
--- a/recipes-kernel/linux/linux-fslc-lts-4.19/defconfig
+++ /dev/null
@@ -1,447 +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
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-qoriq_5.4.bb b/recipes-kernel/linux/linux-fslc-qoriq_5.4.bb
new file mode 100644
index 00000000..212e7858
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc-qoriq_5.4.bb
@@ -0,0 +1,17 @@
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Mainline/LTS rebased NXP/QorIQ patches + FSLC patches."
+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 linux-next \
+and takes some time to become part of a stable version, or because it is not applicable for \
+upstreaming."
+
+require recipes-kernel/linux/linux-qoriq.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+LINUX_VERSION = "5.4.92"
+
+SRCBRANCH = "5.4.y+qoriq+fslc"
+SRCREV = "11d4722c637a77c6e1c9a8eeec091f1588f6b3f3"
+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 f6d04d59..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=${SRCBRANCH} \
- file://defconfig"
-LOCALVERSION = "-fslc"
diff --git a/recipes-kernel/linux/linux-fslc/defconfig b/recipes-kernel/linux/linux-fslc/defconfig
deleted file mode 100644
index 2d1159b0..00000000
--- a/recipes-kernel/linux/linux-fslc/defconfig
+++ /dev/null
@@ -1,453 +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_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_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_CPU_IDLE=y
-CONFIG_ARM_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_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_EGALAX=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_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_MC13783_ADC=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_DA9063_WATCHDOG=m
-CONFIG_RN5T618_WATCHDOG=y
-CONFIG_IMX2_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_SOC_CAMERA=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_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_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=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_IMX27=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_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_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 b37f8e67..00000000
--- a/recipes-kernel/linux/linux-fslc/mx25/defconfig
+++ /dev/null
@@ -1,190 +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_MACH_IMX27_DT=y
-CONFIG_SOC_IMX1=y
-CONFIG_SOC_IMX25=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_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ 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_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_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 38480596..00000000
--- a/recipes-kernel/linux/linux-fslc/mxs/defconfig
+++ /dev/null
@@ -1,177 +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_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-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_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_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.1.bb b/recipes-kernel/linux/linux-fslc_5.1.bb
deleted file mode 100644
index dceb8337..00000000
--- a/recipes-kernel/linux/linux-fslc_5.1.bb
+++ /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)
-
-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 = "5.1.15+git${SRCPV}"
-
-SRCBRANCH = "5.1.x+fslc"
-SRCREV = "cd1d083333e76e03d16f015c23f1f1b8c8637381"
-
-COMPATIBLE_MACHINE = "(mxs|mx5|mx6|vf|use-mainline-bsp)"
diff --git a/recipes-kernel/linux/linux-fslc_6.6.bb b/recipes-kernel/linux/linux-fslc_6.6.bb
new file mode 100644
index 00000000..e0e68c0b
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc_6.6.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2012-2019 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# SPDX-License-Identifier: MIT
+#
+
+SUMMARY = "FSL Community BSP Linux mainline based kernel with backported features and fixes"
+DESCRIPTION = "Linux kernel based on mainline kernel used by FSL Community BSP in order to \
+provide support for some backported features and fixes, or because it was applied in linux-next \
+and takes some time to become part of a stable version, or because it is not applicable for \
+upstreaming."
+
+require linux-imx.inc
+
+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.6.26"
+
+KBRANCH = "6.6.x+fslc"
+SRCREV = "829705b49b55e0ea4dbb12ed23996a12d01898bf"
+
+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-4.14.98/0001-compiler-attributes-add-support-for-copy-gcc-9.patch b/recipes-kernel/linux/linux-imx-4.14.98/0001-compiler-attributes-add-support-for-copy-gcc-9.patch
deleted file mode 100644
index af99cb6b..00000000
--- a/recipes-kernel/linux/linux-imx-4.14.98/0001-compiler-attributes-add-support-for-copy-gcc-9.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From mboxrd@z Thu Jan 1 00:00:00 1970
-Return-Path: <SRS0=AQQw=UD=vger.kernel.org=stable-owner@kernel.org>
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
- aws-us-west-2-korg-lkml-1.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,
- DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,
- SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT
- autolearn=ham autolearn_force=no version=3.4.0
-Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
- by smtp.lore.kernel.org (Postfix) with ESMTP id 354C8C282CE
- for <stable@archiver.kernel.org>; Tue, 4 Jun 2019 13:25:01 +0000 (UTC)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.kernel.org (Postfix) with ESMTP id 0D01C24291
- for <stable@archiver.kernel.org>; Tue, 4 Jun 2019 13:25:01 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (1024-bit key) header.d=agner.ch header.i=@agner.ch header.b="HG5nfXC5"
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727392AbfFDNZA (ORCPT <rfc822;stable@archiver.kernel.org>);
- Tue, 4 Jun 2019 09:25:00 -0400
-Received: from mail.kmu-office.ch ([178.209.48.109]:48336 "EHLO
- mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727340AbfFDNZA (ORCPT
- <rfc822;stable@vger.kernel.org>); Tue, 4 Jun 2019 09:25:00 -0400
-Received: from trochilidae.toradex.int (unknown [46.140.72.82])
- by mail.kmu-office.ch (Postfix) with ESMTPSA id 8BE845C2138;
- Tue, 4 Jun 2019 15:24:55 +0200 (CEST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agner.ch; s=dkim;
- t=1559654695;
- h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
- to:to:cc:cc:mime-version:mime-version:content-type:content-type:
- content-transfer-encoding:content-transfer-encoding:in-reply-to:
- references; bh=2lQNwDLO9/HfsHTvSmLn5csGG1S09yt0LuSYqXeE0y0=;
- b=HG5nfXC5qPZvu4E7tM2iveXY8wtjralMObB8KMvD1S6NWkkOwkeLjXonm495Hz+G+geOig
- NlbMrAg5b6wYCzvMgqUeSBmGkYCjB/7IFlotEiTcUNmOCorD2pTasqUOcpObuc6WqBkEjM
- 3seyrLJVs51y9A3weXf9CMO3OMOXwRA=
-From: Stefan Agner <stefan@agner.ch>
-To: gregkh@linuxfoundation.org
-Cc: stable@vger.kernel.org,
- Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
- Martin Sebor <msebor@gcc.gnu.org>,
- Nick Desaulniers <ndesaulniers@google.com>,
- Stefan Agner <stefan@agner.ch>
-Subject: [PATCH BACKPORT 4.19 1/2] Compiler Attributes: add support for __copy (gcc >= 9)
-Date: Tue, 4 Jun 2019 15:24:40 +0200
-Message-Id: <20190604132441.15383-1-stefan@agner.ch>
-X-Mailer: git-send-email 2.21.0
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Sender: stable-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-Archived-At: <https://lore.kernel.org/stable/20190604132441.15383-1-stefan@agner.ch/>
-List-Archive: <https://lore.kernel.org/stable/>
-List-Post: <mailto:stable@vger.kernel.org>
-
-From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-
-[ Upstream commit c0d9782f5b6d7157635ae2fd782a4b27d55a6013 ]
-
->From the GCC manual:
-
- copy
- copy(function)
-
- The copy attribute applies the set of attributes with which function
- has been declared to the declaration of the function to which
- the attribute is applied. The attribute is designed for libraries
- that define aliases or function resolvers that are expected
- to specify the same set of attributes as their targets. The copy
- attribute can be used with functions, variables, or types. However,
- the kind of symbol to which the attribute is applied (either
- function or variable) must match the kind of symbol to which
- the argument refers. The copy attribute copies only syntactic and
- semantic attributes but not attributes that affect a symbol’s
- linkage or visibility such as alias, visibility, or weak.
- The deprecated attribute is also not copied.
-
- https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
-
-The upcoming GCC 9 release extends the -Wmissing-attributes warnings
-(enabled by -Wall) to C and aliases: it warns when particular function
-attributes are missing in the aliases but not in their target, e.g.:
-
- void __cold f(void) {}
- void __alias("f") g(void);
-
-diagnoses:
-
- warning: 'g' specifies less restrictive attribute than
- its target 'f': 'cold' [-Wmissing-attributes]
-
-Using __copy(f) we can copy the __cold attribute from f to g:
-
- void __cold f(void) {}
- void __copy(f) __alias("f") g(void);
-
-This attribute is most useful to deal with situations where an alias
-is declared but we don't know the exact attributes the target has.
-
-For instance, in the kernel, the widely used module_init/exit macros
-define the init/cleanup_module aliases, but those cannot be marked
-always as __init/__exit since some modules do not have their
-functions marked as such.
-
-Cc: <stable@vger.kernel.org> # 4.14+
-Suggested-by: Martin Sebor <msebor@gcc.gnu.org>
-Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
-Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-Signed-off-by: Stefan Agner <stefan@agner.ch>
----
- include/linux/compiler-gcc.h | 4 ++++
- include/linux/compiler_types.h | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
-index a8ff0ca0c321..3ebee1ce6f98 100644
---- a/include/linux/compiler-gcc.h
-+++ b/include/linux/compiler-gcc.h
-@@ -345,6 +345,10 @@
-
- #endif /* gcc version >= 40000 specific checks */
-
-+#if GCC_VERSION >= 90100
-+#define __copy(symbol) __attribute__((__copy__(symbol)))
-+#endif
-+
- #if !defined(__noclone)
- #define __noclone /* not needed */
- #endif
-diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
-index c2ded31a4cec..2b8ed70c4c77 100644
---- a/include/linux/compiler_types.h
-+++ b/include/linux/compiler_types.h
-@@ -261,6 +261,10 @@ struct ftrace_likely_data {
- #define __visible
- #endif
-
-+#ifndef __copy
-+# define __copy(symbol)
-+#endif
-+
- #ifndef __nostackprotector
- # define __nostackprotector
- #endif
---
-2.21.0
-
-
diff --git a/recipes-kernel/linux/linux-imx-4.14.98/0002-include-linux-module.h-copy-init-exit-attrs-to-.patch b/recipes-kernel/linux/linux-imx-4.14.98/0002-include-linux-module.h-copy-init-exit-attrs-to-.patch
deleted file mode 100644
index e30d9425..00000000
--- a/recipes-kernel/linux/linux-imx-4.14.98/0002-include-linux-module.h-copy-init-exit-attrs-to-.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From mboxrd@z Thu Jan 1 00:00:00 1970
-Return-Path: <SRS0=AQQw=UD=vger.kernel.org=stable-owner@kernel.org>
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
- aws-us-west-2-korg-lkml-1.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,
- DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,
- SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT
- autolearn=ham autolearn_force=no version=3.4.0
-Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
- by smtp.lore.kernel.org (Postfix) with ESMTP id 63BF0C46470
- for <stable@archiver.kernel.org>; Tue, 4 Jun 2019 13:25:01 +0000 (UTC)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.kernel.org (Postfix) with ESMTP id 3D9B223D29
- for <stable@archiver.kernel.org>; Tue, 4 Jun 2019 13:25:01 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (1024-bit key) header.d=agner.ch header.i=@agner.ch header.b="QWkQ/3jN"
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727340AbfFDNZA (ORCPT <rfc822;stable@archiver.kernel.org>);
- Tue, 4 Jun 2019 09:25:00 -0400
-Received: from mail.kmu-office.ch ([178.209.48.109]:48348 "EHLO
- mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727343AbfFDNZA (ORCPT
- <rfc822;stable@vger.kernel.org>); Tue, 4 Jun 2019 09:25:00 -0400
-Received: from trochilidae.toradex.int (unknown [46.140.72.82])
- by mail.kmu-office.ch (Postfix) with ESMTPSA id A3CC45C1F29;
- Tue, 4 Jun 2019 15:24:57 +0200 (CEST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agner.ch; s=dkim;
- t=1559654697;
- h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
- to:to:cc:cc:mime-version:mime-version:content-type:
- content-transfer-encoding:content-transfer-encoding:
- in-reply-to:in-reply-to:references:references;
- bh=tc6JvYRo2QJoJQVnFd/oGDG0/z6TF30OxAP+nBfruDc=;
- b=QWkQ/3jNBkysiiD5SMb2UF+0YtSMCbOyP2/dUXeDQChYIal8jUex+QvYHjBh6l4Gff6WwG
- 3Zd44X6jE/KqxygBkoglOSb/dHwZ5AS8B8vpUM8vh2CzhrW4fD9eguoEIImOJJZ9RHgx0b
- Gwno+ZPPhuPOcFbSrBwNsKK6mZLGttY=
-From: Stefan Agner <stefan@agner.ch>
-To: gregkh@linuxfoundation.org
-Cc: stable@vger.kernel.org,
- Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
- Martin Sebor <msebor@gcc.gnu.org>,
- Jessica Yu <jeyu@kernel.org>, Stefan Agner <stefan@agner.ch>
-Subject: [PATCH BACKPORT 4.19 2/2] include/linux/module.h: copy __init/__exit attrs to init/cleanup_module
-Date: Tue, 4 Jun 2019 15:24:41 +0200
-Message-Id: <20190604132441.15383-2-stefan@agner.ch>
-X-Mailer: git-send-email 2.21.0
-In-Reply-To: <20190604132441.15383-1-stefan@agner.ch>
-References: <20190604132441.15383-1-stefan@agner.ch>
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Sender: stable-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-Archived-At: <https://lore.kernel.org/stable/20190604132441.15383-2-stefan@agner.ch/>
-List-Archive: <https://lore.kernel.org/stable/>
-List-Post: <mailto:stable@vger.kernel.org>
-
-From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-
-[ Upstream commit a6e60d84989fa0e91db7f236eda40453b0e44afa ]
-
-The upcoming GCC 9 release extends the -Wmissing-attributes warnings
-(enabled by -Wall) to C and aliases: it warns when particular function
-attributes are missing in the aliases but not in their target.
-
-In particular, it triggers for all the init/cleanup_module
-aliases in the kernel (defined by the module_init/exit macros),
-ending up being very noisy.
-
-These aliases point to the __init/__exit functions of a module,
-which are defined as __cold (among other attributes). However,
-the aliases themselves do not have the __cold attribute.
-
-Since the compiler behaves differently when compiling a __cold
-function as well as when compiling paths leading to calls
-to __cold functions, the warning is trying to point out
-the possibly-forgotten attribute in the alias.
-
-In order to keep the warning enabled, we decided to silence
-this case. Ideally, we would mark the aliases directly
-as __init/__exit. However, there are currently around 132 modules
-in the kernel which are missing __init/__exit in their init/cleanup
-functions (either because they are missing, or for other reasons,
-e.g. the functions being called from somewhere else); and
-a section mismatch is a hard error.
-
-A conservative alternative was to mark the aliases as __cold only.
-However, since we would like to eventually enforce __init/__exit
-to be always marked, we chose to use the new __copy function
-attribute (introduced by GCC 9 as well to deal with this).
-With it, we copy the attributes used by the target functions
-into the aliases. This way, functions that were not marked
-as __init/__exit won't have their aliases marked either,
-and therefore there won't be a section mismatch.
-
-Note that the warning would go away marking either the extern
-declaration, the definition, or both. However, we only mark
-the definition of the alias, since we do not want callers
-(which only see the declaration) to be compiled as if the function
-was __cold (and therefore the paths leading to those calls
-would be assumed to be unlikely).
-
-Cc: <stable@vger.kernel.org> # 4.14+
-Link: https://lore.kernel.org/lkml/20190123173707.GA16603@gmail.com/
-Link: https://lore.kernel.org/lkml/20190206175627.GA20399@gmail.com/
-Suggested-by: Martin Sebor <msebor@gcc.gnu.org>
-Acked-by: Jessica Yu <jeyu@kernel.org>
-Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-Signed-off-by: Stefan Agner <stefan@agner.ch>
----
- include/linux/module.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/linux/module.h b/include/linux/module.h
-index c71044644979..9915397715fc 100644
---- a/include/linux/module.h
-+++ b/include/linux/module.h
-@@ -130,13 +130,13 @@ extern void cleanup_module(void);
- #define module_init(initfn) \
- static inline initcall_t __maybe_unused __inittest(void) \
- { return initfn; } \
-- int init_module(void) __attribute__((alias(#initfn)));
-+ int init_module(void) __copy(initfn) __attribute__((alias(#initfn)));
-
- /* This is only required if you want to be unloadable. */
- #define module_exit(exitfn) \
- static inline exitcall_t __maybe_unused __exittest(void) \
- { return exitfn; } \
-- void cleanup_module(void) __attribute__((alias(#exitfn)));
-+ void cleanup_module(void) __copy(exitfn) __attribute__((alias(#exitfn)));
-
- #endif
-
---
-2.21.0
-
-
diff --git a/recipes-kernel/linux/linux-imx-4.14.98/imx/defconfig b/recipes-kernel/linux/linux-imx-4.14.98/imx/defconfig
deleted file mode 100644
index 1bd44d45..00000000
--- a/recipes-kernel/linux/linux-imx-4.14.98/imx/defconfig
+++ /dev/null
@@ -1,464 +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_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_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX50=y
-CONFIG_SOC_IMX53=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6ULL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX7ULP=y
-CONFIG_SOC_VF610=y
-# CONFIG_SWP_EMULATE is not set
-CONFIG_SMP=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_ARM_PSCI=y
-CONFIG_PREEMPT=y
-CONFIG_HIGHMEM=y
-CONFIG_CMA=y
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-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_INTERACTIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX7ULP_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_VLAN_8021Q=y
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_CAN_M_CAN=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_ATH3K=y
-CONFIG_BT_HCIBCM203X=y
-CONFIG_BT_ATH3K=y
-CONFIG_CFG80211=y
-CONFIG_NL80211_TESTMODE=y
-CONFIG_CFG80211_INTERNAL_REGDB=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=0
-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_MXC=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_MTD_UBI=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_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_MICREL_PHY=y
-CONFIG_USB_KAWETH=y
-CONFIG_USB_PEGASUS=y
-CONFIG_USB_RTL8150=y
-CONFIG_USB_RTL8152=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_ATH6KL=m
-CONFIG_ATH6KL_SDIO=m
-CONFIG_BRCMFMAC=m
-CONFIG_HOSTAP=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_RPMSG=y
-CONFIG_KEYBOARD_PF1550_ONKEY=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_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=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_FSL_OTP=y
-CONFIG_HW_RANDOM_IMX_RNG=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX_GPIO=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_SPI=y
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_SPI_SLAVE=y
-CONFIG_SPI_SLAVE_TIME=y
-CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_IMX_RPMSG=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_74X164=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_CHARGER_PF1550=y
-CONFIG_SABRESD_MAX8903=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_SENSORS_MAG3110=y
-CONFIG_THERMAL=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_PF1550=y
-CONFIG_MFD_MAX17135=y
-CONFIG_MFD_SI476X_CORE=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PF1550=y
-CONFIG_REGULATOR_PF1550_RPMSG=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_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MXC_OUTPUT=y
-CONFIG_VIDEO_MXC_CAPTURE=m
-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_OV5642=m
-CONFIG_MXC_CAMERA_OV5640_MIPI=m
-CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
-CONFIG_MXC_CAMERA_OV5647_MIPI=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_SOC_CAMERA=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=y
-CONFIG_RADIO_SI476X=y
-CONFIG_DRM=y
-CONFIG_DRM_VIVANTE=y
-CONFIG_FB_MXS=y
-CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_OVERLAY=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5079E=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-CONFIG_FB_MXC_RK_PANEL_RK055AHD042=y
-CONFIG_FB_MXC_RK_PANEL_RK055IQH042=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXS_SII902X=y
-CONFIG_FB_MXC_DCIC=m
-CONFIG_FB_MXC_ADV7535=y
-CONFIG_HANNSTAR_CABC=y
-CONFIG_FB_MXC_EINK_PANEL=y
-CONFIG_FB_MXC_EINK_V2_PANEL=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_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_USB=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=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_FSL_UTP=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=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_MXC_SIM=y
-CONFIG_MXC_SIMv2=y
-CONFIG_MXC_IPU=y
-CONFIG_MXC_IPU_V3_PRE=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_MXC_HDMI_CEC=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_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=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_IOMMU_SUPPORT is not set
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_IMX7D_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_PWM=y
-CONFIG_PWM_IMX=y
-CONFIG_PWM_TPM=y
-CONFIG_TEE=y
-CONFIG_OPTEE=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=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_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_RMD128=y
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=y
-CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=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
diff --git a/recipes-kernel/linux/linux-imx-4.14.98/mx8/defconfig b/recipes-kernel/linux/linux-imx-4.14.98/mx8/defconfig
deleted file mode 100644
index 9c3d9ea7..00000000
--- a/recipes-kernel/linux/linux-imx-4.14.98/mx8/defconfig
+++ /dev/null
@@ -1,828 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=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_NAMESPACES=y
-CONFIG_USER_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_IOSCHED_DEADLINE is not set
-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_LAYERSCAPE=y
-CONFIG_ARCH_LG1K=y
-CONFIG_ARCH_HISI=y
-CONFIG_ARCH_MEDIATEK=y
-CONFIG_ARCH_MESON=y
-CONFIG_ARCH_MVEBU=y
-CONFIG_ARCH_QCOM=y
-CONFIG_ARCH_ROCKCHIP=y
-CONFIG_ARCH_SEATTLE=y
-CONFIG_ARCH_RENESAS=y
-CONFIG_ARCH_R8A7795=y
-CONFIG_ARCH_R8A7796=y
-CONFIG_ARCH_STRATIX10=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_XGENE=y
-CONFIG_ARCH_ZX=y
-CONFIG_ARCH_ZYNQMP=y
-CONFIG_ARCH_FSL_IMX8QM=y
-CONFIG_ARCH_FSL_IMX8QP=y
-CONFIG_ARCH_FSL_IMX8QXP=y
-CONFIG_ARCH_FSL_IMX8MQ=y
-CONFIG_ARCH_FSL_IMX8MM=y
-CONFIG_PCI=y
-CONFIG_HOTPLUG_PCI_PCIE=y
-CONFIG_PCI_IOV=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_PCI_IMX6=y
-CONFIG_PCI_HISI=y
-CONFIG_PCIE_KIRIN=y
-CONFIG_PCI_AARDVARK=y
-CONFIG_PCIE_RCAR=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCI_XGENE=y
-CONFIG_PCIE_ROCKCHIP=m
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_SCHED_MC=y
-CONFIG_NUMA=y
-CONFIG_PREEMPT=y
-CONFIG_KSM=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_CMA=y
-CONFIG_SECCOMP=y
-CONFIG_KEXEC=y
-CONFIG_CRASH_DUMP=y
-CONFIG_XEN=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_COMPAT=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-CONFIG_ARM_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_CPU_FREQ_GOV_INTERACTIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
-CONFIG_ARM_IMX8_CPUFREQ=y
-CONFIG_ARM_IMX8MQ_CPUFREQ=y
-CONFIG_ARM_SCPI_CPUFREQ=y
-CONFIG_ACPI_CPPC_CPUFREQ=m
-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_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-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_NF_CONNTRACK_IPV4=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_NF_CONNTRACK_IPV6=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=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_LLC2=y
-CONFIG_BPF_JIT=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_HS is not set
-# CONFIG_BT_LE is not set
-CONFIG_BT_LEDS=y
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=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_INTERNAL_REGDB=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_MAC80211_LEDS=y
-CONFIG_NET_9P=y
-CONFIG_NET_9P_VIRTIO=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=320
-CONFIG_ARM_CCI400_PMU=y
-CONFIG_ARM_CCI5xx_PMU=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_RAM=y
-CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_SLRAM=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_DENALI_DT=y
-CONFIG_MTD_NAND_GPMI_NAND=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_SPI_FSL_FLEXSPI=y
-CONFIG_MTD_UBI=y
-CONFIG_OF_OVERLAY=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_XEN_BLKDEV_BACKEND=y
-CONFIG_VIRTIO_BLK=y
-CONFIG_BLK_DEV_NVME=m
-CONFIG_SENSORS_FXOS8700=y
-CONFIG_SENSORS_FXAS2100X=y
-CONFIG_SRAM=y
-CONFIG_EEPROM_AT25=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_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_AHCI_IMX=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_NETDEVICES=y
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_TUN=y
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=y
-CONFIG_AMD_XGBE=y
-CONFIG_NET_XGENE=y
-CONFIG_MACB=y
-CONFIG_HNS_DSAF=y
-CONFIG_HNS_ENET=y
-CONFIG_E1000E=y
-CONFIG_IGB=y
-CONFIG_IGBVF=y
-CONFIG_MVNETA=y
-CONFIG_MVPP2=y
-CONFIG_SKY2=y
-CONFIG_QCOM_EMAC=m
-CONFIG_RAVB=y
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_STMMAC_ETH=m
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_AT803X_PHY=y
-CONFIG_MARVELL_PHY=m
-CONFIG_MESON_GXL_PHY=m
-CONFIG_MICREL_PHY=y
-CONFIG_NXP_TJA110X_PHY=y
-CONFIG_REALTEK_PHY=m
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=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_WLAN_VENDOR_ATH is not set
-CONFIG_BRCMFMAC=m
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_HOSTAP=y
-CONFIG_RTL_CARDS=m
-# CONFIG_WLAN_VENDOR_TI is not set
-CONFIG_XEN_NETDEV_BACKEND=m
-CONFIG_IVSHMEM_NET=y
-CONFIG_INPUT_POLLDEV=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_ADC=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_IMX_SC_PWRKEY=y
-CONFIG_KEYBOARD_CROS_EC=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PM8941_PWRKEY=y
-CONFIG_INPUT_HISI_POWERKEY=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_BCM2835AUX=y
-CONFIG_SERIAL_8250_DW=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_IMX_CONSOLE=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=11
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_SERIAL_MSM=y
-CONFIG_SERIAL_MSM_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_MVEBU_UART=y
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_BCM2835=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_I2C_MESON=y
-CONFIG_I2C_MV64XXX=y
-CONFIG_I2C_PXA=y
-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_XEN_I2C_BACKEND=y
-CONFIG_I2C_RPBUS=y
-CONFIG_SPI=y
-CONFIG_SPI_BCM2835=m
-CONFIG_SPI_BCM2835AUX=m
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_IMX=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_QUP=y
-CONFIG_SPI_S3C64XX=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_IPQ8074=y
-CONFIG_PINCTRL_MSM8916=y
-CONFIG_PINCTRL_MSM8994=y
-CONFIG_PINCTRL_MSM8996=y
-CONFIG_PINCTRL_QDF2XXX=y
-CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_RCAR=y
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_XGENE_SB=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_MAX77620=y
-CONFIG_POWER_AVS=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_BQ27XXX=y
-CONFIG_SENSORS_ARM_SCPI=y
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_INA2XX=m
-# CONFIG_MXC_MMA8451 is not set
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
-CONFIG_CPU_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-CONFIG_IMX8M_THERMAL=y
-CONFIG_IMX8MM_THERMAL=y
-CONFIG_IMX_SC_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_ROCKCHIP_THERMAL=m
-CONFIG_EXYNOS_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_S3C2410_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX8_WDT=y
-CONFIG_MESON_GXBB_WATCHDOG=m
-CONFIG_MESON_WATCHDOG=m
-CONFIG_RENESAS_WDT=y
-CONFIG_UNIPHIER_WATCHDOG=y
-CONFIG_BCM2835_WDT=y
-CONFIG_MFD_AXP20X_RSB=y
-CONFIG_MFD_CROS_EC=y
-CONFIG_MFD_CROS_EC_I2C=y
-CONFIG_MFD_CROS_EC_SPI=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_BD71837=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_AXP20X=y
-CONFIG_REGULATOR_FAN53555=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_HI6421V530=y
-CONFIG_REGULATOR_HI655X=y
-CONFIG_REGULATOR_MAX77620=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PWM=y
-CONFIG_REGULATOR_QCOM_SMD_RPM=y
-CONFIG_REGULATOR_QCOM_SPMI=y
-CONFIG_REGULATOR_RK808=y
-CONFIG_REGULATOR_S2MPS11=y
-CONFIG_REGULATOR_BD71837=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_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_CEC_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_MXC_CAPTURE=y
-CONFIG_VIDEO_MX8_CAPTURE=y
-CONFIG_GMSL_MAX9286=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_SAMSUNG_S5P_JPEG=m
-CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
-CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
-CONFIG_VIDEO_RENESAS_FCP=m
-CONFIG_VIDEO_RENESAS_VSP1=m
-CONFIG_IMX_DPU_CORE=y
-CONFIG_IMX_DCSS_CORE=y
-CONFIG_IMX_LCDIF_CORE=y
-CONFIG_DRM=y
-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_LVDS=y
-CONFIG_DRM_RCAR_VSP=y
-CONFIG_DRM_MSM=m
-CONFIG_DRM_TEGRA=m
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
-CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
-CONFIG_DRM_NXP_SEIKO_43WVFIG=y
-CONFIG_DRM_I2C_ADV7511=y
-CONFIG_DRM_ITE_IT6263=y
-CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
-CONFIG_DRM_IMX_TVE=y
-CONFIG_DRM_IMX_LDB=y
-CONFIG_DRM_IMX_HDMI=y
-CONFIG_DRM_IMX_NWL_DSI=y
-CONFIG_DRM_IMX_SEC_DSIM=y
-CONFIG_DRM_IMX_HDP=y
-CONFIG_IMX_HDP_CEC=y
-CONFIG_DRM_VC4=m
-CONFIG_DRM_HISI_KIRIN=m
-CONFIG_DRM_MXSFB=y
-CONFIG_DRM_MESON=m
-CONFIG_FB_IMX64=y
-CONFIG_FB_IMX64_DEBUG=y
-CONFIG_FB_ARMCLCD=y
-CONFIG_FB_MXC_DISP_FRAMEWORK=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_BACKLIGHT_LP855X=m
-CONFIG_FRAMEBUFFER_CONSOLE=y
-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_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_BCM2835_SOC_I2S=m
-CONFIG_SND_SOC_FSL_ACM=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_WM8962=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_AMIX=y
-CONFIG_SND_SOC_IMX_CDNHDMI=y
-CONFIG_SND_SOC_IMX_DSP=y
-CONFIG_SND_SOC_SAMSUNG=y
-CONFIG_SND_SOC_RCAR=y
-CONFIG_SND_SOC_AK4613=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_KENSINGTON=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_MULTITOUCH=y
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_OTG_WHITELIST=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_TEGRA=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MSM=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_HCD_TEST_MODE=y
-CONFIG_USB_RENESAS_USBHS=m
-CONFIG_USB_ACM=m
-CONFIG_USB_STORAGE=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_ISP1760_HOST_ROLE=y
-CONFIG_USB_CDNS3=y
-CONFIG_USB_CDNS3_GADGET=y
-CONFIG_USB_CDNS3_HOST=y
-CONFIG_USB_TEST=m
-CONFIG_USB_EHSET_TEST_FIXTURE=y
-CONFIG_USB_HSIC_USB3503=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_GPIO_VBUS=y
-CONFIG_USB_QCOM_8X16_PHY=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_ULPI=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_RENESAS_USBHS_UDC=m
-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_FSL_UTP=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_ZERO=m
-CONFIG_USB_AUDIO=m
-CONFIG_GADGET_UAC1=y
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_EEM=y
-CONFIG_USB_G_NCM=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_USB_CDC_COMPOSITE=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_MESON_GX=y
-CONFIG_MMC_SDHCI_MSM=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_SDHI=y
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_EXYNOS=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_MXC_MLB150=y
-CONFIG_MXC_SIM=y
-CONFIG_MXC_EMVSIM=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_PWM=y
-CONFIG_LEDS_SYSCON=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_EDAC=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_EFI=y
-CONFIG_RTC_DRV_S3C=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_RTC_DRV_TEGRA=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_RTC_DRV_IMX_SC=y
-CONFIG_RTC_DRV_XGENE=y
-CONFIG_DMADEVICES=y
-CONFIG_DMA_BCM2835=m
-CONFIG_FSL_EDMA_V3=y
-CONFIG_IMX_SDMA=y
-CONFIG_K3_DMA=y
-CONFIG_MV_XOR_V2=y
-CONFIG_MXS_DMA=y
-CONFIG_PL330_DMA=y
-CONFIG_TEGRA20_APB_DMA=y
-CONFIG_QCOM_BAM_DMA=y
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_RCAR_DMAC=y
-CONFIG_UIO=y
-CONFIG_UIO_PCI_GENERIC=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_ION=y
-CONFIG_ION_SYSTEM_HEAP=y
-CONFIG_ION_CMA_HEAP=y
-CONFIG_TYPEC_TCPM=y
-CONFIG_TYPEC_TCPCI=y
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_CLK_QORIQ=y
-CONFIG_COMMON_CLK_PWM=y
-CONFIG_COMMON_CLK_QCOM=y
-CONFIG_QCOM_CLK_SMD_RPM=y
-CONFIG_IPQ_GCC_8074=y
-CONFIG_MSM_GCC_8916=y
-CONFIG_MSM_GCC_8994=y
-CONFIG_MSM_MMCC_8996=y
-CONFIG_HWSPINLOCK=y
-CONFIG_HWSPINLOCK_QCOM=y
-CONFIG_CLKSRC_IMX_SYS_CNT=y
-CONFIG_ARM_MHU=y
-CONFIG_PLATFORM_MHU=y
-CONFIG_BCM2835_MBOX=y
-CONFIG_HI6220_MBOX=y
-CONFIG_ROCKCHIP_IOMMU=y
-CONFIG_ARM_SMMU=y
-CONFIG_ARM_SMMU_V3=y
-CONFIG_RPMSG=y
-CONFIG_RPMSG_QCOM_SMD=y
-CONFIG_RASPBERRYPI_POWER=y
-CONFIG_ARCH_MXC_ARM64=y
-CONFIG_QCOM_SMEM=y
-CONFIG_QCOM_SMD_RPM=y
-CONFIG_QCOM_SMP2P=y
-CONFIG_QCOM_SMSM=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_EXTCON_PTN5150=y
-CONFIG_IIO=y
-CONFIG_EXYNOS_ADC=y
-CONFIG_IMX8QXP_ADC=y
-CONFIG_ROCKCHIP_SARADC=m
-CONFIG_PWM=y
-CONFIG_PWM_BCM2835=m
-CONFIG_PWM_CROS_EC=m
-CONFIG_PWM_FSL_FTM=y
-CONFIG_PWM_IMX=y
-CONFIG_PWM_MESON=m
-CONFIG_PWM_ROCKCHIP=y
-CONFIG_PWM_SAMSUNG=y
-CONFIG_PWM_TEGRA=m
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_SUN4I_USB=y
-CONFIG_PHY_HI6220_USB=y
-CONFIG_PHY_RCAR_GEN3_USB2=y
-CONFIG_PHY_ROCKCHIP_EMMC=y
-CONFIG_PHY_ROCKCHIP_INNO_USB2=y
-CONFIG_PHY_ROCKCHIP_PCIE=m
-CONFIG_PHY_TEGRA_XUSB=y
-CONFIG_QCOM_L2_PMU=y
-CONFIG_QCOM_L3_PMU=y
-CONFIG_IMX8_DDR_PERF=y
-CONFIG_NVMEM_IMX_OCOTP=y
-CONFIG_NVMEM_IMX_SCU_OCOTP=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_RASPBERRYPI_FIRMWARE=y
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_ACPI=y
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=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_VIRTUALIZATION=y
-CONFIG_KVM=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_FTRACE is not set
-CONFIG_MEMTEST=y
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CHACHA20POLY1305=y
-CONFIG_CRYPTO_ECHAINIV=y
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_RMD128=y
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=y
-CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_SHA3=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA512_ARM64=m
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_CRC32_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
diff --git a/recipes-kernel/linux/linux-imx-headers_4.14.98.bb b/recipes-kernel/linux/linux-imx-headers_4.14.98.bb
deleted file mode 100644
index e55a795b..00000000
--- a/recipes-kernel/linux/linux-imx-headers_4.14.98.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2017-2018 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=d7810fab7487fb0aad327b76f1be7cd7"
-
-SRCBRANCH = "imx_4.14.98_2.0.0_ga"
-LOCALVERSION = "-imx"
-SRC_URI = "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "dfc78102d29f81d9316b281a3b8af3dff95174c8"
-
-S = "${WORKDIR}/git"
-
-do_compile[noexec] = "1"
-
-IMX_UAPI_HEADERS = " \
- dma-buf.h \
- hantrodec.h \
- hx280enc.h \
- ion.h \
- ipu.h \
- isl29023.h \
- mxc_asrc.h \
- mxc_dcic.h \
- mxc_mlb.h \
- mxc_sim_interface.h \
- mxc_v4l2.h \
- mxcfb.h \
- pxp_device.h \
- pxp_dma.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
- # installed by mistake.
- oe_runmake headers_install INSTALL_HDR_PATH=${B}${exec_prefix}
-
- # 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
- for h in ${IMX_UAPI_HEADERS}; do
- install -D -m 0644 ${B}${includedir}/linux/$h \
- ${D}${includedir}/imx/linux/$h
- done
-}
-
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_HOST_imx = ".*"
-COMPATIBLE_HOST ?= "(none)"
diff --git a/recipes-kernel/linux/linux-imx-headers_6.6.bb b/recipes-kernel/linux/linux-imx-headers_6.6.bb
new file mode 100644
index 00000000..95ec32b0
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-headers_6.6.bb
@@ -0,0 +1,78 @@
+# 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 = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+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"
+
+do_configure[noexec] = "1"
+
+do_compile[noexec] = "1"
+
+IMX_UAPI_HEADERS = " \
+ dma-buf.h \
+ hantrodec.h \
+ hx280enc.h \
+ ipu.h \
+ imx_vpu.h \
+ mxc_asrc.h \
+ mxc_dcic.h \
+ mxc_mlb.h \
+ mxc_sim_interface.h \
+ mxc_v4l2.h \
+ 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
+ # 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 ${B}${exec_prefix}/include/scsi/scsi.h
+
+ # The ..install.cmd conflicts between various configure runs
+ find ${B}${includedir} -name ..install.cmd | xargs rm -f
+ # END Copy from linux-libc-headers
+ ################################################
+
+ # 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
+ done
+}
+
+# Allow to build empty main package, this is required in order for -dev package
+# to be propagated into the SDK
+#
+# 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"
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "unifdef-native bison-native rsync-native"
+
+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 = '.*'
diff --git a/recipes-kernel/linux/linux-imx-mfgtool-4.14.98/defconfig b/recipes-kernel/linux/linux-imx-mfgtool-4.14.98/defconfig
deleted file mode 100644
index 85410638..00000000
--- a/recipes-kernel/linux/linux-imx-mfgtool-4.14.98/defconfig
+++ /dev/null
@@ -1,466 +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_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_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_MXC=y
-CONFIG_SOC_IMX50=y
-CONFIG_SOC_IMX53=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6ULL=y
-CONFIG_SOC_IMX7D=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX7ULP=y
-CONFIG_SOC_VF610=y
-# CONFIG_SWP_EMULATE is not set
-CONFIG_SMP=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_ARM_PSCI=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-CONFIG_HIGHMEM=y
-CONFIG_CMA=y
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
-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_INTERACTIVE=y
-CONFIG_ARM_IMX6Q_CPUFREQ=y
-CONFIG_ARM_IMX7D_CPUFREQ=y
-CONFIG_ARM_IMX7ULP_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_VLAN_8021Q=y
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_CAN_M_CAN=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_ATH3K=y
-CONFIG_BT_HCIBCM203X=y
-CONFIG_BT_ATH3K=y
-CONFIG_CFG80211=y
-CONFIG_NL80211_TESTMODE=y
-CONFIG_CFG80211_INTERNAL_REGDB=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_MAC80211=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=0
-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_MXC=y
-CONFIG_MTD_SPI_NOR=y
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-CONFIG_SPI_FSL_QUADSPI=y
-CONFIG_MTD_UBI=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_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_MICREL_PHY=y
-CONFIG_USB_KAWETH=y
-CONFIG_USB_PEGASUS=y
-CONFIG_USB_RTL8150=y
-CONFIG_USB_RTL8152=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_BCMDHD=y
-CONFIG_BCMDHD_SDIO=y
-CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin"
-CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.OOB.cal"
-CONFIG_HOSTAP=y
-# CONFIG_RTL_CARDS is not set
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_RPMSG=y
-CONFIG_KEYBOARD_PF1550_ONKEY=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_MAX11801=y
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
-CONFIG_TOUCHSCREEN_MC13783=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-CONFIG_TOUCHSCREEN_STMPE=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_DEVKMEM is not set
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_FSL_LPUART=y
-CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
-CONFIG_FSL_OTP=y
-CONFIG_HW_RANDOM_IMX_RNG=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_IMX=y
-CONFIG_I2C_IMX_LPI2C=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_FSL_LPSPI=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_IMX_RPMSG=y
-CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_74X164=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_CHARGER_PF1550=y
-CONFIG_SABRESD_MAX8903=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_SENSORS_MAG3110=y
-CONFIG_THERMAL=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_CPU_THERMAL=y
-CONFIG_IMX_THERMAL=y
-CONFIG_DEVICE_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=y
-CONFIG_IMX7ULP_WDT=y
-CONFIG_MFD_DA9052_I2C=y
-CONFIG_MFD_MC13XXX_SPI=y
-CONFIG_MFD_MC13XXX_I2C=y
-CONFIG_MFD_PF1550=y
-CONFIG_MFD_MAX17135=y
-CONFIG_MFD_SI476X_CORE=y
-CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_ANATOP=y
-CONFIG_REGULATOR_DA9052=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_REGULATOR_MC13783=y
-CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_PF1550=y
-CONFIG_REGULATOR_PF1550_RPMSG=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_MEDIA_RC_SUPPORT=y
-CONFIG_RC_DEVICES=y
-CONFIG_IR_GPIO_CIR=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MXC_OUTPUT=y
-CONFIG_VIDEO_MXC_CAPTURE=m
-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_OV5642=m
-CONFIG_MXC_CAMERA_OV5640_MIPI=m
-CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
-CONFIG_MXC_CAMERA_OV5647_MIPI=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_SOC_CAMERA=y
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_CODA=y
-CONFIG_RADIO_SI476X=y
-CONFIG_SOC_CAMERA_OV2640=y
-CONFIG_DRM=y
-CONFIG_DRM_VIVANTE=y
-CONFIG_FB_MXS=y
-CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_OVERLAY=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5079E=y
-CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXS_SII902X=y
-CONFIG_FB_MXC_DCIC=m
-CONFIG_FB_MXC_ADV7535=y
-CONFIG_HANNSTAR_CABC=y
-CONFIG_FB_MXC_EINK_PANEL=y
-CONFIG_FB_MXC_EINK_V2_PANEL=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_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_USB=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=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_USB_MXS_PHY=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_RNDIS=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_FSL_UTP=y
-CONFIG_USB_CONFIGFS_F_LB_SS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_G_NCM=m
-CONFIG_USB_GADGETFS=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_MXC_IPU=y
-CONFIG_MXC_IPU_V3_PRE=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_MXC_HDMI_CEC=y
-CONFIG_MXC_SIM=y
-CONFIG_MXC_SIMv2=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_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_MC13XXX=y
-CONFIG_RTC_DRV_MXC=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_ION=y
-CONFIG_ION_MXC=y
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_IMX7D_ADC=y
-CONFIG_VF610_ADC=y
-CONFIG_PWM=y
-CONFIG_PWM_IMX=y
-CONFIG_PWM_TPM=y
-CONFIG_TEE=y
-CONFIG_OPTEE=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=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_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_FTRACE is not set
-CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_USER=y
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_RMD128=y
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=y
-CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=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
diff --git a/recipes-kernel/linux/linux-imx-mfgtool_4.14.98.bb b/recipes-kernel/linux/linux-imx-mfgtool_4.14.98.bb
deleted file mode 100644
index 543fe980..00000000
--- a/recipes-kernel/linux/linux-imx-mfgtool_4.14.98.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-${PV}:"
-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 9a8a035f..34d50cfc 100644
--- a/recipes-kernel/linux/linux-imx.inc
+++ b/recipes-kernel/linux/linux-imx.inc
@@ -1,22 +1,66 @@
# 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 fsl-kernel-localversion fsl-vivante-kernel-driver-handler
+inherit kernel-yocto kernel fsl-kernel-localversion fsl-vivante-kernel-driver-handler
# Put a local version until we have a true SRCREV to point to
LOCALVERSION ?= ""
SCMVERSION ?= "y"
SRCBRANCH ?= ""
-SRC_URI = "git://source.codeaurora.org/external/imx/linux-imx;protocol=https;branch=${SRCBRANCH} \
- file://defconfig \
-"
+# 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://github.com/nxp-imx/linux-imx;protocol=https;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
+# Tell to kernel class that we would like to use our defconfig to configure the kernel.
+# Otherwise, the --allnoconfig would be used per default which leads to mis-configured
+# kernel.
+#
+# This behavior happens when a defconfig is provided, the kernel-yocto configuration
+# uses the filename as a trigger to use a 'allnoconfig' baseline before merging
+# the defconfig into the build.
+#
+# If the defconfig file was created with make_savedefconfig, not all options are
+# specified, and should be restored with their defaults, not set to 'n'.
+# To properly expand a defconfig like this, we need to specify: KCONFIG_MODE="--alldefconfig"
+# in the kernel recipe include.
+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_4.14.98.bb b/recipes-kernel/linux/linux-imx_4.14.98.bb
deleted file mode 100644
index 40304b1c..00000000
--- a/recipes-kernel/linux/linux-imx_4.14.98.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2013-2016 (C) Freescale Semiconductor
-# Copyright 2017-2019 (C) NXP
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Linux Kernel provided and supported by NXP"
-DESCRIPTION = "Linux Kernel provided and supported by NXP with focus on \
-i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU."
-
-require recipes-kernel/linux/linux-imx.inc
-
-DEPENDS += "lzop-native bc-native"
-
-SRCBRANCH = "imx_4.14.98_2.0.0_ga"
-LOCALVERSION = "-imx"
-SRCREV = "1175b59611537b0b451e0d1071b1666873a8ec32"
-SRC_URI += "file://0001-compiler-attributes-add-support-for-copy-gcc-9.patch \
- file://0002-include-linux-module.h-copy-init-exit-attrs-to-.patch \
- "
-
-DEFAULT_PREFERENCE = "1"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
diff --git a/recipes-kernel/linux/linux-imx_6.6.bb b/recipes-kernel/linux/linux-imx_6.6.bb
new file mode 100644
index 00000000..409e1f66
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx_6.6.bb
@@ -0,0 +1,33 @@
+# Copyright 2013-2016 (C) Freescale Semiconductor
+# Copyright 2017-2023 (C) NXP
+# Copyright 2018 (C) O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# SPDX-License-Identifier: MIT
+#
+
+SUMMARY = "Linux Kernel provided and supported by NXP"
+DESCRIPTION = "Linux Kernel provided and supported by NXP with focus on \
+i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU."
+
+require recipes-kernel/linux/linux-imx.inc
+
+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 = "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 = "(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_4.19.bb b/recipes-kernel/linux/linux-qoriq.inc
index bfea4bdf..5d28ae84 100644
--- a/recipes-kernel/linux/linux-qoriq_4.19.bb
+++ b/recipes-kernel/linux/linux-qoriq.inc
@@ -3,34 +3,29 @@ inherit fsl-kernel-localversion
SUMMARY = "Linux Kernel for NXP QorIQ platforms"
SECTION = "kernel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LICENSE = "GPL-2.0-only"
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1 \
-"
-SRCREV = "1a4cab2c597de7ac87c6ab4ce2a42e5e5adb3c0b"
-
-SRC_URI += " file://0001-Makfefile-add-cflags.patch \
-"
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}"
ZIMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
+# Set the PV to the correct kernel version to satisfy the kernel version sanity check
+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}"
@@ -38,7 +33,7 @@ do_merge_delta_config[dirs] = "${B}"
do_merge_delta_config() {
# create config with make config
oe_runmake -C ${S} O=${B} ${KERNEL_DEFCONFIG}
-
+
# check if bigendian is enabled
if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then
echo "CONFIG_CPU_BIG_ENDIAN=y" >> .config
@@ -57,16 +52,7 @@ do_merge_delta_config() {
done
cp .config ${WORKDIR}/defconfig
}
-addtask merge_delta_config before do_preconfigure 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
-}
+addtask merge_delta_config before do_kernel_localversion after do_patch
-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-add-cflags.patch b/recipes-kernel/linux/linux-qoriq/0001-Makfefile-add-cflags.patch
deleted file mode 100644
index 4e76c105..00000000
--- a/recipes-kernel/linux/linux-qoriq/0001-Makfefile-add-cflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e2283cc7582ba82f346b05fdb38f0057e54de7fa 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: add cflags
-
-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 967692b..ae395cd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -417,7 +417,7 @@ LINUXINCLUDE := \
- KBUILD_AFLAGS := -D__ASSEMBLY__
- KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
- -fno-strict-aliasing -fno-common -fshort-wchar \
-- -Werror-implicit-function-declaration \
-+ -Werror-implicit-function-declaration -Wno-address-of-packed-member \
- -Wno-format-security \
- -std=gnu89
- KBUILD_CPPFLAGS := -D__KERNEL__
---
-2.7.4
-
diff --git a/recipes-kernel/linux/linux-qoriq_4.14.bb b/recipes-kernel/linux/linux-qoriq_4.14.bb
deleted file mode 100644
index cd37c5d2..00000000
--- a/recipes-kernel/linux/linux-qoriq_4.14.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-inherit kernel qoriq_build_64bit_kernel siteinfo
-inherit fsl-kernel-localversion
-
-SUMMARY = "Linux Kernel for NXP QorIQ platforms"
-SECTION = "kernel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1 \
- file://0001-Makfefile-add-cflags.patch \
-"
-SRCREV = "e3aede3681a610e6d42c397b96547dc90f6f9e87"
-
-S = "${WORKDIR}/git"
-
-DEPENDS_append = " libgcc"
-# not put Images into /boot of rootfs, install kernel-image if needed
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
-
-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}"
-ZIMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
-
-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 "
-
-do_merge_delta_config[dirs] = "${B}"
-
-do_merge_delta_config() {
- # create config with make config
- oe_runmake -C ${S} O=${B} ${KERNEL_DEFCONFIG}
-
- # check if bigendian is enabled
- if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then
- echo "CONFIG_CPU_BIG_ENDIAN=y" >> .config
- echo "CONFIG_MTD_CFI_BE_BYTE_SWAP=y" >> .config
- fi
-
- # add config fragments
- for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do
- if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then
- oe_runmake -C ${S} O=${B} ${deltacfg}
- elif [ -f "${WORKDIR}/${deltacfg}" ]; then
- ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg}
- elif [ -f "${deltacfg}" ]; then
- ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg}
- fi
- done
- cp .config ${WORKDIR}/defconfig
-}
-addtask merge_delta_config before do_preconfigure 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*"
-COMPATIBLE_MACHINE = "(qoriq)"
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/skmm-host/skmm-host_git.bb b/recipes-kernel/skmm-host/skmm-host_git.bb
index 4c7a371a..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://git.freescale.com/ppc/sdk/skmm-host.git;branch=sdk-v2.0.x"
+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
new file mode 100644
index 00000000..f801309e
--- /dev/null
+++ b/recipes-multimedia/alsa/alsa-lib/0006-add-conf-for-iMX-XCVR-sound-card.patch
@@ -0,0 +1,117 @@
+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
+
+Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
+
+---
+ 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(-)
+ create mode 100755 src/conf/cards/IMX-XCVR.conf
+
+diff --git a/src/conf/cards/IMX-XCVR.conf b/src/conf/cards/IMX-XCVR.conf
+new file mode 100755
+index 0000000..ee323c7
+--- /dev/null
++++ b/src/conf/cards/IMX-XCVR.conf
+@@ -0,0 +1,69 @@
++#
++# Configuration for the IMX-XCVR sound card using software IEC958
++# subframe conversion
++#
++IMX-XCVR.pcm.default {
++ @args [ CARD ]
++ @args.CARD { type string }
++ type asym
++ playback.pcm {
++ type linear
++ slave.pcm {
++ @func concat
++ strings [ "iec958:" $CARD ]
++ }
++ slave.format S24_LE
++ }
++ capture.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "iec958:" $CARD ]
++ }
++ }
++}
++
++<confdir:pcm/iec958.conf>
++
++IMX-XCVR.pcm.iec958.0 {
++ @args [ CARD AES0 AES1 AES2 AES3 ]
++ @args.CARD { type string }
++ @args.AES0 { type integer }
++ @args.AES1 { type integer }
++ @args.AES2 { type integer }
++ @args.AES3 { type integer }
++ type asym
++ playback.pcm {
++ type hooks
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ hooks.0 {
++ type ctl_elems
++ hook_args [
++ {
++ interface PCM
++ name "IEC958 Playback Default"
++ preserve true
++ optional true
++ value [ $AES0 $AES1 $AES2 $AES3 ]
++ }
++ ]
++ }
++ }
++ capture.pcm {
++ type iec958
++ slave {
++ format IEC958_SUBFRAME_LE
++ pcm {
++ type plug
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ }
++ }
++ status [ $AES0 $AES1 $AES2 $AES3 ]
++ }
++}
+diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
+index 34fa5a3..70b9bab 100644
+--- a/src/conf/cards/Makefile.am
++++ b/src/conf/cards/Makefile.am
+@@ -61,7 +61,8 @@ cfg_files = aliases.conf \
+ VXPocket440.conf \
+ CS42888.conf \
+ IMX-HDMI.conf \
+- AK4458.conf
++ AK4458.conf \
++ IMX-XCVR.conf
+
+ if BUILD_ALISP
+ cfg_files += aliases.alisp
+diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
+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
+ 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>
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 3bf3abff..65498aed 100644
--- a/recipes-multimedia/alsa/alsa-lib_%.bbappend
+++ b/recipes-multimedia/alsa/alsa-lib_%.bbappend
@@ -1,10 +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 94c3f4a7..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 = "nxp/master"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
-SRCREV = "9a63071e7734bd164017f3761b8d1944c017611f"
-
-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/files/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/recipes-multimedia/gstreamer/files/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
deleted file mode 100644
index 67a872cd..00000000
--- a/recipes-multimedia/gstreamer/files/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/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch b/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
deleted file mode 100644
index 2cab87f9..00000000
--- a/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 90916f96262fa7b27a0a99788c69f9fd6df11000 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 24 Nov 2015 16:46:27 +0200
-Subject: [PATCH] introspection.m4: prefix pkgconfig paths with
- PKG_CONFIG_SYSROOT_DIR
-
-We can't use our tweaked introspection.m4 from gobject-introspection tarball
-because gstreamer also defines INTROSPECTION_INIT in its introspection.m4, which
-is later supplied to g-ir-scanner.
-
-Upstream-Status: Pending [review on oe-core list]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- common/m4/introspection.m4 | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/common/m4/introspection.m4 b/common/m4/introspection.m4
-index 162be57..217a6ae 100644
---- a/common/m4/introspection.m4
-+++ b/common/m4/introspection.m4
-@@ -54,14 +54,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
- INTROSPECTION_GIRDIR=
- INTROSPECTION_TYPELIBDIR=
- if test "x$found_introspection" = "xyes"; then
-- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-+ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-+ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-+ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-+ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
- INTROSPECTION_INIT="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);"
- fi
- AC_SUBST(INTROSPECTION_SCANNER)
---
-2.6.2
-
diff --git a/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch b/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch
deleted file mode 100644
index d86c78d7..00000000
--- a/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 7018ca1c4bf26c8317e7fcd2e7e4e648195f42ca Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 20 Dec 2017 13:03:03 +0000
-Subject: [PATCH] gstreamer: use a patch instead of sed to fix gtk-doc
-
-Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient
-binaries instead of libtool wrapper or running them directly.
-
-Also substitute a bogus plugin scanner, as trying to run the real one is causing
-issues during build on x86_64.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- common/gtk-doc.mak | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
-index 3f83491..e5cb0d1 100644
---- a/common/gtk-doc.mak
-+++ b/common/gtk-doc.mak
-@@ -6,11 +6,11 @@
- if GTK_DOC_USE_LIBTOOL
- GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
--GTKDOC_RUN = $(LIBTOOL) --mode=execute
-+GTKDOC_RUN = $(top_builddir)/gtkdoc-qemuwrapper
- else
- GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
--GTKDOC_RUN =
-+GTKDOC_RUN = $(top_builddir)/gtkdoc-qemuwrapper
- endif
-
- # We set GPATH here; this gives us semantics for GNU make
-@@ -101,6 +101,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
- GST_PLUGIN_PATH_1_0= \
- GST_REGISTRY_1_0=doc-registry.xml \
- $(GTKDOC_EXTRA_ENVIRONMENT) \
-+ GST_PLUGIN_SCANNER_1_0="$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy" \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" \
- CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \
- LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
---
-2.15.1
-
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.14.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb
deleted file mode 100644
index 64454464..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.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] = "943045b9e937ffc5c6cfa0bd5c44230d"
-SRC_URI[sha256sum] = "fb134b4d3e054746ef8b922ff157b0c7903d1fdd910708a45add66954da7ef89"
-
-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-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
deleted file mode 100644
index 355341e4..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From c890afb8a542a272acb398e8fc289b790afa08e4 Mon Sep 17 00:00:00 2001
-From: Yuqing Zhu <carol.zhu@nxp.com>
-Date: Sat, 21 Apr 2018 00:51:12 +0800
-Subject: [PATCH] Makefile.am: don't hardcode libtool name when running
- introspection tools
-
-Do refine base on commit: 7592e793b3906355d76ca9a59f8fea2749ea2a4e
-
-Upstream-Status: Pending [review on oe-core list]
-
-Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
----
- gst-libs/gst/insertbin/Makefile.am | 2 +-
- gst-libs/gst/mpegts/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am
-index 1f8ea30..4b98ef6 100644
---- a/gst-libs/gst/insertbin/Makefile.am
-+++ b/gst-libs/gst/insertbin/Makefile.am
-@@ -45,7 +45,7 @@ GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GS
- --library=libgstinsertbin-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am
-index f264e33..9934a4d 100644
---- a/gst-libs/gst/mpegts/Makefile.am
-+++ b/gst-libs/gst/mpegts/Makefile.am
-@@ -82,7 +82,7 @@ GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
- --library=libgstmpegts-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-video-@GST_API_VERSION@ \
- --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \
---
-2.7.4
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.14.imx/configure-allow-to-disable-libssh2.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.14.imx/configure-allow-to-disable-libssh2.patch
deleted file mode 100644
index ad863298..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad-1.14.imx/configure-allow-to-disable-libssh2.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From f59c5269f92d59a5296cbfeeb682d42095cd88ad Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Thu, 18 Sep 2014 02:24:07 -0400
-Subject: [PATCH] gstreamer1.0-plugins-bad: allow to disable libssh2
-
-libssh2 is automatically linked to if present, this undetermined
-dependency may cause build errors like:
-
- .../x86_64-poky-linux/4.9.0/ld: cannot find -lssh2
-
-libssh2 isn't an oe-core recipe, so allow to disable it from
-configure.
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- configure.ac | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-Index: gst-plugins-bad-1.12.3/configure.ac
-===================================================================
---- gst-plugins-bad-1.12.3.orig/configure.ac
-+++ gst-plugins-bad-1.12.3/configure.ac
-@@ -2139,6 +2139,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom
- ])
-
- dnl *** Curl ***
-+AC_ARG_ENABLE([libssh2],
-+ [ --enable-libssh2 enable LIBSSH2 support @<:@default=auto@:>@],
-+ [case "${enableval}" in
-+ yes) NEED_SSH2=yes ;;
-+ no) NEED_SSH2=no ;;
-+ auto) NEED_SSH2=auto ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-libssh2]) ;;
-+ esac],[NEED_SSH2=auto])
-+
- translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
- AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
- PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
-@@ -2161,12 +2170,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin]
- ])
- AC_SUBST(CURL_CFLAGS)
- AC_SUBST(CURL_LIBS)
-- PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
-- HAVE_SSH2="yes"
-- AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
-- ], [
-- HAVE_SSH2="no"
-- ])
-+ if test "x$NEED_SSH2" != "xno"; then
-+ PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
-+ HAVE_SSH2="yes"
-+ AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
-+ ], [
-+ HAVE_SSH2="no"
-+ ])
-+ fi
- AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
- AC_SUBST(SSH2_CFLAGS)
- AC_SUBST(SSH2_LIBS)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-fix-build-for-opencv-3-4-2.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-fix-build-for-opencv-3-4-2.patch
deleted file mode 100644
index 5c53e8e5..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-fix-build-for-opencv-3-4-2.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From c247745faaf885fd3fa094198fc0ea288e295dbf Mon Sep 17 00:00:00 2001
-From: Thibault Saunier <tsaunier@igalia.com>
-Date: Fri, 13 Jul 2018 14:42:28 -0400
-Subject: [PATCH] opencv: Fix build for opencv >= 3.4.2
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The `CV_RGB` macro is now in `imgproc.hpp`.
-
-Fixes:
-
- ../subprojects/gst-plugins-bad/ext/opencv/gsthanddetect.cpp:497:40: error: ‘CV_RGB’ was not declared in this scope
- cvCircle (img, center, radius, CV_RGB (0, 0, 200), 1, 8, 0);
- ^~~~~~
----
- ext/opencv/MotionCells.cpp | 3 +++
- ext/opencv/gsthanddetect.cpp | 3 +++
- ext/opencv/gsttemplatematch.cpp | 3 +++
- 3 files changed, 9 insertions(+)
-
-diff --git a/ext/opencv/MotionCells.cpp b/ext/opencv/MotionCells.cpp
-index f85989e117..175ec901b2 100644
---- a/ext/opencv/MotionCells.cpp
-+++ b/ext/opencv/MotionCells.cpp
-@@ -51,6 +51,9 @@
-
- #include <errno.h>
- #include "MotionCells.h"
-+#if (CV_MAJOR_VERSION >= 3)
-+#include <opencv2/imgproc.hpp>
-+#endif
- #include <opencv2/imgproc/imgproc_c.h>
-
- MotionCells::MotionCells ()
-diff --git a/ext/opencv/gsthanddetect.cpp b/ext/opencv/gsthanddetect.cpp
-index 60fd5be72b..47203fd0ea 100644
---- a/ext/opencv/gsthanddetect.cpp
-+++ b/ext/opencv/gsthanddetect.cpp
-@@ -62,6 +62,9 @@
-
- /* element header */
- #include "gsthanddetect.h"
-+#if (CV_MAJOR_VERSION >= 3)
-+#include <opencv2/imgproc.hpp>
-+#endif
- #include <opencv2/imgproc/imgproc_c.h>
-
- GST_DEBUG_CATEGORY_STATIC (gst_handdetect_debug);
-diff --git a/ext/opencv/gsttemplatematch.cpp b/ext/opencv/gsttemplatematch.cpp
-index f39208dc28..ec0b56af88 100644
---- a/ext/opencv/gsttemplatematch.cpp
-+++ b/ext/opencv/gsttemplatematch.cpp
-@@ -63,6 +63,9 @@
-
- #include "../../gst-libs/gst/gst-i18n-plugin.h"
- #include "gsttemplatematch.h"
-+#if (CV_MAJOR_VERSION >= 3)
-+#include <opencv2/imgproc.hpp>
-+#endif
- #include <opencv2/imgproc/imgproc_c.h>
-
- GST_DEBUG_CATEGORY_STATIC (gst_template_match_debug);
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-Fix-build-with-opencv-3.4.5.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-Fix-build-with-opencv-3.4.5.patch
deleted file mode 100644
index 4c9cba61..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-Fix-build-with-opencv-3.4.5.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 70661ec35ba7655b52f4043ee7362202bc632472 Mon Sep 17 00:00:00 2001
-From: Vincent Dehors <vincent.dehors@smile.fr>
-Date: Mon, 4 Mar 2019 09:01:37 +0100
-Subject: [PATCH] opencv: Fix build with opencv >= 3.4.5
-
-Including C header imgproc_c.h leads to a compilation error : several
-conflicting declartions for cvMoments(). Including the HPP fixes this error
-as it is done in other CPP files in the same directory.
-
-Upstream-Status: Inappropriate, code ported to C++ in more recent version
-Signed-off-by: Vincent DEHORS <vincent.dehors@smile.fr>
-
----
- ext/opencv/gstgrabcut.cpp | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/ext/opencv/gstgrabcut.cpp b/ext/opencv/gstgrabcut.cpp
-index 4cbc706d5..65b508f20 100644
---- a/ext/opencv/gstgrabcut.cpp
-+++ b/ext/opencv/gstgrabcut.cpp
-@@ -85,11 +85,12 @@
- #endif
-
- #include "gstgrabcut.h"
--extern "C"
--{
-+
-+#if (CV_MAJOR_VERSION >= 3)
-+#include <opencv2/imgproc.hpp>
-+#endif
- #include <opencv2/imgproc/imgproc_c.h>
--}
--#include <opencv2/imgproc/imgproc.hpp>
-+
- GST_DEBUG_CATEGORY_STATIC (gst_grabcut_debug);
- #define GST_CAT_DEFAULT gst_grabcut_debug
-
---
-2.20.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_1.14.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb
deleted file mode 100644
index 9cf6bd98..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb
+++ /dev/null
@@ -1,173 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
- file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
-
-DEPENDS_append_imxgpu2d = " virtual/libg2d"
-DEPENDS_append_mx8 = " libdrm"
-
-PACKAGECONFIG_append_mx6q = " opencv"
-PACKAGECONFIG_append_mx6qp = " opencv"
-PACKAGECONFIG_append_mx8 = " opencv kms"
-
-PACKAGECONFIG[wayland] = "--enable-wayland --disable-x11,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
-
-# Disable introspection to fix [GstGL-1.0.gir] Error
-EXTRA_OECONF_append = " --disable-introspection"
-
-
-GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
-SRCBRANCH = "MM_04.04.05_1902_L4.14.98_GA"
-
-SRC_URI = " \
- ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \
- file://configure-allow-to-disable-libssh2.patch \
- file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
-"
-
-SRCREV = "0191521ba226904e4b2f84c38e5f6ae75169a18a"
-
-DEFAULT_PREFERENCE = "-1"
-
-# This remove "--exclude=autopoint" option from autoreconf argument to avoid
-# configure.ac:30: error: required file './ABOUT-NLS' not found
-EXTRA_AUTORECONF = ""
-
-# include fragment shaders
-FILES_${PN}-opengl += "/usr/share/*.fs"
-
-PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
-
-S = "${WORKDIR}/git"
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-
-DEPENDS += "gstreamer1.0-plugins-base jpeg"
-
-inherit gettext
-
-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)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
- bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile ttml uvch264 webp \
-"
-
-# 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[assrender] = "--enable-assrender,--disable-assrender,libass"
-PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez5"
-PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
-PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2"
-PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
-PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb"
-PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl"
-PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac"
-PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2"
-PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa"
-PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
-PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"
-PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,"
-PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm"
-PACKAGECONFIG[libde265] = "--enable-libde265,--disable-libde265,libde265"
-PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms"
-PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2"
-PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
-PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
-PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
-PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
-PACKAGECONFIG[openh264] = "--enable-openh264,--disable-openh264,openh264"
-PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg"
-# the opus encoder/decoder elements are now in the -base package,
-# but the opus parser remains in -bad
-PACKAGECONFIG[opusparse] = "--enable-opus,--disable-opus,libopus"
-PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav"
-PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg"
-PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
-PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
-PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2"
-PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
-PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
-PACKAGECONFIG[tinyalsa] = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa"
-PACKAGECONFIG[ttml] = "--enable-ttml,--disable-ttml,libxml2 pango cairo"
-PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
-PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
-PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
-PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan-loader"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
-PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
-PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice"
-PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing"
-
-# these plugins have no corresponding library in OE-core or meta-openembedded:
-# openni2 winks direct3d directsound winscreencap acm apple_media iqa
-# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa
-# lv2 mpeg2enc mplex msdk musepack nvenc ofa openmpt opensles soundtouch
-# spandsp spc teletextdec vdpau wasapi x265 zbar
-
-EXTRA_OECONF += " \
- --enable-decklink \
- --enable-dvb \
- --enable-fbdev \
- --enable-ipcpipeline \
- --enable-netsim \
- --enable-shm \
- --enable-vcd \
- --disable-acm \
- --disable-android_media \
- --disable-aom \
- --disable-apple_media \
- --disable-avc \
- --disable-bs2b \
- --disable-chromaprint \
- --disable-daala \
- --disable-direct3d \
- --disable-directsound \
- --disable-dts \
- --disable-fdk_aac \
- --disable-gme \
- --disable-gsm \
- --disable-iqa \
- --disable-kate \
- --disable-ladspa \
- --disable-lv2 \
- --disable-mpeg2enc \
- --disable-mplex \
- --disable-msdk \
- --disable-musepack \
- --disable-nvenc \
- --disable-ofa \
- --disable-openexr \
- --disable-openmpt \
- --disable-openni2 \
- --disable-opensles \
- --disable-soundtouch \
- --disable-spandsp \
- --disable-spc \
- --disable-srt \
- --disable-teletextdec \
- --disable-vdpau \
- --disable-wasapi \
- --disable-wildmidi \
- --disable-winks \
- --disable-winscreencap \
- --disable-x265 \
- --disable-zbar \
- ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \
-"
-export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
-
-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-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
deleted file mode 100644
index bcada34c..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 7022b87353a37b78bae7cf0106a4e47913bb5c97 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 5 Apr 2018 10:15:08 +0800
-Subject: [PATCH] Makefile.am: don't hardcode libtool name when running
- introspection tools
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- gst-libs/gst/allocators/Makefile.am | 2 +-
- gst-libs/gst/app/Makefile.am | 2 +-
- gst-libs/gst/audio/Makefile.am | 2 +-
- gst-libs/gst/gl/Makefile.am | 2 +-
- gst-libs/gst/pbutils/Makefile.am | 2 +-
- gst-libs/gst/riff/Makefile.am | 2 +-
- gst-libs/gst/rtp/Makefile.am | 2 +-
- gst-libs/gst/rtsp/Makefile.am | 2 +-
- gst-libs/gst/sdp/Makefile.am | 2 +-
- gst-libs/gst/tag/Makefile.am | 2 +-
- gst-libs/gst/video/Makefile.am | 2 +-
- 11 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
-index 1957d28..1ecc950 100644
---- a/gst-libs/gst/allocators/Makefile.am
-+++ b/gst-libs/gst/allocators/Makefile.am
-@@ -42,7 +42,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstallocators-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg-export gstreamer-allocators-@GST_API_VERSION@ \
- --output $@ \
-diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
-index 52f6ad3..5bfd606 100644
---- a/gst-libs/gst/app/Makefile.am
-+++ b/gst-libs/gst/app/Makefile.am
-@@ -56,7 +56,7 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
- --library=libgstapp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-app-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
-index 2922245..7fb65f2 100644
---- a/gst-libs/gst/audio/Makefile.am
-+++ b/gst-libs/gst/audio/Makefile.am
-@@ -184,7 +184,7 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
- --include=GstTag-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-audio-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
-index 4e77e8c..3276d7f 100644
---- a/gst-libs/gst/gl/Makefile.am
-+++ b/gst-libs/gst/gl/Makefile.am
-@@ -193,7 +193,7 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
- --include=GstVideo-@GST_API_VERSION@ \
-- --libtool="${LIBTOOL}" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg gstreamer-video-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
-index ae51993..35a6e44 100644
---- a/gst-libs/gst/pbutils/Makefile.am
-+++ b/gst-libs/gst/pbutils/Makefile.am
-@@ -103,7 +103,7 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
- --include=GstTag-@GST_API_VERSION@ \
- --include=GstVideo-@GST_API_VERSION@ \
- --include=GstAudio-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-tag-@GST_API_VERSION@ \
- --pkg gstreamer-video-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
-index fb53f06..e66ef4f 100644
---- a/gst-libs/gst/riff/Makefile.am
-+++ b/gst-libs/gst/riff/Makefile.am
-@@ -49,7 +49,7 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- # --include=GstAudio-@GST_API_VERSION@ \
- # --include=GstTag-@GST_API_VERSION@ \
- # --include=Gst-@GST_API_VERSION@ \
--# --libtool="$(top_builddir)/libtool" \
-+# --libtool="$(LIBTOOL)" \
- # --pkg gstreamer-@GST_API_VERSION@ \
- # --pkg gstreamer-tag-@GST_API_VERSION@ \
- # --pkg gstreamer-audio-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
-index a6f971d..77ebeeb 100644
---- a/gst-libs/gst/rtp/Makefile.am
-+++ b/gst-libs/gst/rtp/Makefile.am
-@@ -69,7 +69,7 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
- --library=libgstrtp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-rtp-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
-index ceb07f4..db9d0fd 100644
---- a/gst-libs/gst/rtsp/Makefile.am
-+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -76,7 +76,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- --include=Gio-2.0 \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstSdp-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gio-2.0 \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-sdp-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
-index e197e9b..6e05cc7 100644
---- a/gst-libs/gst/sdp/Makefile.am
-+++ b/gst-libs/gst/sdp/Makefile.am
-@@ -34,7 +34,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstsdp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg-export gstreamer-sdp-@GST_API_VERSION@ \
- --output $@ \
-diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
-index 0247c33..c86515b 100644
---- a/gst-libs/gst/tag/Makefile.am
-+++ b/gst-libs/gst/tag/Makefile.am
-@@ -66,7 +66,7 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
- --library=libgsttag-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-tag-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
-index 9fc1ccf..0f8455f 100644
---- a/gst-libs/gst/video/Makefile.am
-+++ b/gst-libs/gst/video/Makefile.am
-@@ -124,7 +124,7 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
- --library=libgstvideo-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-video-@GST_API_VERSION@ \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0001-gstreamer1.0-plugins-base-Fix-ion.h-header-inclusion.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0001-gstreamer1.0-plugins-base-Fix-ion.h-header-inclusion.patch
deleted file mode 100644
index d3822cfc..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0001-gstreamer1.0-plugins-base-Fix-ion.h-header-inclusion.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 84f693a70e6f3084ca67063a6336aaf3287abb49 Mon Sep 17 00:00:00 2001
-From: Yuqing Zhu <carol.zhu@nxp.com>
-Date: Thu, 27 Sep 2018 13:53:49 +0800
-Subject: [PATCH] gstreamer1.0-plugins-base: Fix ion.h header inclusion to be
- standard
-
-NXP "solution" was to manually copy the header to include/linux.
-Let's point the Makefile to the proper (mainline) location instead:
-https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h
-
-Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
----
- configure.ac | 2 +-
- gst-libs/gst/allocators/gstionmemory.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 51272df..4bea0dd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -678,7 +678,7 @@ AG_GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
- dnl check for ion
- translit(dnm, m, l) AM_CONDITIONAL(USE_ION, true)
- AG_GST_CHECK_FEATURE(ION, [ion], ion, [
-- AC_CHECK_HEADER(linux/ion.h, HAVE_ION="yes", HAVE_ION="no")
-+ AC_CHECK_HEADER(ion.h, HAVE_ION="yes", HAVE_ION="no")
- ])
-
- dnl FIXME : add second check somehow if that is necessary
-diff --git a/gst-libs/gst/allocators/gstionmemory.c b/gst-libs/gst/allocators/gstionmemory.c
-index 5e0455c..a285f09 100644
---- a/gst-libs/gst/allocators/gstionmemory.c
-+++ b/gst-libs/gst/allocators/gstionmemory.c
-@@ -26,7 +26,7 @@
- #include <sys/ioctl.h>
- #include <sys/mman.h>
- #include <sys/types.h>
--#include <linux/ion.h>
-+#include <ion.h>
- #include <linux/dma-buf.h>
- #include <linux/version.h>
-
---
-1.9.1
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
deleted file mode 100644
index 4b6cfdd6..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
+++ /dev/null
@@ -1,289 +0,0 @@
-From e3f28d15e38f7633d8ed4023fe883b8377c0597e Mon Sep 17 00:00:00 2001
-From: Yuqing Zhu <carol.zhu@nxp.com>
-Date: Fri, 20 Apr 2018 02:03:57 +0800
-Subject: [PATCH] Makefile.am: prefix calls to pkg-config with
- PKG_CONFIG_SYSROOT_DIR
-
-Do patch refine base on commit: 990b653c7b6de1937ec759019982d6c5f15770f7
-
-Upstream-Status: Pending [review on oe-core maillist]
-
-Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
----
- gst-libs/gst/allocators/Makefile.am | 4 ++--
- gst-libs/gst/app/Makefile.am | 8 ++++----
- gst-libs/gst/audio/Makefile.am | 12 ++++++------
- gst-libs/gst/pbutils/Makefile.am | 12 ++++++------
- gst-libs/gst/riff/Makefile.am | 8 ++++----
- gst-libs/gst/rtp/Makefile.am | 8 ++++----
- gst-libs/gst/rtsp/Makefile.am | 4 ++--
- gst-libs/gst/sdp/Makefile.am | 4 ++--
- gst-libs/gst/tag/Makefile.am | 8 ++++----
- gst-libs/gst/video/Makefile.am | 8 ++++----
- 10 files changed, 38 insertions(+), 38 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
-index c4412a1..9f9d14d 100644
---- a/gst-libs/gst/allocators/Makefile.am
-+++ b/gst-libs/gst/allocators/Makefile.am
-@@ -59,7 +59,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
- --c-include "gst/allocators/allocators.h" \
- -I$(top_srcdir)/gst-libs \
- -I$(top_builddir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstallocators-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --libtool="$(LIBTOOL)" \
-@@ -83,7 +83,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
-index 5bfd606..c231267 100644
---- a/gst-libs/gst/app/Makefile.am
-+++ b/gst-libs/gst/app/Makefile.am
-@@ -51,8 +51,8 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
- --c-include "gst/app/app.h" \
- -I$(top_srcdir)/gst-libs \
- -I$(top_builddir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --library=libgstapp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-@@ -79,8 +79,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
-index 7fb65f2..5379f79 100644
---- a/gst-libs/gst/audio/Makefile.am
-+++ b/gst-libs/gst/audio/Makefile.am
-@@ -174,12 +174,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
- -I$(top_srcdir)/gst-libs \
- -I$(top_builddir)/gst-libs \
- --c-include "gst/audio/audio.h" \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
- --library=libgstaudio-@GST_API_VERSION@.la \
-- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
-- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
-+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
-+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
- --library-path="$(top_builddir)/gst-libs/gst/tag/" \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-@@ -208,8 +208,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
- --includedir="$(top_builddir)/gst-libs/gst/tag/" \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
-index 35a6e44..49d6894 100644
---- a/gst-libs/gst/pbutils/Makefile.am
-+++ b/gst-libs/gst/pbutils/Makefile.am
-@@ -88,14 +88,14 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
- --c-include "gst/pbutils/pbutils.h" \
- -I$(top_srcdir)/gst-libs \
- -I$(top_builddir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
- --add-include-path="$(top_builddir)/gst-libs/gst/video/" \
- --add-include-path="$(top_builddir)/gst-libs/gst/audio/" \
- --library=libgstpbutils-@GST_API_VERSION@.la \
-- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
-- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
-+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
-+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
- --library-path="$(top_builddir)/gst-libs/gst/tag/" \
- --library-path="$(top_builddir)/gst-libs/gst/video/" \
- --library-path="$(top_builddir)/gst-libs/gst/audio/" \
-@@ -128,8 +128,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --includedir="$(top_builddir)/gst-libs/gst/tag/" \
- --includedir="$(top_builddir)/gst-libs/gst/video/" \
- --includedir="$(top_builddir)/gst-libs/gst/audio/" \
-diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
-index e66ef4f..c8c588a 100644
---- a/gst-libs/gst/riff/Makefile.am
-+++ b/gst-libs/gst/riff/Makefile.am
-@@ -43,8 +43,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- # --c-include "gst/riff/riff.h" \
- # --add-include-path=$(builddir)/../tag \
- # --add-include-path=$(builddir)/../audio \
--# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- # --library=libgstriff-@GST_API_VERSION@.la \
- # --include=GstAudio-@GST_API_VERSION@ \
- # --include=GstTag-@GST_API_VERSION@ \
-@@ -75,8 +75,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- # --includedir=$(builddir) \
- # --includedir=$(builddir)/../tag \
- # --includedir=$(builddir)/../audio \
--# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- # $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- #
- #CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
-index 77ebeeb..9aee788 100644
---- a/gst-libs/gst/rtp/Makefile.am
-+++ b/gst-libs/gst/rtp/Makefile.am
-@@ -64,8 +64,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
- --c-include "gst/rtp/rtp.h" \
- -I$(top_builddir)/gst-libs \
- -I$(top_srcdir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --library=libgstrtp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-@@ -92,8 +92,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
-index db9d0fd..79027cb 100644
---- a/gst-libs/gst/rtsp/Makefile.am
-+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -71,7 +71,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- -I$(top_builddir)/gst-libs \
- -I$(top_srcdir)/gst-libs \
- --add-include-path=$(builddir)/../sdp \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstrtsp-@GST_API_VERSION@.la \
- --include=Gio-2.0 \
- --include=Gst-@GST_API_VERSION@ \
-@@ -101,7 +101,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
- --includedir=$(builddir)/../sdp \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
-index 6e05cc7..c7cf514 100644
---- a/gst-libs/gst/sdp/Makefile.am
-+++ b/gst-libs/gst/sdp/Makefile.am
-@@ -31,7 +31,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
- --warn-all \
- --c-include "gst/sdp/sdp.h" \
- -I$(top_srcdir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstsdp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --libtool="$(LIBTOOL)" \
-@@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
-index c86515b..363e6d2 100644
---- a/gst-libs/gst/tag/Makefile.am
-+++ b/gst-libs/gst/tag/Makefile.am
-@@ -61,8 +61,8 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
- --c-include "gst/tag/tag.h" \
- -I$(top_srcdir)/gst-libs \
- -I$(top_builddir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --library=libgsttag-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-@@ -89,8 +89,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
-index 0f7c07e..d642267 100644
---- a/gst-libs/gst/video/Makefile.am
-+++ b/gst-libs/gst/video/Makefile.am
-@@ -121,8 +121,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
- --c-include "gst/video/video.h" \
- -I$(top_srcdir)/gst-libs \
- -I$(top_builddir)/gst-libs \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- --library=libgstvideo-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-@@ -149,8 +149,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- $(INTROSPECTION_COMPILER) \
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
---
-2.7.4
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0003-riff-add-missing-include-directories-when-calling-in.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0003-riff-add-missing-include-directories-when-calling-in.patch
deleted file mode 100644
index 9b66f7f4..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0003-riff-add-missing-include-directories-when-calling-in.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3c2c2d5dd08aa30ed0e8acd8566ec99412bb8209 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 26 Oct 2015 17:29:37 +0200
-Subject: [PATCH 3/4] riff: add missing include directories when calling
- introspection scanner
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gst-libs/gst/riff/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
-index 0a115cc..5057a58 100644
---- a/gst-libs/gst/riff/Makefile.am
-+++ b/gst-libs/gst/riff/Makefile.am
-@@ -39,6 +39,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- # --strip-prefix=Gst \
- # --warn-all \
- # --c-include "gst/riff/riff.h" \
-+# -I$(top_srcdir)/gst-libs \
-+# -I$(top_builddir)/gst-libs \
- # --add-include-path=$(builddir)/../tag \
- # --add-include-path=$(builddir)/../audio \
- # --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
---
-2.6.2
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
deleted file mode 100644
index 4adf6054..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 4330915d88dc4dd46eb4c28d756482b767c2747f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 26 Oct 2015 17:30:14 +0200
-Subject: [PATCH 4/4] rtsp: drop incorrect reference to gstreamer-sdp in
- Makefile.am
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gst-libs/gst/rtsp/Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
-index 4f6d9f8..0afa370 100644
---- a/gst-libs/gst/rtsp/Makefile.am
-+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -75,7 +75,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- --libtool="$(LIBTOOL)" \
- --pkg gio-2.0 \
- --pkg gstreamer-@GST_API_VERSION@ \
-- --pkg gstreamer-sdp-@GST_API_VERSION@ \
- --pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
- --add-init-section="$(INTROSPECTION_INIT)" \
- --output $@ \
---
-2.6.2
-
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/make-gio_unix_2_0-dependency-configurable.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/make-gio_unix_2_0-dependency-configurable.patch
deleted file mode 100644
index 23950b67..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base-1.14.imx/make-gio_unix_2_0-dependency-configurable.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 7ffa6e3d00e1d8a060f3f4c2bb9a72691af05d79 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 20 Jan 2016 13:00:00 -0800
-Subject: [PATCH] make gio_unix_2_0 dependency configurable
-
-Prior to 1.7.1, gst-plugins-base accepted a configure option to
-disable gio_unix_2_0, however it was implemented incorrectly using
-AG_GST_CHECK_FEATURE. That was fixed in 1.7.1 by making the
-dependency unconditional.
-
- http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=aadefefba88afe4acbe64454650f24e7ce7c8d70
-
-To make builds deterministic, re-instate support for
---disable-gio_unix_2_0, but implement it using the AC_ARG_ENABLE
-instead of AG_GST_CHECK_FEATURE.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
----
- configure.ac | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 12807bc..35a0bf3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -806,9 +806,16 @@ AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
- AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
-
- dnl *** gio-unix-2.0 for tests/check/pipelines/tcp.c ***
-+AC_ARG_ENABLE([gio_unix_2_0],
-+ [AS_HELP_STRING([--disable-gio_unix_2_0],[disable use of gio_unix_2_0])],
-+ [],
-+ [enable_gio_unix_2_0=yes])
-+
-+if test "x${enable_gio_unix_2_0}" != "xno"; then
- PKG_CHECK_MODULES(GIO_UNIX_2_0, gio-unix-2.0 >= 2.24,
- HAVE_GIO_UNIX_2_0="yes",
- HAVE_GIO_UNIX_2_0="no")
-+fi
- AM_CONDITIONAL(USE_GIO_UNIX_2_0, test "x$HAVE_GIO_UNIX_2_0" = "xyes")
-
- dnl *** finalize CFLAGS, LDFLAGS, LIBS
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_1.14.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb
deleted file mode 100644
index d329dbac..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
-
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
- file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
-
-DEPENDS += "iso-codes util-linux"
-
-GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
-SRCBRANCH = "MM_04.04.05_1902_L4.14.98_GA"
-
-SRC_URI = " \
- ${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
- file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
- file://make-gio_unix_2_0-dependency-configurable.patch \
- file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
- file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \
- file://0003-riff-add-missing-include-directories-when-calling-in.patch \
- file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \
-"
-SRCREV = "f62f8ab685e549eefaecdb1e700239a5a408fcad"
-
-DEFAULT_PREFERENCE = "-1"
-
-EXTRA_AUTORECONF = ""
-
-S = "${WORKDIR}/git"
-
-# Enable pango lib
-PACKAGECONFIG_append = " pango "
-
-# Disable introspection to fix [GstGL-1.0.gir] Error
-EXTRA_OECONF_append = " --disable-introspection --disable-opengl --enable-wayland"
-
-inherit gettext use-imx-headers
-
-PACKAGES_DYNAMIC =+ "^libgst.*"
-
-PACKAGECONFIG ??= " \
- ${GSTREAMER_ORC} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
- ogg pango theora vorbis \
-"
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
-X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm"
-X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm"
-
-PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
-PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
-PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor"
-PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg"
-PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus"
-PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
-PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora"
-PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual"
-PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis"
-PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-
-EXTRA_OECONF += " \
- --enable-zlib \
- CPPFLAGS="-I${STAGING_INCDIR_IMX}" \
-"
-
-CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
-
-FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs"
-}
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/include"
-
-COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
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 8565c6a5..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_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-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.14.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.%.bbappend
deleted file mode 100644
index 8565c6a5..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.%.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.14.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb
deleted file mode 100644
index 5781094b..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
-
-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"
-
-GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
-SRCBRANCH = "MM_04.04.05_1902_L4.14.98_GA"
-
-SRC_URI = " \
- ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \
-"
-SRCREV = "a31aabb7581d3f491cd31889d44479bb0f34990b"
-
-DEFAULT_PREFERENCE = "-1"
-
-EXTRA_AUTORECONF = ""
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "gstreamer1.0-plugins-base libcap zlib bzip2"
-RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
-
-inherit gettext
-
-PACKAGECONFIG ??= " \
- ${GSTREAMER_ORC} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
- cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib v4l2 \
-"
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
-
-PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo"
-PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394"
-PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
-PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
-PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,libgudev"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng"
-PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,v4l-utils"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4"
-PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
-PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib"
-PACKAGECONFIG[v4l2] = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2,libdrm"
-PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx"
-PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
-PACKAGECONFIG[x11] = "--enable-x,--disable-x,${X11DEPENDS}"
-
-EXTRA_OECONF += " \
- --enable-bz2 \
- --enable-oss \
- --enable-zlib \
- --disable-aalib \
- --disable-aalibtest \
- --disable-directsound \
- --disable-libcaca \
- --disable-libdv \
- --disable-oss4 \
- --disable-osx_audio \
- --disable-osx_video \
- --disable-shout2 \
- --disable-waveform \
-"
-
-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_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-imx_git.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_git.bb
deleted file mode 100644
index a74ff64b..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_git.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 = "0.13.0+git${SRCPV}"
-
-SRCBRANCH ?= "master"
-SRCREV = "963aea60b135d40236411357eb0b2de15eac9af5"
-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-viv"
-PACKAGECONFIG[g2dpango] = ",--disable-g2dpango,imx-gpu-viv 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/gst-plugins-package.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-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.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_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-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-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-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-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/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.14.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb
deleted file mode 100644
index 4d022335..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb
+++ /dev/null
@@ -1,76 +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 elfutils"
-
-inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
-
-# This way common/m4/introspection.m4 will come first
-# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
-
-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.04.05_1902_L4.14.98_GA"
-
-SRC_URI = " \
- ${GST1.0_SRC};branch=${SRCBRANCH} \
- file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
- file://gtk-doc-tweaks.patch \
- file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
-"
-SRCREV = "d42548da09724ad8cc1aa4f1944607920be2f4c0"
-
-DEFAULT_PREFERENCE = "-1"
-
-EXTRA_AUTORECONF = ""
-
-PACKAGECONFIG ??= ""
-
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks,"
-
-EXTRA_OECONF = " \
- --disable-dependency-tracking \
- --disable-examples \
-"
-
-CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
-
-# musl libc generates warnings if <sys/poll.h> is included directly
-CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no"
-
-PACKAGES += "${PN}-bash-completion"
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
-
-RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
-RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
-
-delete_pkg_m4_file() {
- # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
- rm "${S}/common/m4/pkg.m4" || true
- rm -f "${S}/common/m4/gtk-doc.m4"
-}
-
-do_configure[prefuncs] += "delete_pkg_m4_file"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"
-}
-
-S = "${WORKDIR}/git"
-
-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/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch
deleted file mode 100644
index 4e861a5d..00000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From e4c96421700ecd008814bceceaf03f0ee9323c02 Mon Sep 17 00:00:00 2001
-From: Yuqing Zhu <carol.zhu@nxp.com>
-Date: Thu, 27 Sep 2018 16:00:55 +0800
-Subject: [PATCH] imx-gst1.0-plugin: Fix ion.h header inclusion to be standard
-
-NXP "solution" was to manually copy the header to include/linux.
-Let's point the Makefile to the proper (mainline) location instead:
-https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h
-
-Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
----
- configure.ac | 2 +-
- libs/gstimxcommon.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7b2709d..d94e3a8 100755
---- a/configure.ac
-+++ b/configure.ac
-@@ -216,7 +216,7 @@ dnl check ion allocator headfile
- old_CFLAGS=$CFLAGS
- PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= 1.14, CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gstreamer-allocators-1.0`",\
- CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gstreamer-bad-allocators-1.0`")
--AC_CHECK_HEADERS([linux/ion.h gst/allocators/gstionmemory.h], HAVE_ION="yes", HAVE_ION="no")
-+AC_CHECK_HEADERS([ion.h gst/allocators/gstionmemory.h], HAVE_ION="yes", HAVE_ION="no")
- AM_CONDITIONAL(USE_ION, test "x$HAVE_ION" = "xyes")
- CFLAGS=$old_CFLAGS
-
-diff --git a/libs/gstimxcommon.c b/libs/gstimxcommon.c
-index eb808b9..c02ab5f 100644
---- a/libs/gstimxcommon.c
-+++ b/libs/gstimxcommon.c
-@@ -26,7 +26,7 @@
- #include <linux/version.h>
- #include <linux/dma-buf.h>
- #ifdef USE_ION
--#include <linux/ion.h>
-+#include <ion.h>
- #endif
- const char *dev_ion = "/dev/ion";
-
---
-1.9.1
-
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.4.5.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.5.bb
deleted file mode 100644
index 6dc924a1..00000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.5.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright (C) 2014,2016 Freescale Semiconductor
-# Copyright 2017-2018 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"
-
-IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https"
-SRCBRANCH = "MM_04.04.05_1902_L4.14.98_GA"
-
-SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH}"
-SRCREV = "0c5f48b3aee473d8c8f3e853eb2078f054caa4d2"
-
-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.4.5.bb b/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb
index b7afeb69..0a2c71e7 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.4.5.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=80c0478f4339af024519b3723023fe28"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"
# Backward compatibility
PROVIDES += "libfslcodec"
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "e17258161c84530097f6f9d5d46e6c26"
-SRC_URI[sha256sum] = "b53eeada02ab09c8f5216348c667f8d8edef0c585e4b2f738e8b18955ad710b4"
+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
new file mode 100644
index 00000000..48be837a
--- /dev/null
+++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
@@ -0,0 +1,22 @@
+# Copyright 2019 NXP
+DESCRIPTION = "NXP Asynchronous Sample Rate Converter"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
+
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+
+SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1"
+SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+EXTRA_OECONF = "--enable-armv8 --libdir=${libdir} --bindir=/unit_tests"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+FILES:${PN} += "/unit_tests ${datadir}/imx-mm"
+
+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.4.5.bb b/recipes-multimedia/imx-parser/imx-parser_4.8.3.bb
index f87e19f6..4e580085 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.4.5.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 2017 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=80c0478f4339af024519b3723023fe28"
+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] = "7fa7b0fa1682cae71c3a163da866f676"
-SRC_URI[sha256sum] = "de86b57b429c0e6ed6b6842e5af1ec4d7b9d2074234769de6ba2edf04c967acd"
+SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "9bca484287f5592b86ed10c1761a3fcc"
+SRC_URI[sha256sum] = "b25267eefb4618b2ba8d6aba46a5b4e09621a44115036fc896e0777006472043"
inherit fsl-eula-unpack autotools pkgconfig
@@ -31,16 +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}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+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.4.5.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.4.5.bb
deleted file mode 100644
index dd777ff7..00000000
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.4.5.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2013-2016 Freescale Semiconductor
-# Copyright 2017 NXP
-# Copyright 2018 (C) O.S. Systems Software LTDA.
-# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Freescale Multimedia VPU wrapper"
-DEPENDS = "virtual/imxvpu"
-LICENSE = "Proprietary"
-SECTION = "multimedia"
-LIC_FILES_CHKSUM = "file://COPYING;md5=80c0478f4339af024519b3723023fe28"
-
-# For backwards compatibility
-PROVIDES += "libfslvpuwrap"
-RREPLACES_${PN} = "libfslvpuwrap"
-RPROVIDES_${PN} = "libfslvpuwrap"
-RCONFLICTS_${PN} = "libfslvpuwrap"
-
-SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
-
-SRC_URI[md5sum] = "dc462fd44682013153144187c2e6b6b0"
-SRC_URI[sha256sum] = "7ebb6b322a67fbbb902222f949ba09a7e52120b4102e1ad969e8b1491c42fa92"
-
-inherit fsl-eula-unpack autotools pkgconfig
-
-do_install_append() {
- # FIXME: Drop examples for now
- rm -r ${D}${datadir}
-}
-
-INSANE_SKIP_imx-vpuwrap = "file-rdeps"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(imxvpu)"
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
new file mode 100644
index 00000000..af15e7b1
--- /dev/null
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -0,0 +1,28 @@
+# Copyright (C) 2013-2016 Freescale Semiconductor
+# 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=2827219e81f28aba7c6a569f7c437fa7"
+
+DEPENDS = "virtual/imxvpu"
+DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
+
+SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}"
+SRCBRANCH = "MM_04.08.03_2312_L6.6.y"
+SRCREV = "f974cecdb00b4a214e4b5229f2279e772ee43306"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+do_install:append() {
+ # FIXME: Drop examples for now
+ rm -r ${D}${datadir}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "(imxvpu)"
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_git.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
index 0ebeabb0..1e7d8252 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_git.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb
@@ -1,23 +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 = "2.0.0+${SRCPV}"
+PV .= "+git${SRCPV}"
SRCBRANCH ?= "master"
-SRCREV = "86028967644d2da8e99d4e206ca1d71ff4bcb7f7"
-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: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 540565f6..e3a05193 100644
--- a/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
+++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
@@ -1,21 +1,21 @@
# 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"
PV = "0.10.3+${SRCPV}"
-SRCBRANCH ?= "master"
-SRCREV = "4afb52f97e28c731c903a8538bf99e4a6d155b42"
-SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH}"
+SRCBRANCH ?= "v1"
+SRCREV = "3a1ee3a54fe93813868d38c3d32ea065b59e227e"
+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 019f9ba4..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
@@ -1,4 +1,4 @@
-From 015e048d3662b9f82e9aa5cd04d7c9de4eadb68d Mon Sep 17 00:00:00 2001
+From 33022867d76c91fe4e60699c1b7ebbc8feb4ee93 Mon Sep 17 00:00:00 2001
From: Shengjiu Wang <shengjiu.wang@freescale.com>
Date: Mon, 30 Mar 2015 10:26:14 +0800
Subject: [PATCH] pulseaudio: remove the control for speaker/headphone widget
@@ -12,15 +12,15 @@ Upstream-Status: Inappropriate [i.MX specific]
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
---
- .../alsa/mixer/paths/analog-output-headphones.conf | 8 ++++----
- .../alsa/mixer/paths/analog-output-speaker.conf | 8 ++++----
+ .../alsa/mixer/paths/analog-output-headphones.conf | 8 ++++----
+ src/modules/alsa/mixer/paths/analog-output-speaker.conf | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
-index b6ee70b..a617976 100644
+index 88907f0..7598d2f 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
-@@ -81,8 +81,8 @@ override-map.2 = all-left,all-right
+@@ -88,8 +88,8 @@ override-map.2 = all-left,all-right
[Element Headphone]
required-any = any
@@ -31,7 +31,7 @@ index b6ee70b..a617976 100644
override-map.1 = all
override-map.2 = all-left,all-right
-@@ -105,8 +105,8 @@ switch = mute
+@@ -119,8 +119,8 @@ switch = mute
volume = zero
[Element Speaker]
@@ -43,10 +43,10 @@ index b6ee70b..a617976 100644
[Element Desktop Speaker]
switch = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
-index 39193dd..34bbb85 100644
+index fcf2f5c..6f6f898 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
-@@ -73,8 +73,8 @@ volume = off
+@@ -91,8 +91,8 @@ volume = off
; This profile path is intended to control the speaker, let's mute headphones
; else there will be a spike when plugging in headphones
[Element Headphone]
@@ -55,9 +55,9 @@ index 39193dd..34bbb85 100644
+switch = on
+volume = ignore
- [Element Headphone2]
+ [Element Headphone,1]
switch = off
-@@ -93,8 +93,8 @@ override-map.2 = all-left,all-right
+@@ -115,8 +115,8 @@ override-map.2 = all-left,all-right
[Element Speaker]
required-any = any
@@ -69,5 +69,5 @@ index 39193dd..34bbb85 100644
override-map.2 = all-left,all-right
--
-1.7.9.5
+2.20.1
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/tee-supplicant.service b/recipes-security/optee-imx/optee-client/tee-supplicant.service
new file mode 100644
index 00000000..0e2b4f6b
--- /dev/null
+++ b/recipes-security/optee-imx/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-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/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_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_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.bb b/recipes-security/optee/optee-client-qoriq.bb
deleted file mode 100644
index 4d1caa16..00000000
--- a/recipes-security/optee/optee-client-qoriq.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "OPTEE Client"
-HOMEPAGE = "https://github.com/qoriq-open-source/optee_client"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
-
-inherit pythonnative systemd
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/optee_client;nobranch=1 \
-"
-S = "${WORKDIR}/git"
-
-SRCREV = "08428734c67fb559e420d87fa52fd74a955ea1bd"
-
-EXTRA_OEMAKE = "ARCH=arm64"
-
-do_install() {
- oe_runmake install
-
- install -D -p -m0755 ${S}/out/export/bin/tee-supplicant ${D}${bindir}/tee-supplicant
-
- install -D -p -m0644 ${S}/out/export/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
-
- cp -a ${S}/out/export/include ${D}/usr/
-}
-
-COMPATIBLE_MACHINE = "(qoriq)"
diff --git a/recipes-security/optee/optee-client-qoriq/0001-GCC-8-format-truncation-error.patch b/recipes-security/optee/optee-client-qoriq/0001-GCC-8-format-truncation-error.patch
deleted file mode 100644
index f58590c3..00000000
--- a/recipes-security/optee/optee-client-qoriq/0001-GCC-8-format-truncation-error.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 05f741c1e6263bec2977901abe61463b7f8175ad Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Fri, 22 Jun 2018 11:58:09 +0800
-Subject: [PATCH] GCC 8 format-truncation error
-
-Signed-off-by: BJ DevOps Team <bjdevops@NXP1.onmicrosoft.com>
----
- libteec/src/teec_trace.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libteec/src/teec_trace.c b/libteec/src/teec_trace.c
-index 78b79d6..7901deb 100644
---- a/libteec/src/teec_trace.c
-+++ b/libteec/src/teec_trace.c
-@@ -73,7 +73,7 @@ int _dprintf(const char *function, int flen, int line, int level,
- const char *prefix, const char *fmt, ...)
- {
- char raw[MAX_PRINT_SIZE];
-- char prefixed[MAX_PRINT_SIZE];
-+ char prefixed[MAX_PRINT_SIZE + 10];
- char *to_print = NULL;
- const char *func;
- int err;
-@@ -106,7 +106,7 @@ int _dprintf(const char *function, int flen, int line, int level,
- */
- int thread_id = syscall(SYS_gettid); /* perf issue ? */
-
-- snprintf(prefixed, MAX_PRINT_SIZE,
-+ snprintf(prefixed, MAX_PRINT_SIZE + 10,
- "%s [%d] %s:%s:%d: %s",
- trace_level_strings[level], thread_id, prefix, func,
- line, raw);
---
-1.8.3.1
-
diff --git a/recipes-security/optee/optee-client-qoriq/0001-flags-CFLAGS-add-Wno-cpp.patch b/recipes-security/optee/optee-client-qoriq/0001-flags-CFLAGS-add-Wno-cpp.patch
deleted file mode 100644
index 09e4490d..00000000
--- a/recipes-security/optee/optee-client-qoriq/0001-flags-CFLAGS-add-Wno-cpp.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f2ebda1d85b10fd008c21974a0f7aa4e805d0e5c Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Tue, 11 Sep 2018 11:40:55 +0800
-Subject: [PATCH] flags: CFLAGS add -Wno-cpp
-
-*fix build with FORTIFY_SOURCES
-
-Signed-off-by: BJ DevOps Team <bjdevops@NXP1.onmicrosoft.com>
----
- flags.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/flags.mk b/flags.mk
-index 71f3d18..43c18f0 100644
---- a/flags.mk
-+++ b/flags.mk
-@@ -14,7 +14,7 @@ CFLAGS := -Wall -Wbad-function-cast -Wcast-align \
- -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs \
- -Wpointer-arith -Wshadow -Wstrict-prototypes \
- -Wswitch-default -Wunsafe-loop-optimizations \
-- -Wwrite-strings -Werror
-+ -Wwrite-strings -Werror -Wno-cpp
- CFLAGS += -c -fPIC
-
- DEBUG ?= 0
---
-2.7.4
-
diff --git a/recipes-security/optee/optee-os-qoriq/0001-Fix-alignment-of-data-for-mempool_alloc_pool.patch b/recipes-security/optee/optee-os-qoriq/0001-Fix-alignment-of-data-for-mempool_alloc_pool.patch
deleted file mode 100644
index e22bd6c0..00000000
--- a/recipes-security/optee/optee-os-qoriq/0001-Fix-alignment-of-data-for-mempool_alloc_pool.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From b2dd8747125be413f9b8b7fd7e52f457cabd709c Mon Sep 17 00:00:00 2001
-From: Jens Wiklander <jens.wiklander@linaro.org>
-Date: Tue, 5 Feb 2019 13:05:29 +0100
-Subject: [PATCH] Fix alignment of data for mempool_alloc_pool()
-
-Upstream-Status: Submitted
-
-Prior to this patch was _TEE_MathAPI_Init() in
-lib/libutee/tee_api_arith_mpi.c supplying a data buffer which was only 4
-byte aligned while mempool_alloc_pool() requires the alignment of long.
-This will work in 32-bit mode, but could lead to alignment problem in
-64-bit mode. The same problem can happen with
-lib/libutee/tee_api_arith_mpa.c, but so far it has remained hidden.
-
-Incorrect alignment can result in errors like:
-E/TA: assertion '!((vaddr_t)data & (POOL_ALIGN - 1))' failed at lib/libutils/ext/mempool.c:134 in mempool_alloc_pool()
-
-This fix introduces MEMPOOL_ALIGN which specifies required alignment of
-data supplied to mempool_alloc_pool().
-
-Fixes: 062e3d01c039 ("ta: switch to to mbedtls for bignum")
-Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
-Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU v8)
-Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
-Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
----
- core/lib/libtomcrypt/src/mpa_desc.c | 2 +-
- core/lib/libtomcrypt/src/mpi_desc.c | 2 +-
- lib/libutee/tee_api_arith_mpa.c | 3 ++-
- lib/libutee/tee_api_arith_mpi.c | 3 +--
- lib/libutils/ext/include/mempool.h | 5 ++++-
- lib/libutils/ext/mempool.c | 9 ++++-----
- 6 files changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/core/lib/libtomcrypt/src/mpa_desc.c b/core/lib/libtomcrypt/src/mpa_desc.c
-index b407f54..58aa242 100644
---- a/core/lib/libtomcrypt/src/mpa_desc.c
-+++ b/core/lib/libtomcrypt/src/mpa_desc.c
-@@ -40,7 +40,7 @@ static struct mempool *get_mpa_scratch_memory_pool(void)
- #else /* CFG_WITH_PAGER */
- static struct mempool *get_mpa_scratch_memory_pool(void)
- {
-- static uint32_t data[LTC_MEMPOOL_U32_SIZE] __aligned(__alignof__(long));
-+ static uint32_t data[LTC_MEMPOOL_U32_SIZE] __aligned(MEMPOOL_ALIGN);
-
- return mempool_alloc_pool(data, sizeof(data), NULL);
- }
-diff --git a/core/lib/libtomcrypt/src/mpi_desc.c b/core/lib/libtomcrypt/src/mpi_desc.c
-index a43fbb4..67bc3a7 100644
---- a/core/lib/libtomcrypt/src/mpi_desc.c
-+++ b/core/lib/libtomcrypt/src/mpi_desc.c
-@@ -38,7 +38,7 @@ static struct mempool *get_mp_scratch_memory_pool(void)
- #else /* CFG_WITH_PAGER */
- static struct mempool *get_mp_scratch_memory_pool(void)
- {
-- static uint8_t data[MPI_MEMPOOL_SIZE] __aligned(__alignof__(long));
-+ static uint8_t data[MPI_MEMPOOL_SIZE] __aligned(MEMPOOL_ALIGN);
-
- return mempool_alloc_pool(data, sizeof(data), NULL);
- }
-diff --git a/lib/libutee/tee_api_arith_mpa.c b/lib/libutee/tee_api_arith_mpa.c
-index 0f6c7f1..a8ca6aa 100644
---- a/lib/libutee/tee_api_arith_mpa.c
-+++ b/lib/libutee/tee_api_arith_mpa.c
-@@ -19,7 +19,8 @@
-
- static uint32_t mempool_u32[mpa_scratch_mem_size_in_U32(
- MPA_INTERNAL_MEM_POOL_SIZE,
-- CFG_TA_BIGNUM_MAX_BITS)];
-+ CFG_TA_BIGNUM_MAX_BITS)]
-+ __aligned(MEMPOOL_ALIGN);
- static mpa_scratch_mem mempool;
-
- /*************************************************************
-diff --git a/lib/libutee/tee_api_arith_mpi.c b/lib/libutee/tee_api_arith_mpi.c
-index 8e2751b..6b074e1 100644
---- a/lib/libutee/tee_api_arith_mpi.c
-+++ b/lib/libutee/tee_api_arith_mpi.c
-@@ -42,8 +42,7 @@ static void __noreturn mpi_panic(const char *func, int line, int rc)
-
- void _TEE_MathAPI_Init(void)
- {
-- static uint8_t data[MPI_MEMPOOL_SIZE]
-- __aligned(__alignof__(mbedtls_mpi_uint));
-+ static uint8_t data[MPI_MEMPOOL_SIZE] __aligned(MEMPOOL_ALIGN);
-
- mbedtls_mpi_mempool = mempool_alloc_pool(data, sizeof(data), NULL);
- if (!mbedtls_mpi_mempool)
-diff --git a/lib/libutils/ext/include/mempool.h b/lib/libutils/ext/include/mempool.h
-index 62377df..2a60800 100644
---- a/lib/libutils/ext/include/mempool.h
-+++ b/lib/libutils/ext/include/mempool.h
-@@ -19,9 +19,12 @@ struct mempool_item {
-
- struct mempool;
-
-+#define MEMPOOL_ALIGN __alignof__(long)
-+
- /*
- * mempool_alloc_pool() - Allocate a new memory pool
-- * @data: a block of memory to carve out items from
-+ * @data: a block of memory to carve out items from, must
-+ * have an alignment of MEMPOOL_ALIGN.
- * @size: size fo the block of memory
- * @release_mem: function to call when the pool has been emptied,
- * ignored if NULL.
-diff --git a/lib/libutils/ext/mempool.c b/lib/libutils/ext/mempool.c
-index f977699..6d38590 100644
---- a/lib/libutils/ext/mempool.c
-+++ b/lib/libutils/ext/mempool.c
-@@ -53,7 +53,6 @@
- * So the potential fragmentation is mitigated.
- */
-
--#define POOL_ALIGN __alignof__(long)
-
- struct mempool {
- size_t size; /* size of the memory pool, in bytes */
-@@ -130,8 +129,8 @@ mempool_alloc_pool(void *data, size_t size,
- {
- struct mempool *pool = calloc(1, sizeof(*pool));
-
-- COMPILE_TIME_ASSERT(POOL_ALIGN >= __alignof__(struct mempool_item));
-- assert(!((vaddr_t)data & (POOL_ALIGN - 1)));
-+ COMPILE_TIME_ASSERT(MEMPOOL_ALIGN >= __alignof__(struct mempool_item));
-+ assert(!((vaddr_t)data & (MEMPOOL_ALIGN - 1)));
-
- if (pool) {
- pool->size = size;
-@@ -163,13 +162,13 @@ void *mempool_alloc(struct mempool *pool, size_t size)
- pool->last_offset);
- offset = pool->last_offset + last_item->size;
-
-- offset = ROUNDUP(offset, POOL_ALIGN);
-+ offset = ROUNDUP(offset, MEMPOOL_ALIGN);
- if (offset > pool->size)
- goto error;
- }
-
- size = sizeof(struct mempool_item) + size;
-- size = ROUNDUP(size, POOL_ALIGN);
-+ size = ROUNDUP(size, MEMPOOL_ALIGN);
- if (offset + size > pool->size)
- goto error;
-
---
-2.7.4
-
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_git.bb b/recipes-security/optee/optee-os-qoriq_git.bb
deleted file mode 100644
index fb27cf1a..00000000
--- a/recipes-security/optee/optee-os-qoriq_git.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "OP-TEE Trusted OS"
-DESCRIPTION = "OPTEE OS"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
-
-DEPENDS = "python-pycrypto-native"
-
-inherit deploy pythonnative
-
-SRCREV = "b7a1527b42371e6c60bb4921c5389f1bc693f33b"
-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-Fix-alignment-of-data-for-mempool_alloc_pool.patch \
- "
-S = "${WORKDIR}/git"
-
-OPTEEMACHINE ?= "${MACHINE}"
-OPTEEMACHINE_ls1088ardb-pb = "ls1088ardb"
-OPTEEMACHINE_ls1046afrwy = "ls1046ardb"
-
-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} \
- "
-
-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/0001-fix-build-failure-with-GCC-9.patch b/recipes-security/optee/optee-test-qoriq/0001-fix-build-failure-with-GCC-9.patch
deleted file mode 100644
index 9b912777..00000000
--- a/recipes-security/optee/optee-test-qoriq/0001-fix-build-failure-with-GCC-9.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 79330c8383e02e91a355964a3cc7b932d03c2517 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Wed, 10 Jul 2019 11:09:01 +0200
-Subject: [PATCH] fix build failure with GCC 9
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
----
- host/xtest/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/host/xtest/Makefile b/host/xtest/Makefile
-index e4e2881..e86e056 100644
---- a/host/xtest/Makefile
-+++ b/host/xtest/Makefile
-@@ -152,7 +152,7 @@ CFLAGS += -Wall -Wcast-align -Werror \
- -Wmissing-include-dirs -Wmissing-noreturn \
- -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
- -Wshadow -Wstrict-prototypes -Wswitch-default \
-- -Wwrite-strings \
-+ -Wwrite-strings -Wno-format-overflow \
- -Wno-missing-field-initializers -Wno-format-zero-length
- endif
-
---
-2.7.4
-
diff --git a/recipes-security/optee/optee-test-qoriq_git.bb b/recipes-security/optee/optee-test-qoriq_git.bb
deleted file mode 100644
index 1c6ca22e..00000000
--- a/recipes-security/optee/optee-test-qoriq_git.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "OP-TEE sanity testsuite"
-HOMEPAGE = "https://github.com/qoriq-open-source/optee_test"
-
-LICENSE = "BSD & GPLv2"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
-
-DEPENDS = "optee-client-qoriq optee-os-qoriq python-pycrypto-native"
-
-inherit pythonnative
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/optee_test;nobranch=1 \
- file://0001-fix-build-failure-with-GCC-9.patch \
-"
-S = "${WORKDIR}/git"
-
-SRCREV = "669058459e4a544be12f37dab103ee4c2b32e31d"
-
-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
new file mode 100644
index 00000000..b1b00623
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
@@ -0,0 +1,37 @@
+From 9b4959b97d2e95d4b49cf6ca2a3fce3cdb484f2d Mon Sep 17 00:00:00 2001
+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>
+
+---
+ 3rdparty/ippicv/ippicv.cmake | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake
+index 257af6fcc6..f88460450f 100644
+--- a/3rdparty/ippicv/ippicv.cmake
++++ b/3rdparty/ippicv/ippicv.cmake
+@@ -34,18 +34,5 @@ function(download_ippicv root_var)
+ endif()
+
+ set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
+- ocv_download(FILENAME ${OPENCV_ICV_NAME}
+- HASH ${OPENCV_ICV_HASH}
+- URL
+- "${OPENCV_IPPICV_URL}"
+- "$ENV{OPENCV_IPPICV_URL}"
+- "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
+- DESTINATION_DIR "${THE_ROOT}"
+- ID IPPICV
+- STATUS res
+- UNPACK RELATIVE_URL)
+-
+- if(res)
+- set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
+- endif()
++ set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
+ endfunction()
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
new file mode 100644
index 00000000..46232ec5
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Add-smaller-version-of-download_models.py.patch
@@ -0,0 +1,180 @@
+From fca4d9eec289f22c081daa2c61a1110e3f268f92 Mon Sep 17 00:00:00 2001
+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 ++++++++++++++++++++++++++
+ 1 file changed, 159 insertions(+)
+ create mode 100644 testdata/dnn/download_models_basic.py
+
+diff --git a/testdata/dnn/download_models_basic.py b/testdata/dnn/download_models_basic.py
+new file mode 100644
+index 0000000..5c8a616
+--- /dev/null
++++ b/testdata/dnn/download_models_basic.py
+@@ -0,0 +1,159 @@
++#!/usr/bin/env python
++
++from __future__ import print_function
++import hashlib
++import sys
++import tarfile
++if sys.version_info[0] < 3:
++ from urllib2 import urlopen
++else:
++ from urllib.request import urlopen
++
++
++class Model:
++ MB = 1024*1024
++ BUFSIZE = 10*MB
++
++ def __init__(self, **kwargs):
++ self.name = kwargs.pop('name')
++ self.url = kwargs.pop('url', None)
++ self.filename = kwargs.pop('filename')
++ self.sha = kwargs.pop('sha', None)
++ self.archive = kwargs.pop('archive', None)
++ self.member = kwargs.pop('member', None)
++
++ def __str__(self):
++ return 'Model <{}>'.format(self.name)
++
++ def printRequest(self, r):
++ def getMB(r):
++ d = dict(r.info())
++ for c in ['content-length', 'Content-Length']:
++ if c in d:
++ return int(d[c]) / self.MB
++ return '<unknown>'
++ print(' {} {} [{} Mb]'.format(r.getcode(), r.msg, getMB(r)))
++
++ def verify(self):
++ if not self.sha:
++ return False
++ print(' expect {}'.format(self.sha))
++ sha = hashlib.sha1()
++ try:
++ with open(self.filename, 'rb') as f:
++ while True:
++ buf = f.read(self.BUFSIZE)
++ if not buf:
++ break
++ sha.update(buf)
++ print(' actual {}'.format(sha.hexdigest()))
++ return self.sha == sha.hexdigest()
++ except Exception as e:
++ print(' catch {}'.format(e))
++
++ def get(self):
++ if self.verify():
++ print(' hash match - skipping')
++ return True
++
++ if self.archive or self.member:
++ assert(self.archive and self.member)
++ print(' hash check failed - extracting')
++ print(' get {}'.format(self.member))
++ self.extract()
++ else:
++ assert(self.url)
++ print(' hash check failed - downloading')
++ print(' get {}'.format(self.url))
++ self.download()
++
++ print(' done')
++ print(' file {}'.format(self.filename))
++ return self.verify()
++
++ def download(self):
++ try:
++ r = urlopen(self.url, timeout=60)
++ self.printRequest(r)
++ self.save(r)
++ except Exception as e:
++ print(' catch {}'.format(e))
++
++ def extract(self):
++ try:
++ with tarfile.open(self.archive) as f:
++ assert self.member in f.getnames()
++ self.save(f.extractfile(self.member))
++ except Exception as e:
++ print(' catch {}'.format(e))
++
++ def save(self, r):
++ with open(self.filename, 'wb') as f:
++ print(' progress ', end='')
++ sys.stdout.flush()
++ while True:
++ buf = r.read(self.BUFSIZE)
++ if not buf:
++ break
++ f.write(buf)
++ print('>', end='')
++ sys.stdout.flush()
++
++models = [
++ Model(
++ name='Fcn',
++ url='http://dl.caffe.berkeleyvision.org/fcn8s-heavy-pascal.caffemodel',
++ sha='c449ea74dd7d83751d1357d6a8c323fcf4038962',
++ filename='fcn8s-heavy-pascal.caffemodel'),
++ Model(
++ name='SqueezeNet_v1.1',
++ url='https://raw.githubusercontent.com/DeepScale/SqueezeNet/b5c3f1a23713c8b3fd7b801d229f6b04c64374a5/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel',
++ sha='3397f026368a45ae236403ccc81cfcbe8ebe1bd0',
++ filename='squeezenet_v1.1.caffemodel'),
++ Model(
++ name='Colorization',
++ url='https://raw.githubusercontent.com/richzhang/colorization/master/models/colorization_deploy_v2.prototxt',
++ sha='f528334e386a69cbaaf237a7611d833bef8e5219',
++ filename='colorization_deploy_v2.prototxt'),
++ Model(
++ name='Colorization',
++ url='http://eecs.berkeley.edu/~rich.zhang/projects/2016_colorization/files/demo_v2/colorization_release_v2.caffemodel',
++ sha='21e61293a3fa6747308171c11b6dd18a68a26e7f',
++ filename='colorization_release_v2.caffemodel'),
++ Model(
++ name='OpenPose/pose/coco', # https://github.com/CMU-Perceptual-Computing-Lab/openpose
++ url='http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel',
++ sha='ac7e97da66f3ab8169af2e601384c144e23a95c1',
++ filename='openpose_pose_coco.caffemodel'),
++ Model(
++ name='YOLOv3', # https://pjreddie.com/darknet/yolo/
++ url='https://pjreddie.com/media/files/yolov3.weights',
++ sha='520878f12e97cf820529daea502acca380f1cb8e',
++ filename='yolov3.weights'),
++ Model(
++ name='EAST', # https://github.com/argman/EAST (a TensorFlow model), https://arxiv.org/abs/1704.03155v2 (a paper)
++ url='https://www.dropbox.com/s/r2ingd0l3zt8hxs/frozen_east_text_detection.tar.gz?dl=1',
++ sha='3ca8233d6edd748f7ed23246c8ca24cbf696bb94',
++ filename='frozen_east_text_detection.tar.gz'),
++ Model(
++ name='EAST',
++ archive='frozen_east_text_detection.tar.gz',
++ member='frozen_east_text_detection.pb',
++ sha='fffabf5ac36f37bddf68e34e84b45f5c4247ed06',
++ filename='frozen_east_text_detection.pb'),
++]
++
++# Note: models will be downloaded to current working directory
++# expected working directory is opencv_extra/testdata/dnn
++if __name__ == '__main__':
++ failedModels = []
++ for m in models:
++ print(m)
++ if not m.get():
++ failedModels.append(m.filename)
++
++ if failedModels:
++ print("Following models have not been downloaded:")
++ for f in failedModels:
++ print("* {}".format(f))
++ exit(15)
+--
+2.17.1
+
diff --git a/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch b/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
new file mode 100644
index 00000000..948a80fa
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
@@ -0,0 +1,28 @@
+From 66e50ee69fa9ee2469d349100e70d8b296c4b4dc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Sep 2018 00:21:18 -0700
+Subject: [PATCH] Dont use isystem
+
+clang really does not like it
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ cmake/OpenCVPCHSupport.cmake | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
+index 08cd06def4..46c9c02da3 100644
+--- a/cmake/OpenCVPCHSupport.cmake
++++ b/cmake/OpenCVPCHSupport.cmake
+@@ -18,6 +18,8 @@ IF(CV_GCC)
+ SET(PCHSupport_FOUND TRUE)
+ ENDIF()
+
++ SET(CMAKE_INCLUDE_SYSTEM_FLAG_C "-I")
++ SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-I")
+ SET(_PCH_include_prefix "-I")
+ SET(_PCH_isystem_prefix "-isystem")
+ SET(_PCH_define_prefix "-D")
diff --git a/recipes-support/opencv/opencv/0001-Make-ts-module-external.patch b/recipes-support/opencv/opencv/0001-Make-ts-module-external.patch
new file mode 100644
index 00000000..d56b8ae6
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Make-ts-module-external.patch
@@ -0,0 +1,42 @@
+From 11bbf909e08594628bd757d989ae34cf1bfe200b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 18 Jun 2020 05:51:38 +0000
+Subject: [PATCH] Make ts module external
+
+Make ts module external
+
+Reference: https://github.com/qbonnard/opencv/commit/6b229c5834cb9a0930425e762a6c7b03244d7abb
+
+Upstream-Status: Submitted [https://github.com/opencv/opencv/issues/8408]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ modules/ts/CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/modules/ts/CMakeLists.txt b/modules/ts/CMakeLists.txt
+index f95bed0793..66f315bcca 100644
+--- a/modules/ts/CMakeLists.txt
++++ b/modules/ts/CMakeLists.txt
+@@ -4,9 +4,6 @@ if(NOT BUILD_opencv_ts AND NOT BUILD_TESTS AND NOT BUILD_PERF_TESTS)
+ ocv_module_disable(ts)
+ endif()
+
+-set(OPENCV_MODULE_TYPE STATIC)
+-set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
+-
+ if(WINRT)
+ # WINRT doesn't have access to environment variables
+ # so adding corresponding macros during CMake run
+@@ -16,7 +13,7 @@ endif()
+
+ ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef)
+
+-ocv_add_module(ts INTERNAL opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui)
++ocv_add_module(ts opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui)
+
+ ocv_glob_module_sources()
+ ocv_module_include_directories()
+--
+2.24.1
+
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
new file mode 100644
index 00000000..aa7d335e
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
@@ -0,0 +1,32 @@
+From e4ec6cea72da9e9ae5ba57140fa2f5c63f1f8295 Mon Sep 17 00:00:00 2001
+From: Jason Wessel <jason.wessel@windriver.com>
+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>
+
+---
+ modules/videoio/src/cap_ffmpeg_impl.hpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
+index 6dca724a89..ae55dd4555 100644
+--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
++++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
+@@ -774,6 +774,14 @@ struct ImplMutex::Impl
+
+ #endif
+
++/* NOTE This is deprecated in ffmpeg and the code should be removed */
++#ifndef AVFMT_RAWPICTURE
++#define AVFMT_RAWPICTURE 0x0020
++#endif /* AVFMT_RAWPICTURE */
++#ifndef CODEC_FLAG_GLOBAL_HEADER
++#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
++#endif
++
+ void ImplMutex::init()
+ {
+ impl = new Impl();
diff --git a/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch b/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch
new file mode 100644
index 00000000..c5a64387
--- /dev/null
+++ b/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch
@@ -0,0 +1,31 @@
+From 59fafe6e39759e193b5764b36b4c5a93da352123 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Aug 2020 00:36:49 -0700
+Subject: [PATCH] Use -Os to compile tinyxml2.cpp
+
+This workarounds issue [1] seen on riscv with gcc
+
+[1] https://github.com/riscv/riscv-gnu-toolchain/issues/624
+
+Upstream-Status: Inappropriate [ OE-Specific ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/datasets/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/datasets/CMakeLists.txt b/modules/datasets/CMakeLists.txt
+index 56ca9e310..99b7a33f6 100644
+--- a/modules/datasets/CMakeLists.txt
++++ b/modules/datasets/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(the_description "datasets framework")
+
+ set(filter_srcs "${CMAKE_CURRENT_LIST_DIR}/src/tinyxml2/tinyxml2.cpp")
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+- ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-suggest-override") # GCC
++ ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-suggest-override -Os") # GCC
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-inconsistent-missing-override") # Clang
+ endif()
+--
+2.28.0
+
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
new file mode 100644
index 00000000..d39c0582
--- /dev/null
+++ b/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
@@ -0,0 +1,71 @@
+From f42c9b8c7bafcadc7e95fb25a391707f970eb426 Mon Sep 17 00:00:00 2001
+From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+Date: Fri, 19 May 2017 04:27:50 +0900
+Subject: [PATCH] To fix errors as following:
+
+"test_main.cpp:45: undefined reference to `parseCustomOptions(int, char**)'"
+"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
+ts module.
+
+Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+
+---
+ modules/ts/include/opencv2/ts.hpp | 4 ++--
+ modules/ts/include/opencv2/ts/ocl_test.hpp | 2 +-
+ modules/ts/include/opencv2/ts/ts_ext.hpp | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp
+index ed7491a89a..80919d13ee 100644
+--- a/modules/ts/include/opencv2/ts.hpp
++++ b/modules/ts/include/opencv2/ts.hpp
+@@ -728,7 +728,7 @@ protected:
+ }
+ };
+
+-extern uint64 param_seed;
++CV_EXPORTS extern uint64 param_seed;
+
+ struct DefaultRngAuto
+ {
+@@ -791,7 +791,7 @@ private:
+ #endif
+ #endif
+
+-void parseCustomOptions(int argc, char **argv);
++CV_EXPORTS void parseCustomOptions(int argc, char **argv);
+
+ #define CV_TEST_INIT0_NOOP (void)0
+
+diff --git a/modules/ts/include/opencv2/ts/ocl_test.hpp b/modules/ts/include/opencv2/ts/ocl_test.hpp
+index 11572e9f48..438112e2aa 100644
+--- a/modules/ts/include/opencv2/ts/ocl_test.hpp
++++ b/modules/ts/include/opencv2/ts/ocl_test.hpp
+@@ -82,7 +82,7 @@ inline UMat ToUMat(InputArray src)
+ return dst;
+ }
+
+-extern int test_loop_times;
++CV_EXPORTS extern int test_loop_times;
+
+ #define MAX_VALUE 357
+
+diff --git a/modules/ts/include/opencv2/ts/ts_ext.hpp b/modules/ts/include/opencv2/ts/ts_ext.hpp
+index b2a4cac241..b94c681c0c 100644
+--- a/modules/ts/include/opencv2/ts/ts_ext.hpp
++++ b/modules/ts/include/opencv2/ts/ts_ext.hpp
+@@ -9,7 +9,7 @@
+ #define OPENCV_TS_EXT_HPP
+
+ namespace cvtest {
+-void checkIppStatus();
++CV_EXPORTS void checkIppStatus();
+ extern bool skipUnstableTests;
+ extern bool runBigDataTests;
+ extern int testThreads;
diff --git a/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
new file mode 100644
index 00000000..ef7831a5
--- /dev/null
+++ b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch
@@ -0,0 +1,141 @@
+From 3c4daafb54f961e376104a461ca7ec114ff0331a Mon Sep 17 00:00:00 2001
+From: Ludek Slosarcik <ludek.slosarcik@nxp.com>
+Date: Fri, 14 Feb 2020 15:46:50 +0100
+Subject: [PATCH] opencv_dnn: added video device for 2 examples, and change text labels
+
+Signed-off-by: Ludek Slosarcik <ludek.slosarcik@nxp.com>
+
+Upstream-Status: Pending
+---
+ samples/cpp/logistic_regression.cpp | 2 +-
+ samples/dnn/classification.cpp | 7 ++++---
+ samples/dnn/object_detection.cpp | 10 +++++-----
+ samples/dnn/segmentation.cpp | 2 +-
+ samples/dnn/text_detection.cpp | 5 +++--
+ 5 files changed, 14 insertions(+), 12 deletions(-)
+
+Index: git/samples/cpp/logistic_regression.cpp
+===================================================================
+--- git.orig/samples/cpp/logistic_regression.cpp
++++ git/samples/cpp/logistic_regression.cpp
+@@ -28,7 +28,7 @@ static float calculateAccuracyPercent(co
+
+ int main()
+ {
+- const String filename = samples::findFile("data01.xml");
++ const String filename = samples::findFile("../data/data01.xml");
+ cout << "**********************************************************************" << endl;
+ cout << filename
+ << " contains digits 0 and 1 of 20 samples each, collected on an Android device" << endl;
+Index: git/samples/dnn/classification.cpp
+===================================================================
+--- git.orig/samples/dnn/classification.cpp
++++ git/samples/dnn/classification.cpp
+@@ -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
+- cap.open(0);
++ cap.open(parser.get<int>("device"));
+ //! [Open a video file or an image file or a camera stream]
+
+ // Process frames.
+@@ -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, 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);
+ }
+Index: git/samples/dnn/object_detection.cpp
+===================================================================
+--- git.orig/samples/dnn/object_detection.cpp
++++ git/samples/dnn/object_detection.cpp
+@@ -260,13 +260,13 @@ int main(int argc, char** argv)
+ if (predictionsQueue.counter > 1)
+ {
+ std::string label = format("Camera: %.2f FPS", framesQueue.getFPS());
+- 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);
+
+ label = format("Network: %.2f FPS", predictionsQueue.getFPS());
+- putText(frame, label, Point(0, 30), 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);
+
+ label = format("Skipped frames: %d", framesQueue.counter - predictionsQueue.counter);
+- putText(frame, label, Point(0, 45), 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);
+ }
+@@ -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);
+- 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);
+ }
+@@ -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);
+- putText(frame, label, Point(left, top), FONT_HERSHEY_SIMPLEX, 0.5, Scalar());
++ putText(frame, label, Point(left, top), FONT_HERSHEY_SIMPLEX, 0.8, Scalar());
+ }
+
+ void callback(int pos, void*)
+Index: git/samples/dnn/segmentation.cpp
+===================================================================
+--- git.orig/samples/dnn/segmentation.cpp
++++ git/samples/dnn/segmentation.cpp
+@@ -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);
+- 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);
+ if (!classes.empty())
+Index: git/samples/dnn/text_detection.cpp
+===================================================================
+--- git.orig/samples/dnn/text_detection.cpp
++++ git/samples/dnn/text_detection.cpp
+@@ -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. }"
+ "{ 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;
+- bool openSuccess = parser.has("input") ? cap.open(parser.get<String>("input")) : cap.open(0);
++ bool openSuccess = parser.has("input") ? cap.open(parser.get<String>("input")) : cap.open(parser.get<int>("device"));
+ CV_Assert(openSuccess);
+
+ static const std::string kWinName = "EAST: An Efficient and Accurate Scene Text Detector";
diff --git a/recipes-support/opencv/opencv/download.patch b/recipes-support/opencv/opencv/download.patch
new file mode 100644
index 00000000..33ac4831
--- /dev/null
+++ b/recipes-support/opencv/opencv/download.patch
@@ -0,0 +1,41 @@
+From b18a280fab06a680d9f831bf8b462647f3cb6214 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 9 Jan 2020 16:24:24 +0000
+Subject: [PATCH] opencv: abort configure if we need to download
+
+This CMake module will download files during do_configure. This is bad as it
+means we can't do offline builds.
+
+Add an option to disallow downloads by emitting a fatal error.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+---
+ cmake/OpenCVDownload.cmake | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake
+index 63cf6d3238..4acf477f70 100644
+--- a/cmake/OpenCVDownload.cmake
++++ b/cmake/OpenCVDownload.cmake
+@@ -14,6 +14,7 @@
+ # RELATIVE_URL - if set, then URL is treated as a base, and FILENAME will be appended to it
+ # Note: uses OPENCV_DOWNLOAD_PATH folder as cache, default is <opencv>/.cache
+
++set(OPENCV_ALLOW_DOWNLOADS ON CACHE BOOL "Allow downloads")
+ set(HELP_OPENCV_DOWNLOAD_PATH "Cache directory for downloaded files")
+ if(DEFINED ENV{OPENCV_DOWNLOAD_PATH})
+ set(OPENCV_DOWNLOAD_PATH "$ENV{OPENCV_DOWNLOAD_PATH}" CACHE PATH "${HELP_OPENCV_DOWNLOAD_PATH}")
+@@ -156,6 +157,11 @@ function(ocv_download)
+
+ # Download
+ if(NOT EXISTS "${CACHE_CANDIDATE}")
++ if(NOT OPENCV_ALLOW_DOWNLOADS)
++ message(FATAL_ERROR "Not going to download ${DL_FILENAME}")
++ return()
++ endif()
++
+ ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"")
+ foreach(try ${OPENCV_DOWNLOAD_TRIES_LIST})
+ ocv_download_log("#try ${try}")
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.6.0.imx.bb b/recipes-support/opencv/opencv_4.6.0.imx.bb
new file mode 100644
index 00000000..6d13d107
--- /dev/null
+++ b/recipes-support/opencv/opencv_4.6.0.imx.bb
@@ -0,0 +1,318 @@
+# This recipe is for the i.MX fork of opencv. 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.
+
+########## 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 = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
+
+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
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("i.86$", arch):
+ return "ippicv_2020_lnx_ia32_20191018_general.tgz"
+ else:
+ return "ippicv_2020_lnx_intel64_20191018_general.tgz"
+
+def ipp_md5sum(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("i.86$", arch):
+ return "ad189a940fb60eb71f291321322fe3e8"
+ else:
+ return "7421de0095c7a39162ae13a6098782f9"
+
+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;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"
+
+S = "${WORKDIR}/git"
+
+# OpenCV wants to download more files during configure. We download these in
+# do_fetch and construct a source cache in the format it expects
+OPENCV_DLDIR = "${WORKDIR}/downloads"
+
+do_unpack_extra() {
+ tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S}
+
+ md5() {
+ # Return the MD5 of $1
+ echo $(md5sum $1 | cut -d' ' -f1)
+ }
+ cache() {
+ TAG=$1
+ shift
+ mkdir --parents ${OPENCV_DLDIR}/$TAG
+ for F in $*; do
+ DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F)
+ test -e $DEST || ln -s $F $DEST
+ done
+ }
+ 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=${S}/contrib/modules \
+ -DWITH_1394=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DOPENCV_ICV_HASH=${IPP_MD5} \
+ -DIPPROOT=${S}/ippicv_lnx \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
+ -DOPENCV_ALLOW_DOWNLOADS=OFF \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
+"
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
+EXTRA_OECMAKE:append:x86 = " -DX86=ON"
+# disable sse4.1 and sse4.2 to fix 32bit build failure
+# https://github.com/opencv/opencv/issues/21597
+EXTRA_OECMAKE:remove:x86 = " -DENABLE_SSE41=1 -DENABLE_SSE42=1"
+
+PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
+ ${@bb.utils.contains_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 -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,"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
+PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
+PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
+PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
+PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
+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', 'setuptools3-base', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
+
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
+export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
+export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
+export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
+ ${PN}-apps"
+
+python populate_packages:prepend () {
+ cv_libdir = d.expand('${libdir}')
+ 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")
+ 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))
+
+ metapkg = pn
+ 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))
+}
+
+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/"
+
+INSANE_SKIP:${PN}-java = "libdir"
+INSANE_SKIP:${PN}-dbg = "libdir"
+
+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:python3-opencv = "Python bindings to opencv"
+FILES:python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:python3-opencv = "python3-core python3-numpy"
+
+RDEPENDS:${PN}-apps = "bash"
+
+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() {
+ # 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
+}
+
+########## End of meta-openembedded copy ##########
+
+########## i.MX overrides ##########
+
+SUMMARY = "Opencv : The Open Computer Vision Library, i.MX Fork"
+
+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[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native,"
+PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF,"
+PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx"
+
+# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6
+# (opencv debug framework)
+EXTRA_OECMAKE:append = " -DBUILD_opencv_cvv=OFF"
+
+do_install:append() {
+ ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
+ 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', '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"
+
+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-bootpart.wks.in b/wic/imx-imx-boot-bootpart.wks.in
index 1d725c8d..b50364d1 100644
--- a/wic/imx-imx-boot-bootpart.wks.in
+++ b/wic/imx-imx-boot-bootpart.wks.in
@@ -6,16 +6,15 @@
#
# The disk layout used is:
# - ---------- -------------- --------------
-# | | imx-boot | boot | rootfs |
+# | | imx-boot | boot | rootfs |
# - ---------- -------------- --------------
-# ^ ^ ^ ^
-# | | | |
-# 0 | 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
+# ^ ^ ^ ^ ^
+# | | | | |
+# 0 | 8MiB 72MiB 72MiB + 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 /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 64
-part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
+part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 8192 --size 64
+part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192
bootloader --ptable msdos
-
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