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