-
Notifications
You must be signed in to change notification settings - Fork 8.4k
soc: nxp: mcx: MCXN947: add NVS subsystem support with flash_k4 driver #89909
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
Conversation
|
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
|
@hakehuang , can you help test this? This changes the driver used for internal flash. Only the MCXN947 and MCXW devices use this flash_k4 driver currently. The other MCXN and MCXA devices use the existing ROM API driver (for now). |
@DerekSnell , but this will cause the tests/drivers/flash cases failure on those board |
| - i2c | ||
| - i2s | ||
| - i3c | ||
| - nvs |
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 am personally OK with using SW features, but Zephyr considers it as a mistake.
Please read the comment of @nashif:
#79924 (comment)
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.
Thanks @butok . But the NVS support does depend on the hardware. NVS does not support flash with program phrase sizes over 32 Bytes. This is the major reason this PR moves this SOC to the other driver, to enable NVS. I feel we do need to filter the NVS tests and samples based on the HW platform. NXP still has other platforms that are not compatible with NVS, like the LPC5500 family.
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.
But the NVS support does depend on the hardware.
Nice. I will use this argument in future discussions. ;)
@hakehuang , that test case fails from this known issue #88080. And that test case tests the external QSPI flash, not the internal flash used with this PR. |
board testing for system/subsys/nvs pass on v4.1.0-3814-g72ab204c80ac |
|
@DerekSnell can you address the merge conflicts |
|
rebased to resolve merge conflicts. Also added the MCXN547 SOC derivative from #89712 |
|
rebased to resolve CI test failures |
|
board testing pass for |
Use flash_k4 driver for internal flash instead of ROM API driver. One benefit is the flash program phrase size decreases from 128 Bytes to 16 Bytes. 16 Byte phrases enables this SOC to leverage the Zephyr NVS subsystem, and the MCUboot swap mode. Signed-off-by: Derek Snell <derek.snell@nxp.com> Conflicts: west.yml
For internal flash FMU programg/erase operations, enable the FRO12MHZ clock when the flash driver is enabled. Signed-off-by: Derek Snell <derek.snell@nxp.com>
For boards frdm_mcxn947 and mcx_n9xx_evk test NVS in internal flash in addition to external QSPI flash. Also enable the NVS subsystem on these boards for Twister. Signed-off-by: Derek Snell <derek.snell@nxp.com>
|
@DerekSnell your HAL PR was merged so I updated this one to have the new SHA |
|



benefit is the flash program phrase size decreases from 128 Bytes to 16 Bytes. 16 Byte phrases enables this SOC to leverage the Zephyr NVS subsystem, and the MCUboot swap mode.