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