summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/machine/apalis-imx8.conf36
-rw-r--r--conf/machine/colibri-imx8x.conf29
-rw-r--r--conf/machine/include/apalis-imx6.inc11
-rw-r--r--conf/machine/include/colibri-imx6.inc8
-rw-r--r--conf/machine/include/colibri-imx6ull-emmc.inc9
-rw-r--r--conf/machine/include/colibri-imx6ull.inc8
-rw-r--r--conf/machine/include/colibri-imx7-emmc.inc5
-rw-r--r--conf/machine/include/colibri-imx7.inc11
-rw-r--r--conf/machine/verdin-imx8mm.conf23
-rw-r--r--conf/machine/verdin-imx8mp.conf25
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend36
-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.state519
-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/imx-mkimage/files/0001-LFOPTEE-126-Add-spl-and-sld-Blocks-info.patch40
-rw-r--r--recipes-bsp/imx-mkimage/files/0002-LFU-573-1-imx8m-Generate-hash-of-FIT-FDT-structure-t.patch213
-rw-r--r--recipes-bsp/imx-mkimage/files/0003-LFU-573-2-imx8m-Reserve-new-IVT-CSF-for-FIT-FDT-sign.patch206
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend1
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage-patches.inc9
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_1.0.bbappend1
-rw-r--r--recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.15.0.bb (renamed from recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.14.0.bb)2
-rw-r--r--recipes-bsp/isp-imx/isp-imx/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch32
-rw-r--r--recipes-bsp/isp-imx/isp-imx_%.bbappend4
-rw-r--r--recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch31
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex-common_2022.04.inc42
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex_2022.04.bb47
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_%.bbappend29
-rw-r--r--recipes-kernel/linux/device-tree-overlays_git.bb4
-rw-r--r--recipes-kernel/linux/linux-imx-headers_5%.bbappend4
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt-less-latency.cfg (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt-less-latency.cfg)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt-less-latency.scc (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt-less-latency.scc)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.cfg (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt.cfg)0
-rw-r--r--recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.scc (renamed from recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt.scc)0
-rw-r--r--recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb (renamed from recipes-kernel/linux/linux-toradex_5.15-2.1.x.bb)15
-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
49 files changed, 656 insertions, 3784 deletions
diff --git a/conf/machine/apalis-imx8.conf b/conf/machine/apalis-imx8.conf
index 919bf46..fb51732 100644
--- a/conf/machine/apalis-imx8.conf
+++ b/conf/machine/apalis-imx8.conf
@@ -9,6 +9,8 @@ SOC_SILICON_REV ?= ""
MACHINEOVERRIDES =. "mx8:mx8qm:"
+MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf"
+
IMX_DEFAULT_BSP = "nxp"
require conf/machine/include/imx-base.inc
@@ -25,18 +27,20 @@ LOADADDR = ""
# auto-serial-console there
USE_VT = "0"
-#KERNEL_DEVICETREE = " \
-# freescale/imx8qm-apalis-eval.dtb \
-# freescale/imx8qm-apalis-ixora-v1.1.dtb \
-# freescale/imx8qm-apalis-v1.1-eval.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-ixora-v1.1.dtb \
-# freescale/imx8qp-apalis-v1.1-ixora-v1.2.dtb \
-#"
-# Use a building device-tree until we have ported our device-trees to 5.15 kernel
-KERNEL_DEVICETREE = ""
+KERNEL_DTB_PREFIX = "freescale/"
+KERNEL_DEVICETREE = " \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval-v1.2.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-ixora-v1.1.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval-v1.2.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.1.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.2.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-eval.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-eval-v1.2.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-ixora-v1.1.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-ixora-v1.2.dtb \
+"
KERNEL_IMAGETYPE:aarch64 = "Image.gz"
@@ -65,7 +69,7 @@ PREFERRED_PROVIDER_u-boot = "u-boot-toradex"
# Currently we use the nxp 2022.04 downstream for mx8
PREFERRED_VERSION_u-boot-toradex = "2022.04%"
-MACHINE_FIRMWARE:append = " linux-firmware-pcie8997 firmware-imx-hdmi firmware-imx-vpu-imx8"
+MACHINE_FIRMWARE:append = " linux-firmware-pcie8997 firmware-imx-hdmi"
IMXBOOT_TARGETS = "flash_b0"
IMX_BOOT_SOC_TARGET = "iMX8QM"
@@ -81,7 +85,11 @@ IMAGE_FSTYPES += "teziimg"
UBOOT_BINARY_TEZI_EMMC = "imx-boot"
OFFSET_BOOTROM_PAYLOAD = "0"
-TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx8_hdmi_overlay.dtbo"
+TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = " \
+ apalis-imx8_hdmi_overlay.dtbo \
+ apalis-imx8_spi1_spidev_overlay.dtbo \
+ apalis-imx8_spi2_spidev_overlay.dtbo \
+"
TORADEX_PRODUCT_IDS = "0037 0047 0048 0049 0067"
TORADEX_PRODUCT_IDS[0037] = "imx8qm-apalis-v1.1-eval.dtb"
diff --git a/conf/machine/colibri-imx8x.conf b/conf/machine/colibri-imx8x.conf
index ebbf759..67491e7 100644
--- a/conf/machine/colibri-imx8x.conf
+++ b/conf/machine/colibri-imx8x.conf
@@ -7,6 +7,8 @@ MACHINE_NAME = "Colibri-iMX8X"
MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"
+MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf"
+
IMX_DEFAULT_BSP = "nxp"
require conf/machine/include/imx-base.inc
@@ -23,18 +25,18 @@ LOADADDR = ""
# auto-serial-console there
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-eval-v3.dtb \
-# freescale/imx8qxp-colibri-iris.dtb \
-# freescale/imx8qxp-colibri-iris-v2.dtb \
-#"
-KERNEL_DEVICETREE = "freescale/imx8qxp-colibri-eval-v3.dtb"
-KERNEL_DEVICETREE:use-mainline-bsp = "freescale/imx8qxp-colibri-eval-v3.dtb"
+KERNEL_DTB_PREFIX = "freescale/"
+KERNEL_DEVICETREE = " \
+ ${KERNEL_DTB_PREFIX}imx8dx-colibri-aster.dtb \
+ ${KERNEL_DTB_PREFIX}imx8dx-colibri-eval-v3.dtb \
+ ${KERNEL_DTB_PREFIX}imx8dx-colibri-iris.dtb \
+ ${KERNEL_DTB_PREFIX}imx8dx-colibri-iris-v2.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qxp-colibri-aster.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qxp-colibri-eval-v3.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris.dtb \
+ ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris-v2.dtb \
+"
+KERNEL_DEVICETREE:use-mainline-bsp = "${KERNEL_DTB_PREFIX}imx8qxp-colibri-eval-v3.dtb"
KERNEL_IMAGETYPE:aarch64 = "Image.gz"
@@ -68,7 +70,6 @@ PREFERRED_PROVIDER_u-boot = "u-boot-toradex"
PREFERRED_VERSION_u-boot-toradex = "2022.04%"
MACHINE_FIRMWARE:append = " linux-firmware-pcie8997"
-MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8"
IMXBOOT_TARGETS = "flash"
IMX_BOOT_SOC_TARGET = "iMX8QX"
@@ -84,7 +85,7 @@ IMAGE_FSTYPES += "teziimg"
UBOOT_BINARY_TEZI_EMMC = "imx-boot"
OFFSET_BOOTROM_PAYLOAD = "0"
-TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx8x_parallel-rgb_overlay.dtbo colibri-imx8x_ad7879_overlay.dtbo display-vga_overlay.dtbo"
+TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx8x_vga-640x480_overlay.dtbo"
TORADEX_PRODUCT_IDS = "0038 0050 0051 0052"
TORADEX_PRODUCT_IDS[0038] = "imx8qxp-colibri-eval-v3.dtb"
diff --git a/conf/machine/include/apalis-imx6.inc b/conf/machine/include/apalis-imx6.inc
index 46f8a56..e0df677 100644
--- a/conf/machine/include/apalis-imx6.inc
+++ b/conf/machine/include/apalis-imx6.inc
@@ -3,7 +3,7 @@ IMAGE_FSTYPES:append = " teziimg"
# The payload offsets are given in number of 512 byte blocks.
OFFSET_BOOTROM_PAYLOAD = "2"
OFFSET_SPL_PAYLOAD = "138"
-TORADEX_PRODUCT_IDS = "0027 0028 0029 0035"
+TORADEX_PRODUCT_IDS = "0027 0028 0029 0035 0082 0083 0084 0085"
MACHINE_NAME = "Apalis-iMX6"
@@ -14,10 +14,9 @@ TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \
"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = ""
-KERNEL_DEVICETREE += "imx6q-apalis-ixora-v1.2.dtb"
-KERNEL_DEVICETREE:use-mainline-bsp += " \
- imx6q-apalis-eval.dtb \
- imx6q-apalis-ixora-v1.1.dtb \
+KERNEL_DEVICETREE:append = " \
+ imx6q-apalis-eval-v1.2.dtb \
+ imx6q-apalis-ixora-v1.2.dtb \
"
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
@@ -35,4 +34,4 @@ MACHINE_FIRMWARE:remove = "firmware-imx-epdc"
UBOOT_DTB_LOADADDRESS:apalis-imx6 = "0x18200000"
UBOOT_DTBO_LOADADDRESS:apalis-imx6 = "0x18300000"
UBOOT_ENTRYPOINT:apalis-imx6 = "0x14200000"
-UBOOT_RD_LOADADDRESS:apalis-imx6 = "0x18400000"
+UBOOT_RD_LOADADDRESS:apalis-imx6 = "0x1A400000"
diff --git a/conf/machine/include/colibri-imx6.inc b/conf/machine/include/colibri-imx6.inc
index f6d574b..e4fd4ae 100644
--- a/conf/machine/include/colibri-imx6.inc
+++ b/conf/machine/include/colibri-imx6.inc
@@ -3,17 +3,17 @@ IMAGE_FSTYPES:append = " teziimg"
# The payload offsets are given in number of 512 byte blocks.
OFFSET_BOOTROM_PAYLOAD = "2"
OFFSET_SPL_PAYLOAD = "138"
-TORADEX_PRODUCT_IDS = "0014 0015 0016 0017"
+TORADEX_PRODUCT_IDS = "0014 0015 0016 0017 0077 0078 0079 0080"
MACHINE_NAME = "Colibri-iMX6"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \
colibri-imx6_vga-640x480_overlay.dtbo \
- colibri-imx6_spidev_overlay.dtbo \
"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = ""
-KERNEL_DEVICETREE += " \
+KERNEL_DEVICETREE:append = " \
+ imx6dl-colibri-aster.dtb \
imx6dl-colibri-iris.dtb \
imx6dl-colibri-iris-v2.dtb \
"
@@ -33,4 +33,4 @@ MACHINE_FIRMWARE:remove = "firmware-imx-epdc"
UBOOT_DTB_LOADADDRESS:colibri-imx6 = "0x18200000"
UBOOT_DTBO_LOADADDRESS:colibri-imx6 = "0x18300000"
UBOOT_ENTRYPOINT:colibri-imx6 = "0x14200000"
-UBOOT_RD_LOADADDRESS:colibri-imx6 = "0x18400000"
+UBOOT_RD_LOADADDRESS:colibri-imx6 = "0x1A400000"
diff --git a/conf/machine/include/colibri-imx6ull-emmc.inc b/conf/machine/include/colibri-imx6ull-emmc.inc
index f95019e..b059856 100644
--- a/conf/machine/include/colibri-imx6ull-emmc.inc
+++ b/conf/machine/include/colibri-imx6ull-emmc.inc
@@ -11,10 +11,15 @@ MACHINE_NAME = "Colibri-iMX6ULL-eMMC"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \
colibri-imx6ull_vga-640x480_overlay.dtbo \
- colibri-imx6ull_spidev_overlay.dtbo \
"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = ""
+KERNEL_DEVICETREE:append = " \
+ imx6ull-colibri-emmc-aster.dtb \
+ imx6ull-colibri-emmc-iris.dtb \
+ imx6ull-colibri-emmc-iris-v2.dtb \
+"
+
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-mainline"
@@ -28,5 +33,5 @@ UBOOT_DTB_LOADADDRESS:colibri-imx6ull-emmc = "0x88200000"
UBOOT_DTBO_LOADADDRESS:colibri-imx6ull-emmc = "0x88300000"
UBOOT_ENTRYPOINT:colibri-imx6ull-emmc = "0x84200000"
UBOOT_MAKE_TARGET:colibri-imx6ull-emmc = "u-boot.imx"
-UBOOT_RD_LOADADDRESS:colibri-imx6ull-emmc = "0x88400000"
+UBOOT_RD_LOADADDRESS:colibri-imx6ull-emmc = "0x8A400000"
UBOOT_SUFFIX:colibri-imx6ull-emmc = "imx"
diff --git a/conf/machine/include/colibri-imx6ull.inc b/conf/machine/include/colibri-imx6ull.inc
index 1551d02..956a2d1 100644
--- a/conf/machine/include/colibri-imx6ull.inc
+++ b/conf/machine/include/colibri-imx6ull.inc
@@ -11,7 +11,9 @@ WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update"
MACHINE_NAME = "Colibri-iMX6ULL"
-KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf"
+
+KERNEL_DEVICETREE:append = " \
imx6ull-colibri-aster.dtb \
imx6ull-colibri-iris.dtb \
imx6ull-colibri-iris-v2.dtb \
@@ -34,5 +36,5 @@ MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-
UBOOT_DTB_LOADADDRESS:colibri-imx6ull = "0x88200000"
UBOOT_DTBO_LOADADDRESS:colibri-imx6ull = "0x88300000"
UBOOT_ENTRYPOINT:colibri-imx6ull = "0x84200000"
-UBOOT_MAKE_TARGET:colibri-imx6ull = "u-boot.imx"
-UBOOT_RD_LOADADDRESS:colibri-imx6ull = "0x88400000"
+UBOOT_MAKE_TARGET:colibri-imx6ull = "u-boot-nand.imx"
+UBOOT_RD_LOADADDRESS:colibri-imx6ull = "0x8A400000"
diff --git a/conf/machine/include/colibri-imx7-emmc.inc b/conf/machine/include/colibri-imx7-emmc.inc
index 9b247bf..7c525eb 100644
--- a/conf/machine/include/colibri-imx7-emmc.inc
+++ b/conf/machine/include/colibri-imx7-emmc.inc
@@ -9,11 +9,10 @@ MACHINE_NAME = "Colibri-iMX7-eMMC"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \
colibri-imx7_vga-640x480_overlay.dtbo \
- colibri-imx7_spidev_overlay.dtbo \
"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = ""
-KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+KERNEL_DEVICETREE:append = " \
imx7d-colibri-emmc-iris.dtb \
imx7d-colibri-emmc-iris-v2.dtb \
"
@@ -35,5 +34,5 @@ UBOOT_DTB_LOADADDRESS:colibri-imx7-emmc = "0x88200000"
UBOOT_DTBO_LOADADDRESS:colibri-imx7-emmc = "0x88300000"
UBOOT_ENTRYPOINT:colibri-imx7-emmc = "0x84200000"
UBOOT_MAKE_TARGET:colibri-imx7-emmc = "u-boot.imx"
-UBOOT_RD_LOADADDRESS:colibri-imx7-emmc = "0x88400000"
+UBOOT_RD_LOADADDRESS:colibri-imx7-emmc = "0x8A400000"
UBOOT_SUFFIX:${MACHINE} = "imx"
diff --git a/conf/machine/include/colibri-imx7.inc b/conf/machine/include/colibri-imx7.inc
index 0e6b824..79bf35d 100644
--- a/conf/machine/include/colibri-imx7.inc
+++ b/conf/machine/include/colibri-imx7.inc
@@ -1,23 +1,20 @@
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"
-KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+KERNEL_DEVICETREE:append = " \
imx7d-colibri-iris.dtb \
imx7d-colibri-iris-v2.dtb \
imx7s-colibri-iris.dtb \
imx7s-colibri-iris-v2.dtb \
"
-KERNEL_DEVICETREE:append:use-mainline-bsp = " \
- imx7d-colibri-aster.dtb \
- imx7s-colibri-aster.dtb \
-"
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex"
@@ -34,5 +31,5 @@ MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-
UBOOT_DTB_LOADADDRESS:colibri-imx7 = "0x88200000"
UBOOT_DTBO_LOADADDRESS:colibri-imx7 = "0x88300000"
UBOOT_ENTRYPOINT:colibri-imx7 = "0x84200000"
-UBOOT_MAKE_TARGET:colibri-imx7 = "u-boot.imx"
+UBOOT_MAKE_TARGET:colibri-imx7 = "u-boot-nand.imx"
UBOOT_RD_LOADADDRESS:colibri-imx7 = "0x88400000"
diff --git a/conf/machine/verdin-imx8mm.conf b/conf/machine/verdin-imx8mm.conf
index 74410df..bab4bea 100644
--- a/conf/machine/verdin-imx8mm.conf
+++ b/conf/machine/verdin-imx8mm.conf
@@ -8,6 +8,8 @@ MACHINE_NAME = "Verdin-iMX8MM"
MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
+MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf"
+
IMX_DEFAULT_BSP = "nxp"
IMX_DEFAULT_BSP:upstream = "mainline"
@@ -19,11 +21,16 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# Don't include kernels in standard images
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
+KERNEL_DTB_PREFIX = "freescale/"
KERNEL_DEVICETREE = " \
- freescale/imx8mm-verdin-nonwifi-dahlia.dtb \
- freescale/imx8mm-verdin-nonwifi-dev.dtb \
- freescale/imx8mm-verdin-wifi-dahlia.dtb \
- freescale/imx8mm-verdin-wifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dahlia.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-mallow.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-yavia.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dahlia.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-mallow.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-yavia.dtb \
"
KERNEL_IMAGETYPE:aarch64 = "Image.gz"
@@ -34,7 +41,7 @@ SPL_BINARY = "spl/u-boot-spl.bin"
UBOOT_DTB_LOADADDRESS:mx8mm-generic-bsp = "0x50200000"
UBOOT_DTBO_LOADADDRESS:mx8mm-generic-bsp = "0x50240000"
UBOOT_ENTRYPOINT:mx8mm-generic-bsp = "0x48200000"
-UBOOT_RD_LOADADDRESS = "0x50300000"
+UBOOT_RD_LOADADDRESS = "0x52300000"
# Set u-boot DTB
UBOOT_DTB_NAME = "imx8mm-verdin.dtb"
@@ -67,7 +74,7 @@ IMX_BOOT_SEEK = "33"
SERIAL_CONSOLES = "115200;ttymxc0"
-MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen usbgadget usbhost vfat wifi"
+MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen tpm2 usbgadget usbhost vfat wifi"
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex"
@@ -96,9 +103,11 @@ OFFSET_BOOTROM_PAYLOAD = "2"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_dsi-to-hdmi_overlay.dtbo verdin-imx8mm_spidev_overlay.dtbo"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "verdin-imx8mm_spidev_overlay.dtbo"
-TORADEX_PRODUCT_IDS = "0055 0057 0059 0060 0068"
+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 f75c763..4c0ab41 100644
--- a/conf/machine/verdin-imx8mp.conf
+++ b/conf/machine/verdin-imx8mp.conf
@@ -8,6 +8,8 @@ MACHINE_NAME = "Verdin-iMX8MP"
MACHINEOVERRIDES =. "mx8:mx8m:mx8mp:"
+MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf"
+
IMX_DEFAULT_BSP = "nxp"
IMX_DEFAULT_BSP:upstream = "mainline"
@@ -19,11 +21,16 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# Don't include kernels in standard images
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
+KERNEL_DTB_PREFIX = "freescale/"
KERNEL_DEVICETREE = " \
- freescale/imx8mp-verdin-nonwifi-dahlia.dtb \
- freescale/imx8mp-verdin-nonwifi-dev.dtb \
- freescale/imx8mp-verdin-wifi-dahlia.dtb \
- freescale/imx8mp-verdin-wifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dahlia.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-mallow.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-yavia.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dahlia.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-mallow.dtb \
+ ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-yavia.dtb \
"
KERNEL_IMAGETYPE:aarch64 = "Image.gz"
@@ -34,7 +41,7 @@ SPL_BINARY = "spl/u-boot-spl.bin"
UBOOT_DTB_LOADADDRESS:mx8mp-generic-bsp = "0x50200000"
UBOOT_DTBO_LOADADDRESS:mx8mp-generic-bsp = "0x50240000"
UBOOT_ENTRYPOINT:mx8mp-generic-bsp = "0x48200000"
-UBOOT_RD_LOADADDRESS = "0x50300000"
+UBOOT_RD_LOADADDRESS = "0x52300000"
# Set u-boot DTB
UBOOT_DTB_NAME = "imx8mp-verdin.dtb"
@@ -69,7 +76,7 @@ IMX_BOOT_SEEK = "32"
SERIAL_CONSOLES = "115200;ttymxc2"
-MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen usbgadget usbhost vfat wifi"
+MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen tpm2 usbgadget usbhost vfat wifi"
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex"
@@ -82,7 +89,7 @@ IMX_DEFAULT_BOOTLOADER = "u-boot-toradex"
PREFERRED_VERSION_u-boot-toradex = "2022.04%"
# handle machine firmware
-MACHINE_FIRMWARE:append = " linux-firmware-sd8997"
+MACHINE_FIRMWARE:append = " linux-firmware-sd8997 linux-firmware-nxp89xx"
MACHINE_FIRMWARE:remove = "firmware-sof-imx"
IMAGE_CLASSES:append = " image_type_tezi"
@@ -94,9 +101,11 @@ OFFSET_BOOTROM_PAYLOAD = "0"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mp_hdmi_overlay.dtbo verdin-imx8mp_dsi-to-hdmi_overlay.dtbo verdin-imx8mp_spidev_overlay.dtbo"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "verdin-imx8mp_spidev_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/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index 7a3f6c6..604229a 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -2,39 +2,3 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/alsa-state/:"
# make this machine specific, as we have different codecs with different settings
PACKAGE_ARCH:tdx = "${MACHINE_ARCH}"
-
-SRC_URI:append:mx8m-generic-bsp: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-generic-bsp: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-generic-bsp:tdx () {
-}
-
-pkg_postinst_ontarget:${PN}:mx8m-generic-bsp: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/verdin-imx8mm/asound-dahlia.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf
deleted file mode 100644
index 122f912..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf
+++ /dev/null
@@ -1,250 +0,0 @@
-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-dahlia.state b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.state
deleted file mode 100644
index 1d3e09a..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.state
+++ /dev/null
@@ -1,519 +0,0 @@
-state.imx8mmwm8904 {
- 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-imx8mm/asound-dev.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf
deleted file mode 100644
index c0789f6..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf
+++ /dev/null
@@ -1,250 +0,0 @@
-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
deleted file mode 100644
index 878f82e..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.state
+++ /dev/null
@@ -1,729 +0,0 @@
-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
deleted file mode 100644
index 2289bd0..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf
+++ /dev/null
@@ -1,250 +0,0 @@
-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
deleted file mode 100644
index 194c7bf..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.state
+++ /dev/null
@@ -1,519 +0,0 @@
-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
deleted file mode 100644
index 54941e3..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf
+++ /dev/null
@@ -1,250 +0,0 @@
-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
deleted file mode 100644
index 125ddf7..0000000
--- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.state
+++ /dev/null
@@ -1,729 +0,0 @@
-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/imx-mkimage/files/0001-LFOPTEE-126-Add-spl-and-sld-Blocks-info.patch b/recipes-bsp/imx-mkimage/files/0001-LFOPTEE-126-Add-spl-and-sld-Blocks-info.patch
new file mode 100644
index 0000000..312c1c8
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/files/0001-LFOPTEE-126-Add-spl-and-sld-Blocks-info.patch
@@ -0,0 +1,40 @@
+From 884f7b3e917194ebb3d7e621df9af7ed496a91eb Mon Sep 17 00:00:00 2001
+From: Olivier Masse <olivier.masse@nxp.com>
+Date: Wed, 16 Nov 2022 12:05:50 +0100
+Subject: [PATCH 1/3] LFOPTEE-126: Add spl and sld Blocks info
+
+Dump hab block information used by the signature script.
+To ease the parsing process in meta-secure-boot recipe,
+mkimage_imx8 tool dump spl and sld hab blocks correctly
+formated for csf configuration file.
+
+Signed-off-by: Olivier Masse <olivier.masse@nxp.com>
+
+Upstream-Status: Backport [66cef04afacc104e47fb65ac9879e70e45334c3f]
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ iMX8M/mkimage_imx8.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/iMX8M/mkimage_imx8.c b/iMX8M/mkimage_imx8.c
+index 54828d1..06ab485 100644
+--- a/iMX8M/mkimage_imx8.c
++++ b/iMX8M/mkimage_imx8.c
+@@ -1662,6 +1662,14 @@ int main(int argc, char **argv)
+ fprintf(stderr, " sld hab block: \t0x%x 0x%x 0x%x\n",
+ sld_load_addr, sld_header_off, sld_csf_off - sld_header_off);
+
++ fprintf(stderr, "SPL CSF block:\n");
++ fprintf(stderr, "\tBlocks = \t0x%x 0x%x 0x%x \"flash.bin\"\n",
++ imx_header[IMAGE_IVT_ID].fhdr.self, header_image_off, csf_off - header_image_off);
++
++ fprintf(stderr, "SLD CSF block:\n");
++ fprintf(stderr, "\tBlocks = \t0x%x 0x%x 0x%x \"flash.bin\",\\\n",
++ sld_load_addr, sld_header_off, sld_csf_off - sld_header_off);
++
+ return 0;
+ }
+
+--
+2.42.0
+
diff --git a/recipes-bsp/imx-mkimage/files/0002-LFU-573-1-imx8m-Generate-hash-of-FIT-FDT-structure-t.patch b/recipes-bsp/imx-mkimage/files/0002-LFU-573-1-imx8m-Generate-hash-of-FIT-FDT-structure-t.patch
new file mode 100644
index 0000000..62cac84
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/files/0002-LFU-573-1-imx8m-Generate-hash-of-FIT-FDT-structure-t.patch
@@ -0,0 +1,213 @@
+From 15fb16dbb686250bb3b9457d3a158c7d097beb39 Mon Sep 17 00:00:00 2001
+From: Ye Li <ye.li@nxp.com>
+Date: Mon, 3 Jul 2023 17:31:32 +0800
+Subject: [PATCH 2/3] LFU-573-1 imx8m: Generate hash of FIT FDT structure to
+ SPL image
+
+Generate the hash of FIT FDT structure by SHA256 and append it
+to end of SPL image (after DDR FW).
+SPL will get the hash from the position to verify the FIT FDT
+structure in loaded FIT image.
+
+Signed-off-by: Ye Li <ye.li@nxp.com>
+
+Upstream-Status: Backport [2f2d426f03ebbcf7a9c28cf53680cd5777e70ea1]
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ iMX8M/mkimage_imx8.c | 109 ++++++++++++++++++++++++++++++++++++++++++-
+ iMX8M/soc.mak | 14 ++++--
+ 2 files changed, 117 insertions(+), 6 deletions(-)
+
+diff --git a/iMX8M/mkimage_imx8.c b/iMX8M/mkimage_imx8.c
+index 06ab485..68022d6 100644
+--- a/iMX8M/mkimage_imx8.c
++++ b/iMX8M/mkimage_imx8.c
+@@ -366,6 +366,31 @@ copy_file (int ifd, const char *datafile, int pad, int offset, int datafile_offs
+ (void) close (dfd);
+ }
+
++static void append_data(char *filename, uint8_t *data, int size)
++{
++ int dfd, ret;
++
++ if ((dfd = open(filename, O_RDWR|O_BINARY)) < 0) {
++ fprintf (stderr, "Can't open %s: %s\n",
++ filename, strerror(errno));
++ exit (EXIT_FAILURE);
++ }
++
++ ret = lseek(dfd, 0, SEEK_END);
++ if (ret < 0) {
++ fprintf(stderr, "%s: lseek error %s\n",
++ __func__, strerror(errno));
++ exit(EXIT_FAILURE);
++ }
++ if (write(dfd, data, size) != size) {
++ fprintf (stderr, "Write error %s\n",
++ strerror(errno));
++ exit (EXIT_FAILURE);
++ }
++ (void) close (dfd);
++}
++
++
+ enum imximage_fld_types {
+ CFG_INVALID = -1,
+ CFG_COMMAND,
+@@ -861,6 +886,77 @@ void generate_sld_with_ivt(char * input_file, uint32_t ep, char *out_file)
+ close(input_fd);
+ }
+
++#define HASH_MAX_LEN 32
++static void calc_fitimage_hash(char* filename, uint8_t *hash)
++{
++ int sld_fd;
++ FILE *fp = NULL;
++ char sha_command[512];
++ char *digest_type = "sha256sum";
++ char hash_char[2 * HASH_MAX_LEN + 1];
++ int digest_length = 64;
++
++ uimage_header_t image_header;
++ uint32_t fit_size;
++
++ sld_fd = open(filename, O_RDONLY | O_BINARY);
++ if (sld_fd < 0) {
++ fprintf(stderr, "%s: Can't open: %s\n",
++ filename, strerror(errno));
++ exit(EXIT_FAILURE);
++ }
++
++ if (read(sld_fd, (char *)&image_header, sizeof(uimage_header_t)) != sizeof(uimage_header_t)) {
++ fprintf (stderr, "generate_ivt_for_fit read failed: %s\n",
++ strerror(errno));
++ exit (EXIT_FAILURE);
++ }
++
++ if (be32_to_cpu(image_header.ih_magic) != FDT_MAGIC){
++ fprintf (stderr, "generate_ivt_for_fit error: not a FIT file\n");
++ exit (EXIT_FAILURE);
++ }
++
++ fit_size = fdt_totalsize(&image_header);
++
++ fprintf(stderr, "fit_size: %u\n", fit_size);
++
++ sprintf(sha_command, "dd if=\'%s\' of=tmp_pad bs=%d count=1;\
++ %s tmp_pad; rm -f tmp_pad;",
++ filename, fit_size, digest_type);
++
++ memset(hash, 0, HASH_MAX_LEN);
++
++ fp = popen(sha_command, "r");
++ if (fp == NULL) {
++ fprintf(stderr, "Failed to run command hash\n" );
++ exit(EXIT_FAILURE);
++ }
++
++ if(fgets(hash_char, digest_length + 1, fp) == NULL) {
++ fprintf(stderr, "Failed to hash file: %s\n", filename);
++ exit(EXIT_FAILURE);
++ }
++
++ for(int i = 0; i < strlen(hash_char)/2; i++){
++ sscanf(hash_char + 2*i, "%02hhx", &hash[i]);
++ }
++
++ pclose(fp);
++ (void) close (sld_fd);
++}
++
++void dump_fit_hash(uint8_t *hash, int size)
++{
++ int i;
++
++ fprintf(stderr, "FIT hash: ");
++ for (i = 0; i < size; i++) {
++ fprintf(stderr, "%x", hash[i]);
++ }
++ fprintf(stderr, "\n");
++}
++
+ /* Return this IVT offset in the final output file */
+ int generate_ivt_for_fit(int fd, int fit_offset, uint32_t ep, uint32_t *fit_load_addr)
+ {
+@@ -943,6 +1039,8 @@ int main(int argc, char **argv)
+ uimage_header_t uimage_hdr;
+ uint32_t version = ROM_V1;
+
++ uint8_t fit_hash[HASH_MAX_LEN];
++
+ static struct option long_options[] =
+ {
+ {"loader", required_argument, NULL, 'i'},
+@@ -1146,6 +1244,15 @@ int main(int argc, char **argv)
+ exit(1);
+ }
+
++ if (sld_img && using_fit) {
++ calc_fitimage_hash(sld_img, fit_hash);
++
++ /* Append hash to ap_img */
++ append_data(ap_img, fit_hash, HASH_MAX_LEN);
++
++ dump_fit_hash(fit_hash, HASH_MAX_LEN);
++ }
++
+ if (version == ROM_V2) {
+
+ /* On V2, flexspi IVT offset is 0, image offset is 0x1000 */
+@@ -1638,7 +1745,7 @@ int main(int argc, char **argv)
+ }
+
+ /* The FLEXSPI configuration parameters will add to flash.bin by script, so need add 0x1000 offset to every offset prints */
+- if ((version == ROM_V2 && rom_image_offset == IVT_OFFSET_FLEXSPI) ||
++ if ((version == ROM_V2 && rom_image_offset == IVT_OFFSET_FLEXSPI) ||
+ (version == ROM_V1 && ivt_offset == IVT_OFFSET_FLEXSPI)) {
+ header_image_off += IVT_OFFSET_FLEXSPI;
+ dcd_off += IVT_OFFSET_FLEXSPI;
+diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
+index 0a69b71..5131891 100644
+--- a/iMX8M/soc.mak
++++ b/iMX8M/soc.mak
+@@ -100,8 +100,9 @@ u-boot-spl-ddr.bin: u-boot-spl.bin $(lpddr4_imem_1d) $(lpddr4_dmem_1d) $(lpddr4_
+ @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(lpddr4_imem_1d) lpddr4_pmu_train_1d_imem_pad.bin
+ @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $(lpddr4_dmem_1d) lpddr4_pmu_train_1d_dmem_pad.bin
+ @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(lpddr4_imem_2d) lpddr4_pmu_train_2d_imem_pad.bin
++ @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $(lpddr4_dmem_2d) lpddr4_pmu_train_2d_dmem_pad.bin
+ @cat lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin > lpddr4_pmu_train_1d_fw.bin
+- @cat lpddr4_pmu_train_2d_imem_pad.bin $(lpddr4_dmem_2d) > lpddr4_pmu_train_2d_fw.bin
++ @cat lpddr4_pmu_train_2d_imem_pad.bin lpddr4_pmu_train_2d_dmem_pad.bin > lpddr4_pmu_train_2d_fw.bin
+ @dd if=u-boot-spl.bin of=u-boot-spl-pad.bin bs=4 conv=sync
+ @cat u-boot-spl-pad.bin lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin > u-boot-spl-ddr.bin
+ @rm -f u-boot-spl-pad.bin lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin lpddr4_pmu_train_2d_imem_pad.bin
+@@ -115,8 +116,9 @@ u-boot-spl-ddr4.bin: u-boot-spl.bin $(ddr4_imem_1d) $(ddr4_dmem_1d) $(ddr4_imem_
+ @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(ddr4_imem_1d) ddr4_imem_1d_pad.bin
+ @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $(ddr4_dmem_1d) ddr4_dmem_1d_pad.bin
+ @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(ddr4_imem_2d) ddr4_imem_2d_pad.bin
++ @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $(ddr4_dmem_2d) ddr4_dmem_2d_pad.bin
+ @cat ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin > ddr4_1d_fw.bin
+- @cat ddr4_imem_2d_pad.bin $(ddr4_dmem_2d) > ddr4_2d_fw.bin
++ @cat ddr4_imem_2d_pad.bin ddr4_dmem_2d_pad.bin > ddr4_2d_fw.bin
+ @dd if=u-boot-spl.bin of=u-boot-spl-pad.bin bs=4 conv=sync
+ @cat u-boot-spl-pad.bin ddr4_1d_fw.bin ddr4_2d_fw.bin > u-boot-spl-ddr4.bin
+ @rm -f u-boot-spl-pad.bin ddr4_1d_fw.bin ddr4_2d_fw.bin ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin ddr4_imem_2d_pad.bin
+@@ -126,10 +128,12 @@ ddr3_dmem_1d = ddr3_dmem_1d$(DDR_FW_VERSION).bin
+
+ u-boot-spl-ddr3l.bin: u-boot-spl.bin $(ddr3_imem_1d) $(ddr3_dmem_1d)
+ @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(ddr3_imem_1d) ddr3_imem_1d.bin_pad.bin
+- @cat ddr3_imem_1d.bin_pad.bin $(ddr3_dmem_1d) > ddr3_pmu_train_fw.bin
++ @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $(ddr3_dmem_1d) ddr3_dmem_1d.bin_pad.bin
++ @cat ddr3_imem_1d.bin_pad.bin ddr3_dmem_1d.bin_pad.bin > ddr3_pmu_train_fw.bin
++ @dd if=/dev/zero of=ddr3_fw_zero_pad.bin bs=1 count=49152 conv=sync
+ @dd if=u-boot-spl.bin of=u-boot-spl-pad.bin bs=4 conv=sync
+- @cat u-boot-spl-pad.bin ddr3_pmu_train_fw.bin > u-boot-spl-ddr3l.bin
+- @rm -f u-boot-spl-pad.bin ddr3_pmu_train_fw.bin ddr3_imem_1d.bin_pad.bin
++ @cat u-boot-spl-pad.bin ddr3_pmu_train_fw.bin ddr3_fw_zero_pad.bin > u-boot-spl-ddr3l.bin
++ @rm -f u-boot-spl-pad.bin ddr3_pmu_train_fw.bin ddr3_imem_1d.bin_pad.bin ddr3_fw_zero_pad.bin
+
+ u-boot-atf.bin: u-boot.bin bl31.bin
+ @cp bl31.bin u-boot-atf.bin
+--
+2.42.0
+
diff --git a/recipes-bsp/imx-mkimage/files/0003-LFU-573-2-imx8m-Reserve-new-IVT-CSF-for-FIT-FDT-sign.patch b/recipes-bsp/imx-mkimage/files/0003-LFU-573-2-imx8m-Reserve-new-IVT-CSF-for-FIT-FDT-sign.patch
new file mode 100644
index 0000000..77002af
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/files/0003-LFU-573-2-imx8m-Reserve-new-IVT-CSF-for-FIT-FDT-sign.patch
@@ -0,0 +1,206 @@
+From d1ba709ee91d56f135c2fbaed666cd454243e155 Mon Sep 17 00:00:00 2001
+From: Ye Li <ye.li@nxp.com>
+Date: Thu, 27 Jul 2023 09:52:33 +0800
+Subject: [PATCH 3/3] LFU-573-2 imx8m: Reserve new IVT+CSF for FIT FDT
+ signature
+
+Without using FIT FDT hash, we also allow user to sign FIT FDT structure,
+so that FIT image can upgrade individually. The option needs
+CONFIG_IMX_SPL_FIT_FDT_SIGNATURE enabled in SPL.
+
+imx-mkimage will insert the new IVT for FIT FDT signature by default
+and reserve the CSF (0x2000) for the FIT FDT signature.
+
+Signed-off-by: Ye Li <ye.li@nxp.com>
+
+Upstream-Status: Backport [5a0faefc223e51e088433663b6e7d6fbce89bf59]
+
+Conflicts:
+ iMX8M/soc.mak
+ - meta-freescale patched to use mkimage
+ - upstream adds the posibility to use addtional dtbo, now dropped
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+
+---
+ iMX8M/mkimage_imx8.c | 42 +++++++++++++++++++++++++++++++++++++++++-
+ iMX8M/print_fit_hab.sh | 4 ++--
+ iMX8M/soc.mak | 17 +++++++++--------
+ 3 files changed, 52 insertions(+), 11 deletions(-)
+
+diff --git a/iMX8M/mkimage_imx8.c b/iMX8M/mkimage_imx8.c
+index 68022d6..f37a2f6 100644
+--- a/iMX8M/mkimage_imx8.c
++++ b/iMX8M/mkimage_imx8.c
+@@ -999,7 +999,7 @@ int generate_ivt_for_fit(int fd, int fit_offset, uint32_t ep, uint32_t *fit_load
+ }
+
+ /* ep is the u-boot entry. SPL loads the FIT before the u-boot address. 0x2000 is for CSF_SIZE */
+- load_addr = (ep - (fit_size + CSF_SIZE) - 512 -
++ load_addr = (ep - (fit_size + 2 * CSF_SIZE) - 512 -
+ align_len) & ~align_len;
+
+ flash_header_v2_t ivt_header = { { 0xd1, 0x2000, 0x40 },
+@@ -1013,6 +1013,24 @@ int generate_ivt_for_fit(int fd, int fit_offset, uint32_t ep, uint32_t *fit_load
+ exit(EXIT_FAILURE);
+ }
+
++ ret = lseek(fd, fit_offset + fit_size + CSF_SIZE, SEEK_SET);
++ if (ret < 0) {
++ fprintf(stderr, "%s: lseek error %s\n",
++ __func__, strerror(errno));
++ exit(EXIT_FAILURE);
++ }
++
++ flash_header_v2_t fdt_ivt_header = { { 0xd1, 0x2000, 0x40 },
++ load_addr, 0, 0, 0,
++ (load_addr + fit_size + CSF_SIZE ),
++ (load_addr + fit_size + CSF_SIZE + 0x20),
++ 0 };
++
++ if (write(fd, &fdt_ivt_header, sizeof(flash_header_v2_t)) != sizeof(flash_header_v2_t)) {
++ fprintf(stderr, "FIT FDT IVT writing error on fit image\n");
++ exit(EXIT_FAILURE);
++ }
++
+ *fit_load_addr = load_addr;
+
+ return fit_offset + fit_size;
+@@ -1229,6 +1247,11 @@ int main(int argc, char **argv)
+ fprintf(stderr, " fit hab block: \t0x%x 0x%x 0x%x\n",
+ sld_load_addr, sld_src_off, sld_csf_off - sld_src_off);
+
++ fprintf(stderr, " fit-fdt_csf_off \t0x%x\n",
++ sld_csf_off + CSF_SIZE);
++ fprintf(stderr, " fit-fdt hab block: \t0x%x 0x%x 0x%x\n",
++ sld_load_addr, sld_src_off, sld_csf_off + CSF_SIZE - sld_src_off);
++
+ exit(0);
+ }
+
+@@ -1777,6 +1800,23 @@ int main(int argc, char **argv)
+ fprintf(stderr, "\tBlocks = \t0x%x 0x%x 0x%x \"flash.bin\",\\\n",
+ sld_load_addr, sld_header_off, sld_csf_off - sld_header_off);
+
++ fprintf(stderr, " fit-fdt csf_off \t0x%x\n",
++ sld_csf_off + CSF_SIZE);
++ fprintf(stderr, " fit-fdt hab block: \t0x%x 0x%x 0x%x\n",
++ sld_load_addr, sld_header_off, sld_csf_off + CSF_SIZE - sld_header_off);
++
++// fprintf(stderr, "SPL CSF block:\n");
++// fprintf(stderr, "\tBlocks = \t0x%x 0x%x 0x%x \"flash.bin\"\n",
++// imx_header[IMAGE_IVT_ID].fhdr.self, header_image_off, csf_off - header_image_off);
++
++// fprintf(stderr, "SLD CSF block:\n");
++// fprintf(stderr, "\tBlocks = \t0x%x 0x%x 0x%x \"flash.bin\",\\\n",
++// sld_load_addr, sld_header_off, sld_csf_off - sld_header_off);
++
++ fprintf(stderr, "SLD FIT-FDT CSF block:\n");
++ fprintf(stderr, "\tBlocks = \t0x%x 0x%x 0x%x \"flash.bin\"\n",
++ sld_load_addr, sld_header_off, sld_csf_off + CSF_SIZE - sld_header_off);
++
+ return 0;
+ }
+
+diff --git a/iMX8M/print_fit_hab.sh b/iMX8M/print_fit_hab.sh
+index 6f1a22d..d1e344a 100755
+--- a/iMX8M/print_fit_hab.sh
++++ b/iMX8M/print_fit_hab.sh
+@@ -24,10 +24,10 @@ fi
+
+ if [ "$BOOT_DEV" = "flexspi" ] || [ ${fit_off} == 0 ]; then
+ # We dd flash.bin to 0 offset for flexspi
+- let uboot_sign_off=$((fit_off + 0x3000))
++ let uboot_sign_off=$((fit_off + $FIT_DATA_POS))
+ else
+ # We dd flash.bin to 33KB "0x8400" offset, so need minus 0x8400
+- let uboot_sign_off=$((fit_off - 0x8000 - ivt_off + 0x3000))
++ let uboot_sign_off=$((fit_off - 0x8000 - ivt_off + $FIT_DATA_POS))
+ fi
+
+ let uboot_size=$(stat --printf="%s" $BL33)
+diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
+index 5131891..945183e 100644
+--- a/iMX8M/soc.mak
++++ b/iMX8M/soc.mak
+@@ -83,6 +83,7 @@ VERSION = v1
+ CAPSULE_GUID = 296119cf-dd70-43de-8ac8-a7051f312577
+ endif
+
++FIT_EXTERNAL_POSITION = 0x5000
+
+ FW_DIR = imx-boot/imx-boot-tools/$(PLAT)
+
+@@ -157,7 +158,7 @@ u-boot.itb: $(dtb)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb)
+ BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) > u-boot.its
+- mkimage -E -p 0x3000 -f u-boot.its u-boot.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
+ @rm -f u-boot.its $(dtb)
+
+ dtb_ddr3l = valddr3l.dtb
+@@ -169,7 +170,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l) > u-boot-ddr3l.its
+- mkimage -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
+ @rm -f u-boot.its $(dtb_ddr3l)
+
+ dtb_ddr3l_evk = evkddr3l.dtb
+@@ -181,7 +182,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l_evk) > u-boot-ddr3l-evk.its
+- mkimage -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
+ @rm -f u-boot.its $(dtb_ddr3l_evk)
+
+ dtb_ddr4 = valddr4.dtb
+@@ -193,7 +194,7 @@ u-boot-ddr4.itb: $(dtb_ddr4)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4) > u-boot-ddr4.its
+- mkimage -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
+ @rm -f u-boot.its $(dtb_ddr4)
+
+ dtb_ddr4_evk = evkddr4.dtb
+@@ -205,7 +206,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4_evk) > u-boot-ddr4-evk.its
+- mkimage -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
++ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
+ @rm -f u-boot.its $(dtb_ddr4_evk)
+
+ ifeq ($(HDMI),yes)
+@@ -325,21 +326,21 @@ print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtb)
+ ./$(PAD_IMAGE) $(TEE)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb)
+- TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb)
++ FIT_DATA_POS=$(FIT_EXTERNAL_POSITION) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb)
+ @rm -f $(dtb)
+
+ print_fit_hab_ddr4: u-boot-nodtb.bin bl31.bin $(dtb_ddr4_evk)
+ ./$(PAD_IMAGE) $(TEE)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk)
+- TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb_ddr4_evk)
++ FIT_DATA_POS=$(FIT_EXTERNAL_POSITION) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb_ddr4_evk)
+ @rm -f $(dtb_ddr4_evk)
+
+ print_fit_hab_flexspi: u-boot-nodtb.bin bl31.bin $(dtb)
+ ./$(PAD_IMAGE) $(TEE)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb)
+- TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) BOOT_DEV="flexspi" ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb)
++ FIT_DATA_POS=$(FIT_EXTERNAL_POSITION) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) BOOT_DEV="flexspi" ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb)
+ @rm -f $(dtb)
+
+ nightly :
+--
+2.42.0
+
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend
new file mode 100644
index 0000000..2e2139a
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend
@@ -0,0 +1 @@
+require imx-mkimage-patches.inc \ No newline at end of file
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage-patches.inc b/recipes-bsp/imx-mkimage/imx-mkimage-patches.inc
new file mode 100644
index 0000000..b05a1ad
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/imx-mkimage-patches.inc
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files/:"
+
+# additional patches addressing U-Boot secure boot SPL Authentication Vulnerability (CVE-2023-39902)
+# (plus patches LFU-573* in downstream U-Boot)
+SRC_URI:append = " \
+ file://0001-LFOPTEE-126-Add-spl-and-sld-Blocks-info.patch \
+ file://0002-LFU-573-1-imx8m-Generate-hash-of-FIT-FDT-structure-t.patch\
+ file://0003-LFU-573-2-imx8m-Reserve-new-IVT-CSF-for-FIT-FDT-sign.patch \
+"
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_1.0.bbappend b/recipes-bsp/imx-mkimage/imx-mkimage_1.0.bbappend
new file mode 100644
index 0000000..2e2139a
--- /dev/null
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_1.0.bbappend
@@ -0,0 +1 @@
+require imx-mkimage-patches.inc \ No newline at end of file
diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.14.0.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.15.0.bb
index df67edf..4ea2db2 100644
--- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.14.0.bb
+++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.15.0.bb
@@ -11,7 +11,7 @@ inherit deploy
SRC_URI = "git://github.com/toradex/i.MX-System-Controller-Firmware.git;branch=master;protocol=https;fsl-eula=true"
-SRCREV = "9141880041424696f162d46abaca13a956bceeb1"
+SRCREV = "7b7c7f7c834c58e637a53bab281d48f963788e33"
SRCREV:use-head-next = "${AUTOREV}"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch b/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch
new file mode 100644
index 0000000..2adcf8e
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch
@@ -0,0 +1,32 @@
+From 3443f18dc9ab8950071d6299c7a5da86055f3318 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Thu, 19 Jan 2023 15:51:24 +0000
+Subject: [PATCH] isp-imx: start_isp: don't report error if no camera is
+ configured
+
+The script currently returns '6' when no known camera is configured
+in the device tree. The end result is that the systemd imx8-isp.service
+goes to the failed state.
+Return '0' in that case as obviously the device tree doesn't have a
+camera configured and the service is not needed.
+
+Related-to: ELB-5002
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ imx/start_isp.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/imx/start_isp.sh b/imx/start_isp.sh
+index 95cbc19..d603f8f 100755
+--- a/imx/start_isp.sh
++++ b/imx/start_isp.sh
+@@ -74,5 +74,5 @@ elif [ $NR_DEVICE_TREE_OS08A20 -eq 2 ]; then
+ else
+ # no device tree found exit with code no device or address
+ echo "No device tree found for Basler camera or os08a20, check dtb file!" >&2
+- exit 6
++ exit 0
+ fi
+--
+2.35.3
+
diff --git a/recipes-bsp/isp-imx/isp-imx_%.bbappend b/recipes-bsp/isp-imx/isp-imx_%.bbappend
new file mode 100644
index 0000000..ff5a0bf
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/isp-imx/:"
+SRC_URI:append:tdx = " \
+ file://0001-isp-imx-start_isp-don-t-report-error-if-no-camera-is.patch \
+"
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
deleted file mode 100644
index 20e7e98..0000000
--- a/recipes-bsp/u-boot/files/0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9bdb801953e4a81c59fc358cc5bf91811b0d514f Mon Sep 17 00:00:00 2001
-Message-Id: <9bdb801953e4a81c59fc358cc5bf91811b0d514f.1601476897.git.marcel.ziswiler@toradex.com>
-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
-
-While NXP i.MX 7 downstream requires the Linux kernel to boot in secure
-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
---- a/include/configs/colibri_imx7.h
-+++ b/include/configs/colibri_imx7.h
-@@ -140,7 +140,7 @@
- UBOOT_UPDATE \
- "boot_script_dhcp=boot.scr\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_2022.04.inc b/recipes-bsp/u-boot/u-boot-toradex-common_2022.04.inc
deleted file mode 100644
index cbb2602..0000000
--- a/recipes-bsp/u-boot/u-boot-toradex-common_2022.04.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
-SECTION = "bootloaders"
-DEPENDS += "flex-native bison-native"
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=https;branch=${SRCBRANCH}"
-
-SRCREV = "00f84bd784c4dc88947f440e4c7bf6117539c6f0"
-SRCREV:use-head-next = "${AUTOREV}"
-SRCBRANCH = "toradex_imx_lf_v2022.04"
-
-S = "${WORKDIR}/git"
-
-inherit toradex-u-boot-localversion
-
-UBOOT_INITIAL_ENV = "u-boot-initial-env"
-
-COMPATIBLE_MACHINE = "(mx8-generic-bsp)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-do_deploy:append:mx8m-generic-bsp() {
- # Deploy the u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
- if [ -n "${UBOOT_CONFIG}" ]
- then
- for config in ${UBOOT_MACHINE}; do
- i=$(expr $i + 1);
- for type in ${UBOOT_CONFIG}; do
- j=$(expr $j + 1);
- if [ $j -eq $i ]
- then
- install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG}
- fi
- done
- unset j
- done
- unset i
- fi
-}
diff --git a/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb b/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb
index 91f2fa7..eaac3d5 100644
--- a/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb
+++ b/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb
@@ -1,11 +1,48 @@
+SUMMARY = "U-Boot bootloader with support for Toradex i.MX 8 series SoMs"
+HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+SECTION = "bootloaders"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "bc-native dtc-native flex-native bison-native python3-setuptools-native"
+PROVIDES:append = " u-boot"
+
require recipes-bsp/u-boot/u-boot.inc
-require u-boot-toradex-common_${PV}.inc
-SUMMARY = "U-Boot bootloader with support for Toradex i.MX 8 series SoMs"
+SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=https;branch=${SRCBRANCH}"
+SRCREV = "d262075124dcfe2170acfc7db25a1a6155658ec6"
+SRCREV:use-head-next = "${AUTOREV}"
+SRCBRANCH = "toradex_imx_lf_v2022.04"
+S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
-PROVIDES += "u-boot"
-DEPENDS += "bc-native dtc-native python3-setuptools-native"
-
BOOT_TOOLS = "imx-boot-tools"
+
+inherit toradex-u-boot-localversion
+
+UBOOT_INITIAL_ENV = "u-boot-initial-env"
+
+COMPATIBLE_MACHINE = "(mx8-generic-bsp)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_deploy:append:mx8m-generic-bsp() {
+ # Deploy the u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
+ if [ -n "${UBOOT_CONFIG}" ]
+ then
+ for config in ${UBOOT_MACHINE}; do
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
+ if [ $j -eq $i ]
+ then
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${UBOOT_DTB_NAME}-${type}
+ install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type}
+ fi
+ done
+ unset j
+ done
+ unset i
+ fi
+}
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
deleted file mode 100644
index b5a5254..0000000
--- a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
+++ /dev/null
@@ -1,29 +0,0 @@
-IMX_FIRMWARE_SRC ?= "git://github.com/NXP/imx-firmware.git;protocol=https"
-SRCBRANCH_imx-firmware = "lf-5.15.52_2.1.0"
-SRC_URI += " \
- ${IMX_FIRMWARE_SRC};branch=${SRCBRANCH_imx-firmware};destsuffix=imx-firmware;name=imx-firmware \
-"
-
-SRCREV_imx-firmware = "b6f070e3d4cab23932d9e6bc29e3d884a7fd68f4"
-
-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
- ln -frs ${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 8619a19..db0f4dd 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.15-2.1.x-imx"
-SRCREV = "bc523efdf8fe4be85aa9b3b1642bc1f55527633a"
+SRCBRANCH = "toradex_5.15-2.2.x-imx"
+SRCREV = "69f40a121e3f901be100f54c19d1721b70c63aa2"
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%.bbappend b/recipes-kernel/linux/linux-imx-headers_5%.bbappend
index e1d8228..36be8d5 100644
--- a/recipes-kernel/linux/linux-imx-headers_5%.bbappend
+++ b/recipes-kernel/linux/linux-imx-headers_5%.bbappend
@@ -1,5 +1,5 @@
LIC_FILES_CHKSUM:tdx = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-SRCBRANCH:tdx = "toradex_5.15-2.1.x-imx"
+SRCBRANCH:tdx = "toradex_5.15-2.2.x-imx"
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:tdx = "36363d8623ba60858e2632b7d2b70dae932c9a8b"
+SRCREV:tdx = "7c13adcd3af7dcd541144655102e1cdb941ad538"
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch
index b2413e8..b2413e8 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch
index 4dc1dae..4dc1dae 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch
index 7dfb476..7dfb476 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch
index 9296878..9296878 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-ddr-perf-prevent-BUG-with-rt-patch.patch
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch
index 5ade25c..5ade25c 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch
index f98060a..f98060a 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt-less-latency.cfg b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt-less-latency.cfg
index a9c88bd..a9c88bd 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt-less-latency.cfg
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt-less-latency.cfg
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt-less-latency.scc b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt-less-latency.scc
index edd1519..edd1519 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt-less-latency.scc
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt-less-latency.scc
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt.cfg b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.cfg
index 17b06b1..17b06b1 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt.cfg
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.cfg
diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt.scc b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.scc
index 82d27dc..82d27dc 100644
--- a/recipes-kernel/linux/linux-toradex-5.15-2.1.x/preempt-rt.scc
+++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.scc
diff --git a/recipes-kernel/linux/linux-toradex_5.15-2.1.x.bb b/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb
index ac234b1..2988211 100644
--- a/recipes-kernel/linux/linux-toradex_5.15-2.1.x.bb
+++ b/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb
@@ -13,16 +13,13 @@ SRC_URI = " \
# Load USB functions configurable through configfs (CONFIG_USB_CONFIGFS)
KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', ' libcomposite', '',d)}"
-inherit toradex-kernel-localversion
-LINUX_VERSION = "5.15.77"
+inherit toradex-kernel-deploy-config toradex-kernel-localversion
+LINUX_VERSION = "5.15.148"
# skip, as with use-head-next LINUX_VERSION might be set wrongly
KERNEL_VERSION_SANITY_SKIP = "1"
-# Make sure to override LOCALVERSION in linux-imx.inc
-LOCALVERSION = "-${TDX_VERSION}"
-
-SRCBRANCH = "toradex_5.15-2.1.x-imx"
-SRCREV_machine = "0c0607dd1d0758c9444791c77a8c09158328cb4a"
+SRCBRANCH = "toradex_5.15-2.2.x-imx"
+SRCREV_machine = "23a8e831749daa8b77e349d827715dd1d7f8e9a5"
SRCREV_machine:use-head-next = "${AUTOREV}"
DEPENDS += "bc-native"
@@ -43,11 +40,11 @@ MIRRORS:append:preempt-rt = "${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.15/o
SRC_URI:append:preempt-rt = " \
file://0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch \
file://0002-arch-arm-Kconfig-prepare-for-rt-patch.patch \
- ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.15/older/patch-5.15.76-rt53.patch.xz;name=rt-patch \
+ ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.15/older/patch-5.15.148-rt74.patch.xz;name=rt-patch \
file://0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch \
file://0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch \
file://preempt-rt.scc \
file://preempt-rt-less-latency.scc \
"
-SRC_URI[rt-patch.sha256sum] = "737fc31835e774fe970e7eb9c799df55393bd21e6d5a0136cd5e63fe154805c2"
+SRC_URI[rt-patch.sha256sum] = "b3494bd8c156550b3bfe27e544928e7ee3f0822d182ed77de54ebef867c67c6d"
diff --git a/recipes-support/btuart/btuart.bb b/recipes-support/btuart/btuart.bb
deleted file mode 100644
index dabe9d4..0000000
--- a/recipes-support/btuart/btuart.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-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
deleted file mode 100644
index 040e990..0000000
--- a/recipes-support/btuart/files/COPYING
+++ /dev/null
@@ -1,5 +0,0 @@
-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
deleted file mode 100644
index 547f6be..0000000
--- a/recipes-support/btuart/files/btuart.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[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
deleted file mode 100755
index c4f53c1..0000000
--- a/recipes-support/btuart/files/btuart.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/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