dt/bindings / PM/Domains: Update binding for PM domain idle states

Update DT bindings to describe idle states of PM domains.

This patch is based on the original patch by Marc Titinger.

Signed-off-by: Marc Titinger <mtitinger+renesas@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Lina Iyer 2016-10-14 10:47:53 -07:00 committed by Rafael J. Wysocki
parent 0c9b694a8a
commit 70bb510e42

View file

@ -29,6 +29,15 @@ Optional properties:
specified by this binding. More details about power domain specifier are specified by this binding. More details about power domain specifier are
available in the next section. available in the next section.
- domain-idle-states : A phandle of an idle-state that shall be soaked into a
generic domain power state. The idle state definitions are
compatible with arm,idle-state specified in [1].
The domain-idle-state property reflects the idle state of this PM domain and
not the idle states of the devices or sub-domains in the PM domain. Devices
and sub-domains have their own idle-states independent of the parent
domain's idle states. In the absence of this property, the domain would be
considered as capable of being powered-on or powered-off.
Example: Example:
power: power-controller@12340000 { power: power-controller@12340000 {
@ -59,6 +68,38 @@ The nodes above define two power controllers: 'parent' and 'child'.
Domains created by the 'child' power controller are subdomains of '0' power Domains created by the 'child' power controller are subdomains of '0' power
domain provided by the 'parent' power controller. domain provided by the 'parent' power controller.
Example 3:
parent: power-controller@12340000 {
compatible = "foo,power-controller";
reg = <0x12340000 0x1000>;
#power-domain-cells = <0>;
domain-idle-states = <&DOMAIN_RET>, <&DOMAIN_PWR_DN>;
};
child: power-controller@12341000 {
compatible = "foo,power-controller";
reg = <0x12341000 0x1000>;
power-domains = <&parent 0>;
#power-domain-cells = <0>;
domain-idle-states = <&DOMAIN_PWR_DN>;
};
DOMAIN_RET: state@0 {
compatible = "arm,idle-state";
reg = <0x0>;
entry-latency-us = <1000>;
exit-latency-us = <2000>;
min-residency-us = <10000>;
};
DOMAIN_PWR_DN: state@1 {
compatible = "arm,idle-state";
reg = <0x1>;
entry-latency-us = <5000>;
exit-latency-us = <8000>;
min-residency-us = <7000>;
};
==PM domain consumers== ==PM domain consumers==
Required properties: Required properties:
@ -76,3 +117,5 @@ Example:
The node above defines a typical PM domain consumer device, which is located The node above defines a typical PM domain consumer device, which is located
inside a PM domain with index 0 of a power controller represented by a node inside a PM domain with index 0 of a power controller represented by a node
with the label "power". with the label "power".
[1]. Documentation/devicetree/bindings/arm/idle-states.txt