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