-
Notifications
You must be signed in to change notification settings - Fork 7.7k
drivers: flash: Add support for Atmel AT25 SPI flash variant #92980
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?
drivers: flash: Add support for Atmel AT25 SPI flash variant #92980
Conversation
Hello @Liam-Ogletree, and thank you very much for your first pull request to the Zephyr project! |
d9a8fa6
to
938b962
Compare
It would be good to add an entry to |
Added an entry to /spi.dtsi for this flash driver. |
938b962
to
aca63fe
Compare
09c8642
to
2199a6a
Compare
2199a6a
to
0ddd3bf
Compare
0ddd3bf
to
f3aaef6
Compare
Depends on in-progress pull request zephyrproject-rtos#92980 adding support for AT25XV021A driver. Dummy values mirror at45 and spi-nor implementation. Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
f3aaef6
to
db24d89
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.
Thanks!
f9b6ff7
to
3320ec4
Compare
Erroneous |
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.
Write should not do erase.
Write should not potentially destroy existing data.
Write block size is not 1 and it is not clearly visible, from user perspective, that selected wbs reduces significantly endurance of a device from the one stated in datasheet.
3320ec4
to
1a323c3
Compare
Hi @de-nordic Thank you for the review! I updated both Appreciate your time! |
1a323c3
to
0570b3c
Compare
The AT25XV021A variant is a flash variant of Atmel's AT25 family that adds extra protections, requiring additional writes to the device to program or erase data. This commit adds a flash driver for AT25XV021A devices instead of modifying (1) the existing AT45 SPI flash driver or (2) the existing AT24/25 EEPROM driver because this variant poses fundamental changes that affect all aspects of the driver. Notably, - AT25XV021A includes a second status register, and the format and functions of the existing status register is changed from the existing drivers. - AT25XV021A requires executing page or chip erase commands before writing, making it incompatible with the existing AT24/25 EEPROM driver. - AT25XV021A adds a software protection layer that requires extra writes before executing program or erase commands. Tested writing to and erasing from an AT25XV021A device. Tested reading from an AT25XV021A device across page boundaries. Tested chip erase function. Tested driver initialization from varying initial hardware states. Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Dummy values mirror at25 and spi-nor implementation. Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
0570b3c
to
3a033d7
Compare
|
The AT25XV021A variant is a flash variant of Atmel's AT25 family that adds extra protections, requiring additional writes to the device to program or erase data.
This commit adds a flash driver for AT25XV021A devices instead of modifying (1) the existing AT45 SPI flash driver or (2) the existing AT24/25 EEPROM driver because this variant poses fundamental changes that affect all aspects of the driver.
Notably,
Tested writing to and erasing from an AT25XV021A device. Tested reading from an AT25XV021A device across page boundaries. Tested chip erase function. Tested driver initialization from varying initial hardware states.