Skip to content

Better DeviceTree Integration #119

@d3zd3z

Description

@d3zd3z

Currently, the devicetree support is driven by parsing the generated zephyr.dts file, combined
with a rust-specific config file that specifies the Rust device wraper types associated with various
nodes in the tree.

Ideally, this information would actually be part of the devicetree schema in Zephyr. There may also
be improvements to use, not the generated dts file, but the data structures built by the edtlib
parser that Zephyr uses to parse the device tree.

Some parts of this task:

  • Change the Rust DT generation to read the edtlib parsed tree. This involves extending the
    generator in the Rust build to not just generate a Python pickle file of this data, but also
    output it in a more portable format, such as json, or yaml, that can be read from the Rust code
    that generates the Rust devicetree code.
  • Work with the Zephyr DT maintainers to figure out the best way to represent the type information
    needed by Rust. This would be in parallel with ongoing work to improve how the DT scheme is
    represented in Zephyr.

Much will be driven by the needs of specific drivers as they are implemented.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions