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