Commit | Line | Data |
---|---|---|
a002f65a LW |
1 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
2 | %YAML 1.2 | |
3 | --- | |
4 | $id: http://devicetree.org/schemas/mfd/stericsson,ab8500.yaml# | |
5 | $schema: http://devicetree.org/meta-schemas/core.yaml# | |
6 | ||
7 | title: ST-Ericsson Analog Baseband AB8500 and AB8505 | |
8 | ||
9 | maintainers: | |
10 | - Linus Walleij <linus.walleij@linaro.org> | |
11 | ||
12 | description: | |
13 | the AB8500 "Analog Baseband" is the mixed-signals integrated circuit | |
14 | handling power management (regulators), analog-to-digital conversion | |
15 | (ADC), battery charging, fuel gauging of the battery, battery-backed | |
16 | RTC, PWM, USB PHY and some GPIO lines in the ST-Ericsson U8500 platforms | |
17 | in connection with the DB8500 digital baseband. The DB8500 PRCMU | |
18 | communicates directly and autonomously with the AB8500 and thus it | |
19 | appears as a subnode of the DB8500 PRCMU. An altered version called | |
20 | AB8505 also exist, the difference in AB8505 is that some of the USB and | |
21 | USB charging handling has changed, and it has an embedded USB-to-serial | |
22 | converter. Most subblocks takes their interrupts directly from the | |
23 | AB8500 embedded interrupt controller. | |
24 | ||
25 | properties: | |
26 | $nodename: | |
27 | pattern: '^ab850[05]$' | |
28 | ||
29 | compatible: | |
30 | enum: | |
31 | - stericsson,ab8500 | |
32 | - stericsson,ab8505 | |
33 | ||
34 | interrupts: | |
35 | maxItems: 1 | |
36 | ||
37 | interrupt-controller: true | |
38 | ||
39 | '#interrupt-cells': | |
40 | const: 2 | |
41 | ||
42 | # Some subnodes use a reg, some don't. Those that do use a single cell. | |
43 | '#address-cells': | |
44 | const: 1 | |
45 | ||
46 | '#size-cells': | |
47 | const: 0 | |
48 | ||
49 | clock-controller: | |
50 | description: Node describing the AB8500 clock controller. This | |
51 | provides the reference clock for the entire U8500 system and | |
52 | the DB8500 counterpart. | |
53 | type: object | |
42839dca | 54 | additionalProperties: false |
a002f65a LW |
55 | |
56 | properties: | |
57 | compatible: | |
58 | const: stericsson,ab8500-clk | |
59 | ||
60 | '#clock-cells': | |
61 | const: 1 | |
62 | ||
63 | gpio: | |
64 | description: Node describing the AB8500 GPIO controller. A few | |
65 | GPIO pins available for misc usage. | |
66 | type: object | |
42839dca | 67 | additionalProperties: false |
a002f65a LW |
68 | |
69 | properties: | |
70 | compatible: | |
71 | enum: | |
72 | - stericsson,ab8500-gpio | |
73 | - stericsson,ab8505-gpio | |
74 | ||
75 | gpio-controller: true | |
76 | ||
77 | '#gpio-cells': | |
78 | const: 2 | |
79 | ||
80 | rtc: | |
81 | description: Node describing the AB8500 battery-backed RTC. | |
82 | type: object | |
42839dca | 83 | additionalProperties: false |
a002f65a LW |
84 | |
85 | properties: | |
86 | compatible: | |
87 | const: stericsson,ab8500-rtc | |
88 | ||
89 | interrupts: | |
90 | items: | |
91 | - description: 60 second interval alarm interrupt | |
92 | - description: RTC alarm | |
93 | ||
94 | interrupt-names: | |
95 | items: | |
96 | - const: 60S | |
97 | - const: ALARM | |
98 | ||
99 | adc: | |
100 | description: Node describing the AB8500 general purpose analog to digital | |
101 | converter, GPADC. | |
102 | type: object | |
103 | ||
104 | properties: | |
105 | compatible: | |
106 | const: stericsson,ab8500-gpadc | |
107 | ||
108 | # AB8505 only supports one (software) EOC interrupt | |
109 | interrupts: | |
110 | minItems: 1 | |
111 | maxItems: 2 | |
112 | ||
113 | interrupt-names: true | |
114 | ||
115 | vddadc-supply: true | |
116 | ||
117 | '#address-cells': | |
118 | const: 1 | |
119 | ||
120 | '#size-cells': | |
121 | const: 0 | |
122 | ||
123 | '#io-channel-cells': | |
124 | const: 1 | |
125 | ||
126 | patternProperties: | |
127 | "^channel@[0-9a-f]+$": | |
128 | type: object | |
1482489b | 129 | $ref: /schemas/iio/adc/adc.yaml# |
a002f65a LW |
130 | description: Represents each of the external channels which are |
131 | connected to the ADC. | |
132 | ||
133 | properties: | |
134 | reg: | |
135 | items: | |
136 | minimum: 1 | |
137 | maximum: 31 | |
138 | ||
139 | required: | |
140 | - reg | |
141 | ||
142 | additionalProperties: false | |
143 | ||
144 | required: | |
145 | - compatible | |
146 | - interrupts | |
147 | - interrupt-names | |
148 | - vddadc-supply | |
149 | - '#address-cells' | |
150 | - '#size-cells' | |
151 | - '#io-channel-cells' | |
152 | ||
153 | additionalProperties: false | |
154 | ||
155 | thermal: | |
156 | description: Node describing the AB8500 thermal control block. All this block | |
157 | really does is to fire an interrupt when the die becomes 130 degrees Celsius | |
158 | in temperature. | |
159 | type: object | |
160 | ||
161 | properties: | |
162 | compatible: | |
163 | const: stericsson,abx500-temp | |
164 | ||
165 | interrupts: | |
166 | items: | |
167 | - description: Thermal warm warning interrupt | |
168 | ||
169 | interrupt-names: | |
170 | items: | |
171 | - const: ABX500_TEMP_WARM | |
172 | ||
173 | required: | |
174 | - compatible | |
175 | - interrupts | |
176 | - interrupt-names | |
177 | ||
178 | additionalProperties: false | |
179 | ||
180 | ab8500_fg: | |
181 | description: Node describing the AB8500 fuel gauge control block. | |
182 | type: object | |
1482489b | 183 | $ref: /schemas/power/supply/stericsson,ab8500-fg.yaml |
a002f65a LW |
184 | |
185 | ab8500_btemp: | |
186 | description: Node describing the AB8500 battery temperature control block. | |
187 | type: object | |
1482489b | 188 | $ref: /schemas/power/supply/stericsson,ab8500-btemp.yaml |
a002f65a LW |
189 | |
190 | ab8500_charger: | |
191 | description: Node describing the AB8500 battery charger control block. | |
192 | type: object | |
1482489b | 193 | $ref: /schemas/power/supply/stericsson,ab8500-charger.yaml |
a002f65a LW |
194 | |
195 | ab8500_chargalg: | |
196 | description: Node describing the AB8500 battery charger algorithm. | |
197 | type: object | |
1482489b | 198 | $ref: /schemas/power/supply/stericsson,ab8500-chargalg.yaml |
a002f65a LW |
199 | |
200 | phy: | |
201 | description: Node describing the AB8500 USB PHY control block. | |
202 | type: object | |
203 | ||
204 | properties: | |
205 | compatible: | |
206 | const: stericsson,ab8500-usb | |
207 | ||
208 | interrupts: | |
209 | items: | |
210 | - description: ID wakeup rising IRQ | |
211 | - description: ID wakeup falling IRQ | |
212 | - description: VBUS detection falling IRQ | |
213 | - description: VBUS detection rising IRQ | |
214 | - description: USB link status change IRQ | |
215 | - description: ADP probe plug IRQ | |
216 | - description: ADP probe unplug IRQ | |
217 | ||
218 | interrupt-names: | |
219 | items: | |
220 | - const: ID_WAKEUP_R | |
221 | - const: ID_WAKEUP_F | |
222 | - const: VBUS_DET_F | |
223 | - const: VBUS_DET_R | |
224 | - const: USB_LINK_STATUS | |
225 | - const: USB_ADP_PROBE_PLUG | |
226 | - const: USB_ADP_PROBE_UNPLUG | |
227 | ||
228 | vddulpivio18-supply: true | |
229 | v-ape-supply: true | |
230 | musb_1v8-supply: true | |
231 | ||
232 | clocks: | |
233 | items: | |
234 | - description: PRCMY system clock | |
235 | ||
236 | clock-names: | |
237 | items: | |
238 | - const: sysclk | |
239 | ||
240 | '#phy-cells': | |
241 | const: 0 | |
242 | ||
243 | required: | |
244 | - compatible | |
245 | - interrupts | |
246 | - interrupt-names | |
247 | - vddulpivio18-supply | |
248 | - v-ape-supply | |
249 | - musb_1v8-supply | |
250 | - clocks | |
251 | - clock-names | |
252 | - '#phy-cells' | |
253 | ||
254 | additionalProperties: false | |
255 | ||
256 | key: | |
257 | description: Node describing the AB8500 power-on key control block. | |
258 | type: object | |
259 | ||
260 | properties: | |
261 | compatible: | |
262 | const: stericsson,ab8500-poweron-key | |
263 | ||
264 | interrupts: | |
265 | items: | |
266 | - description: ON key falling IRQ | |
267 | - description: ON key rising IRQ | |
268 | ||
269 | interrupt-names: | |
270 | items: | |
271 | - const: ONKEY_DBF | |
272 | - const: ONKEY_DBR | |
273 | ||
274 | required: | |
275 | - compatible | |
276 | - interrupts | |
277 | - interrupt-names | |
278 | ||
279 | additionalProperties: false | |
280 | ||
281 | ab8500-sysctrl: | |
282 | description: Node describing the AB8500 system control block. | |
283 | type: object | |
284 | ||
285 | properties: | |
286 | compatible: | |
287 | const: stericsson,ab8500-sysctrl | |
288 | ||
289 | required: | |
290 | - compatible | |
291 | ||
292 | additionalProperties: false | |
293 | ||
294 | codec: | |
295 | description: Node describing the AB8500 audio codec block. | |
296 | type: object | |
297 | ||
298 | properties: | |
299 | compatible: | |
300 | const: stericsson,ab8500-codec | |
301 | ||
302 | V-AUD-supply: true | |
303 | V-AMIC1-supply: true | |
304 | V-AMIC2-supply: true | |
305 | V-DMIC-supply: true | |
306 | ||
307 | clocks: | |
308 | items: | |
309 | - description: Audio system clock | |
310 | ||
311 | clock-names: | |
312 | items: | |
313 | - const: audioclk | |
314 | ||
315 | stericsson,earpeice-cmv: | |
47aab533 | 316 | description: Earpiece voltage |
a002f65a LW |
317 | $ref: /schemas/types.yaml#/definitions/uint32 |
318 | enum: [ 950, 1100, 1270, 1580 ] | |
319 | ||
320 | required: | |
321 | - compatible | |
322 | ||
323 | additionalProperties: false | |
324 | ||
325 | regulator: | |
326 | description: Node describing the AB8500 internal regulators. | |
327 | type: object | |
328 | ||
329 | properties: | |
330 | compatible: | |
331 | enum: | |
332 | - stericsson,ab8500-regulator | |
333 | - stericsson,ab8505-regulator | |
334 | ||
335 | vin-supply: | |
336 | description: The regulator supplying all of the internal regulators | |
337 | with power. | |
338 | ||
339 | ab8500_ldo_aux1: | |
47aab533 | 340 | description: The voltage for the auxiliary LDO regulator 1 |
a002f65a | 341 | type: object |
1482489b | 342 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 343 | unevaluatedProperties: false |
a002f65a LW |
344 | |
345 | ab8500_ldo_aux2: | |
47aab533 | 346 | description: The voltage for the auxiliary LDO regulator 2 |
a002f65a | 347 | type: object |
1482489b | 348 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 349 | unevaluatedProperties: false |
a002f65a LW |
350 | |
351 | ab8500_ldo_aux3: | |
47aab533 | 352 | description: The voltage for the auxiliary LDO regulator 3 |
a002f65a | 353 | type: object |
1482489b | 354 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 355 | unevaluatedProperties: false |
a002f65a LW |
356 | |
357 | ab8500_ldo_aux4: | |
47aab533 | 358 | description: The voltage for the auxiliary LDO regulator 4 |
a002f65a LW |
359 | only present on AB8505 |
360 | type: object | |
1482489b | 361 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 362 | unevaluatedProperties: false |
a002f65a LW |
363 | |
364 | ab8500_ldo_aux5: | |
47aab533 | 365 | description: The voltage for the auxiliary LDO regulator 5 |
a002f65a LW |
366 | only present on AB8505 |
367 | type: object | |
1482489b | 368 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 369 | unevaluatedProperties: false |
a002f65a LW |
370 | |
371 | ab8500_ldo_aux6: | |
47aab533 | 372 | description: The voltage for the auxiliary LDO regulator 6 |
a002f65a LW |
373 | only present on AB8505 |
374 | type: object | |
1482489b | 375 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 376 | unevaluatedProperties: false |
a002f65a LW |
377 | |
378 | # There is never any AUX7 regulator which is confusing | |
379 | ||
380 | ab8500_ldo_aux8: | |
47aab533 | 381 | description: The voltage for the auxiliary LDO regulator 8 |
a002f65a LW |
382 | only present on AB8505 |
383 | type: object | |
1482489b | 384 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 385 | unevaluatedProperties: false |
a002f65a LW |
386 | |
387 | ab8500_ldo_intcore: | |
388 | description: The LDO regulator for the internal core voltage | |
389 | of the AB8500 | |
390 | type: object | |
1482489b | 391 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 392 | unevaluatedProperties: false |
a002f65a LW |
393 | |
394 | ab8500_ldo_adc: | |
395 | description: Analog power regulator for the analog to digital converter | |
396 | ADC, only present on AB8505 | |
397 | type: object | |
1482489b | 398 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 399 | unevaluatedProperties: false |
a002f65a LW |
400 | |
401 | ab8500_ldo_tvout: | |
402 | description: The voltage for the TV output regulator, incidentally | |
403 | this voltage is also used for other purposes such as measuring | |
404 | the temperature of the NTC thermistor on the battery. | |
405 | Only present on AB8500. | |
406 | type: object | |
1482489b | 407 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 408 | unevaluatedProperties: false |
a002f65a LW |
409 | |
410 | ab8500_ldo_audio: | |
411 | description: The LDO regulator for the audio codec output | |
412 | type: object | |
1482489b | 413 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 414 | unevaluatedProperties: false |
a002f65a LW |
415 | |
416 | ab8500_ldo_anamic1: | |
417 | description: The LDO regulator for the analog microphone 1 | |
418 | type: object | |
1482489b | 419 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 420 | unevaluatedProperties: false |
a002f65a LW |
421 | |
422 | ab8500_ldo_anamic2: | |
423 | description: The LDO regulator for the analog microphone 2 | |
424 | type: object | |
1482489b | 425 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 426 | unevaluatedProperties: false |
a002f65a LW |
427 | |
428 | ab8500_ldo_dmic: | |
429 | description: The LDO regulator for the digital microphone | |
430 | only present on AB8500 | |
431 | type: object | |
1482489b | 432 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 433 | unevaluatedProperties: false |
a002f65a LW |
434 | |
435 | ab8500_ldo_ana: | |
436 | description: Analog power regulator for CSI and DSI interfaces, | |
437 | Camera Serial Interface CSI and Display Serial Interface DSI. | |
438 | type: object | |
1482489b | 439 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 440 | unevaluatedProperties: false |
a002f65a LW |
441 | |
442 | required: | |
443 | - compatible | |
444 | ||
445 | additionalProperties: false | |
446 | ||
447 | ||
448 | regulator-external: | |
449 | description: Node describing the AB8500 external regulators. This | |
450 | concerns the autonomous regulators VSMPS1, VSMPS2 and VSMPS3 | |
451 | that are normally controlled by external electronics but also | |
452 | sometimes need to be explicitly controlled by software. | |
453 | type: object | |
454 | ||
455 | properties: | |
456 | compatible: | |
457 | const: stericsson,ab8500-ext-regulator | |
458 | ||
459 | ab8500_ext1: | |
460 | description: The voltage for the VSMPS1 external regulator | |
461 | type: object | |
1482489b | 462 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 463 | unevaluatedProperties: false |
a002f65a LW |
464 | |
465 | ab8500_ext2: | |
466 | description: The voltage for the VSMPS2 external regulator | |
467 | type: object | |
1482489b | 468 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 469 | unevaluatedProperties: false |
a002f65a LW |
470 | |
471 | ab8500_ext3: | |
472 | description: The voltage for the VSMPS3 external regulator | |
473 | type: object | |
1482489b | 474 | $ref: /schemas/regulator/regulator.yaml# |
42839dca | 475 | unevaluatedProperties: false |
a002f65a LW |
476 | |
477 | required: | |
478 | - compatible | |
479 | ||
480 | additionalProperties: false | |
481 | ||
482 | patternProperties: | |
483 | "^pwm@[1-9]+?$": | |
484 | type: object | |
1482489b | 485 | $ref: /schemas/pwm/pwm.yaml# |
42839dca | 486 | unevaluatedProperties: false |
a002f65a LW |
487 | description: Represents each of the PWM blocks in the AB8500 |
488 | ||
489 | properties: | |
490 | compatible: | |
491 | const: stericsson,ab8500-pwm | |
492 | ||
493 | reg: true | |
494 | ||
495 | clocks: | |
496 | items: | |
497 | - description: internal clock | |
498 | ||
499 | clock-names: | |
500 | items: | |
501 | - const: intclk | |
502 | ||
503 | required: | |
504 | - compatible | |
505 | - reg | |
506 | ||
507 | required: | |
508 | - compatible | |
509 | - clock-controller | |
510 | - gpio | |
511 | - rtc | |
512 | - adc | |
513 | - thermal | |
514 | - ab8500_fg | |
515 | - ab8500_btemp | |
516 | - ab8500_charger | |
517 | - ab8500_chargalg | |
518 | - phy | |
519 | - key | |
520 | - regulator | |
521 | ||
522 | additionalProperties: false |