Skip to content

Commit ba5d996

Browse files
krzkbroonie
authored andcommitted
regulator: dt-bindings: qcom,rpmh: document supplies per variant
The RPMH regulator binding covers several devices with different regulator supplies, so it uses patterns matching broad range of these supplies. This works fine but is not specific and might miss actual mistakes when a wrong supply property is used for given variant. Describe the supplies depending on the compatible, using a defs-allOf method. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent a6d889a commit ba5d996

File tree

1 file changed

+242
-14
lines changed

1 file changed

+242
-14
lines changed

Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml

Lines changed: 242 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -95,35 +95,263 @@ properties:
9595
vdd-rgb-supply:
9696
description: Input supply phandle of rgb.
9797

98-
vin-lvs-1-2-supply:
99-
description: Input supply phandle of one or more regulators.
100-
101-
vdd-bob-supply:
102-
description: BOB regulator parent supply phandle.
103-
10498
bob:
10599
type: object
106100
$ref: "regulator.yaml#"
107101
description: BOB regulator node.
108102

109103
patternProperties:
110-
"^vdd-s([0-9]+)-supply$":
111-
description: Input supply phandle(s) of one or more regulators.
112-
113-
"^vdd-(l[0-9]+[-]){1,5}supply$":
114-
description: Input supply phandle(s) of one or more regulators.
115-
116104
"^(smps|ldo|lvs)[0-9]+$":
117105
type: object
118106
$ref: "regulator.yaml#"
119107
description: smps/ldo regulator nodes(s).
120108

121-
additionalProperties: false
122-
123109
required:
124110
- compatible
125111
- qcom,pmic-id
126112

113+
allOf:
114+
- if:
115+
properties:
116+
compatible:
117+
enum:
118+
- qcom,pm6150-rpmh-regulators
119+
then:
120+
properties:
121+
vdd-l2-l3-supply: true
122+
vdd-l4-l7-l8-supply: true
123+
vdd-l5-l16-l17-l18-l19-supply: true
124+
vdd-l10-l14-l15-supply: true
125+
vdd-l11-l12-l13-supply: true
126+
patternProperties:
127+
"^vdd-l[169]-supply$": true
128+
"^vdd-s[1-5]-supply$": true
129+
130+
- if:
131+
properties:
132+
compatible:
133+
enum:
134+
- qcom,pm6150l-rpmh-regulators
135+
then:
136+
properties:
137+
vdd-bob-supply:
138+
description: BOB regulator parent supply phandle.
139+
vdd-l1-l8-supply: true
140+
vdd-l2-l3-supply: true
141+
vdd-l4-l5-l6-supply: true
142+
vdd-l7-l11-supply: true
143+
vdd-l9-l10-supply: true
144+
patternProperties:
145+
"^vdd-s[1-8]-supply$": true
146+
147+
- if:
148+
properties:
149+
compatible:
150+
enum:
151+
- qcom,pm7325-rpmh-regulators
152+
then:
153+
properties:
154+
vdd-l1-l4-l12-l15-supply: true
155+
vdd-l2-l7-supply: true
156+
vdd-l6-l9-l10-supply: true
157+
vdd-l11-l17-l18-l19-supply: true
158+
vdd-l13-supply: true
159+
vdd-l14-l16-supply: true
160+
patternProperties:
161+
"^vdd-l[358]-supply$": true
162+
"^vdd-s[1-8]-supply$": true
163+
164+
- if:
165+
properties:
166+
compatible:
167+
enum:
168+
- qcom,pm8005-rpmh-regulators
169+
then:
170+
patternProperties:
171+
"^vdd-s[1-4]-supply$": true
172+
173+
- if:
174+
properties:
175+
compatible:
176+
enum:
177+
- qcom,pm8009-rpmh-regulators
178+
- qcom,pm8009-1-rpmh-regulators
179+
then:
180+
properties:
181+
vdd-l5-l6-supply: true
182+
patternProperties:
183+
"^vdd-l[1-47]-supply$": true
184+
"^vdd-s[1-2]-supply$": true
185+
186+
- if:
187+
properties:
188+
compatible:
189+
enum:
190+
- qcom,pm8150-rpmh-regulators
191+
- qcom,pmm8155au-rpmh-regulators
192+
then:
193+
properties:
194+
vdd-l1-l8-l11-supply: true
195+
vdd-l2-l10-supply: true
196+
vdd-l3-l4-l5-l18-supply: true
197+
vdd-l6-l9-supply: true
198+
vdd-l7-l12-l14-l15-supply: true
199+
vdd-l13-l16-l17-supply: true
200+
patternProperties:
201+
"^vdd-s([1-9]|10)-supply$": true
202+
203+
- if:
204+
properties:
205+
compatible:
206+
enum:
207+
- qcom,pm8150l-rpmh-regulators
208+
then:
209+
properties:
210+
vdd-bob-supply:
211+
description: BOB regulator parent supply phandle.
212+
vdd-l1-l8-supply: true
213+
vdd-l2-l3-supply: true
214+
vdd-l4-l5-l6-supply: true
215+
vdd-l7-l11-supply: true
216+
vdd-l9-l10-supply: true
217+
patternProperties:
218+
"^vdd-s[1-8]-supply$": true
219+
220+
- if:
221+
properties:
222+
compatible:
223+
enum:
224+
- qcom,pm8350-rpmh-regulators
225+
then:
226+
properties:
227+
vdd-l1-l4-supply: true
228+
vdd-l2-l7-supply: true
229+
vdd-l3-l5-supply: true
230+
vdd-l6-l9-l10-supply: true
231+
vdd-l8-supply: true
232+
patternProperties:
233+
"^vdd-s([1-9]|1[0-2])-supply$": true
234+
235+
- if:
236+
properties:
237+
compatible:
238+
enum:
239+
- qcom,pm8350c-rpmh-regulators
240+
then:
241+
properties:
242+
vdd-bob-supply:
243+
description: BOB regulator parent supply phandle.
244+
vdd-l1-l12-supply: true
245+
vdd-l2-l8-supply: true
246+
vdd-l3-l4-l5-l7-l13-supply: true
247+
vdd-l6-l9-l11-supply: true
248+
vdd-l10-supply: true
249+
patternProperties:
250+
"^vdd-s([1-9]|10)-supply$": true
251+
252+
- if:
253+
properties:
254+
compatible:
255+
enum:
256+
- qcom,pm8450-rpmh-regulators
257+
then:
258+
patternProperties:
259+
"^vdd-l[1-4]-supply$": true
260+
"^vdd-s[1-6]-supply$": true
261+
262+
- if:
263+
properties:
264+
compatible:
265+
enum:
266+
- qcom,pm8998-rpmh-regulators
267+
then:
268+
properties:
269+
vdd-l1-l27-supply: true
270+
vdd-l2-l8-l17-supply: true
271+
vdd-l3-l11-supply: true
272+
vdd-l4-l5-supply: true
273+
vdd-l6-supply: true
274+
vdd-l7-l12-l14-l15-supply: true
275+
vdd-l9-supply: true
276+
vdd-l10-l23-l25-supply: true
277+
vdd-l13-l19-l21-supply: true
278+
vdd-l16-l28-supply: true
279+
vdd-l18-l22-supply: true
280+
vdd-l20-l24-supply: true
281+
vdd-l26-supply: true
282+
vin-lvs-1-2-supply: true
283+
patternProperties:
284+
"^vdd-s([1-9]|1[0-3])-supply$": true
285+
286+
- if:
287+
properties:
288+
compatible:
289+
enum:
290+
- qcom,pmg1110-rpmh-regulators
291+
then:
292+
properties:
293+
vdd-s1-supply: true
294+
295+
- if:
296+
properties:
297+
compatible:
298+
enum:
299+
- qcom,pmi8998-rpmh-regulators
300+
then:
301+
properties:
302+
vdd-bob-supply:
303+
description: BOB regulator parent supply phandle.
304+
305+
- if:
306+
properties:
307+
compatible:
308+
enum:
309+
- qcom,pmr735a-rpmh-regulators
310+
then:
311+
properties:
312+
vdd-l1-l2-supply: true
313+
vdd-l3-supply: true
314+
vdd-l4-supply: true
315+
vdd-l5-l6-supply: true
316+
patternProperties:
317+
"^vdd-s[1-3]-supply$": true
318+
319+
- if:
320+
properties:
321+
compatible:
322+
enum:
323+
- qcom,pmx55-rpmh-regulators
324+
then:
325+
properties:
326+
vdd-l1-l2-supply: true
327+
vdd-l3-l9-supply: true
328+
vdd-l4-l12-supply: true
329+
vdd-l5-l6-supply: true
330+
vdd-l7-l8-supply: true
331+
vdd-l10-l11-l13-supply: true
332+
patternProperties:
333+
"^vdd-l1[4-6]-supply$": true
334+
"^vdd-s[1-7]-supply$": true
335+
336+
- if:
337+
properties:
338+
compatible:
339+
enum:
340+
- qcom,pmx65-rpmh-regulators
341+
then:
342+
properties:
343+
vdd-l2-l18-supply: true
344+
vdd-l5-l6-l16-supply: true
345+
vdd-l8-l9-supply: true
346+
vdd-l11-l13-supply: true
347+
patternProperties:
348+
"^vdd-l[1347]-supply$": true
349+
"^vdd-l1[0245789]-supply$": true
350+
"^vdd-l2[01]-supply$": true
351+
"^vdd-s[1-8]-supply$": true
352+
353+
unevaluatedProperties: false
354+
127355
examples:
128356
- |
129357
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

0 commit comments

Comments
 (0)