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