]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/soc/samsung/exynos-pmu.yaml
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / Bindings / soc / samsung / exynos-pmu.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Samsung Exynos SoC series Power Management Unit (PMU)
8
9 maintainers:
10 - Krzysztof Kozlowski <krzk@kernel.org>
11
12 # Custom select to avoid matching all nodes with 'syscon'
13 select:
14 properties:
15 compatible:
16 contains:
17 enum:
18 - google,gs101-pmu
19 - samsung,exynos3250-pmu
20 - samsung,exynos4210-pmu
21 - samsung,exynos4212-pmu
22 - samsung,exynos4412-pmu
23 - samsung,exynos5250-pmu
24 - samsung,exynos5260-pmu
25 - samsung,exynos5410-pmu
26 - samsung,exynos5420-pmu
27 - samsung,exynos5433-pmu
28 - samsung,exynos7-pmu
29 - samsung,exynos850-pmu
30 - samsung-s5pv210-pmu
31 required:
32 - compatible
33
34 properties:
35 compatible:
36 oneOf:
37 - items:
38 - enum:
39 - google,gs101-pmu
40 - samsung,exynos3250-pmu
41 - samsung,exynos4210-pmu
42 - samsung,exynos4212-pmu
43 - samsung,exynos4412-pmu
44 - samsung,exynos5250-pmu
45 - samsung,exynos5260-pmu
46 - samsung,exynos5410-pmu
47 - samsung,exynos5420-pmu
48 - samsung,exynos5433-pmu
49 - samsung,exynos7-pmu
50 - samsung,exynos850-pmu
51 - samsung-s5pv210-pmu
52 - const: syscon
53 - items:
54 - enum:
55 - samsung,exynos7885-pmu
56 - samsung,exynosautov9-pmu
57 - samsung,exynosautov920-pmu
58 - tesla,fsd-pmu
59 - const: samsung,exynos7-pmu
60 - const: syscon
61 - items:
62 - enum:
63 - samsung,exynos3250-pmu
64 - samsung,exynos4210-pmu
65 - samsung,exynos4212-pmu
66 - samsung,exynos4412-pmu
67 - samsung,exynos5250-pmu
68 - samsung,exynos5420-pmu
69 - samsung,exynos5433-pmu
70 - const: simple-mfd
71 - const: syscon
72
73 reg:
74 maxItems: 1
75
76 '#clock-cells':
77 const: 1
78
79 clock-names:
80 description:
81 List of clock names for particular CLKOUT mux inputs
82 minItems: 1
83 maxItems: 32
84 items:
85 pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
86
87 clocks:
88 minItems: 1
89 maxItems: 32
90
91 dp-phy:
92 $ref: /schemas/phy/samsung,dp-video-phy.yaml
93 unevaluatedProperties: false
94
95 interrupt-controller:
96 description:
97 Some PMUs are capable of behaving as an interrupt controller (mostly
98 to wake up a suspended PMU).
99
100 '#interrupt-cells':
101 description:
102 Must be identical to the that of the parent interrupt controller.
103 const: 3
104
105 mipi-phy:
106 $ref: /schemas/phy/samsung,mipi-video-phy.yaml
107 unevaluatedProperties: false
108
109 reboot-mode:
110 $ref: /schemas/power/reset/syscon-reboot-mode.yaml
111 type: object
112 description:
113 Reboot mode to alter bootloader behavior for the next boot
114
115 syscon-poweroff:
116 $ref: /schemas/power/reset/syscon-poweroff.yaml#
117 type: object
118 description:
119 Node for power off method
120
121 syscon-reboot:
122 $ref: /schemas/power/reset/syscon-reboot.yaml#
123 type: object
124 description:
125 Node for reboot method
126
127 required:
128 - compatible
129 - reg
130
131 additionalProperties: false
132
133 allOf:
134 - if:
135 properties:
136 compatible:
137 contains:
138 enum:
139 - samsung,exynos3250-pmu
140 - samsung,exynos4210-pmu
141 - samsung,exynos4212-pmu
142 - samsung,exynos4412-pmu
143 - samsung,exynos5250-pmu
144 - samsung,exynos5410-pmu
145 - samsung,exynos5420-pmu
146 - samsung,exynos5433-pmu
147 then:
148 required:
149 - '#clock-cells'
150 - clock-names
151 - clocks
152
153 - if:
154 properties:
155 compatible:
156 contains:
157 enum:
158 - samsung,exynos3250-pmu
159 - samsung,exynos4210-pmu
160 - samsung,exynos4212-pmu
161 - samsung,exynos4412-pmu
162 - samsung,exynos5250-pmu
163 - samsung,exynos5420-pmu
164 - samsung,exynos5433-pmu
165 then:
166 properties:
167 mipi-phy: true
168 else:
169 properties:
170 mipi-phy: false
171
172 - if:
173 properties:
174 compatible:
175 contains:
176 enum:
177 - samsung,exynos5250-pmu
178 - samsung,exynos5420-pmu
179 - samsung,exynos5433-pmu
180 then:
181 properties:
182 dp-phy: true
183 else:
184 properties:
185 dp-phy: false
186
187 examples:
188 - |
189 #include <dt-bindings/clock/exynos5250.h>
190
191 pmu_system_controller: system-controller@10040000 {
192 compatible = "samsung,exynos5250-pmu", "syscon";
193 reg = <0x10040000 0x5000>;
194 interrupt-controller;
195 #interrupt-cells = <3>;
196 interrupt-parent = <&gic>;
197 #clock-cells = <1>;
198 clock-names = "clkout16";
199 clocks = <&clock CLK_FIN_PLL>;
200
201 dp-phy {
202 compatible = "samsung,exynos5250-dp-video-phy";
203 #phy-cells = <0>;
204 };
205
206 mipi-phy {
207 compatible = "samsung,s5pv210-mipi-video-phy";
208 #phy-cells = <1>;
209 };
210 };