xref: /linux/Documentation/devicetree/bindings/regulator/lltc,ltc3676.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/lltc,ltc3676.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Linear Technology LTC3676 8-output regulators
8
9maintainers:
10  - Tim Harvey <tharvey@gateworks.com>
11
12description: |
13  LTC3676 contains eight regulators, 4 switching SW1..SW4 and four LDO1..4 .
14
15properties:
16  compatible:
17    const: lltc,ltc3676
18
19  reg:
20    maxItems: 1
21
22  interrupts:
23    maxItems: 1
24
25  regulators:
26    type: object
27    additionalProperties: false
28    description: |
29      List of regulators provided by this controller, must be named
30      after their hardware counterparts (SW|LDO)[1-4].
31
32    patternProperties:
33      "^(sw[1-4]|ldo[24])$":
34        type: object
35        unevaluatedProperties: false
36        $ref: regulator.yaml#
37        description:
38          Properties for single SW or LDO regulator. Regulators SW1..SW4 can
39          regulate the feedback reference from 412.5mV to 800mV in 12.5 mV
40          steps. The output voltage thus ranges between 0.4125 * (1 + R1/R2) V
41          and 0.8 * (1 + R1/R2) V.
42          Regulators LDO1, LDO2, LDO4 have a fixed 0.725 V reference and thus
43          output 0.725 * (1 + R1/R2) V.
44          The LDO1 standby regulator can not be disabled and thus should have
45          the regulator-always-on property set.
46
47        properties:
48          lltc,fb-voltage-divider:
49            description:
50              An array of two integers containing the resistor values
51              R1 and R2 of the feedback voltage divider in ohms.
52            $ref: /schemas/types.yaml#/definitions/uint32-array
53            minItems: 2
54            maxItems: 2
55
56        required:
57          - lltc,fb-voltage-divider
58
59    properties:
60      ldo1:
61        type: object
62        unevaluatedProperties: false
63        $ref: regulator.yaml#
64        description:
65          The LDO1 standby regulator can not be disabled and thus should
66          have the regulator-always-on property set. See patternProperties
67          description above for the rest of the details.
68
69        properties:
70          lltc,fb-voltage-divider:
71            description:
72              An array of two integers containing the resistor values
73              R1 and R2 of the feedback voltage divider in ohms.
74            $ref: /schemas/types.yaml#/definitions/uint32-array
75            minItems: 2
76            maxItems: 2
77
78        required:
79          - lltc,fb-voltage-divider
80          - regulator-always-on
81
82      ldo3:
83        type: object
84        unevaluatedProperties: false
85        $ref: regulator.yaml#
86        description:
87          The LDO3 regulator is fixed to 1.8 V. See patternProperties
88          description above for the rest of the details.
89
90required:
91  - compatible
92  - reg
93  - regulators
94
95additionalProperties: false
96
97examples:
98  - |
99    i2c {
100        #address-cells = <1>;
101        #size-cells = <0>;
102
103        pmic@3c {
104            compatible = "lltc,ltc3676";
105            reg = <0x3c>;
106
107            regulators {
108                sw1_reg: sw1 {
109                    regulator-min-microvolt = <674400>;
110                    regulator-max-microvolt = <1308000>;
111                    lltc,fb-voltage-divider = <127000 200000>;
112                    regulator-ramp-delay = <7000>;
113                    regulator-boot-on;
114                    regulator-always-on;
115                };
116
117                sw2_reg: sw2 {
118                    regulator-min-microvolt = <1033310>;
119                    regulator-max-microvolt = <200400>;
120                    lltc,fb-voltage-divider = <301000 200000>;
121                    regulator-ramp-delay = <7000>;
122                    regulator-boot-on;
123                    regulator-always-on;
124                };
125
126                sw3_reg: sw3 {
127                    regulator-min-microvolt = <674400>;
128                    regulator-max-microvolt = <130800>;
129                    lltc,fb-voltage-divider = <127000 200000>;
130                    regulator-ramp-delay = <7000>;
131                    regulator-boot-on;
132                    regulator-always-on;
133                };
134
135                sw4_reg: sw4 {
136                    regulator-min-microvolt = <868310>;
137                    regulator-max-microvolt = <168400>;
138                    lltc,fb-voltage-divider = <221000 200000>;
139                    regulator-ramp-delay = <7000>;
140                    regulator-boot-on;
141                    regulator-always-on;
142                };
143
144                ldo2_reg: ldo2 {
145                    regulator-min-microvolt = <2490375>;
146                    regulator-max-microvolt = <2490375>;
147                    lltc,fb-voltage-divider = <487000 200000>;
148                    regulator-boot-on;
149                    regulator-always-on;
150                };
151
152                ldo3_reg: ldo3 {
153                    regulator-min-microvolt = <1800000>;
154                    regulator-max-microvolt = <1800000>;
155                    regulator-boot-on;
156                };
157
158                ldo4_reg: ldo4 {
159                    regulator-min-microvolt = <3023250>;
160                    regulator-max-microvolt = <3023250>;
161                    lltc,fb-voltage-divider = <634000 200000>;
162                    regulator-boot-on;
163                    regulator-always-on;
164                };
165            };
166        };
167    };
168