-
Notifications
You must be signed in to change notification settings - Fork 7.1k
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
doc: boards: extensions: Add Sphinx directive for board supported hardware #85652
doc: boards: extensions: Add Sphinx directive for board supported hardware #85652
Conversation
8b94c0e
to
c9fce14
Compare
f0f0b27
to
4f9bbda
Compare
1e6e10e
to
a9d4750
Compare
For "SiLabs SiWx917", we plan to support additional devices: adc, pwm, spi, etc... Because the limited number of pins, we won't be able to set Maybe one of the solution would be to consider all the nodes with |
@jerome-pouiller thanks for the input! It feels like ![]() |
A file similar to vendor-prefixes.txt that provides a short description of the top-level folders contained in dts/bindings Signed-off-by: Benjamin Cabé <[email protected]>
…dware Introduce a new directive for displaying hardware features supported by a board, using information available in the devicetree. Signed-off-by: Benjamin Cabé <[email protected]>
Replace manually authored hardware features table with the new Zephyr board supported hardware directive which automatically generates an up-to-date table based on the boards' Devicetree. Signed-off-by: Benjamin Cabé <[email protected]>
b71306b
to
734a3bf
Compare
Rebased on |
@kartben what is wrong with just using the presence of the node as indicative of support regardless of "Okay" or "disabled"? |
Optionally, but it would make things event more complex, we can instantiate 2 kind of searches:
|
What about to differentiate the |
@dleach02
I actually like that idea. I think we would still want the table of supported features to limit itself to only what's actually "okay", but for search, yeah, the users could check a "Show SoC peripherals" checkbox (unchecked by default) or something. Checking the box would remove the filtering on okay nodes to instead take into account all nodes. Users would then have a rough idea of things that they may be able to enable on a given board and what the underlying SoC has to offer (but doesn't necessarily support btw: the presence of a matching "compatible" is no guarantee that the driver doesn't throw some kind of |
@henrikbrixandersen please revisit as I believe your comment has been addressed. |
The PR looks very good! I want to bring the following scenario but consider not a blocker at all. (sorry if already commented before). The reason I consider this issue not a blocker is that current documentation is also missing a bunch of "Supported Features" - at least for some ESP32 boards, not sure about others. In the doc below, it misses Wi-Fi, BLE, I2C, I2S.. https://docs.zephyrproject.org/latest/boards/espressif/esp32s3_devkitm/doc/index.html#supported-features |
I am still not a fan of the inferring of devicetree binding descriptions based on folders, nor am I convinced that the current form is an improvement to our board documentation as I find it too noisy and too much of a "guess" when just looking at "okay" DTS nodes, but I will dismiss my change request as my original review comment was resolved (thanks!).
@jerome-pouiller @dleach02 @sylvioalves you may want to take a look at the WIP of the next iteration -- I think you will like it :) #86128 ![]() |
Introduce a new directive for displaying hardware features supported by a board, using information available in the Devicetree.
It outputs a table for each board target, where the table contains type of hw peripheral / description / link to documentation of the binding.
As a way to demonstrate the feature in action, documentation of the BBC micro:bit boards has been updated to adopt the new directive.
Only the last commit is relevant, the rest is tackled in #79754.
Same as other PR: due to this PR updating the doc-build.yml workflow, it's not publishing the CI output to builds.zephyrproject.io ; best way to test the actual user experience is to get the most recent successful build from my fork (https://github.com/kartben/zephyr/actions/workflows/doc-build.yml?query=event%3Aschedule), download the html-output artifact, unzip it, and open index.html in a browser
An obvious improvement opprtunity will be to use tabs for the various board targets ; it is, interestingly enough, not that easy to do elegantly, so hopefully people are fine if this comes at a later stage :) In any case, only boards that "opt-in" to migrate to using the new directive will get the new table(s) anyway, so it's not like it's going to directly impact users :)