Merge branch 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / power / power_domain.txt
1 * Generic PM domains
2
3 System on chip designs are often divided into multiple PM domains that can be
4 used for power gating of selected IP blocks for power saving by reduced leakage
5 current.
6
7 This device tree binding can be used to bind PM domain consumer devices with
8 their PM domains provided by PM domain providers. A PM domain provider can be
9 represented by any node in the device tree and can provide one or more PM
10 domains. A consumer node can refer to the provider by a phandle and a set of
11 phandle arguments (so called PM domain specifiers) of length specified by the
12 #power-domain-cells property in the PM domain provider node.
13
14 ==PM domain providers==
15
16 Required properties:
17  - #power-domain-cells : Number of cells in a PM domain specifier;
18    Typically 0 for nodes representing a single PM domain and 1 for nodes
19    providing multiple PM domains (e.g. power controllers), but can be any value
20    as specified by device tree binding documentation of particular provider.
21
22 Example:
23
24         power: power-controller@12340000 {
25                 compatible = "foo,power-controller";
26                 reg = <0x12340000 0x1000>;
27                 #power-domain-cells = <1>;
28         };
29
30 The node above defines a power controller that is a PM domain provider and
31 expects one cell as its phandle argument.
32
33 ==PM domain consumers==
34
35 Required properties:
36  - power-domains : A phandle and PM domain specifier as defined by bindings of
37                    the power controller specified by phandle.
38
39 Example:
40
41         leaky-device@12350000 {
42                 compatible = "foo,i-leak-current";
43                 reg = <0x12350000 0x1000>;
44                 power-domains = <&power 0>;
45         };
46
47 The node above defines a typical PM domain consumer device, which is located
48 inside a PM domain with index 0 of a power controller represented by a node
49 with the label "power".