Skip to content

RFC for set of changes to allow SCP firmware configuration of modules to use device tree as input source.

Mike Leach requested to merge mjl-scp-device-tree-config-v3 into main

This set of changes adds in tooling and adjusts build flow to allow modules to be configured using device tree elements instead of direct programming of configuration structures.

Provides example in the form of changes to the Juno product.

The build flow processes an input device tree, using python libraries taken from the Zephyr project, to create a set of macros representing values in the device tree sources. These values are then extracted at compile time using a set of APIs (also in macro form) to populate the data structures previously hand written as C code.

This process makes module configuration code re-useable.

Modules to use DT as a configuration mechanism can be selected on a per product basis, allowing a mix of DT and traditional module configuration. This further allows modules to be converted on an as needed basis.

Documentation explaining the new build flow and conventions used is provided.

Edited by Mike Leach

Merge request reports