On Tue, Mar 03, 2020 at 04:07:45PM +0100, Ulf Hansson wrote: > While converting to the json-schema, let's also take the opportunity to > further specify/clarify some more details about the DT binding. > > For example, let's define the label where to put the states nodes, set a > pattern for nodename of the state nodes and finally add an example. > > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states") > Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> > --- > .../devicetree/bindings/arm/psci.yaml | 2 +- > .../bindings/power/domain-idle-state.txt | 33 --------- > .../bindings/power/domain-idle-state.yaml | 67 +++++++++++++++++++ > .../bindings/power/power-domain.yaml | 22 +++--- > .../bindings/power/power_domain.txt | 2 +- > 5 files changed, 79 insertions(+), 47 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt > create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml > index 540211a080d4..0bc3c43a525a 100644 > --- a/Documentation/devicetree/bindings/arm/psci.yaml > +++ b/Documentation/devicetree/bindings/arm/psci.yaml > @@ -123,7 +123,7 @@ properties: > to mandate it. > > [3] Documentation/devicetree/bindings/power/power_domain.txt > - [4] Documentation/devicetree/bindings/power/domain-idle-state.txt > + [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml > > power-domains: > $ref: '/schemas/types.yaml#/definitions/phandle-array' > diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.txt b/Documentation/devicetree/bindings/power/domain-idle-state.txt > deleted file mode 100644 > index eefc7ed22ca2..000000000000 > --- a/Documentation/devicetree/bindings/power/domain-idle-state.txt > +++ /dev/null > @@ -1,33 +0,0 @@ > -PM Domain Idle State Node: > - > -A domain idle state node represents the state parameters that will be used to > -select the state when there are no active components in the domain. > - > -The state node has the following parameters - > - > -- compatible: > - Usage: Required > - Value type: <string> > - Definition: Must be "domain-idle-state". > - > -- entry-latency-us > - Usage: Required > - Value type: <prop-encoded-array> > - Definition: u32 value representing worst case latency in > - microseconds required to enter the idle state. > - The exit-latency-us duration may be guaranteed > - only after entry-latency-us has passed. > - > -- exit-latency-us > - Usage: Required > - Value type: <prop-encoded-array> > - Definition: u32 value representing worst case latency > - in microseconds required to exit the idle state. > - > -- min-residency-us > - Usage: Required > - Value type: <prop-encoded-array> > - Definition: u32 value representing minimum residency duration > - in microseconds after which the idle state will yield > - power benefits after overcoming the overhead in entering > -i the idle state. > diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml > new file mode 100644 > index 000000000000..27da43076b85 > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml > @@ -0,0 +1,67 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/power/domain-idle-state.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: PM Domain Idle States binding description > + > +maintainers: > + - Ulf Hansson <ulf.hansson@xxxxxxxxxx> > + > +description: > + A domain idle state node represents the state parameters that will be used to > + select the state when there are no active components in the PM domain. > + > +properties: > + $nodename: > + const: domain-idle-states > + > +patternProperties: > + "^(cpu|cluster|domain)-": > + type: object > + description: > + Each state node represents a domain idle state description. > + > + properties: > + compatible: > + const: domain-idle-state > + > + entry-latency-us: > + $ref: /schemas/types.yaml#/definitions/uint32 You don't need a type because the core schema defines it for all standard units. > + description: > + The worst case latency in microseconds required to enter the idle > + state. Note that, the exit-latency-us duration may be guaranteed only > + after the entry-latency-us has passed. > + > + exit-latency-us: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + The worst case latency in microseconds required to exit the idle > + state. > + > + min-residency-us: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + The minimum residency duration in microseconds after which the idle > + state will yield power benefits, after overcoming the overhead while > + entering the idle state. > + > + required: > + - compatible > + - entry-latency-us > + - exit-latency-us > + - min-residency-us additionalProperties: false Do we have cases of adding additional properties? I can fix these up when applying. Rob