1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
4 $id: http://devicetree.org/schemas/mfd/rockchip,rk817.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: RK817 Power Management Integrated Circuit
10 - Chris Zhong <zyw@rock-chips.com>
11 - Zhang Qing <zhangqing@rock-chips.com>
14 Rockchip RK817 series PMIC. This device consists of an i2c controlled MFD
15 that includes regulators, an RTC, a power button, an audio codec, and a
16 battery charger manager.
31 See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
37 From common clock binding to override the default output clock name.
39 rockchip,system-power-controller:
42 Telling whether or not this PMIC is controlling the system power.
47 Device can be used as a wakeup source.
51 The input supply for DCDC_REG1.
55 The input supply for DCDC_REG2.
59 The input supply for DCDC_REG3.
63 The input supply for DCDC_REG4.
67 The input supply for LDO_REG1, LDO_REG2, and LDO_REG3.
71 The input supply for LDO_REG4, LDO_REG5, and LDO_REG6.
75 The input supply for LDO_REG7, LDO_REG8, and LDO_REG9.
79 The input supply for BOOST.
83 The input supply for OTG_SWITCH.
88 "^(LDO_REG[1-9]|DCDC_REG[1-4]|BOOST|OTG_SWITCH)$":
90 $ref: ../regulator/regulator.yaml#
91 unevaluatedProperties: false
95 The input clock for the audio codec.
99 The clock name for the codec clock.
105 Needed for the interpretation of sound dais.
110 The child node for the codec to hold additional properties. If no
111 additional properties are required for the codec, this node can be
115 rockchip,mic-in-differential:
118 Describes if the microphone uses differential mode.
142 additionalProperties: false
146 #include <dt-bindings/clock/px30-cru.h>
147 #include <dt-bindings/pinctrl/rockchip.h>
148 #include <dt-bindings/interrupt-controller/irq.h>
149 #include <dt-bindings/gpio/gpio.h>
151 #address-cells = <1>;
155 compatible = "rockchip,rk817";
157 interrupt-parent = <&gpio0>;
158 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
159 clock-output-names = "rk808-clkout1", "xin32k";
160 clock-names = "mclk";
161 clocks = <&cru SCLK_I2S1_OUT>;
162 pinctrl-names = "default";
163 pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
166 #sound-dai-cells = <0>;
168 vcc1-supply = <&vccsys>;
169 vcc2-supply = <&vccsys>;
170 vcc3-supply = <&vccsys>;
171 vcc4-supply = <&vccsys>;
172 vcc5-supply = <&vccsys>;
173 vcc6-supply = <&vccsys>;
174 vcc7-supply = <&vccsys>;
177 vdd_logic: DCDC_REG1 {
178 regulator-name = "vdd_logic";
179 regulator-min-microvolt = <950000>;
180 regulator-max-microvolt = <1150000>;
181 regulator-ramp-delay = <6001>;
185 regulator-state-mem {
186 regulator-on-in-suspend;
187 regulator-suspend-microvolt = <950000>;
192 regulator-name = "vdd_arm";
193 regulator-min-microvolt = <950000>;
194 regulator-max-microvolt = <1350000>;
195 regulator-ramp-delay = <6001>;
199 regulator-state-mem {
200 regulator-off-in-suspend;
201 regulator-suspend-microvolt = <950000>;
206 regulator-name = "vcc_ddr";
210 regulator-state-mem {
211 regulator-on-in-suspend;
216 regulator-name = "vcc_3v3";
217 regulator-min-microvolt = <3300000>;
218 regulator-max-microvolt = <3300000>;
222 regulator-state-mem {
223 regulator-off-in-suspend;
224 regulator-suspend-microvolt = <3300000>;
229 regulator-name = "vcc_1v8";
230 regulator-min-microvolt = <1800000>;
231 regulator-max-microvolt = <1800000>;
235 regulator-state-mem {
236 regulator-on-in-suspend;
237 regulator-suspend-microvolt = <1800000>;
242 regulator-name = "vdd_1v0";
243 regulator-min-microvolt = <1000000>;
244 regulator-max-microvolt = <1000000>;
248 regulator-state-mem {
249 regulator-on-in-suspend;
250 regulator-suspend-microvolt = <1000000>;
254 vcc3v3_pmu: LDO_REG4 {
255 regulator-name = "vcc3v3_pmu";
256 regulator-min-microvolt = <3300000>;
257 regulator-max-microvolt = <3300000>;
261 regulator-state-mem {
262 regulator-on-in-suspend;
263 regulator-suspend-microvolt = <3300000>;
268 regulator-name = "vccio_sd";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <3300000>;
274 regulator-state-mem {
275 regulator-on-in-suspend;
276 regulator-suspend-microvolt = <3300000>;
281 regulator-name = "vcc_sd";
282 regulator-min-microvolt = <3300000>;
283 regulator-max-microvolt = <3300000>;
286 regulator-state-mem {
287 regulator-on-in-suspend;
288 regulator-suspend-microvolt = <3300000>;
293 regulator-name = "vcc_bl";
294 regulator-min-microvolt = <3300000>;
295 regulator-max-microvolt = <3300000>;
297 regulator-state-mem {
298 regulator-off-in-suspend;
299 regulator-suspend-microvolt = <3300000>;
304 regulator-name = "vcc_lcd";
305 regulator-min-microvolt = <2800000>;
306 regulator-max-microvolt = <2800000>;
308 regulator-state-mem {
309 regulator-off-in-suspend;
310 regulator-suspend-microvolt = <2800000>;
315 regulator-name = "vcc_cam";
316 regulator-min-microvolt = <3000000>;
317 regulator-max-microvolt = <3000000>;
319 regulator-state-mem {
320 regulator-off-in-suspend;
321 regulator-suspend-microvolt = <3000000>;
327 rockchip,mic-in-differential;