blob: 87accc6f13b8fc75c0caad1f1990e144ef91b9d4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
Tom Rini6b642ac2024-10-01 12:20:28 -060078 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
Tom Rini53633a82024-02-29 12:33:36 -050084required:
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 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600186 /* Fixed LDO VOUT */
187 richtek,fixed-microvolt = <1200000>;
Tom Rini53633a82024-02-29 12:33:36 -0500188 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 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600196 /* Adjustable LDO VOUT */
197 regulator-min-microvolt = <1800000>;
Tom Rini53633a82024-02-29 12:33:36 -0500198 regulator-max-microvolt = <3300000>;
199 regulator-always-on;
200 regulator-state-mem {
201 regulator-on-in-suspend;
202 };
203 };
204 };
205 };
206 };