summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/regulator/active-semi,act8865.yaml
blob: afe1abc2d727b37b3652634edd6cbcb8132e5f76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/active-semi,act8865.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Active-semi ACT8865 regulator

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

properties:
  compatible:
    const: active-semi,act8865

  reg:
    maxItems: 1

  system-power-controller:
    description:
      Indicates that the ACT8865 is responsible for powering OFF
      the system.
    type: boolean

  active-semi,vsel-high:
    description:
      Indicates the VSEL pin is high. If this property is missing,
      the VSEL pin is assumed to be low.
    type: boolean

  regulators:
    type: object
    additionalProperties: false

    properties:
      DCDC_REG1:
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

        properties:
          vp1-supply:
            description: Handle to the VP1 input supply

      DCDC_REG2:
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

        properties:
          vp2-supply:
            description: Handle to the VP2 input supply

      DCDC_REG3:
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

        properties:
          vp3-supply:
            description: Handle to the VP3 input supply

    patternProperties:
      "^LDO_REG[1-2]$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

        properties:
          inl45-supply:
            description: Handle to the INL45 input supply

      "^LDO_REG[3-4]$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

        properties:
          inl67-supply:
            description: Handle to the INL67 input supply

additionalProperties: false

required:
  - reg
  - compatible
  - regulators

examples:
  - |
    #include <dt-bindings/regulator/active-semi,8865-regulator.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      pmic@5b {
        compatible = "active-semi,act8865";
        reg = <0x5b>;
        active-semi,vsel-high;

        regulators {
          DCDC_REG1 {
            regulator-name = "VCC_1V8";
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <1800000>;
            regulator-always-on;
          };

          DCDC_REG2 {
            regulator-name = "VCC_1V2";
            regulator-min-microvolt = <1100000>;
            regulator-max-microvolt = <1300000>;
            regulator-always-on;

            regulator-allowed-modes = <ACT8865_REGULATOR_MODE_FIXED>,
                                      <ACT8865_REGULATOR_MODE_LOWPOWER>;
            regulator-initial-mode = <ACT8865_REGULATOR_MODE_FIXED>;

            regulator-state-mem {
              regulator-on-in-suspend;
              regulator-suspend-min-microvolt = <1150000>;
              regulator-suspend-max-microvolt = <1150000>;
              regulator-changeable-in-suspend;
              regulator-mode = <ACT8865_REGULATOR_MODE_LOWPOWER>;
            };
          };

          DCDC_REG3 {
            regulator-name = "VCC_3V3";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
            regulator-always-on;
          };

          LDO_REG1 {
            regulator-name = "VDDANA";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
            regulator-always-on;

            regulator-allowed-modes = <ACT8865_REGULATOR_MODE_NORMAL>,
                                      <ACT8865_REGULATOR_MODE_LOWPOWER>;
            regulator-initial-mode = <ACT8865_REGULATOR_MODE_NORMAL>;

            regulator-state-mem {
              regulator-off-in-suspend;
            };
          };

          LDO_REG2 {
            regulator-name = "FUSE_2V5";
            regulator-min-microvolt = <2500000>;
            regulator-max-microvolt = <2500000>;
          };
        };
      };
    };