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