Message ID | 20250613-pmdomain-hierarchy-onecell-v3-1-5c770676fce7@baylibre.com |
---|---|
State | New |
Headers | show |
Series | pmdomain: core: add support for domain hierarchies in DT | expand |
On Fri, 13 Jun 2025 15:39:27 -0700, Kevin Hilman wrote: > Add support for nexus map `power-domain-map` to be able to support > hierarchical power domains for providers with #power-domain-cells > 0. > > Suggested-by: Rob Herring <robh@kernel.org> > Signed-off-by: Kevin Hilman <khilman@baylibre.com> > --- > Documentation/devicetree/bindings/power/power-domain.yaml | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Error: Documentation/devicetree/bindings/power/power-domain.example.dts:136.18-19 syntax error FATAL ERROR: Unable to parse input tree make[2]: *** [scripts/Makefile.dtbs:131: Documentation/devicetree/bindings/power/power-domain.example.dtb] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1519: dt_binding_check] Error 2 make: *** [Makefile:248: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250613-pmdomain-hierarchy-onecell-v3-1-5c770676fce7@baylibre.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
diff --git a/Documentation/devicetree/bindings/power/power-domain.yaml b/Documentation/devicetree/bindings/power/power-domain.yaml index 8fdb529d560b..9f099d326aee 100644 --- a/Documentation/devicetree/bindings/power/power-domain.yaml +++ b/Documentation/devicetree/bindings/power/power-domain.yaml @@ -68,6 +68,15 @@ properties: by the given provider should be subdomains of the domain specified by this binding. + power-domains-map: + $ref: /schemas/types.yaml#/definitions/uint32-array + description: + Nexus node mapping property that establishes parent-child relationships + for PM domains using the format defined in the Device Tree specification + section 2.5.1. Each map entry consists of child domain specifier, + parent phandle, and optional parent specifier arguments. This property + is only supported for onecell providers (#power-domain-cells = 1). + required: - "#power-domain-cells" @@ -133,3 +142,29 @@ examples: min-residency-us = <7000>; }; }; + + - | + // Example using power-domains-map for Nexus mapping + main_pd: power-controller@12370000 { + compatible = "foo,power-controller"; + reg = <0x12370000 0x1000>; + #power-domain-cells = <0>; + }; + + wkup_pd: power-controller@12380000 { + compatible = "foo,power-controller"; + reg = <0x12380000 0x1000>; + #power-domain-cells = <0>; + }; + + scmi_pds protocol@11 { + compatible = "arm,scmi-power-domain"; + reg = <0x11>; + #power-domain-cells = <1>; + power-domains-map = <15 &main_pd>, + <19 &wkup_pd>; + }; + + // In this example using Nexus node mapping: + // - Child domain 15 (scmi_pds 15) becomes a subdomain of main_pd + // - Child domain 19 (scmi_pds 19) becomes a subdomain of wkup_pd
Add support for nexus map `power-domain-map` to be able to support hierarchical power domains for providers with #power-domain-cells > 0. Suggested-by: Rob Herring <robh@kernel.org> Signed-off-by: Kevin Hilman <khilman@baylibre.com> --- Documentation/devicetree/bindings/power/power-domain.yaml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)