summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backports/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch82
-rw-r--r--backports/recipes-bsp/imx-mkimage/imx-mkimage_git.inc5
-rw-r--r--backports/recipes-bsp/imx-seco/imx-seco_3.8.6.bb (renamed from backports/recipes-bsp/imx-seco/imx-seco_3.8.1.bb)6
-rw-r--r--backports/recipes-graphics/drm/libdrm_2.4.102.imx.bb2
-rw-r--r--backports/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb2
-rw-r--r--backports/recipes-graphics/wayland/weston_9.0.0.imx.bb2
-rw-r--r--backports/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.4.bb2
-rw-r--r--backports/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.11.0.bb2
-rw-r--r--backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb2
-rw-r--r--backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb2
-rw-r--r--backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.imx.bb2
-rw-r--r--backports/recipes-multimedia/gstreamer/gstreamer1.0_1.16.imx.bb2
-rw-r--r--backports/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb2
-rw-r--r--backports/recipes-support/opencv/opencv_4.5.2.imx.bb20
-rw-r--r--conf/layer.conf26
-rw-r--r--conf/machine/apalis-imx8.conf21
-rw-r--r--conf/machine/apalis-imx8x-v11a.conf18
-rw-r--r--conf/machine/apalis-imx8x.conf80
-rw-r--r--conf/machine/colibri-imx6ull-emmc.conf49
-rw-r--r--conf/machine/colibri-imx8x-v10b.conf18
-rw-r--r--conf/machine/colibri-imx8x.conf9
-rw-r--r--conf/machine/include/apalis-imx6.inc10
-rw-r--r--conf/machine/include/colibri-imx6.inc2
-rw-r--r--conf/machine/include/colibri-imx6ull-emmc.inc26
-rw-r--r--conf/machine/include/colibri-imx6ull.inc3
-rw-r--r--conf/machine/include/colibri-imx7-emmc.inc2
-rw-r--r--conf/machine/include/colibri-imx7.inc5
-rw-r--r--conf/machine/verdin-imx8mm.conf13
-rw-r--r--conf/machine/verdin-imx8mp.conf12
-rw-r--r--qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend2
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend40
-rw-r--r--recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state259
-rw-r--r--recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state259
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf250
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.state (renamed from recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound.state)0
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf250
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.state729
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf250
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.state519
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf250
-rw-r--r--recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.state729
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.%.bbappend14
-rw-r--r--recipes-bsp/imx-atf/imx-atf_%.bbappend12
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_%.bbappend8
-rw-r--r--recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb3
-rw-r--r--recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch15
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex-common.inc2
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc2
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex_2020.07.bb16
-rw-r--r--recipes-graphics/drm/libdrm_2.4.102.imx.bbappend2
-rw-r--r--recipes-graphics/wayland/weston-init.bbappend40
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_%.bbappend29
-rw-r--r--recipes-kernel/linux/device-tree-overlays_git.bb2
-rw-r--r--recipes-kernel/linux/linux-imx-headers_5.4%.bbappend10
-rw-r--r--recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb9
-rw-r--r--recipes-multimedia/gstreamer/gst-plugins-package.inc56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc41
-rw-r--r--recipes-support/bmode-usb/bmode-usb_1.0.bb1
-rw-r--r--recipes-support/btuart/btuart.bb37
-rw-r--r--recipes-support/btuart/files/COPYING5
-rw-r--r--recipes-support/btuart/files/btuart.service13
-rwxr-xr-xrecipes-support/btuart/files/btuart.sh8
-rw-r--r--wic/verdin-imx8mp-imx-boot-bootpart.wks.in20
64 files changed, 3943 insertions, 367 deletions
diff --git a/backports/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch b/backports/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
new file mode 100644
index 0000000..ea5c058
--- /dev/null
+++ b/backports/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch
@@ -0,0 +1,82 @@
+From e630c5809ad039efaaea0342b06306512eada53a Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Tue, 22 Feb 2022 20:00:21 +0100
+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.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ iMX8M/soc.mak | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
+index 30ecefd..5d568e7 100644
+--- a/iMX8M/soc.mak
++++ b/iMX8M/soc.mak
+@@ -146,7 +146,7 @@ u-boot.itb: $(dtbs)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs) > u-boot.its
+- ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
++ mkimage -E -p 0x3000 -f u-boot.its u-boot.itb
+ @rm -f u-boot.its $(dtbs)
+
+ dtbs_ddr3l = valddr3l.dtb
+@@ -158,7 +158,7 @@ u-boot-ddr3l.itb: $(dtbs_ddr3l)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr3l)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr3l) > u-boot-ddr3l.its
+- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
++ mkimage -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
+ @rm -f u-boot.its $(dtbs_ddr3l)
+
+ dtbs_ddr3l_evk = evkddr3l.dtb
+@@ -170,7 +170,7 @@ u-boot-ddr3l-evk.itb: $(dtbs_ddr3l_evk)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr3l_evk)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr3l_evk) > u-boot-ddr3l-evk.its
+- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
++ mkimage -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
+ @rm -f u-boot.its $(dtbs_ddr3l_evk)
+
+ dtbs_ddr4 = valddr4.dtb
+@@ -182,7 +182,7 @@ u-boot-ddr4.itb: $(dtbs_ddr4)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr4)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr4) > u-boot-ddr4.its
+- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
++ mkimage -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
+ @rm -f u-boot.its $(dtbs_ddr4)
+
+ dtbs_ddr4_evk = evkddr4.dtb
+@@ -194,7 +194,7 @@ u-boot-ddr4-evk.itb: $(dtbs_ddr4_evk)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr4_evk)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr4_evk) > u-boot-ddr4-evk.its
+- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
++ mkimage -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
+ @rm -f u-boot.its $(dtbs_ddr4_evk)
+
+ ifeq ($(HDMI),yes)
+@@ -310,7 +310,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)
+--
+2.25.1
+
diff --git a/backports/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/backports/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index e52fd72..99c61df 100644
--- a/backports/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/backports/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -3,11 +3,12 @@
DEPENDS = "zlib-native openssl-native"
SRCBRANCH = "imx_5.4.70_2.3.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
+SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
file://0001-mkimage_fit_atf-fix-fit-generator-node-naming.patch \
+ file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \
"
-SRCREV = "8947fea369ab3932259630232cfb9f87b8f9dda1"
+SRCREV = "6a315dbc608f90d630bf34024679f682054a5bea"
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"
diff --git a/backports/recipes-bsp/imx-seco/imx-seco_3.8.1.bb b/backports/recipes-bsp/imx-seco/imx-seco_3.8.6.bb
index 31c083e..2df50ae 100644
--- a/backports/recipes-bsp/imx-seco/imx-seco_3.8.1.bb
+++ b/backports/recipes-bsp/imx-seco/imx-seco_3.8.6.bb
@@ -4,14 +4,14 @@ SUMMARY = "NXP i.MX SECO firmware"
DESCRIPTION = "NXP IMX SECO firmware"
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3c3fe2b904fd694f28d2f646ee16dddb"
+LIC_FILES_CHKSUM = "file://COPYING;md5=be5ff43682ed6c57dfcbeb97651c2829"
inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
-SRC_URI[md5sum] = "3043817d797fbd7417442ef3709d69b3"
-SRC_URI[sha256sum] = "fe6cff8ee0b66cc4e048ad4ad17e663867c5509809a436a3da62a73a80c1140f"
+SRC_URI[md5sum] = "2427a45069a89bb9b9b470642ce17f18"
+SRC_URI[sha256sum] = "3bf3f4ae69f77fd8fe28a216f3927fb84e75461364ad332dd9b4605beadae59a"
do_compile[noexec] = "1"
diff --git a/backports/recipes-graphics/drm/libdrm_2.4.102.imx.bb b/backports/recipes-graphics/drm/libdrm_2.4.102.imx.bb
index 6935b78..ab3b8b6 100644
--- a/backports/recipes-graphics/drm/libdrm_2.4.102.imx.bb
+++ b/backports/recipes-graphics/drm/libdrm_2.4.102.imx.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c5
PROVIDES = "drm"
DEPENDS = "libpthread-stubs"
-IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
+IMX_LIBDRM_SRC ?= "git://github.com/nxp-imx/libdrm-imx.git;protocol=https;nobranch=1"
IMX_LIBDRM_BRANCH ?= "libdrm-imx-2.4.102"
SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \
file://0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch "
diff --git a/backports/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb b/backports/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
index 852b316..c8af730 100644
--- a/backports/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
+++ b/backports/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
@@ -9,7 +9,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
-SRC_URI = "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.20"
+SRC_URI = "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.20"
SRCREV = "9cacf108d0ee5863c7a656da5d2271bc2396e43d"
S = "${WORKDIR}/git"
diff --git a/backports/recipes-graphics/wayland/weston_9.0.0.imx.bb b/backports/recipes-graphics/wayland/weston_9.0.0.imx.bb
index 13ef65c..c29023f 100644
--- a/backports/recipes-graphics/wayland/weston_9.0.0.imx.bb
+++ b/backports/recipes-graphics/wayland/weston_9.0.0.imx.bb
@@ -149,7 +149,7 @@ SUMMARY = "Weston, a Wayland compositor, i.MX fork"
DEFAULT_PREFERENCE = "-1"
SRCBRANCH = "weston-imx-9.0"
-SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \
+SRC_URI = "git://github.com/nxp-imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \
file://weston.png \
file://weston.desktop \
file://xwayland.weston-start \
diff --git a/backports/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.4.bb b/backports/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.4.bb
index 4b38e93..e31aad3 100644
--- a/backports/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.4.bb
+++ b/backports/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p1.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425
SRCBRANCH = "imx_5.4.70_2.3.0"
LOCALVERSION = "-imx_5.4.70_2.3.2"
-KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https"
+KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https"
SRC_URI = " \
${KERNEL_SRC};branch=${SRCBRANCH};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \
file://Add-makefile.patch \
diff --git a/backports/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.11.0.bb b/backports/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.11.0.bb
index 43a2b45..364d675 100644
--- a/backports/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.11.0.bb
+++ b/backports/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.11.0.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/vvcam/LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
SRCBRANCH = "imx_5.4.70_2.3.2"
-ISP_KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/isp-vvcam.git;protocol=https"
+ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https"
SRC_URI = " \
${ISP_KERNEL_SRC};branch=${SRCBRANCH} \
diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb
index 8064d43..259e1ca 100644
--- a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb
+++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb
@@ -10,7 +10,7 @@ DEFAULT_PREFERENCE = "-1"
PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
-GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
+GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
SRC_URI = " \
diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb
index c965be9..2e29ee1 100644
--- a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb
+++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
-GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
+GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
SRCBRANCH = "MM_04.05.06_2008_L5.4.47"
SRCREV = "3c4aa2a58576d68f6e684efa58609665679c9969"
SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.imx.bb b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.imx.bb
index 8413bf1..314b134 100644
--- a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.imx.bb
+++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.imx.bb
@@ -1,7 +1,7 @@
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
-GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
+GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
SRC_URI = " \
diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0_1.16.imx.bb b/backports/recipes-multimedia/gstreamer/gstreamer1.0_1.16.imx.bb
index 8bbc16c..3d558c6 100644
--- a/backports/recipes-multimedia/gstreamer/gstreamer1.0_1.16.imx.bb
+++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0_1.16.imx.bb
@@ -14,7 +14,7 @@ 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"
+GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
SRCBRANCH = "MM_04.05.06_2008_L5.4.47"
SRC_URI = " \
diff --git a/backports/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb b/backports/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
index 5f434f1..d76eeb3 100644
--- a/backports/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
+++ b/backports/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
@@ -23,7 +23,7 @@ LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
SRC_URI = " \
- git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
+ git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
"
SRCREV = "659ec4947d6b1903d26e4ec9e40ae251a659935d"
diff --git a/backports/recipes-support/opencv/opencv_4.5.2.imx.bb b/backports/recipes-support/opencv/opencv_4.5.2.imx.bb
index 2d71acf..0169aef 100644
--- a/backports/recipes-support/opencv/opencv_4.5.2.imx.bb
+++ b/backports/recipes-support/opencv/opencv_4.5.2.imx.bb
@@ -44,13 +44,13 @@ IPP_FILENAME = "${@ipp_filename(d)}"
IPP_MD5 = "${@ipp_md5sum(d)}"
SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
- git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=wechat_qrcode;name=wechat-qrcode \
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \
+ git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib;branch=master;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face;protocol=https \
+ git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=wechat_qrcode;name=wechat-qrcode;protocol=https \
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 \
@@ -243,15 +243,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
# Replace the opencv URL with the fork
SRCREV_opencv = "5423d53ae0d116ee5bbe52f8b5503f0cd8586998"
-OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https"
+OPENCV_SRC ?= "git://github.com/nxp-imx/opencv-imx.git;protocol=https;branch=master"
SRCBRANCH = "4.5.2_imx"
-SRC_URI_remove = "git://github.com/opencv/opencv.git;name=opencv"
+SRC_URI_remove = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https"
SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv"
# Add opencv_extra
SRCREV_extra = "855c4528402e563283f86f28c6393f57eb5dcf62"
SRC_URI += " \
- git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra \
+ 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"
diff --git a/conf/layer.conf b/conf/layer.conf
index 30334f0..9d42e23 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -3,8 +3,10 @@ BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
-# Recipes which backport later versions of other layers are placed here
-BBFILES += "${LAYERDIR}/backports/recipes-*/*/*.bb ${LAYERDIR}/backports/recipes-*/*/*.bbappend"
+# Recipes which backport later versions of other layers are placed here.
+# Only valid for Toradex distributions.
+BACKPORT_BBFILES = "${LAYERDIR}/backports/recipes-*/*/*.bb ${LAYERDIR}/backports/recipes-*/*/*.bbappend"
+BBFILES += "${@ d.getVar('BACKPORT_BBFILES') if 'tdx' in d.getVar('DISTROOVERRIDES').split(':') else ''}"
BBFILE_COLLECTIONS += "toradex-nxp-layer"
BBFILE_PATTERN_toradex-nxp-layer = "^${LAYERDIR}/"
@@ -33,6 +35,16 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V17 = "cf3f9b8d09bc3926b1004ea7
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_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_MD5SUMS_append = " \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V13} \
${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V15} \
@@ -41,4 +53,14 @@ FSL_EULA_FILE_MD5SUMS_append = " \
${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_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} \
"
diff --git a/conf/machine/apalis-imx8.conf b/conf/machine/apalis-imx8.conf
index 035c28f..ce87c14 100644
--- a/conf/machine/apalis-imx8.conf
+++ b/conf/machine/apalis-imx8.conf
@@ -27,9 +27,16 @@ USE_VT = "0"
KERNEL_DEVICETREE = " \
freescale/imx8qm-apalis-eval.dtb \
+ freescale/imx8qm-apalis-eval-v1.2.dtb \
freescale/imx8qm-apalis-ixora-v1.1.dtb \
freescale/imx8qm-apalis-v1.1-eval.dtb \
+ freescale/imx8qm-apalis-v1.1-eval-v1.2.dtb \
freescale/imx8qm-apalis-v1.1-ixora-v1.1.dtb \
+ freescale/imx8qm-apalis-v1.1-ixora-v1.2.dtb \
+ freescale/imx8qp-apalis-v1.1-eval.dtb \
+ freescale/imx8qp-apalis-v1.1-eval-v1.2.dtb \
+ freescale/imx8qp-apalis-v1.1-ixora-v1.1.dtb \
+ freescale/imx8qp-apalis-v1.1-ixora-v1.2.dtb \
"
KERNEL_IMAGETYPE_aarch64 = "Image.gz"
@@ -38,7 +45,7 @@ UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "apalis-imx8_defconfig,sdcard"
-UBOOT_ENTRYPOINT = "0x80280000"
+UBOOT_ENTRYPOINT = "0x96000000"
UBOOT_DTB_LOADADDRESS = "0x83000000"
UBOOT_DTBO_LOADADDRESS = "0x83100000"
UBOOT_RD_LOADADDRESS = "0xA0000000"
@@ -58,9 +65,7 @@ PREFERRED_PROVIDER_u-boot = "u-boot-toradex"
# not yet available in 2020.07.
PREFERRED_VERSION_u-boot-toradex = "2020.04%"
-MACHINE_FIRMWARE_append = " linux-firmware-pcie8997"
-MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE_append = " firmware-imx-8"
+MACHINE_FIRMWARE_append = " linux-firmware-pcie8997 firmware-imx-hdmi firmware-imx-vpu-imx8"
IMXBOOT_TARGETS = "flash_b0"
@@ -77,8 +82,10 @@ OFFSET_BOOTROM_PAYLOAD = "0"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx8_hdmi_overlay.dtbo"
-TORADEX_PRODUCT_IDS = "0037 0047 0048 0049"
+TORADEX_PRODUCT_IDS = "0037 0047 0048 0049 0067"
TORADEX_PRODUCT_IDS[0037] = "imx8qm-apalis-v1.1-eval.dtb"
TORADEX_PRODUCT_IDS[0047] = "imx8qm-apalis-v1.1-eval.dtb"
-TORADEX_PRODUCT_IDS[0048] = "imx8qm-apalis-v1.1-eval.dtb"
-TORADEX_PRODUCT_IDS[0049] = "imx8qm-apalis-v1.1-eval.dtb"
+TORADEX_PRODUCT_IDS[0048] = "imx8qp-apalis-v1.1-eval.dtb"
+TORADEX_PRODUCT_IDS[0049] = "imx8qp-apalis-v1.1-eval.dtb"
+TORADEX_PRODUCT_IDS[0067] = "imx8qm-apalis-v1.1-eval.dtb"
+
diff --git a/conf/machine/apalis-imx8x-v11a.conf b/conf/machine/apalis-imx8x-v11a.conf
deleted file mode 100644
index 28aed93..0000000
--- a/conf/machine/apalis-imx8x-v11a.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-#@TYPE: Machine
-#@NAME: Toradex Apalis iMX8X with B0 silicon
-#@DESCRIPTION: Toradex Apalis iMX8X powered by a i.MX 8X SoC (B0 silicon) as found on all V1.0 and V1.1A versions
-#@MAINTAINER: Philippe Schenker <philippe.schenker@toradex.com>
-
-# for C0 silicon add mx8qxpc0:,
-# for B0 silicon use empty string
-SILICON-OVERRIDES = ""
-
-# keep the original machine as an override with high prio
-MACHINEOVERRIDES =. "apalis-imx8x:"
-
-require conf/machine/apalis-imx8x.conf
-
-# reuse DISTRO_FLAVOUR to display special version exception in the
-# Toradex Easy Installer application
-DISTRO_FLAVOUR_append = " for V1.1A HW"
-MACHINE_NAME = "Apalis-iMX8X-V11A"
diff --git a/conf/machine/apalis-imx8x.conf b/conf/machine/apalis-imx8x.conf
deleted file mode 100644
index 79dc9e0..0000000
--- a/conf/machine/apalis-imx8x.conf
+++ /dev/null
@@ -1,80 +0,0 @@
-#@TYPE: Machine
-#@NAME: Toradex Apalis iMX8X
-#@DESCRIPTION: Toradex Apalis iMX8X powered by a i.MX 8X SoC
-#@MAINTAINER: Philippe Schenker <philippe.schenker@toradex.com>
-
-MACHINE_NAME = "Apalis-iMX8X"
-
-# for C0 silicon add mx8qxpc0 to the right of mx8qxp
-SILICON-OVERRIDES ?= "mx8qxpc0:"
-MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:${SILICON-OVERRIDES}"
-
-IMX_DEFAULT_BSP = "nxp"
-
-require conf/machine/include/imx-base.inc
-# if one wants cortexa35-crypto, set DEFAULTTUNE accordingly
-DEFAULTTUNE_mx8qxp = "aarch64"
-require conf/machine/include/tune-cortexa35.inc
-
-# Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
-
-LOADADDR = ""
-
-# we do not want to have getty running on tty1 as we run
-# auto-serial-console there
-USE_VT = "0"
-
-KERNEL_DEVICETREE = " \
- freescale/imx8qxp-apalis-eval.dtb \
-"
-
-KERNEL_IMAGETYPE_aarch64 = "Image.gz"
-
-UBOOT_SUFFIX = "bin"
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "apalis-imx8x_defconfig,sdcard"
-
-UBOOT_ENTRYPOINT = "0x80280000"
-UBOOT_DTB_LOADADDRESS = "0x83100000"
-UBOOT_DTBO_LOADADDRESS = "0x83200000"
-UBOOT_RD_LOADADDRESS = "0xA0000000"
-
-BOOT_SPACE = "65536"
-IMX_BOOT_SEEK = "32"
-
-IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr"
-WKS_FILE_DEPENDS_append = " u-boot-default-script"
-PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot"
-
-PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
-PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex"
-PREFERRED_PROVIDER_u-boot = "u-boot-toradex"
-# Currently we use the nxp 2020.04 downstream for mx8 as some features are
-# not yet available in 2020.07.
-PREFERRED_VERSION_u-boot-toradex = "2020.04%"
-
-MACHINE_FIRMWARE_append = " linux-firmware-usb8997"
-MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx8"
-
-IMXBOOT_TARGETS = "flash"
-
-PREFERRED_PROVIDER_imx-sc-firmware = "imx-sc-firmware-toradex"
-BOARD_TYPE = "apalis"
-
-IMAGE_CLASSES_append = " image_type_tezi"
-IMAGE_FSTYPES += "teziimg"
-
-# The imx-boot container takes care for the i.MX 8 offset, so the container
-# has to be flashed at offset 0 directly
-UBOOT_BINARY_TEZI_EMMC = "imx-boot"
-OFFSET_BOOTROM_PAYLOAD = "0"
-
-TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx8x_dsihdmi_overlay.dtbo apalis-imx8x_parallel-rgb_overlay.dtbo display-lt161010_overlay.dtbo apalis-imx8x_ad7879_overlay.dtbo"
-
-TORADEX_PRODUCT_IDS = "0046 0053 0054 2600"
-TORADEX_PRODUCT_IDS[0046] = "imx8qxp-apalis-eval.dtb"
-TORADEX_PRODUCT_IDS[0053] = "imx8qxp-apalis-eval.dtb"
-TORADEX_PRODUCT_IDS[0054] = "imx8qxp-apalis-eval.dtb"
-TORADEX_PRODUCT_IDS[2600] = "imx8qxp-apalis-eval.dtb"
diff --git a/conf/machine/colibri-imx6ull-emmc.conf b/conf/machine/colibri-imx6ull-emmc.conf
new file mode 100644
index 0000000..46a9b13
--- /dev/null
+++ b/conf/machine/colibri-imx6ull-emmc.conf
@@ -0,0 +1,49 @@
+#@TYPE: Machine
+#@NAME: Toradex Colibri iMX6ULL 1GB (eMMC)
+#@SOC: i.MX6ULL
+#@DESCRIPTION: Machine configuration for Toradex Colibri iMX6 ULL 1GB (eMMC) SOM
+#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>
+
+MACHINEOVERRIDES =. "mx6:mx6ul:mx6ull:"
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa7.inc
+
+PREFERRED_PROVIDER_virtual/kernel_use-nxp-bsp ?= "linux-toradex"
+PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex"
+
+PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline"
+PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline"
+PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline"
+
+KERNEL_DEVICETREE_use-mainline-bsp = " \
+ imx6ull-colibri-emmc-eval-v3.dtb \
+"
+KERNEL_DEVICETREE_use-nxp-bsp = " \
+ imx6ull-colibri-emmc-aster.dtb \
+ imx6ull-colibri-emmc-eval-v3.dtb \
+ imx6ull-colibri-emmc-iris.dtb \
+ imx6ull-colibri-emmc-iris-v2.dtb \
+"
+
+KERNEL_IMAGETYPE = "zImage"
+# The kernel lives in its own ubi volume.
+RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+
+PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils"
+PREFERRED_PROVIDER_u-boot-default-script ?= "u-boot-script-toradex"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_MACHINE ?= "colibri-imx6ull-emmc_defconfig"
+
+IMAGE_FSTYPES += "tar.xz"
+# wic support
+IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr"
+WKS_FILE_DEPENDS_append = " u-boot-default-script"
+WKS_FILE = "sdimage-bootpart.wks"
+
+MACHINE_FEATURES += "screen usbgadget usbhost vfat ext2 alsa touchscreen wifi bluetooth 3g"
+MACHINE_FIRMWARE_remove = "firmware-imx-epdc"
diff --git a/conf/machine/colibri-imx8x-v10b.conf b/conf/machine/colibri-imx8x-v10b.conf
deleted file mode 100644
index 2049335..0000000
--- a/conf/machine/colibri-imx8x-v10b.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-#@TYPE: Machine
-#@NAME: Toradex Colibri iMX8X with B0 silicon
-#@DESCRIPTION: Toradex Colibri iMX8X powered by a i.MX 8X SoC (B0 silicon) as found on older SoM Versions V1.0B
-#@MAINTAINER: Max Krummenacher <max.krummenacherr@toradex.com>
-
-# for C0 silicon add mx8qxpc0:,
-# for B0 silicon use empty string
-SILICON-OVERRIDES = ""
-
-# keep the original machine as an override with high prio
-MACHINEOVERRIDES =. "colibri-imx8x:"
-
-require conf/machine/colibri-imx8x.conf
-
-# reuse DISTRO_FLAVOUR to display special version exception in the
-# Toradex Easy Installer application
-DISTRO_FLAVOUR_append = " for V1.0B HW"
-MACHINE_NAME = "Colibri-iMX8X-V10B"
diff --git a/conf/machine/colibri-imx8x.conf b/conf/machine/colibri-imx8x.conf
index dec2f7a..8535431 100644
--- a/conf/machine/colibri-imx8x.conf
+++ b/conf/machine/colibri-imx8x.conf
@@ -26,9 +26,14 @@ LOADADDR = ""
USE_VT = "0"
KERNEL_DEVICETREE = " \
+ freescale/imx8dx-colibri-aster.dtb \
+ freescale/imx8dx-colibri-eval-v3.dtb \
+ freescale/imx8dx-colibri-iris.dtb \
+ freescale/imx8dx-colibri-iris-v2.dtb \
freescale/imx8qxp-colibri-aster.dtb \
- freescale/imx8qxp-colibri-dsihdmi-eval-v3.dtb \
freescale/imx8qxp-colibri-eval-v3.dtb \
+ freescale/imx8qxp-colibri-iris.dtb \
+ freescale/imx8qxp-colibri-iris-v2.dtb \
"
KERNEL_DEVICETREE_use-mainline-bsp = "freescale/imx8qxp-colibri-eval-v3.dtb"
@@ -38,7 +43,7 @@ UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "colibri-imx8x_defconfig,sdcard"
-UBOOT_ENTRYPOINT = "0x80280000"
+UBOOT_ENTRYPOINT = "0x96000000"
UBOOT_DTB_LOADADDRESS = "0x83100000"
UBOOT_DTBO_LOADADDRESS = "0x83200000"
UBOOT_RD_LOADADDRESS = "0xA0000000"
diff --git a/conf/machine/include/apalis-imx6.inc b/conf/machine/include/apalis-imx6.inc
index c2ae376..a009260 100644
--- a/conf/machine/include/apalis-imx6.inc
+++ b/conf/machine/include/apalis-imx6.inc
@@ -1,15 +1,19 @@
IMAGE_CLASSES_append = " image_type_tezi"
IMAGE_FSTYPES_append = " teziimg"
-TORADEX_PRODUCT_IDS = "0027 0028 0029 0035"
+TORADEX_PRODUCT_IDS = "0027 0028 0029 0035 0082 0083 0084 0085"
# The payload offsets are given in number of 512 byte blocks.
OFFSET_BOOTROM_PAYLOAD = "2"
OFFSET_SPL_PAYLOAD = "138"
MACHINE_NAME = "Apalis-iMX6"
-KERNEL_DEVICETREE += "imx6q-apalis-ixora-v1.2.dtb"
+KERNEL_DEVICETREE += " \
+ imx6q-apalis-ixora-v1.2.dtb \
+ imx6q-apalis-eval-v1.2.dtb \
+"
KERNEL_DEVICETREE_use-mainline-bsp += " \
imx6q-apalis-eval.dtb \
+ imx6q-apalis-eval-v1.2.dtb \
imx6q-apalis-ixora-v1.1.dtb \
"
@@ -29,4 +33,4 @@ UBOOT_DTBO_LOADADDRESS_apalis-imx6 = "0x17000000"
MACHINE_FIRMWARE_remove = "firmware-imx-epdc"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx6_hdmi_overlay.dtbo"
-TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT_use-mainline-bsp = "apalis-imx6_parallel-rgb_overlay.dtbo display-edt7_overlay.dtbo apalis-imx6_stmpe-ts_overlay.dtbo apalis-imx6_hdmi_overlay.dtbo"
+TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT_use-mainline-bsp = "apalis-imx6_parallel-rgb_overlay.dtbo display-edt7_overlay.dtbo apalis-imx6_stmpe-ts_overlay.dtbo apalis-imx6_hdmi_overlay.dtbo apalis-imx6_vga_overlay.dtbo"
diff --git a/conf/machine/include/colibri-imx6.inc b/conf/machine/include/colibri-imx6.inc
index 1c11dc0..a06abbc 100644
--- a/conf/machine/include/colibri-imx6.inc
+++ b/conf/machine/include/colibri-imx6.inc
@@ -1,6 +1,6 @@
IMAGE_CLASSES_append = " image_type_tezi"
IMAGE_FSTYPES_append = " teziimg"
-TORADEX_PRODUCT_IDS = "0014 0015 0016 0017"
+TORADEX_PRODUCT_IDS = "0014 0015 0016 0017 0077 0078 0079 0080"
# The payload offsets are given in number of 512 byte blocks.
OFFSET_BOOTROM_PAYLOAD = "2"
OFFSET_SPL_PAYLOAD = "138"
diff --git a/conf/machine/include/colibri-imx6ull-emmc.inc b/conf/machine/include/colibri-imx6ull-emmc.inc
new file mode 100644
index 0000000..2f4c1e4
--- /dev/null
+++ b/conf/machine/include/colibri-imx6ull-emmc.inc
@@ -0,0 +1,26 @@
+IMAGE_CLASSES_append = " image_type_tezi"
+IMAGE_FSTYPES_append = " teziimg"
+# The payload offsets are given in number of 512 byte blocks.
+OFFSET_BOOTROM_PAYLOAD = "2"
+TORADEX_PRODUCT_IDS = "0062"
+TORADEX_FLASH_TYPE = "emmc"
+
+WIC_CREATE_EXTRA_ARGS_append = " --no-fstab-update"
+
+MACHINE_NAME = "Colibri-iMX6ULL-eMMC"
+
+PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot"
+
+UBOOT_MAKE_TARGET_colibri-imx6ull-emmc = "u-boot.imx"
+UBOOT_ENTRYPOINT_colibri-imx6ull-emmc = "0x81000000"
+UBOOT_DTB_LOADADDRESS_colibri-imx6ull-emmc = "0x82100000"
+UBOOT_DTBO_LOADADDRESS_colibri-imx6ull-emmc = "0x87000000"
+
+TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx6ull_parallel-rgb_vga_overlay.dtbo colibri-imx6ull_ad7879_overlay.dtbo"
+TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT_use-mainline-bsp = "colibri-imx6ull_parallel-rgb_overlay.dtbo colibri-imx6ull_ad7879_overlay.dtbo display-vga_overlay.dtbo"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
+PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex"
+PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline"
+PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline"
+PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline"
diff --git a/conf/machine/include/colibri-imx6ull.inc b/conf/machine/include/colibri-imx6ull.inc
index 84af376..b83da92 100644
--- a/conf/machine/include/colibri-imx6ull.inc
+++ b/conf/machine/include/colibri-imx6ull.inc
@@ -14,7 +14,6 @@ MACHINE_NAME = "Colibri-iMX6ULL"
PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot"
UBOOT_ENTRYPOINT_colibri-imx6ull = "0x81000000"
-MACHINEOVERRIDES_append_upstream = ":use-mainline-bsp"
MACHINE_FIRMWARE_remove_use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
UBOOT_MAKE_TARGET_colibri-imx6ull = "u-boot.imx"
@@ -22,7 +21,7 @@ UBOOT_ENTRYPOINT_colibri-imx6ull = "0x81000000"
UBOOT_DTB_LOADADDRESS_colibri-imx6ull = "0x82100000"
UBOOT_DTBO_LOADADDRESS_colibri-imx6ull = "0x87000000"
-KERNEL_DEVICETREE_append_use_nxp_bsp = " \
+KERNEL_DEVICETREE_append_use-nxp-bsp = " \
imx6ull-colibri-aster.dtb \
imx6ull-colibri-iris.dtb \
imx6ull-colibri-iris-v2.dtb \
diff --git a/conf/machine/include/colibri-imx7-emmc.inc b/conf/machine/include/colibri-imx7-emmc.inc
index dd67ea8..a9577b2 100644
--- a/conf/machine/include/colibri-imx7-emmc.inc
+++ b/conf/machine/include/colibri-imx7-emmc.inc
@@ -7,8 +7,6 @@ TORADEX_FLASH_TYPE = "emmc"
MACHINE_NAME = "Colibri-iMX7-eMMC"
-MACHINEOVERRIDES_append_upstream = ":use-mainline-bsp"
-
MACHINE_FIRMWARE_remove = "firmware-imx-epdc"
MACHINE_FIRMWARE_remove_use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
diff --git a/conf/machine/include/colibri-imx7.inc b/conf/machine/include/colibri-imx7.inc
index 4cc2d59..481511f 100644
--- a/conf/machine/include/colibri-imx7.inc
+++ b/conf/machine/include/colibri-imx7.inc
@@ -1,15 +1,14 @@
IMAGE_CLASSES_append = " image_type_tezi"
IMAGE_FSTYPES_append = " teziimg"
-TORADEX_PRODUCT_IDS = "0032 0033 0041"
+TORADEX_PRODUCT_IDS = "0032 0033 0041 0081"
TORADEX_PRODUCT_IDS[0032] = "imx7s-colibri-eval-v3.dtb"
TORADEX_PRODUCT_IDS[0033] = "imx7d-colibri-eval-v3.dtb"
TORADEX_PRODUCT_IDS[0041] = "imx7d-colibri-eval-v3.dtb"
+TORADEX_PRODUCT_IDS[0081] = "imx7d-colibri-eval-v3.dtb"
TORADEX_FLASH_TYPE = "rawnand"
MACHINE_NAME = "Colibri-iMX7"
-MACHINEOVERRIDES_append_upstream = ":use-mainline-bsp"
-
MACHINE_FIRMWARE_remove = "firmware-imx-epdc"
MACHINE_FIRMWARE_remove_use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
diff --git a/conf/machine/verdin-imx8mm.conf b/conf/machine/verdin-imx8mm.conf
index a033f3a..b52681a 100644
--- a/conf/machine/verdin-imx8mm.conf
+++ b/conf/machine/verdin-imx8mm.conf
@@ -21,8 +21,10 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
KERNEL_DEVICETREE = " \
freescale/imx8mm-verdin-nonwifi-dahlia.dtb \
freescale/imx8mm-verdin-nonwifi-dev.dtb \
+ freescale/imx8mm-verdin-nonwifi-yavia.dtb \
freescale/imx8mm-verdin-wifi-dahlia.dtb \
freescale/imx8mm-verdin-wifi-dev.dtb \
+ freescale/imx8mm-verdin-wifi-yavia.dtb \
"
KERNEL_IMAGETYPE_aarch64 = "Image.gz"
@@ -30,9 +32,9 @@ UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "verdin-imx8mm_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"
-UBOOT_ENTRYPOINT = "0x40280000"
-UBOOT_DTB_LOADADDRESS = "0x43000000"
-UBOOT_DTBO_LOADADDRESS = "0x46000000"
+UBOOT_ENTRYPOINT_mx8mm = "0x40000000"
+UBOOT_DTB_LOADADDRESS_mx8mm = "0x44000000"
+UBOOT_DTBO_LOADADDRESS_mx8mm = "0x46000000"
UBOOT_RD_LOADADDRESS = "0x60000000"
# Set DDR FIRMWARE
@@ -84,8 +86,11 @@ OFFSET_BOOTROM_PAYLOAD = "2"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_lt8912_overlay.dtbo"
-TORADEX_PRODUCT_IDS = "0055 0057 0059 0060"
+TORADEX_PRODUCT_IDS = "0055 0057 0059 0060 0068 0086 0087"
TORADEX_PRODUCT_IDS[0055] = "imx8mm-verdin-wifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0057] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0059] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0060] = "imx8mm-verdin-wifi-v1.1-dev.dtb"
+TORADEX_PRODUCT_IDS[0068] = "imx8mm-verdin-wifi-v1.1-dev.dtb"
+TORADEX_PRODUCT_IDS[0086] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
+TORADEX_PRODUCT_IDS[0087] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
diff --git a/conf/machine/verdin-imx8mp.conf b/conf/machine/verdin-imx8mp.conf
index 9b7a41e..21997b4 100644
--- a/conf/machine/verdin-imx8mp.conf
+++ b/conf/machine/verdin-imx8mp.conf
@@ -21,8 +21,10 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
KERNEL_DEVICETREE = " \
freescale/imx8mp-verdin-nonwifi-dahlia.dtb \
freescale/imx8mp-verdin-nonwifi-dev.dtb \
+ freescale/imx8mp-verdin-nonwifi-yavia.dtb \
freescale/imx8mp-verdin-wifi-dahlia.dtb \
freescale/imx8mp-verdin-wifi-dev.dtb \
+ freescale/imx8mp-verdin-wifi-yavia.dtb \
"
KERNEL_IMAGETYPE_aarch64 = "Image.gz"
@@ -30,9 +32,9 @@ UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "verdin-imx8mp_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"
-UBOOT_ENTRYPOINT = "0x40280000"
-UBOOT_DTB_LOADADDRESS = "0x43000000"
-UBOOT_DTBO_LOADADDRESS = "0x46000000"
+UBOOT_ENTRYPOINT_mx8mp = "0x40000000"
+UBOOT_DTB_LOADADDRESS_mx8mp = "0x44000000"
+UBOOT_DTBO_LOADADDRESS_mx8mp = "0x46000000"
UBOOT_RD_LOADADDRESS = "0x60000000"
# Set u-boot DTB
@@ -86,9 +88,11 @@ OFFSET_BOOTROM_PAYLOAD = "0"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mp_native-hdmi_overlay.dtbo verdin-imx8mp_lt8912_overlay.dtbo"
-TORADEX_PRODUCT_IDS = "0058 0061 0063 0064 0066"
+TORADEX_PRODUCT_IDS = "0058 0061 0063 0064 0065 0066 0070"
TORADEX_PRODUCT_IDS[0058] = "imx8mp-verdin-wifi-dev.dtb"
TORADEX_PRODUCT_IDS[0061] = "imx8mp-verdin-nonwifi-dev.dtb"
TORADEX_PRODUCT_IDS[0063] = "imx8mp-verdin-nonwifi-dev.dtb"
TORADEX_PRODUCT_IDS[0064] = "imx8mp-verdin-wifi-dev.dtb"
+TORADEX_PRODUCT_IDS[0065] = "imx8mp-verdin-nonwifi-dev.dtb"
TORADEX_PRODUCT_IDS[0066] = "imx8mp-verdin-wifi-dev.dtb"
+TORADEX_PRODUCT_IDS[0070] = "imx8mp-verdin-wifi-dev.dtb"
diff --git a/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
index 61956c0..1bbe9c5 100644
--- a/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
+++ b/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
@@ -1 +1 @@
-PACKAGECONFIG_remove = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'xcomposite-egl xcomposite-glx', '', d)}" \ No newline at end of file
+PACKAGECONFIG_remove_tdx = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'xcomposite-egl xcomposite-glx', '', d)}"
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index 05bfa70..5a1cef7 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -1,4 +1,40 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-state/:"
-#make this machine specific, as we have different codecs with different settings
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+# make this machine specific, as we have different codecs with different settings
+PACKAGE_ARCH_tdx = "${MACHINE_ARCH}"
+
+SRC_URI_append_mx8m_tdx = " \
+ file://asound-dev.conf \
+ file://asound-dahlia.conf \
+ file://asound-dev.state \
+ file://asound-dahlia.state \
+"
+
+FILES_${PN} += "${sysconfdir}/asound-*.conf"
+
+do_install_append_mx8m_tdx () {
+ # Remove the default asound.conf, we need set up asound.conf dynamically
+ # at runtime to support both dev/dahlia boards.
+ rm -f ${D}${sysconfdir}/asound.conf
+ rm -f ${D}${localstatedir}/lib/alsa/asound.state
+ install -m 0644 ${WORKDIR}/asound-*.conf ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/asound-*.state ${D}${localstatedir}/lib/alsa
+}
+
+# Invalidate the default pkg_postinst in oe-core, this ensures our ontarget
+# postinst to be the only one to run during package installation.
+pkg_postinst_${PN}_mx8m_tdx () {
+}
+
+pkg_postinst_ontarget_${PN}_mx8m_tdx () {
+ if grep -q "Development" /proc/device-tree/model; then
+ board="dev"
+ else
+ board="dahlia"
+ fi
+
+ mv /etc/asound-$board.conf /etc/asound.conf
+ mv /var/lib/alsa/asound-$board.state /var/lib/alsa/asound.state
+ rm -f /etc/asound-*.conf
+ rm -f /var/lib/alsa/asound-*.state
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state b/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state
index a578e3d..8497618 100644
--- a/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state
@@ -1,4 +1,4 @@
-state.imx7colibrisgtl {
+state.imx7sgtl5000 {
control.1 {
iface MIXER
name 'PCM Playback Volume'
@@ -45,6 +45,16 @@ state.imx7colibrisgtl {
}
control.5 {
iface MIXER
+ name 'Capture Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.6 {
+ iface MIXER
name 'Headphone Playback Volume'
value.0 103
value.1 103
@@ -59,7 +69,17 @@ state.imx7colibrisgtl {
dbvalue.1 0
}
}
- control.6 {
+ control.7 {
+ iface MIXER
+ name 'Headphone Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.8 {
iface MIXER
name 'Headphone Playback ZC Switch'
value true
@@ -69,7 +89,7 @@ state.imx7colibrisgtl {
count 1
}
}
- control.7 {
+ control.9 {
iface MIXER
name 'Mic Volume'
value 0
@@ -83,7 +103,202 @@ state.imx7colibrisgtl {
dbvalue.0 0
}
}
- control.8 {
+ control.10 {
+ iface MIXER
+ name 'Lineout Playback Volume'
+ value.0 18
+ value.1 18
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1550
+ dbmax 0
+ dbvalue.0 -650
+ dbvalue.1 -650
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Lineout Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'DAP Main channel'
+ value 32768
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 65535'
+ dbmin 0
+ dbmax 65535
+ dbvalue.0 32768
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'DAP Mix channel'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 65535'
+ dbmin 0
+ dbmax 65535
+ dbvalue.0 0
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'AVC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'AVC Hard Limiter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'AVC Max Gain Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 2'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 600
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'AVC Integrator Response'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'AVC Threshold Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 96'
+ dbmin 0
+ dbmax 9600
+ dbvalue.0 1200
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'BASS 0'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'BASS 1'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'BASS 2'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'BASS 3'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'BASS 4'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'Capture Mux'
+ value MIC_IN
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 MIC_IN
+ item.1 LINE_IN
+ }
+ }
+ control.25 {
iface MIXER
name 'Headphone Mux'
value DAC
@@ -95,16 +310,42 @@ state.imx7colibrisgtl {
item.1 LINE_IN
}
}
- control.9 {
+ control.26 {
iface MIXER
- name 'Capture Mux'
- value MIC_IN
+ name 'Digital Input Mux'
+ value I2S
comment {
access 'read write'
type ENUMERATED
count 1
- item.0 MIC_IN
- item.1 LINE_IN
+ item.0 ADC
+ item.1 I2S
+ item.2 Rsvrd
+ item.3 DAP
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'DAP Mux'
+ value ADC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ADC
+ item.1 I2S
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'DAP MIX Mux'
+ value ADC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ADC
+ item.1 I2S
}
}
}
diff --git a/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state b/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state
index a578e3d..8497618 100644
--- a/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state
@@ -1,4 +1,4 @@
-state.imx7colibrisgtl {
+state.imx7sgtl5000 {
control.1 {
iface MIXER
name 'PCM Playback Volume'
@@ -45,6 +45,16 @@ state.imx7colibrisgtl {
}
control.5 {
iface MIXER
+ name 'Capture Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.6 {
+ iface MIXER
name 'Headphone Playback Volume'
value.0 103
value.1 103
@@ -59,7 +69,17 @@ state.imx7colibrisgtl {
dbvalue.1 0
}
}
- control.6 {
+ control.7 {
+ iface MIXER
+ name 'Headphone Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.8 {
iface MIXER
name 'Headphone Playback ZC Switch'
value true
@@ -69,7 +89,7 @@ state.imx7colibrisgtl {
count 1
}
}
- control.7 {
+ control.9 {
iface MIXER
name 'Mic Volume'
value 0
@@ -83,7 +103,202 @@ state.imx7colibrisgtl {
dbvalue.0 0
}
}
- control.8 {
+ control.10 {
+ iface MIXER
+ name 'Lineout Playback Volume'
+ value.0 18
+ value.1 18
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1550
+ dbmax 0
+ dbvalue.0 -650
+ dbvalue.1 -650
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Lineout Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'DAP Main channel'
+ value 32768
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 65535'
+ dbmin 0
+ dbmax 65535
+ dbvalue.0 32768
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'DAP Mix channel'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 65535'
+ dbmin 0
+ dbmax 65535
+ dbvalue.0 0
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'AVC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'AVC Hard Limiter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'AVC Max Gain Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 2'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 600
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'AVC Integrator Response'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'AVC Threshold Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 96'
+ dbmin 0
+ dbmax 9600
+ dbvalue.0 1200
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'BASS 0'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'BASS 1'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'BASS 2'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'BASS 3'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'BASS 4'
+ value 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 95'
+ dbmin -1175
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'Capture Mux'
+ value MIC_IN
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 MIC_IN
+ item.1 LINE_IN
+ }
+ }
+ control.25 {
iface MIXER
name 'Headphone Mux'
value DAC
@@ -95,16 +310,42 @@ state.imx7colibrisgtl {
item.1 LINE_IN
}
}
- control.9 {
+ control.26 {
iface MIXER
- name 'Capture Mux'
- value MIC_IN
+ name 'Digital Input Mux'
+ value I2S
comment {
access 'read write'
type ENUMERATED
count 1
- item.0 MIC_IN
- item.1 LINE_IN
+ item.0 ADC
+ item.1 I2S
+ item.2 Rsvrd
+ item.3 DAP
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'DAP Mux'
+ value ADC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ADC
+ item.1 I2S
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'DAP MIX Mux'
+ value ADC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ADC
+ item.1 I2S
}
}
}
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf
new file mode 100644
index 0000000..122f912
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf
@@ -0,0 +1,250 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.default_card{
+type hw
+card "imx8mmwm8904"
+}
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+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 "imx8mmwm8904"
+}
+
+ctl.mixer0{
+type hw
+card "imx8mmwm8904"
+}
+
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound.state b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.state
index 1d3e09a..1d3e09a 100644
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound.state
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.state
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf
new file mode 100644
index 0000000..c0789f6
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf
@@ -0,0 +1,250 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.default_card{
+type hw
+card "imx8mmnau8822"
+}
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+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 "imx8mmnau8822"
+}
+
+ctl.mixer0{
+type hw
+card "imx8mmnau8822"
+}
+
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.state b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.state
new file mode 100644
index 0000000..878f82e
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.state
@@ -0,0 +1,729 @@
+state.imx8mmnau8822 {
+ control.1 {
+ iface MIXER
+ name 'ADC Companding'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 NC
+ item.2 u-law
+ item.3 A-law
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'DAC Companding'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 NC
+ item.2 u-law
+ item.3 A-law
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'EQ Function'
+ value Playback
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Capture
+ item.1 Playback
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'EQ Parameters'
+ value '012c002c002c002c002c'
+ comment {
+ access 'read write'
+ type BYTES
+ count 10
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'DAC Inversion Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'PCM Volume'
+ value.0 215
+ value.1 215
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -2000
+ dbvalue.1 -2000
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'High Pass Filter Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'High Pass Cut Off'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'ADC Inversion Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'ADC Volume'
+ value.0 255
+ value.1 255
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'DAC Limiter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'DAC Limiter Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'DAC Limiter Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'DAC Limiter Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'DAC Limiter Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 12'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'ALC Mode'
+ value Normal
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Normal
+ item.1 Limiter
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'ALC Enable Switch'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 Right
+ item.2 Left
+ item.3 Both
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ALC Min Gain'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ALC Max Gain'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'ALC Hold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 10'
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'ALC Target'
+ value 11
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'ALC Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 10'
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'ALC Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 10'
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'ALC Noise Gate Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.25 {
+ iface MIXER
+ name 'ALC Noise Gate Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'PGA ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'PGA Volume'
+ value.0 16
+ value.1 16
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -1200
+ dbmax 3525
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'Headphone ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'Headphone Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'Headphone Volume'
+ value.0 57
+ value.1 57
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -5700
+ dbmax 600
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'Speaker RInversion Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'Speaker ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'Speaker Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Speaker Volume'
+ value.0 57
+ value.1 57
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -5700
+ dbmax 600
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'AUXOUT Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'PGA Boost Volume'
+ value.0 1
+ value.1 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 1'
+ dbmin 0
+ dbmax 2000
+ dbvalue.0 2000
+ dbvalue.1 2000
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'L2/R2 Boost Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ dbvalue.1 -9999999
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'Aux Boost Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ dbvalue.1 -9999999
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'DAC 128x Oversampling Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'ADC 128x Oversampling Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'Left Output Mixer LINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Left Output Mixer LAUX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Left Output Mixer LDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Left Output Mixer RDAC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Right Output Mixer RINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Right Output Mixer RAUX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Right Output Mixer RDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Right Output Mixer LDAC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'AUX1 Output Mixer RDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'AUX1 Output Mixer RMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'AUX1 Output Mixer RINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'AUX1 Output Mixer LDAC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'AUX1 Output Mixer LMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'AUX2 Output Mixer LDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'AUX2 Output Mixer LMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'AUX2 Output Mixer LINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'AUX2 Output Mixer AUX1MIX Output Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface MIXER
+ name 'Left Input Mixer L2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.59 {
+ iface MIXER
+ name 'Left Input Mixer MicN Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.60 {
+ iface MIXER
+ name 'Left Input Mixer MicP Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.61 {
+ iface MIXER
+ name 'Right Input Mixer R2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.62 {
+ iface MIXER
+ name 'Right Input Mixer MicN Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.63 {
+ iface MIXER
+ name 'Right Input Mixer MicP Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.64 {
+ iface MIXER
+ name 'Digital Loopback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf
new file mode 100644
index 0000000..2289bd0
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf
@@ -0,0 +1,250 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.default_card{
+type hw
+card "imx8mpwm8904"
+}
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+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 "imx8mpwm8904"
+}
+
+ctl.mixer0{
+type hw
+card "imx8mpwm8904"
+}
+
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.state b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.state
new file mode 100644
index 0000000..194c7bf
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.state
@@ -0,0 +1,519 @@
+state.imx8mpwm8904 {
+ control.1 {
+ iface MIXER
+ name 'EQ1 Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 24'
+ dbmin -1200
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'EQ2 Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 24'
+ dbmin -1200
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'EQ3 Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 24'
+ dbmin -1200
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'EQ4 Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 24'
+ dbmin -1200
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'EQ5 Volume'
+ value 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 24'
+ dbmin -1200
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Digital Capture Volume'
+ value.0 96
+ value.1 96
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 119'
+ dbmin -9999999
+ dbmax 1725
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'Left Caputure Mode'
+ value Single-Ended
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Single-Ended
+ item.1 'Differential Line'
+ item.2 'Differential Mic'
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Right Capture Mode'
+ value Single-Ended
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Single-Ended
+ item.1 'Differential Line'
+ item.2 'Differential Mic'
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 24
+ value.1 24
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'High Pass Filter Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'High Pass Filter Mode'
+ value Hi-fi
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Hi-fi
+ item.1 'Voice 1'
+ item.2 'Voice 2'
+ item.3 'Voice 3'
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'ADC 128x OSR Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'Digital Playback Boost Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin 0
+ dbmax 1800
+ dbvalue.0 0
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'Digital Playback Volume'
+ value.0 88
+ value.1 88
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 96'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -600
+ dbvalue.1 -600
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'Headphone Volume'
+ value.0 43
+ value.1 43
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -5700
+ dbmax 600
+ dbvalue.0 -1400
+ dbvalue.1 -1400
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'Headphone Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'Headphone ZC Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'Line Output Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -5700
+ dbmax 600
+ dbvalue.0 -5700
+ dbvalue.1 -5700
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'Line Output Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'Line Output ZC Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'EQ Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'DRC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'DRC Path'
+ value ADC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 ADC
+ item.1 DAC
+ }
+ }
+ control.25 {
+ iface MIXER
+ name 'DAC OSRx2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'DAC Deemphasis Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'Digital Sidetone Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 15'
+ dbmin -3600
+ dbmax 900
+ dbvalue.0 -3600
+ dbvalue.1 -3600
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'Left Capture Mux'
+ value IN1L
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 IN1L
+ item.1 IN2L
+ item.2 IN3L
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'Left Capture Inverting Mux'
+ value IN1L
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 IN1L
+ item.1 IN2L
+ item.2 IN3L
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'Right Capture Mux'
+ value IN1R
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 IN1R
+ item.1 IN2R
+ item.2 IN3R
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'Right Capture Inverting Mux'
+ value IN1R
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 IN1R
+ item.1 IN2R
+ item.2 IN3R
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'AIFOUTL Mux'
+ value Left
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Left
+ item.1 Right
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'AIFOUTR Mux'
+ value Right
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Left
+ item.1 Right
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'DACL Mux'
+ value Left
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Left
+ item.1 Right
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'DACR Mux'
+ value Right
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Left
+ item.1 Right
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'Left Sidetone'
+ value None
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 None
+ item.1 Left
+ item.2 Right
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Right Sidetone'
+ value None
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 None
+ item.1 Left
+ item.2 Right
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'HPL Mux'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Bypass
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'HPR Mux'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Bypass
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'LINEL Mux'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Bypass
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'LINER Mux'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Bypass
+ }
+ }
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf
new file mode 100644
index 0000000..54941e3
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf
@@ -0,0 +1,250 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.default_card{
+type hw
+card "imx8mpnau8822"
+}
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+period_time 40000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "default_card"
+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 "imx8mpnau8822"
+}
+
+ctl.mixer0{
+type hw
+card "imx8mpnau8822"
+}
+
diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.state b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.state
new file mode 100644
index 0000000..125ddf7
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.state
@@ -0,0 +1,729 @@
+state.imx8mpnau8822 {
+ control.1 {
+ iface MIXER
+ name 'ADC Companding'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 NC
+ item.2 u-law
+ item.3 A-law
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'DAC Companding'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 NC
+ item.2 u-law
+ item.3 A-law
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'EQ Function'
+ value Playback
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Capture
+ item.1 Playback
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'EQ Parameters'
+ value '012c002c002c002c002c'
+ comment {
+ access 'read write'
+ type BYTES
+ count 10
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'DAC Inversion Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'PCM Volume'
+ value.0 215
+ value.1 215
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -2000
+ dbvalue.1 -2000
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'High Pass Filter Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'High Pass Cut Off'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'ADC Inversion Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'ADC Volume'
+ value.0 255
+ value.1 255
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 255'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'DAC Limiter Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'DAC Limiter Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'DAC Limiter Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'DAC Limiter Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'DAC Limiter Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 12'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 0
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'ALC Mode'
+ value Normal
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Normal
+ item.1 Limiter
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'ALC Enable Switch'
+ value Off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Off
+ item.1 Right
+ item.2 Left
+ item.3 Both
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ALC Min Gain'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ALC Max Gain'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'ALC Hold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 10'
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'ALC Target'
+ value 11
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'ALC Decay'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 10'
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'ALC Attack'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 10'
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'ALC Noise Gate Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.25 {
+ iface MIXER
+ name 'ALC Noise Gate Threshold'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'PGA ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'PGA Volume'
+ value.0 16
+ value.1 16
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -1200
+ dbmax 3525
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'Headphone ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'Headphone Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'Headphone Volume'
+ value.0 51
+ value.1 51
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -5700
+ dbmax 600
+ dbvalue.0 -600
+ dbvalue.1 -600
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'Speaker RInversion Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'Speaker ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'Speaker Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Speaker Volume'
+ value.0 57
+ value.1 57
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -5700
+ dbmax 600
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'AUXOUT Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'PGA Boost Volume'
+ value.0 1
+ value.1 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 1'
+ dbmin 0
+ dbmax 2000
+ dbvalue.0 2000
+ dbvalue.1 2000
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'L2/R2 Boost Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ dbvalue.1 -9999999
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'Aux Boost Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ dbvalue.1 -9999999
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'DAC 128x Oversampling Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'ADC 128x Oversampling Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'Left Output Mixer LINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Left Output Mixer LAUX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Left Output Mixer LDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Left Output Mixer RDAC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Right Output Mixer RINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Right Output Mixer RAUX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Right Output Mixer RDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Right Output Mixer LDAC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'AUX1 Output Mixer RDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'AUX1 Output Mixer RMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'AUX1 Output Mixer RINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'AUX1 Output Mixer LDAC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'AUX1 Output Mixer LMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'AUX2 Output Mixer LDAC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'AUX2 Output Mixer LMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'AUX2 Output Mixer LINMIX Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'AUX2 Output Mixer AUX1MIX Output Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface MIXER
+ name 'Left Input Mixer L2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.59 {
+ iface MIXER
+ name 'Left Input Mixer MicN Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.60 {
+ iface MIXER
+ name 'Left Input Mixer MicP Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.61 {
+ iface MIXER
+ name 'Right Input Mixer R2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.62 {
+ iface MIXER
+ name 'Right Input Mixer MicN Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.63 {
+ iface MIXER
+ name 'Right Input Mixer MicP Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.64 {
+ iface MIXER
+ name 'Digital Loopback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+}
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.%.bbappend b/recipes-bsp/firmware-imx/firmware-imx-8_8.%.bbappend
deleted file mode 100644
index 1766a7a..0000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.%.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-FILES_${PN} += " \
- ${nonarch_base_libdir}/firmware/imx/hdmi/hdmitxfw.bin \
- ${nonarch_base_libdir}/firmware/imx/hdmi/hdmirxfw.bin \
- ${nonarch_base_libdir}/firmware/imx/hdmi/dpfw.bin \
-"
-
-unset do_install[noexec]
-
-do_install_append () {
- install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi/
- install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi/
- install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi/
-}
diff --git a/recipes-bsp/imx-atf/imx-atf_%.bbappend b/recipes-bsp/imx-atf/imx-atf_%.bbappend
index b8e6649..f39e541 100644
--- a/recipes-bsp/imx-atf/imx-atf_%.bbappend
+++ b/recipes-bsp/imx-atf/imx-atf_%.bbappend
@@ -1,10 +1,10 @@
-PV = "2.2+git${SRCPV}"
-SRCBRANCH = "toradex_imx_5.4.70_2.3.0"
-SRCREV = "835a8f67b2ca7aa3f2d05d6e6a1a51f7e1147266"
-SRCREV_use-head-next = "${AUTOREV}"
-SRC_URI = "git://git.toradex.com/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
+PV_tdx = "2.2+git${SRCPV}"
+SRCBRANCH_tdx = "toradex_imx_5.4.70_2.3.0"
+SRCREV_tdx = "2fa8c6349e9a1d965757d44f05a6c72687850b77"
+SRCREV_use-head-next_tdx = "${AUTOREV}"
+SRC_URI_tdx = "git://git.toradex.com/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
-EXTRA_OEMAKE_append = " \
+EXTRA_OEMAKE_append_tdx = " \
BUILD_STRING="${SRCBRANCH}-g${@'${SRCPV}'.replace('AUTOINC+', '')}" \
"
EXTRA_OEMAKE_append_verdin-imx8mm = " \
diff --git a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend b/recipes-bsp/imx-mkimage/imx-boot_%.bbappend
deleted file mode 100644
index bd97840..0000000
--- a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-# Create symbolic link rather than copying mkimage_uboot
-compile_mx8m_prepend() {
- rm -rf ${BOOT_STAGING}/mkimage_uboot
-}
-compile_mx8m_append() {
- rm -rf ${BOOT_STAGING}/mkimage_uboot
- lnr ${STAGING_DIR_NATIVE}/${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot
-}
diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb
index 92bb2a9..da7e101 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb
@@ -11,8 +11,7 @@ inherit deploy
SRC_URI = "git://github.com/toradex/i.MX-System-Controller-Firmware.git;branch=master;protocol=https;fsl-eula=true"
-SRCREV = "64fd890f0be17c2c2939e66b5ddf3d60246f574b"
-SRCREV_use-head-next = "${AUTOREV}"
+SRCREV = "4b69cbb6cba9a097334233086a314b9e0718381c"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch b/recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch
index 20e7e98..8573807 100644
--- a/recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch
+++ b/recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch
@@ -1,5 +1,4 @@
-From 9bdb801953e4a81c59fc358cc5bf91811b0d514f Mon Sep 17 00:00:00 2001
-Message-Id: <9bdb801953e4a81c59fc358cc5bf91811b0d514f.1601476897.git.marcel.ziswiler@toradex.com>
+From 3192378a0bd7cfbadf752a770545e7c879f3e603 Mon Sep 17 00:00:00 2001
From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Date: Wed, 30 Sep 2020 16:37:54 +0200
Subject: [PATCH] colibri_imx7: boot linux kernel in non-secure mode
@@ -9,23 +8,21 @@ mode mainline/upstream requires non-secure mode instead, as it properly
uses PSCI to control further cores.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
+
---
include/configs/colibri_imx7.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
-index 1b50dac83c..be33f1bdf9 100644
+index b48172ab19..b796fba3e2 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
-@@ -140,7 +140,7 @@
- UBOOT_UPDATE \
- "boot_script_dhcp=boot.scr\0" \
+@@ -161,7 +161,7 @@
+ "boot_scripts=" BOOT_SCRIPT "\0" \
+ "boot_script_dhcp=" BOOT_SCRIPT "\0" \
"boot_file=zImage\0" \
- "bootm_boot_mode=sec\0" \
+ "bootm_boot_mode=nonsec\0" \
"bootubipart=ubi\0" \
"console=ttymxc0\0" \
"defargs=\0" \
---
-2.29.0
-
diff --git a/recipes-bsp/u-boot/u-boot-toradex-common.inc b/recipes-bsp/u-boot/u-boot-toradex-common.inc
index 96ccd55..32c4083 100644
--- a/recipes-bsp/u-boot/u-boot-toradex-common.inc
+++ b/recipes-bsp/u-boot/u-boot-toradex-common.inc
@@ -12,7 +12,7 @@ inherit toradex-u-boot-localversion
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "68f97c8d17f0d9822565b0a28a1d6705acef2355"
+SRCREV = "4baed786463e78727265420bf36df440b0a9ac92"
SRCBRANCH = "toradex_2020.07"
SRCREV_use-head-next = "${AUTOREV}"
diff --git a/recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc b/recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc
index 83245d8..9da1c42 100644
--- a/recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc
+++ b/recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc
@@ -10,7 +10,7 @@ SRC_URI = " \
file://fw_env.config \
"
-SRCREV = "7f3416a28c3442018d19d3d0a14b22363e3b3bd1"
+SRCREV = "e72d2f7c00a195a6db25c1d1d9249999bcf51fc9"
SRCREV_use-head-next = "${AUTOREV}"
SRCBRANCH = "toradex_imx_v2020.04_5.4.70_2.3.0"
diff --git a/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb b/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb
index f965e28..bc6405a 100644
--- a/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb
+++ b/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb
@@ -31,6 +31,14 @@ nand_padding () {
dd bs=1024 count=1 if=/dev/zero | cat - ${PADDING_DIR}/u-boot.imx.zero-padded > ${PADDING_DIR}/u-boot-nand.imx
}
+deploy_uboot_with_spl () {
+ for config in ${UBOOT_MACHINE}; do
+ if [ -f "${B}/${config}/u-boot-with-spl.imx" ]; then
+ install -D -m 644 ${B}/${config}/u-boot-with-spl.imx ${DEPLOYDIR}/u-boot-with-spl.imx
+ fi
+ done
+}
+
do_compile_append_colibri-imx6ull () {
nand_padding
}
@@ -42,3 +50,11 @@ do_compile_append_colibri-imx7 () {
do_compile_append_colibri-vf () {
nand_padding
}
+
+do_deploy_append_colibri-imx6 () {
+ deploy_uboot_with_spl
+}
+
+do_deploy_append_apalis-imx6 () {
+ deploy_uboot_with_spl
+}
diff --git a/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend b/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend
index 0589710..688a02f 100644
--- a/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend
+++ b/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend
@@ -1 +1 @@
-RDEPENDS_${PN}_append_imxgpu = " ${PN}-etnaviv ${PN}-vivante"
+RDEPENDS_${PN}_append_imxgpu_tdx = " ${PN}-etnaviv ${PN}-vivante"
diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend
index c92a3c6..0fdba76 100644
--- a/recipes-graphics/wayland/weston-init.bbappend
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -1,8 +1,3 @@
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8 = " \
- use-g2d=1 \
-"
-
-
uncomment() {
# already uncommented, do nothing
if ! (grep "^$1" $2); then
@@ -12,3 +7,38 @@ uncomment() {
sed -i -e 's,^#'"$1"','"$1"',g' $2
fi
}
+
+
+configure_noidle() {
+ sed -i '/idle-time=0/d' ${D}${sysconfdir}/xdg/weston/weston.ini
+ sed -i '/^\[core\]/a idle-time=0' ${D}${sysconfdir}/xdg/weston/weston.ini
+}
+
+# Prevent weston from going to sleep
+do_install_append_upstream() {
+ configure_noidle
+}
+
+configure_pixman() {
+ sed -i '/use-pixman=true/d' ${D}${sysconfdir}/xdg/weston/weston.ini
+ sed -i '/^\[core\]/a use-pixman=true' ${D}${sysconfdir}/xdg/weston/weston.ini
+}
+
+# With upstream weston and modules without GPU weston uses a lot of
+# cpu time and becomes very unresponsive. Setting use-pixman=true works
+# around it.
+do_install_append_upstream_colibri-imx6ull() {
+ configure_pixman
+}
+
+do_install_append_upstream_colibri-imx6ull-emmc() {
+ configure_pixman
+}
+
+do_install_append_upstream_colibri-imx7() {
+ configure_pixman
+}
+
+do_install_append_upstream_colibri-imx7-emmc() {
+ configure_pixman
+}
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
new file mode 100644
index 0000000..0e02d99
--- /dev/null
+++ b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
@@ -0,0 +1,29 @@
+IMX_FIRMWARE_SRC ?= "git://github.com/NXP/imx-firmware.git;protocol=https"
+SRCBRANCH_imx-firmware = "lf-5.10.72_2.2.0"
+SRC_URI += " \
+ ${IMX_FIRMWARE_SRC};branch=${SRCBRANCH_imx-firmware};destsuffix=imx-firmware;name=imx-firmware \
+"
+
+SRCREV_imx-firmware = "a312213179f671cecba5f32aa839cc752a3e817f"
+
+SRCREV_FORMAT = "default_imx-firmware"
+
+do_install_append () {
+ # Install NXP Connectivity SDIO8997 firmware
+ install -d ${D}${nonarch_base_libdir}/firmware/nxp
+ install -m 0644 ${WORKDIR}/imx-firmware/nxp/wifi_mod_para.conf ${D}${nonarch_base_libdir}/firmware/nxp
+ install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997_SD/ed_mac_ctrl_V3_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp
+ install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997_SD/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp
+ install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997_SD/txpwrlimit_cfg_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp
+
+ # Upstream SDIO8997 driver firmware is located elsewhere
+ install -d ${D}${nonarch_base_libdir}/firmware/mrvl
+ lnr ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin
+}
+
+PACKAGES =+ " ${PN}-nxp89xx"
+
+FILES_${PN}-nxp89xx = " \
+ ${nonarch_base_libdir}/firmware/nxp/* \
+ ${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
+"
diff --git a/recipes-kernel/linux/device-tree-overlays_git.bb b/recipes-kernel/linux/device-tree-overlays_git.bb
index 6c0b921..9ce7664 100644
--- a/recipes-kernel/linux/device-tree-overlays_git.bb
+++ b/recipes-kernel/linux/device-tree-overlays_git.bb
@@ -1,7 +1,7 @@
inherit toradex-devicetree
SRCBRANCH = "toradex_5.4-2.3.x-imx"
-SRCREV = "90d5687035aa8f7894da431c959c920f5cb9ae1f"
+SRCREV = "d5905ae8af38f9b715f6605f239e53cc04f3e087"
SRCREV_use-head-next = "${AUTOREV}"
# we have dtbo's in arm and arm64 architecture, set the include paths
diff --git a/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend b/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend
index 8cda03c..6f85f34 100644
--- a/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend
+++ b/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend
@@ -1,6 +1,6 @@
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-SRCBRANCH = "toradex_5.4-2.1.x-imx"
-LOCALVERSION = "-2.3.2"
-SRC_URI = "git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH}"
+LIC_FILES_CHKSUM_tdx = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+SRCBRANCH_tdx = "toradex_5.4-2.1.x-imx"
+LOCALVERSION_tdx = "-2.3.2"
+SRC_URI_tdx = "git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH}"
# Keep that one stable, i.e. use the exact git hash from the NXP BSP.
-SRCREV = "dea2fede7e024ee7029b13e8d82a00ec14427777"
+SRCREV_tdx = "dea2fede7e024ee7029b13e8d82a00ec14427777"
diff --git a/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb b/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb
index b9f3363..677f87e 100644
--- a/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb
+++ b/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb
@@ -14,7 +14,7 @@ SRC_URI = " \
KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', ' libcomposite', '',d)}"
inherit toradex-kernel-localversion
-LINUX_VERSION = "5.4.129"
+LINUX_VERSION = "5.4.193"
# skip, as with use-head-next LINUX_VERSION might be set wrongly
KERNEL_VERSION_SANITY_SKIP_use-head-next = "1"
@@ -22,7 +22,7 @@ KERNEL_VERSION_SANITY_SKIP_use-head-next = "1"
LOCALVERSION = "-${TDX_VERSION}"
SRCBRANCH = "toradex_5.4-2.3.x-imx"
-SRCREV_machine = "a9729c9288e7f599d96b298d24fe038eb44bd4eb"
+SRCREV_machine = "cf754d7aaa943974fa97b26d641da26f13a02bd6"
SRCREV_machine_use-head-next = "${AUTOREV}"
DEPENDS += "lzop-native bc-native"
@@ -31,6 +31,7 @@ COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
KBUILD_DEFCONFIG_apalis-imx6 ?= "apalis_imx6_defconfig"
KBUILD_DEFCONFIG_colibri-imx6 ?= "colibri_imx6_defconfig"
KBUILD_DEFCONFIG_colibri-imx6ull ?= "colibri-imx6ull_defconfig"
+KBUILD_DEFCONFIG_colibri-imx6ull-emmc ?= "colibri-imx6ull_defconfig"
KBUILD_DEFCONFIG_mx7 ?= "colibri_imx7_defconfig"
KBUILD_DEFCONFIG_mx8 ?= "toradex_defconfig"
@@ -45,7 +46,7 @@ export DTC_FLAGS = "-@"
# both possible storage locations.
MIRRORS_append_preempt-rt = "${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/older/ ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/"
SRC_URI_append_preempt-rt = " \
- ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/older/patch-5.4.129-rt61.patch.xz;name=rt-patch \
+ ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/older/patch-5.4.193-rt74.patch.xz;name=rt-patch \
file://preempt-rt.scc \
file://preempt-rt-less-latency.scc \
"
@@ -55,4 +56,4 @@ SRC_URI_append_preempt-rt = " \
# file://0002-ddr-perf-prevent-BUG-with-rt-patch.patch \
#
-SRC_URI[rt-patch.sha256sum] = "f8ddc34c7765bb78c9f44c4e41dae7d4196c87201212ab4ec3723a7594b9702c"
+SRC_URI[rt-patch.sha256sum] = "821d7bf3015d90e86eace5869d5596eacc9e4b5bd80644d40207817c4b8cc4be"
diff --git a/recipes-multimedia/gstreamer/gst-plugins-package.inc b/recipes-multimedia/gstreamer/gst-plugins-package.inc
deleted file mode 100644
index 6781e98..0000000
--- a/recipes-multimedia/gstreamer/gst-plugins-package.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
-PACKAGESPLITFUNCS_append = " set_metapkg_rdepends "
-
-python split_gstreamer10_packages () {
- gst_libdir = d.expand('${libdir}/gstreamer-${LIBV}')
- postinst = d.getVar('plugin_postinst')
- glibdir = d.getVar('libdir')
-
- do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
- do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='')
- do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='')
- do_split_packages(d, gst_libdir, r'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev')
- do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev')
-}
-
-python set_metapkg_rdepends () {
- import os
- import oe.utils
-
- pn = d.getVar('PN')
- metapkg = pn + '-meta'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- blacklist = [ pn, pn + '-meta' ]
- metapkg_rdepends = []
- pkgdest = d.getVar('PKGDEST')
- for pkg in oe.utils.packages_filter_out_system(d):
- if pkg not in blacklist 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-imx_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_%.bbappend
deleted file mode 100644
index c73790e..0000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_OECONF += "--libdir=${libdir}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
deleted file mode 100644
index bc24b05..0000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Plugins for the GStreamer multimedia framework 1.x"
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
-SECTION = "multimedia"
-
-DEPENDS = "gstreamer1.0 glib-2.0-native"
-
-SRC_URI_append = " file://gtk-doc-tweaks.patch"
-
-inherit autotools pkgconfig upstream-version-is-even gtk-doc
-
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
-
-LIBV = "1.0"
-require gst-plugins-package.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).
-
-GSTREAMER_ORC ?= "orc"
-
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc orc-native"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
-
-export ORCC = "${STAGING_DIR_NATIVE}${bindir}/orcc"
-
-EXTRA_OECONF = " \
- --disable-examples \
-"
-
-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"
-
-PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/recipes-support/bmode-usb/bmode-usb_1.0.bb b/recipes-support/bmode-usb/bmode-usb_1.0.bb
index 752c09b..62d48b4 100644
--- a/recipes-support/bmode-usb/bmode-usb_1.0.bb
+++ b/recipes-support/bmode-usb/bmode-usb_1.0.bb
@@ -8,6 +8,7 @@ DEFINE = "NO_MACHINE"
DEFINE_apalis-imx6 = "MX6"
DEFINE_colibri-imx6 = "MX6"
DEFINE_colibri-imx6ull = "MX6ULL"
+DEFINE_colibri-imx6ull-emmc = "MX6ULL"
do_compile() {
${CC} -o bmode_usb bmode_usb.c ${CFLAGS} ${LDFLAGS} -D ${DEFINE}
diff --git a/recipes-support/btuart/btuart.bb b/recipes-support/btuart/btuart.bb
new file mode 100644
index 0000000..5cc4066
--- /dev/null
+++ b/recipes-support/btuart/btuart.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Initialize Bluetooth UART"
+DESCRIPTION = "At runtime on target make sure appropriate firmware is used and initialize Bluetooth UART"
+LICENSE = "PD"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RRECOMMENDS_${PN} = "bluez5"
+
+SRC_URI = " \
+ file://btuart.sh \
+ file://btuart.service \
+ file://COPYING \
+"
+
+LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING;md5=1c3a7fb45253c11c74434676d84fe7dd"
+
+do_install () {
+ install -d ${D}/${sbindir}
+ install -m 0755 ${WORKDIR}/*.sh ${D}/${sbindir}
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/btuart.service ${D}${systemd_unitdir}/system
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "btuart.service"
+
+inherit allarch systemd
+
+pkg_postinst_ontarget_${PN}_verdin-imx8mp () {
+ # only BT UART modules need our service
+ if fgrep -q V1.0 /proc/device-tree/toradex,board-rev || ! fgrep -q toradex,verdin-imx8mp-wifi /proc/device-tree/compatible; then
+ /bin/systemctl disable btuart.service
+ /bin/systemctl stop btuart.service
+ exit 0
+ fi
+}
diff --git a/recipes-support/btuart/files/COPYING b/recipes-support/btuart/files/COPYING
new file mode 100644
index 0000000..040e990
--- /dev/null
+++ b/recipes-support/btuart/files/COPYING
@@ -0,0 +1,5 @@
+This piece is software is provided by Toradex AG as sample code.
+There is no warranty for the program.
+Toradex AG put this program in public domain, uncopyrighted.
+
+Renens, Swizterland, 2008-10-23
diff --git a/recipes-support/btuart/files/btuart.service b/recipes-support/btuart/files/btuart.service
new file mode 100644
index 0000000..547f6be
--- /dev/null
+++ b/recipes-support/btuart/files/btuart.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Initialize Bluetooth UART
+Wants=bluetooth.service
+Before=bluetooth.service
+After=sys-subsystem-net-devices-mlan0.device
+After=dev-ttymxc3.device
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/btuart.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/recipes-support/btuart/files/btuart.sh b/recipes-support/btuart/files/btuart.sh
new file mode 100755
index 0000000..c4f53c1
--- /dev/null
+++ b/recipes-support/btuart/files/btuart.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+sleep 5
+/usr/bin/hciattach /dev/ttymxc3 any 115200 flow
+/usr/sbin/rfkill unblock bluetooth
+/usr/bin/hciconfig hci0 up
+# Change BT UART baudrate to a higher speed, for example 921600
+/usr/bin/hcitool -i hci0 cmd 0x3F 0x09 0x00 0x10 0x0e 0x00
+/bin/stty -F /dev/ttymxc3 921600
diff --git a/wic/verdin-imx8mp-imx-boot-bootpart.wks.in b/wic/verdin-imx8mp-imx-boot-bootpart.wks.in
deleted file mode 100644
index b498a1a..0000000
--- a/wic/verdin-imx8mp-imx-boot-bootpart.wks.in
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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 | boot | rootfs |
-# - ---------- -------------- --------------
-# ^ ^ ^ ^ ^
-# | | | | |
-# 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 8192 --size 64
-part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192
-
-bootloader --ptable msdos