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 <alexandru.lastur@nxp.com>
This commit is contained in:
parent
72c4700d65
commit
72d8bb48e3
6 changed files with 68 additions and 1 deletions
|
|
@ -3,5 +3,5 @@
|
||||||
|
|
||||||
config BOARD_IMX93_EVK
|
config BOARD_IMX93_EVK
|
||||||
select SOC_MIMX9352_A55 if BOARD_IMX93_EVK_MIMX9352_A55
|
select SOC_MIMX9352_A55 if BOARD_IMX93_EVK_MIMX9352_A55
|
||||||
select SOC_MIMX9352_M33 if BOARD_IMX93_EVK_MIMX9352_M33
|
select SOC_MIMX9352_M33 if BOARD_IMX93_EVK_MIMX9352_M33 || BOARD_IMX93_EVK_MIMX9352_M33_DDR
|
||||||
select SOC_PART_NUMBER_MIMX9352DVVXM
|
select SOC_PART_NUMBER_MIMX9352DVVXM
|
||||||
|
|
|
||||||
|
|
@ -4,3 +4,6 @@ board:
|
||||||
vendor: nxp
|
vendor: nxp
|
||||||
socs:
|
socs:
|
||||||
- name: mimx9352
|
- name: mimx9352
|
||||||
|
variants:
|
||||||
|
- name: ddr
|
||||||
|
cpucluster: m33
|
||||||
|
|
|
||||||
|
|
@ -240,10 +240,26 @@ prompt.
|
||||||
|
|
||||||
Use U-Boot to load and kick zephyr.bin to Cortex-M33 Core:
|
Use U-Boot to load and kick zephyr.bin to Cortex-M33 Core:
|
||||||
|
|
||||||
|
Boot with code from TCM
|
||||||
|
=======================
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
load mmc 1:1 0x80000000 zephyr.bin;cp.b 0x80000000 0x201e0000 0x30000;bootaux 0x1ffe0000 0
|
load mmc 1:1 0x80000000 zephyr.bin;cp.b 0x80000000 0x201e0000 0x30000;bootaux 0x1ffe0000 0
|
||||||
|
|
||||||
|
Boot with code from DDR
|
||||||
|
=======================
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
load mmc 1:1 0x84000000 zephyr.bin;dcache flush;bootaux 0x84000000 0
|
||||||
|
|
||||||
|
Note: Cortex M33 need execute permission to run code from DDR memory. In order
|
||||||
|
to enable this, `imx-atf`_ can to be modified in "plat/imx/imx93/trdc_config.h".
|
||||||
|
|
||||||
|
.. _imx-atf:
|
||||||
|
https://github.com/nxp-imx/imx-atf
|
||||||
|
|
||||||
Use this configuration to run basic Zephyr applications and kernel tests,
|
Use this configuration to run basic Zephyr applications and kernel tests,
|
||||||
for example, with the :zephyr:code-sample:`synchronization` sample:
|
for example, with the :zephyr:code-sample:`synchronization` sample:
|
||||||
|
|
||||||
|
|
|
||||||
23
boards/nxp/imx93_evk/imx93_evk_mimx9352_m33_ddr.dts
Normal file
23
boards/nxp/imx93_evk/imx93_evk_mimx9352_m33_ddr.dts
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2024 NXP
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "imx93_evk_mimx9352_m33.dts"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "NXP i.MX93 EVK board DDR variant";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &ddr;
|
||||||
|
/delete-property/ zephyr,flash;
|
||||||
|
};
|
||||||
|
|
||||||
|
ddr: memory@84000000 {
|
||||||
|
device_type = "memory";
|
||||||
|
reg = <0x84000000 DT_SIZE_M(4)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
16
boards/nxp/imx93_evk/imx93_evk_mimx9352_m33_ddr.yaml
Normal file
16
boards/nxp/imx93_evk/imx93_evk_mimx9352_m33_ddr.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Copyright 2024 NXP
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
identifier: imx93_evk/mimx9352/m33/ddr
|
||||||
|
name: NXP i.MX93 EVK M33 DDR
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- cross-compile
|
||||||
|
ram: 4096
|
||||||
|
flash: 0
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- uart
|
||||||
|
vendor: nxp
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Copyright 2024 NXP
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_XIP=n
|
||||||
Loading…
Reference in a new issue