diff options
Diffstat (limited to 'conf/machine')
-rw-r--r-- | conf/machine/apalis-imx8.conf | 78 | ||||
-rw-r--r-- | conf/machine/apalis-imx8x-v11a.conf | 17 | ||||
-rw-r--r-- | conf/machine/apalis-imx8x.conf | 80 | ||||
-rw-r--r-- | conf/machine/colibri-imx6ull-emmc.conf | 47 | ||||
-rw-r--r-- | conf/machine/colibri-imx8x-v10b.conf | 17 | ||||
-rw-r--r-- | conf/machine/colibri-imx8x.conf | 62 | ||||
-rw-r--r-- | conf/machine/include/apalis-imx6.inc | 43 | ||||
-rw-r--r-- | conf/machine/include/colibri-imx6.inc | 44 | ||||
-rw-r--r-- | conf/machine/include/colibri-imx6ull-emmc.inc | 32 | ||||
-rw-r--r-- | conf/machine/include/colibri-imx6ull.inc | 54 | ||||
-rw-r--r-- | conf/machine/include/colibri-imx7-emmc.inc | 52 | ||||
-rw-r--r-- | conf/machine/include/colibri-imx7.inc | 55 | ||||
-rw-r--r-- | conf/machine/verdin-imx8mm.conf | 104 | ||||
-rw-r--r-- | conf/machine/verdin-imx8mp.conf | 90 |
14 files changed, 453 insertions, 322 deletions
diff --git a/conf/machine/apalis-imx8.conf b/conf/machine/apalis-imx8.conf index 31e04b0..3550e3b 100644 --- a/conf/machine/apalis-imx8.conf +++ b/conf/machine/apalis-imx8.conf @@ -9,15 +9,17 @@ SOC_SILICON_REV ?= "" MACHINEOVERRIDES =. "mx8:mx8qm:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" require conf/machine/include/imx-base.inc # override imx-base.inc which sets this to cortexa72-cortexa53-crypto -DEFAULTTUNE_mx8qm = "aarch64" -require conf/machine/include/tune-cortexa72-cortexa53.inc +DEFAULTTUNE:mx8qm-generic-bsp = "armv8a-crypto" +require conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc # Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" LOADADDR = "" @@ -25,20 +27,37 @@ LOADADDR = "" # auto-serial-console there USE_VT = "0" +KERNEL_DTB_PREFIX = "freescale/" KERNEL_DEVICETREE = " \ - freescale/imx8qm-apalis-eval.dtb \ - freescale/imx8qm-apalis-ixora-v1.1.dtb \ - freescale/imx8qm-apalis-v1.1-eval.dtb \ - freescale/imx8qm-apalis-v1.1-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qp-apalis-v1.1-ixora-v1.2.dtb \ +" +KERNEL_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval-v1.2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx8qm-apalis-v1.1-ixora-v1.2.dtb \ " -KERNEL_IMAGETYPE_aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_SUFFIX = "bin" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "apalis-imx8_defconfig,sdcard" -UBOOT_ENTRYPOINT = "0x80280000" +UBOOT_ENTRYPOINT = "0x96000000" UBOOT_DTB_LOADADDRESS = "0x83000000" UBOOT_DTBO_LOADADDRESS = "0x83100000" UBOOT_RD_LOADADDRESS = "0xA0000000" @@ -48,20 +67,24 @@ ATF_PLATFORM = "imx8qm" BOOT_SPACE = "65536" IMX_BOOT_SEEK = "32" -IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr hdmitxfw.bin dpfw.bin" -WKS_FILE_DEPENDS_append = " u-boot-default-script" +IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr hdmitxfw.bin dpfw.bin" +WKS_FILE_DEPENDS:append = " u-boot-default-script" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_VERSION_linux-imx-headers = "5.15" + +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" -MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx8" -MACHINE_FIRMWARE_append = " firmware-imx-8" +MACHINE_FIRMWARE:append = " linux-firmware-pcie8997 firmware-imx-hdmi" IMXBOOT_TARGETS = "flash_b0" IMX_BOOT_SOC_TARGET = "iMX8QM" @@ -69,7 +92,7 @@ IMX_BOOT_SOC_TARGET = "iMX8QM" PREFERRED_PROVIDER_imx-sc-firmware = "imx-sc-firmware-toradex" BOARD_TYPE = "apalis" -IMAGE_CLASSES_append = " image_type_tezi" +IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES += "teziimg" # The imx-boot container takes care for the i.MX 8 offset, so the container @@ -77,10 +100,17 @@ IMAGE_FSTYPES += "teziimg" UBOOT_BINARY_TEZI_EMMC = "imx-boot" OFFSET_BOOTROM_PAYLOAD = "0" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx8_hdmi_overlay.dtbo" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = " \ + apalis-imx8_hdmi_overlay.dtbo \ + apalis-imx8_spi1_spidev_overlay.dtbo \ + apalis-imx8_spi2_spidev_overlay.dtbo \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "" -TORADEX_PRODUCT_IDS = "0037 0047 0048 0049" +TORADEX_PRODUCT_IDS = "0037 0047 0048 0049 0067" TORADEX_PRODUCT_IDS[0037] = "imx8qm-apalis-v1.1-eval.dtb" TORADEX_PRODUCT_IDS[0047] = "imx8qm-apalis-v1.1-eval.dtb" -TORADEX_PRODUCT_IDS[0048] = "imx8qm-apalis-v1.1-eval.dtb" -TORADEX_PRODUCT_IDS[0049] = "imx8qm-apalis-v1.1-eval.dtb" +TORADEX_PRODUCT_IDS[0048] = "imx8qp-apalis-v1.1-eval.dtb" +TORADEX_PRODUCT_IDS[0049] = "imx8qp-apalis-v1.1-eval.dtb" +TORADEX_PRODUCT_IDS[0067] = "imx8qm-apalis-v1.1-eval.dtb" + diff --git a/conf/machine/apalis-imx8x-v11a.conf b/conf/machine/apalis-imx8x-v11a.conf deleted file mode 100644 index faa8fff..0000000 --- a/conf/machine/apalis-imx8x-v11a.conf +++ /dev/null @@ -1,17 +0,0 @@ -#@TYPE: Machine -#@NAME: Toradex Apalis iMX8X with B0 silicon -#@DESCRIPTION: Toradex Apalis iMX8X powered by a i.MX 8X SoC (B0 silicon) as found on all V1.0 and V1.1A versions -#@MAINTAINER: Philippe Schenker <philippe.schenker@toradex.com> - -# Set SoC revision to B0 -MACHINE_FEATURES_append = " soc-revb0" - -# keep the original machine as an override with high prio -MACHINEOVERRIDES =. "apalis-imx8x:" - -require conf/machine/apalis-imx8x.conf - -# reuse DISTRO_FLAVOUR to display special version exception in the -# Toradex Easy Installer application -DISTRO_FLAVOUR_append = " for V1.1A HW" -MACHINE_NAME = "Apalis-iMX8X-V11A" diff --git a/conf/machine/apalis-imx8x.conf b/conf/machine/apalis-imx8x.conf deleted file mode 100644 index c76b438..0000000 --- a/conf/machine/apalis-imx8x.conf +++ /dev/null @@ -1,80 +0,0 @@ -#@TYPE: Machine -#@NAME: Toradex Apalis iMX8X -#@DESCRIPTION: Toradex Apalis iMX8X powered by a i.MX 8X SoC -#@MAINTAINER: Philippe Schenker <philippe.schenker@toradex.com> - -MACHINE_NAME = "Apalis-iMX8X" - -MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" - -IMX_DEFAULT_BSP = "nxp" - -require conf/machine/include/imx-base.inc -# if one wants cortexa35-crypto, set DEFAULTTUNE accordingly -DEFAULTTUNE_mx8qxp = "aarch64" -require conf/machine/include/tune-cortexa35.inc - -# Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" - -LOADADDR = "" - -# we do not want to have getty running on tty1 as we run -# auto-serial-console there -USE_VT = "0" - -KERNEL_DEVICETREE = " \ - freescale/imx8qxp-apalis-eval.dtb \ -" - -KERNEL_IMAGETYPE_aarch64 = "Image.gz" - -UBOOT_SUFFIX = "bin" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "apalis-imx8x_defconfig,sdcard" - -UBOOT_ENTRYPOINT = "0x80280000" -UBOOT_DTB_LOADADDRESS = "0x83100000" -UBOOT_DTBO_LOADADDRESS = "0x83200000" -UBOOT_RD_LOADADDRESS = "0xA0000000" - -ATF_PLATFORM = "imx8qx" - -BOOT_SPACE = "65536" -IMX_BOOT_SEEK = "32" - -IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr" -WKS_FILE_DEPENDS_append = " u-boot-default-script" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" - -PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" - -MACHINE_FIRMWARE_append = " linux-firmware-usb8997" -MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx8" - -IMXBOOT_TARGETS = "flash" -IMX_BOOT_SOC_TARGET = "iMX8QX" - -PREFERRED_PROVIDER_imx-sc-firmware = "imx-sc-firmware-toradex" -BOARD_TYPE = "apalis" - -IMAGE_CLASSES_append = " image_type_tezi" -IMAGE_FSTYPES += "teziimg" - -# The imx-boot container takes care for the i.MX 8 offset, so the container -# has to be flashed at offset 0 directly -UBOOT_BINARY_TEZI_EMMC = "imx-boot" -OFFSET_BOOTROM_PAYLOAD = "0" - -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx8x_dsihdmi_overlay.dtbo apalis-imx8x_parallel-rgb_overlay.dtbo display-lt161010_overlay.dtbo apalis-imx8x_ad7879_overlay.dtbo" - -TORADEX_PRODUCT_IDS = "0046 0053 0054 2600" -TORADEX_PRODUCT_IDS[0046] = "imx8qxp-apalis-eval.dtb" -TORADEX_PRODUCT_IDS[0053] = "imx8qxp-apalis-eval.dtb" -TORADEX_PRODUCT_IDS[0054] = "imx8qxp-apalis-eval.dtb" -TORADEX_PRODUCT_IDS[2600] = "imx8qxp-apalis-eval.dtb" diff --git a/conf/machine/colibri-imx6ull-emmc.conf b/conf/machine/colibri-imx6ull-emmc.conf new file mode 100644 index 0000000..a0741a5 --- /dev/null +++ b/conf/machine/colibri-imx6ull-emmc.conf @@ -0,0 +1,47 @@ +#@TYPE: Machine +#@NAME: Toradex Colibri iMX6ULL 1GB (eMMC) +#@SOC: i.MX6ULL +#@DESCRIPTION: Machine configuration for Toradex Colibri iMX6 ULL 1GB (eMMC) SOM +#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com> + +MACHINEOVERRIDES =. "mx6:mx6ul:mx6ull:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/arm/armv7a/tune-cortexa7.inc + +PREFERRED_PROVIDER_virtual/kernel:use-nxp-bsp ?= "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" + +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" + +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE = " \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-emmc-iris-v2.dtb \ +" + +KERNEL_IMAGETYPE = "zImage" +# The kernel lives in its own ubi volume. +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" + +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +PREFERRED_PROVIDER_u-boot-default-script ?= "u-boot-script-toradex" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_MACHINE ?= "colibri-imx6ull-emmc_defconfig" +UBOOT_SUFFIX = "imx" + +IMAGE_FSTYPES += "tar.xz" +# wic support +IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr" +WKS_FILE_DEPENDS:append = " u-boot-default-script" +WKS_FILE = "sdimage-bootpart.wks" + +MACHINE_FEATURES += "screen usbgadget usbhost vfat ext2 alsa touchscreen wifi bluetooth 3g" +MACHINE_FIRMWARE:remove = "firmware-imx-epdc" diff --git a/conf/machine/colibri-imx8x-v10b.conf b/conf/machine/colibri-imx8x-v10b.conf deleted file mode 100644 index 18d4d15..0000000 --- a/conf/machine/colibri-imx8x-v10b.conf +++ /dev/null @@ -1,17 +0,0 @@ -#@TYPE: Machine -#@NAME: Toradex Colibri iMX8X with B0 silicon -#@DESCRIPTION: Toradex Colibri iMX8X powered by a i.MX 8X SoC (B0 silicon) as found on older SoM Versions V1.0B -#@MAINTAINER: Max Krummenacher <max.krummenacherr@toradex.com> - -# Set SoC revision to B0 -MACHINE_FEATURES_append = " soc-revb0" - -# keep the original machine as an override with high prio -MACHINEOVERRIDES =. "colibri-imx8x:" - -require conf/machine/colibri-imx8x.conf - -# reuse DISTRO_FLAVOUR to display special version exception in the -# Toradex Easy Installer application -DISTRO_FLAVOUR_append = " for V1.0B HW" -MACHINE_NAME = "Colibri-iMX8X-V10B" diff --git a/conf/machine/colibri-imx8x.conf b/conf/machine/colibri-imx8x.conf index bef9304..84a1d80 100644 --- a/conf/machine/colibri-imx8x.conf +++ b/conf/machine/colibri-imx8x.conf @@ -7,15 +7,17 @@ MACHINE_NAME = "Colibri-iMX8X" MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" require conf/machine/include/imx-base.inc # if one wants cortexa35-crypto, set DEFAULTTUNE accordingly -DEFAULTTUNE_mx8qxp = "aarch64" -require conf/machine/include/tune-cortexa35.inc +DEFAULTTUNE:mx8qxp-generic-bsp = "armv8a-crypto" +require conf/machine/include/arm/armv8a/tune-cortexa35.inc # Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" LOADADDR = "" @@ -23,20 +25,31 @@ LOADADDR = "" # auto-serial-console there USE_VT = "0" +KERNEL_DTB_PREFIX = "freescale/" KERNEL_DEVICETREE = " \ - freescale/imx8qxp-colibri-aster.dtb \ - freescale/imx8qxp-colibri-dsihdmi-eval-v3.dtb \ - freescale/imx8qxp-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx8dx-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx8dx-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx8dx-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx8dx-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris-v2.dtb \ +" +KERNEL_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx8qxp-colibri-iris.dtb \ " -KERNEL_DEVICETREE_use-mainline-bsp = "freescale/imx8qxp-colibri-eval-v3.dtb" -KERNEL_IMAGETYPE_aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_SUFFIX = "bin" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "colibri-imx8x_defconfig,sdcard" -UBOOT_ENTRYPOINT = "0x80280000" +UBOOT_ENTRYPOINT = "0x96000000" UBOOT_DTB_LOADADDRESS = "0x83100000" UBOOT_DTBO_LOADADDRESS = "0x83200000" UBOOT_RD_LOADADDRESS = "0xA0000000" @@ -46,23 +59,25 @@ ATF_PLATFORM = "imx8qx" BOOT_SPACE = "65536" IMX_BOOT_SEEK = "32" -IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr" -WKS_FILE_DEPENDS_append = " u-boot-default-script" +IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr" +WKS_FILE_DEPENDS:append = " u-boot-default-script" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_VERSION_linux-imx-headers = "5.15" -PREFERRED_PROVIDER_virtual/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%" +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" +MACHINE_FIRMWARE:append = " linux-firmware-pcie8997" IMXBOOT_TARGETS = "flash" IMX_BOOT_SOC_TARGET = "iMX8QX" @@ -70,7 +85,7 @@ IMX_BOOT_SOC_TARGET = "iMX8QX" PREFERRED_PROVIDER_imx-sc-firmware = "imx-sc-firmware-toradex" BOARD_TYPE = "colibri" -IMAGE_CLASSES_append = " image_type_tezi" +IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES += "teziimg" # The imx-boot container takes care for the i.MX 8 offset, so the container @@ -78,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-edt7_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 00750c7..8507628 100644 --- a/conf/machine/include/apalis-imx6.inc +++ b/conf/machine/include/apalis-imx6.inc @@ -1,28 +1,43 @@ -IMAGE_CLASSES_append = " image_type_tezi" -IMAGE_FSTYPES_append = " teziimg" -TORADEX_PRODUCT_IDS = "0027 0028 0029 0035" +IMAGE_CLASSES:append = " image_type_tezi" +IMAGE_FSTYPES:append = " teziimg" # The payload offsets are given in number of 512 byte blocks. OFFSET_BOOTROM_PAYLOAD = "2" OFFSET_SPL_PAYLOAD = "138" +TORADEX_PRODUCT_IDS = "0027 0028 0029 0035 0082 0083 0084 0085" MACHINE_NAME = "Apalis-iMX6" -KERNEL_DEVICETREE += "imx6q-apalis-ixora-v1.2.dtb" -KERNEL_DEVICETREE_use-mainline-bsp += " \ - imx6q-apalis-eval.dtb \ - imx6q-apalis-ixora-v1.1.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:apalis-imx6 = " \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-eval.dtb \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-ixora.dtb \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-ixora-v1.1.dtb \ + ${KERNEL_DTB_PREFIX}imx6q-apalis-ixora-v1.2.dtb \ " +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + apalis-imx6_hdmi_overlay.dtbo \ + apalis-imx6_spi1_spidev_overlay.dtbo \ + apalis-imx6_spi2_spidev_overlay.dtbo \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:apalis-imx6 = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" UBOOT_SUFFIX = "img" -MACHINE_FIRMWARE_remove = "firmware-imx-epdc" +MACHINE_FIRMWARE:remove = "firmware-imx-epdc" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "apalis-imx6_hdmi_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT_use-mainline-bsp = "apalis-imx6_parallel-rgb_overlay.dtbo display-edt7_overlay.dtbo apalis-imx6_stmpe-ts_overlay.dtbo apalis-imx6_hdmi_overlay.dtbo" +UBOOT_DTB_LOADADDRESS:apalis-imx6 = "0x18200000" +UBOOT_DTBO_LOADADDRESS:apalis-imx6 = "0x18300000" +UBOOT_ENTRYPOINT:apalis-imx6 = "0x14200000" +UBOOT_RD_LOADADDRESS:apalis-imx6 = "0x1A400000" diff --git a/conf/machine/include/colibri-imx6.inc b/conf/machine/include/colibri-imx6.inc index fe723fe..7c0a339 100644 --- a/conf/machine/include/colibri-imx6.inc +++ b/conf/machine/include/colibri-imx6.inc @@ -1,31 +1,41 @@ -IMAGE_CLASSES_append = " image_type_tezi" -IMAGE_FSTYPES_append = " teziimg" -TORADEX_PRODUCT_IDS = "0014 0015 0016 0017" +IMAGE_CLASSES:append = " image_type_tezi" +IMAGE_FSTYPES:append = " teziimg" # The payload offsets are given in number of 512 byte blocks. OFFSET_BOOTROM_PAYLOAD = "2" 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-edt7_overlay.dtbo" - -KERNEL_DEVICETREE += " \ - imx6dl-colibri-iris.dtb \ - imx6dl-colibri-iris-v2.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx6 = " \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6dl-colibri-iris-v2.dtb \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + colibri-imx6_vga-640x480_overlay.dtbo \ " +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:colibri-imx6 = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" UBOOT_SUFFIX = "img" -MACHINE_FIRMWARE_remove = "firmware-imx-epdc" +MACHINE_FIRMWARE:remove = "firmware-imx-epdc" -UBOOT_ENTRYPOINT_colibri-imx6 = "0x11000000" -UBOOT_DTB_LOADADDRESS_colibri-imx6 = "0x12100000" -UBOOT_DTBO_LOADADDRESS_colibri-imx6 = "0x12110000" +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 new file mode 100644 index 0000000..bf56ae8 --- /dev/null +++ b/conf/machine/include/colibri-imx6ull-emmc.inc @@ -0,0 +1,32 @@ +IMAGE_CLASSES:append = " image_type_tezi" +IMAGE_FSTYPES:append = " teziimg" +# The payload offsets are given in number of 512 byte blocks. +OFFSET_BOOTROM_PAYLOAD = "2" +TORADEX_PRODUCT_IDS = "0062" +TORADEX_FLASH_TYPE = "emmc" + +WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update" + +MACHINE_NAME = "Colibri-iMX6ULL-eMMC" + +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-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 0b5e718..f1c0fc0 100644 --- a/conf/machine/include/colibri-imx6ull.inc +++ b/conf/machine/include/colibri-imx6ull.inc @@ -1,5 +1,5 @@ -IMAGE_CLASSES_append = " image_type_tezi" -IMAGE_FSTYPES_append = " teziimg" +IMAGE_CLASSES:append = " image_type_tezi" +IMAGE_FSTYPES:append = " teziimg" TORADEX_PRODUCT_IDS = "0036 0040 0044 0045" TORADEX_PRODUCT_IDS[0036] = "imx6ull-colibri-eval-v3.dtb" TORADEX_PRODUCT_IDS[0040] = "imx6ull-colibri-wifi-eval-v3.dtb" @@ -7,29 +7,41 @@ TORADEX_PRODUCT_IDS[0044] = "imx6ull-colibri-eval-v3.dtb" TORADEX_PRODUCT_IDS[0045] = "imx6ull-colibri-wifi-eval-v3.dtb" TORADEX_FLASH_TYPE = "rawnand" -WIC_CREATE_EXTRA_ARGS_append = " --no-fstab-update" +WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update" MACHINE_NAME = "Colibri-iMX6ULL" -PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -UBOOT_ENTRYPOINT_colibri-imx6ull = "0x81000000" - -MACHINEOVERRIDES_append_upstream = ":use-mainline-bsp" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" -UBOOT_ENTRYPOINT_colibri-imx6ull = "0x81000000" -UBOOT_MAKE_TARGET_colibri-imx6ull = "u-boot.imx" - -KERNEL_DEVICETREE_append_use_nxp_bsp = " \ - imx6ull-colibri-aster.dtb \ - imx6ull-colibri-iris.dtb \ - imx6ull-colibri-iris-v2.dtb \ - imx6ull-colibri-wifi-aster.dtb \ - imx6ull-colibri-wifi-iris.dtb \ - imx6ull-colibri-wifi-iris-v2.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx6ull = " \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx6ull-colibri-wifi-iris-v2.dtb \ " PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" + +IMX_DEFAULT_BOOTLOADER:colibri-imx6ull = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" + +MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" + +UBOOT_DTB_LOADADDRESS:colibri-imx6ull = "0x88200000" +UBOOT_DTBO_LOADADDRESS:colibri-imx6ull = "0x88300000" +UBOOT_ENTRYPOINT:colibri-imx6ull = "0x84200000" +UBOOT_MAKE_TARGET:colibri-imx6ull = "u-boot-nand.imx" +UBOOT_RD_LOADADDRESS:colibri-imx6ull = "0x8A400000" diff --git a/conf/machine/include/colibri-imx7-emmc.inc b/conf/machine/include/colibri-imx7-emmc.inc index 498c4d2..cd37422 100644 --- a/conf/machine/include/colibri-imx7-emmc.inc +++ b/conf/machine/include/colibri-imx7-emmc.inc @@ -1,5 +1,5 @@ -IMAGE_CLASSES_append = " image_type_tezi" -IMAGE_FSTYPES_append = " teziimg" +IMAGE_CLASSES:append = " image_type_tezi" +IMAGE_FSTYPES:append = " teziimg" # The payload offsets are given in number of 512 byte blocks. OFFSET_BOOTROM_PAYLOAD = "2" TORADEX_PRODUCT_IDS = "0039" @@ -7,29 +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" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = " \ + colibri-imx7_vga-640x480_overlay.dtbo \ +" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" - -KERNEL_DEVICETREE_append_use-nxp-bsp = " \ - imx7d-colibri-emmc-iris.dtb \ - imx7d-colibri-emmc-iris-v2.dtb \ -" -KERNEL_DEVICETREE_append_use-mainline-bsp = " \ - imx7d-colibri-emmc-aster.dtb \ -" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:colibri-imx7-emmc = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "colibri-imx7_lcd-vga_overlay.dtbo colibri-imx7_ad7879_overlay.dtbo" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT_use-mainline-bsp = "colibri-imx7_parallel-rgb_overlay.dtbo colibri-imx7_ad7879_overlay.dtbo display-lt161010_overlay.dtbo" +MACHINE_FIRMWARE:remove = "firmware-imx-epdc" +MACHINE_FIRMWARE:remove:use-mainline-bsp = "firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" -UBOOT_ENTRYPOINT_colibri-imx7-emmc = "0x81000000" -UBOOT_DTB_LOADADDRESS_colibri-imx7-emmc = "0x82000000" -UBOOT_DTBO_LOADADDRESS_colibri-imx7-emmc = "0x82010000" +UBOOT_BINARY:colibri-imx7-emmc = "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 66bce6e..5aa7a04 100644 --- a/conf/machine/include/colibri-imx7.inc +++ b/conf/machine/include/colibri-imx7.inc @@ -1,37 +1,44 @@ -IMAGE_CLASSES_append = " image_type_tezi" -IMAGE_FSTYPES_append = " teziimg" -TORADEX_PRODUCT_IDS = "0032 0033 0041" +IMAGE_CLASSES:append = " image_type_tezi" +IMAGE_FSTYPES:append = " teziimg" +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" - -KERNEL_DEVICETREE_append_use-nxp-bsp += " \ - imx7d-colibri-iris.dtb \ - imx7d-colibri-iris-v2.dtb \ - imx7s-colibri-iris.dtb \ - imx7s-colibri-iris-v2.dtb \ -" -KERNEL_DEVICETREE_append_use-mainline-bsp = " \ - imx7d-colibri-aster.dtb \ - imx7s-colibri-aster.dtb \ +# with kernel 6.5 the device trees were moved to vendor subdirs +KERNEL_DTB_PREFIX = "nxp/imx/" +KERNEL_DTB_PREFIX:preempt-rt = "nxp/imx/" +KERNEL_DTB_PREFIX:use-nxp-bsp = "" +KERNEL_DEVICETREE:colibri-imx7 = " \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx7d-colibri-iris-v2.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-aster.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-eval-v3.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-iris.dtb \ + ${KERNEL_DTB_PREFIX}imx7s-colibri-iris-v2.dtb \ " PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/kernel_use-mainline-bsp_preempt-rt = "linux-toradex-mainline" -PREFERRED_PROVIDER_virtual/dtb_use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +IMX_DEFAULT_BOOTLOADER:colibri-imx7 = "u-boot-toradex" +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" -UBOOT_MAKE_TARGET_colibri-imx7 = "u-boot.imx" -UBOOT_ENTRYPOINT_colibri-imx7 = "0x81000000" -UBOOT_DTB_LOADADDRESS_colibri-imx7 = "0x82000000" -UBOOT_DTBO_LOADADDRESS_colibri-imx7 = "0x82010000" +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 8d7aea7..9c91150 100644 --- a/conf/machine/verdin-imx8mm.conf +++ b/conf/machine/verdin-imx8mm.conf @@ -8,40 +8,63 @@ MACHINE_NAME = "Verdin-iMX8MM" MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" +IMX_DEFAULT_BSP:upstream = "mainline" require conf/machine/include/imx-base.inc # override imx-base.inc which sets this to cortexa53-crypto -DEFAULTTUNE_mx8mm = "aarch64" -require conf/machine/include/tune-cortexa53.inc +DEFAULTTUNE:mx8mm-generic-bsp = "armv8a-crypto" +require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" +KERNEL_DTB_PREFIX = "freescale/" KERNEL_DEVICETREE = " \ - freescale/imx8mm-verdin-nonwifi-dahlia.dtb \ - freescale/imx8mm-verdin-nonwifi-dev.dtb \ - freescale/imx8mm-verdin-wifi-dahlia.dtb \ - freescale/imx8mm-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-yavia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-yavia.dtb \ +" +KERNEL_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-yavia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-yavia.dtb \ " -KERNEL_IMAGETYPE_aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "verdin-imx8mm_defconfig,sdcard" SPL_BINARY = "spl/u-boot-spl.bin" -UBOOT_ENTRYPOINT = "0x40280000" -UBOOT_DTB_LOADADDRESS = "0x43000000" -UBOOT_DTBO_LOADADDRESS = "0x46000000" -UBOOT_RD_LOADADDRESS = "0x60000000" +UBOOT_DTB_LOADADDRESS:mx8mm-generic-bsp = "0x50200000" +UBOOT_DTBO_LOADADDRESS:mx8mm-generic-bsp = "0x50240000" +UBOOT_ENTRYPOINT:mx8mm-generic-bsp = "0x48200000" +UBOOT_RD_LOADADDRESS = "0x52300000" + +# Set u-boot DTB +UBOOT_DTB_NAME = "imx8mm-verdin.dtb" +UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "imx8mm-verdin-wifi-dev.dtb" # Set DDR FIRMWARE -DDR_FIRMWARE_NAME = "lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_dmem.bin" +DDR_FIRMWARE_NAME = " \ + lpddr4_pmu_train_1d_imem.bin \ + lpddr4_pmu_train_1d_dmem.bin \ + lpddr4_pmu_train_2d_imem.bin \ + lpddr4_pmu_train_2d_dmem.bin \ +" ATF_PLATFORM = "imx8mm" - -# Set u-boot DTB -UBOOT_DTB_NAME = "imx8mm-verdin.dtb" +SOC_ATF_BOOT_UART_BASE:verdin-imx8mm = "0x30860000" BOOT_SPACE = "65536" @@ -49,8 +72,8 @@ BOOT_SPACE = "65536" IMXBOOT_TARGETS = "flash_evk_emmc_fastboot" IMX_BOOT_SOC_TARGET = "iMX8MM" -IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr" -WKS_FILE_DEPENDS_append = " u-boot-default-script" +IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr" +WKS_FILE_DEPENDS:append = " u-boot-default-script" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" LOADADDR = "" @@ -60,34 +83,47 @@ IMX_BOOT_SEEK = "33" SERIAL_CONSOLES = "115200;ttymxc0" -MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen usbgadget usbhost vfat wifi" - - -# Add additional firmware -MACHINE_FIRMWARE_append = " linux-firmware-ath10k linux-firmware-imx-sdma-imx7d" +MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen tpm2 usbgadget usbhost vfat wifi" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" - -MACHINE_FIRMWARE_append = " linux-firmware-sd8997" -MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx8" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_VERSION_linux-imx-headers = "5.15" + +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +# Currently we use the nxp 2022.04 downstream for mx8 +PREFERRED_VERSION_u-boot-toradex = "2022.04%" +# With use-mainline-bsp build mainline U-Boot +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +# variables to control imx-boot with u-boot +ATF_LOAD_ADDR = "0x920000" +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" +TEE_LOAD_ADDR = "0xbe000000" +UBOOT_MAKE_TARGET:use-mainline-bsp = "all" + +# handle machine firmware +MACHINE_FIRMWARE:append = " linux-firmware-ath10k linux-firmware-imx-sdma-imx7d" +MACHINE_FIRMWARE:append = " linux-firmware-sd8997" +MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8" BOARD_TYPE = "verdin" -IMAGE_CLASSES_append = " image_type_tezi" +IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES += "teziimg" UBOOT_BINARY_TEZI_EMMC = "imx-boot" OFFSET_BOOTROM_PAYLOAD = "2" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_lt8912_overlay.dtbo" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_dsi-to-hdmi_overlay.dtbo verdin-imx8mm_spidev_overlay.dtbo" -TORADEX_PRODUCT_IDS = "0055 0057 0059 0060" +TORADEX_PRODUCT_IDS = "0055 0057 0059 0060 0068 0086 0087 0090" 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" +TORADEX_PRODUCT_IDS[0090] = "imx8mm-verdin-wifi-v1.1-dev.dtb" diff --git a/conf/machine/verdin-imx8mp.conf b/conf/machine/verdin-imx8mp.conf index 923a246..387af29 100644 --- a/conf/machine/verdin-imx8mp.conf +++ b/conf/machine/verdin-imx8mp.conf @@ -8,35 +8,52 @@ MACHINE_NAME = "Verdin-iMX8MP" MACHINEOVERRIDES =. "mx8:mx8m:mx8mp:" +MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf" + IMX_DEFAULT_BSP = "nxp" +IMX_DEFAULT_BSP:upstream = "mainline" require conf/machine/include/imx-base.inc # override imx-base.inc which sets this to cortexa53-crypto -DEFAULTTUNE_mx8mp = "aarch64" -require conf/machine/include/tune-cortexa53.inc +DEFAULTTUNE:mx8mp-generic-bsp = "armv8a-crypto" +require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" +RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" +KERNEL_DTB_PREFIX = "freescale/" KERNEL_DEVICETREE = " \ - freescale/imx8mp-verdin-nonwifi-dahlia.dtb \ - freescale/imx8mp-verdin-nonwifi-dev.dtb \ - freescale/imx8mp-verdin-wifi-dahlia.dtb \ - freescale/imx8mp-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-yavia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-mallow.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-yavia.dtb \ +" +KERNEL_DEVICETREE:use-mainline-bsp = " \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-nonwifi-yavia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dahlia.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-dev.dtb \ + ${KERNEL_DTB_PREFIX}imx8mp-verdin-wifi-yavia.dtb \ " -KERNEL_IMAGETYPE_aarch64 = "Image.gz" +KERNEL_IMAGETYPE:mx8-generic-bsp = "Image.gz" UBOOT_CONFIG ??= "sd" UBOOT_CONFIG[sd] = "verdin-imx8mp_defconfig,sdcard" SPL_BINARY = "spl/u-boot-spl.bin" -UBOOT_ENTRYPOINT = "0x40280000" -UBOOT_DTB_LOADADDRESS = "0x43000000" -UBOOT_DTBO_LOADADDRESS = "0x46000000" -UBOOT_RD_LOADADDRESS = "0x60000000" +UBOOT_DTB_LOADADDRESS:mx8mp-generic-bsp = "0x50200000" +UBOOT_DTBO_LOADADDRESS:mx8mp-generic-bsp = "0x50240000" +UBOOT_ENTRYPOINT:mx8mp-generic-bsp = "0x48200000" +UBOOT_RD_LOADADDRESS = "0x52300000" # Set u-boot DTB UBOOT_DTB_NAME = "imx8mp-verdin.dtb" +UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "imx8mp-verdin-wifi-dev.dtb" # Set DDR FIRMWARE LPDDR_FW_VERSION = "_202006" @@ -48,6 +65,7 @@ DDR_FIRMWARE_NAME = " \ " ATF_PLATFORM = "imx8mp" +SOC_ATF_BOOT_UART_BASE:verdin-imx8mp = "0x30880000" BOOT_SPACE = "65536" IMAGE_BOOTLOADER = "imx-boot" @@ -56,13 +74,8 @@ IMAGE_BOOTLOADER = "imx-boot" IMXBOOT_TARGETS = "flash_evk_emmc_fastboot" IMX_BOOT_SOC_TARGET = "iMX8MP" -# Temporary until we have TEZI for installation on the eMMC -SOC_DEFAULT_WKS_FILE_verdin-imx8mp ?= "verdin-imx8mp-imx-boot-bootpart.wks.in" -# Add 1GB free space to the wic rootfs partition -IMAGE_ROOTFS_EXTRA_SPACE = "1048576" - -IMAGE_BOOT_FILES_append = " boot.scr-${MACHINE};boot.scr" -WKS_FILE_DEPENDS_append = " u-boot-default-script" +IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr" +WKS_FILE_DEPENDS:append = " u-boot-default-script" PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot" LOADADDR = "" @@ -72,27 +85,44 @@ IMX_BOOT_SEEK = "32" SERIAL_CONSOLES = "115200;ttymxc2" -MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen usbgadget usbhost vfat wifi" +MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen tpm2 usbgadget usbhost vfat wifi" PREFERRED_PROVIDER_virtual/kernel = "linux-toradex" -PREFERRED_PROVIDER_virtual/kernel_preempt-rt = "linux-toradex" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" -# Currently we use the nxp 2020.04 downstream for mx8 as some features are -# not yet available in 2020.07. -PREFERRED_VERSION_u-boot-toradex = "2020.04%" +PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream" +PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt" +PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline" +PREFERRED_VERSION_linux-imx-headers = "5.15" + +IMX_DEFAULT_BOOTLOADER = "u-boot-toradex" +# Currently we use the nxp 2022.04 downstream for mx8 +PREFERRED_VERSION_u-boot-toradex = "2022.04%" +# With use-mainline-bsp build mainline U-Boot +PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline" +# variables to control imx-boot with u-boot +ATF_LOAD_ADDR = "0x920000" +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" +TEE_LOAD_ADDR = "0xbe000000" +UBOOT_MAKE_TARGET:use-mainline-bsp = "all" # handle machine firmware -MACHINE_FIRMWARE_append = " linux-firmware-sd8997" -MACHINE_FIRMWARE_remove = "firmware-sof-imx" +MACHINE_FIRMWARE:append = " linux-firmware-sd8997 linux-firmware-nxp89xx" +MACHINE_FIRMWARE:remove = "firmware-sof-imx" -IMAGE_CLASSES_append = " image_type_tezi" +IMAGE_CLASSES:append = " image_type_tezi" IMAGE_FSTYPES += "teziimg" UBOOT_BINARY_TEZI_EMMC = "imx-boot" OFFSET_BOOTROM_PAYLOAD = "0" -TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mp_lt8912_overlay.dtbo" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mp_hdmi_overlay.dtbo verdin-imx8mp_dsi-to-hdmi_overlay.dtbo verdin-imx8mp_spidev_overlay.dtbo" +TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT:use-mainline-bsp = "verdin-imx8mp_dsi-to-hdmi_overlay.dtbo verdin-imx8mp_spidev_overlay.dtbo" -TORADEX_PRODUCT_IDS = "0058 0061" +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" |