blob: ce75bd5d28eb604c2a232393b130423f4103cf46 [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>;
153 vmmc-supply = <&vcc_io>;
154 vqmmc-supply = <&vcc_flash>;
155 status = "okay";
156};
157
Jacob Chen8ddfce52017-02-23 14:20:16 +0800158&gmac {
159 phy-mode = "rgmii";
160 clock_in_out = "input";
161 snps,reset-gpio = <&gpio4 7 0>;
162 snps,reset-active-low;
163 snps,reset-delays-us = <0 10000 1000000>;
164 assigned-clocks = <&cru SCLK_MAC>;
165 assigned-clock-parents = <&ext_gmac>;
166 pinctrl-names = "default";
167 pinctrl-0 = <&rgmii_pins>;
168 tx_delay = <0x30>;
169 rx_delay = <0x10>;
170 status = "okay";
171};
172
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800173&hdmi {
174 ddc-i2c-bus = <&i2c5>;
175 status = "okay";
176};
177
178&i2c0 {
179 clock-frequency = <400000>;
180 status = "okay";
181
182 vdd_cpu: syr827@40 {
183 compatible = "silergy,syr827";
184 fcs,suspend-voltage-selector = <1>;
185 reg = <0x40>;
186 regulator-name = "vdd_cpu";
187 regulator-min-microvolt = <850000>;
188 regulator-max-microvolt = <1350000>;
189 regulator-always-on;
190 regulator-boot-on;
191 vin-supply = <&vcc_sys>;
192 };
193
194 vdd_gpu: syr828@41 {
195 compatible = "silergy,syr828";
196 fcs,suspend-voltage-selector = <1>;
197 reg = <0x41>;
198 regulator-name = "vdd_gpu";
199 regulator-min-microvolt = <850000>;
200 regulator-max-microvolt = <1350000>;
201 regulator-always-on;
202 vin-supply = <&vcc_sys>;
203 };
204
205 hym8563: hym8563@51 {
206 compatible = "haoyu,hym8563";
207 reg = <0x51>;
208 #clock-cells = <0>;
209 clock-frequency = <32768>;
210 clock-output-names = "xin32k";
211 interrupt-parent = <&gpio7>;
212 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
213 pinctrl-names = "default";
214 pinctrl-0 = <&rtc_int>;
215 };
216
217 act8846: act8846@5a {
218 compatible = "active-semi,act8846";
219 reg = <0x5a>;
220 pinctrl-names = "default";
221 pinctrl-0 = <&pwr_hold>;
222 system-power-controller;
223
224 regulators {
225 vcc_ddr: REG1 {
226 regulator-name = "vcc_ddr";
227 regulator-min-microvolt = <1200000>;
228 regulator-max-microvolt = <1200000>;
229 regulator-always-on;
230 };
231
232 vcc_io: REG2 {
233 regulator-name = "vcc_io";
234 regulator-min-microvolt = <3300000>;
235 regulator-max-microvolt = <3300000>;
236 regulator-always-on;
237 };
238
239 vdd_log: REG3 {
240 regulator-name = "vdd_log";
241 regulator-min-microvolt = <1100000>;
242 regulator-max-microvolt = <1100000>;
243 regulator-always-on;
244 };
245
246 vcc_20: REG4 {
247 regulator-name = "vcc_20";
248 regulator-min-microvolt = <2000000>;
249 regulator-max-microvolt = <2000000>;
250 regulator-always-on;
251 };
252
253 vccio_sd: REG5 {
254 regulator-name = "vccio_sd";
255 regulator-min-microvolt = <3300000>;
256 regulator-max-microvolt = <3300000>;
257 regulator-always-on;
258 };
259
260 vdd10_lcd: REG6 {
261 regulator-name = "vdd10_lcd";
262 regulator-min-microvolt = <1000000>;
263 regulator-max-microvolt = <1000000>;
264 regulator-always-on;
265 };
266
267 vcca_codec: REG7 {
268 regulator-name = "vcca_codec";
269 regulator-min-microvolt = <3300000>;
270 regulator-max-microvolt = <3300000>;
271 };
272
273 vcc_tp: REG8 {
274 regulator-name = "vcca_33";
275 regulator-min-microvolt = <3300000>;
276 regulator-max-microvolt = <3300000>;
277 };
278
279 vccio_pmu: REG9 {
280 regulator-name = "vccio_pmu";
281 regulator-min-microvolt = <3300000>;
282 regulator-max-microvolt = <3300000>;
283 };
284
285 vdd_10: REG10 {
286 regulator-name = "vdd_10";
287 regulator-min-microvolt = <1000000>;
288 regulator-max-microvolt = <1000000>;
289 regulator-always-on;
290 };
291
292 vcc_18: REG11 {
293 regulator-name = "vcc_18";
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <1800000>;
296 regulator-always-on;
297 };
298
299 vcc18_lcd: REG12 {
300 regulator-name = "vcc18_lcd";
301 regulator-min-microvolt = <1800000>;
302 regulator-max-microvolt = <1800000>;
303 regulator-always-on;
304 };
305 };
306 };
307};
308
309&i2c1 {
310 status = "okay";
311};
312
313&i2c2 {
314 status = "okay";
315};
316
317&i2c4 {
318 status = "okay";
319};
320
321&i2c5 {
322 status = "okay";
323};
324
325&pinctrl {
326 pcfg_output_high: pcfg-output-high {
327 output-high;
328 };
329
330 pcfg_output_low: pcfg-output-low {
331 output-low;
332 };
333
334 act8846 {
335 pwr_hold: pwr-hold {
336 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
337 };
338 };
339
340 hym8563 {
341 rtc_int: rtc-int {
342 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
343 };
344 };
345
346 keys {
347 pwr_key: pwr-key {
348 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
349 };
350 };
351
352 sdmmc {
353 sdmmc_pwr: sdmmc-pwr {
354 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
355 };
356 };
357
358 usb_host {
359 host_vbus_drv: host-vbus-drv {
360 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
361 };
362 };
363
364 usb_otg {
365 otg_vbus_drv: otg-vbus-drv {
366 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
367 };
368 };
369};
370
Eric Gao590c4ac2017-05-02 18:32:45 +0800371&pwm0 {
372 status = "okay";
373};
374
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800375&saradc {
376 vref-supply = <&vcc_18>;
377 status = "okay";
378};
379
380&sdio0 {
381 broken-cd;
382 bus-width = <4>;
383 disable-wp;
384 non-removable;
385 num-slots = <1>;
386 pinctrl-names = "default";
387 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
388 vmmc-supply = <&vcc_18>;
389 status = "disabled";
390};
391
392&sdmmc {
393 bus-width = <4>;
394 cap-mmc-highspeed;
395 cap-sd-highspeed;
396 card-detect-delay = <200>;
397 disable-wp;
398 num-slots = <1>;
399 pinctrl-names = "default";
400 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
401 vmmc-supply = <&vccio_sd>;
402 status = "okay";
403};
404
405&spi0 {
406 pinctrl-names = "default";
407 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
408 status = "okay";
409};
410
411&uart0 {
412 pinctrl-names = "default";
413 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
414 status = "okay";
415};
416
417&uart1 {
418 status = "okay";
419};
420
421&uart2 {
422 status = "okay";
423};
424
425&uart3 {
426 status = "okay";
427};
428
429&usb_host1 {
430 status = "okay";
431};
432
433&usb_otg {
434 status = "okay";
435};
436
437&vopb {
438 status = "okay";
439};
440
441&vopb_mmu {
442 status = "okay";
443};
444
445&vopl {
446 status = "okay";
447};
448
449&vopl_mmu {
450 status = "okay";
451};
452
Eric Gao590c4ac2017-05-02 18:32:45 +0800453&mipi_dsi0 {
454 status = "disabled";
455 rockchip,panel = <&panel>;
456 display-timings {
457 timing0 {
458 bits-per-pixel = <24>;
459 clock-frequency = <160000000>;
460 hfront-porch = <120>;
461 hsync-len = <20>;
462 hback-porch = <21>;
463 hactive = <1200>;
464 vfront-porch = <21>;
465 vsync-len = <3>;
466 vback-porch = <18>;
467 vactive = <1920>;
468 hsync-active = <0>;
469 vsync-active = <0>;
470 de-active = <1>;
471 pixelclk-active = <0>;
472 };
473 };
474};
475
Xu Ziyuan3da09a82016-07-05 18:06:30 +0800476&wdt {
477 status = "okay";
478};