xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mfd/rk818.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1RK818 Power Management Integrated Circuit
2
3Required properties:
4- compatible: "rockchip,rk818"
5- reg: I2C slave address
6- interrupt-parent: The parent interrupt controller.
7- interrupts: the interrupt outputs of the controller.
8- #clock-cells: from common clock binding; shall be set to 1 (multiple clock
9  outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
10
11Optional properties:
12- clock-output-names: From common clock binding to override the
13  default output clock name
14- rockchip,system-power-controller: Telling whether or not this pmic is controlling
15  the system power.
16- vcc1-supply:  The input supply for DCDC_REG1
17- vcc2-supply:  The input supply for DCDC_REG2
18- vcc3-supply:  The input supply for DCDC_REG3
19- vcc4-supply:  The input supply for DCDC_REG4
20- vcc6-supply:  The input supply for LDO_REG1, LDO_REG2
21- vcc7-supply:  The input supply for LDO_REG3, LDO_REG5, LDO_REG7
22- vcc8-supply:  The input supply for LOD_REG4, LDO_REG6, LDO_REG8
23- vcc9-supply:  The input supply for LDO_REG9, LDO_REG5, SWITCH_REG
24
25Regulators: All the regulators of RK818 to be instantiated shall be
26listed in a child node named 'regulators'. Each regulator is represented
27by a child node of the 'regulators' node.
28
29	regulator-name {
30		/* standard regulator bindings here */
31	};
32
33Following regulators of the RK818 PMIC block are supported. Note that
34the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
35number as described in RK818 datasheet.
36
37	- DCDC_REGn
38		- valid values for n are 1 to 4.
39	- LDO_REGn
40		- valid values for n are 1 to 9.
41
42Standard regulator bindings are used inside regulator subnodes. Check
43  Documentation/devicetree/bindings/regulator/regulator.txt
44for more details
45
46Example:
47	rk818: pmic@1c {
48		compatible = "rockchip,rk818";
49		status = "disabled";
50		reg = <0x1c>;
51		clock-output-names = "xin32k", "wifibt_32kin";
52		interrupt-parent = <&gpio0>;
53		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
54		pinctrl-names = "default";
55		pinctrl-0 = <&pmic_int>;
56		rockchip,system-power-controller;
57		wakeup-source;
58		#clock-cells = <1>;
59
60		vcc1-supply = <&vcc_sys>;
61		vcc2-supply = <&vcc_sys>;
62		vcc3-supply = <&vcc_sys>;
63		vcc4-supply = <&vcc_sys>;
64		vcc6-supply = <&vcc_sys>;
65		vcc7-supply = <&vcc_sys>;
66		vcc8-supply = <&vcc_sys>;
67		vcc9-supply = <&vcc33_io>;
68
69		regulators {
70			vdd_cpu: DCDC_REG1 {
71				regulator-name = "vdd_logic";
72				regulator-always-on;
73				regulator-boot-on;
74				regulator-min-microvolt = <750000>;
75				regulator-max-microvolt = <1450000>;
76				regulator-ramp-delay = <6001>;
77				regulator-state-mem {
78					regulator-off-in-suspend;
79				};
80			};
81			vdd_gpu: DCDC_REG2 {
82				regulator-name = "vdd_gpu";
83				regulator-always-on;
84				regulator-boot-on;
85				regulator-min-microvolt = <800000>;
86				regulator-max-microvolt = <1250000>;
87				regulator-ramp-delay = <6001>;
88				regulator-state-mem {
89					regulator-on-in-suspend;
90					regulator-suspend-microvolt = <1000000>;
91				};
92			};
93
94			vcc_ddr: DCDC_REG3 {
95				regulator-always-on;
96				regulator-boot-on;
97				regulator-name = "vcc_ddr";
98				regulator-state-mem {
99					regulator-on-in-suspend;
100				};
101			};
102
103			vcc33_io: DCDC_REG4 {
104				regulator-always-on;
105				regulator-boot-on;
106				regulator-min-microvolt = <3300000>;
107				regulator-max-microvolt = <3300000>;
108				regulator-name = "vcc33_io";
109				regulator-state-mem {
110					regulator-on-in-suspend;
111					regulator-suspend-microvolt = <3300000>;
112				};
113			};
114
115			vccio_pmu: LDO_REG1 {
116				regulator-always-on;
117				regulator-boot-on;
118				regulator-min-microvolt = <3300000>;
119				regulator-max-microvolt = <3300000>;
120				regulator-name = "vccio_pmu";
121				regulator-state-mem {
122					regulator-on-in-suspend;
123					regulator-suspend-microvolt = <3300000>;
124				};
125			};
126
127			vcc_tp: LDO_REG2 {
128				regulator-always-on;
129				regulator-boot-on;
130				regulator-min-microvolt = <3300000>;
131				regulator-max-microvolt = <3300000>;
132				regulator-name = "vcc_tp";
133				regulator-state-mem {
134					regulator-off-in-suspend;
135				};
136			};
137
138			vdd_10: LDO_REG3 {
139				regulator-always-on;
140				regulator-boot-on;
141				regulator-min-microvolt = <1000000>;
142				regulator-max-microvolt = <1000000>;
143				regulator-name = "vdd_10";
144				regulator-state-mem {
145					regulator-on-in-suspend;
146					regulator-suspend-microvolt = <1000000>;
147				};
148			};
149
150			vcc18_lcd: LDO_REG4 {
151				regulator-always-on;
152				regulator-boot-on;
153				regulator-min-microvolt = <1800000>;
154				regulator-max-microvolt = <1800000>;
155				regulator-name = "vcc18_lcd";
156				regulator-state-mem {
157					regulator-on-in-suspend;
158					regulator-suspend-microvolt = <1800000>;
159				};
160			};
161
162			vccio_sd: LDO_REG5 {
163				regulator-always-on;
164				regulator-boot-on;
165				regulator-min-microvolt = <1800000>;
166				regulator-max-microvolt = <3300000>;
167				regulator-name = "vccio_sd";
168				regulator-state-mem {
169					regulator-on-in-suspend;
170					regulator-suspend-microvolt = <3300000>;
171				};
172			};
173
174			vdd10_lcd: LDO_REG6 {
175				regulator-always-on;
176				regulator-boot-on;
177				regulator-min-microvolt = <1000000>;
178				regulator-max-microvolt = <1000000>;
179				regulator-name = "vdd10_lcd";
180				regulator-state-mem {
181					regulator-on-in-suspend;
182					regulator-suspend-microvolt = <1000000>;
183				};
184			};
185
186			vcc_18: LDO_REG7 {
187				regulator-always-on;
188				regulator-boot-on;
189				regulator-min-microvolt = <1800000>;
190				regulator-max-microvolt = <1800000>;
191				regulator-name = "vcc_18";
192				regulator-state-mem {
193					regulator-on-in-suspend;
194					regulator-suspend-microvolt = <1800000>;
195				};
196			};
197
198			vcca_codec: LDO_REG8 {
199				regulator-always-on;
200				regulator-boot-on;
201				regulator-min-microvolt = <3300000>;
202				regulator-max-microvolt = <3300000>;
203				regulator-name = "vcca_codec";
204				regulator-state-mem {
205					regulator-on-in-suspend;
206					regulator-suspend-microvolt = <3300000>;
207				};
208			};
209
210			vcc_wl: LDO_REG9 {
211				regulator-always-on;
212				regulator-boot-on;
213				regulator-min-microvolt = <3300000>;
214				regulator-max-microvolt = <3300000>;
215				regulator-name = "vcc_wl";
216				regulator-state-mem {
217					regulator-on-in-suspend;
218					regulator-suspend-microvolt = <3300000>;
219				};
220			};
221
222			vcc_lcd: SWITCH_REG {
223				regulator-always-on;
224				regulator-boot-on;
225				regulator-name = "vcc_lcd";
226				regulator-state-mem {
227					regulator-on-in-suspend;
228				};
229			};
230		};
231	};
232