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

x-powers,axp152.yaml (9874B)


      1# SPDX-License-Identifier: GPL-2.0
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: X-Powers AXP PMIC Device Tree Bindings
      8
      9maintainers:
     10  - Chen-Yu Tsai <wens@csie.org>
     11
     12allOf:
     13  - if:
     14      properties:
     15        compatible:
     16          contains:
     17            enum:
     18              - x-powers,axp152
     19              - x-powers,axp202
     20              - x-powers,axp209
     21
     22    then:
     23      properties:
     24        regulators:
     25          properties:
     26            x-powers,dcdc-freq:
     27              minimum: 750
     28              maximum: 1875
     29              default: 1500
     30
     31    else:
     32      properties:
     33        regulators:
     34          properties:
     35            x-powers,dcdc-freq:
     36              minimum: 1800
     37              maximum: 4050
     38              default: 3000
     39
     40  - if:
     41      properties:
     42        compatible:
     43          contains:
     44            enum:
     45              - x-powers,axp152
     46              - x-powers,axp202
     47              - x-powers,axp209
     48
     49    then:
     50      not:
     51        required:
     52          - x-powers,drive-vbus-en
     53
     54  - if:
     55      not:
     56        properties:
     57          compatible:
     58            contains:
     59              const: x-powers,axp806
     60
     61    then:
     62      allOf:
     63        - not:
     64            required:
     65              - x-powers,self-working-mode
     66
     67        - not:
     68            required:
     69              - x-powers,master-mode
     70
     71  - if:
     72      not:
     73        properties:
     74          compatible:
     75            contains:
     76              const: x-powers,axp305
     77
     78    then:
     79      required:
     80        - interrupts
     81
     82properties:
     83  compatible:
     84    oneOf:
     85      - enum:
     86          - x-powers,axp152
     87          - x-powers,axp202
     88          - x-powers,axp209
     89          - x-powers,axp221
     90          - x-powers,axp223
     91          - x-powers,axp803
     92          - x-powers,axp806
     93          - x-powers,axp809
     94          - x-powers,axp813
     95      - items:
     96          - const: x-powers,axp805
     97          - const: x-powers,axp806
     98      - items:
     99          - const: x-powers,axp305
    100          - const: x-powers,axp805
    101          - const: x-powers,axp806
    102      - items:
    103          - const: x-powers,axp818
    104          - const: x-powers,axp813
    105
    106  reg:
    107    maxItems: 1
    108
    109  interrupts:
    110    maxItems: 1
    111
    112  interrupt-controller: true
    113
    114  "#interrupt-cells":
    115    const: 1
    116
    117  x-powers,drive-vbus-en:
    118    type: boolean
    119    description: >
    120      Set this when the N_VBUSEN pin is used as an output pin to control an
    121      external regulator to drive the OTG VBus, rather then as an input pin
    122      which signals whether the board is driving OTG VBus or not.
    123
    124  x-powers,self-working-mode:
    125    type: boolean
    126    description: >
    127      Set this when the PMIC is wired for self-working mode through the MODESET
    128      pin.
    129
    130  x-powers,master-mode:
    131    type: boolean
    132    description: >
    133      Set this when the PMIC is wired for master mode through the MODESET pin.
    134
    135  vin1-supply:
    136    description: >
    137      DCDC1 power supply node, if present.
    138
    139  vin2-supply:
    140    description: >
    141      DCDC2 power supply node, if present.
    142
    143  vin3-supply:
    144    description: >
    145      DCDC3 power supply node, if present.
    146
    147  vin4-supply:
    148    description: >
    149      DCDC4 power supply node, if present.
    150
    151  vin5-supply:
    152    description: >
    153      DCDC5 power supply node, if present.
    154
    155  vin6-supply:
    156    description: >
    157      DCDC6 power supply node, if present.
    158
    159  vin7-supply:
    160    description: >
    161      DCDC7 power supply node, if present.
    162
    163  vina-supply:
    164    description: >
    165      DCDCA power supply node, if present.
    166
    167  vinb-supply:
    168    description: >
    169      DCDCB power supply node, if present.
    170
    171  vinc-supply:
    172    description: >
    173      DCDCC power supply node, if present.
    174
    175  vind-supply:
    176    description: >
    177      DCDCD power supply node, if present.
    178
    179  vine-supply:
    180    description: >
    181      DCDCE power supply node, if present.
    182
    183  acin-supply:
    184    description: >
    185      LDO1 power supply node, if present.
    186
    187  ldo24in-supply:
    188    description: >
    189      LDO2 and LDO4 power supply node, if present.
    190
    191  ldo3in-supply:
    192    description: >
    193      LDO3 power supply node, if present.
    194
    195  ldo5in-supply:
    196    description: >
    197      LDO5 power supply node, if present.
    198
    199  aldoin-supply:
    200    description: >
    201      ALDO* power supply node, if present.
    202
    203  bldoin-supply:
    204    description: >
    205      BLDO* power supply node, if present.
    206
    207  cldoin-supply:
    208    description: >
    209      CLDO* power supply node, if present.
    210
    211  dldoin-supply:
    212    description: >
    213      DLDO* power supply node, if present.
    214
    215  eldoin-supply:
    216    description: >
    217      ELDO* power supply node, if present.
    218
    219  fldoin-supply:
    220    description: >
    221      FLDO* power supply node, if present.
    222
    223  ips-supply:
    224    description: >
    225      LDO_IO0, LDO_IO1 and RTC_LDO power supply node, if present.
    226
    227  drivevbus-supply:
    228    description: >
    229      DRIVEVBUS power supply node, if present.
    230
    231  swin-supply:
    232    description: >
    233      SW power supply node, if present.
    234
    235  adc:
    236    $ref: /schemas/iio/adc/x-powers,axp209-adc.yaml#
    237
    238  gpio:
    239    $ref: /schemas/gpio/x-powers,axp209-gpio.yaml#
    240
    241  ac-power:
    242    $ref: /schemas/power/supply/x-powers,axp20x-ac-power-supply.yaml#
    243
    244  battery-power:
    245    $ref: /schemas/power/supply/x-powers,axp20x-battery-power-supply.yaml#
    246
    247  usb-power:
    248    $ref: /schemas/power/supply/x-powers,axp20x-usb-power-supply.yaml#
    249
    250  regulators:
    251    type: object
    252
    253    properties:
    254      x-powers,dcdc-freq:
    255        $ref: /schemas/types.yaml#/definitions/uint32
    256        description: >
    257          Defines the work frequency of DC-DC in kHz.
    258
    259    patternProperties:
    260      "^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|drivevbus|dc5ldo)$":
    261        $ref: /schemas/regulator/regulator.yaml#
    262        type: object
    263
    264        properties:
    265          regulator-ramp-delay:
    266            description: >
    267              Only 800 and 1600 are valid for the DCDC2 and LDO3 regulators on
    268              the AXP209.
    269
    270          regulator-soft-start:
    271            description: >
    272              Only valid for the LDO3 regulator.
    273
    274          x-powers,dcdc-workmode:
    275            $ref: /schemas/types.yaml#/definitions/uint32
    276            enum: [0, 1]
    277            description: >
    278              Only valid for DCDC regulators. Setup 1 for PWM mode, 0
    279              for AUTO (PWM/PFM) mode. The DCDC regulators work in a
    280              mixed PWM/PFM mode, using PFM under light loads and
    281              switching to PWM for heavier loads. Forcing PWM mode
    282              trades efficiency under light loads for lower output
    283              noise. This probably makes sense for HiFi audio related
    284              applications that aren't battery constrained.
    285
    286    additionalProperties: false
    287
    288required:
    289  - compatible
    290  - reg
    291  - "#interrupt-cells"
    292  - interrupt-controller
    293
    294additionalProperties: false
    295
    296examples:
    297  - |
    298      i2c0 {
    299          #address-cells = <1>;
    300          #size-cells = <0>;
    301
    302          pmic@30 {
    303              compatible = "x-powers,axp152";
    304              reg = <0x30>;
    305              interrupts = <0>;
    306              interrupt-controller;
    307              #interrupt-cells = <1>;
    308          };
    309      };
    310
    311  - |
    312      #include <dt-bindings/interrupt-controller/irq.h>
    313
    314      i2c0 {
    315          #address-cells = <1>;
    316          #size-cells = <0>;
    317
    318          pmic@34 {
    319              compatible = "x-powers,axp209";
    320              reg = <0x34>;
    321              interrupt-parent = <&nmi_intc>;
    322              interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
    323              interrupt-controller;
    324              #interrupt-cells = <1>;
    325
    326              ac_power_supply: ac-power {
    327                  compatible = "x-powers,axp202-ac-power-supply";
    328              };
    329
    330              axp_adc: adc {
    331                  compatible = "x-powers,axp209-adc";
    332                  #io-channel-cells = <1>;
    333              };
    334
    335              axp_gpio: gpio {
    336                  compatible = "x-powers,axp209-gpio";
    337                  gpio-controller;
    338                  #gpio-cells = <2>;
    339
    340                  gpio0-adc-pin {
    341                      pins = "GPIO0";
    342                      function = "adc";
    343                  };
    344              };
    345
    346              battery_power_supply: battery-power {
    347                  compatible = "x-powers,axp209-battery-power-supply";
    348              };
    349
    350              regulators {
    351                  /* Default work frequency for buck regulators */
    352                  x-powers,dcdc-freq = <1500>;
    353
    354                  reg_dcdc2: dcdc2 {
    355                      regulator-always-on;
    356                      regulator-min-microvolt = <1000000>;
    357                      regulator-max-microvolt = <1450000>;
    358                      regulator-name = "vdd-cpu";
    359                  };
    360
    361                  reg_dcdc3: dcdc3 {
    362                      regulator-always-on;
    363                      regulator-min-microvolt = <1000000>;
    364                      regulator-max-microvolt = <1400000>;
    365                      regulator-name = "vdd-int-dll";
    366                  };
    367
    368                  reg_ldo1: ldo1 {
    369                      /* LDO1 is a fixed output regulator */
    370                      regulator-always-on;
    371                      regulator-min-microvolt = <1300000>;
    372                      regulator-max-microvolt = <1300000>;
    373                      regulator-name = "vdd-rtc";
    374                  };
    375
    376                  reg_ldo2: ldo2 {
    377                      regulator-always-on;
    378                      regulator-min-microvolt = <3000000>;
    379                      regulator-max-microvolt = <3000000>;
    380                      regulator-name = "avcc";
    381                  };
    382
    383                  reg_ldo3: ldo3 {
    384                      regulator-name = "ldo3";
    385                  };
    386
    387                  reg_ldo4: ldo4 {
    388                      regulator-name = "ldo4";
    389                  };
    390
    391                  reg_ldo5: ldo5 {
    392                      regulator-name = "ldo5";
    393                  };
    394              };
    395
    396              usb_power_supply: usb-power {
    397                  compatible = "x-powers,axp202-usb-power-supply";
    398              };
    399          };
    400      };