Skip to content

Commit 72d8bb4

Browse files
alxlasturkartben
authored andcommitted
boards: imx93_evk: add M33 DDR code support
This commit adds the support for running the Cortex M33 code from DDR memory. Signed-off-by: Alexandru Lastur <[email protected]>
1 parent 72c4700 commit 72d8bb4

File tree

6 files changed

+68
-1
lines changed

6 files changed

+68
-1
lines changed

boards/nxp/imx93_evk/Kconfig.imx93_evk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33

44
config BOARD_IMX93_EVK
55
select SOC_MIMX9352_A55 if BOARD_IMX93_EVK_MIMX9352_A55
6-
select SOC_MIMX9352_M33 if BOARD_IMX93_EVK_MIMX9352_M33
6+
select SOC_MIMX9352_M33 if BOARD_IMX93_EVK_MIMX9352_M33 || BOARD_IMX93_EVK_MIMX9352_M33_DDR
77
select SOC_PART_NUMBER_MIMX9352DVVXM

boards/nxp/imx93_evk/board.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@ board:
44
vendor: nxp
55
socs:
66
- name: mimx9352
7+
variants:
8+
- name: ddr
9+
cpucluster: m33

boards/nxp/imx93_evk/doc/index.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,26 @@ prompt.
240240

241241
Use U-Boot to load and kick zephyr.bin to Cortex-M33 Core:
242242

243+
Boot with code from TCM
244+
=======================
245+
243246
.. code-block:: console
244247
245248
load mmc 1:1 0x80000000 zephyr.bin;cp.b 0x80000000 0x201e0000 0x30000;bootaux 0x1ffe0000 0
246249
250+
Boot with code from DDR
251+
=======================
252+
253+
.. code-block:: console
254+
255+
load mmc 1:1 0x84000000 zephyr.bin;dcache flush;bootaux 0x84000000 0
256+
257+
Note: Cortex M33 need execute permission to run code from DDR memory. In order
258+
to enable this, `imx-atf`_ can to be modified in "plat/imx/imx93/trdc_config.h".
259+
260+
.. _imx-atf:
261+
https://github.com/nxp-imx/imx-atf
262+
247263
Use this configuration to run basic Zephyr applications and kernel tests,
248264
for example, with the :zephyr:code-sample:`synchronization` sample:
249265

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright 2024 NXP
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "imx93_evk_mimx9352_m33.dts"
10+
11+
/ {
12+
model = "NXP i.MX93 EVK board DDR variant";
13+
14+
chosen {
15+
zephyr,sram = &ddr;
16+
/delete-property/ zephyr,flash;
17+
};
18+
19+
ddr: memory@84000000 {
20+
device_type = "memory";
21+
reg = <0x84000000 DT_SIZE_M(4)>;
22+
};
23+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright 2024 NXP
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: imx93_evk/mimx9352/m33/ddr
5+
name: NXP i.MX93 EVK M33 DDR
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- zephyr
10+
- cross-compile
11+
ram: 4096
12+
flash: 0
13+
supported:
14+
- gpio
15+
- uart
16+
vendor: nxp
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright 2024 NXP
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
CONFIG_CLOCK_CONTROL=y
5+
CONFIG_SERIAL=y
6+
CONFIG_UART_CONSOLE=y
7+
CONFIG_UART_INTERRUPT_DRIVEN=y
8+
CONFIG_CONSOLE=y
9+
CONFIG_XIP=n

0 commit comments

Comments
 (0)