-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
boards: Add support for the NXP MIMXRT595 DSP core #61356
boards: Add support for the NXP MIMXRT595 DSP core #61356
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @dluke62 ,
Thank you for contributing this! Can you fix the compliance issues? I also have some quick feedback of the SOC series naming convention we need to change. I'm sure we will have more feedback to come. Thank you
Also, I guess you will need to add at least some compile time tests. @iuliana-prodan care to provide some guidance here on how did you do this for imx8m_adsp? |
You can have a simple compilation test by adding a yaml file in the |
@iuliana-prodan , @dbaluta if I understand correctly, we can't have any compile time tests because we can't compile for RT595 DSP without downloading Xtensa toolchain separately (unlike imx8, which has toolchain in Zephyr SDK). So the CI won't be able to compile Zephyr for RT595 DSP. Is that correct? |
7fcc0f3
to
e7079a1
Compare
@stephanosio how would one submit an enablement to Zephyr upstream if there isn't an open toolchain in our CI? |
Technically, once you have the Xtensa toolchain configuration you can use that to create the corresponding open toolchain and integrate it in Zephyr SDK. For example, here is how imx8 toolchain was added: https://github.com/zephyrproject-rtos/sdk-ng/pull/187/commits Another clean PR for adding a toolchain for a new board is here: |
Thank you! As far as I understand the toolchain/core configuration is not freely available - one has to create an account with Cadence to get it. I don't know if we can simply check it in here - I'm assuming it comes with its own license, user agreement, etc. @DerekSnell could you please chime in? |
Toolchain is not freely available but you don't need that. You just need the configuration files that are created by hardware integration team and I think Cadence understoond the value of making that configuration open. So, for example here is the license of one of the headers in the configuration files: If you can send me your toolchain archive I can try to make a PR to integrate the configuration in Zephyr SDK so that we can build an open toolchain. Zephyr uses crosstool-ng to build the toolchain based on the configuration files you provide. @dluke62 How do you actually compile the code now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @dluke62 ,
Sorry, yesterday I requested these changes when I submitted my review before you pushed an update. But it appears GitHub did not capture them (probably my fault).
We need to change the naming of the SOC series. RT595 is the SOC derivative in the i.MX RT500 series, which in Zephyr is named RT5xx. NXP may offer other RT5xx part numbers in this series using the same F1 DSP core, which would share this code. So my changes keep the RT595 name when referencing the SOC, but use RT5xx when referencing the series.
Thanks again for your contribution!
@@ -0,0 +1,46 @@ | |||
# Copyright (c) 2023 Google LLC. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This folder name rt595
should be changed to rt5xx for the SOC series using this F1 DSP core, to enable other RT500 part numbers using the same DSP core.
@dluke62 some questions for you when you get back to this:
|
414d0b5
to
f681aae
Compare
@dbaluta , you still need update the west.yml to direct to the right hal_nxp commit. |
@hakehuang the hal_nxp from west.yml has all the needed support for this PR. So, no changes there. @dluke62 can you rebase or amend this PR in order to trigger the Zephyr CI. |
@iuliana-prodan in this case, you need rebase this PR, I try to rebase for you, but I just not get permission. besides, as you do not use sysbuild to make M7 to boot rt595 core, I have no way to run your case, so I can only do build checking. can you double check the run at your side |
Indeed you cannot change someone else's clone. The way to solve this problem (for instance: when someone is out of office), is to fetch their branch ( |
@hakehuang this is not my PR. |
thank you guys! I am rebasing the PR, will update it soon. |
In preparation for RT500 ADSP enablement, consolidate common Xtensa configuration parameters in top level Kconfig.defconfig. Signed-off-by: Dmitry Lukyantsev <dmitrylu@google.com>
7e8e1df
to
e936ecb
Compare
a build warning:
others are ok
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few nitpicks/suggestions
@nashif I think we are ready to merge this. @LaurentiuM1234 we can fix the nitpicks in the future PRs. |
e936ecb
to
b3f4a75
Compare
Thank you, fixed the warning. |
Add board and soc files for the NXP MIMXRT595 DSP core. Signed-off-by: Dmitry Lukyantsev <dmitrylu@google.com>
b3f4a75
to
e3815af
Compare
@nashif would you mind taking another look? CI is now green. |
Hi @dbaluta! Do you know if there is a way to move forward with this PR? Are we blocked by Anas's change request? |
Add board and soc files for the audio DSP in NXP MIMXRT595.