Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hwmv2: Port NXP iMX RT500 to HWMv2 #69269

Merged

Conversation

danieldegrasse
Copy link
Collaborator

@danieldegrasse danieldegrasse commented Feb 21, 2024

This PR ports the RT500 SOC and RT595 EVK to HWMv2. This is a dual architecture SOC (Xtensa Fusion F1 and Arm Cortex M33). Therefore, this PR has been separated from the remainder of the iMX RT series ports, since it may require more detailed review.

Note- this PR Depends on #69264, and contains commits from it until it is merged

# SPDX-License-Identifier: Apache-2.0
#

if (CONFIG_SOC_MIMXRT595S_CM33)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (CONFIG_SOC_MIMXRT595S_CM33)
if(CONFIG_SOC_MIMXRT595S_CM33)

Comment on lines 40 to 41
help
NXP RT5xx ADSP Series
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

help text for these should be in Kconfig.soc

Comment on lines 119 to 120
config SOC_TOOLCHAIN_NAME
default "nxp_rt500_adsp"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kconfig.soc

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved. I am slightly unclear, what is the guidance for using Kconfig.defconfig versus Kconfig.soc in HWMv2? Is the idea that any Kconfig that is prefixed with "SOC_" should be in Kconfig.soc, or are there more general guidelines to follow?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kconfig.defconfig is for overriding defaults in the zephyr tree, Kconfig.soc is just for SoC only Kconfigs that are needed by the build system (that means it only has the SoC Kconfig tree loaded, it does not have the rest of the zephyr Kconfig tree loaded)

Comment on lines 26 to 27
default "mimxrt595s_cm33" if SOC_MIMXRT595S_CM33
default "mimxrt595s_dsp" if SOC_MIMXRT595S_F1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default "mimxrt595s" if SOC_MIMXRT595S

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

help
Board initialization priority.


Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

@@ -118,7 +118,7 @@ already supported, which can also be re-used on this mimxrt595_evk board:

The default configuration can be found in the defconfig file:

``boards/arm/mimxrt595_evk/mimxrt595_evk_cm33_defconfig``
``boards/arm/mimxrt595_evk/mimxrt595_evk_rt595_cm33_defconfig``
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link is wrong and should use zephyr_file e.g.

Suggested change
``boards/arm/mimxrt595_evk/mimxrt595_evk_rt595_cm33_defconfig``
:zephyr_file:`boards/nxp/mimxrt595_evk/mimxrt595_evk_rt595_cm33_defconfig`

@@ -185,7 +185,7 @@ To build the hello_world sample for the RT500 DSP core:

.. code-block:: shell

$ west build -b nxp_adsp_rt595 samples/hello_world
$ west build -b mimxrt595_evk//f1 samples/hello_world
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use full board names and identifiers in all examples mimxrt595_evk/rt595/f1

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed- I understand being verbose here, but where will we document the "short name" feature of using mimxrt595_evk//f1? I find this pretty useful, and want to make sure customers are aware of it.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will be in the hwmv2 documentation

@@ -249,7 +249,7 @@ Here is an example for the :ref:`hello_world` application. This example uses the

.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: mimxrt595_evk_cm33
:board: mimxrt595_evk//cm33
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

etc.

@henrikbrixandersen henrikbrixandersen changed the title Port NXP iMX RT500 to HWMv2 hwmv2Port NXP iMX RT500 to HWMv2 Feb 21, 2024
@henrikbrixandersen henrikbrixandersen changed the title hwmv2Port NXP iMX RT500 to HWMv2 hwmv2: Port NXP iMX RT500 to HWMv2 Feb 21, 2024
@zephyrbot
Copy link
Collaborator

zephyrbot commented Feb 23, 2024

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@zephyrbot zephyrbot added manifest manifest-hal_nxp DNM This PR should not be merged (Do Not Merge) labels Feb 23, 2024
soc/nxp/imxrt/Kconfig.soc Outdated Show resolved Hide resolved
soc/nxp/imxrt/rt10xx/Kconfig.soc Outdated Show resolved Hide resolved
soc/nxp/imxrt/rt5xx/Kconfig.defconfig Outdated Show resolved Hide resolved
NXP RT5xx ADSP Series

config SOC_SERIES
default "rt5xx" if SOC_SERIES_IMXRT_5XX
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
default "rt5xx" if SOC_SERIES_IMXRT_5XX
default "imxrt_5xx" if SOC_SERIES_IMXRT_5XX

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed CONFIG_SOC_SERIES to imxrt5xx to align with rest of iMX RT series, and updated Kconfig name to SOC_SERIES_IMXRT5XX

Comment on lines 32 to 33
config SOC_TOOLCHAIN_NAME
default "nxp_rt500_adsp"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default... if?

bool

config SOC_PART_NUMBER
string
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
string

@nordicjm nordicjm added this to the v3.7.0 milestone Feb 27, 2024
@zephyrbot zephyrbot removed manifest manifest-hal_nxp DNM This PR should not be merged (Do Not Merge) labels Feb 27, 2024
@nordicjm
Copy link
Collaborator

Tests using old names need to be updated to use the new name

@danieldegrasse
Copy link
Collaborator Author

Tests using old names need to be updated to use the new name

I believe all are, is there something I'm missing?

$ grep -rl "mimxrt595_evk_cm33" . --exclude-dir=".git"
./doc/releases/release-notes-3.3.rst

@nordicjm
Copy link
Collaborator

Compliance issue needs addressing. There was a test failure in the previous run

Convert NXP iMX RT5xx SOC to hardware model V2. This core is dual
architecture, so both the ARM Cortex M33 and Xtensa Fusion F1 DSP have
been unified within one SOC port folder.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Convert mimxrt595_evk to hardware model v2. Both the CM33 and Fusion F1
DSP devicetrees are moved to reside in the same board folder

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
@danieldegrasse
Copy link
Collaborator Author

Compliance issue needs addressing. There was a test failure in the previous run

Fixed now

@nordicjm nordicjm merged commit 3309676 into zephyrproject-rtos:collab-hwm Feb 28, 2024
23 checks passed
@danieldegrasse danieldegrasse deleted the feature/rt5xx-hwmv2 branch February 28, 2024 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants