From 4b1730f8ed42b20a55081600b99ea20408cf72b2 Mon Sep 17 00:00:00 2001 From: Benjamin Missey Date: Fri, 16 Jan 2026 18:27:02 +0100 Subject: imx-base.inc: include imx943 configuration Import imx943 configuration from meta-imx. Based on 6.12.49-2.2.0 NXP BSP release Signed-off-by: Benjamin Missey --- conf/machine/include/imx-base.inc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index df3773d2e..7e6c2c0e5 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -95,6 +95,7 @@ UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000" UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000" UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000" UBOOT_ENTRYPOINT:mx93-generic-bsp ?= "0x80400000" +UBOOT_ENTRYPOINT:mx943-generic-bsp ?= "0x80400000" UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000" # Some SoC can utilize the boot container provided by U-Boot, @@ -169,6 +170,7 @@ DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto" DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto" DEFAULTTUNE:mx91-generic-bsp ?= "cortexa55" DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55" +DEFAULTTUNE:mx94-generic-bsp ?= "cortexa55" DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55" INHERIT += "machine-overrides-extender" @@ -227,6 +229,7 @@ MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxd MACHINEOVERRIDES_EXTENDER:mx91:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:mx9-generic-bsp:mx9-nxp-bsp:mx91-generic-bsp:mx91-nxp-bsp" MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp" +MACHINEOVERRIDES_EXTENDER:mx943:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx94-generic-bsp:mx94-nxp-bsp:mx943-generic-bsp:mx943-nxp-bsp" MACHINEOVERRIDES_EXTENDER:mx95:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxmali:imxgpu2d:imxgpu3d:mx9-generic-bsp:mx9-nxp-bsp:mx95-generic-bsp:mx95-nxp-bsp" ####### @@ -272,6 +275,7 @@ MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainlin MACHINEOVERRIDES_EXTENDER:mx91:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx91-generic-bsp:mx91-mainline-bsp" MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp" +MACHINEOVERRIDES_EXTENDER:mx943:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx94-generic-bsp:mx94-mainline-bsp:mx943-generic-bsp:mx943-mainline-bsp" MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-mainline-bsp" MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ @@ -305,6 +309,7 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ mx8ulp \ mx91 \ mx93 \ + mx943 \ mx95 \ " @@ -335,6 +340,7 @@ MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl" MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp" MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91" MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93" +MACHINE_SOCARCH_SUFFIX:mx943-nxp-bsp = "-mx943" MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95" # For Mainline we use a single SoC suffix as we don't have different build options @@ -414,6 +420,7 @@ IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx" IMX_EXTRA_FIRMWARE:mx91-generic-bsp = "imx-boot-firmware-files firmware-ele-imx" IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx" +IMX_EXTRA_FIRMWARE:mx943-nxp-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei" PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager" PREFERRED_PROVIDER_virtual/imx-oei ??= "imx-oei" IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei" @@ -507,6 +514,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ # ELE extra Firmware SECOEXT_FIRMWARE_NAME ?= "UNDEFINED" SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img" +SECOEXT_FIRMWARE_NAME:mx943-generic-bsp ?= "mx943${IMX_SOC_REV_LOWER}runtime-ahab-container.img" # GStreamer 1.0 plugins MACHINE_GSTREAMER_1_0_PLUGIN ?= "" @@ -576,6 +584,7 @@ PREFERRED_PROVIDER_virtual/libopencl1:imxviv ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d" PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" +PREFERRED_PROVIDER_virtual/libg2d:mx943-nxp-bsp ?= "imx-pxp-g2d" # Set preferred Vulkan ICD runtime PREFERRED_RPROVIDER_virtual-vulkan-icd ?= "mesa" @@ -688,5 +697,7 @@ HOSTTOOLS_NONFATAL:append:mx8-nxp-bsp = " sha384sum" # Add task to generate the mfgtool bundle for the image. IMAGE_CLASSES:append:imx-generic-bsp = " image_populate_mfgtool" +SECO_FIRMWARE_NAME:mx943-generic-bsp ?= "mx943${IMX_SOC_REV_LOWER}-ahab-container.img" + # Allow meta-imx to add NIP devices information until upstreamed. include conf/machine/include/imx-base-extend.inc -- cgit v1.2.3-54-g00ecf From e946e90dea0128542a3c8436c79c7a3b357c6f1a Mon Sep 17 00:00:00 2001 From: Benjamin Missey Date: Fri, 16 Jan 2026 17:38:25 +0100 Subject: imx943-19x19-lpddr4-evk: add i.MX 943 EVK machine Based on 6.12.49-2.2.0 NXP BSP release Signed-off-by: Benjamin Missey --- conf/machine/imx943-19x19-lpddr4-evk.conf | 23 ++++++ conf/machine/include/imx943-evk.inc | 118 ++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 conf/machine/imx943-19x19-lpddr4-evk.conf create mode 100644 conf/machine/include/imx943-evk.inc diff --git a/conf/machine/imx943-19x19-lpddr4-evk.conf b/conf/machine/imx943-19x19-lpddr4-evk.conf new file mode 100644 index 000000000..159aca2dc --- /dev/null +++ b/conf/machine/imx943-19x19-lpddr4-evk.conf @@ -0,0 +1,23 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 943 19x19 Evaluation Kit with LPDDR4 +#@SOC: i.MX943 +#@DESCRIPTION: Machine configuration for NXP i.MX 943 19x19 EVK with LPDDR4 +#@MAINTAINER: Jun Zhu + +require conf/machine/include/imx943-evk.inc + +KERNEL_DEVICETREE:append:use-nxp-bsp = " \ +" + +UBOOT_CONFIG_BASENAME = "imx943_evk" + +OEI_BOARD ?= "mx943lp4-19" +DDR_TYPE = "lpddr4x" +DDR_FIRMWARE_NAME = " \ + lpddr4x_dmem_v202409.bin \ + lpddr4x_dmem_qb_v202409.bin \ + lpddr4x_imem_v202409.bin \ + lpddr4x_imem_qb_v202409.bin \ +" +OEI_DDR_CONFIG = "MIMX943_LPDDR4_EVK_19X19_4266MTS_FW2024.09_timing" +OEI_DDR_CONFIG_ECC = "MIMX943_LPDDR4_EVK_19X19_4266MTS_FW2024.09_ECC_enabled_timing" diff --git a/conf/machine/include/imx943-evk.inc b/conf/machine/include/imx943-evk.inc new file mode 100644 index 000000000..875d5eb36 --- /dev/null +++ b/conf/machine/include/imx943-evk.inc @@ -0,0 +1,118 @@ +MACHINEOVERRIDES =. "mx943:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc + +MACHINE_FEATURES += "pci wifi bluetooth" +MACHINE_FEATURES:append:use-nxp-bsp = " crrm optee dpdk nxpiw612-sdio nxp9098-pcie nxpaw693-pcie jailhouse rvgpu-emu" + +KERNEL_DEVICETREE_BASENAME = "imx943-evk" +KERNEL_DEVICETREE = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-crrm.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-netc-rpmsg.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-pcie1-ep.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-pcie1-ep.dtbo \ + freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-sdwifi.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-sgmii.dtb \ +" +UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb" + +IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx" +IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc" + +LOADADDR = "" +UBOOT_SUFFIX = "bin" +UBOOT_MAKE_TARGET = "" + +SPL_BINARY = "spl/u-boot-spl.bin" + +UBOOT_CONFIG ??= "${@bb.utils.contains('COMBINED_FEATURES', 'crrm', 'crrm', 'sd', d)}" +UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard" +UBOOT_CONFIG[sd-ecc] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard" +UBOOT_CONFIG[crrm] = "${UBOOT_CONFIG_BASENAME}_xspi_crrm_defconfig" +UBOOT_CONFIG[xspi] = "${UBOOT_CONFIG_BASENAME}_xspi_defconfig" + +ATF_PLATFORM = "imx94" +OEI_CORE = "m33" + +IMXBOOT_VARIANTS = "alt jailhouse rpmsg netc netc_reset netc_standalone" +# imx943 netc have different mcore demo for different bootloader +#| |Standard | netc | netc_reset | netc_standalone +#|--|--|--|--|--| +#| M33S | imx943evk_cm33_core1_TCM_power_mode_switch.bin | imx943evk_cm33_core1_TCM_netc_share.bin | imx943evk_cm33_core1_TCM_all_reset_but_netc_switch.bin | imx943evk_cm33_core1_TCM_netc_switch_standalone.bin | +#| M70 | imx943evk_cm7_core0_TCM_power_mode_switch.bin | imx943evk_cm7_core0_TCM_power_mode_switch.bin | imx943evk_cm7_core0_TCM_power_mode_switch.bin | imx943evk_cm7_core0_TCM_power_mode_switch.bin | +#| M71 | imx943evk_cm7_core1_TCM_power_mode_switch.bin | imx943evk_cm7_core1_TCM_power_mode_switch.bin | imx943evk_cm7_core1_TCM_all_reset_but_netc_trigger.bin | imx943evk_cm7_core1_TCM_power_mode_switch.bin | + +M33_IMAGE = "${@bb.utils.contains('IMXBOOT_VARIANT', 'netc', 'imx943evk_cm33_core1_TCM_netc_share.bin', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', 'imx943evk_cm33_core1_TCM_all_reset_but_netc_switch.bin', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc_standalone', 'imx943evk_cm33_core1_TCM_netc_switch_standalone.bin', \ + 'imx943evk_cm33_core1_TCM_power_mode_switch.bin', d), d), d)}" +M70_IMAGE = "imx943evk_cm7_core0_TCM_power_mode_switch.bin" +M71_IMAGE = "${@bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', 'imx943evk_cm7_core1_TCM_all_reset_but_netc_trigger.bin', \ + 'imx943evk_cm7_core1_TCM_power_mode_switch.bin', d)}" + +# Multiple system manager configs by IMXBOOT_VARIANT +SYSTEM_MANAGER_CONFIG = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', 'mx94alt', \ + bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', 'mx94evkjailhouse', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc', 'mx94evknetc', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc_standalone', 'mx94evknetc', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', 'mx94evknetc', \ + bb.utils.contains('IMXBOOT_VARIANT', 'rpmsg', 'mx94evkrpmsg', \ + 'mx94evk', d), d), d), d), d),d) }" + +MSEL_TYPE = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', '1', \ + '0', d)}" + +SYSTEM_MANAGER_FIRMWARE_BASENAME = "m33_image" + +IMXBOOT_TARGETS_BASENAME = "flash" + +# imx-boot (flash.bin) targets based on UBOOT_CONFIG and IMXBOOT_VARIANT +IMXBOOT_TARGETS_SD = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', '${IMXBOOT_TARGETS_BASENAME}_a55', \ + bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', '${IMXBOOT_TARGETS_BASENAME}_jailhouse', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc', '${IMXBOOT_TARGETS_BASENAME}_all', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc_standalone', '${IMXBOOT_TARGETS_BASENAME}_all', \ + bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', '${IMXBOOT_TARGETS_BASENAME}_all', \ + bb.utils.contains('IMXBOOT_VARIANT', 'rpmsg', '${IMXBOOT_TARGETS_BASENAME}_a55', \ + '${IMXBOOT_TARGETS_BASENAME}_all ${IMXBOOT_TARGETS_BASENAME}_a55', d), d), d), d), d), d)} \ +" + +IMXBOOT_TARGETS = " \ + ${@bb.utils.contains('UBOOT_CONFIG', 'crrm', 'flash_a55_xspi_crrm', \ + bb.utils.contains('UBOOT_CONFIG', 'xspi', 'flash_a55_xspi', \ + bb.utils.contains('UBOOT_CONFIG', 'sd-ecc', '${IMXBOOT_TARGETS_BASENAME}_all', \ + '${IMXBOOT_TARGETS_SD}', d), d), d)}" + +IMX_BOOT_SOC_TARGET = "iMX94" +IMX_BOOT_SEEK = "32" + +# We have to disable SERIAL_CONSOLE due to auto-serial-console +SERIAL_CONSOLES = "115200;ttyLP0" + +IMX_DEFAULT_BSP = "nxp" + +WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-mcore-demos" +IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \ + mcore-demos/imx943evk_cm33_core1_TCM_all_reset_but_netc_switch.bin \ + mcore-demos/imx943evk_cm33_core1_TCM_hello_world.bin \ + mcore-demos/imx943evk_cm33_core1_TCM_netc_share.bin \ + mcore-demos/imx943evk_cm33_core1_TCM_netc_switch_standalone.bin \ + mcore-demos/imx943evk_cm33_core1_TCM_power_mode_switch.bin \ + mcore-demos/imx943evk_cm33_core1_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \ + mcore-demos/imx943evk_cm33_core1_TCM_rpmsg_lite_str_echo_rtos.bin \ + mcore-demos/imx943evk_cm7_core0_TCM_hello_world.bin \ + mcore-demos/imx943evk_cm7_core0_TCM_power_mode_switch.bin \ + mcore-demos/imx943evk_cm7_core0_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \ + mcore-demos/imx943evk_cm7_core0_TCM_rpmsg_lite_str_echo_rtos.bin \ + mcore-demos/imx943evk_cm7_core0_TCM_sai_low_power_audio.bin \ + mcore-demos/imx943evk_cm7_core1_TCM_all_reset_but_netc_trigger.bin \ + mcore-demos/imx943evk_cm7_core1_TCM_hello_world.bin \ + mcore-demos/imx943evk_cm7_core1_TCM_power_mode_switch.bin \ + mcore-demos/imx943evk_cm7_core1_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \ + mcore-demos/imx943evk_cm7_core1_TCM_rpmsg_lite_str_echo_rtos.bin \ +" -- cgit v1.2.3-54-g00ecf