Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/stericsson,ab8500.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: ST-Ericsson Analog Baseband AB8500 and AB8505
0008 
0009 maintainers:
0010   - Linus Walleij <linus.walleij@linaro.org>
0011 
0012 description:
0013   the AB8500 "Analog Baseband" is the mixed-signals integrated circuit
0014   handling power management (regulators), analog-to-digital conversion
0015   (ADC), battery charging, fuel gauging of the battery, battery-backed
0016   RTC, PWM, USB PHY and some GPIO lines in the ST-Ericsson U8500 platforms
0017   in connection with the DB8500 digital baseband. The DB8500 PRCMU
0018   communicates directly and autonomously with the AB8500 and thus it
0019   appears as a subnode of the DB8500 PRCMU. An altered version called
0020   AB8505 also exist, the difference in AB8505 is that some of the USB and
0021   USB charging handling has changed, and it has an embedded USB-to-serial
0022   converter. Most subblocks takes their interrupts directly from the
0023   AB8500 embedded interrupt controller.
0024 
0025 properties:
0026   $nodename:
0027     pattern: '^ab850[05]$'
0028 
0029   compatible:
0030     enum:
0031       - stericsson,ab8500
0032       - stericsson,ab8505
0033 
0034   interrupts:
0035     maxItems: 1
0036 
0037   interrupt-controller: true
0038 
0039   '#interrupt-cells':
0040     const: 2
0041 
0042   # Some subnodes use a reg, some don't. Those that do use a single cell.
0043   '#address-cells':
0044     const: 1
0045 
0046   '#size-cells':
0047     const: 0
0048 
0049   clock-controller:
0050     description: Node describing the AB8500 clock controller. This
0051       provides the reference clock for the entire U8500 system and
0052       the DB8500 counterpart.
0053     type: object
0054 
0055     properties:
0056       compatible:
0057         const: stericsson,ab8500-clk
0058 
0059       '#clock-cells':
0060         const: 1
0061 
0062   gpio:
0063     description: Node describing the AB8500 GPIO controller. A few
0064       GPIO pins available for misc usage.
0065     type: object
0066 
0067     properties:
0068       compatible:
0069         enum:
0070           - stericsson,ab8500-gpio
0071           - stericsson,ab8505-gpio
0072 
0073       gpio-controller: true
0074 
0075       '#gpio-cells':
0076         const: 2
0077 
0078   rtc:
0079     description: Node describing the AB8500 battery-backed RTC.
0080     type: object
0081 
0082     properties:
0083       compatible:
0084         const: stericsson,ab8500-rtc
0085 
0086       interrupts:
0087         items:
0088           - description: 60 second interval alarm interrupt
0089           - description: RTC alarm
0090 
0091       interrupt-names:
0092         items:
0093           - const: 60S
0094           - const: ALARM
0095 
0096   adc:
0097     description: Node describing the AB8500 general purpose analog to digital
0098       converter, GPADC.
0099     type: object
0100 
0101     properties:
0102       compatible:
0103         const: stericsson,ab8500-gpadc
0104 
0105       # AB8505 only supports one (software) EOC interrupt
0106       interrupts:
0107         minItems: 1
0108         maxItems: 2
0109 
0110       interrupt-names: true
0111 
0112       vddadc-supply: true
0113 
0114       '#address-cells':
0115         const: 1
0116 
0117       '#size-cells':
0118         const: 0
0119 
0120       '#io-channel-cells':
0121         const: 1
0122 
0123     patternProperties:
0124       "^channel@[0-9a-f]+$":
0125         type: object
0126         $ref: ../iio/adc/adc.yaml#
0127         description: Represents each of the external channels which are
0128           connected to the ADC.
0129 
0130         properties:
0131           reg:
0132             items:
0133               minimum: 1
0134               maximum: 31
0135 
0136         required:
0137           - reg
0138 
0139         additionalProperties: false
0140 
0141     required:
0142       - compatible
0143       - interrupts
0144       - interrupt-names
0145       - vddadc-supply
0146       - '#address-cells'
0147       - '#size-cells'
0148       - '#io-channel-cells'
0149 
0150     additionalProperties: false
0151 
0152   thermal:
0153     description: Node describing the AB8500 thermal control block. All this block
0154       really does is to fire an interrupt when the die becomes 130 degrees Celsius
0155       in temperature.
0156     type: object
0157 
0158     properties:
0159       compatible:
0160         const: stericsson,abx500-temp
0161 
0162       interrupts:
0163         items:
0164           - description: Thermal warm warning interrupt
0165 
0166       interrupt-names:
0167         items:
0168           - const: ABX500_TEMP_WARM
0169 
0170     required:
0171       - compatible
0172       - interrupts
0173       - interrupt-names
0174 
0175     additionalProperties: false
0176 
0177   ab8500_fg:
0178     description: Node describing the AB8500 fuel gauge control block.
0179     type: object
0180     $ref: ../power/supply/stericsson,ab8500-fg.yaml
0181 
0182   ab8500_btemp:
0183     description: Node describing the AB8500 battery temperature control block.
0184     type: object
0185     $ref: ../power/supply/stericsson,ab8500-btemp.yaml
0186 
0187   ab8500_charger:
0188     description: Node describing the AB8500 battery charger control block.
0189     type: object
0190     $ref: ../power/supply/stericsson,ab8500-charger.yaml
0191 
0192   ab8500_chargalg:
0193     description: Node describing the AB8500 battery charger algorithm.
0194     type: object
0195     $ref: ../power/supply/stericsson,ab8500-chargalg.yaml
0196 
0197   phy:
0198     description: Node describing the AB8500 USB PHY control block.
0199     type: object
0200 
0201     properties:
0202       compatible:
0203         const: stericsson,ab8500-usb
0204 
0205       interrupts:
0206         items:
0207           - description: ID wakeup rising IRQ
0208           - description: ID wakeup falling IRQ
0209           - description: VBUS detection falling IRQ
0210           - description: VBUS detection rising IRQ
0211           - description: USB link status change IRQ
0212           - description: ADP probe plug IRQ
0213           - description: ADP probe unplug IRQ
0214 
0215       interrupt-names:
0216         items:
0217           - const: ID_WAKEUP_R
0218           - const: ID_WAKEUP_F
0219           - const: VBUS_DET_F
0220           - const: VBUS_DET_R
0221           - const: USB_LINK_STATUS
0222           - const: USB_ADP_PROBE_PLUG
0223           - const: USB_ADP_PROBE_UNPLUG
0224 
0225       vddulpivio18-supply: true
0226       v-ape-supply: true
0227       musb_1v8-supply: true
0228 
0229       clocks:
0230         items:
0231           - description: PRCMY system clock
0232 
0233       clock-names:
0234         items:
0235           - const: sysclk
0236 
0237       '#phy-cells':
0238         const: 0
0239 
0240     required:
0241       - compatible
0242       - interrupts
0243       - interrupt-names
0244       - vddulpivio18-supply
0245       - v-ape-supply
0246       - musb_1v8-supply
0247       - clocks
0248       - clock-names
0249       - '#phy-cells'
0250 
0251     additionalProperties: false
0252 
0253   key:
0254     description: Node describing the AB8500 power-on key control block.
0255     type: object
0256 
0257     properties:
0258       compatible:
0259         const: stericsson,ab8500-poweron-key
0260 
0261       interrupts:
0262         items:
0263           - description: ON key falling IRQ
0264           - description: ON key rising IRQ
0265 
0266       interrupt-names:
0267         items:
0268           - const: ONKEY_DBF
0269           - const: ONKEY_DBR
0270 
0271     required:
0272       - compatible
0273       - interrupts
0274       - interrupt-names
0275 
0276     additionalProperties: false
0277 
0278   ab8500-sysctrl:
0279     description: Node describing the AB8500 system control block.
0280     type: object
0281 
0282     properties:
0283       compatible:
0284         const: stericsson,ab8500-sysctrl
0285 
0286     required:
0287       - compatible
0288 
0289     additionalProperties: false
0290 
0291   codec:
0292     description: Node describing the AB8500 audio codec block.
0293     type: object
0294 
0295     properties:
0296       compatible:
0297         const: stericsson,ab8500-codec
0298 
0299       V-AUD-supply: true
0300       V-AMIC1-supply: true
0301       V-AMIC2-supply: true
0302       V-DMIC-supply: true
0303 
0304       clocks:
0305         items:
0306           - description: Audio system clock
0307 
0308       clock-names:
0309         items:
0310           - const: audioclk
0311 
0312       stericsson,earpeice-cmv:
0313         description: Earpeice voltage
0314         $ref: /schemas/types.yaml#/definitions/uint32
0315         enum: [ 950, 1100, 1270, 1580 ]
0316 
0317     required:
0318       - compatible
0319 
0320     additionalProperties: false
0321 
0322   regulator:
0323     description: Node describing the AB8500 internal regulators.
0324     type: object
0325 
0326     properties:
0327       compatible:
0328         enum:
0329           - stericsson,ab8500-regulator
0330           - stericsson,ab8505-regulator
0331 
0332       vin-supply:
0333         description: The regulator supplying all of the internal regulators
0334           with power.
0335 
0336       ab8500_ldo_aux1:
0337         description: The voltage for the auxilary LDO regulator 1
0338         type: object
0339         $ref: ../regulator/regulator.yaml#
0340 
0341       ab8500_ldo_aux2:
0342         description: The voltage for the auxilary LDO regulator 2
0343         type: object
0344         $ref: ../regulator/regulator.yaml#
0345 
0346       ab8500_ldo_aux3:
0347         description: The voltage for the auxilary LDO regulator 3
0348         type: object
0349         $ref: ../regulator/regulator.yaml#
0350 
0351       ab8500_ldo_aux4:
0352         description: The voltage for the auxilary LDO regulator 4
0353           only present on AB8505
0354         type: object
0355         $ref: ../regulator/regulator.yaml#
0356 
0357       ab8500_ldo_aux5:
0358         description: The voltage for the auxilary LDO regulator 5
0359           only present on AB8505
0360         type: object
0361         $ref: ../regulator/regulator.yaml#
0362 
0363       ab8500_ldo_aux6:
0364         description: The voltage for the auxilary LDO regulator 6
0365           only present on AB8505
0366         type: object
0367         $ref: ../regulator/regulator.yaml#
0368 
0369       # There is never any AUX7 regulator which is confusing
0370 
0371       ab8500_ldo_aux8:
0372         description: The voltage for the auxilary LDO regulator 8
0373           only present on AB8505
0374         type: object
0375         $ref: ../regulator/regulator.yaml#
0376 
0377       ab8500_ldo_intcore:
0378         description: The LDO regulator for the internal core voltage
0379           of the AB8500
0380         type: object
0381         $ref: ../regulator/regulator.yaml#
0382 
0383       ab8500_ldo_adc:
0384         description: Analog power regulator for the analog to digital converter
0385           ADC, only present on AB8505
0386         type: object
0387         $ref: ../regulator/regulator.yaml#
0388 
0389       ab8500_ldo_tvout:
0390         description: The voltage for the TV output regulator, incidentally
0391           this voltage is also used for other purposes such as measuring
0392           the temperature of the NTC thermistor on the battery.
0393           Only present on AB8500.
0394         type: object
0395         $ref: ../regulator/regulator.yaml#
0396 
0397       ab8500_ldo_audio:
0398         description: The LDO regulator for the audio codec output
0399         type: object
0400         $ref: ../regulator/regulator.yaml#
0401 
0402       ab8500_ldo_anamic1:
0403         description: The LDO regulator for the analog microphone 1
0404         type: object
0405         $ref: ../regulator/regulator.yaml#
0406 
0407       ab8500_ldo_anamic2:
0408         description: The LDO regulator for the analog microphone 2
0409         type: object
0410         $ref: ../regulator/regulator.yaml#
0411 
0412       ab8500_ldo_dmic:
0413         description: The LDO regulator for the digital microphone
0414           only present on AB8500
0415         type: object
0416         $ref: ../regulator/regulator.yaml#
0417 
0418       ab8500_ldo_ana:
0419         description: Analog power regulator for CSI and DSI interfaces,
0420           Camera Serial Interface CSI and Display Serial Interface DSI.
0421         type: object
0422         $ref: ../regulator/regulator.yaml#
0423 
0424     required:
0425       - compatible
0426 
0427     additionalProperties: false
0428 
0429 
0430   regulator-external:
0431     description: Node describing the AB8500 external regulators. This
0432       concerns the autonomous regulators VSMPS1, VSMPS2 and VSMPS3
0433       that are normally controlled by external electronics but also
0434       sometimes need to be explicitly controlled by software.
0435     type: object
0436 
0437     properties:
0438       compatible:
0439         const: stericsson,ab8500-ext-regulator
0440 
0441       ab8500_ext1:
0442         description: The voltage for the VSMPS1 external regulator
0443         type: object
0444         $ref: ../regulator/regulator.yaml#
0445 
0446       ab8500_ext2:
0447         description: The voltage for the VSMPS2 external regulator
0448         type: object
0449         $ref: ../regulator/regulator.yaml#
0450 
0451       ab8500_ext3:
0452         description: The voltage for the VSMPS3 external regulator
0453         type: object
0454         $ref: ../regulator/regulator.yaml#
0455 
0456     required:
0457       - compatible
0458 
0459     additionalProperties: false
0460 
0461 patternProperties:
0462   "^pwm@[1-9]+?$":
0463     type: object
0464     $ref: ../pwm/pwm.yaml#
0465     description: Represents each of the PWM blocks in the AB8500
0466 
0467     properties:
0468       compatible:
0469         const: stericsson,ab8500-pwm
0470 
0471       reg: true
0472 
0473       clocks:
0474         items:
0475           - description: internal clock
0476 
0477       clock-names:
0478         items:
0479           - const: intclk
0480 
0481     required:
0482       - compatible
0483       - reg
0484 
0485 required:
0486   - compatible
0487   - clock-controller
0488   - gpio
0489   - rtc
0490   - adc
0491   - thermal
0492   - ab8500_fg
0493   - ab8500_btemp
0494   - ab8500_charger
0495   - ab8500_chargalg
0496   - phy
0497   - key
0498   - regulator
0499 
0500 additionalProperties: false