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:
43 Telling whether or not this PMIC is controlling the system power.
45 system-power-controller: true
50 Device can be used as a wakeup source.
54 The input supply for DCDC_REG1.
58 The input supply for DCDC_REG2.
62 The input supply for DCDC_REG3.
66 The input supply for DCDC_REG4.
70 The input supply for LDO_REG1, LDO_REG2, and LDO_REG3.
74 The input supply for LDO_REG4, LDO_REG5, and LDO_REG6.
78 The input supply for LDO_REG7, LDO_REG8, and LDO_REG9.
82 The input supply for BOOST.
86 The input supply for OTG_SWITCH.
91 "^(LDO_REG[1-9]|DCDC_REG[1-4]|BOOST|OTG_SWITCH)$":
93 unevaluatedProperties: false
94 $ref: ../regulator/regulator.yaml#
95 unevaluatedProperties: false
99 The input clock for the audio codec.
103 The clock name for the codec clock.
109 Needed for the interpretation of sound dais.
114 The child node for the codec to hold additional properties. If no
115 additional properties are required for the codec, this node can be
118 additionalProperties: false
120 rockchip,mic-in-differential:
123 Describes if the microphone uses differential mode.
127 The child node for the charger to hold additional properties. If a
128 battery is not in use, this node can be omitted.
130 $ref: /schemas/power/supply/power-supply.yaml
135 A phandle to a monitored battery node that contains a valid
137 charge-full-design-microamp-hours,
138 charge-term-current-microamp,
139 constant-charge-current-max-microamp,
140 constant-charge-voltage-max-microvolt,
141 voltage-max-design-microvolt,
142 voltage-min-design-microvolt,
143 and a valid ocv-capacity table.
145 rockchip,resistor-sense-micro-ohms:
147 Value in microohms of the battery sense resistor. This value is
148 used by the driver to set the correct divisor value to translate
149 ADC readings into the proper units of measure.
152 rockchip,sleep-enter-current-microamp:
154 Value in microamps of the sleep enter current for the charger.
155 Value is used by the driver to calibrate the relax threshold.
157 rockchip,sleep-filter-current-microamp:
159 Value in microamps of the sleep filter current for the charger.
160 Value is used by the driver to derive the sleep sample current.
164 - rockchip,resistor-sense-micro-ohms
165 - rockchip,sleep-enter-current-microamp
166 - rockchip,sleep-filter-current-microamp
168 additionalProperties: false
192 additionalProperties: false
196 #include <dt-bindings/clock/px30-cru.h>
197 #include <dt-bindings/pinctrl/rockchip.h>
198 #include <dt-bindings/interrupt-controller/irq.h>
199 #include <dt-bindings/gpio/gpio.h>
201 #address-cells = <1>;
205 compatible = "rockchip,rk817";
207 interrupt-parent = <&gpio0>;
208 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
209 clock-output-names = "rk808-clkout1", "xin32k";
210 clock-names = "mclk";
211 clocks = <&cru SCLK_I2S1_OUT>;
212 pinctrl-names = "default";
213 pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
216 #sound-dai-cells = <0>;
218 vcc1-supply = <&vccsys>;
219 vcc2-supply = <&vccsys>;
220 vcc3-supply = <&vccsys>;
221 vcc4-supply = <&vccsys>;
222 vcc5-supply = <&vccsys>;
223 vcc6-supply = <&vccsys>;
224 vcc7-supply = <&vccsys>;
227 vdd_logic: DCDC_REG1 {
228 regulator-name = "vdd_logic";
229 regulator-min-microvolt = <950000>;
230 regulator-max-microvolt = <1150000>;
231 regulator-ramp-delay = <6001>;
235 regulator-state-mem {
236 regulator-on-in-suspend;
237 regulator-suspend-microvolt = <950000>;
242 regulator-name = "vdd_arm";
243 regulator-min-microvolt = <950000>;
244 regulator-max-microvolt = <1350000>;
245 regulator-ramp-delay = <6001>;
249 regulator-state-mem {
250 regulator-off-in-suspend;
251 regulator-suspend-microvolt = <950000>;
256 regulator-name = "vcc_ddr";
260 regulator-state-mem {
261 regulator-on-in-suspend;
266 regulator-name = "vcc_3v3";
267 regulator-min-microvolt = <3300000>;
268 regulator-max-microvolt = <3300000>;
272 regulator-state-mem {
273 regulator-off-in-suspend;
274 regulator-suspend-microvolt = <3300000>;
279 regulator-name = "vcc_1v8";
280 regulator-min-microvolt = <1800000>;
281 regulator-max-microvolt = <1800000>;
285 regulator-state-mem {
286 regulator-on-in-suspend;
287 regulator-suspend-microvolt = <1800000>;
292 regulator-name = "vdd_1v0";
293 regulator-min-microvolt = <1000000>;
294 regulator-max-microvolt = <1000000>;
298 regulator-state-mem {
299 regulator-on-in-suspend;
300 regulator-suspend-microvolt = <1000000>;
304 vcc3v3_pmu: LDO_REG4 {
305 regulator-name = "vcc3v3_pmu";
306 regulator-min-microvolt = <3300000>;
307 regulator-max-microvolt = <3300000>;
311 regulator-state-mem {
312 regulator-on-in-suspend;
313 regulator-suspend-microvolt = <3300000>;
318 regulator-name = "vccio_sd";
319 regulator-min-microvolt = <1800000>;
320 regulator-max-microvolt = <3300000>;
324 regulator-state-mem {
325 regulator-on-in-suspend;
326 regulator-suspend-microvolt = <3300000>;
331 regulator-name = "vcc_sd";
332 regulator-min-microvolt = <3300000>;
333 regulator-max-microvolt = <3300000>;
336 regulator-state-mem {
337 regulator-on-in-suspend;
338 regulator-suspend-microvolt = <3300000>;
343 regulator-name = "vcc_bl";
344 regulator-min-microvolt = <3300000>;
345 regulator-max-microvolt = <3300000>;
347 regulator-state-mem {
348 regulator-off-in-suspend;
349 regulator-suspend-microvolt = <3300000>;
354 regulator-name = "vcc_lcd";
355 regulator-min-microvolt = <2800000>;
356 regulator-max-microvolt = <2800000>;
358 regulator-state-mem {
359 regulator-off-in-suspend;
360 regulator-suspend-microvolt = <2800000>;
365 regulator-name = "vcc_cam";
366 regulator-min-microvolt = <3000000>;
367 regulator-max-microvolt = <3000000>;
369 regulator-state-mem {
370 regulator-off-in-suspend;
371 regulator-suspend-microvolt = <3000000>;
376 rk817_charger: charger {
377 monitored-battery = <&battery>;
378 rockchip,resistor-sense-micro-ohms = <10000>;
379 rockchip,sleep-enter-current-microamp = <300000>;
380 rockchip,sleep-filter-current-microamp = <100000>;
384 rockchip,mic-in-differential;