.. | .. |
---|
13 | 13 | |
---|
14 | 14 | ==PM domain providers== |
---|
15 | 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 | | -Optional properties: |
---|
23 | | - - power-domains : A phandle and PM domain specifier as defined by bindings of |
---|
24 | | - the power controller specified by phandle. |
---|
25 | | - Some power domains might be powered from another power domain (or have |
---|
26 | | - other hardware specific dependencies). For representing such dependency |
---|
27 | | - a standard PM domain consumer binding is used. When provided, all domains |
---|
28 | | - created by the given provider should be subdomains of the domain |
---|
29 | | - specified by this binding. More details about power domain specifier are |
---|
30 | | - available in the next section. |
---|
31 | | - |
---|
32 | | -- domain-idle-states : A phandle of an idle-state that shall be soaked into a |
---|
33 | | - generic domain power state. The idle state definitions are |
---|
34 | | - compatible with domain-idle-state specified in [1]. phandles |
---|
35 | | - that are not compatible with domain-idle-state will be |
---|
36 | | - ignored. |
---|
37 | | - The domain-idle-state property reflects the idle state of this PM domain and |
---|
38 | | - not the idle states of the devices or sub-domains in the PM domain. Devices |
---|
39 | | - and sub-domains have their own idle-states independent of the parent |
---|
40 | | - domain's idle states. In the absence of this property, the domain would be |
---|
41 | | - considered as capable of being powered-on or powered-off. |
---|
42 | | - |
---|
43 | | -- operating-points-v2 : Phandles to the OPP tables of power domains provided by |
---|
44 | | - a power domain provider. If the provider provides a single power domain only |
---|
45 | | - or all the power domains provided by the provider have identical OPP tables, |
---|
46 | | - then this shall contain a single phandle. Refer to ../opp/opp.txt for more |
---|
47 | | - information. |
---|
48 | | - |
---|
49 | | -Example: |
---|
50 | | - |
---|
51 | | - power: power-controller@12340000 { |
---|
52 | | - compatible = "foo,power-controller"; |
---|
53 | | - reg = <0x12340000 0x1000>; |
---|
54 | | - #power-domain-cells = <1>; |
---|
55 | | - }; |
---|
56 | | - |
---|
57 | | -The node above defines a power controller that is a PM domain provider and |
---|
58 | | -expects one cell as its phandle argument. |
---|
59 | | - |
---|
60 | | -Example 2: |
---|
61 | | - |
---|
62 | | - parent: power-controller@12340000 { |
---|
63 | | - compatible = "foo,power-controller"; |
---|
64 | | - reg = <0x12340000 0x1000>; |
---|
65 | | - #power-domain-cells = <1>; |
---|
66 | | - }; |
---|
67 | | - |
---|
68 | | - child: power-controller@12341000 { |
---|
69 | | - compatible = "foo,power-controller"; |
---|
70 | | - reg = <0x12341000 0x1000>; |
---|
71 | | - power-domains = <&parent 0>; |
---|
72 | | - #power-domain-cells = <1>; |
---|
73 | | - }; |
---|
74 | | - |
---|
75 | | -The nodes above define two power controllers: 'parent' and 'child'. |
---|
76 | | -Domains created by the 'child' power controller are subdomains of '0' power |
---|
77 | | -domain provided by the 'parent' power controller. |
---|
78 | | - |
---|
79 | | -Example 3: |
---|
80 | | - parent: power-controller@12340000 { |
---|
81 | | - compatible = "foo,power-controller"; |
---|
82 | | - reg = <0x12340000 0x1000>; |
---|
83 | | - #power-domain-cells = <0>; |
---|
84 | | - domain-idle-states = <&DOMAIN_RET>, <&DOMAIN_PWR_DN>; |
---|
85 | | - }; |
---|
86 | | - |
---|
87 | | - child: power-controller@12341000 { |
---|
88 | | - compatible = "foo,power-controller"; |
---|
89 | | - reg = <0x12341000 0x1000>; |
---|
90 | | - power-domains = <&parent>; |
---|
91 | | - #power-domain-cells = <0>; |
---|
92 | | - domain-idle-states = <&DOMAIN_PWR_DN>; |
---|
93 | | - }; |
---|
94 | | - |
---|
95 | | - DOMAIN_RET: state@0 { |
---|
96 | | - compatible = "domain-idle-state"; |
---|
97 | | - reg = <0x0>; |
---|
98 | | - entry-latency-us = <1000>; |
---|
99 | | - exit-latency-us = <2000>; |
---|
100 | | - min-residency-us = <10000>; |
---|
101 | | - }; |
---|
102 | | - |
---|
103 | | - DOMAIN_PWR_DN: state@1 { |
---|
104 | | - compatible = "domain-idle-state"; |
---|
105 | | - reg = <0x1>; |
---|
106 | | - entry-latency-us = <5000>; |
---|
107 | | - exit-latency-us = <8000>; |
---|
108 | | - min-residency-us = <7000>; |
---|
109 | | - }; |
---|
| 16 | +See power-domain.yaml. |
---|
110 | 17 | |
---|
111 | 18 | ==PM domain consumers== |
---|
112 | 19 | |
---|
.. | .. |
---|
202 | 109 | required-opps = <&domain1_opp_1>; |
---|
203 | 110 | }; |
---|
204 | 111 | |
---|
205 | | -[1]. Documentation/devicetree/bindings/power/domain-idle-state.txt |
---|
| 112 | +[1]. Documentation/devicetree/bindings/power/domain-idle-state.yaml |
---|