Skip to content

Commit a8a2add

Browse files
JosephChen2017lag-linaro
authored andcommitted
dt-bindings: mfd: Add rk801 binding
Add DT binding document for Rockchip's RK801 PMIC Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260112124351.17707-2-chenjh@rock-chips.com Signed-off-by: Lee Jones <lee@kernel.org>
1 parent 8f0b4cc commit a8a2add

1 file changed

Lines changed: 197 additions & 0 deletions

File tree

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/rockchip,rk801.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: RK801 Power Management Integrated Circuit
8+
9+
maintainers:
10+
- Joseph Chen <chenjh@rock-chips.com>
11+
12+
description: |
13+
Rockchip RK801 series PMIC. This device consists of an i2c controlled MFD
14+
that includes multiple switchable regulators.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- rockchip,rk801
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
system-power-controller:
28+
type: boolean
29+
description:
30+
Telling whether or not this PMIC is controlling the system power.
31+
32+
wakeup-source:
33+
type: boolean
34+
description:
35+
Device can be used as a wakeup source.
36+
37+
vcc1-supply:
38+
description:
39+
The input supply for dcdc1.
40+
41+
vcc2-supply:
42+
description:
43+
The input supply for dcdc2.
44+
45+
vcc3-supply:
46+
description:
47+
The input supply for dcdc3.
48+
49+
vcc4-supply:
50+
description:
51+
The input supply for dcdc4.
52+
53+
vcc5-supply:
54+
description:
55+
The input supply for ldo1.
56+
57+
vcc6-supply:
58+
description:
59+
The input supply for ldo2.
60+
61+
vcc7-supply:
62+
description:
63+
The input supply for switch.
64+
65+
regulators:
66+
type: object
67+
patternProperties:
68+
"^(dcdc[1-4]|ldo[1-2]|switch)$":
69+
type: object
70+
$ref: /schemas/regulator/regulator.yaml#
71+
unevaluatedProperties: false
72+
additionalProperties: false
73+
74+
required:
75+
- compatible
76+
- reg
77+
- interrupts
78+
79+
additionalProperties: false
80+
81+
examples:
82+
- |
83+
#include <dt-bindings/pinctrl/rockchip.h>
84+
#include <dt-bindings/interrupt-controller/irq.h>
85+
#include <dt-bindings/gpio/gpio.h>
86+
87+
i2c {
88+
#address-cells = <1>;
89+
#size-cells = <0>;
90+
91+
rk801: pmic@27 {
92+
compatible = "rockchip,rk801";
93+
reg = <0x27>;
94+
interrupt-parent = <&gpio0>;
95+
interrupts = <RK_PC0 IRQ_TYPE_LEVEL_LOW>;
96+
pinctrl-names = "default";
97+
pinctrl-0 = <&pmic_int_l>;
98+
system-power-controller;
99+
wakeup-source;
100+
101+
vcc1-supply = <&vcc_sys>;
102+
vcc2-supply = <&vcc_sys>;
103+
vcc3-supply = <&vcc_sys>;
104+
vcc4-supply = <&vcc_sys>;
105+
vcc5-supply = <&vcc3v3_sys>;
106+
vcc6-supply = <&vcc3v3_sys>;
107+
vcc7-supply = <&vcc3v3_sys>;
108+
109+
regulators {
110+
vdd_cpu: dcdc1 {
111+
regulator-name = "vdd_cpu";
112+
regulator-min-microvolt = <500000>;
113+
regulator-max-microvolt = <1500000>;
114+
regulator-initial-mode = <0x1>;
115+
regulator-boot-on;
116+
regulator-always-on;
117+
regulator-state-mem {
118+
regulator-mode = <0x2>;
119+
regulator-off-in-suspend;
120+
regulator-suspend-microvolt = <950000>;
121+
};
122+
};
123+
124+
vcc3v3_sys: dcdc2 {
125+
regulator-name = "vcc3v3_sys";
126+
regulator-min-microvolt = <3300000>;
127+
regulator-max-microvolt = <3300000>;
128+
regulator-initial-mode = <0x1>;
129+
regulator-boot-on;
130+
regulator-always-on;
131+
regulator-state-mem {
132+
regulator-mode = <0x2>;
133+
regulator-on-in-suspend;
134+
regulator-suspend-microvolt = <3300000>;
135+
};
136+
};
137+
138+
vcc_ddr: dcdc3 {
139+
regulator-name = "vcc_ddr";
140+
regulator-boot-on;
141+
regulator-always-on;
142+
regulator-state-mem {
143+
regulator-mode = <0x2>;
144+
regulator-on-in-suspend;
145+
};
146+
};
147+
148+
vdd_logic: dcdc4 {
149+
regulator-name = "vdd_logic";
150+
regulator-min-microvolt = <500000>;
151+
regulator-max-microvolt = <1500000>;
152+
regulator-initial-mode = <0x1>;
153+
regulator-boot-on;
154+
regulator-always-on;
155+
regulator-state-mem {
156+
regulator-mode = <0x2>;
157+
regulator-off-in-suspend;
158+
regulator-suspend-microvolt = <900000>;
159+
};
160+
};
161+
162+
vdd0v9_sys: ldo1 {
163+
regulator-name = "vdd0v9_sys";
164+
regulator-min-microvolt = <900000>;
165+
regulator-max-microvolt = <900000>;
166+
regulator-boot-on;
167+
regulator-always-on;
168+
regulator-state-mem {
169+
regulator-off-in-suspend;
170+
regulator-suspend-microvolt = <900000>;
171+
};
172+
};
173+
174+
vcc_1v8: ldo2 {
175+
regulator-name = "vcc_1v8";
176+
regulator-min-microvolt = <1800000>;
177+
regulator-max-microvolt = <1800000>;
178+
regulator-boot-on;
179+
regulator-always-on;
180+
regulator-state-mem {
181+
regulator-off-in-suspend;
182+
regulator-suspend-microvolt = <1800000>;
183+
};
184+
};
185+
186+
vcc_3v3: switch {
187+
regulator-name = "vcc_3v3";
188+
regulator-boot-on;
189+
regulator-always-on;
190+
regulator-state-mem {
191+
regulator-off-in-suspend;
192+
regulator-suspend-microvolt = <3300000>;
193+
};
194+
};
195+
};
196+
};
197+
};

0 commit comments

Comments
 (0)