Commit 70bb510e authored by Lina Iyer's avatar Lina Iyer Committed by Rafael J. Wysocki

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: default avatarMarc Titinger <mtitinger+renesas@baylibre.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarLina Iyer <lina.iyer@linaro.org>
Acked-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 0c9b694a
...@@ -29,6 +29,15 @@ Optional properties: ...@@ -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'. ...@@ -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: ...@@ -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
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