GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / arm / apple / apple,pmgr.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/arm/apple/apple,pmgr.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Apple SoC Power Manager (PMGR)
8
9 maintainers:
10   - Hector Martin <marcan@marcan.st>
11
12 description: |
13   Apple SoCs include PMGR blocks responsible for power management,
14   which can control various clocks, resets, power states, and
15   performance features. This node represents the PMGR as a syscon,
16   with sub-nodes representing individual features.
17
18 properties:
19   $nodename:
20     pattern: "^power-management@[0-9a-f]+$"
21
22   compatible:
23     items:
24       - enum:
25           - apple,t8103-pmgr
26           - apple,t6000-pmgr
27       - const: apple,pmgr
28       - const: syscon
29       - const: simple-mfd
30
31   reg:
32     maxItems: 1
33
34   "#address-cells":
35     const: 1
36
37   "#size-cells":
38     const: 1
39
40 patternProperties:
41   "power-controller@[0-9a-f]+$":
42     description:
43       The individual power management domains within this controller
44     type: object
45     $ref: /schemas/power/apple,pmgr-pwrstate.yaml#
46
47 required:
48   - compatible
49   - reg
50
51 additionalProperties: false
52
53 examples:
54   - |
55     soc {
56         #address-cells = <2>;
57         #size-cells = <2>;
58
59         power-management@23b700000 {
60             compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
61             #address-cells = <1>;
62             #size-cells = <1>;
63             reg = <0x2 0x3b700000 0x0 0x14000>;
64
65             ps_sio: power-controller@1c0 {
66                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
67                 reg = <0x1c0 8>;
68                 #power-domain-cells = <0>;
69                 #reset-cells = <0>;
70                 label = "sio";
71                 apple,always-on;
72             };
73
74             ps_uart_p: power-controller@220 {
75                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
76                 reg = <0x220 8>;
77                 #power-domain-cells = <0>;
78                 #reset-cells = <0>;
79                 label = "uart_p";
80                 power-domains = <&ps_sio>;
81             };
82
83             ps_uart0: power-controller@270 {
84                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
85                 reg = <0x270 8>;
86                 #power-domain-cells = <0>;
87                 #reset-cells = <0>;
88                 label = "uart0";
89                 power-domains = <&ps_uart_p>;
90             };
91         };
92
93         power-management@23d280000 {
94             compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
95             #address-cells = <1>;
96             #size-cells = <1>;
97             reg = <0x2 0x3d280000 0x0 0xc000>;
98
99             ps_aop_filter: power-controller@4000 {
100                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
101                 reg = <0x4000 8>;
102                 #power-domain-cells = <0>;
103                 #reset-cells = <0>;
104                 label = "aop_filter";
105             };
106
107             ps_aop_base: power-controller@4010 {
108                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
109                 reg = <0x4010 8>;
110                 #power-domain-cells = <0>;
111                 #reset-cells = <0>;
112                 label = "aop_base";
113                 power-domains = <&ps_aop_filter>;
114             };
115
116             ps_aop_shim: power-controller@4038 {
117                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
118                 reg = <0x4038 8>;
119                 #power-domain-cells = <0>;
120                 #reset-cells = <0>;
121                 label = "aop_shim";
122                 power-domains = <&ps_aop_base>;
123             };
124
125             ps_aop_uart0: power-controller@4048 {
126                 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
127                 reg = <0x4048 8>;
128                 #power-domain-cells = <0>;
129                 #reset-cells = <0>;
130                 label = "aop_uart0";
131                 power-domains = <&ps_aop_shim>;
132             };
133         };
134     };