Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+43 −0
Original line number Original line Diff line number Diff line
@@ -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