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