xref: /linux/Documentation/devicetree/bindings/regulator/richtek,rtq2208.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/richtek,rtq2208.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Richtek RTQ2208 SubPMIC Regulator
8
9maintainers:
10  - Alina Yu <alina_yu@richtek.com>
11
12description: |
13  RTQ2208 is a highly integrated power converter that offers functional safety dual
14  multi-configurable synchronous buck converters and two LDOs.
15
16  Bucks support "regulator-allowed-modes" and "regulator-mode". The former defines the permitted
17  switching operation in normal mode; the latter defines the operation in suspend to RAM mode.
18
19  No matter the RTQ2208 is configured to normal or suspend to RAM mode, there are two switching
20  operation modes for all buck rails, automatic power saving mode (Auto mode) and forced continuous
21  conduction mode (FCCM).
22
23  The definition of modes is in the datasheet which is available in below link
24  and their meaning is::
25    0 - Auto mode for power saving, which reducing the switching frequency at light load condition
26    to maintain high frequency.
27    1 - FCCM to meet the strict voltage regulation accuracy, which keeping constant switching frequency.
28
29  Datasheet will be available soon at
30  https://www.richtek.com/assets/Products
31
32properties:
33  compatible:
34    enum:
35      - richtek,rtq2208
36
37  reg:
38    maxItems: 1
39
40  interrupts:
41    maxItems: 1
42
43  richtek,mtp-sel-high:
44    type: boolean
45    description:
46      vout register selection based on this boolean value.
47      false - Using DVS0 register setting to adjust vout
48      true - Using DVS1 register setting to adjust vout
49
50  regulators:
51    type: object
52    additionalProperties: false
53
54    patternProperties:
55      "^buck-[a-h]$":
56        type: object
57        $ref: regulator.yaml#
58        unevaluatedProperties: false
59        description:
60          description for buck-[a-h] regulator.
61
62        properties:
63          regulator-allowed-modes:
64            description:
65              two buck modes in different switching accuracy.
66              0 - Auto mode
67              1 - FCCM
68            items:
69              enum: [0, 1]
70
71      "^ldo[1-2]$":
72        type: object
73        $ref: regulator.yaml#
74        unevaluatedProperties: false
75        description:
76          regulator description for ldo[1-2].
77
78        properties:
79          richtek,fixed-microvolt:
80            description: |
81              This property can be used to set a fixed operating voltage that lies outside
82              the range of the regulator's adjustable mode.
83
84required:
85  - compatible
86  - reg
87  - regulators
88
89additionalProperties: false
90
91examples:
92  - |
93    #include <dt-bindings/interrupt-controller/irq.h>
94    i2c {
95      #address-cells = <1>;
96      #size-cells = <0>;
97
98      pmic@10 {
99        compatible = "richtek,rtq2208";
100        reg = <0x10>;
101        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
102        richtek,mtp-sel-high;
103
104        regulators {
105          buck-a {
106            regulator-min-microvolt = <400000>;
107            regulator-max-microvolt = <2050000>;
108            regulator-allowed-modes = <0 1>;
109            regulator-always-on;
110            regulator-state-mem {
111              regulator-on-in-suspend;
112              regulator-mode = <1>;
113            };
114          };
115          buck-b {
116            regulator-min-microvolt = <400000>;
117            regulator-max-microvolt = <2050000>;
118            regulator-allowed-modes = <0 1>;
119            regulator-always-on;
120            regulator-state-mem {
121              regulator-on-in-suspend;
122              regulator-mode = <1>;
123            };
124          };
125          buck-c {
126            regulator-min-microvolt = <400000>;
127            regulator-max-microvolt = <2050000>;
128            regulator-allowed-modes = <0 1>;
129            regulator-always-on;
130            regulator-state-mem {
131              regulator-on-in-suspend;
132              regulator-mode = <1>;
133            };
134          };
135          buck-d {
136            regulator-min-microvolt = <400000>;
137            regulator-max-microvolt = <2050000>;
138            regulator-allowed-modes = <0 1>;
139            regulator-always-on;
140            regulator-state-mem {
141              regulator-on-in-suspend;
142              regulator-mode = <1>;
143            };
144          };
145          buck-e {
146            regulator-min-microvolt = <400000>;
147            regulator-max-microvolt = <2050000>;
148            regulator-allowed-modes = <0 1>;
149            regulator-always-on;
150            regulator-state-mem {
151              regulator-on-in-suspend;
152              regulator-mode = <1>;
153            };
154          };
155          buck-f {
156            regulator-min-microvolt = <400000>;
157            regulator-max-microvolt = <2050000>;
158            regulator-allowed-modes = <0 1>;
159            regulator-always-on;
160            regulator-state-mem {
161              regulator-on-in-suspend;
162              regulator-mode = <1>;
163            };
164          };
165          buck-g {
166            regulator-min-microvolt = <400000>;
167            regulator-max-microvolt = <2050000>;
168            regulator-allowed-modes = <0 1>;
169            regulator-always-on;
170            regulator-state-mem {
171              regulator-on-in-suspend;
172              regulator-mode = <1>;
173            };
174          };
175          buck-h {
176            regulator-min-microvolt = <400000>;
177            regulator-max-microvolt = <2050000>;
178            regulator-allowed-modes = <0 1>;
179            regulator-always-on;
180            regulator-state-mem {
181              regulator-on-in-suspend;
182              regulator-mode = <1>;
183            };
184          };
185          ldo1 {
186            /* Fixed LDO VOUT */
187            richtek,fixed-microvolt = <1200000>;
188            regulator-min-microvolt = <1200000>;
189            regulator-max-microvolt = <1200000>;
190            regulator-always-on;
191            regulator-state-mem {
192              regulator-on-in-suspend;
193            };
194          };
195          ldo2 {
196            /* Adjustable LDO VOUT */
197            regulator-min-microvolt = <1800000>;
198            regulator-max-microvolt = <3300000>;
199            regulator-always-on;
200            regulator-state-mem {
201              regulator-on-in-suspend;
202            };
203          };
204        };
205      };
206    };
207