blob: 609c06615bdc39c0b08f87857c6e4a60fd2d95e8 [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
78required:
79 - compatible
80 - reg
81 - regulators
82
83additionalProperties: false
84
85examples:
86 - |
87 #include <dt-bindings/interrupt-controller/irq.h>
88 i2c {
89 #address-cells = <1>;
90 #size-cells = <0>;
91
92 pmic@10 {
93 compatible = "richtek,rtq2208";
94 reg = <0x10>;
95 interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
96 richtek,mtp-sel-high;
97
98 regulators {
99 buck-a {
100 regulator-min-microvolt = <400000>;
101 regulator-max-microvolt = <2050000>;
102 regulator-allowed-modes = <0 1>;
103 regulator-always-on;
104 regulator-state-mem {
105 regulator-on-in-suspend;
106 regulator-mode = <1>;
107 };
108 };
109 buck-b {
110 regulator-min-microvolt = <400000>;
111 regulator-max-microvolt = <2050000>;
112 regulator-allowed-modes = <0 1>;
113 regulator-always-on;
114 regulator-state-mem {
115 regulator-on-in-suspend;
116 regulator-mode = <1>;
117 };
118 };
119 buck-c {
120 regulator-min-microvolt = <400000>;
121 regulator-max-microvolt = <2050000>;
122 regulator-allowed-modes = <0 1>;
123 regulator-always-on;
124 regulator-state-mem {
125 regulator-on-in-suspend;
126 regulator-mode = <1>;
127 };
128 };
129 buck-d {
130 regulator-min-microvolt = <400000>;
131 regulator-max-microvolt = <2050000>;
132 regulator-allowed-modes = <0 1>;
133 regulator-always-on;
134 regulator-state-mem {
135 regulator-on-in-suspend;
136 regulator-mode = <1>;
137 };
138 };
139 buck-e {
140 regulator-min-microvolt = <400000>;
141 regulator-max-microvolt = <2050000>;
142 regulator-allowed-modes = <0 1>;
143 regulator-always-on;
144 regulator-state-mem {
145 regulator-on-in-suspend;
146 regulator-mode = <1>;
147 };
148 };
149 buck-f {
150 regulator-min-microvolt = <400000>;
151 regulator-max-microvolt = <2050000>;
152 regulator-allowed-modes = <0 1>;
153 regulator-always-on;
154 regulator-state-mem {
155 regulator-on-in-suspend;
156 regulator-mode = <1>;
157 };
158 };
159 buck-g {
160 regulator-min-microvolt = <400000>;
161 regulator-max-microvolt = <2050000>;
162 regulator-allowed-modes = <0 1>;
163 regulator-always-on;
164 regulator-state-mem {
165 regulator-on-in-suspend;
166 regulator-mode = <1>;
167 };
168 };
169 buck-h {
170 regulator-min-microvolt = <400000>;
171 regulator-max-microvolt = <2050000>;
172 regulator-allowed-modes = <0 1>;
173 regulator-always-on;
174 regulator-state-mem {
175 regulator-on-in-suspend;
176 regulator-mode = <1>;
177 };
178 };
179 ldo1 {
180 regulator-min-microvolt = <1200000>;
181 regulator-max-microvolt = <1200000>;
182 regulator-always-on;
183 regulator-state-mem {
184 regulator-on-in-suspend;
185 };
186 };
187 ldo2 {
188 regulator-min-microvolt = <3300000>;
189 regulator-max-microvolt = <3300000>;
190 regulator-always-on;
191 regulator-state-mem {
192 regulator-on-in-suspend;
193 };
194 };
195 };
196 };
197 };