Skip to content

Conversation

yvesll
Copy link
Contributor

@yvesll yvesll commented Aug 5, 2025

Added NXP's EDAC implementation based on EIM and ERM

Copy link

github-actions bot commented Aug 5, 2025

Hello @yvesll, and thank you very much for your first pull request to the Zephyr project!
Our Continuous Integration pipeline will execute a series of checks on your Pull Request commit messages and code, and you are expected to address any failures by updating the PR. Please take a look at our commit message guidelines to find out how to format your commit messages, and at our contribution workflow to understand how to update your Pull Request. If you haven't already, please make sure to review the project's Contributor Expectations and update (by amending and force-pushing the commits) your pull request if necessary.
If you are stuck or need help please join us on Discord and ask your question there. Additionally, you can escalate the review when applicable. 😊

Copy link
Member

@decsny decsny left a comment

Choose a reason for hiding this comment

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

Looks like a very good first PR. But can you explain why this Devicetree structure with 4(+?) nodes was chosen?

@yvesll
Copy link
Contributor Author

yvesll commented Aug 9, 2025

Looks like a very good first PR. But can you explain why this Devicetree structure with 4(+?) nodes was chosen?

You are correct, the virtual edac node and independent eim channel binding are redundant here.
I will only keep erm for error reporting and eim for error injection.

@yvesll yvesll force-pushed the add-nxp-edac-driver branch from e694c25 to be74c15 Compare August 11, 2025 07:27
Copy link

@Holt-Sun
Copy link
Contributor

Quality Gate passed

Please fix the issue in "Quality Gate passed".

@yvesll yvesll force-pushed the add-nxp-edac-driver branch from be74c15 to 815fb39 Compare September 17, 2025 01:50
@zephyrbot zephyrbot requested a review from decsny September 17, 2025 01:51
@yvesll yvesll force-pushed the add-nxp-edac-driver branch from 815fb39 to 971b938 Compare September 18, 2025 07:32
Comment on lines 31 to 37
#define EIM_CONFIG \
EIM_Type *eim_base; \
const struct edac_nxp_eim_channel *eim_channels; \
uint8_t eim_channel_num;
#else
#define EIM_CONFIG
#endif /* CONFIG_EDAC_ERROR_INJECT */
Copy link
Member

Choose a reason for hiding this comment

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

this doesn't need to be a macro, just #ifdef within the config struct definition, its actually less confusing that way

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's to avoid: https://github.com/zephyrproject-rtos/zephyr/actions/runs/17853922651/job/50768543249?pr=94111
Any suggestion to solve it in a more clear way?

Copy link
Member

Choose a reason for hiding this comment

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

@keith-zephyr I think the compliance script is doing something wrong here, I saw you are coding guideline maintainer, can you help figuring out what is the problem here? Because this code in the PR now is weird due to trying to get around this script, I guess

Copy link
Contributor

Choose a reason for hiding this comment

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

checkpatch.pl is detecting the pointer * as a multiply operation instead of a pointer reference. I'm looking into checkpatch to figure out why checkpatch is running the operator checks on this line.

@yvesll yvesll force-pushed the add-nxp-edac-driver branch from 971b938 to 57d53c8 Compare September 19, 2025 09:10
@zephyrbot zephyrbot requested a review from decsny September 19, 2025 09:11
yvesll added 3 commits October 9, 2025 15:17
Add edac driver for NXP's ERM and EIM peripherals. It can inject ECC
error to specific channel within EIM and then report the error address,
syndrome and count within ERM.
Make the edac shell sample more generic for new platforms.

Signed-off-by: Yves Wang <[email protected]>
Add eim, erm and edac instance for 3 nxp mcx boards

Signed-off-by: Yves Wang <[email protected]>
Update the console log in readme to make it aligned with the actual
output

Signed-off-by: Yves Wang <[email protected]>
Copy link

sonarqubecloud bot commented Oct 9, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants