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 Diff line number Diff line
@@ -29,6 +29,15 @@ Optional properties:
   specified by this binding. More details about power domain specifier are
   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:

	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
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==

Required properties:
@@ -76,3 +117,5 @@ Example:
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
with the label "power".

[1]. Documentation/devicetree/bindings/arm/idle-states.txt