Skip to content

Commit 30fd71a

Browse files
authored
Merge pull request #2438 from BenjaminMiss/imx943_add_conf_machine
Imx943-19x19-lpddr4-evk add i.MX 943 EVK conf machine
2 parents 234ae25 + e946e90 commit 30fd71a

File tree

3 files changed

+152
-0
lines changed

3 files changed

+152
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#@TYPE: Machine
2+
#@NAME: NXP i.MX 943 19x19 Evaluation Kit with LPDDR4
3+
#@SOC: i.MX943
4+
#@DESCRIPTION: Machine configuration for NXP i.MX 943 19x19 EVK with LPDDR4
5+
#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
6+
7+
require conf/machine/include/imx943-evk.inc
8+
9+
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
10+
"
11+
12+
UBOOT_CONFIG_BASENAME = "imx943_evk"
13+
14+
OEI_BOARD ?= "mx943lp4-19"
15+
DDR_TYPE = "lpddr4x"
16+
DDR_FIRMWARE_NAME = " \
17+
lpddr4x_dmem_v202409.bin \
18+
lpddr4x_dmem_qb_v202409.bin \
19+
lpddr4x_imem_v202409.bin \
20+
lpddr4x_imem_qb_v202409.bin \
21+
"
22+
OEI_DDR_CONFIG = "MIMX943_LPDDR4_EVK_19X19_4266MTS_FW2024.09_timing"
23+
OEI_DDR_CONFIG_ECC = "MIMX943_LPDDR4_EVK_19X19_4266MTS_FW2024.09_ECC_enabled_timing"

conf/machine/include/imx-base.inc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000"
9595
UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000"
9696
UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000"
9797
UBOOT_ENTRYPOINT:mx93-generic-bsp ?= "0x80400000"
98+
UBOOT_ENTRYPOINT:mx943-generic-bsp ?= "0x80400000"
9899
UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000"
99100

100101
# Some SoC can utilize the boot container provided by U-Boot,
@@ -172,6 +173,7 @@ DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto"
172173
DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto"
173174
DEFAULTTUNE:mx91-generic-bsp ?= "cortexa55"
174175
DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55"
176+
DEFAULTTUNE:mx94-generic-bsp ?= "cortexa55"
175177
DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55"
176178

177179
INHERIT += "machine-overrides-extender"
@@ -230,6 +232,7 @@ MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxd
230232

231233
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"
232234
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"
235+
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"
233236
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"
234237

235238
#######
@@ -275,6 +278,7 @@ MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainlin
275278

276279
MACHINEOVERRIDES_EXTENDER:mx91:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx91-generic-bsp:mx91-mainline-bsp"
277280
MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp"
281+
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"
278282
MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-mainline-bsp"
279283

280284
MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
@@ -308,6 +312,7 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
308312
mx8ulp \
309313
mx91 \
310314
mx93 \
315+
mx943 \
311316
mx95 \
312317
"
313318

@@ -338,6 +343,7 @@ MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
338343
MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
339344
MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91"
340345
MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
346+
MACHINE_SOCARCH_SUFFIX:mx943-nxp-bsp = "-mx943"
341347
MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95"
342348

343349
# For Mainline we use a single SoC suffix as we don't have different build options
@@ -417,6 +423,7 @@ IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
417423
IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx"
418424
IMX_EXTRA_FIRMWARE:mx91-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
419425
IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
426+
IMX_EXTRA_FIRMWARE:mx943-nxp-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei"
420427
PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager"
421428
PREFERRED_PROVIDER_virtual/imx-oei ??= "imx-oei"
422429
IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei"
@@ -510,6 +517,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \
510517
# ELE extra Firmware
511518
SECOEXT_FIRMWARE_NAME ?= "UNDEFINED"
512519
SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img"
520+
SECOEXT_FIRMWARE_NAME:mx943-generic-bsp ?= "mx943${IMX_SOC_REV_LOWER}runtime-ahab-container.img"
513521

514522
# GStreamer 1.0 plugins
515523
MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
@@ -579,6 +587,7 @@ PREFERRED_PROVIDER_virtual/libopencl1:imxviv ?= "imx-gpu-viv"
579587
PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
580588
PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
581589
PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d"
590+
PREFERRED_PROVIDER_virtual/libg2d:mx943-nxp-bsp ?= "imx-pxp-g2d"
582591

583592
# Set preferred Vulkan ICD runtime
584593
PREFERRED_RPROVIDER_virtual-vulkan-icd ?= "mesa"
@@ -691,5 +700,7 @@ HOSTTOOLS_NONFATAL:append:mx8-nxp-bsp = " sha384sum"
691700
# Add task to generate the mfgtool bundle for the image.
692701
IMAGE_CLASSES:append:imx-generic-bsp = " image_populate_mfgtool"
693702

703+
SECO_FIRMWARE_NAME:mx943-generic-bsp ?= "mx943${IMX_SOC_REV_LOWER}-ahab-container.img"
704+
694705
# Allow meta-imx to add NIP devices information until upstreamed.
695706
include conf/machine/include/imx-base-extend.inc
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
MACHINEOVERRIDES =. "mx943:"
2+
3+
require conf/machine/include/imx-base.inc
4+
require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
5+
6+
MACHINE_FEATURES += "pci wifi bluetooth"
7+
MACHINE_FEATURES:append:use-nxp-bsp = " crrm optee dpdk nxpiw612-sdio nxp9098-pcie nxpaw693-pcie jailhouse rvgpu-emu"
8+
9+
KERNEL_DEVICETREE_BASENAME = "imx943-evk"
10+
KERNEL_DEVICETREE = " \
11+
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
12+
freescale/${KERNEL_DEVICETREE_BASENAME}-crrm.dtb \
13+
freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
14+
freescale/${KERNEL_DEVICETREE_BASENAME}-netc-rpmsg.dtb \
15+
freescale/${KERNEL_DEVICETREE_BASENAME}-mqs.dtb \
16+
freescale/${KERNEL_DEVICETREE_BASENAME}-pcie1-ep.dtb \
17+
freescale/${KERNEL_DEVICETREE_BASENAME}-pcie1-ep.dtbo \
18+
freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
19+
freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
20+
freescale/${KERNEL_DEVICETREE_BASENAME}-sdwifi.dtb \
21+
freescale/${KERNEL_DEVICETREE_BASENAME}-sgmii.dtb \
22+
"
23+
UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
24+
25+
IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
26+
IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
27+
28+
LOADADDR = ""
29+
UBOOT_SUFFIX = "bin"
30+
UBOOT_MAKE_TARGET = ""
31+
32+
SPL_BINARY = "spl/u-boot-spl.bin"
33+
34+
UBOOT_CONFIG ??= "${@bb.utils.contains('COMBINED_FEATURES', 'crrm', 'crrm', 'sd', d)}"
35+
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
36+
UBOOT_CONFIG[sd-ecc] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
37+
UBOOT_CONFIG[crrm] = "${UBOOT_CONFIG_BASENAME}_xspi_crrm_defconfig"
38+
UBOOT_CONFIG[xspi] = "${UBOOT_CONFIG_BASENAME}_xspi_defconfig"
39+
40+
ATF_PLATFORM = "imx94"
41+
OEI_CORE = "m33"
42+
43+
IMXBOOT_VARIANTS = "alt jailhouse rpmsg netc netc_reset netc_standalone"
44+
# imx943 netc have different mcore demo for different bootloader
45+
#| |Standard | netc | netc_reset | netc_standalone
46+
#|--|--|--|--|--|
47+
#| 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 |
48+
#| 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 |
49+
#| 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 |
50+
51+
M33_IMAGE = "${@bb.utils.contains('IMXBOOT_VARIANT', 'netc', 'imx943evk_cm33_core1_TCM_netc_share.bin', \
52+
bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', 'imx943evk_cm33_core1_TCM_all_reset_but_netc_switch.bin', \
53+
bb.utils.contains('IMXBOOT_VARIANT', 'netc_standalone', 'imx943evk_cm33_core1_TCM_netc_switch_standalone.bin', \
54+
'imx943evk_cm33_core1_TCM_power_mode_switch.bin', d), d), d)}"
55+
M70_IMAGE = "imx943evk_cm7_core0_TCM_power_mode_switch.bin"
56+
M71_IMAGE = "${@bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', 'imx943evk_cm7_core1_TCM_all_reset_but_netc_trigger.bin', \
57+
'imx943evk_cm7_core1_TCM_power_mode_switch.bin', d)}"
58+
59+
# Multiple system manager configs by IMXBOOT_VARIANT
60+
SYSTEM_MANAGER_CONFIG = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', 'mx94alt', \
61+
bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', 'mx94evkjailhouse', \
62+
bb.utils.contains('IMXBOOT_VARIANT', 'netc', 'mx94evknetc', \
63+
bb.utils.contains('IMXBOOT_VARIANT', 'netc_standalone', 'mx94evknetc', \
64+
bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', 'mx94evknetc', \
65+
bb.utils.contains('IMXBOOT_VARIANT', 'rpmsg', 'mx94evkrpmsg', \
66+
'mx94evk', d), d), d), d), d),d) }"
67+
68+
MSEL_TYPE = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', '1', \
69+
'0', d)}"
70+
71+
SYSTEM_MANAGER_FIRMWARE_BASENAME = "m33_image"
72+
73+
IMXBOOT_TARGETS_BASENAME = "flash"
74+
75+
# imx-boot (flash.bin) targets based on UBOOT_CONFIG and IMXBOOT_VARIANT
76+
IMXBOOT_TARGETS_SD = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', '${IMXBOOT_TARGETS_BASENAME}_a55', \
77+
bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', '${IMXBOOT_TARGETS_BASENAME}_jailhouse', \
78+
bb.utils.contains('IMXBOOT_VARIANT', 'netc', '${IMXBOOT_TARGETS_BASENAME}_all', \
79+
bb.utils.contains('IMXBOOT_VARIANT', 'netc_standalone', '${IMXBOOT_TARGETS_BASENAME}_all', \
80+
bb.utils.contains('IMXBOOT_VARIANT', 'netc_reset', '${IMXBOOT_TARGETS_BASENAME}_all', \
81+
bb.utils.contains('IMXBOOT_VARIANT', 'rpmsg', '${IMXBOOT_TARGETS_BASENAME}_a55', \
82+
'${IMXBOOT_TARGETS_BASENAME}_all ${IMXBOOT_TARGETS_BASENAME}_a55', d), d), d), d), d), d)} \
83+
"
84+
85+
IMXBOOT_TARGETS = " \
86+
${@bb.utils.contains('UBOOT_CONFIG', 'crrm', 'flash_a55_xspi_crrm', \
87+
bb.utils.contains('UBOOT_CONFIG', 'xspi', 'flash_a55_xspi', \
88+
bb.utils.contains('UBOOT_CONFIG', 'sd-ecc', '${IMXBOOT_TARGETS_BASENAME}_all', \
89+
'${IMXBOOT_TARGETS_SD}', d), d), d)}"
90+
91+
IMX_BOOT_SOC_TARGET = "iMX94"
92+
IMX_BOOT_SEEK = "32"
93+
94+
# We have to disable SERIAL_CONSOLE due to auto-serial-console
95+
SERIAL_CONSOLES = "115200;ttyLP0"
96+
97+
IMX_DEFAULT_BSP = "nxp"
98+
99+
WKS_FILE_DEPENDS:append:imx-nxp-bsp = " imx-mcore-demos"
100+
IMAGE_BOOT_FILES:append:imx-nxp-bsp = " \
101+
mcore-demos/imx943evk_cm33_core1_TCM_all_reset_but_netc_switch.bin \
102+
mcore-demos/imx943evk_cm33_core1_TCM_hello_world.bin \
103+
mcore-demos/imx943evk_cm33_core1_TCM_netc_share.bin \
104+
mcore-demos/imx943evk_cm33_core1_TCM_netc_switch_standalone.bin \
105+
mcore-demos/imx943evk_cm33_core1_TCM_power_mode_switch.bin \
106+
mcore-demos/imx943evk_cm33_core1_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
107+
mcore-demos/imx943evk_cm33_core1_TCM_rpmsg_lite_str_echo_rtos.bin \
108+
mcore-demos/imx943evk_cm7_core0_TCM_hello_world.bin \
109+
mcore-demos/imx943evk_cm7_core0_TCM_power_mode_switch.bin \
110+
mcore-demos/imx943evk_cm7_core0_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
111+
mcore-demos/imx943evk_cm7_core0_TCM_rpmsg_lite_str_echo_rtos.bin \
112+
mcore-demos/imx943evk_cm7_core0_TCM_sai_low_power_audio.bin \
113+
mcore-demos/imx943evk_cm7_core1_TCM_all_reset_but_netc_trigger.bin \
114+
mcore-demos/imx943evk_cm7_core1_TCM_hello_world.bin \
115+
mcore-demos/imx943evk_cm7_core1_TCM_power_mode_switch.bin \
116+
mcore-demos/imx943evk_cm7_core1_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
117+
mcore-demos/imx943evk_cm7_core1_TCM_rpmsg_lite_str_echo_rtos.bin \
118+
"

0 commit comments

Comments
 (0)