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: a3f048b542
("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
[robh: drop type refs from standard unit properties]
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
ac9686a936
commit
3261227d13
5 changed files with 76 additions and 47 deletions
|
@ -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'
|
||||||
|
|
|
@ -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.
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
# 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:
|
||||||
|
|
||||||
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:
|
||||||
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
|
||||||
|
|
Loading…
Add table
Reference in a new issue