-
Notifications
You must be signed in to change notification settings - Fork 8.4k
drivers: flash: flash_mcux_flexspi: add support for W25Q512NW-IQ/IN #80017
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
drivers: flash: flash_mcux_flexspi: add support for W25Q512NW-IQ/IN #80017
Conversation
|
you might want to run clang format on the lines you are adding, you can run clang format on a line range |
c95fbdc to
e237bbb
Compare
|
@de-nordic could you take a look at this PR? |
e237bbb to
5ea46f3
Compare
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.
I have just noticed that device identification here is done by two bytes only, which is not correct.
The W25Q512 IQ, full id 0xef6020 or 0xef8020 (the second bytes indicate QE fixed/select), has the same two bytes as w25Q128 0xef6019.
This means that the below identification may by mistake set 4 byte address config to 3 byte address device, which neither supports 133MHz operation nor configured commands.
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.
Good catch- would you like me to add a commit to this PR extending the device ID check for all the flash chips here?
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.
I think that this can be too much of a change for this PR, just add if within case to filter out the w25Q128, using the last byte, or configure it properly.
I do not think it is proper to fix everything in this PR and you will have to go through docs to gather info which will probably delay the PR till you are ready.
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.
Ok, I've added a check to skip configuration if the full ID does not match the W25Q512NW. I don't have hardware to verify on at the moment, but reading the datasheet I believe the vendor ID should be read as 0x2060ef
5ea46f3 to
b9f254f
Compare
Add support for the W25Q512NW-IQ/IN with the FLEXSPI, using a custom LUT table. Fixes zephyrproject-rtos#80592 Signed-off-by: Daniel DeGrasse <[email protected]>
RT11xx SOC init should check to see if the zephyr flash node is set to a device on the FLEXSPI bus to determine if the part is running in XIP mode. This check was incorrect, so the FLEXSPI was being reclocked in XIP mode to 24 MHz. Fix this check so the FlexSPI is not downclocked. Fixes zephyrproject-rtos#75702 Signed-off-by: Daniel DeGrasse <[email protected]>
b9f254f to
70b5dc8
Compare
|
should this have bug label and 4.0 milestone |
Add support for the W25Q512NW-IQ/IN with the FLEXSPI, using a custom
LUT table.
This PR also corrects the FLEXSPI frequency check for the RT1170 SOC, which was previously reclocking the FlexSPI to 24 MHz when running in XIP mode.
Note this change depends on #80016, and contains commits from that PR until it mergesTested on
mimxrt1170_evk//cm7andmimxrt1170_evk@B//cm7withsamples/drivers/flash_shellFixes #80592