-
Notifications
You must be signed in to change notification settings - Fork 8k
Add nxp edac driver #94111
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
base: main
Are you sure you want to change the base?
Add nxp edac driver #94111
Conversation
Hello @yvesll, and thank you very much for your first pull request to the Zephyr project! |
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.
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. |
e694c25
to
be74c15
Compare
|
Please fix the issue in "Quality Gate passed". |
be74c15
to
815fb39
Compare
815fb39
to
971b938
Compare
drivers/edac/edac_nxp.c
Outdated
#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 */ |
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 doesn't need to be a macro, just #ifdef within the config struct definition, its actually less confusing that way
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.
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?
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.
@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
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.
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.
971b938
to
57d53c8
Compare
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]>
57d53c8
to
84d39cd
Compare
|
Added NXP's EDAC implementation based on EIM and ERM