diff options
73 files changed, 1892 insertions, 1643 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 5228898..606446a 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -3,6 +3,10 @@ BBPATH .= ":${LAYERDIR}" # We have recipes-* directories, add to BBFILES BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" +# Recipes which backport later versions of other layers are placed here. +# Only valid for Toradex distributions. +BACKPORT_BBFILES = "${LAYERDIR}/backports/recipes-*/*/*.bb ${LAYERDIR}/backports/recipes-*/*/*.bbappend" +BBFILES += "${@ d.getVar('BACKPORT_BBFILES') if 'tdx' in d.getVar('DISTROOVERRIDES').split(':') else ''}" BBFILE_COLLECTIONS += "toradex-nxp-layer" BBFILE_PATTERN_toradex-nxp-layer = "^${LAYERDIR}/" @@ -22,4 +26,4 @@ LAYERDEPENDS_toradex-nxp-layer = " \ freescale-3rdparty \ toradex-bsp-common-layer \ " -LAYERSERIES_COMPAT_toradex-nxp-layer = "gatesgarth hardknott honister" +LAYERSERIES_COMPAT_toradex-nxp-layer = "nanbield scarthgap" diff --git a/conf/machine/apalis-imx8.conf b/conf/machine/apalis-imx8.conf index 60971a7..3550e3b 100644 --- a/conf/machine/apalis-imx8.conf +++ b/conf/machine/apalis-imx8.conf @@ -9,15 +9,17 @@ SOC_SILICON_REV ?= "" MACHINEOVERRIDES =. "mx8:mx8qm:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" require conf/machine/include/imx-base.inc # override imx-base.inc which sets this to cortexa72-cortexa53-crypto -DEFAULTTUNE:mx8qm = "aarch64" +DEFAULTTUNE:mx8qm-generic-bsp = "armv8a-crypto" require conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc # Don't include kernels in standard images -RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" LOADADDR = "" @@ -25,24 +27,37 @@ LOADADDR = "" # auto-serial-console there USE_VT = "0" +KERNEL_DTB_PREFIX = "freescale/" 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 \ + ${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_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.2.dtb \ " -KERNEL_IMAGETYPE:aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_SUFFIX = "bin" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "apalis-imx8_defconfig,sdcard" -UBOOT_ENTRYPOINT = "0x80280000" +UBOOT_ENTRYPOINT = "0x96000000" UBOOT_DTB_LOADADDRESS = "0x83000000" UBOOT_DTBO_LOADADDRESS = "0x83100000" UBOOT_RD_LOADADDRESS = "0xA0000000" @@ -57,16 +72,19 @@ WKS_FILE_DEPENDS:append = " u-boot-default-script" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -PREFERRED_PROVIDER_u-boot = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_VERSION_linux-imx-headers = "5.15" -MACHINE_FIRMWARE:append = " linux-firmware-pcie8997" -MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8" -MACHINE_FIRMWARE:append = " firmware-imx-8" +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +# Currently we use the nxp 2022.04 downstream for mx8 +PREFERRED_VERSION_u-boot-toradex = "2022.04%" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +UBOOT_MAKE_TARGET:use-mainline-bsp = "all" +UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "fsl-imx8qm-apalis.dts" + +MACHINE_FIRMWARE:append = " linux-firmware-pcie8997 firmware-imx-hdmi" IMXBOOT_TARGETS = "flash_b0" IMX_BOOT_SOC_TARGET = "iMX8QM" @@ -82,11 +100,17 @@ 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 \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "" -TORADEX_PRODUCT_IDS = "0037 0047 0048 0049" +TORADEX_PRODUCT_IDS = "0037 0047 0048 0049 0067" TORADEX_PRODUCT_IDS[0037] = "imx8qm-apalis-v1.1-eval.dtb" TORADEX_PRODUCT_IDS[0047] = "imx8qm-apalis-v1.1-eval.dtb" TORADEX_PRODUCT_IDS[0048] = "imx8qp-apalis-v1.1-eval.dtb" TORADEX_PRODUCT_IDS[0049] = "imx8qp-apalis-v1.1-eval.dtb" +TORADEX_PRODUCT_IDS[0067] = "imx8qm-apalis-v1.1-eval.dtb" diff --git a/conf/machine/apalis-imx8x-v11a.conf b/conf/machine/apalis-imx8x-v11a.conf deleted file mode 100644 index ab7ea41..0000000 --- a/conf/machine/apalis-imx8x-v11a.conf +++ /dev/null @@ -1,17 +0,0 @@ -#@TYPE: Machine -#@NAME: Toradex Apalis iMX8X with B0 silicon -#@DESCRIPTION: Toradex Apalis iMX8X powered by a i.MX 8X SoC (B0 silicon) as found on all V1.0 and V1.1A versions -#@MAINTAINER: Philippe Schenker <philippe.schenker@toradex.com> - -# Set SoC revision to B0 -MACHINE_FEATURES:append = " soc-revb0" - -# keep the original machine as an override with high prio -MACHINEOVERRIDES =. "apalis-imx8x:" - -require conf/machine/apalis-imx8x.conf - -# reuse DISTRO_FLAVOUR to display special version exception in the -# Toradex Easy Installer application -DISTRO_FLAVOUR:append = " for V1.1A HW" -MACHINE_NAME = "Apalis-iMX8X-V11A" diff --git a/conf/machine/apalis-imx8x.conf b/conf/machine/apalis-imx8x.conf deleted file mode 100644 index 0ae847e..0000000 --- a/conf/machine/apalis-imx8x.conf +++ /dev/null @@ -1,81 +0,0 @@ -#@TYPE: Machine -#@NAME: Toradex Apalis iMX8X -#@DESCRIPTION: Toradex Apalis iMX8X powered by a i.MX 8X SoC -#@MAINTAINER: Philippe Schenker <philippe.schenker@toradex.com> - -MACHINE_NAME = "Apalis-iMX8X" - -MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" - -IMX_DEFAULT_BSP = "nxp" - -require conf/machine/include/imx-base.inc -# if one wants cortexa35-crypto, set DEFAULTTUNE accordingly -DEFAULTTUNE:mx8qxp = "aarch64" -require conf/machine/include/arm/armv8a/tune-cortexa35.inc - -# Don't include kernels in standard images -RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" - -LOADADDR = "" - -# we do not want to have getty running on tty1 as we run -# auto-serial-console there -USE_VT = "0" - -KERNEL_DEVICETREE = " \ - freescale/imx8qxp-apalis-eval.dtb \ -" - -KERNEL_IMAGETYPE:aarch64 = "Image.gz" - -UBOOT_SUFFIX = "bin" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "apalis-imx8x_defconfig,sdcard" - -UBOOT_ENTRYPOINT = "0x80280000" -UBOOT_DTB_LOADADDRESS = "0x83100000" -UBOOT_DTBO_LOADADDRESS = "0x83200000" -UBOOT_RD_LOADADDRESS = "0xA0000000" - -ATF_PLATFORM = "imx8qx" - -BOOT_SPACE = "65536" -IMX_BOOT_SEEK = "32" - -IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr" -WKS_FILE_DEPENDS:append = " u-boot-default-script" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" - -PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -PREFERRED_PROVIDER_u-boot = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" - -MACHINE_FIRMWARE:append = " linux-firmware-usb8997" -MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8" - -IMXBOOT_TARGETS = "flash" -IMX_BOOT_SOC_TARGET = "iMX8QX" - -PREFERRED_PROVIDER_imx-sc-firmware = "imx-sc-firmware-toradex" -BOARD_TYPE = "apalis" - -IMAGE_CLASSES:append = " image_type_tezi" -IMAGE_FSTYPES += "teziimg" - -# The imx-boot container takes care for the i.MX 8 offset, so the container -# has to be flashed at offset 0 directly -UBOOT_BINARY_TEZI_EMMC = "imx-boot" -OFFSET_BOOTROM_PAYLOAD = "0" - -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx8x_dsihdmi_overlay.dtbo apalis-imx8x_parallel-rgb_overlay.dtbo display-lt161010_overlay.dtbo apalis-imx8x_ad7879_overlay.dtbo" - -TORADEX_PRODUCT_IDS = "0046 0053 0054 2600" -TORADEX_PRODUCT_IDS[0046] = "imx8qxp-apalis-eval.dtb" -TORADEX_PRODUCT_IDS[0053] = "imx8qxp-apalis-eval.dtb" -TORADEX_PRODUCT_IDS[0054] = "imx8qxp-apalis-eval.dtb" -TORADEX_PRODUCT_IDS[2600] = "imx8qxp-apalis-eval.dtb" diff --git a/conf/machine/colibri-imx6ull-emmc.conf b/conf/machine/colibri-imx6ull-emmc.conf index 7833b91..a0741a5 100644 --- a/conf/machine/colibri-imx6ull-emmc.conf +++ b/conf/machine/colibri-imx6ull-emmc.conf @@ -9,35 +9,33 @@ MACHINEOVERRIDES =. "mx6:mx6ul:mx6ull:" require conf/machine/include/imx-base.inc require conf/machine/include/arm/armv7a/tune-cortexa7.inc -PREFERRED_PROVIDER_virtual/kernel_use-nxp-bsp ?= "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" - -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" - -KERNEL_DEVICETREE:use-mainline-bsp = " \ - imx6ull-colibri-emmc-eval-v3.dtb \ -" -KERNEL_DEVICETREE:use-nxp-bsp = " \ - imx6ull-colibri-emmc-aster.dtb \ - imx6ull-colibri-emmc-eval-v3.dtb \ - imx6ull-colibri-emmc-iris.dtb \ - imx6ull-colibri-emmc-iris-v2.dtb \ +PREFERRED_PROVIDER_virtual/kernel:use-nxp-bsp ?= "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" + +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" + +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE = " \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-iris-v2.dtb \ " KERNEL_IMAGETYPE = "zImage" # The kernel lives in its own ubi volume. -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" -PREFERRED_PROVIDER_u-boot ?= "u-boot-toradex" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-toradex" -PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils" -PREFERRED_RPROVIDER_u-boot-fw-utils ?= "u-boot-toradex-fw-utils" +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" PREFERRED_PROVIDER_u-boot-default-script ?= "u-boot-script-toradex" - UBOOT_MAKE_TARGET = "u-boot.imx" UBOOT_MACHINE ?= "colibri-imx6ull-emmc_defconfig" +UBOOT_SUFFIX = "imx" IMAGE_FSTYPES += "tar.xz" # wic support diff --git a/conf/machine/colibri-imx8x-v10b.conf b/conf/machine/colibri-imx8x-v10b.conf deleted file mode 100644 index 8fccc8c..0000000 --- a/conf/machine/colibri-imx8x-v10b.conf +++ /dev/null @@ -1,17 +0,0 @@ -#@TYPE: Machine -#@NAME: Toradex Colibri iMX8X with B0 silicon -#@DESCRIPTION: Toradex Colibri iMX8X powered by a i.MX 8X SoC (B0 silicon) as found on older SoM Versions V1.0B -#@MAINTAINER: Max Krummenacher <max.krummenacherr@toradex.com> - -# Set SoC revision to B0 -MACHINE_FEATURES:append = " soc-revb0" - -# keep the original machine as an override with high prio -MACHINEOVERRIDES =. "colibri-imx8x:" - -require conf/machine/colibri-imx8x.conf - -# reuse DISTRO_FLAVOUR to display special version exception in the -# Toradex Easy Installer application -DISTRO_FLAVOUR:append = " for V1.0B HW" -MACHINE_NAME = "Colibri-iMX8X-V10B" diff --git a/conf/machine/colibri-imx8x.conf b/conf/machine/colibri-imx8x.conf index 272638c..84a1d80 100644 --- a/conf/machine/colibri-imx8x.conf +++ b/conf/machine/colibri-imx8x.conf @@ -7,15 +7,17 @@ MACHINE_NAME = "Colibri-iMX8X" MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" require conf/machine/include/imx-base.inc # if one wants cortexa35-crypto, set DEFAULTTUNE accordingly -DEFAULTTUNE:mx8qxp = "aarch64" +DEFAULTTUNE:mx8qxp-generic-bsp = "armv8a-crypto" require conf/machine/include/arm/armv8a/tune-cortexa35.inc # Don't include kernels in standard images -RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" LOADADDR = "" @@ -23,25 +25,31 @@ LOADADDR = "" # auto-serial-console there USE_VT = "0" +KERNEL_DTB_PREFIX = "freescale/" 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_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-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris.dtb \ " -KERNEL_DEVICETREE:use-mainline-bsp = "freescale/imx8qxp-colibri-eval-v3.dtb" -KERNEL_IMAGETYPE:aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_SUFFIX = "bin" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "colibri-imx8x_defconfig,sdcard" -UBOOT_ENTRYPOINT = "0x80280000" +UBOOT_ENTRYPOINT = "0x96000000" UBOOT_DTB_LOADADDRESS = "0x83100000" UBOOT_DTBO_LOADADDRESS = "0x83200000" UBOOT_RD_LOADADDRESS = "0xA0000000" @@ -56,19 +64,20 @@ WKS_FILE_DEPENDS:append = " u-boot-default-script" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" - -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -PREFERRED_PROVIDER_u-boot = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_VERSION_linux-imx-headers = "5.15" + +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +# Currently we use the nxp 2022.04 downstream for mx8 +PREFERRED_VERSION_u-boot-toradex = "2022.04%" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +UBOOT_MAKE_TARGET:use-mainline-bsp = "all" +UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "fsl-imx8qxp-colibri.dts" MACHINE_FIRMWARE:append = " linux-firmware-pcie8997" -MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8" IMXBOOT_TARGETS = "flash" IMX_BOOT_SOC_TARGET = "iMX8QX" @@ -84,7 +93,8 @@ 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" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "" 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 3b632eb..8507628 100644 --- a/conf/machine/include/apalis-imx6.inc +++ b/conf/machine/include/apalis-imx6.inc @@ -1,32 +1,43 @@ IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES:append = " teziimg" -TORADEX_PRODUCT_IDS = "0027 0028 0029 0035" # 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 0082 0083 0084 0085" MACHINE_NAME = "Apalis-iMX6" -KERNEL_DEVICETREE += "imx6q-apalis-ixora-v1.2.dtb" -KERNEL_DEVICETREE:use-mainline-bsp += " \ - imx6q-apalis-eval.dtb \ - imx6q-apalis-ixora-v1.1.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:apalis-imx6 = " \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-ixora.dtb \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-ixora-v1.2.dtb \ " +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + apalis-imx6_hdmi_overlay.dtbo \ + apalis-imx6_spi1_spidev_overlay.dtbo \ + apalis-imx6_spi2_spidev_overlay.dtbo \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:apalis-imx6 = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" UBOOT_SUFFIX = "img" -UBOOT_ENTRYPOINT:apalis-imx6 = "0x11000000" -UBOOT_DTB_LOADADDRESS:apalis-imx6 = "0x12100000" -UBOOT_DTBO_LOADADDRESS:apalis-imx6 = "0x17000000" - MACHINE_FIRMWARE:remove = "firmware-imx-epdc" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx6_hdmi_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "apalis-imx6_parallel-rgb_overlay.dtbo display-edt7_overlay.dtbo apalis-imx6_stmpe-ts_overlay.dtbo apalis-imx6_hdmi_overlay.dtbo" +UBOOT_DTB_LOADADDRESS:apalis-imx6 = "0x18200000" +UBOOT_DTBO_LOADADDRESS:apalis-imx6 = "0x18300000" +UBOOT_ENTRYPOINT:apalis-imx6 = "0x14200000" +UBOOT_RD_LOADADDRESS:apalis-imx6 = "0x1A400000" diff --git a/conf/machine/include/colibri-imx6.inc b/conf/machine/include/colibri-imx6.inc index d6a1a0c..7c0a339 100644 --- a/conf/machine/include/colibri-imx6.inc +++ b/conf/machine/include/colibri-imx6.inc @@ -1,31 +1,41 @@ IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES:append = " teziimg" -TORADEX_PRODUCT_IDS = "0014 0015 0016 0017" # 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 0077 0078 0079 0080" MACHINE_NAME = "Colibri-iMX6" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx6_lcd-vga_overlay.dtbo colibri-imx6_stmpe-ts_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "colibri-imx6_parallel-rgb_overlay.dtbo colibri-imx6_stmpe-ts_overlay.dtbo display-vga_overlay.dtbo" - -KERNEL_DEVICETREE += " \ - imx6dl-colibri-iris.dtb \ - imx6dl-colibri-iris-v2.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx6 = " \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-iris-v2.dtb \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + colibri-imx6_vga-640x480_overlay.dtbo \ " +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:colibri-imx6 = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" UBOOT_SUFFIX = "img" MACHINE_FIRMWARE:remove = "firmware-imx-epdc" -UBOOT_ENTRYPOINT:colibri-imx6 = "0x11000000" -UBOOT_DTB_LOADADDRESS:colibri-imx6 = "0x12100000" -UBOOT_DTBO_LOADADDRESS:colibri-imx6 = "0x17000000" +UBOOT_DTB_LOADADDRESS:colibri-imx6 = "0x18200000" +UBOOT_DTBO_LOADADDRESS:colibri-imx6 = "0x18300000" +UBOOT_ENTRYPOINT:colibri-imx6 = "0x14200000" +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 4449017..bf56ae8 100644 --- a/conf/machine/include/colibri-imx6ull-emmc.inc +++ b/conf/machine/include/colibri-imx6ull-emmc.inc @@ -9,21 +9,24 @@ WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update" MACHINE_NAME = "Colibri-iMX6ULL-eMMC" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" - -# MACHINEOVERRIDES:append:upstream = ":use-mainline-bsp" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + colibri-imx6ull_vga-640x480_overlay.dtbo \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" -UBOOT_MAKE_TARGET:colibri-imx6ull-emmc = "u-boot.imx" -UBOOT_SUFFIX:${MACHINE} = "imx" -UBOOT_ENTRYPOINT:colibri-imx6ull-emmc = "0x81000000" -UBOOT_DTB_LOADADDRESS:colibri-imx6ull-emmc = "0x82100000" -UBOOT_DTBO_LOADADDRESS:colibri-imx6ull-emmc = "0x87000000" +PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx6ull_parallel-rgb_vga_overlay.dtbo colibri-imx6ull_ad7879_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "colibri-imx6ull_parallel-rgb_overlay.dtbo colibri-imx6ull_ad7879_overlay.dtbo display-vga_overlay.dtbo" +IMX_DEFAULT_BOOTLOADER:colibri-imx6ull-emmc = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +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 = "0x8A400000" +UBOOT_SUFFIX:colibri-imx6ull-emmc = "imx" diff --git a/conf/machine/include/colibri-imx6ull.inc b/conf/machine/include/colibri-imx6ull.inc index c6538d2..f1c0fc0 100644 --- a/conf/machine/include/colibri-imx6ull.inc +++ b/conf/machine/include/colibri-imx6ull.inc @@ -11,28 +11,37 @@ WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update" MACHINE_NAME = "Colibri-iMX6ULL" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -UBOOT_ENTRYPOINT:colibri-imx6ull = "0x81000000" - -MACHINEOVERRIDES:append:upstream = ":use-mainline-bsp" -MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" -UBOOT_MAKE_TARGET:colibri-imx6ull = "u-boot.imx" -UBOOT_ENTRYPOINT:colibri-imx6ull = "0x81000000" -UBOOT_DTB_LOADADDRESS:colibri-imx6ull = "0x82100000" -UBOOT_DTBO_LOADADDRESS:colibri-imx6ull = "0x87000000" - -KERNEL_DEVICETREE:append:use_nxp_bsp = " \ - imx6ull-colibri-aster.dtb \ - imx6ull-colibri-iris.dtb \ - imx6ull-colibri-iris-v2.dtb \ - imx6ull-colibri-wifi-aster.dtb \ - imx6ull-colibri-wifi-iris.dtb \ - imx6ull-colibri-wifi-iris-v2.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx6ull = " \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-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" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" + +IMX_DEFAULT_BOOTLOADER:colibri-imx6ull = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" + +MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" + +UBOOT_DTB_LOADADDRESS:colibri-imx6ull = "0x88200000" +UBOOT_DTBO_LOADADDRESS:colibri-imx6ull = "0x88300000" +UBOOT_ENTRYPOINT:colibri-imx6ull = "0x84200000" +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 a656bf9..cd37422 100644 --- a/conf/machine/include/colibri-imx7-emmc.inc +++ b/conf/machine/include/colibri-imx7-emmc.inc @@ -7,33 +7,39 @@ TORADEX_FLASH_TYPE = "emmc" MACHINE_NAME = "Colibri-iMX7-eMMC" -MACHINEOVERRIDES:append:upstream = ":use-mainline-bsp" +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx7-emmc = " \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-emmc-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-emmc-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-emmc-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-emmc-iris-v2.dtb \ +" -MACHINE_FIRMWARE:remove = "firmware-imx-epdc" -MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + colibri-imx7_vga-640x480_overlay.dtbo \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" - -KERNEL_DEVICETREE:append:use-nxp-bsp = " \ - imx7d-colibri-emmc-iris.dtb \ - imx7d-colibri-emmc-iris-v2.dtb \ -" -KERNEL_DEVICETREE:append:use-mainline-bsp = " \ - imx7d-colibri-emmc-aster.dtb \ -" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:colibri-imx7-emmc = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx7_lcd-vga_overlay.dtbo colibri-imx7_ad7879_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "colibri-imx7_parallel-rgb_overlay.dtbo colibri-imx7_ad7879_overlay.dtbo display-vga_overlay.dtbo" +MACHINE_FIRMWARE:remove = "firmware-imx-epdc" +MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" UBOOT_BINARY:colibri-imx7-emmc = "u-boot.imx" -UBOOT_DTB_LOADADDRESS:colibri-imx7-emmc = "0x82000000" -UBOOT_DTBO_LOADADDRESS:colibri-imx7-emmc = "0x87000000" -UBOOT_ENTRYPOINT:colibri-imx7-emmc = "0x81000000" -UBOOT_MAKE_TARGET = "u-boot.imx" +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 = "0x8A400000" UBOOT_SUFFIX:${MACHINE} = "imx" diff --git a/conf/machine/include/colibri-imx7.inc b/conf/machine/include/colibri-imx7.inc index c6cdbaf..5aa7a04 100644 --- a/conf/machine/include/colibri-imx7.inc +++ b/conf/machine/include/colibri-imx7.inc @@ -1,38 +1,44 @@ IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES:append = " teziimg" -TORADEX_PRODUCT_IDS = "0032 0033 0041" +TORADEX_PRODUCT_IDS = "0032 0033 0041 0081" TORADEX_PRODUCT_IDS[0032] = "imx7s-colibri-eval-v3.dtb" TORADEX_PRODUCT_IDS[0033] = "imx7d-colibri-eval-v3.dtb" TORADEX_PRODUCT_IDS[0041] = "imx7d-colibri-eval-v3.dtb" +TORADEX_PRODUCT_IDS[0081] = "imx7d-colibri-eval-v3.dtb" TORADEX_FLASH_TYPE = "rawnand" MACHINE_NAME = "Colibri-iMX7" -MACHINEOVERRIDES:append:upstream = ":use-mainline-bsp" - -MACHINE_FIRMWARE:remove = "firmware-imx-epdc" -MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" - -KERNEL_DEVICETREE:append:use-nxp-bsp += " \ - 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 \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx7 = " \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-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" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:colibri-imx7 = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -UBOOT_MAKE_TARGET:colibri-imx7 = "u-boot.imx" -UBOOT_ENTRYPOINT:colibri-imx7 = "0x81000000" -UBOOT_DTB_LOADADDRESS:colibri-imx7 = "0x82000000" -UBOOT_DTBO_LOADADDRESS:colibri-imx7 = "0x87000000" +MACHINE_FIRMWARE:remove = "firmware-imx-epdc" +MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" + +UBOOT_DTB_LOADADDRESS:colibri-imx7 = "0x88200000" +UBOOT_DTBO_LOADADDRESS:colibri-imx7 = "0x88300000" +UBOOT_ENTRYPOINT:colibri-imx7 = "0x84200000" +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 68d01b8..b5536c4 100644 --- a/conf/machine/verdin-imx8mm.conf +++ b/conf/machine/verdin-imx8mm.conf @@ -8,40 +8,63 @@ MACHINE_NAME = "Verdin-iMX8MM" MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" +IMX_DEFAULT_BSP:upstream = "mainline" require conf/machine/include/imx-base.inc # override imx-base.inc which sets this to cortexa53-crypto -DEFAULTTUNE:mx8mm = "aarch64" +DEFAULTTUNE:mx8mm-generic-bsp = "armv8a-crypto" require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Don't include kernels in standard images -RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" +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_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dev.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-yavia.dtb \ " -KERNEL_IMAGETYPE:aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "verdin-imx8mm_defconfig,sdcard" SPL_BINARY = "spl/u-boot-spl.bin" -UBOOT_ENTRYPOINT = "0x40280000" -UBOOT_DTB_LOADADDRESS = "0x43000000" -UBOOT_DTBO_LOADADDRESS = "0x46000000" -UBOOT_RD_LOADADDRESS = "0x60000000" +UBOOT_DTB_LOADADDRESS:mx8mm-generic-bsp = "0x50200000" +UBOOT_DTBO_LOADADDRESS:mx8mm-generic-bsp = "0x50240000" +UBOOT_ENTRYPOINT:mx8mm-generic-bsp = "0x48200000" +UBOOT_RD_LOADADDRESS = "0x52300000" + +# Set u-boot DTB +UBOOT_DTB_NAME = "imx8mm-verdin.dtb" +UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "imx8mm-verdin-wifi-dev.dtb" # Set DDR FIRMWARE -DDR_FIRMWARE_NAME = "lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_dmem.bin" +DDR_FIRMWARE_NAME = " \ + lpddr4_pmu_train_1d_imem.bin \ + lpddr4_pmu_train_1d_dmem.bin \ + lpddr4_pmu_train_2d_imem.bin \ + lpddr4_pmu_train_2d_dmem.bin \ +" ATF_PLATFORM = "imx8mm" - -# Set u-boot DTB -UBOOT_DTB_NAME = "imx8mm-verdin.dtb" +SOC_ATF_BOOT_UART_BASE:verdin-imx8mm = "0x30860000" BOOT_SPACE = "65536" @@ -60,20 +83,28 @@ IMX_BOOT_SEEK = "33" SERIAL_CONSOLES = "115200;ttymxc0" -MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen usbgadget usbhost vfat wifi" - - -# Add additional firmware -MACHINE_FIRMWARE:append = " linux-firmware-ath10k linux-firmware-imx-sdma-imx7d" +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" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -PREFERRED_PROVIDER_u-boot = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" - +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_VERSION_linux-imx-headers = "5.15" + +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +# Currently we use the nxp 2022.04 downstream for mx8 +PREFERRED_VERSION_u-boot-toradex = "2022.04%" +# With use-mainline-bsp build mainline U-Boot +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +# variables to control imx-boot with u-boot +ATF_LOAD_ADDR = "0x920000" +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" +TEE_LOAD_ADDR = "0xbe000000" +UBOOT_MAKE_TARGET:use-mainline-bsp = "all" + +# handle machine firmware +MACHINE_FIRMWARE:append = " linux-firmware-ath10k linux-firmware-imx-sdma-imx7d" MACHINE_FIRMWARE:append = " linux-firmware-sd8997" MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8" @@ -85,10 +116,13 @@ IMAGE_FSTYPES += "teziimg" UBOOT_BINARY_TEZI_EMMC = "imx-boot" OFFSET_BOOTROM_PAYLOAD = "2" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_lt8912_overlay.dtbo" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_dsi-to-hdmi_overlay.dtbo verdin-imx8mm_spidev_overlay.dtbo" -TORADEX_PRODUCT_IDS = "0055 0057 0059 0060" +TORADEX_PRODUCT_IDS = "0055 0057 0059 0060 0068 0086 0087" TORADEX_PRODUCT_IDS[0055] = "imx8mm-verdin-wifi-v1.1-dev.dtb" TORADEX_PRODUCT_IDS[0057] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb" TORADEX_PRODUCT_IDS[0059] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb" TORADEX_PRODUCT_IDS[0060] = "imx8mm-verdin-wifi-v1.1-dev.dtb" +TORADEX_PRODUCT_IDS[0068] = "imx8mm-verdin-wifi-v1.1-dev.dtb" +TORADEX_PRODUCT_IDS[0086] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb" +TORADEX_PRODUCT_IDS[0087] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb" diff --git a/conf/machine/verdin-imx8mp.conf b/conf/machine/verdin-imx8mp.conf index 51d8584..387af29 100644 --- a/conf/machine/verdin-imx8mp.conf +++ b/conf/machine/verdin-imx8mp.conf @@ -8,35 +8,52 @@ MACHINE_NAME = "Verdin-iMX8MP" MACHINEOVERRIDES =. "mx8:mx8m:mx8mp:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" +IMX_DEFAULT_BSP:upstream = "mainline" require conf/machine/include/imx-base.inc # override imx-base.inc which sets this to cortexa53-crypto -DEFAULTTUNE:mx8mp = "aarch64" +DEFAULTTUNE:mx8mp-generic-bsp = "armv8a-crypto" require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Don't include kernels in standard images -RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" +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_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dev.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-yavia.dtb \ " -KERNEL_IMAGETYPE:aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "verdin-imx8mp_defconfig,sdcard" SPL_BINARY = "spl/u-boot-spl.bin" -UBOOT_ENTRYPOINT = "0x40280000" -UBOOT_DTB_LOADADDRESS = "0x43000000" -UBOOT_DTBO_LOADADDRESS = "0x46000000" -UBOOT_RD_LOADADDRESS = "0x60000000" +UBOOT_DTB_LOADADDRESS:mx8mp-generic-bsp = "0x50200000" +UBOOT_DTBO_LOADADDRESS:mx8mp-generic-bsp = "0x50240000" +UBOOT_ENTRYPOINT:mx8mp-generic-bsp = "0x48200000" +UBOOT_RD_LOADADDRESS = "0x52300000" # Set u-boot DTB UBOOT_DTB_NAME = "imx8mp-verdin.dtb" +UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "imx8mp-verdin-wifi-dev.dtb" # Set DDR FIRMWARE LPDDR_FW_VERSION = "_202006" @@ -48,6 +65,7 @@ DDR_FIRMWARE_NAME = " \ " ATF_PLATFORM = "imx8mp" +SOC_ATF_BOOT_UART_BASE:verdin-imx8mp = "0x30880000" BOOT_SPACE = "65536" IMAGE_BOOTLOADER = "imx-boot" @@ -67,18 +85,28 @@ 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" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -PREFERRED_PROVIDER_u-boot = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_VERSION_linux-imx-headers = "5.15" + +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +# Currently we use the nxp 2022.04 downstream for mx8 +PREFERRED_VERSION_u-boot-toradex = "2022.04%" +# With use-mainline-bsp build mainline U-Boot +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +# variables to control imx-boot with u-boot +ATF_LOAD_ADDR = "0x920000" +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" +TEE_LOAD_ADDR = "0xbe000000" +UBOOT_MAKE_TARGET:use-mainline-bsp = "all" # 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" @@ -87,11 +115,14 @@ IMAGE_FSTYPES += "teziimg" UBOOT_BINARY_TEZI_EMMC = "imx-boot" OFFSET_BOOTROM_PAYLOAD = "0" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mp_native-hdmi_overlay.dtbo verdin-imx8mp_lt8912_overlay.dtbo" +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_dsi-to-hdmi_overlay.dtbo 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/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend deleted file mode 100644 index 46d018a..0000000 --- a/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -PACKAGECONFIG:remove = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'xcomposite-egl xcomposite-glx', '', d)}"
\ No newline at end of file diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend index 324b51b..604229a 100644 --- a/recipes-bsp/alsa-state/alsa-state.bbappend +++ b/recipes-bsp/alsa-state/alsa-state.bbappend @@ -1,4 +1,4 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/alsa-state/:" -#make this machine specific, as we have different codecs with different settings -PACKAGE_ARCH = "${MACHINE_ARCH}" +# make this machine specific, as we have different codecs with different settings +PACKAGE_ARCH:tdx = "${MACHINE_ARCH}" diff --git a/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.conf b/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.conf new file mode 100644 index 0000000..2be464b --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.conf @@ -0,0 +1,464 @@ +defaults.pcm.rate_converter "linear" + +pcm.default_card{ +type hw +card "imx6qapalissgtl" +} + +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 "imx6qapalissgtl" +} + +ctl.mixer0{ +type hw +card "imx6qapalissgtl" +} + +pcm_slave.esai{ + pcm "default_card" + channels 8 + rate 48000 + period_time 40000 +} + +pcm.esaich1to6{ + type dshare + ipc_key 5778293 + slave esai + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 + bindings.4 2 + bindings.5 6 +} + +pcm.esaich78{ + type dshare + ipc_key 5778293 + slave esai + bindings.0 3 + bindings.1 7 +} + +pcm_slave.sai5 { + pcm "hw:5,0" + channels 8 +} + +pcm.sai5_ch1to8 { + type dsnoop + ipc_key 5185558 + slave sai5 + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 + bindings.4 2 + bindings.5 6 + bindings.6 3 + bindings.7 7 +} + +pcm.sai5_ch1to6 { + type dsnoop + ipc_key 5165558 + slave sai5 + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 + bindings.4 2 + bindings.5 6 +} + +pcm.sai5_ch1to4 { + type dsnoop + ipc_key 5145558 + slave sai5 + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 +} + +pcm_slave.sai1{ + pcm "hw:4,0" + channels 16 +} + +pcm.sai1to16{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 + bindings.4 2 + bindings.5 10 + bindings.6 3 + bindings.7 11 + bindings.8 4 + bindings.9 12 + bindings.10 5 + bindings.11 13 + bindings.12 6 + bindings.13 14 + bindings.14 7 + bindings.15 15 +} + +pcm.sai1to14{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 + bindings.4 2 + bindings.5 10 + bindings.6 3 + bindings.7 11 + bindings.8 4 + bindings.9 12 + bindings.10 5 + bindings.11 13 + bindings.12 6 + bindings.13 14 +} + +pcm.sai1to12{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 + bindings.4 2 + bindings.5 10 + bindings.6 3 + bindings.7 11 + bindings.8 4 + bindings.9 12 + bindings.10 5 + bindings.11 13 +} + +pcm.sai1to10{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 + bindings.4 2 + bindings.5 10 + bindings.6 3 + bindings.7 11 + bindings.8 4 + bindings.9 12 +} + +pcm.sai1to8{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 + bindings.4 2 + bindings.5 10 + bindings.6 3 + bindings.7 11 +} + +pcm.sai1to6{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 + bindings.4 2 + bindings.5 10 +} + +pcm.sai1to4{ + type dshare + slave sai1 + ipc_key 5144458 + bindings.0 0 + bindings.1 8 + bindings.2 1 + bindings.3 9 +} + +pcm.cdnhdmi4ch { + type dshare + slave { + pcm "hw:3,0" + channels 4 + } + ipc_key 5144458 + bindings.0 0 + bindings.1 2 + bindings.2 1 + bindings.3 3 +} + +pcm.cdnhdmi8ch { + type dshare + slave { + pcm "hw:3,0" + channels 8 + } + ipc_key 5144458 + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 + bindings.4 2 + bindings.5 6 + bindings.6 3 + bindings.7 7 +} diff --git a/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.state b/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.state index 0cb5534..fb2cb26 100644 --- a/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.state +++ b/recipes-bsp/alsa-state/alsa-state/apalis-imx6/asound.state @@ -1,14 +1,14 @@ -state.sgtl5000audio { +state.imx6qapalissgtl { control.1 { iface MIXER name 'PCM Playback Volume' - value.0 117 - value.1 117 + value.0 144 + value.1 144 comment { access 'read write' type INTEGER count 2 - range '0 - 156' + range '0 - 192' } } control.2 { @@ -26,15 +26,11 @@ state.sgtl5000audio { control.3 { iface MIXER name 'Capture Attenuate Switch (-6dB)' - value 0 + value false comment { access 'read write' - type INTEGER + type BOOLEAN count 1 - range '0 - 2' - dbmin -600 - dbmax 600 - dbvalue.0 -600 } } control.4 { @@ -49,9 +45,19 @@ state.sgtl5000audio { } control.5 { iface MIXER + name 'Capture Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.6 { + iface MIXER name 'Headphone Playback Volume' - value.0 127 - value.1 127 + value.0 63 + value.1 63 comment { access 'read write' type INTEGER @@ -59,13 +65,13 @@ state.sgtl5000audio { range '0 - 127' dbmin -5150 dbmax 1200 - dbvalue.0 -2000 - dbvalue.1 -2000 + dbvalue.0 0 + dbvalue.1 0 } } - control.6 { + control.7 { iface MIXER - name 'Headphone Playback ZC Switch' + name 'Headphone Playback Switch' value true comment { access 'read write' @@ -73,239 +79,227 @@ state.sgtl5000audio { count 1 } } - control.7 { - iface MIXER - name 'Mic Volume' - value 2 - comment { - access 'read write' - type INTEGER - count 1 - range '0 - 3' - dbmin 0 - dbmax 4000 - dbvalue.0 3000 - } - } control.8 { iface MIXER - name 'Mic Bias Volt' - value 4 + name 'Headphone Playback ZC Switch' + value true comment { access 'read write' - type INTEGER + type BOOLEAN count 1 - range '0 - 7' } } control.9 { iface MIXER - name 'Mic Bias Impedance' - value 2 + name 'Mic Volume' + value 0 comment { access 'read write' type INTEGER count 1 range '0 - 3' + dbmin 0 + dbmax 4000 + dbvalue.0 0 } } control.10 { iface MIXER - name 'Bass Enable' - value false + name 'Lineout Playback Volume' + value.0 18 + value.1 18 comment { access 'read write' - type BOOLEAN - count 1 + type INTEGER + count 2 + range '0 - 31' + dbmin -1550 + dbmax 0 + dbvalue.0 -650 + dbvalue.1 -650 } } control.11 { iface MIXER - name 'Bass Filter Feq' - value 1 + name 'Lineout Playback Switch' + value false comment { access 'read write' - type INTEGER + type BOOLEAN count 1 - range '0 - 7' - dbmin 80 - dbmax 225 - dbvalue.0 100 } } control.12 { iface MIXER - name 'Bass Volume' - value 58 + name 'DAP Main channel' + value 32768 comment { access 'read write' type INTEGER count 1 - range '0 - 63' + range '0 - 65535' + dbmin 0 + dbmax 65535 + dbvalue.0 32768 } } control.13 { iface MIXER - name 'Bass Level' - value 96 + name 'DAP Mix channel' + value 0 comment { access 'read write' type INTEGER count 1 - range '0 - 127' + range '0 - 65535' + dbmin 0 + dbmax 65535 + dbvalue.0 0 } } control.14 { iface MIXER - name 'Surround Width' - value 4 + name 'AVC Switch' + value false comment { access 'read write' - type INTEGER + type BOOLEAN count 1 - range '0 - 7' } } control.15 { iface MIXER - name 'Main Channel Volume' - value 100 + name 'AVC Hard Limiter Switch' + value false comment { access 'read write' - type INTEGER + type BOOLEAN count 1 - range '0 - 200' - dbmin 0 - dbmax 200 - dbvalue.0 100 } } control.16 { iface MIXER - name 'Mixer Channel Volume' - value 0 + name 'AVC Max Gain Volume' + value 1 comment { access 'read write' type INTEGER count 1 - range '0 - 200' + range '0 - 2' dbmin 0 - dbmax 200 - dbvalue.0 0 + dbmax 1200 + dbvalue.0 600 } } control.17 { iface MIXER - name 'AVC Enable' - value false + name 'AVC Integrator Response' + value 1 comment { access 'read write' - type BOOLEAN + type INTEGER count 1 + range '0 - 3' } } control.18 { iface MIXER - name 'AVC Hard Limit' - value false + name 'AVC Threshold Volume' + value 12 comment { access 'read write' - type BOOLEAN + type INTEGER count 1 + range '0 - 96' + dbmin 0 + dbmax 9600 + dbvalue.0 1200 } } control.19 { iface MIXER - name 'AVC Max Gain' - value 1 + name 'BASS 0' + value 47 comment { access 'read write' type INTEGER count 1 - range '0 - 2' - dbmin 0 + range '0 - 95' + dbmin -1175 dbmax 1200 - dbvalue.0 600 + dbvalue.0 0 } } control.20 { iface MIXER - name 'AVC Threshold (-dB)' - value 12 + name 'BASS 1' + value 47 comment { access 'read write' type INTEGER count 1 - range '0 - 96' - dbmin 0 - dbmax 96 - dbvalue.0 12 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 } } control.21 { iface MIXER - name 'DAP_MIXER Mixer Channel' - value false + name 'BASS 2' + value 47 comment { access 'read write' - type BOOLEAN + type INTEGER count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 } } control.22 { iface MIXER - name I2S_OUT - value ADC + name 'BASS 3' + value 47 comment { access 'read write' - type ENUMERATED + type INTEGER count 1 - item.0 ADC - item.1 I2S_IN - item.2 reserved - item.3 DAP + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 } } control.23 { iface MIXER - name DAC_IN - value I2S_IN + name 'BASS 4' + value 47 comment { access 'read write' - type ENUMERATED + type INTEGER count 1 - item.0 ADC - item.1 I2S_IN - item.2 reserved - item.3 DAP + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 } } control.24 { iface MIXER - name MIX_MUX - value ADC + name 'Capture Mux' + value MIC_IN comment { access 'read write' type ENUMERATED count 1 - item.0 ADC - item.1 I2S_IN + item.0 MIC_IN + item.1 LINE_IN } } control.25 { iface MIXER - name DAP_IN - value ADC - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 ADC - item.1 I2S_IN - } - } - control.26 { - iface MIXER name 'Headphone Mux' value DAC comment { @@ -316,64 +310,42 @@ state.sgtl5000audio { item.1 LINE_IN } } - control.27 { - iface MIXER - name 'Capture Mux' - value MIC_IN - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 MIC_IN - item.1 LINE_IN - } - } - control.28 { + control.26 { iface MIXER - name 'Jack Function' - value off + name 'Digital Input Mux' + value I2S comment { access 'read write' type ENUMERATED count 1 - item.0 off - item.1 on + item.0 ADC + item.1 I2S + item.2 Rsvrd + item.3 DAP } } - control.29 { + control.27 { iface MIXER - name 'Speaker Function' - value off + name 'DAP Mux' + value ADC comment { access 'read write' type ENUMERATED count 1 - item.0 off - item.1 on + item.0 ADC + item.1 I2S } } - control.30 { + control.28 { iface MIXER - name 'Line In Function' - value off + name 'DAP MIX Mux' + value ADC comment { access 'read write' type ENUMERATED count 1 - item.0 off - item.1 on - } - } -} -state.imxhdmisoc { - control.1 { - iface MIXER - name 'IEC958 Playback Default' - value '0400020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access 'read write' - type IEC958 - count 1 + item.0 ADC + item.1 I2S } } } diff --git a/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state b/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state index a578e3d..5829ebf 100644 --- a/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state +++ b/recipes-bsp/alsa-state/alsa-state/colibri-imx7-emmc/asound.state @@ -1,9 +1,9 @@ -state.imx7colibrisgtl { +state.imx7sgtl5000 { control.1 { iface MIXER name 'PCM Playback Volume' - value.0 192 - value.1 192 + value.0 144 + value.1 144 comment { access 'read write' type INTEGER @@ -45,6 +45,16 @@ state.imx7colibrisgtl { } control.5 { iface MIXER + name 'Capture Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.6 { + iface MIXER name 'Headphone Playback Volume' value.0 103 value.1 103 @@ -59,7 +69,17 @@ state.imx7colibrisgtl { dbvalue.1 0 } } - control.6 { + control.7 { + iface MIXER + name 'Headphone Playback Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.8 { iface MIXER name 'Headphone Playback ZC Switch' value true @@ -69,7 +89,7 @@ state.imx7colibrisgtl { count 1 } } - control.7 { + control.9 { iface MIXER name 'Mic Volume' value 0 @@ -83,7 +103,202 @@ state.imx7colibrisgtl { dbvalue.0 0 } } - control.8 { + control.10 { + iface MIXER + name 'Lineout Playback Volume' + value.0 18 + value.1 18 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1550 + dbmax 0 + dbvalue.0 -650 + dbvalue.1 -650 + } + } + control.11 { + iface MIXER + name 'Lineout Playback Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.12 { + iface MIXER + name 'DAP Main channel' + value 32768 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 65535' + dbmin 0 + dbmax 65535 + dbvalue.0 32768 + } + } + control.13 { + iface MIXER + name 'DAP Mix channel' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 65535' + dbmin 0 + dbmax 65535 + dbvalue.0 0 + } + } + control.14 { + iface MIXER + name 'AVC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.15 { + iface MIXER + name 'AVC Hard Limiter Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.16 { + iface MIXER + name 'AVC Max Gain Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 2' + dbmin 0 + dbmax 1200 + dbvalue.0 600 + } + } + control.17 { + iface MIXER + name 'AVC Integrator Response' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + } + } + control.18 { + iface MIXER + name 'AVC Threshold Volume' + value 12 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 96' + dbmin 0 + dbmax 9600 + dbvalue.0 1200 + } + } + control.19 { + iface MIXER + name 'BASS 0' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.20 { + iface MIXER + name 'BASS 1' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.21 { + iface MIXER + name 'BASS 2' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.22 { + iface MIXER + name 'BASS 3' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.23 { + iface MIXER + name 'BASS 4' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.24 { + iface MIXER + name 'Capture Mux' + value MIC_IN + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 MIC_IN + item.1 LINE_IN + } + } + control.25 { iface MIXER name 'Headphone Mux' value DAC @@ -95,16 +310,42 @@ state.imx7colibrisgtl { item.1 LINE_IN } } - control.9 { + control.26 { iface MIXER - name 'Capture Mux' - value MIC_IN + name 'Digital Input Mux' + value I2S comment { access 'read write' type ENUMERATED count 1 - item.0 MIC_IN - item.1 LINE_IN + item.0 ADC + item.1 I2S + item.2 Rsvrd + item.3 DAP + } + } + control.27 { + iface MIXER + name 'DAP Mux' + value ADC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 ADC + item.1 I2S + } + } + control.28 { + iface MIXER + name 'DAP MIX Mux' + value ADC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 ADC + item.1 I2S } } } diff --git a/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state b/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state index a578e3d..5829ebf 100644 --- a/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state +++ b/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state @@ -1,9 +1,9 @@ -state.imx7colibrisgtl { +state.imx7sgtl5000 { control.1 { iface MIXER name 'PCM Playback Volume' - value.0 192 - value.1 192 + value.0 144 + value.1 144 comment { access 'read write' type INTEGER @@ -45,6 +45,16 @@ state.imx7colibrisgtl { } control.5 { iface MIXER + name 'Capture Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.6 { + iface MIXER name 'Headphone Playback Volume' value.0 103 value.1 103 @@ -59,7 +69,17 @@ state.imx7colibrisgtl { dbvalue.1 0 } } - control.6 { + control.7 { + iface MIXER + name 'Headphone Playback Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.8 { iface MIXER name 'Headphone Playback ZC Switch' value true @@ -69,7 +89,7 @@ state.imx7colibrisgtl { count 1 } } - control.7 { + control.9 { iface MIXER name 'Mic Volume' value 0 @@ -83,7 +103,202 @@ state.imx7colibrisgtl { dbvalue.0 0 } } - control.8 { + control.10 { + iface MIXER + name 'Lineout Playback Volume' + value.0 18 + value.1 18 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1550 + dbmax 0 + dbvalue.0 -650 + dbvalue.1 -650 + } + } + control.11 { + iface MIXER + name 'Lineout Playback Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.12 { + iface MIXER + name 'DAP Main channel' + value 32768 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 65535' + dbmin 0 + dbmax 65535 + dbvalue.0 32768 + } + } + control.13 { + iface MIXER + name 'DAP Mix channel' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 65535' + dbmin 0 + dbmax 65535 + dbvalue.0 0 + } + } + control.14 { + iface MIXER + name 'AVC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.15 { + iface MIXER + name 'AVC Hard Limiter Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.16 { + iface MIXER + name 'AVC Max Gain Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 2' + dbmin 0 + dbmax 1200 + dbvalue.0 600 + } + } + control.17 { + iface MIXER + name 'AVC Integrator Response' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + } + } + control.18 { + iface MIXER + name 'AVC Threshold Volume' + value 12 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 96' + dbmin 0 + dbmax 9600 + dbvalue.0 1200 + } + } + control.19 { + iface MIXER + name 'BASS 0' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.20 { + iface MIXER + name 'BASS 1' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.21 { + iface MIXER + name 'BASS 2' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.22 { + iface MIXER + name 'BASS 3' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.23 { + iface MIXER + name 'BASS 4' + value 47 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 95' + dbmin -1175 + dbmax 1200 + dbvalue.0 0 + } + } + control.24 { + iface MIXER + name 'Capture Mux' + value MIC_IN + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 MIC_IN + item.1 LINE_IN + } + } + control.25 { iface MIXER name 'Headphone Mux' value DAC @@ -95,16 +310,42 @@ state.imx7colibrisgtl { item.1 LINE_IN } } - control.9 { + control.26 { iface MIXER - name 'Capture Mux' - value MIC_IN + name 'Digital Input Mux' + value I2S comment { access 'read write' type ENUMERATED count 1 - item.0 MIC_IN - item.1 LINE_IN + item.0 ADC + item.1 I2S + item.2 Rsvrd + item.3 DAP + } + } + control.27 { + iface MIXER + name 'DAP Mux' + value ADC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 ADC + item.1 I2S + } + } + control.28 { + iface MIXER + name 'DAP MIX Mux' + value ADC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 ADC + item.1 I2S } } } diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound.state b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound.state deleted file mode 100644 index 1d3e09a..0000000 --- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound.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/firmware-imx/firmware-imx-8_8.%.bbappend b/recipes-bsp/firmware-imx/firmware-imx-8_8.%.bbappend deleted file mode 100644 index 99a3532..0000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8_8.%.bbappend +++ /dev/null @@ -1,14 +0,0 @@ -FILES:${PN} += " \ - ${nonarch_base_libdir}/firmware/imx/hdmi/hdmitxfw.bin \ - ${nonarch_base_libdir}/firmware/imx/hdmi/hdmirxfw.bin \ - ${nonarch_base_libdir}/firmware/imx/hdmi/dpfw.bin \ -" - -unset do_install[noexec] - -do_install:append () { - install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi - install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi/ - install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi/ - install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi/ -} diff --git a/recipes-bsp/imx-atf/files/0001-Revert-Add-NXP-s-SoCs-partition-reboot-support.patch b/recipes-bsp/imx-atf/files/0001-Revert-Add-NXP-s-SoCs-partition-reboot-support.patch new file mode 100644 index 0000000..e0150ba --- /dev/null +++ b/recipes-bsp/imx-atf/files/0001-Revert-Add-NXP-s-SoCs-partition-reboot-support.patch @@ -0,0 +1,41 @@ +From bef717b8edd1458bcff576e79ba536390d40deb2 Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Tue, 19 May 2020 20:32:59 +0200 +Subject: [PATCH 1/2] Revert "Add NXP's SoCs partition reboot support." + +This reverts commit 13a5c7ece5a13c636e52f22b45f592b72b6453d1. +With commit 13a5c7ece5a1 the SCFW will execute a reboot of the AP +partition as a reaction to a psci_system_reboot, e.g. because of +a Linux reboot. + +This does only reset the SoC partly, i.e. only IP which will not affect +other partitions. As a result on Apalis iMX8 USB HSIC comes up in a +state were it does not recognize our USB3503 hub correctly. + +Refer to the SCFW doc file sc_fw_port.pdf for more info on the various +sc_reboot*, sc_reset* functionalities. + +Upstream-Status: Inappropriate [configuration] + +Related-to: ELB-2702 +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + plat/imx/common/imx8_psci.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plat/imx/common/imx8_psci.c b/plat/imx/common/imx8_psci.c +index 5b53e62f3..d4f6723ec 100644 +--- a/plat/imx/common/imx8_psci.c ++++ b/plat/imx/common/imx8_psci.c +@@ -23,7 +23,7 @@ void __dead2 imx_system_off(void) + + void __dead2 imx_system_reset(void) + { +- sc_pm_reboot(ipc_handle, SC_PM_RESET_TYPE_COLD); ++ sc_pm_reset(ipc_handle, SC_PM_RESET_TYPE_BOARD); + wfi(); + ERROR("system reset failed.\n"); + panic(); +-- +2.37.0 + diff --git a/recipes-bsp/imx-atf/imx-atf_%.bbappend b/recipes-bsp/imx-atf/imx-atf_%.bbappend index f8fbddd..aae09b9 100644 --- a/recipes-bsp/imx-atf/imx-atf_%.bbappend +++ b/recipes-bsp/imx-atf/imx-atf_%.bbappend @@ -1,15 +1,8 @@ -PV = "2.2+git${SRCPV}" -SRCBRANCH = "toradex_imx_5.4.70_2.3.0" -SRCREV = "835a8f67b2ca7aa3f2d05d6e6a1a51f7e1147266" -SRCREV:use-head-next = "${AUTOREV}" -SRC_URI = "git://git.toradex.com/imx-atf.git;protocol=https;branch=${SRCBRANCH}" +FILESEXTRAPATHS:prepend := "${THISDIR}/files/:" +SRC_URI:append:tdx = " \ + file://0001-Revert-Add-NXP-s-SoCs-partition-reboot-support.patch \ +" -EXTRA_OEMAKE:append = " \ +EXTRA_OEMAKE:append:tdx = " \ BUILD_STRING="${SRCBRANCH}-g${@'${SRCPV}'.replace('AUTOINC+', '')}" \ " -EXTRA_OEMAKE:append:verdin-imx8mm = " \ - IMX_BOOT_UART_BASE=0x30860000 \ -" -EXTRA_OEMAKE:append:verdin-imx8mp = " \ - IMX_BOOT_UART_BASE=0x30880000 \ -" diff --git a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend b/recipes-bsp/imx-mkimage/imx-boot_%.bbappend deleted file mode 100644 index a7b398c..0000000 --- a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -# Create symbolic link rather than copying mkimage_uboot -compile:mx8m:prepend() { - rm -rf ${BOOT_STAGING}/mkimage_uboot -} -compile:mx8m:append() { - rm -rf ${BOOT_STAGING}/mkimage_uboot - lnr ${STAGING_DIR_NATIVE}/${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot -} diff --git a/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb b/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.15.0.bb index dfc9b67..1e21434 100644 --- a/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb +++ b/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.15.0.bb @@ -4,14 +4,14 @@ DESCRIPTION = "i.MX System Controller Firmware for Toradex hardware" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=94c5a3fc041e195df67fde3979a5e14e" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" SECTION = "BSP" inherit deploy SRC_URI = "git://github.com/toradex/i.MX-System-Controller-Firmware.git;branch=master;protocol=https;fsl-eula=true" -SRCREV = "64fd890f0be17c2c2939e66b5ddf3d60246f574b" +SRCREV = "7b7c7f7c834c58e637a53bab281d48f963788e33" SRCREV:use-head-next = "${AUTOREV}" S = "${WORKDIR}/git" @@ -22,8 +22,8 @@ RPROVIDES:${PN} = "imx-sc-firmware" RCONFLICTS:${PN} = "imx-sc-firmware" BOARD_TYPE ?= "unknown" -SC_FIRMWARE_NAME:mx8qm = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8qxp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8qm-generic-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8qxp-generic-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin" symlink_name = "scfw_tcm.bin" BOOT_TOOLS = "imx-boot-tools" 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/files/colibri-imx6ull/fw_env.config b/recipes-bsp/u-boot/files/colibri-imx6ull/fw_env.config deleted file mode 100644 index 930bcee..0000000 --- a/recipes-bsp/u-boot/files/colibri-imx6ull/fw_env.config +++ /dev/null @@ -1,10 +0,0 @@ -# Configuration file for fw_(printenv/setenv) utility. -# Up to two entries are valid, in this case the redundant -# environment sector is assumed present. -# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash. -# Futhermore, if the Flash sector size is ommitted, this value is assumed to -# be the same as the Environment size, which is valid for NOR and SPI-dataflash - -# MTD device name Device offset Env. size Flash sector size Number of sectors -# Colibri iMX6ULL -/dev/mtd3 0x00000000 0x00020000 0x20000 4 diff --git a/recipes-bsp/u-boot/files/colibri-imx7/fw_env.config b/recipes-bsp/u-boot/files/colibri-imx7/fw_env.config deleted file mode 100644 index b59116d..0000000 --- a/recipes-bsp/u-boot/files/colibri-imx7/fw_env.config +++ /dev/null @@ -1,10 +0,0 @@ -# Configuration file for fw_(printenv/setenv) utility. -# Up to two entries are valid, in this case the redundant -# environment sector is assumed present. -# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash. -# Futhermore, if the Flash sector size is ommitted, this value is assumed to -# be the same as the Environment size, which is valid for NOR and SPI-dataflash - -# MTD device name Device offset Env. size Flash sector size Number of sectors -# Colibri iMX7 -/dev/mtd3 0x00000000 0x00020000 0x20000 4 diff --git a/recipes-bsp/u-boot/files/fw_env.config b/recipes-bsp/u-boot/files/fw_env.config deleted file mode 100644 index 9f78e4c..0000000 --- a/recipes-bsp/u-boot/files/fw_env.config +++ /dev/null @@ -1,19 +0,0 @@ -# Configuration file for fw_(printenv/setenv) utility. -# Up to two entries are valid, in this case the redundant -# environment sector is assumed present. -# Device offset must be prefixed with 0x to be parsed as a hexadecimal value. -# On a block device a negative offset is treated as a backwards offset from the -# end of the device/partition, rather than a forwards offset from the start. - -# Toradex modules with eMMC -# The U-Boot environment is stored at the end of the first eMMC boot partition -# hence use a negative value. The environment is just in front of the config -# block which occupies the last sector (hence -0x200) -# Note that the eMMC boot areas (e.g. /dev/mmcblk0boot0) by default is read -# only. To make it writeable, execute on the cmdline e.g. -# $ echo 0 > /sys/block/mmcblk0boot0/force_ro -# The fw_setenv tool provided by libubootenv does this automatically. - -# Block device name Device offset Env. size -/dev/emmc-boot0 -0x2200 0x2000 - diff --git a/recipes-bsp/u-boot/files/vf/fw_env.config b/recipes-bsp/u-boot/files/vf/fw_env.config deleted file mode 100644 index 51f09d1..0000000 --- a/recipes-bsp/u-boot/files/vf/fw_env.config +++ /dev/null @@ -1,10 +0,0 @@ -# Configuration file for fw_(printenv/setenv) utility. -# Up to two entries are valid, in this case the redundant -# environment sector is assumed present. -# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash. -# Futhermore, if the Flash sector size is ommitted, this value is assumed to -# be the same as the Environment size, which is valid for NOR and SPI-dataflash - -# MTD device name Device offset Env. size Flash sector size Number of sectors -# Colibri VF61 -/dev/mtd2 0x00000000 0x00020000 0x20000 4 diff --git a/recipes-bsp/u-boot/u-boot-toradex-common.inc b/recipes-bsp/u-boot/u-boot-toradex-common.inc deleted file mode 100644 index 746b8d6..0000000 --- a/recipes-bsp/u-boot/u-boot-toradex-common.inc +++ /dev/null @@ -1,47 +0,0 @@ -HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" -SECTION = "bootloaders" -DEPENDS += "flex-native bison-native" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" -PE = "1" - -PV = "2020.07+git${SRCPV}" - -inherit toradex-u-boot-localversion - -# We use the revision in order to avoid having to fetch it from the -# repo during parse -SRCREV = "eb6c58cb014022d45a880c1eb9761e5d6ce623c0" -SRCBRANCH = "toradex_2020.07" -SRCREV:use-head-next = "${AUTOREV}" - -SRC_URI = " \ - git://git.toradex.com/u-boot-toradex.git;protocol=https;branch=${SRCBRANCH} \ - file://fw_env.config \ -" - -S = "${WORKDIR}/git" - -UBOOT_INITIAL_ENV = "u-boot-initial-env" - -do_deploy:append:mx8m() { - # 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_2020.04.bb b/recipes-bsp/u-boot/u-boot-toradex_2020.04.bb deleted file mode 100644 index c301226..0000000 --- a/recipes-bsp/u-boot/u-boot-toradex_2020.04.bb +++ /dev/null @@ -1,11 +0,0 @@ -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" - -B = "${WORKDIR}/build" - -PROVIDES += "u-boot" -DEPENDS:append = " dtc-native" - -BOOT_TOOLS = "imx-boot-tools" diff --git a/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb b/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb deleted file mode 100644 index 7a72a34..0000000 --- a/recipes-bsp/u-boot/u-boot-toradex_2020.07.bb +++ /dev/null @@ -1,44 +0,0 @@ -require u-boot-toradex-common.inc -require recipes-bsp/u-boot/u-boot.inc - -B = "${WORKDIR}/build" - -PROVIDES += "u-boot" - -DEPENDS += "bc-native dtc-native" - -# 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. -SRC_URI:append:use-mainline-bsp:colibri-imx7 = " file://0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch" -SRC_URI:append:use-mainline-bsp:colibri-imx7-emmc = " file://0001-colibri_imx7-boot-linux-kernel-in-non-secure-mode.patch" - -BOOT_TOOLS = "imx-boot-tools" - -PADDING_DIR = "${B}" - -nand_padding () { - # pad the end of U-Boot with 0x00 up to the the end of the CSF area - #PAD_END=$(echo -n "0x"; od -X -j 0x24 -N 4 u-boot.imx | sed -e '/................/!d' -e 's/........\(.*\)/\1/') - #PAD_END=$(( $PAD_END - 0x400 )) - #objcopy -I binary -O binary --pad-to $PAD_END u-boot.imx u-boot.imx.zero-padded - # assume that the above never need more than 10k of padding and skip the - # shell magic to get a correct size. - dd bs=10k count=1 if=/dev/zero | cat ${PADDING_DIR}/u-boot.imx - > ${PADDING_DIR}/u-boot.imx.zero-padded - - # U-Boot is flashed 1k into a NAND block, create a binary which prepends - # U-boot with 1k of zeros to ease flashing - dd bs=1024 count=1 if=/dev/zero | cat - ${PADDING_DIR}/u-boot.imx.zero-padded > ${PADDING_DIR}/u-boot-nand.imx -} - -do_compile:append:colibri-imx6ull () { - nand_padding -} - -do_compile:append:colibri-imx7 () { - nand_padding -} - -do_compile:append:colibri-vf () { - nand_padding -} diff --git a/recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc b/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb index eb91a41..6f1ed6d 100644 --- a/recipes-bsp/u-boot/u-boot-toradex-common_2020.04.inc +++ b/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb @@ -1,29 +1,33 @@ +SUMMARY = "U-Boot bootloader with support for Toradex i.MX 8 series SoMs" HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" SECTION = "bootloaders" -DEPENDS += "flex-native bison-native" - -LICENSE = "GPLv2+" +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" -SRC_URI = " \ - git://git.toradex.com/u-boot-toradex.git;protocol=https;branch=${SRCBRANCH} \ - file://fw_env.config \ -" +require recipes-bsp/u-boot/u-boot.inc -SRCREV = "6a8d4f758d0331ee303517618f8368ef52c9d1c7" +SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=https;branch=${SRCBRANCH}" +SRCREV = "d262075124dcfe2170acfc7db25a1a6155658ec6" SRCREV:use-head-next = "${AUTOREV}" -SRCBRANCH = "toradex_imx_v2020.04_5.4.70_2.3.0" +SRCBRANCH = "toradex_imx_lf_v2022.04" S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +BOOT_TOOLS = "imx-boot-tools" inherit toradex-u-boot-localversion +# build imx-boot from within U-Boot +inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')} UBOOT_INITIAL_ENV = "u-boot-initial-env" -COMPATIBLE_MACHINE = "(mx8)" +COMPATIBLE_MACHINE = "(mx8-generic-bsp)" PACKAGE_ARCH = "${MACHINE_ARCH}" -do_deploy:append:mx8m() { +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 @@ -35,7 +39,8 @@ do_deploy:append:mx8m() { 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} + 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 diff --git a/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf b/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf index db39e48..6ab50eb 100644 --- a/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf +++ b/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf @@ -1,7 +1,7 @@ mx6_usb_sdp_uboot #hid/bulk,[old_header,]max packet size, {ram start, ram size}(repeat valid ram areas) hid,1024,0x10000000,1G,0x00907000,0x31000 -#Load complete FIT image to $ramdisk_addr_r -tezi.itb:load 0x12100000 -#Load script to $loadaddr and jump to it -boot-sdp.scr:load 0x12000000,jump 0x12000000 +#Load complete FIT image to $loadaddr +tezi.itb:load 0x14200000 +#Load script to $scriptaddr and jump to it +boot-sdp.scr:load 0x18280000,jump 0x18280000 diff --git a/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf b/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf index 73ec74c..8446afb 100644 --- a/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf +++ b/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf @@ -1,7 +1,7 @@ mx6ull_usb_sdp_uboot #hid/bulk,[old_header,]max packet size,dcd_addr,{ram start, ram size}(repeat valid ram areas) hid,1024,0x910000,0x80000000,1G,0x00900000,0x20000 -#Load complete FIT image to $ramdisk_addr_r -tezi.itb:load 0x82100000 -#Load script to $loadaddr and jump to it -boot-sdp.scr:load 0x82000000,jump 0x82000000 +#Load complete FIT image to $loadaddr +tezi.itb:load 0x84200000 +#Load script to $scriptaddr and jump to it +boot-sdp.scr:load 0x88280000,jump 0x88280000 diff --git a/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf b/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf index 0f3a59c..8eca25e 100644 --- a/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf +++ b/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf @@ -1,7 +1,7 @@ mx7_usb_sdp_uboot #hid/bulk,[old_header,]max packet size,dcd_addr,{ram start, ram size}(repeat valid ram areas) hid,1024,0x910000,0x80000000,1G,0x00900000,0x20000 -#Load complete FIT image to $ramdisk_addr_r -tezi.itb:load 0x82100000 -#Load script to $loadaddr and jump to it -boot-sdp.scr:load 0x82000000,jump 0x82000000 +#Load complete FIT image to $loadaddr +tezi.itb:load 0x84200000 +#Load script to $scriptaddr and jump to it +boot-sdp.scr:load 0x88280000,jump 0x88280000 diff --git a/recipes-devtools/imx-loader/imx-loader_git.bb b/recipes-devtools/imx-loader/imx-loader_git.bb index 39e798b..972ca74 100644 --- a/recipes-devtools/imx-loader/imx-loader_git.bb +++ b/recipes-devtools/imx-loader/imx-loader_git.bb @@ -1,7 +1,7 @@ SUMMARY = "USB/UART loader for i.MX51/53/6x/7 and Vybrid" SECTION = "base" HOMEPAGE = "https://github.com/boundarydevices/imx_usb_loader" -LICENSE = "LGPLv2+" +LICENSE = "LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "libusb" diff --git a/recipes-graphics/drm/libdrm_2.4.%.imx.bbappend b/recipes-graphics/drm/libdrm_2.4.%.imx.bbappend new file mode 100644 index 0000000..aa86fd5 --- /dev/null +++ b/recipes-graphics/drm/libdrm_2.4.%.imx.bbappend @@ -0,0 +1 @@ +RRECOMMENDS:${PN}:append:imxgpu:tdx = " ${PN}-vivante" diff --git a/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend b/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend deleted file mode 100644 index b41bed1..0000000 --- a/recipes-graphics/drm/libdrm_2.4.102.imx.bbappend +++ /dev/null @@ -1 +0,0 @@ -RDEPENDS:${PN}:append:imxgpu = " ${PN}-etnaviv ${PN}-vivante" diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend deleted file mode 100644 index 1ba5ed4..0000000 --- a/recipes-graphics/wayland/weston-init.bbappend +++ /dev/null @@ -1,49 +0,0 @@ -INI_UNCOMMENT_ASSIGNMENTS:append:mx8 = " \ - use-g2d=1 \ -" - - -uncomment() { - # already uncommented, do nothing - if ! (grep "^$1" $2); then - if ! (grep "^#$1" $2); then - bbfatal "Commented setting '#$1' not found in file $2" - fi - sed -i -e 's,^#'"$1"','"$1"',g' $2 - fi -} - - -configure_noidle() { - sed -i '/idle-time=0/d' ${D}${sysconfdir}/xdg/weston/weston.ini - sed -i '/^\[core\]/a idle-time=0' ${D}${sysconfdir}/xdg/weston/weston.ini -} - -# Prevent weston from going to sleep -do_install:append:upstream() { - configure_noidle -} - -configure_pixman() { - sed -i '/use-pixman=true/d' ${D}${sysconfdir}/xdg/weston/weston.ini - sed -i '/^\[core\]/a use-pixman=true' ${D}${sysconfdir}/xdg/weston/weston.ini -} - -# With upstream weston and modules without GPU weston uses a lot of -# cpu time and becomes very unresponsive. Setting use-pixman=true works -# around it. -do_install:append:upstream:colibri-imx6ull() { - configure_pixman -} - -do_install:append:upstream:colibri-imx6ull-emmc() { - configure_pixman -} - -do_install:append:upstream:colibri-imx7() { - configure_pixman -} - -do_install:append:upstream:colibri-imx7-emmc() { - configure_pixman -} diff --git a/recipes-graphics/wayland/weston/0001-libweston-backend-fbdev-fbdev.c-don-t-destroy-output.patch b/recipes-graphics/wayland/weston/0001-libweston-backend-fbdev-fbdev.c-don-t-destroy-output.patch deleted file mode 100644 index 1469938..0000000 --- a/recipes-graphics/wayland/weston/0001-libweston-backend-fbdev-fbdev.c-don-t-destroy-output.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 52ec338ec27a3e3267442bcef36e0b9312441af5 Mon Sep 17 00:00:00 2001 -From: Max Krummenacher <max.krummenacher@toradex.com> -Date: Thu, 4 Feb 2021 20:33:40 +0000 -Subject: [PATCH 1/2] libweston/backend-fbdev/fbdev.c: don't destroy output - twice - -This is currently unsupported and may result in a segfault. - -fbdev_output_disable(base) does call pixman_renderer_output_destroy(base) so -one should not do it a second time here. - -Observed on a colibri-imx6ull which actually uses pixman for rendering. - -Program received signal SIGSEGV, Segmentation fault. -_pixman_image_fini (image=0x636f6c2f) - at ../pixman-0.38.4/pixman/pixman-image.c:139 -139 ../pixman-0.38.4/pixman/pixman-image.c: Datei oder Verzeichnis nicht gefunden. -(gdb) bt - at ../pixman-0.38.4/pixman/pixman-image.c:139 - at ../pixman-0.38.4/pixman/pixman-image.c:211 - at ../git/libweston/pixman-renderer.c:971 - at ../git/libweston/backend-fbdev/fbdev.c:790 - at ../git/libweston/compositor.c:7607 - at ../git/libweston/backend-fbdev/fbdev.c:885 - at ../git/libweston/compositor.c:7949 - at ../git/compositor/main.c:3538 - from /srv/nfs/rootfs-colibri-imx6ull/lib/libc.so.6 - -Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> ---- - libweston/backend-fbdev/fbdev.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/libweston/backend-fbdev/fbdev.c b/libweston/backend-fbdev/fbdev.c -index becc1488..6c6376c1 100644 ---- a/libweston/backend-fbdev/fbdev.c -+++ b/libweston/backend-fbdev/fbdev.c -@@ -786,8 +786,7 @@ fbdev_output_destroy(struct weston_output *base) - fbdev_output_disable(base); - - if (backend->use_pixman) { -- if (base->renderer_state != NULL) -- pixman_renderer_output_destroy(base); -+ ; - #if defined(ENABLE_IMXGPU) - #if defined(ENABLE_IMXG2D) - } else if (backend->use_g2d) { --- -2.20.1 - diff --git a/recipes-graphics/wayland/weston/0002-libweston-pixman-renderer.c-zero-freed-pointer.patch b/recipes-graphics/wayland/weston/0002-libweston-pixman-renderer.c-zero-freed-pointer.patch deleted file mode 100644 index 67d21a2..0000000 --- a/recipes-graphics/wayland/weston/0002-libweston-pixman-renderer.c-zero-freed-pointer.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1c9ad2f2bbd9ad99b89c330ee809f5752cb03877 Mon Sep 17 00:00:00 2001 -From: Max Krummenacher <max.krummenacher@toradex.com> -Date: Thu, 4 Feb 2021 20:37:02 +0000 -Subject: [PATCH 2/2] libweston/pixman-renderer.c: zero freed pointer - -Setting struct elements in a struct just before the whole struct -is freed makes little sense, however zero the pointer to said struct -guards against using the no longer assigned memory. - -Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> ---- - libweston/pixman-renderer.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libweston/pixman-renderer.c b/libweston/pixman-renderer.c -index 59b1f0ff..ec037e44 100644 ---- a/libweston/pixman-renderer.c -+++ b/libweston/pixman-renderer.c -@@ -967,6 +967,9 @@ pixman_renderer_output_destroy(struct weston_output *output) - { - struct pixman_output_state *po = get_output_state(output); - -+ if (!po) -+ return; -+ - if (po->shadow_image) - pixman_image_unref(po->shadow_image); - -@@ -975,9 +978,6 @@ pixman_renderer_output_destroy(struct weston_output *output) - - free(po->shadow_buffer); - -- po->shadow_buffer = NULL; -- po->shadow_image = NULL; -- po->hw_buffer = NULL; -- - free(po); -+ output->renderer_state = NULL; - } --- -2.20.1 - diff --git a/recipes-graphics/wayland/weston_9.0.0.imx.bbappend b/recipes-graphics/wayland/weston_9.0.0.imx.bbappend deleted file mode 100644 index a353ffc..0000000 --- a/recipes-graphics/wayland/weston_9.0.0.imx.bbappend +++ /dev/null @@ -1,12 +0,0 @@ -# Don't build and install the backends which display weston on top of an -# existing wayland or x11 server. (Otherwise weston will prefer the wayland -# backend over the fbdev one for the non drm enabled machines) -PACKAGECONFIG:remove = "wayland x11" - -PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcursor" - -FILESEXTRAPATHS:prepend := "${THISDIR}/weston/:" -SRC_URI:append = " \ - file://0001-libweston-backend-fbdev-fbdev.c-don-t-destroy-output.patch \ - file://0002-libweston-pixman-renderer.c-zero-freed-pointer.patch \ -" diff --git a/recipes-kernel/linux/device-tree-overlays_git.bb b/recipes-kernel/linux/device-tree-overlays_git.bb index f190ed0..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.4-2.3.x-imx" -SRCREV = "a52d315e89af02a63ed5d43d77626a91e3e82da5" +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 new file mode 100644 index 0000000..36be8d5 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-headers_5%.bbappend @@ -0,0 +1,5 @@ +LIC_FILES_CHKSUM:tdx = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" +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 = "7c13adcd3af7dcd541144655102e1cdb941ad538" diff --git a/recipes-kernel/linux/linux-imx-headers_5.15.bb b/recipes-kernel/linux/linux-imx-headers_5.15.bb new file mode 100644 index 0000000..ae15190 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-headers_5.15.bb @@ -0,0 +1,79 @@ +# Copyright 2017-2021 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Installs i.MX-specific kernel headers" +DESCRIPTION = "Installs i.MX-specific kernel headers to userspace. \ +New headers are installed in ${includedir}/imx." +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "lf-5.15.y" +LOCALVERSION = "-5.15.71-2.2.0" +SRCREV = "3313732e9984cb8a6b10a9085c7e18d58e770d56" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +do_compile[noexec] = "1" + +IMX_UAPI_HEADERS = " \ + dma-buf.h \ + hantrodec.h \ + hx280enc.h \ + ipu.h \ + isl29023.h \ + imx_vpu.h \ + mxc_asrc.h \ + mxc_dcic.h \ + mxc_mlb.h \ + mxc_sim_interface.h \ + mxc_v4l2.h \ + mxcfb.h \ + pxp_device.h \ + pxp_dma.h \ + version.h \ + videodev2.h \ +" + +do_install() { + # We install all headers inside of B so we can copy only the + # i.MX-specific ones, and there is no risk of a new header to be + # installed by mistake. + oe_runmake headers_install INSTALL_HDR_PATH=${B}${exec_prefix} + + ################################################ + # BEGIN Copy of exceptional logic from linux-libc-headers + # Kernel should not be exporting this header + rm -f ${B}${exec_prefix}/include/scsi/scsi.h + + # The ..install.cmd conflicts between various configure runs + find ${B}${includedir} -name ..install.cmd | xargs rm -f + # END Copy from linux-libc-headers + ################################################ + + # Install i.MX-specific headers only + for h in ${IMX_UAPI_HEADERS}; do + install -D -m 0644 ${B}${includedir}/linux/$h \ + ${D}${includedir}/imx/linux/$h + done +} + +# Allow to build empty main package, this is required in order for -dev package +# to be propagated into the SDK +# +# Without this setting the RDEPENDS in other recipes fails to find this +# package, therefore causing the -dev package also to be skipped effectively not +# populating it into SDK +ALLOW_EMPTY:${PN} = "1" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS += "unifdef-native bison-native rsync-native" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +# Restrict this recipe to NXP BSP only, this recipe is not compatible +# with mainline BSP +COMPATIBLE_HOST = '(null)' +COMPATIBLE_HOST:use-nxp-bsp = '.*' diff --git a/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend b/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend deleted file mode 100644 index 8cda03c..0000000 --- a/recipes-kernel/linux/linux-imx-headers_5.4%.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -SRCBRANCH = "toradex_5.4-2.1.x-imx" -LOCALVERSION = "-2.3.2" -SRC_URI = "git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH}" -# Keep that one stable, i.e. use the exact git hash from the NXP BSP. -SRCREV = "dea2fede7e024ee7029b13e8d82a00ec14427777" diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.2.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 new file mode 100644 index 0000000..b2413e8 --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0001-Revert-Revert-ARM-9113-1-uaccess-remove-set_fs-imple.patch @@ -0,0 +1,44 @@ +From 8f561f0a27a68205ad7a33b3e0fdaf80fc7f96ea Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Tue, 9 Aug 2022 14:47:27 +0200 +Subject: [PATCH 1/5] Revert "Revert "ARM: 9113/1: uaccess: remove set_fs() + implementation"" + +Prepare for applying RT-Patch by partly reverting the conflicting +downstream commit. + +This reverts commit ee69377c0fb428a2319ca071bbdbbddbb756cd02. + +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + arch/arm/include/asm/thread_info.h | 1 - + arch/arm/kernel/asm-offsets.c | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h +index bf64b41d47eb..d1f959463e17 100644 +--- a/arch/arm/include/asm/thread_info.h ++++ b/arch/arm/include/asm/thread_info.h +@@ -54,7 +54,6 @@ struct cpu_context_save { + struct thread_info { + unsigned long flags; /* low level flags */ + int preempt_count; /* 0 => preemptable, <0 => bug */ +- mm_segment_t addr_limit; /* address limit */ + struct task_struct *task; /* main task structure */ + __u32 cpu; /* cpu */ + __u32 cpu_domain; /* cpu domain */ +diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c +index 2dc0f59b0053..77a253fe3ff3 100644 +--- a/arch/arm/kernel/asm-offsets.c ++++ b/arch/arm/kernel/asm-offsets.c +@@ -43,7 +43,6 @@ int main(void) + BLANK(); + DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); + DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); +- DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); + DEFINE(TI_TASK, offsetof(struct thread_info, task)); + DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); + DEFINE(TI_CPU_DOMAIN, offsetof(struct thread_info, cpu_domain)); +-- +2.35.3 + diff --git a/recipes-kernel/linux/linux-toradex-5.4-2.3.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.4-2.3.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.2.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 new file mode 100644 index 0000000..7dfb476 --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0002-arch-arm-Kconfig-prepare-for-rt-patch.patch @@ -0,0 +1,28 @@ +From 8e60810e199661b607557e560b329097dc3fea0e Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Sun, 13 Nov 2022 13:30:47 +0100 +Subject: [PATCH 2/5] arch/arm/Kconfig: prepare for rt patch + +Prepare for applying the RT patch without fuzz (and revert the +change after the RT patch is applied. + +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + arch/arm/Kconfig | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index ddeca482323d..a8ae17f5740d 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -125,7 +125,6 @@ config ARM + select PCI_SYSCALL if PCI + select PERF_USE_VMALLOC + select RTC_LIB +- select SET_FS + select SYS_SUPPORTS_APM_EMULATION + select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M + # Above selects are sorted alphabetically; please add new ones +-- +2.35.3 + diff --git a/recipes-kernel/linux/linux-toradex-5.4-2.3.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.4-2.3.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.2.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 new file mode 100644 index 0000000..5ade25c --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0004-Revert-arch-arm-Kconfig-prepare-for-rt-patch.patch @@ -0,0 +1,28 @@ +From 572fd569bff28f25e83b8466c77ccb821675771a Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Sun, 13 Nov 2022 13:36:24 +0100 +Subject: [PATCH 4/5] Revert "arch/arm/Kconfig: prepare for rt patch" + +This reverts commit 8e60810e199661b607557e560b329097dc3fea0e. +Revert the changes made to make the RT-Patch apply. + +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + arch/arm/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index 0e8631b96e0f..d5b9364334e0 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -128,6 +128,7 @@ config ARM + select PERF_USE_VMALLOC + select HAVE_POSIX_CPU_TIMERS_TASK_WORK if !KVM + select RTC_LIB ++ select SET_FS + select SYS_SUPPORTS_APM_EMULATION + select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M + # Above selects are sorted alphabetically; please add new ones +-- +2.35.3 + diff --git a/recipes-kernel/linux/linux-toradex-5.15-2.2.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 new file mode 100644 index 0000000..f98060a --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/0005-Revert-Revert-Revert-ARM-9113-1-uaccess-remove-set_f.patch @@ -0,0 +1,42 @@ +From d162134a09f5036bb1d34c8c3ae8091b8851e1f9 Mon Sep 17 00:00:00 2001 +From: Max Krummenacher <max.krummenacher@toradex.com> +Date: Tue, 9 Aug 2022 14:56:10 +0200 +Subject: [PATCH 5/5] Revert "Revert "Revert "ARM: 9113/1: uaccess: remove + set_fs() implementation""" + +This reverts commit 8f561f0a27a68205ad7a33b3e0fdaf80fc7f96ea +Revert the changes made to make the RT-Patch apply. + +Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> +--- + arch/arm/include/asm/thread_info.h | 1 + + arch/arm/kernel/asm-offsets.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h +index c15dbffabf99..fc6f70b83ba1 100644 +--- a/arch/arm/include/asm/thread_info.h ++++ b/arch/arm/include/asm/thread_info.h +@@ -55,6 +55,7 @@ struct thread_info { + unsigned long flags; /* low level flags */ + int preempt_count; /* 0 => preemptable, <0 => bug */ + int preempt_lazy_count; /* 0 => preemptable, <0 => bug */ ++ mm_segment_t addr_limit; /* address limit */ + struct task_struct *task; /* main task structure */ + __u32 cpu; /* cpu */ + __u32 cpu_domain; /* cpu domain */ +diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c +index addef75db054..997d7ff758f9 100644 +--- a/arch/arm/kernel/asm-offsets.c ++++ b/arch/arm/kernel/asm-offsets.c +@@ -44,6 +44,7 @@ int main(void) + DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); + DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); + DEFINE(TI_PREEMPT_LAZY, offsetof(struct thread_info, preempt_lazy_count)); ++ DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); + DEFINE(TI_TASK, offsetof(struct thread_info, task)); + DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); + DEFINE(TI_CPU_DOMAIN, offsetof(struct thread_info, cpu_domain)); +-- +2.35.3 + diff --git a/recipes-kernel/linux/linux-toradex-5.4-2.3.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.4-2.3.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.4-2.3.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.4-2.3.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.4-2.3.x/preempt-rt.cfg b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.cfg index f76e447..17b06b1 100644 --- a/recipes-kernel/linux/linux-toradex-5.4-2.3.x/preempt-rt.cfg +++ b/recipes-kernel/linux/linux-toradex-5.15-2.2.x/preempt-rt.cfg @@ -1,4 +1,5 @@ CONFIG_EXPERT=y +# CONFIG_KVM is not set # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set diff --git a/recipes-kernel/linux/linux-toradex-5.4-2.3.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.4-2.3.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.2.x.bb b/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb new file mode 100644 index 0000000..2988211 --- /dev/null +++ b/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb @@ -0,0 +1,50 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-${PV}:" +require recipes-kernel/linux/linux-imx.inc + +SUMMARY = "Linux kernel for Toradex Freescale i.MX based modules" +SUMMARY:preempt-rt = "Real-Time Linux kernel for Toradex Freescale i.MX based modules" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +SRC_URI = " \ + git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH};name=machine \ +" + +# Load USB functions configurable through configfs (CONFIG_USB_CONFIGFS) +KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', ' libcomposite', '',d)}" + +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" + +SRCBRANCH = "toradex_5.15-2.2.x-imx" +SRCREV_machine = "23a8e831749daa8b77e349d827715dd1d7f8e9a5" +SRCREV_machine:use-head-next = "${AUTOREV}" + +DEPENDS += "bc-native" +COMPATIBLE_MACHINE = "mx8-nxp-bsp" + +KBUILD_DEFCONFIG:mx8-nxp-bsp ?= "toradex_defconfig" + +export DTC_FLAGS = "-@" + +############################################################################### +# Apply the RT patch and change the configuration to use PREMPT_RT when the +# preempt-rt override is set. +############################################################################### + +# patches get moved into the 'older' directory when superseeded, so provide +# both possible storage locations. +MIRRORS:append:preempt-rt = "${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.15/older/ ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.15/" +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.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] = "b3494bd8c156550b3bfe27e544928e7ee3f0822d182ed77de54ebef867c67c6d" diff --git a/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb b/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb deleted file mode 100644 index 49f22ee..0000000 --- a/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb +++ /dev/null @@ -1,59 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-${PV}:" -require recipes-kernel/linux/linux-imx.inc - -SUMMARY = "Linux kernel for Toradex Freescale i.MX based modules" -SUMMARY:preempt-rt = "Real-Time Linux kernel for Toradex Freescale i.MX based modules" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -SRC_URI = " \ - git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH};name=machine \ -" - -# 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.4.129" -# skip, as with use-head-next LINUX_VERSION might be set wrongly -KERNEL_VERSION_SANITY_SKIP:use-head-next = "1" - -# Make sure to override LOCALVERSION in linux-imx.inc -LOCALVERSION = "-${TDX_VERSION}" - -SRCBRANCH = "toradex_5.4-2.3.x-imx" -SRCREV_machine = "022cb949c6ec0df629b50552af88e5045c83cfdb" -SRCREV_machine:use-head-next = "${AUTOREV}" - -DEPENDS += "lzop-native bc-native" -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" - -KBUILD_DEFCONFIG:apalis-imx6 ?= "apalis_imx6_defconfig" -KBUILD_DEFCONFIG:colibri-imx6 ?= "colibri_imx6_defconfig" -KBUILD_DEFCONFIG:colibri-imx6ull ?= "colibri-imx6ull_defconfig" -KBUILD_DEFCONFIG:colibri-imx6ull-emmc ?= "colibri-imx6ull_defconfig" -KBUILD_DEFCONFIG:mx7 ?= "colibri_imx7_defconfig" -KBUILD_DEFCONFIG:mx8 ?= "toradex_defconfig" - -export DTC_FLAGS = "-@" - -############################################################################### -# Apply the RT patch and change the configuration to use PREMPT_RT when the -# preempt-rt override is set. -############################################################################### - -# patches get moved into the 'older' directory when superseeded, so provide -# both possible storage locations. -MIRRORS:append:preempt-rt = "${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/older/ ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/" -SRC_URI:append:preempt-rt = " \ - ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/older/patch-5.4.129-rt61.patch.xz;name=rt-patch \ - file://preempt-rt.scc \ - file://preempt-rt-less-latency.scc \ -" -# This patches do currently not apply but are likely needed or we get -# runtime bugs. -# file://0001-imx_sc_thermal-prevent-BUG-with-rt-patch.patch \ -# file://0002-ddr-perf-prevent-BUG-with-rt-patch.patch \ -# - -SRC_URI[rt-patch.sha256sum] = "f8ddc34c7765bb78c9f44c4e41dae7d4196c87201212ab4ec3723a7594b9702c" diff --git a/recipes-kernel/perf/perf.bbappend b/recipes-kernel/perf/perf.bbappend deleted file mode 100644 index ff0174d..0000000 --- a/recipes-kernel/perf/perf.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -# perf with a 4.4 kernel no longer compiles -COMPATIBLE_MACHINE:use-nxp-bsp:colibri-vf = "(^$)" diff --git a/recipes-multimedia/gstreamer/gst-plugins-package.inc b/recipes-multimedia/gstreamer/gst-plugins-package.inc deleted file mode 100644 index 7dea6e0..0000000 --- a/recipes-multimedia/gstreamer/gst-plugins-package.inc +++ /dev/null @@ -1,56 +0,0 @@ -PACKAGESPLITFUNCS:prepend = " split_gstreamer10_packages " -PACKAGESPLITFUNCS:append = " set_metapkg_rdepends " - -python split_gstreamer10_packages () { - gst_libdir = d.expand('${libdir}/gstreamer-${LIBV}') - postinst = d.getVar('plugin_postinst') - glibdir = d.getVar('libdir') - - do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True) - do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='') - do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='') - do_split_packages(d, gst_libdir, r'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev') - do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev') -} - -python set_metapkg_rdepends () { - import os - import oe.utils - - pn = d.getVar('PN') - metapkg = pn + '-meta' - d.setVar('ALLOW_EMPTY:' + metapkg, "1") - d.setVar('FILES:' + metapkg, "") - blacklist = [ pn, pn + '-meta' ] - metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - for pkg in oe.utils.packages_filter_out_system(d): - if pkg not in blacklist and pkg not in metapkg_rdepends: - # See if the package is empty by looking at the contents of its PKGDEST subdirectory. - # If this subdirectory is empty, then the package is. - # Empty packages do not get added to the meta package's RDEPENDS - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - metapkg_rdepends.append(pkg) - d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) - d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package') -} - -# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev -# so we need them even when empty (like in gst-plugins-good case) -ALLOW_EMPTY:${PN} = "1" -ALLOW_EMPTY:${PN}-dev = "1" -ALLOW_EMPTY:${PN}-staticdev = "1" - -PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib" - -FILES:${PN} = "" -FILES:${PN}-apps = "${bindir}" -FILES:${PN}-glib = "${datadir}/glib-2.0" - -RRECOMMENDS:${PN} += "${PN}-meta" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-don-t-reject-non-RGBA-output-format-in-_dir.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-don-t-reject-non-RGBA-output-format-in-_dir.patch index 373d343..5dc7b66 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-don-t-reject-non-RGBA-output-format-in-_dir.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-don-t-reject-non-RGBA-output-format-in-_dir.patch @@ -1,6 +1,6 @@ -From a2df510b1cc6d1c45614cf7e58d9f203d15ea716 Mon Sep 17 00:00:00 2001 +From e6aa0007d90071dc5405ac2188134c231b82ec88 Mon Sep 17 00:00:00 2001 From: Zan Dobersek <zdobersek@igalia.com> -Date: Thu, 25 Mar 2021 10:27:30 +0100 +Date: Fri, 11 Mar 2022 15:50:23 +0100 Subject: [PATCH] glupload: don't reject non-RGBA output format in _directviv_upload_accept @@ -12,21 +12,30 @@ means picking a different uploader that won't do the job properly. If the rejecetion is removed, the upload proceeds and the pipeline is later reconfigured so that the DirectVIV uploader's RGBA-only output is respected, meaning the final sink will also move over from handling I420 to RGBA. + +Upstream-Status: pending + +Signed-off-by: Zan Dobersek <zdobersek@igalia.com> +Signed-off-by: Ming Liu <ming.liu@toradex.com> --- - gst-libs/gst/gl/gstglupload.c | 3 --- - 1 file changed, 3 deletions(-) + gst-libs/gst/gl/gstglupload.c | 4 ---- + 1 file changed, 4 deletions(-) diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c -index 50169adb0..079ed695e 100644 +index 78b65c1cc..9ae5e7f97 100644 --- a/gst-libs/gst/gl/gstglupload.c +++ b/gst-libs/gst/gl/gstglupload.c -@@ -1761,9 +1761,6 @@ _directviv_upload_accept (gpointer impl, GstBuffer * buffer, GstCaps * in_caps, +@@ -1845,10 +1845,6 @@ _directviv_upload_accept (gpointer impl, GstBuffer * buffer, GstCaps * in_caps, #if GST_GL_HAVE_PHYMEM GstVideoInfo *in_info = &directviv->upload->priv->in_info; -- GstVideoFormat fmt = GST_VIDEO_INFO_FORMAT (&directviv->upload->priv->out_info); +- GstVideoFormat fmt = +- GST_VIDEO_INFO_FORMAT (&directviv->upload->priv->out_info); - if (fmt != GST_VIDEO_FORMAT_RGBA) - return FALSE; if (n_mem != 1 || !mem || !gst_is_phys_memory (mem)) { GstVideoFrame frame1, frame2; +-- +2.25.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bbappend deleted file mode 100644 index 910fc0e..0000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI += " file://0001-glupload-don-t-reject-non-RGBA-output-format-in-_dir.patch" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bbappend new file mode 100644 index 0000000..654c581 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append = " file://0001-glupload-don-t-reject-non-RGBA-output-format-in-_dir.patch" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_%.bbappend deleted file mode 100644 index c73790e..0000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -EXTRA_OECONF += "--libdir=${libdir}" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc deleted file mode 100644 index b63f79f..0000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Plugins for the GStreamer multimedia framework 1.x" -HOMEPAGE = "http://gstreamer.freedesktop.org/" -BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" -SECTION = "multimedia" - -DEPENDS = "gstreamer1.0 glib-2.0-native" - -SRC_URI:append = " file://gtk-doc-tweaks.patch" - -inherit autotools pkgconfig upstream-version-is-even gtk-doc - -acpaths = "-I ${S}/common/m4 -I ${S}/m4" - -LIBV = "1.0" -require gst-plugins-package.inc - -# Orc enables runtime JIT compilation of data processing routines from Orc -# bytecode to SIMD instructions for various architectures (currently SSE, MMX, -# MIPS, Altivec and NEON are supported). - -GSTREAMER_ORC ?= "orc" - -PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" -PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc orc-native" -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind" - -export ORCC = "${STAGING_DIR_NATIVE}${bindir}/orcc" - -EXTRA_OECONF = " \ - --disable-examples \ -" - -delete_pkg_m4_file() { - # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection - rm "${S}/common/m4/pkg.m4" || true - rm -f "${S}/common/m4/gtk-doc.m4" -} - -do_configure[prefuncs] += " delete_pkg_m4_file" - -PACKAGES_DYNAMIC = "^${PN}-.*" diff --git a/recipes-support/bmode-usb/bmode-usb_1.0.bb b/recipes-support/bmode-usb/bmode-usb_1.0.bb index 7458c51..a949eec 100644 --- a/recipes-support/bmode-usb/bmode-usb_1.0.bb +++ b/recipes-support/bmode-usb/bmode-usb_1.0.bb @@ -1,5 +1,5 @@ SUMMARY = "Sets i.MX boot mode on next reboot to recovery, aka serial download" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://bmode_usb.c;endline=5;md5=4c9010cb42fb7648a460c35e6b5c685c" SRC_URI = "file://bmode_usb.c" @@ -8,7 +8,7 @@ DEFINE = "NO_MACHINE" DEFINE:apalis-imx6 = "MX6" DEFINE:colibri-imx6 = "MX6" DEFINE:colibri-imx6ull = "MX6ULL" -DEFINE_colibri-imx6ull-emmc = "MX6ULL" +DEFINE:colibri-imx6ull-emmc = "MX6ULL" do_compile() { ${CC} -o bmode_usb bmode_usb.c ${CFLAGS} ${LDFLAGS} -D ${DEFINE} diff --git a/wic/verdin-imx8mp-imx-boot-bootpart.wks.in b/wic/verdin-imx8mp-imx-boot-bootpart.wks.in deleted file mode 100644 index b498a1a..0000000 --- a/wic/verdin-imx8mp-imx-boot-bootpart.wks.in +++ /dev/null @@ -1,20 +0,0 @@ -# short-description: Create SD card image with a boot partition -# long-description: -# Create an image that can be written onto a SD card using dd for use -# with i.MX SoC family -# It uses u-boot + other binaries gathered together on imx-boot file -# -# The disk layout used is: -# - ---------- -------------- -------------- -# | | imx-boot | boot | rootfs | -# - ---------- -------------- -------------- -# ^ ^ ^ ^ ^ -# | | | | | -# 0 | 8MiB 72MiB 72MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) -# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual -# -part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK} -part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label BOOT --active --align 8192 --size 64 -part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 8192 - -bootloader --ptable msdos |