-
Notifications
You must be signed in to change notification settings - Fork 7.6k
boards: espressif: esp32s3_devkitc: introduce board variants #90908
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
boards: espressif: esp32s3_devkitc: introduce board variants #90908
Conversation
Introduce board variants for Espressif ESP32S3-DevKitC board to support the different SPI Flash & PSRAM sizes of ESP32-S3-WROOM module To maintain the same user experience, the N8 variant is kept as the default and will be selected automatically when no variant is given in the build command Signed-off-by: Abderrahmane JARMOUNI <[email protected]>
|
CI failure unrelated to PR
|
Cc @rftafas |
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.
While I agree that we should find a better way to deal with the multiple FLASH/PSRAM sizes, I don't agree with the presented changes. It introduces unnecessary complexity that is not reflected in terms of maintainability or ease of use. The reasoning in the issue is wrong as the module (or SIP) is not the SOC.
If existing devkits are not addressing user needs, there are several existing options: Define their boards (based on devkits), or add configurations into a prj.conf
, or create overlays, if they choose to depend on the existing devkits. Therefore, -1
I am well aware of that, but I used the terms SoC/Series according to how things are actually configured in Zephyr zephyr/soc/espressif/esp32s3/Kconfig.soc Line 10 in 11c543e
zephyr/soc/espressif/esp32s3/Kconfig Line 4 in 11c543e
|
I am unable to see what "unnecessary complexity" is being introduced with this change, we are using standard Zephyr hardware model tools to describe different board variants that are widely available, and this is done in many other boards in-tree already & is well understood by Zephyr users. |
Using board variants to implement the PSRAM & FLASH sizes is not a good idea for these reasons:
I think introducing the ESP32 related To be able to use something like |
That I concede, but there is no way around it with the tools we have rn.
It's not my fault that Hardware Model V2 works that way, if you have a better & cleaner method in mind to support board variants, please propose it. Plus there is no need for it to be super readable, it's just a config file that will be setup one time & not modified ever again except to add another variant or to migrate to the next hardware model....
RAM & Flash sizes are fundamental characteristics of a given SoC/board, that are closely linked to the build system, & influence what app can be build for/run on a given board, it's not a hardware feature that can enabled/disabled, unlike other hardware characteristics that can be changed quickly in devicetree... that don't really merit to have their own variants.
That was intentional, to validate the idea first and get community feedback :)
I don't think the changes proposed here add any meaningful amount of maintenance, they are written once & not touched again, the default config (N8) is still the same.
I will look into it, thank you for your valuable feedback! |
@JarmouniA PTAL here for the inspiration #87432 |
Introduce board variants for Espressif's ESP32S3-DevKitC board to support the different SPI Flash & PSRAM sizes of ESP32-S3-WROOM module based on https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide.html#ordering-information
To maintain the same user experience as before this change, the ESP32-S3-DevKitC-1-N8 variant is kept as the default and will be selected automatically when no variant is given in the build command; i.e.
west build -p always -b esp32s3_devkitc/esp32s3/procpu samples/hello_world --sysbuild