soc: nxp: imxrt: Prepare imxrt6xx soc for AMP support

imxrt6xx are dual core devices featuring an ARM Cortex-M33
core and an Cadence Xtensa HIFI4 Audio DSP.

Currently only m33 core is supported. In order to support
the Cadence DSP we need first to do some code-reorganization
for m33.

We start by moving all cm33 related code to its own directory
and introduce the cpuclusters property in soc.yml file.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This commit is contained in:
Daniel Baluta 2024-03-31 20:42:52 +03:00 committed by Fabio Baltieri
parent eff03ca071
commit 68a7057513
21 changed files with 47 additions and 36 deletions

View File

@ -384,7 +384,7 @@ set(mimxrt595_evk_cm33_DEPRECATED
mimxrt595_evk/mimxrt595s/cm33
)
set(mimxrt685_evk_cm33_DEPRECATED
mimxrt685_evk
mimxrt685_evk/mimxrt685s/cm33
)
set(mps2_an385_DEPRECATED
mps2/an385

View File

@ -290,7 +290,7 @@ Here is an example for the :ref:`hello_world` application. This example uses the
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: mimxrt685_evk
:board: mimxrt685_evk/mimxrt685s/cm33
:goals: flash
Open a serial terminal, reset the board (press the RESET button), and you should
@ -309,7 +309,7 @@ Here is an example for the :ref:`hello_world` application. This example uses the
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: mimxrt685_evk
:board: mimxrt685_evk/mimxrt685s/cm33
:goals: debug
Open a serial terminal, step through the application in your debugger, and you

View File

@ -4,7 +4,7 @@
# SPDX-License-Identifier: Apache-2.0
#
identifier: mimxrt685_evk
identifier: mimxrt685_evk/mimxrt685s/cm33
name: NXP MIMXRT685-EVK
type: mcu
arch: arm

View File

@ -117,7 +117,7 @@ Sample can be built and executed for the MIMXRT685-EVK as follows:
.. zephyr-app-commands::
:zephyr-app: samples/sensor/fxos8700
:board: mimxrt685_evk
:board: mimxrt685_evk/mimxrt685s/cm33
:goals: build flash
:compact:

View File

@ -16,7 +16,7 @@ tests:
- rv32m1_vega/openisa_rv32m1/ri5cy
- twr_ke18f
- lpcxpresso55s16
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
- frdm_k22f
- mimxrt1024_evk
- mimxrt595_evk/mimxrt595s/cm33
@ -34,7 +34,7 @@ tests:
- bbc_microbit
- lpcxpresso55s69/lpc55s69/cpu0
- reel_board
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
- mimxrt595_evk/mimxrt595s/cm33
integration_platforms:
- bbc_microbit

View File

@ -43,7 +43,7 @@ Building on mimxrt685_evk board
.. zephyr-app-commands::
:zephyr-app: samples/sensor/lps22hh_i3c
:host-os: unix
:board: mimxrt685_evk
:board: mimxrt685_evk/mimxrt685s/cm33
:goals: build
:compact:

View File

@ -34,7 +34,7 @@ Building on mimxrt685_evk board
.. zephyr-app-commands::
:zephyr-app: samples/sensor/lsm6dso_i2c_on_i3c
:host-os: unix
:board: mimxrt685_evk
:board: mimxrt685_evk/mimxrt685s/cm33
:goals: build
:compact:

View File

@ -11,7 +11,7 @@ tests:
- nrf52840dk/nrf52840
- particle_xenon
- disco_l475_iot1
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
- mimxrt1060_evk
- mimxrt1064_evk
- qemu_x86

View File

@ -1,26 +1,9 @@
#
# Copyright (c) 2020, NXP
# Copyright 2024 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
zephyr_include_directories(.)
zephyr_sources(soc.c)
zephyr_sources_ifdef(CONFIG_PM power.c)
zephyr_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_XIP flash_clock_setup.c)
zephyr_library_include_directories(
${ZEPHYR_BASE}/kernel/include
${ZEPHYR_BASE}/arch/${ARCH}/include
)
zephyr_compile_definitions_ifdef(CONFIG_USB_DEVICE_DRIVER USB_STACK_USE_DEDICATED_RAM=1)
if(CONFIG_FLASH_MCUX_FLEXSPI_XIP)
zephyr_code_relocate(FILES flash_clock_setup.c LOCATION RAM)
if(CONFIG_SOC_MIMXRT685S_CM33)
add_subdirectory(cm33)
endif()
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

View File

@ -0,0 +1,26 @@
#
# Copyright (c) 2020, NXP
#
# SPDX-License-Identifier: Apache-2.0
#
zephyr_include_directories(.)
zephyr_sources(soc.c)
zephyr_sources_ifdef(CONFIG_PM power.c)
zephyr_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_XIP flash_clock_setup.c)
zephyr_library_include_directories(
${ZEPHYR_BASE}/kernel/include
${ZEPHYR_BASE}/arch/${ARCH}/include
)
zephyr_compile_definitions_ifdef(CONFIG_USB_DEVICE_DRIVER USB_STACK_USE_DEDICATED_RAM=1)
if(CONFIG_FLASH_MCUX_FLEXSPI_XIP)
zephyr_code_relocate(FILES flash_clock_setup.c LOCATION RAM)
endif()
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

View File

@ -32,3 +32,5 @@ family:
- name: imxrt6xx
socs:
- name: mimxrt685s
cpuclusters:
- name: cm33

View File

@ -32,7 +32,7 @@ tests:
- mimxrt1160_evk/mimxrt1166/cm7
- mimxrt1170_evk/mimxrt1176/cm7
- mimxrt595_evk/mimxrt595s/cm33
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
- nrf52840dk/nrf52840
integration_platforms:
- frdm_k64f

View File

@ -23,7 +23,7 @@ tests:
drivers.pwm.mcux.build:
platform_allow: mimxrt1064_evk
drivers.pwm.mcux.sctimer.build:
platform_allow: mimxrt685_evk
platform_allow: mimxrt685_evk/mimxrt685s/cm33
drivers.pwm.rv32m1.tpm.build:
platform_allow: rv32m1_vega/openisa_rv32m1/ri5cy
drivers.pwm.sifive.build:

View File

@ -34,7 +34,7 @@ tests:
- drivers
- counter
depends_on: counter
platform_allow: mimxrt685_evk
platform_allow: mimxrt685_evk/mimxrt685s/cm33
timeout: 400
extra_args:
DTC_OVERLAY_FILE="boards/mimxrt685_evk_rtc_1khz.overlay"

View File

@ -7,7 +7,7 @@ tests:
filter: not CONFIG_I2S_TEST_USE_GPIO_LOOPBACK
platform_exclude:
- mimxrt595_evk/mimxrt595s/cm33
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
drivers.i2s.gpio_loopback:
depends_on:
- i2s
@ -19,6 +19,6 @@ tests:
harness: ztest
platform_exclude:
- mimxrt595_evk/mimxrt595s/cm33
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
harness_config:
fixture: gpio_loopback

View File

@ -17,7 +17,7 @@ tests:
fixture: npm6001_ek_to_adc
drivers.regulator.voltage.nxp:
platform_allow:
- mimxrt685_evk
- mimxrt685_evk/mimxrt685s/cm33
- lpcxpresso55s36
harness_config:
fixture: gpio_loopback