1* Generic PM domains 2 3System on chip designs are often divided into multiple PM domains that can be 4used for power gating of selected IP blocks for power saving by reduced leakage 5current. 6 7This device tree binding can be used to bind PM domain consumer devices with 8their PM domains provided by PM domain providers. A PM domain provider can be 9represented by any node in the device tree and can provide one or more PM 10domains. A consumer node can refer to the provider by a phandle and a set of 11phandle 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 16Required 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 22Example: 23 24 power: power-controller@12340000 { 25 compatible = "foo,power-controller"; 26 reg = <0x12340000 0x1000>; 27 #power-domain-cells = <1>; 28 }; 29 30The node above defines a power controller that is a PM domain provider and 31expects one cell as its phandle argument. 32 33==PM domain consumers== 34 35Required properties: 36 - power-domains : A phandle and PM domain specifier as defined by bindings of 37 the power controller specified by phandle. 38 39Example: 40 41 leaky-device@12350000 { 42 compatible = "foo,i-leak-current"; 43 reg = <0x12350000 0x1000>; 44 power-domains = <&power 0>; 45 }; 46 47The node above defines a typical PM domain consumer device, which is located 48inside a PM domain with index 0 of a power controller represented by a node 49with the label "power". 50