-
Notifications
You must be signed in to change notification settings - Fork 8.1k
drivers: flash: Introduce BFLB flash driver. #96680
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?
Conversation
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 1 project with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
cd0455e
to
e821c9d
Compare
5db0053
to
2a4c5d9
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.
It looks like a half-hardware (automatic read/write flash commands) half-software (manual config flash commands) peripheral. First time I see this (I've obviously not seen a lot).
I think it's pretty common? RP2 memory peripheral has the same kind of things for both flash and PSRAM. It allows using any kind of flash and other more exotic (mram, psram, etc) stuffs |
01afdfe
to
ba39d3a
Compare
I think I got all of the review comments? Might try another push with clang-format |
ba39d3a
to
5bb8c0c
Compare
5bb8c0c
to
51e0378
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.
Here is another round of review, I hope I caught everything this time.
I've been marking the existing checks and a few more. May you fold the comments that do not need a fix.
94cb5ab
to
ec017e6
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 noticed I was not sure when function call errors should be ignored (some valid use-cases for that, i.e. do not break XIP for a temporary error) or not. So I marked them for you to tell, if that's ok.
I realize ESP-IDF has macros to automate if (ret) { return ret; }
.
I think that's all though. It's a pretty large driver. A lot of code needed.
ec017e6
to
54018a2
Compare
anyway fun fact time, it's the 7th biggest driver in the folder... And there is still a bunch of features to add 😭 |
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 did not catch anything on this last round.
Thanks for all the effort!
Looking at other flash drivers, they are also very software-defined + it's HAL-free, so that's where the actual code is.
One more flash driver for Zephyr...
will be deleted Signed-off-by: Camille BAUD <[email protected]>
54018a2
to
079ea1f
Compare
Introduce Bouffalolab Flash Controller with support for bank 1 Signed-off-by: Camille BAUD <[email protected]>
Enable the Flash Controller Signed-off-by: Camille BAUD <[email protected]>
Enable the flash controller. Relocation is required. Signed-off-by: Camille BAUD <[email protected]>
079ea1f
to
96dc8dd
Compare
Adds the flash to supported for testing Signed-off-by: Camille BAUD <[email protected]>
Added the flash test thing because it wasnt added. |
|
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 confirms that the CI hotfix for flash worked, in a way.
Not quite, this one never failed due the issue... because it had a flash driver |
Introduce flash driver for 1 bank of flash (all of them on bl60x and bl70x, half of them on bl61x)
Caveat: no bank2 support (feature of bl61x)
Not sure how to handle the flash naming and devices as they are either separate die flash or external flash but need the controller to work (and so be soc-nv-flash).