cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

stericsson,ab8500.yaml (12286B)


      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
     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
    461patternProperties:
    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
    485required:
    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
    500additionalProperties: false