diff options
60 files changed, 1279 insertions, 780 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 5fbc62f..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 = "hardknott honister kirkstone" +LAYERSERIES_COMPAT_toradex-nxp-layer = "nanbield scarthgap" diff --git a/conf/machine/apalis-imx8.conf b/conf/machine/apalis-imx8.conf index b5a8732..3550e3b 100644 --- a/conf/machine/apalis-imx8.conf +++ b/conf/machine/apalis-imx8.conf @@ -9,6 +9,8 @@ SOC_SILICON_REV ?= "" MACHINEOVERRIDES =. "mx8:mx8qm:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" require conf/machine/include/imx-base.inc @@ -25,18 +27,31 @@ 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" @@ -58,13 +73,18 @@ 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: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 firmware-imx-hdmi firmware-imx-vpu-imx8" +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" @@ -80,7 +100,12 @@ 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 0067" TORADEX_PRODUCT_IDS[0037] = "imx8qm-apalis-v1.1-eval.dtb" diff --git a/conf/machine/colibri-imx6ull-emmc.conf b/conf/machine/colibri-imx6ull-emmc.conf index 64db068..a0741a5 100644 --- a/conf/machine/colibri-imx6ull-emmc.conf +++ b/conf/machine/colibri-imx6ull-emmc.conf @@ -12,23 +12,24 @@ 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/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" -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 \ +# 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. -RRECOMMENDS_${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" PREFERRED_PROVIDER_u-boot-default-script ?= "u-boot-script-toradex" diff --git a/conf/machine/colibri-imx8x.conf b/conf/machine/colibri-imx8x.conf index 6df8674..84a1d80 100644 --- a/conf/machine/colibri-imx8x.conf +++ b/conf/machine/colibri-imx8x.conf @@ -7,6 +7,8 @@ MACHINE_NAME = "Colibri-iMX8X" MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" require conf/machine/include/imx-base.inc @@ -23,19 +25,25 @@ 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" @@ -57,18 +65,19 @@ 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/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" -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%" +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 eac7c21..8507628 100644 --- a/conf/machine/include/apalis-imx6.inc +++ b/conf/machine/include/apalis-imx6.inc @@ -1,33 +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/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" +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 apalis-imx6_vga_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 6a5b577..7c0a339 100644 --- a/conf/machine/include/colibri-imx6.inc +++ b/conf/machine/include/colibri-imx6.inc @@ -1,32 +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/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" +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 f71c6a3..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" -MACHINEOVERRIDES:append:upstream = ":use-mainline-bsp" - -IMX_DEFAULT_BOOTLOADER:colibri-imx6ull-emmc = "u-boot" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -UBOOT_MAKE_TARGET:colibri-imx6ull-emmc = "u-boot.imx" -UBOOT_SUFFIX:colibri-imx6ull-emmc = "imx" -UBOOT_ENTRYPOINT:colibri-imx6ull-emmc = "0x81000000" -UBOOT_DTB_LOADADDRESS:colibri-imx6ull-emmc = "0x82100000" -UBOOT_DTBO_LOADADDRESS:colibri-imx6ull-emmc = "0x87000000" - -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx6ull_parallel-rgb_vga_overlay.dtbo colibri-imx6ull_ad7879_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "colibri-imx6ull_parallel-rgb_overlay.dtbo colibri-imx6ull_ad7879_overlay.dtbo display-vga_overlay.dtbo" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + colibri-imx6ull_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/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-emmc = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" + +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 b4d2501..f1c0fc0 100644 --- a/conf/machine/include/colibri-imx6ull.inc +++ b/conf/machine/include/colibri-imx6ull.inc @@ -11,27 +11,37 @@ WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update" MACHINE_NAME = "Colibri-iMX6ULL" -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" -IMX_DEFAULT_BOOTLOADER:colibri-imx6ull = "u-boot" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -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/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 c7c3b21..cd37422 100644 --- a/conf/machine/include/colibri-imx7-emmc.inc +++ b/conf/machine/include/colibri-imx7-emmc.inc @@ -7,34 +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/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" -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 \ -" - -IMX_DEFAULT_BOOTLOADER:colibri-imx7-emmc = "u-boot" +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 164c574..5aa7a04 100644 --- a/conf/machine/include/colibri-imx7.inc +++ b/conf/machine/include/colibri-imx7.inc @@ -1,39 +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/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" +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 bf58380..b5536c4 100644 --- a/conf/machine/verdin-imx8mm.conf +++ b/conf/machine/verdin-imx8mm.conf @@ -8,6 +8,8 @@ MACHINE_NAME = "Verdin-iMX8MM" MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" IMX_DEFAULT_BSP:upstream = "mainline" @@ -19,30 +21,50 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Don't include kernels in standard images RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" +KERNEL_DTB_PREFIX = "freescale/" KERNEL_DEVICETREE = " \ - freescale/imx8mm-verdin-nonwifi-dahlia.dtb \ - freescale/imx8mm-verdin-nonwifi-dev.dtb \ - freescale/imx8mm-verdin-wifi-dahlia.dtb \ - freescale/imx8mm-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-yavia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-yavia.dtb \ +" +KERNEL_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_mx8mm = "0x40000000" -UBOOT_DTB_LOADADDRESS_mx8mm = "0x44000000" -UBOOT_DTBO_LOADADDRESS_mx8mm = "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" @@ -61,32 +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/kernel:use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-mainline" -MACHINE_EXTRA_RRECOMMENDS:append:use-mainline-bsp = " modprobe-conf" +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 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +# 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 -IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot" -# if using the mainline u-boot, build imx-boot from within u-boot -MACHINEOVERRIDES:prepend:use-mainline-bsp = "imx-boot-container:" +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" @@ -98,11 +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:use-mainline-bsp = "" +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 7c2f640..387af29 100644 --- a/conf/machine/verdin-imx8mp.conf +++ b/conf/machine/verdin-imx8mp.conf @@ -8,6 +8,8 @@ MACHINE_NAME = "Verdin-iMX8MP" MACHINEOVERRIDES =. "mx8:mx8m:mx8mp:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" IMX_DEFAULT_BSP:upstream = "mainline" @@ -19,25 +21,39 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Don't include kernels in standard images RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" +KERNEL_DTB_PREFIX = "freescale/" KERNEL_DEVICETREE = " \ - freescale/imx8mp-verdin-nonwifi-dahlia.dtb \ - freescale/imx8mp-verdin-nonwifi-dev.dtb \ - freescale/imx8mp-verdin-wifi-dahlia.dtb \ - freescale/imx8mp-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-yavia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-yavia.dtb \ +" +KERNEL_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_mx8mp = "0x40000000" -UBOOT_DTB_LOADADDRESS_mx8mp = "0x44000000" -UBOOT_DTBO_LOADADDRESS_mx8mp = "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" @@ -49,6 +65,7 @@ DDR_FIRMWARE_NAME = " \ " ATF_PLATFORM = "imx8mp" +SOC_ATF_BOOT_UART_BASE:verdin-imx8mp = "0x30880000" BOOT_SPACE = "65536" IMAGE_BOOTLOADER = "imx-boot" @@ -68,21 +85,20 @@ 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/kernel:use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-mainline" +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 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +# 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 -IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot" -# if using the mainline u-boot, build imx-boot from within u-boot -MACHINEOVERRIDES:prepend:use-mainline-bsp = "imx-boot-container:" +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" @@ -90,7 +106,7 @@ 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" @@ -99,12 +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:use-mainline-bsp = "" +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 aa11763..0000000 --- a/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -PACKAGECONFIG:remove:tdx = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'xcomposite-egl xcomposite-glx', '', d)}" 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 8497618..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 @@ -2,8 +2,8 @@ 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 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 8497618..5829ebf 100644 --- a/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state +++ b/recipes-bsp/alsa-state/alsa-state/colibri-imx7/asound.state @@ -2,8 +2,8 @@ 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 diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf index 122f912..472d00f 100644 --- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf +++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dahlia.conf @@ -223,8 +223,8 @@ rate 8000 pcm.asymed{ type asym -playback.pcm "dmix_44100" -capture.pcm "dsnoop_44100" +playback.pcm "dmix_48000" +capture.pcm "dsnoop_48000" } pcm.dsp0{ diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf index c0789f6..8919094 100644 --- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf +++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mm/asound-dev.conf @@ -223,8 +223,8 @@ rate 8000 pcm.asymed{ type asym -playback.pcm "dmix_44100" -capture.pcm "dsnoop_44100" +playback.pcm "dmix_48000" +capture.pcm "dsnoop_48000" } pcm.dsp0{ diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf index 2289bd0..a7241b9 100644 --- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf +++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dahlia.conf @@ -223,8 +223,8 @@ rate 8000 pcm.asymed{ type asym -playback.pcm "dmix_44100" -capture.pcm "dsnoop_44100" +playback.pcm "dmix_48000" +capture.pcm "dsnoop_48000" } pcm.dsp0{ diff --git a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf index 54941e3..79d0fbc 100644 --- a/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf +++ b/recipes-bsp/alsa-state/alsa-state/verdin-imx8mp/asound-dev.conf @@ -223,8 +223,8 @@ rate 8000 pcm.asymed{ type asym -playback.pcm "dmix_44100" -capture.pcm "dsnoop_44100" +playback.pcm "dmix_48000" +capture.pcm "dsnoop_48000" } pcm.dsp0{ 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 723f478..aae09b9 100644 --- a/recipes-bsp/imx-atf/imx-atf_%.bbappend +++ b/recipes-bsp/imx-atf/imx-atf_%.bbappend @@ -1,15 +1,8 @@ -PV:tdx = "2.2+git${SRCPV}" -SRCBRANCH:tdx = "toradex_imx_5.4.70_2.3.0" -SRCREV:tdx = "835a8f67b2ca7aa3f2d05d6e6a1a51f7e1147266" -SRCREV:use-head-next:tdx = "${AUTOREV}" -SRC_URI:tdx = "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: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 02546ad..0000000 --- a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend +++ /dev/null @@ -1,9 +0,0 @@ -# Create symbolic link rather than copying mkimage_uboot -compile_mx8m:prepend() { - rm -rf ${BOOT_STAGING}/mkimage_uboot -# export LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE}:$LD_LIBRARY_PATH -} -compile_mx8m:append() { - rm -rf ${BOOT_STAGING}/mkimage_uboot - ln -frs ${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 73c0d27..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 = "51f1ffff04bb46e3faf1b1dff87ec46502ff736c" +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-nxp-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8qxp-nxp-bsp = "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 1510fc0..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 = "GPL-2.0-or-later" -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 = "8a365642835e7926eccf44c90461685d6662cccd" -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-generic-bsp() { - # Deploy the u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary - if [ -n "${UBOOT_CONFIG}" ] - then - for config in ${UBOOT_MACHINE}; do - i=$(expr $i + 1); - for type in ${UBOOT_CONFIG}; do - j=$(expr $j + 1); - if [ $j -eq $i ] - then - install -d ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} - fi - done - unset j - done - unset i - fi -} diff --git a/recipes-bsp/u-boot/u-boot-toradex_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 509d504..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,22 +1,26 @@ +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 = "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 = "253ce5b0e366da5e007bda3629eff7f90d7bb12e" +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" @@ -35,7 +39,8 @@ do_deploy:append:mx8m-generic-bsp() { 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-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-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend deleted file mode 100644 index 91d84f8..0000000 --- a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend +++ /dev/null @@ -1,28 +0,0 @@ -IMX_FIRMWARE_SRC ?= "git://github.com/NXP/imx-firmware.git;protocol=https" -SRCBRANCH_imx-firmware = "lf-5.10.72_2.2.0" -SRC_URI += " \ - ${IMX_FIRMWARE_SRC};branch=${SRCBRANCH_imx-firmware};destsuffix=imx-firmware;name=imx-firmware \ -" - -SRCREV_imx-firmware = "a312213179f671cecba5f32aa839cc752a3e817f" - -SRCREV_FORMAT = "default_imx-firmware" - -do_install:append () { - install -d ${D}${sysconfdir}/firmware - - # Install NXP Connectivity - install -d ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 ${WORKDIR}/imx-firmware/nxp/wifi_mod_para.conf ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity SDIO8997 firmware - install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997_SD/ed_mac_ctrl_V3_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997_SD/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997_SD/txpwrlimit_cfg_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp -} - -PACKAGES =+ " ${PN}-nxp89xx" - -FILES:${PN}-nxp89xx = " \ - ${nonarch_base_libdir}/firmware/nxp/* \ -" diff --git a/recipes-kernel/linux/device-tree-overlays_git.bb b/recipes-kernel/linux/device-tree-overlays_git.bb index a8f6c7c..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 = "80386a7042bf0aaa5caf43f91371a359c5af616f" +SRCBRANCH = "toradex_5.15-2.2.x-imx" +SRCREV = "69f40a121e3f901be100f54c19d1721b70c63aa2" SRCREV:use-head-next = "${AUTOREV}" # we have dtbo's in arm and arm64 architecture, set the include paths diff --git a/recipes-kernel/linux/linux-imx-headers_5%.bbappend b/recipes-kernel/linux/linux-imx-headers_5%.bbappend index 259f6a2..36be8d5 100644 --- a/recipes-kernel/linux/linux-imx-headers_5%.bbappend +++ b/recipes-kernel/linux/linux-imx-headers_5%.bbappend @@ -1,8 +1,5 @@ -LIC_FILES_CHKSUM:tdx = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -SRCBRANCH:tdx = "toradex_5.4-2.1.x-imx" -LOCALVERSION:tdx = "-2.3.2" +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 = "dea2fede7e024ee7029b13e8d82a00ec14427777" -PV:tdx = "5.4" -IMX_UAPI_HEADERS:remove:tdx = "imx_vpu.h" +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-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.4-2.3.x.bb b/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb index a622d30..2988211 100644 --- a/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb +++ b/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb @@ -4,7 +4,7 @@ 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" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" SRC_URI = " \ git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH};name=machine \ @@ -13,26 +13,18 @@ SRC_URI = " \ # Load USB functions configurable through configfs (CONFIG_USB_CONFIGFS) KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', ' libcomposite', '',d)}" -inherit toradex-kernel-localversion -LINUX_VERSION = "5.4.161" +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:use-head-next = "1" +KERNEL_VERSION_SANITY_SKIP = "1" -# Make sure to override LOCALVERSION in linux-imx.inc -LOCALVERSION = "-${TDX_VERSION}" - -SRCBRANCH = "toradex_5.4-2.3.x-imx" -SRCREV_machine = "0f0011824921d175b0e124c5393e2f8cefa611a8" +SRCBRANCH = "toradex_5.15-2.2.x-imx" +SRCREV_machine = "23a8e831749daa8b77e349d827715dd1d7f8e9a5" SRCREV_machine:use-head-next = "${AUTOREV}" -DEPENDS += "lzop-native bc-native" -COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" +DEPENDS += "bc-native" +COMPATIBLE_MACHINE = "mx8-nxp-bsp" -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-nxp-bsp ?= "colibri_imx7_defconfig" KBUILD_DEFCONFIG:mx8-nxp-bsp ?= "toradex_defconfig" export DTC_FLAGS = "-@" @@ -44,16 +36,15 @@ export DTC_FLAGS = "-@" # 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/" +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 = " \ - ${KERNELORG_MIRROR}/linux/kernel/projects/rt/5.4/older/patch-5.4.161-rt67.patch.xz;name=rt-patch \ + 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 \ " -# 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] = "7dcd9d976647e57072ab7266a268aefd93945af6519459b8d5ec130b6a88c3f6" +SRC_URI[rt-patch.sha256sum] = "b3494bd8c156550b3bfe27e544928e7ee3f0822d182ed77de54ebef867c67c6d" diff --git a/recipes-kernel/linux/modprobe-conf.bb b/recipes-kernel/linux/modprobe-conf.bb deleted file mode 100644 index adad17d..0000000 --- a/recipes-kernel/linux/modprobe-conf.bb +++ /dev/null @@ -1,16 +0,0 @@ -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -# The verdin-imx8mm does hang during resume if etnaviv and/or hantro_vpu -# are loaded. As graphics currently anyway doesn't work anyway do not -# load these modules -do_install:append:verdin-imx8mm () { - install -d ${D}${sysconfdir}/modprobe.d - echo "blacklist etnaviv" > ${D}${sysconfdir}/modprobe.d/imx8mm-blacklist.conf - echo "blacklist hantro_vpu" >> ${D}${sysconfdir}/modprobe.d/imx8mm-blacklist.conf -} - -ALLOW_EMPTY:${PN} = "1" -FILES:${PN} = " ${sysconfdir}/modprobe.d" 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/gstreamer1.0-plugins-base_1.18.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bbappend index 654c581..654c581 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bbappend |