Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / power / amlogic,meson-ee-pwrc.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 BayLibre, SAS
3 %YAML 1.2
4 ---
5 $id: "http://devicetree.org/schemas/power/amlogic,meson-ee-pwrc.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8 title: Amlogic Meson Everything-Else Power Domains
9
10 maintainers:
11   - Neil Armstrong <narmstrong@baylibre.com>
12
13 description: |+
14   The Everything-Else Power Domains node should be the child of a syscon
15   node with the required property:
16
17   - compatible: Should be the following:
18                 "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"
19
20   Refer to the the bindings described in
21   Documentation/devicetree/bindings/mfd/syscon.yaml
22
23 properties:
24   compatible:
25     enum:
26       - amlogic,meson8-pwrc
27       - amlogic,meson8b-pwrc
28       - amlogic,meson8m2-pwrc
29       - amlogic,meson-gxbb-pwrc
30       - amlogic,meson-axg-pwrc
31       - amlogic,meson-g12a-pwrc
32       - amlogic,meson-sm1-pwrc
33
34   clocks:
35     minItems: 1
36     maxItems: 2
37
38   clock-names:
39     minItems: 1
40     items:
41       - const: vpu
42       - const: vapb
43
44   resets:
45     minItems: 5
46     maxItems: 12
47
48   reset-names:
49     minItems: 5
50     maxItems: 12
51
52   "#power-domain-cells":
53     const: 1
54
55   amlogic,ao-sysctrl:
56     description: phandle to the AO sysctrl node
57     $ref: /schemas/types.yaml#/definitions/phandle
58
59 allOf:
60   - if:
61       properties:
62         compatible:
63           enum:
64             - amlogic,meson8b-pwrc
65             - amlogic,meson8m2-pwrc
66     then:
67       properties:
68         reset-names:
69           items:
70             - const: dblk
71             - const: pic_dc
72             - const: hdmi_apb
73             - const: hdmi_system
74             - const: venci
75             - const: vencp
76             - const: vdac
77             - const: vencl
78             - const: viu
79             - const: venc
80             - const: rdma
81       required:
82         - resets
83         - reset-names
84
85   - if:
86       properties:
87         compatible:
88           enum:
89             - amlogic,meson-gxbb-pwrc
90     then:
91       properties:
92         reset-names:
93           items:
94             - const: viu
95             - const: venc
96             - const: vcbus
97             - const: bt656
98             - const: dvin
99             - const: rdma
100             - const: venci
101             - const: vencp
102             - const: vdac
103             - const: vdi6
104             - const: vencl
105             - const: vid_lock
106       required:
107         - resets
108         - reset-names
109
110   - if:
111       properties:
112         compatible:
113           enum:
114             - amlogic,meson-axg-pwrc
115     then:
116       properties:
117         reset-names:
118           items:
119             - const: viu
120             - const: venc
121             - const: vcbus
122             - const: vencl
123             - const: vid_lock
124       required:
125         - resets
126         - reset-names
127
128   - if:
129       properties:
130         compatible:
131           enum:
132             - amlogic,meson-g12a-pwrc
133             - amlogic,meson-sm1-pwrc
134     then:
135       properties:
136         reset-names:
137           items:
138             - const: viu
139             - const: venc
140             - const: vcbus
141             - const: bt656
142             - const: rdma
143             - const: venci
144             - const: vencp
145             - const: vdac
146             - const: vdi6
147             - const: vencl
148             - const: vid_lock
149       required:
150         - resets
151         - reset-names
152
153 required:
154   - compatible
155   - clocks
156   - clock-names
157   - "#power-domain-cells"
158   - amlogic,ao-sysctrl
159
160 additionalProperties: false
161
162 examples:
163   - |
164     pwrc: power-controller {
165           compatible = "amlogic,meson-sm1-pwrc";
166           #power-domain-cells = <1>;
167           amlogic,ao-sysctrl = <&rti>;
168           resets = <&reset_viu>,
169                    <&reset_venc>,
170                    <&reset_vcbus>,
171                    <&reset_bt656>,
172                    <&reset_rdma>,
173                    <&reset_venci>,
174                    <&reset_vencp>,
175                    <&reset_vdac>,
176                    <&reset_vdi6>,
177                    <&reset_vencl>,
178                    <&reset_vid_lock>;
179           reset-names = "viu", "venc", "vcbus", "bt656",
180                         "rdma", "venci", "vencp", "vdac",
181                         "vdi6", "vencl", "vid_lock";
182           clocks = <&clk_vpu>, <&clk_vapb>;
183           clock-names = "vpu", "vapb";
184     };