]> git.karo-electronics.de Git - karo-tx-uboot.git/blob - arch/arm/dts/rk3288-firefly.dtsi
8a083f0d405b6f7d03c46368bb6047e42aa19276
[karo-tx-uboot.git] / arch / arm / dts / rk3288-firefly.dtsi
1 /*
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>;
389         status = "okay";
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 = <&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 };