1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/active-semi,act8865.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Active-semi ACT8865 regulator
8
9maintainers:
10  - Paul Cercueil <paul@crapouillou.net>
11
12properties:
13  compatible:
14    const: active-semi,act8865
15
16  reg:
17    maxItems: 1
18
19  system-power-controller:
20    description:
21      Indicates that the ACT8865 is responsible for powering OFF
22      the system.
23    type: boolean
24
25  active-semi,vsel-high:
26    description:
27      Indicates the VSEL pin is high. If this property is missing,
28      the VSEL pin is assumed to be low.
29    type: boolean
30
31  regulators:
32    type: object
33    additionalProperties: false
34
35    properties:
36      DCDC_REG1:
37        type: object
38        $ref: /schemas/regulator/regulator.yaml#
39        unevaluatedProperties: false
40
41        properties:
42          vp1-supply:
43            description: Handle to the VP1 input supply
44
45      DCDC_REG2:
46        type: object
47        $ref: /schemas/regulator/regulator.yaml#
48        unevaluatedProperties: false
49
50        properties:
51          vp2-supply:
52            description: Handle to the VP2 input supply
53
54      DCDC_REG3:
55        type: object
56        $ref: /schemas/regulator/regulator.yaml#
57        unevaluatedProperties: false
58
59        properties:
60          vp3-supply:
61            description: Handle to the VP3 input supply
62
63    patternProperties:
64      "^LDO_REG[1-2]$":
65        type: object
66        $ref: /schemas/regulator/regulator.yaml#
67        unevaluatedProperties: false
68
69        properties:
70          inl45-supply:
71            description: Handle to the INL45 input supply
72
73      "^LDO_REG[3-4]$":
74        type: object
75        $ref: /schemas/regulator/regulator.yaml#
76        unevaluatedProperties: false
77
78        properties:
79          inl67-supply:
80            description: Handle to the INL67 input supply
81
82additionalProperties: false
83
84required:
85  - reg
86  - compatible
87  - regulators
88
89examples:
90  - |
91    #include <dt-bindings/regulator/active-semi,8865-regulator.h>
92
93    i2c1 {
94      #address-cells = <1>;
95      #size-cells = <0>;
96
97      pmic@5b {
98        compatible = "active-semi,act8865";
99        reg = <0x5b>;
100        active-semi,vsel-high;
101
102        regulators {
103          DCDC_REG1 {
104            regulator-name = "VCC_1V8";
105            regulator-min-microvolt = <1800000>;
106            regulator-max-microvolt = <1800000>;
107            regulator-always-on;
108          };
109
110          DCDC_REG2 {
111            regulator-name = "VCC_1V2";
112            regulator-min-microvolt = <1100000>;
113            regulator-max-microvolt = <1300000>;
114            regulator-always-on;
115
116            regulator-allowed-modes = <ACT8865_REGULATOR_MODE_FIXED>,
117                                      <ACT8865_REGULATOR_MODE_LOWPOWER>;
118            regulator-initial-mode = <ACT8865_REGULATOR_MODE_FIXED>;
119
120            regulator-state-mem {
121              regulator-on-in-suspend;
122              regulator-suspend-min-microvolt = <1150000>;
123              regulator-suspend-max-microvolt = <1150000>;
124              regulator-changeable-in-suspend;
125              regulator-mode = <ACT8865_REGULATOR_MODE_LOWPOWER>;
126            };
127          };
128
129          DCDC_REG3 {
130            regulator-name = "VCC_3V3";
131            regulator-min-microvolt = <3300000>;
132            regulator-max-microvolt = <3300000>;
133            regulator-always-on;
134          };
135
136          LDO_REG1 {
137            regulator-name = "VDDANA";
138            regulator-min-microvolt = <3300000>;
139            regulator-max-microvolt = <3300000>;
140            regulator-always-on;
141
142            regulator-allowed-modes = <ACT8865_REGULATOR_MODE_NORMAL>,
143                                      <ACT8865_REGULATOR_MODE_LOWPOWER>;
144            regulator-initial-mode = <ACT8865_REGULATOR_MODE_NORMAL>;
145
146            regulator-state-mem {
147              regulator-off-in-suspend;
148            };
149          };
150
151          LDO_REG2 {
152            regulator-name = "FUSE_2V5";
153            regulator-min-microvolt = <2500000>;
154            regulator-max-microvolt = <2500000>;
155          };
156        };
157      };
158    };
159