-
Notifications
You must be signed in to change notification settings - Fork 8.2k
drivers: flash: Add support for Atmel AT25 SPI flash variant #92925
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
Closed
logletreecrus
wants to merge
1
commit into
zephyrproject-rtos:main
from
logletreecrus:add_drivers_flash_at25xv021a
Closed
drivers: flash: Add support for Atmel AT25 SPI flash variant #92925
logletreecrus
wants to merge
1
commit into
zephyrproject-rtos:main
from
logletreecrus:add_drivers_flash_at25xv021a
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
107c5fc to
a45a117
Compare
This comment was marked as outdated.
This comment was marked as outdated.
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
rriveramcrus
reviewed
Jul 9, 2025
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. This driver implements flash_erase, but flash_write also implicitly erases. Tested writing to and reading/erasing from an AT25XV021A device across page boundaries with varying lengths (less than and greater than page size). Tested chip erase functions. Tested driver initialization from varying initial hardware states. Signed-off-by: Liam Ogletree <[email protected]>
a45a117 to
7b187d6
Compare
|
|
#92980 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



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,
This driver implements flash_erase, but flash_write also implicitly erases.
Tested writing to and reading/erasing from an AT25XV021A device across page boundaries with varying lengths (less than and greater than page size). Tested chip erase functions. Tested driver initialization from varying initial hardware states.