1RK808 Power Management Integrated Circuit
2
3Required properties:
4- compatible: "rockchip,rk808"
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 and LDO_REG2
21- vcc7-supply:  The input supply for LDO_REG3 and LDO_REG7
22- vcc8-supply:  The input supply for SWITCH_REG1
23- vcc9-supply:  The input supply for LDO_REG4 and LDO_REG5
24- vcc10-supply: The input supply for LDO_REG6
25- vcc11-supply: The input supply for LDO_REG8
26- vcc12-supply: The input supply for SWITCH_REG2
27- dvs-gpios:  buck1/2 can be controlled by gpio dvs, this is GPIO specifiers
28  for 2 host gpio's used for dvs. The format of the gpio specifier depends in
29  the gpio controller. If DVS GPIOs aren't present, voltage changes will happen
30  very quickly with no slow ramp time.
31
32Regulators: All the regulators of RK808 to be instantiated shall be
33listed in a child node named 'regulators'. Each regulator is represented
34by a child node of the 'regulators' node.
35
36	regulator-name {
37		/* standard regulator bindings here */
38	};
39
40Following regulators of the RK808 PMIC block are supported. Note that
41the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
42number as described in RK808 datasheet.
43
44	- DCDC_REGn
45		- valid values for n are 1 to 4.
46	- LDO_REGn
47		- valid values for n are 1 to 8.
48	- SWITCH_REGn
49		- valid values for n are 1 to 2
50
51Standard regulator bindings are used inside regulator subnodes. Check
52  Documentation/devicetree/bindings/regulator/regulator.txt
53for more details
54
55Example:
56	rk808: pmic@1b {
57		compatible = "rockchip,rk808";
58		clock-output-names = "xin32k", "rk808-clkout2";
59		interrupt-parent = <&gpio0>;
60		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
61		pinctrl-names = "default";
62		pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
63		dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
64			    <&gpio7 15 GPIO_ACTIVE_HIGH>;
65		reg = <0x1b>;
66		rockchip,system-power-controller;
67		wakeup-source;
68		#clock-cells = <1>;
69
70		vcc8-supply = <&vcc_18>;
71		vcc9-supply = <&vcc_io>;
72		vcc10-supply = <&vcc_io>;
73		vcc12-supply = <&vcc_io>;
74		vddio-supply = <&vccio_pmu>;
75
76		regulators {
77			vdd_cpu: DCDC_REG1 {
78				regulator-always-on;
79				regulator-boot-on;
80				regulator-min-microvolt = <750000>;
81				regulator-max-microvolt = <1300000>;
82				regulator-name = "vdd_arm";
83			};
84
85			vdd_gpu: DCDC_REG2 {
86				regulator-always-on;
87				regulator-boot-on;
88				regulator-min-microvolt = <850000>;
89				regulator-max-microvolt = <1250000>;
90				regulator-name = "vdd_gpu";
91			};
92
93			vcc_ddr: DCDC_REG3 {
94				regulator-always-on;
95				regulator-boot-on;
96				regulator-name = "vcc_ddr";
97			};
98
99			vcc_io: DCDC_REG4 {
100				regulator-always-on;
101				regulator-boot-on;
102				regulator-min-microvolt = <3300000>;
103				regulator-max-microvolt = <3300000>;
104				regulator-name = "vcc_io";
105			};
106
107			vccio_pmu: LDO_REG1 {
108				regulator-always-on;
109				regulator-boot-on;
110				regulator-min-microvolt = <3300000>;
111				regulator-max-microvolt = <3300000>;
112				regulator-name = "vccio_pmu";
113			};
114
115			vcc_tp: LDO_REG2 {
116				regulator-always-on;
117				regulator-boot-on;
118				regulator-min-microvolt = <3300000>;
119				regulator-max-microvolt = <3300000>;
120				regulator-name = "vcc_tp";
121			};
122
123			vdd_10: LDO_REG3 {
124				regulator-always-on;
125				regulator-boot-on;
126				regulator-min-microvolt = <1000000>;
127				regulator-max-microvolt = <1000000>;
128				regulator-name = "vdd_10";
129			};
130
131			vcc18_lcd: LDO_REG4 {
132				regulator-always-on;
133				regulator-boot-on;
134				regulator-min-microvolt = <1800000>;
135				regulator-max-microvolt = <1800000>;
136				regulator-name = "vcc18_lcd";
137			};
138
139			vccio_sd: LDO_REG5 {
140				regulator-always-on;
141				regulator-boot-on;
142				regulator-min-microvolt = <1800000>;
143				regulator-max-microvolt = <3300000>;
144				regulator-name = "vccio_sd";
145			};
146
147			vdd10_lcd: LDO_REG6 {
148				regulator-always-on;
149				regulator-boot-on;
150				regulator-min-microvolt = <1000000>;
151				regulator-max-microvolt = <1000000>;
152				regulator-name = "vdd10_lcd";
153			};
154
155			vcc_18: LDO_REG7 {
156				regulator-always-on;
157				regulator-boot-on;
158				regulator-min-microvolt = <1800000>;
159				regulator-max-microvolt = <1800000>;
160				regulator-name = "vcc_18";
161			};
162
163			vcca_codec: LDO_REG8 {
164				regulator-always-on;
165				regulator-boot-on;
166				regulator-min-microvolt = <3300000>;
167				regulator-max-microvolt = <3300000>;
168				regulator-name = "vcca_codec";
169			};
170
171			vcc_wl: SWITCH_REG1 {
172				regulator-always-on;
173				regulator-boot-on;
174				regulator-name = "vcc_wl";
175			};
176
177			vcc_lcd: SWITCH_REG2 {
178				regulator-always-on;
179				regulator-boot-on;
180				regulator-name = "vcc_lcd";
181			};
182		};
183	};
184