523 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/stericsson,ab8500.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ST-Ericsson Analog Baseband AB8500 and AB85058 9maintainers:10 - Linus Walleij <linus.walleij@linaro.org>11 12description:13 the AB8500 "Analog Baseband" is the mixed-signals integrated circuit14 handling power management (regulators), analog-to-digital conversion15 (ADC), battery charging, fuel gauging of the battery, battery-backed16 RTC, PWM, USB PHY and some GPIO lines in the ST-Ericsson U8500 platforms17 in connection with the DB8500 digital baseband. The DB8500 PRCMU18 communicates directly and autonomously with the AB8500 and thus it19 appears as a subnode of the DB8500 PRCMU. An altered version called20 AB8505 also exist, the difference in AB8505 is that some of the USB and21 USB charging handling has changed, and it has an embedded USB-to-serial22 converter. Most subblocks takes their interrupts directly from the23 AB8500 embedded interrupt controller.24 25properties:26 $nodename:27 pattern: '^ab850[05]$'28 29 compatible:30 enum:31 - stericsson,ab850032 - stericsson,ab850533 34 interrupts:35 maxItems: 136 37 interrupt-controller: true38 39 '#interrupt-cells':40 const: 241 42 # Some subnodes use a reg, some don't. Those that do use a single cell.43 '#address-cells':44 const: 145 46 '#size-cells':47 const: 048 49 clock-controller:50 description: Node describing the AB8500 clock controller. This51 provides the reference clock for the entire U8500 system and52 the DB8500 counterpart.53 type: object54 additionalProperties: false55 56 properties:57 compatible:58 const: stericsson,ab8500-clk59 60 '#clock-cells':61 const: 162 63 gpio:64 description: Node describing the AB8500 GPIO controller. A few65 GPIO pins available for misc usage.66 type: object67 additionalProperties: false68 69 properties:70 compatible:71 enum:72 - stericsson,ab8500-gpio73 - stericsson,ab8505-gpio74 75 gpio-controller: true76 77 '#gpio-cells':78 const: 279 80 rtc:81 description: Node describing the AB8500 battery-backed RTC.82 type: object83 additionalProperties: false84 85 properties:86 compatible:87 const: stericsson,ab8500-rtc88 89 interrupts:90 items:91 - description: 60 second interval alarm interrupt92 - description: RTC alarm93 94 interrupt-names:95 items:96 - const: 60S97 - const: ALARM98 99 adc:100 description: Node describing the AB8500 general purpose analog to digital101 converter, GPADC.102 type: object103 104 properties:105 compatible:106 const: stericsson,ab8500-gpadc107 108 # AB8505 only supports one (software) EOC interrupt109 interrupts:110 minItems: 1111 maxItems: 2112 113 interrupt-names: true114 115 vddadc-supply: true116 117 '#address-cells':118 const: 1119 120 '#size-cells':121 const: 0122 123 '#io-channel-cells':124 const: 1125 126 patternProperties:127 "^channel@[0-9a-f]+$":128 type: object129 $ref: /schemas/iio/adc/adc.yaml#130 description: Represents each of the external channels which are131 connected to the ADC.132 133 properties:134 reg:135 items:136 minimum: 1137 maximum: 31138 139 required:140 - reg141 142 additionalProperties: false143 144 required:145 - compatible146 - interrupts147 - interrupt-names148 - vddadc-supply149 - '#address-cells'150 - '#size-cells'151 - '#io-channel-cells'152 153 additionalProperties: false154 155 thermal:156 description: Node describing the AB8500 thermal control block. All this block157 really does is to fire an interrupt when the die becomes 130 degrees Celsius158 in temperature.159 type: object160 161 properties:162 compatible:163 const: stericsson,abx500-temp164 165 interrupts:166 items:167 - description: Thermal warm warning interrupt168 169 interrupt-names:170 items:171 - const: ABX500_TEMP_WARM172 173 required:174 - compatible175 - interrupts176 - interrupt-names177 178 additionalProperties: false179 180 ab8500_fg:181 description: Node describing the AB8500 fuel gauge control block.182 type: object183 $ref: /schemas/power/supply/stericsson,ab8500-fg.yaml184 185 ab8500_btemp:186 description: Node describing the AB8500 battery temperature control block.187 type: object188 $ref: /schemas/power/supply/stericsson,ab8500-btemp.yaml189 190 ab8500_charger:191 description: Node describing the AB8500 battery charger control block.192 type: object193 $ref: /schemas/power/supply/stericsson,ab8500-charger.yaml194 195 ab8500_chargalg:196 description: Node describing the AB8500 battery charger algorithm.197 type: object198 $ref: /schemas/power/supply/stericsson,ab8500-chargalg.yaml199 200 phy:201 description: Node describing the AB8500 USB PHY control block.202 type: object203 204 properties:205 compatible:206 const: stericsson,ab8500-usb207 208 interrupts:209 items:210 - description: ID wakeup rising IRQ211 - description: ID wakeup falling IRQ212 - description: VBUS detection falling IRQ213 - description: VBUS detection rising IRQ214 - description: USB link status change IRQ215 - description: ADP probe plug IRQ216 - description: ADP probe unplug IRQ217 218 interrupt-names:219 items:220 - const: ID_WAKEUP_R221 - const: ID_WAKEUP_F222 - const: VBUS_DET_F223 - const: VBUS_DET_R224 - const: USB_LINK_STATUS225 - const: USB_ADP_PROBE_PLUG226 - const: USB_ADP_PROBE_UNPLUG227 228 vddulpivio18-supply: true229 v-ape-supply: true230 musb_1v8-supply: true231 232 clocks:233 items:234 - description: PRCMY system clock235 236 clock-names:237 items:238 - const: sysclk239 240 '#phy-cells':241 const: 0242 243 required:244 - compatible245 - interrupts246 - interrupt-names247 - vddulpivio18-supply248 - v-ape-supply249 - musb_1v8-supply250 - clocks251 - clock-names252 - '#phy-cells'253 254 additionalProperties: false255 256 key:257 description: Node describing the AB8500 power-on key control block.258 type: object259 260 properties:261 compatible:262 const: stericsson,ab8500-poweron-key263 264 interrupts:265 items:266 - description: ON key falling IRQ267 - description: ON key rising IRQ268 269 interrupt-names:270 items:271 - const: ONKEY_DBF272 - const: ONKEY_DBR273 274 required:275 - compatible276 - interrupts277 - interrupt-names278 279 additionalProperties: false280 281 ab8500-sysctrl:282 description: Node describing the AB8500 system control block.283 type: object284 285 properties:286 compatible:287 const: stericsson,ab8500-sysctrl288 289 required:290 - compatible291 292 additionalProperties: false293 294 codec:295 description: Node describing the AB8500 audio codec block.296 type: object297 298 properties:299 compatible:300 const: stericsson,ab8500-codec301 302 V-AUD-supply: true303 V-AMIC1-supply: true304 V-AMIC2-supply: true305 V-DMIC-supply: true306 307 clocks:308 items:309 - description: Audio system clock310 311 clock-names:312 items:313 - const: audioclk314 315 stericsson,earpeice-cmv:316 description: Earpiece voltage317 $ref: /schemas/types.yaml#/definitions/uint32318 enum: [ 950, 1100, 1270, 1580 ]319 320 required:321 - compatible322 323 additionalProperties: false324 325 regulator:326 description: Node describing the AB8500 internal regulators.327 type: object328 329 properties:330 compatible:331 enum:332 - stericsson,ab8500-regulator333 - stericsson,ab8505-regulator334 335 vin-supply:336 description: The regulator supplying all of the internal regulators337 with power.338 339 ab8500_ldo_aux1:340 description: The voltage for the auxiliary LDO regulator 1341 type: object342 $ref: /schemas/regulator/regulator.yaml#343 unevaluatedProperties: false344 345 ab8500_ldo_aux2:346 description: The voltage for the auxiliary LDO regulator 2347 type: object348 $ref: /schemas/regulator/regulator.yaml#349 unevaluatedProperties: false350 351 ab8500_ldo_aux3:352 description: The voltage for the auxiliary LDO regulator 3353 type: object354 $ref: /schemas/regulator/regulator.yaml#355 unevaluatedProperties: false356 357 ab8500_ldo_aux4:358 description: The voltage for the auxiliary LDO regulator 4359 only present on AB8505360 type: object361 $ref: /schemas/regulator/regulator.yaml#362 unevaluatedProperties: false363 364 ab8500_ldo_aux5:365 description: The voltage for the auxiliary LDO regulator 5366 only present on AB8505367 type: object368 $ref: /schemas/regulator/regulator.yaml#369 unevaluatedProperties: false370 371 ab8500_ldo_aux6:372 description: The voltage for the auxiliary LDO regulator 6373 only present on AB8505374 type: object375 $ref: /schemas/regulator/regulator.yaml#376 unevaluatedProperties: false377 378 # There is never any AUX7 regulator which is confusing379 380 ab8500_ldo_aux8:381 description: The voltage for the auxiliary LDO regulator 8382 only present on AB8505383 type: object384 $ref: /schemas/regulator/regulator.yaml#385 unevaluatedProperties: false386 387 ab8500_ldo_intcore:388 description: The LDO regulator for the internal core voltage389 of the AB8500390 type: object391 $ref: /schemas/regulator/regulator.yaml#392 unevaluatedProperties: false393 394 ab8500_ldo_adc:395 description: Analog power regulator for the analog to digital converter396 ADC, only present on AB8505397 type: object398 $ref: /schemas/regulator/regulator.yaml#399 unevaluatedProperties: false400 401 ab8500_ldo_tvout:402 description: The voltage for the TV output regulator, incidentally403 this voltage is also used for other purposes such as measuring404 the temperature of the NTC thermistor on the battery.405 Only present on AB8500.406 type: object407 $ref: /schemas/regulator/regulator.yaml#408 unevaluatedProperties: false409 410 ab8500_ldo_audio:411 description: The LDO regulator for the audio codec output412 type: object413 $ref: /schemas/regulator/regulator.yaml#414 unevaluatedProperties: false415 416 ab8500_ldo_anamic1:417 description: The LDO regulator for the analog microphone 1418 type: object419 $ref: /schemas/regulator/regulator.yaml#420 unevaluatedProperties: false421 422 ab8500_ldo_anamic2:423 description: The LDO regulator for the analog microphone 2424 type: object425 $ref: /schemas/regulator/regulator.yaml#426 unevaluatedProperties: false427 428 ab8500_ldo_dmic:429 description: The LDO regulator for the digital microphone430 only present on AB8500431 type: object432 $ref: /schemas/regulator/regulator.yaml#433 unevaluatedProperties: false434 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: object439 $ref: /schemas/regulator/regulator.yaml#440 unevaluatedProperties: false441 442 required:443 - compatible444 445 additionalProperties: false446 447 448 regulator-external:449 description: Node describing the AB8500 external regulators. This450 concerns the autonomous regulators VSMPS1, VSMPS2 and VSMPS3451 that are normally controlled by external electronics but also452 sometimes need to be explicitly controlled by software.453 type: object454 455 properties:456 compatible:457 const: stericsson,ab8500-ext-regulator458 459 ab8500_ext1:460 description: The voltage for the VSMPS1 external regulator461 type: object462 $ref: /schemas/regulator/regulator.yaml#463 unevaluatedProperties: false464 465 ab8500_ext2:466 description: The voltage for the VSMPS2 external regulator467 type: object468 $ref: /schemas/regulator/regulator.yaml#469 unevaluatedProperties: false470 471 ab8500_ext3:472 description: The voltage for the VSMPS3 external regulator473 type: object474 $ref: /schemas/regulator/regulator.yaml#475 unevaluatedProperties: false476 477 required:478 - compatible479 480 additionalProperties: false481 482patternProperties:483 "^pwm@[1-9]+?$":484 type: object485 $ref: /schemas/pwm/pwm.yaml#486 unevaluatedProperties: false487 description: Represents each of the PWM blocks in the AB8500488 489 properties:490 compatible:491 const: stericsson,ab8500-pwm492 493 reg: true494 495 clocks:496 items:497 - description: internal clock498 499 clock-names:500 items:501 - const: intclk502 503 required:504 - compatible505 - reg506 507required:508 - compatible509 - clock-controller510 - gpio511 - rtc512 - adc513 - thermal514 - ab8500_fg515 - ab8500_btemp516 - ab8500_charger517 - ab8500_chargalg518 - phy519 - key520 - regulator521 522additionalProperties: false523