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