Join GitHub today
Support of device tree gpio-map #15637
Implement device tree gpio-map concept to enable the complete definition of connectors, down to individual pin assignments.
Today, in device tree description, we miss a way to provide a reference to an individual pin.
Implement the dts upcoming gpio-map concept described in device tree specification v0.3
Following part was earlier described in #14057 (comment), but is detailed again here for sake of clarity.
gpio-map concept provides a way to define a pin-map and adds the possibility to define GPIO flag in the shield overlay.
Basically, on board side, pin header is defined as follows:
In shield overlay, we can refer to individual pins as follows
Processed by dtc (current zephyr supported version), this ends up in the following:
At this step
So far I haven't dig much more and this might have some limitation in some cases.
Proposed change (Detailed)
Aside from providing the descriptions in boards and use them in shields, the required implementation is to perform the phandle resolution that still has to be done following dtc processing.
External dependency is on device tree.
Concerns and Unresolved Questions
Initial proposal for the implementation of the gpio-connector phandle resolution was to be done in
EDIT: It was agreed to go with extract_dts_includes as a first start.
Best alternative was proposed in #14057, but was showing limitations and missed compliance with dts.