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