xref: /linux/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
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
7title: Apple SoC Power Manager (PMGR)
8
9maintainers:
10  - Hector Martin <marcan@marcan.st>
11
12description: |
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
18properties:
19  $nodename:
20    pattern: "^power-management@[0-9a-f]+$"
21
22  compatible:
23    oneOf:
24      - items:
25          - enum:
26              # Do not add additional SoC to this list.
27              - apple,s5l8960x-pmgr
28              - apple,t7000-pmgr
29              - apple,s8000-pmgr
30              - apple,t8010-pmgr
31              - apple,t8015-pmgr
32              - apple,t8103-pmgr
33              - apple,t8112-pmgr
34              - apple,t6000-pmgr
35          - const: apple,pmgr
36          - const: syscon
37          - const: simple-mfd
38      - items:
39          - enum:
40              - apple,t6020-pmgr
41              - apple,t6030-pmgr
42              - apple,t6031-pmgr
43              - apple,t8122-pmgr
44          - const: apple,t8103-pmgr
45          - const: syscon
46          - const: simple-mfd
47
48  reg:
49    maxItems: 1
50
51  "#address-cells":
52    const: 1
53
54  "#size-cells":
55    const: 1
56
57patternProperties:
58  "power-controller@[0-9a-f]+$":
59    description:
60      The individual power management domains within this controller
61    type: object
62    $ref: /schemas/power/apple,pmgr-pwrstate.yaml#
63
64required:
65  - compatible
66  - reg
67
68additionalProperties: false
69
70examples:
71  - |
72    soc {
73        #address-cells = <2>;
74        #size-cells = <2>;
75
76        power-management@23b700000 {
77            compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
78            #address-cells = <1>;
79            #size-cells = <1>;
80            reg = <0x2 0x3b700000 0x0 0x14000>;
81
82            ps_sio: power-controller@1c0 {
83                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
84                reg = <0x1c0 8>;
85                #power-domain-cells = <0>;
86                #reset-cells = <0>;
87                label = "sio";
88                apple,always-on;
89            };
90
91            ps_uart_p: power-controller@220 {
92                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
93                reg = <0x220 8>;
94                #power-domain-cells = <0>;
95                #reset-cells = <0>;
96                label = "uart_p";
97                power-domains = <&ps_sio>;
98            };
99
100            ps_uart0: power-controller@270 {
101                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
102                reg = <0x270 8>;
103                #power-domain-cells = <0>;
104                #reset-cells = <0>;
105                label = "uart0";
106                power-domains = <&ps_uart_p>;
107            };
108        };
109
110        power-management@23d280000 {
111            compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
112            #address-cells = <1>;
113            #size-cells = <1>;
114            reg = <0x2 0x3d280000 0x0 0xc000>;
115
116            ps_aop_filter: power-controller@4000 {
117                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
118                reg = <0x4000 8>;
119                #power-domain-cells = <0>;
120                #reset-cells = <0>;
121                label = "aop_filter";
122            };
123
124            ps_aop_base: power-controller@4010 {
125                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
126                reg = <0x4010 8>;
127                #power-domain-cells = <0>;
128                #reset-cells = <0>;
129                label = "aop_base";
130                power-domains = <&ps_aop_filter>;
131            };
132
133            ps_aop_shim: power-controller@4038 {
134                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
135                reg = <0x4038 8>;
136                #power-domain-cells = <0>;
137                #reset-cells = <0>;
138                label = "aop_shim";
139                power-domains = <&ps_aop_base>;
140            };
141
142            ps_aop_uart0: power-controller@4048 {
143                compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
144                reg = <0x4048 8>;
145                #power-domain-cells = <0>;
146                #reset-cells = <0>;
147                label = "aop_uart0";
148                power-domains = <&ps_aop_shim>;
149            };
150        };
151    };
152