summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnest Van Hoecke <ernest.vanhoecke@toradex.com>2025-04-14 16:19:43 +0200
committerErnest Van Hoecke <ernest.vanhoecke@toradex.com>2025-04-15 10:33:43 +0200
commit7f65ae077797f7e81be0152615a7b220459c11d7 (patch)
treebeb74b62a52d834136257341586b9622c8dafdb2
parenteb833c26ff2545ab01382a03926af799b2475f05 (diff)
verdin-imx95: add machine
Add a new OE machine targeting the verdin-imx95 SoM. It currently provides U-Boot for the Toradex SMARC i.MX95 SoM until U-Boot is extended for the new SoM. No relevant DT overlays are provided yet. Related-to: ELB-6342 Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
-rw-r--r--conf/machine/verdin-imx95.conf97
1 files changed, 97 insertions, 0 deletions
diff --git a/conf/machine/verdin-imx95.conf b/conf/machine/verdin-imx95.conf
new file mode 100644
index 0000000..e2c2485
--- /dev/null
+++ b/conf/machine/verdin-imx95.conf
@@ -0,0 +1,97 @@
+#@TYPE: Machine
+#@NAME: Toradex Verdin iMX95
+#@SOC: i.MX 95
+#@DESCRIPTION: Machine configuration for Toradex Verdin i.MX95
+#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>
+
+MACHINE_NAME = "Verdin-iMX95"
+
+MACHINEOVERRIDES =. "tdx:mx95:"
+
+# The IW611 chip is supported by the out-of-tree NXP WLAN driver and requires a
+# workaround specified by btnxpuartconf to work together with btnxpuart
+MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-nxp-wlan btnxpuartconf"
+MACHINE_FIRMWARE:append = " linux-firmware-nxpiw612-sdio"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
+
+MACHINE_FEATURES += "pci wifi bluetooth optee tpm2"
+
+IMX_DEFAULT_BSP = "nxp"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
+KERNEL_IMAGETYPE:mx95-generic-bsp = "Image.gz"
+
+KERNEL_DTB_PREFIX = "freescale/"
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
+ ${KERNEL_DTB_PREFIX}imx95-verdin-wifi-dev.dtb \
+ ${KERNEL_DTB_PREFIX}imx95-verdin-nonwifi-dev.dtb \
+"
+
+IMX_DEFAULT_BOOTLOADER = "u-boot-toradex"
+PREFERRED_VERSION_u-boot-toradex = "2024.04%"
+UBOOT_SUFFIX = "bin"
+SPL_BINARY = "spl/u-boot-spl.bin"
+UBOOT_MAKE_TARGET = ""
+UBOOT_CONFIG_BASENAME = "toradex-smarc-imx95"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig"
+
+UBOOT_DTB_LOADADDRESS:mx95-generic-bsp = "0x9c400000"
+UBOOT_DTBO_LOADADDRESS:mx95-generic-bsp = "0x9c440000"
+UBOOT_ENTRYPOINT:mx95-generic-bsp = "0x94400000"
+UBOOT_RD_LOADADDRESS = "0x9c800000"
+
+IMXBOOT_TARGETS = "flash_a55"
+IMX_BOOT_SOC_TARGET = "iMX95"
+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"
+
+ATF_PLATFORM = "imx95"
+
+PREFERRED_PROVIDER_virtual/imx-oei = "imx-oei-toradex"
+OEI_CONFIGS = "ddr tcm"
+OEI_CORE = "m33"
+OEI_SOC = "mx95"
+OEI_BOARD ?= "toradex-verdin-imx95"
+DDR_TYPE ?= "lpddr4x"
+
+DDR_FIRMWARE_NAME = " \
+ lpddr4x_dmem_v202409.bin \
+ lpddr4x_dmem_qb_v202409.bin \
+ lpddr4x_imem_v202409.bin \
+ lpddr4x_imem_qb_v202409.bin \
+"
+
+IMXBOOT_VARIANT = ""
+
+PREFERRED_PROVIDER_virtual/imx-system-manager = "imx-sm-toradex"
+SYSTEM_MANAGER_CONFIG = "tdx-verdin-imx95"
+# The System Manager Firmware Name corresponds to a particular binary implementation
+# in the Yocto deploy folder. The name is comprised of the Firmware Basename and the
+# default system manager Config name, e.g., m33_image-mx95evk.bin and
+# m33_image-mx95evk_fusa.bin for the standard BSP version and FuSa version, respectively
+# The System Manager Firmware Basename is an alias used by imx-boot instead of using
+# a unique name for each implementation, e.g., m33_image.bin for i.MX 95
+SYSTEM_MANAGER_FIRMWARE_BASENAME ?= "m33_image"
+SYSTEM_MANAGER_FIRMWARE_NAME ?= "m33_image-tdx-verdin-imx95"
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+SERIAL_CONSOLES = "115200;ttyLP2"
+
+IMAGE_CLASSES:append = " image_type_tezi"
+IMAGE_FSTYPES += "teziimg"
+
+# The imx-boot container takes care of the i.MX 9 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 = ""
+
+TORADEX_PRODUCT_IDS = "0089"