diff options
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 |