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