blob: 5aec1b82bd0a954a0eef69423e09764e8769c4e7 [file] [log] [blame]
Simon Glassec3be542015-08-30 16:55:41 -06001/*
2 * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com>
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
14 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
21 ir: ir-receiver {
22 compatible = "gpio-ir-receiver";
23 pinctrl-names = "default";
24 pinctrl-0 = <&ir_int>;
25 };
26
27 keys: gpio-keys {
28 compatible = "gpio-keys";
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 button@0 {
33 gpio-key,wakeup = <1>;
34 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
35 label = "GPIO Power";
36 linux,code = <116>;
37 pinctrl-names = "default";
38 pinctrl-0 = <&pwr_key>;
39 };
40 };
41
42 leds {
43 u-boot,dm-pre-reloc;
44 compatible = "gpio-leds";
45
46 work {
47 u-boot,dm-pre-reloc;
48 gpios = <&gpio8 1 GPIO_ACTIVE_LOW>;
49 label = "firefly:blue:user";
50 linux,default-trigger = "rc-feedback";
51 pinctrl-names = "default";
52 pinctrl-0 = <&work_led>;
53 };
54
55 power {
56 u-boot,dm-pre-reloc;
57 gpios = <&gpio8 2 GPIO_ACTIVE_LOW>;
58 label = "firefly:green:power";
59 linux,default-trigger = "default-on";
60 pinctrl-names = "default";
61 pinctrl-0 = <&power_led>;
62 };
63 };
64
65 vcc_sys: vsys-regulator {
66 compatible = "regulator-fixed";
67 regulator-name = "vcc_sys";
68 regulator-min-microvolt = <5000000>;
69 regulator-max-microvolt = <5000000>;
70 regulator-always-on;
71 regulator-boot-on;
72 };
73
74 vcc_sd: sdmmc-regulator {
75 compatible = "regulator-fixed";
76 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&sdmmc_pwr>;
79 regulator-name = "vcc_sd";
80 regulator-min-microvolt = <3300000>;
81 regulator-max-microvolt = <3300000>;
82 startup-delay-us = <100000>;
83 vin-supply = <&vcc_io>;
84 };
85
86 vcc_flash: flash-regulator {
87 compatible = "regulator-fixed";
88 regulator-name = "vcc_flash";
89 regulator-min-microvolt = <1800000>;
90 regulator-max-microvolt = <1800000>;
91 vin-supply = <&vcc_io>;
92 };
93
94 vcc_5v: usb-regulator {
95 compatible = "regulator-fixed";
96 regulator-name = "vcc_5v";
97 regulator-min-microvolt = <5000000>;
98 regulator-max-microvolt = <5000000>;
99 regulator-always-on;
100 regulator-boot-on;
101 vin-supply = <&vcc_sys>;
102 };
103
104 vcc_host_5v: usb-host-regulator {
105 compatible = "regulator-fixed";
106 enable-active-high;
107 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
108 pinctrl-names = "default";
109 pinctrl-0 = <&host_vbus_drv>;
110 regulator-name = "vcc_host_5v";
111 regulator-min-microvolt = <5000000>;
112 regulator-max-microvolt = <5000000>;
113 regulator-always-on;
114 vin-supply = <&vcc_5v>;
115 };
116
117 vcc_otg_5v: usb-otg-regulator {
118 compatible = "regulator-fixed";
119 enable-active-high;
120 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
121 pinctrl-names = "default";
122 pinctrl-0 = <&otg_vbus_drv>;
123 regulator-name = "vcc_otg_5v";
124 regulator-min-microvolt = <5000000>;
125 regulator-max-microvolt = <5000000>;
126 regulator-always-on;
127 vin-supply = <&vcc_5v>;
128 };
129};
130
131&cpu0 {
132 cpu0-supply = <&vdd_cpu>;
133};
134
135&emmc {
136 broken-cd;
137 bus-width = <8>;
138 cap-mmc-highspeed;
139 disable-wp;
140 non-removable;
141 num-slots = <1>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
144 vmmc-supply = <&vcc_io>;
145 vqmmc-supply = <&vcc_flash>;
146 status = "okay";
147};
148
149&hdmi {
150 ddc-i2c-bus = <&i2c5>;
151 status = "okay";
152};
153
154&i2c0 {
155 clock-frequency = <400000>;
156 status = "okay";
157
158 vdd_cpu: syr827@40 {
159 compatible = "silergy,syr827";
160 fcs,suspend-voltage-selector = <1>;
161 reg = <0x40>;
162 regulator-name = "vdd_cpu";
163 regulator-min-microvolt = <850000>;
164 regulator-max-microvolt = <1350000>;
165 regulator-always-on;
166 regulator-boot-on;
167 vin-supply = <&vcc_sys>;
168 };
169
170 vdd_gpu: syr828@41 {
171 compatible = "silergy,syr828";
172 fcs,suspend-voltage-selector = <1>;
173 reg = <0x41>;
174 regulator-name = "vdd_gpu";
175 regulator-min-microvolt = <850000>;
176 regulator-max-microvolt = <1350000>;
177 regulator-always-on;
178 vin-supply = <&vcc_sys>;
179 };
180
181 hym8563: hym8563@51 {
182 compatible = "haoyu,hym8563";
183 reg = <0x51>;
184 #clock-cells = <0>;
185 clock-frequency = <32768>;
186 clock-output-names = "xin32k";
187 interrupt-parent = <&gpio7>;
188 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
189 pinctrl-names = "default";
190 pinctrl-0 = <&rtc_int>;
191 };
192
193 act8846: act8846@5a {
194 compatible = "active-semi,act8846";
195 reg = <0x5a>;
196 pinctrl-names = "default";
197 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
198 system-power-controller;
199
200 regulators {
201 vcc_ddr: REG1 {
202 regulator-name = "vcc_ddr";
203 regulator-min-microvolt = <1200000>;
204 regulator-max-microvolt = <1200000>;
205 regulator-always-on;
206 };
207
208 vcc_io: REG2 {
209 regulator-name = "vcc_io";
210 regulator-min-microvolt = <3300000>;
211 regulator-max-microvolt = <3300000>;
212 regulator-always-on;
213 };
214
215 vdd_log: REG3 {
216 regulator-name = "vdd_log";
217 regulator-min-microvolt = <1100000>;
218 regulator-max-microvolt = <1100000>;
219 regulator-always-on;
220 };
221
222 vcc_20: REG4 {
223 regulator-name = "vcc_20";
224 regulator-min-microvolt = <2000000>;
225 regulator-max-microvolt = <2000000>;
226 regulator-always-on;
227 };
228
229 vccio_sd: REG5 {
230 regulator-name = "vccio_sd";
231 regulator-min-microvolt = <3300000>;
232 regulator-max-microvolt = <3300000>;
233 regulator-always-on;
234 };
235
236 vdd10_lcd: REG6 {
237 regulator-name = "vdd10_lcd";
238 regulator-min-microvolt = <1000000>;
239 regulator-max-microvolt = <1000000>;
240 regulator-always-on;
241 };
242
243 vcca_18: REG7 {
244 regulator-name = "vcca_18";
245 regulator-min-microvolt = <1800000>;
246 regulator-max-microvolt = <1800000>;
247 };
248
249 vcca_33: REG8 {
250 regulator-name = "vcca_33";
251 regulator-min-microvolt = <3300000>;
252 regulator-max-microvolt = <3300000>;
253 };
254
255 vcc_lan: REG9 {
256 regulator-name = "vcc_lan";
257 regulator-min-microvolt = <3300000>;
258 regulator-max-microvolt = <3300000>;
259 };
260
261 vdd_10: REG10 {
262 regulator-name = "vdd_10";
263 regulator-min-microvolt = <1000000>;
264 regulator-max-microvolt = <1000000>;
265 regulator-always-on;
266 };
267
268 vcc_18: REG11 {
269 regulator-name = "vcc_18";
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <1800000>;
272 regulator-always-on;
273 };
274
275 vcc18_lcd: REG12 {
276 regulator-name = "vcc18_lcd";
277 regulator-min-microvolt = <1800000>;
278 regulator-max-microvolt = <1800000>;
279 regulator-always-on;
280 };
281 };
282 };
283};
284
285&i2c1 {
286 status = "okay";
287};
288
289&i2c2 {
290 status = "okay";
291};
292
293&i2c4 {
294 status = "okay";
295};
296
297&i2c5 {
298 status = "okay";
299};
300
301&pinctrl {
302 pcfg_output_high: pcfg-output-high {
303 output-high;
304 };
305
306 pcfg_output_low: pcfg-output-low {
307 output-low;
308 };
309
310 act8846 {
311 pwr_hold: pwr-hold {
312 rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>;
313 };
314 };
315
316 gmac {
317 phy_int: phy-int {
318 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
319 };
320
321 phy_pmeb: phy-pmeb {
322 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
323 };
324
325 phy_rst: phy-rst {
326 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
327 };
328 };
329
330 hym8563 {
331 rtc_int: rtc-int {
332 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>;
333 };
334 };
335
336 keys {
337 pwr_key: pwr-key {
338 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
339 };
340 };
341
342 leds {
343 power_led: power-led {
344 rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>;
345 };
346
347 work_led: work-led {
348 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>;
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 usbhub_rst: usbhub-rst {
364 rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>;
365 };
366 };
367
368 usb_otg {
369 otg_vbus_drv: otg-vbus-drv {
370 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
371 };
372 };
373};
374
375&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>;
Sjoerd Simonsd8e65982015-08-30 16:55:46 -0600389 status = "disabled";
Simon Glassec3be542015-08-30 16:55:41 -0600390};
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 = <&vcc_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 pinctrl-names = "default";
431 pinctrl-0 = <&usbhub_rst>;
432 status = "okay";
433};
434
435&usb_otg {
436 status = "okay";
437};
438
439&vopb {
440 status = "okay";
441};
442
443&vopb_mmu {
444 status = "okay";
445};
446
447&vopl {
448 status = "okay";
449};
450
451&vopl_mmu {
452 status = "okay";
453};
454
455&wdt {
456 status = "okay";
457};