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