xref: /linux/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml (revision b3438e5ca785565a65ef231bc03cd5a05c3be5c7)
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,ltc3589.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Linear Technology LTC3589 PMIC
8
9maintainers:
10  - Frank Li <Frank.li@kernel.org>
11
12description:
13  Linear Technology LTC3589, LTC3589-1 and LTC3589-2 are PMICs
14  containing three buck regulators, one boost regulator and four
15  LDO regulators.
16
17properties:
18  compatible:
19    enum:
20      - lltc,ltc3589
21      - lltc,ltc3589-1
22      - lltc,ltc3589-2
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30  regulators:
31    type: object
32    additionalProperties: false
33
34    patternProperties:
35      "^(sw1|sw2|sw3|bb-out|ldo1|ldo2)$":
36        type: object
37        unevaluatedProperties: false
38        $ref: regulator.yaml#
39
40        properties:
41          lltc,fb-voltage-divider:
42            description:
43              Feedback voltage divider resistor values (R1, R2) in ohms.
44              Regulators sw1, sw2, sw3, and ldo2 can regulate the feedback
45              reference from 0.3625 V to 0.75 V in 12.5 mV steps. The output
46              voltage thus ranges between 0.3625 * (1 + R1/R2) V and
47              0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1 have a fixed
48              0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
49              regulator is fixed to 1.8 V on LTC3589 and to 2.8 V on
50              LTC3589-1,2. The ldo4 regulator can output between 1.8 V and
51              3.3 V on LTC3589 and between 1.2 V and 3.2 V on LTC3589-1,2 in
52              four steps. The ldo1 standby regulator can not be disabled and
53              thus should have the regulator-always-on property set.
54            $ref: /schemas/types.yaml#/definitions/uint32-array
55            items:
56              - description: R1 in ohms
57              - description: R2 in ohms.
58
59        required:
60          - lltc,fb-voltage-divider
61
62      "^(ldo3|ldo4)$":
63        type: object
64        unevaluatedProperties: false
65        $ref: regulator.yaml#
66
67required:
68  - compatible
69  - reg
70  - regulators
71
72additionalProperties: false
73
74examples:
75  - |
76    i2c {
77        #address-cells = <1>;
78        #size-cells = <0>;
79
80        pmic@34 {
81            compatible = "lltc,ltc3589-1";
82            reg = <0x34>;
83
84            regulators {
85                sw1 {
86                    regulator-min-microvolt = <591930>;
87                    regulator-max-microvolt = <1224671>;
88                    lltc,fb-voltage-divider = <100000 158000>;
89                    regulator-ramp-delay = <7000>;
90                    regulator-boot-on;
91                    regulator-always-on;
92                };
93
94                sw2 {
95                    regulator-min-microvolt = <704123>;
96                    regulator-max-microvolt = <1456803>;
97                    lltc,fb-voltage-divider = <180000 191000>;
98                    regulator-ramp-delay = <7000>;
99                    regulator-boot-on;
100                    regulator-always-on;
101                };
102
103                sw3 {
104                    regulator-min-microvolt = <1341250>;
105                    regulator-max-microvolt = <2775000>;
106                    lltc,fb-voltage-divider = <270000 100000>;
107                    regulator-ramp-delay = <7000>;
108                    regulator-boot-on;
109                    regulator-always-on;
110                };
111
112                bb-out {
113                    regulator-min-microvolt = <3387341>;
114                    regulator-max-microvolt = <3387341>;
115                    lltc,fb-voltage-divider = <511000 158000>;
116                    regulator-boot-on;
117                    regulator-always-on;
118                };
119
120                ldo1 {
121                    regulator-min-microvolt = <1306329>;
122                    regulator-max-microvolt = <1306329>;
123                    lltc,fb-voltage-divider = <100000 158000>;
124                    regulator-boot-on;
125                    regulator-always-on;
126                };
127
128                ldo2 {
129                    regulator-min-microvolt = <704123>;
130                    regulator-max-microvolt = <1456806>;
131                    lltc,fb-voltage-divider = <180000 191000>;
132                    regulator-ramp-delay = <7000>;
133                    regulator-boot-on;
134                    regulator-always-on;
135                };
136
137                ldo3 {
138                    regulator-min-microvolt = <2800000>;
139                    regulator-max-microvolt = <2800000>;
140                    regulator-boot-on;
141                };
142
143                ldo4 {
144                    regulator-min-microvolt = <1200000>;
145                    regulator-max-microvolt = <3200000>;
146                };
147            };
148        };
149    };
150