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 7title: ST-Ericsson Analog Baseband AB8500 and AB8505 8 9maintainers: 10 - Linus Walleij <linus.walleij@linaro.org> 11 12description: 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 25properties: 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 additionalProperties: false 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 67 additionalProperties: false 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 83 additionalProperties: false 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 129 $ref: ../iio/adc/adc.yaml# 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 183 $ref: ../power/supply/stericsson,ab8500-fg.yaml 184 185 ab8500_btemp: 186 description: Node describing the AB8500 battery temperature control block. 187 type: object 188 $ref: ../power/supply/stericsson,ab8500-btemp.yaml 189 190 ab8500_charger: 191 description: Node describing the AB8500 battery charger control block. 192 type: object 193 $ref: ../power/supply/stericsson,ab8500-charger.yaml 194 195 ab8500_chargalg: 196 description: Node describing the AB8500 battery charger algorithm. 197 type: object 198 $ref: ../power/supply/stericsson,ab8500-chargalg.yaml 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: 316 description: Earpeice voltage 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: 340 description: The voltage for the auxilary LDO regulator 1 341 type: object 342 $ref: ../regulator/regulator.yaml# 343 unevaluatedProperties: false 344 345 ab8500_ldo_aux2: 346 description: The voltage for the auxilary LDO regulator 2 347 type: object 348 $ref: ../regulator/regulator.yaml# 349 unevaluatedProperties: false 350 351 ab8500_ldo_aux3: 352 description: The voltage for the auxilary LDO regulator 3 353 type: object 354 $ref: ../regulator/regulator.yaml# 355 unevaluatedProperties: false 356 357 ab8500_ldo_aux4: 358 description: The voltage for the auxilary LDO regulator 4 359 only present on AB8505 360 type: object 361 $ref: ../regulator/regulator.yaml# 362 unevaluatedProperties: false 363 364 ab8500_ldo_aux5: 365 description: The voltage for the auxilary LDO regulator 5 366 only present on AB8505 367 type: object 368 $ref: ../regulator/regulator.yaml# 369 unevaluatedProperties: false 370 371 ab8500_ldo_aux6: 372 description: The voltage for the auxilary LDO regulator 6 373 only present on AB8505 374 type: object 375 $ref: ../regulator/regulator.yaml# 376 unevaluatedProperties: false 377 378 # There is never any AUX7 regulator which is confusing 379 380 ab8500_ldo_aux8: 381 description: The voltage for the auxilary LDO regulator 8 382 only present on AB8505 383 type: object 384 $ref: ../regulator/regulator.yaml# 385 unevaluatedProperties: false 386 387 ab8500_ldo_intcore: 388 description: The LDO regulator for the internal core voltage 389 of the AB8500 390 type: object 391 $ref: ../regulator/regulator.yaml# 392 unevaluatedProperties: false 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 398 $ref: ../regulator/regulator.yaml# 399 unevaluatedProperties: false 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 407 $ref: ../regulator/regulator.yaml# 408 unevaluatedProperties: false 409 410 ab8500_ldo_audio: 411 description: The LDO regulator for the audio codec output 412 type: object 413 $ref: ../regulator/regulator.yaml# 414 unevaluatedProperties: false 415 416 ab8500_ldo_anamic1: 417 description: The LDO regulator for the analog microphone 1 418 type: object 419 $ref: ../regulator/regulator.yaml# 420 unevaluatedProperties: false 421 422 ab8500_ldo_anamic2: 423 description: The LDO regulator for the analog microphone 2 424 type: object 425 $ref: ../regulator/regulator.yaml# 426 unevaluatedProperties: false 427 428 ab8500_ldo_dmic: 429 description: The LDO regulator for the digital microphone 430 only present on AB8500 431 type: object 432 $ref: ../regulator/regulator.yaml# 433 unevaluatedProperties: false 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 439 $ref: ../regulator/regulator.yaml# 440 unevaluatedProperties: false 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 462 $ref: ../regulator/regulator.yaml# 463 unevaluatedProperties: false 464 465 ab8500_ext2: 466 description: The voltage for the VSMPS2 external regulator 467 type: object 468 $ref: ../regulator/regulator.yaml# 469 unevaluatedProperties: false 470 471 ab8500_ext3: 472 description: The voltage for the VSMPS3 external regulator 473 type: object 474 $ref: ../regulator/regulator.yaml# 475 unevaluatedProperties: false 476 477 required: 478 - compatible 479 480 additionalProperties: false 481 482patternProperties: 483 "^pwm@[1-9]+?$": 484 type: object 485 $ref: ../pwm/pwm.yaml# 486 unevaluatedProperties: false 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 507required: 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 522additionalProperties: false 523