An export-symbols node allows to export symbols for symbols resolution performed when applying a device tree overlay. When a device tree overlay is applied on a node having an export-symbols node, symbols listed in the export-symbols node are used to resolve undefined symbols referenced from the overlay. This allows: - Referencing symbols from an device tree overlay without the need to know the full base board. Only the connector definition is needed. - Using the exact same overlay on several connectors available on a given board. For instance, the following description is supported with the export-symbols node: - Base device tree board A: ... foo_connector: connector1 { export-symbols { connector = <&foo_connector>; }; }; bar_connector: connector2 { export-symbols { connector = <&bar_connector>; }; }; ... - Base device tree board B: ... front_connector: addon-connector { export-symbols { connector = <&front_connector>; }; }; ... - Overlay describing an addon board the can be connected on connectors: ... node { ... connector = <&connector>; ... }; ... Thanks to the export-symbols node, the overlay can be applied on connector1 or connector2 available on board A but also on addon-connector available on board B. Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> --- .../devicetree/bindings/export-symbols.yaml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Documentation/devicetree/bindings/export-symbols.yaml diff --git a/Documentation/devicetree/bindings/export-symbols.yaml b/Documentation/devicetree/bindings/export-symbols.yaml new file mode 100644 index 000000000000..0e404eff8937 --- /dev/null +++ b/Documentation/devicetree/bindings/export-symbols.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/export-symbols.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Export symbols + +maintainers: + - Herve Codina <herve.codina@xxxxxxxxxxx> + +description: | + An export-symbols node allows to export symbols for symbols resolution + performed when applying a device tree overlay. + + When a device tree overlay is applied on a node having an export-symbols + node, symbols listed in the export-symbols node are used to resolve undefined + symbols referenced from the overlay. + +properties: + $nodename: + const: export-symbols + +patternProperties: + "^[a-zA-Z_]?[a-zA-Z0-9_]*$": + $ref: /schemas/types.yaml#/definitions/phandle + description: + A symbol exported in the form <symbol_name>=<phandle>. + +additionalProperties: false + +examples: + - | + /* + * Allows 'connector' symbol used in a device-tree overlay to be resolved to + * connector0 when the device-tree overlay is applied on connector0 node. + */ + connector0: connector0 { + export-symbols { + connector = <&connector0>; + }; + }; +... -- 2.47.0