diff options
author | Ernest Van Hoecke <ernest.vanhoecke@toradex.com> | 2025-04-14 16:19:43 +0200 |
---|---|---|
committer | Ernest Van Hoecke <ernest.vanhoecke@toradex.com> | 2025-04-15 10:33:43 +0200 |
commit | 7f65ae077797f7e81be0152615a7b220459c11d7 (patch) | |
tree | beb74b62a52d834136257341586b9622c8dafdb2 | |
parent | eb833c26ff2545ab01382a03926af799b2475f05 (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.conf | 97 |
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" |