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