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

samsung,s2mps11.yaml (7317B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/mfd/samsung,s2mps11.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Samsung S2MPS11/13/14/15 and S2MPU02 Power Management IC
      8
      9maintainers:
     10  - Krzysztof Kozlowski <krzk@kernel.org>
     11
     12description: |
     13  This is a part of device tree bindings for S2M and S5M family of Power
     14  Management IC (PMIC).
     15
     16  The Samsung S2MPS11/13/14/15 and S2MPU02 is a family of Power Management IC
     17  which include voltage and current regulators, RTC, clock outputs and other
     18  sub-blocks.
     19
     20properties:
     21  compatible:
     22    enum:
     23      - samsung,s2mps11-pmic
     24      - samsung,s2mps13-pmic
     25      - samsung,s2mps14-pmic
     26      - samsung,s2mps15-pmic
     27      - samsung,s2mpu02-pmic
     28
     29  clocks:
     30    $ref: ../clock/samsung,s2mps11.yaml
     31    description:
     32      Child node describing clock provider.
     33
     34  interrupts:
     35    maxItems: 1
     36
     37  reg:
     38    maxItems: 1
     39
     40  regulators:
     41    type: object
     42    description:
     43      List of child nodes that specify the regulators.
     44
     45  samsung,s2mps11-acokb-ground:
     46    description: |
     47      Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so
     48      the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the
     49      power. Usually the ACOKB is pulled up to VBATT so when PWRHOLD pin goes
     50      low, the rising ACOKB will trigger power off.
     51    type: boolean
     52
     53  samsung,s2mps11-wrstbi-ground:
     54    description: |
     55      Indicates that WRSTBI pin of PMIC is pulled down. When the system is
     56      suspended it will always go down thus triggerring unwanted buck warm
     57      reset (setting buck voltages to default values).
     58    type: boolean
     59
     60  wakeup-source: true
     61
     62required:
     63  - compatible
     64  - reg
     65  - regulators
     66
     67additionalProperties: false
     68
     69allOf:
     70  - if:
     71      properties:
     72        compatible:
     73          contains:
     74            const: samsung,s2mps11-pmic
     75    then:
     76      properties:
     77        regulators:
     78          $ref: ../regulator/samsung,s2mps11.yaml
     79        samsung,s2mps11-wrstbi-ground: false
     80
     81  - if:
     82      properties:
     83        compatible:
     84          contains:
     85            const: samsung,s2mps13-pmic
     86    then:
     87      properties:
     88        regulators:
     89          $ref: ../regulator/samsung,s2mps13.yaml
     90        samsung,s2mps11-acokb-ground: false
     91
     92  - if:
     93      properties:
     94        compatible:
     95          contains:
     96            const: samsung,s2mps14-pmic
     97    then:
     98      properties:
     99        regulators:
    100          $ref: ../regulator/samsung,s2mps14.yaml
    101        samsung,s2mps11-acokb-ground: false
    102        samsung,s2mps11-wrstbi-ground: false
    103
    104  - if:
    105      properties:
    106        compatible:
    107          contains:
    108            const: samsung,s2mps15-pmic
    109    then:
    110      properties:
    111        regulators:
    112          $ref: ../regulator/samsung,s2mps15.yaml
    113        samsung,s2mps11-acokb-ground: false
    114        samsung,s2mps11-wrstbi-ground: false
    115
    116  - if:
    117      properties:
    118        compatible:
    119          contains:
    120            const: samsung,s2mpu02-pmic
    121    then:
    122      properties:
    123        regulators:
    124          $ref: ../regulator/samsung,s2mpu02.yaml
    125        samsung,s2mps11-acokb-ground: false
    126        samsung,s2mps11-wrstbi-ground: false
    127
    128examples:
    129  - |
    130    #include <dt-bindings/interrupt-controller/irq.h>
    131
    132    i2c {
    133        #address-cells = <1>;
    134        #size-cells = <0>;
    135
    136        pmic@66 {
    137            compatible = "samsung,s2mps11-pmic";
    138            reg = <0x66>;
    139
    140            interrupt-parent = <&gpx0>;
    141            interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
    142            pinctrl-names = "default";
    143            pinctrl-0 = <&s2mps11_irq>;
    144            samsung,s2mps11-acokb-ground;
    145            wakeup-source;
    146
    147            clocks {
    148                compatible = "samsung,s2mps11-clk";
    149                #clock-cells = <1>;
    150                clock-output-names = "s2mps11_ap", "s2mps11_cp", "s2mps11_bt";
    151            };
    152
    153            regulators {
    154                LDO1 {
    155                    regulator-name = "vdd_ldo1";
    156                    regulator-min-microvolt = <1000000>;
    157                    regulator-max-microvolt = <1000000>;
    158                    regulator-always-on;
    159                };
    160
    161                LDO4 {
    162                    regulator-name = "vdd_adc";
    163                    regulator-min-microvolt = <1800000>;
    164                    regulator-max-microvolt = <1800000>;
    165
    166                    regulator-state-mem {
    167                        regulator-off-in-suspend;
    168                    };
    169                };
    170
    171                // ....
    172
    173                BUCK1 {
    174                    regulator-name = "vdd_mif";
    175                    regulator-min-microvolt = <800000>;
    176                    regulator-max-microvolt = <1300000>;
    177                    regulator-always-on;
    178                    regulator-boot-on;
    179
    180                    regulator-state-mem {
    181                        regulator-off-in-suspend;
    182                    };
    183                };
    184
    185                BUCK2 {
    186                    regulator-name = "vdd_arm";
    187                    regulator-min-microvolt = <800000>;
    188                    regulator-max-microvolt = <1500000>;
    189                    regulator-always-on;
    190                    regulator-boot-on;
    191                    regulator-coupled-with = <&buck3_reg>;
    192                    regulator-coupled-max-spread = <300000>;
    193
    194                    regulator-state-mem {
    195                        regulator-off-in-suspend;
    196                    };
    197                };
    198
    199                BUCK3 {
    200                    regulator-name = "vdd_int";
    201                    regulator-min-microvolt = <800000>;
    202                    regulator-max-microvolt = <1400000>;
    203                    regulator-always-on;
    204                    regulator-boot-on;
    205                    regulator-coupled-with = <&buck2_reg>;
    206                    regulator-coupled-max-spread = <300000>;
    207
    208                    regulator-state-mem {
    209                        regulator-off-in-suspend;
    210                    };
    211                };
    212
    213                // ...
    214            };
    215        };
    216    };
    217
    218  - |
    219    #include <dt-bindings/interrupt-controller/irq.h>
    220
    221    i2c {
    222        #address-cells = <1>;
    223        #size-cells = <0>;
    224
    225        pmic@66 {
    226            compatible = "samsung,s2mps14-pmic";
    227            reg = <0x66>;
    228
    229            interrupt-parent = <&gpx0>;
    230            interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
    231            wakeup-source;
    232
    233            clocks {
    234                compatible = "samsung,s2mps14-clk";
    235                #clock-cells = <1>;
    236                clock-output-names = "s2mps14_ap", "unused", "s2mps14_bt";
    237            };
    238
    239            regulators {
    240                LDO1 {
    241                    regulator-name = "VLDO1_1.0V";
    242                    regulator-min-microvolt = <1000000>;
    243                    regulator-max-microvolt = <1000000>;
    244                    regulator-always-on;
    245
    246                    regulator-state-mem {
    247                        regulator-on-in-suspend;
    248                    };
    249                };
    250
    251                // ...
    252
    253                BUCK1 {
    254                    regulator-name = "VBUCK1_1.0V";
    255                    regulator-min-microvolt = <800000>;
    256                    regulator-max-microvolt = <1000000>;
    257                    regulator-always-on;
    258
    259                    regulator-state-mem {
    260                        regulator-off-in-suspend;
    261                    };
    262                };
    263
    264                // ...
    265            };
    266        };
    267    };