blob: 04902c0bd3ffd42884f5436ee4679d6f338b98e0 [file] [log] [blame]
Tom Rini8b0c8a12018-05-06 18:27:01 -04001// SPDX-License-Identifier: GPL-2.0+ OR X11
Xu Ziyuan3da09a82016-07-05 18:06:30 +08002/*
3 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
Xu Ziyuan3da09a82016-07-05 18:06:30 +08004 */
5
6#include "rk3288.dtsi"
7
8/ {
9 memory {
10 reg = <0 0x80000000>;
11 };
12
Jacob Chen8ddfce52017-02-23 14:20:16 +080013 ext_gmac: external-gmac-clock {
14 compatible = "fixed-clock";
15 #clock-cells = <0>;
16 clock-frequency = <125000000>;
17 clock-output-names = "ext_gmac";
18 };
19
Xu Ziyuan3da09a82016-07-05 18:06:30 +080020 keys: gpio-keys {
21 compatible = "gpio-keys";
Xu Ziyuan3da09a82016-07-05 18:06:30 +080022
23 button@0 {
24 gpio-key,wakeup = <1>;
25 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
26 label = "GPIO Power";
27 linux,code = <116>;
28 pinctrl-names = "default";
29 pinctrl-0 = <&pwr_key>;
30 };
31 };
32
33 vcc_sys: vsys-regulator {
34 compatible = "regulator-fixed";
35 regulator-name = "vcc_sys";
36 regulator-min-microvolt = <5000000>;
37 regulator-max-microvolt = <5000000>;
38 regulator-always-on;
39 regulator-boot-on;
40 };
41
42 vcc_flash: flash-regulator {
43 compatible = "regulator-fixed";
44 regulator-name = "vcc_flash";
45 regulator-min-microvolt = <1800000>;
46 regulator-max-microvolt = <1800000>;
47 vin-supply = <&vcc_io>;
48 };
49
50 vcc_5v: usb-regulator {
51 compatible = "regulator-fixed";
52 regulator-name = "vcc_5v";
53 regulator-min-microvolt = <5000000>;
54 regulator-max-microvolt = <5000000>;
55 regulator-always-on;
56 regulator-boot-on;
57 vin-supply = <&vcc_sys>;
58 };
59
60 vcc_host_5v: usb-host-regulator {
61 compatible = "regulator-fixed";
62 enable-active-high;
63 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
64 pinctrl-names = "default";
65 pinctrl-0 = <&host_vbus_drv>;
66 regulator-name = "vcc_host_5v";
67 regulator-min-microvolt = <5000000>;
68 regulator-max-microvolt = <5000000>;
69 regulator-always-on;
70 vin-supply = <&vcc_5v>;
71 };
72
73 vcc_otg_5v: usb-otg-regulator {
74 compatible = "regulator-fixed";
75 enable-active-high;
76 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&otg_vbus_drv>;
79 regulator-name = "vcc_otg_5v";
80 regulator-min-microvolt = <5000000>;
81 regulator-max-microvolt = <5000000>;
82 regulator-always-on;
83 vin-supply = <&vcc_5v>;
84 };
Eric Gao590c4ac2017-05-02 18:32:45 +080085
86 backlight: backlight {
87 compatible = "pwm-backlight";
88 power-supply = <&vcc_sys>;
89 enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
90 brightness-levels = <
91 0 1 2 3 4 5 6 7
92 8 9 10 11 12 13 14 15
93 16 17 18 19 20 21 22 23
94 24 25 26 27 28 29 30 31
95 32 33 34 35 36 37 38 39
96 40 41 42 43 44 45 46 47
97 48 49 50 51 52 53 54 55
98 56 57 58 59 60 61 62 63
99 64 65 66 67 68 69 70 71
100 72 73 74 75 76 77 78 79
101 80 81 82 83 84 85 86 87
102 88 89 90 91 92 93 94 95
103 96 97 98 99 100 101 102 103
104 104 105 106 107 108 109 110 111
105 112 113 114 115 116 117 118 119
106 120 121 122 123 124 125 126 127
107 128 129 130 131 132 133 134 135
108 136 137 138 139 140 141 142 143
109 144 145 146 147 148 149 150 151
110 152 153 154 155 156 157 158 159
111 160 161 162 163 164 165 166 167
112 168 169 170 171 172 173 174 175
113 176 177 178 179 180 181 182 183
114 184 185 186 187 188 189 190 191
115 192 193 194 195 196 197 198 199
116 200 201 202 203 204 205 206 207
117 208 209 210 211 212 213 214 215
118 216 217 218 219 220 221 222 223
119 224 225 226 227 228 229 230 231
120 232 233 234 235 236 237 238 239
121 240 241 242 243 244 245 246 247
122 248 249 250 251 252 253 254 255>;
123 default-brightness-level = <50>;
124 pwms = <&pwm0 0 25000 0>;
125 pinctrl-names = "default";
126 pinctrl-0 = <&pwm0_pin>;
127 pwm-delay-us = <10000>;
128 status = "disabled";
129 };
130
131 panel: panel {
132 compatible = "simple-panel";
133 power-supply = <&vcc_io>;
134 backlight = <&backlight>;
135 enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
136 status = "disabled";
137 };
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800138};
139
140&cpu0 {
141 cpu0-supply = <&vdd_cpu>;
142};
143
144&emmc {
145 broken-cd;
146 bus-width = <8>;
147 cap-mmc-highspeed;
148 disable-wp;
149 non-removable;
150 num-slots = <1>;
151 pinctrl-names = "default";
152 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800153 status = "okay";
154};
155
Jacob Chen8ddfce52017-02-23 14:20:16 +0800156&gmac {
157 phy-mode = "rgmii";
158 clock_in_out = "input";
159 snps,reset-gpio = <&gpio4 7 0>;
160 snps,reset-active-low;
161 snps,reset-delays-us = <0 10000 1000000>;
162 assigned-clocks = <&cru SCLK_MAC>;
163 assigned-clock-parents = <&ext_gmac>;
164 pinctrl-names = "default";
165 pinctrl-0 = <&rgmii_pins>;
166 tx_delay = <0x30>;
167 rx_delay = <0x10>;
168 status = "okay";
169};
170
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800171&hdmi {
172 ddc-i2c-bus = <&i2c5>;
173 status = "okay";
174};
175
176&i2c0 {
177 clock-frequency = <400000>;
178 status = "okay";
179
180 vdd_cpu: syr827@40 {
181 compatible = "silergy,syr827";
182 fcs,suspend-voltage-selector = <1>;
183 reg = <0x40>;
184 regulator-name = "vdd_cpu";
185 regulator-min-microvolt = <850000>;
186 regulator-max-microvolt = <1350000>;
187 regulator-always-on;
188 regulator-boot-on;
189 vin-supply = <&vcc_sys>;
190 };
191
192 vdd_gpu: syr828@41 {
193 compatible = "silergy,syr828";
194 fcs,suspend-voltage-selector = <1>;
195 reg = <0x41>;
196 regulator-name = "vdd_gpu";
197 regulator-min-microvolt = <850000>;
198 regulator-max-microvolt = <1350000>;
199 regulator-always-on;
200 vin-supply = <&vcc_sys>;
201 };
202
203 hym8563: hym8563@51 {
204 compatible = "haoyu,hym8563";
205 reg = <0x51>;
206 #clock-cells = <0>;
207 clock-frequency = <32768>;
208 clock-output-names = "xin32k";
209 interrupt-parent = <&gpio7>;
210 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
211 pinctrl-names = "default";
212 pinctrl-0 = <&rtc_int>;
213 };
214
215 act8846: act8846@5a {
216 compatible = "active-semi,act8846";
217 reg = <0x5a>;
218 pinctrl-names = "default";
219 pinctrl-0 = <&pwr_hold>;
220 system-power-controller;
221
222 regulators {
223 vcc_ddr: REG1 {
224 regulator-name = "vcc_ddr";
225 regulator-min-microvolt = <1200000>;
226 regulator-max-microvolt = <1200000>;
227 regulator-always-on;
228 };
229
230 vcc_io: REG2 {
231 regulator-name = "vcc_io";
232 regulator-min-microvolt = <3300000>;
233 regulator-max-microvolt = <3300000>;
234 regulator-always-on;
235 };
236
237 vdd_log: REG3 {
238 regulator-name = "vdd_log";
239 regulator-min-microvolt = <1100000>;
240 regulator-max-microvolt = <1100000>;
241 regulator-always-on;
242 };
243
244 vcc_20: REG4 {
245 regulator-name = "vcc_20";
246 regulator-min-microvolt = <2000000>;
247 regulator-max-microvolt = <2000000>;
248 regulator-always-on;
249 };
250
251 vccio_sd: REG5 {
252 regulator-name = "vccio_sd";
253 regulator-min-microvolt = <3300000>;
254 regulator-max-microvolt = <3300000>;
255 regulator-always-on;
256 };
257
258 vdd10_lcd: REG6 {
259 regulator-name = "vdd10_lcd";
260 regulator-min-microvolt = <1000000>;
261 regulator-max-microvolt = <1000000>;
262 regulator-always-on;
263 };
264
265 vcca_codec: REG7 {
266 regulator-name = "vcca_codec";
267 regulator-min-microvolt = <3300000>;
268 regulator-max-microvolt = <3300000>;
269 };
270
271 vcc_tp: REG8 {
272 regulator-name = "vcca_33";
273 regulator-min-microvolt = <3300000>;
274 regulator-max-microvolt = <3300000>;
275 };
276
277 vccio_pmu: REG9 {
278 regulator-name = "vccio_pmu";
279 regulator-min-microvolt = <3300000>;
280 regulator-max-microvolt = <3300000>;
281 };
282
283 vdd_10: REG10 {
284 regulator-name = "vdd_10";
285 regulator-min-microvolt = <1000000>;
286 regulator-max-microvolt = <1000000>;
287 regulator-always-on;
288 };
289
290 vcc_18: REG11 {
291 regulator-name = "vcc_18";
292 regulator-min-microvolt = <1800000>;
293 regulator-max-microvolt = <1800000>;
294 regulator-always-on;
295 };
296
297 vcc18_lcd: REG12 {
298 regulator-name = "vcc18_lcd";
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <1800000>;
301 regulator-always-on;
302 };
303 };
304 };
305};
306
307&i2c1 {
308 status = "okay";
309};
310
311&i2c2 {
312 status = "okay";
313};
314
315&i2c4 {
316 status = "okay";
317};
318
319&i2c5 {
320 status = "okay";
321};
322
323&pinctrl {
324 pcfg_output_high: pcfg-output-high {
325 output-high;
326 };
327
328 pcfg_output_low: pcfg-output-low {
329 output-low;
330 };
331
332 act8846 {
333 pwr_hold: pwr-hold {
334 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
335 };
336 };
337
338 hym8563 {
339 rtc_int: rtc-int {
340 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
341 };
342 };
343
344 keys {
345 pwr_key: pwr-key {
346 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
347 };
348 };
349
350 sdmmc {
351 sdmmc_pwr: sdmmc-pwr {
352 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
353 };
354 };
355
356 usb_host {
357 host_vbus_drv: host-vbus-drv {
358 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
359 };
360 };
361
362 usb_otg {
363 otg_vbus_drv: otg-vbus-drv {
364 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
365 };
366 };
367};
368
Eric Gao590c4ac2017-05-02 18:32:45 +0800369&pwm0 {
370 status = "okay";
371};
372
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800373&saradc {
374 vref-supply = <&vcc_18>;
375 status = "okay";
376};
377
378&sdio0 {
379 broken-cd;
380 bus-width = <4>;
381 disable-wp;
382 non-removable;
383 num-slots = <1>;
384 pinctrl-names = "default";
385 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
386 vmmc-supply = <&vcc_18>;
387 status = "disabled";
388};
389
390&sdmmc {
391 bus-width = <4>;
392 cap-mmc-highspeed;
393 cap-sd-highspeed;
394 card-detect-delay = <200>;
395 disable-wp;
396 num-slots = <1>;
397 pinctrl-names = "default";
398 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
399 vmmc-supply = <&vccio_sd>;
400 status = "okay";
401};
402
403&spi0 {
404 pinctrl-names = "default";
405 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
406 status = "okay";
407};
408
409&uart0 {
410 pinctrl-names = "default";
411 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
412 status = "okay";
413};
414
415&uart1 {
416 status = "okay";
417};
418
419&uart2 {
420 status = "okay";
421};
422
423&uart3 {
424 status = "okay";
425};
426
427&usb_host1 {
428 status = "okay";
429};
430
431&usb_otg {
432 status = "okay";
433};
434
435&vopb {
436 status = "okay";
437};
438
439&vopb_mmu {
440 status = "okay";
441};
442
443&vopl {
444 status = "okay";
445};
446
447&vopl_mmu {
448 status = "okay";
449};
450
Eric Gao590c4ac2017-05-02 18:32:45 +0800451&mipi_dsi0 {
452 status = "disabled";
453 rockchip,panel = <&panel>;
454 display-timings {
455 timing0 {
456 bits-per-pixel = <24>;
457 clock-frequency = <160000000>;
458 hfront-porch = <120>;
459 hsync-len = <20>;
460 hback-porch = <21>;
461 hactive = <1200>;
462 vfront-porch = <21>;
463 vsync-len = <3>;
464 vback-porch = <18>;
465 vactive = <1920>;
466 hsync-active = <0>;
467 vsync-active = <0>;
468 de-active = <1>;
469 pixelclk-active = <0>;
470 };
471 };
472};
473
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800474&wdt {
475 status = "okay";
476};