Commit 3261227d authored by Ulf Hansson's avatar Ulf Hansson Committed by Rob Herring

dt-bindings: power: Convert domain-idle-states bindings to json-schema

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: a3f048b5 ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
[robh: drop type refs from standard unit properties]
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent ac9686a9
...@@ -123,7 +123,7 @@ properties: ...@@ -123,7 +123,7 @@ properties:
to mandate it. to mandate it.
[3] Documentation/devicetree/bindings/power/power_domain.txt [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: power-domains:
$ref: '/schemas/types.yaml#/definitions/phandle-array' $ref: '/schemas/types.yaml#/definitions/phandle-array'
......
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.
# 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@linaro.org>
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:
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:
description:
The worst case latency in microseconds required to exit the idle
state.
min-residency-us:
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
examples:
- |
domain-idle-states {
domain_retention: domain-retention {
compatible = "domain-idle-state";
entry-latency-us = <20>;
exit-latency-us = <40>;
min-residency-us = <80>;
};
};
...
...@@ -29,18 +29,16 @@ properties: ...@@ -29,18 +29,16 @@ properties:
domain-idle-states: domain-idle-states:
$ref: /schemas/types.yaml#/definitions/phandle-array $ref: /schemas/types.yaml#/definitions/phandle-array
description: description: |
A phandle of an idle-state that shall be soaked into a generic domain Phandles of idle states that defines the available states for the
power state. The idle state definitions are compatible with power-domain provider. The idle state definitions are compatible with the
domain-idle-state specified in domain-idle-state bindings, specified in ./domain-idle-state.yaml.
Documentation/devicetree/bindings/power/domain-idle-state.txt
phandles that are not compatible with domain-idle-state will be ignored. Note that, the domain-idle-state property reflects the idle states of this
The domain-idle-state property reflects the idle state of this PM domain PM domain and not the idle states of the devices or sub-domains in the PM
and not the idle states of the devices or sub-domains in the PM domain. domain. Devices and sub-domains have their own idle states independent of
Devices and sub-domains have their own idle-states independent the parent domain's idle states. In the absence of this property, the
of the parent domain's idle states. In the absence of this property, domain would be considered as capable of being powered-on or powered-off.
the domain would be considered as capable of being powered-on
or powered-off.
operating-points-v2: operating-points-v2:
$ref: /schemas/types.yaml#/definitions/phandle-array $ref: /schemas/types.yaml#/definitions/phandle-array
......
...@@ -109,4 +109,4 @@ Example: ...@@ -109,4 +109,4 @@ Example:
required-opps = <&domain1_opp_1>; required-opps = <&domain1_opp_1>;
}; };
[1]. Documentation/devicetree/bindings/power/domain-idle-state.txt [1]. Documentation/devicetree/bindings/power/domain-idle-state.yaml
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment