ARM: dts: Disable UHS-I modes for SD card on Odroid XU3/XU4/HC1
[platform/kernel/linux-exynos.git] / arch / arm / boot / dts / exynos5422-odroid-core.dtsi
1 /*
2  * Hardkernel Odroid XU3/XU4/HC1 boards core device tree source
3  *
4  * Copyright (c) 2017 Marek Szyprowski
5  * Copyright (c) 2013-2017 Samsung Electronics Co., Ltd.
6  *              http://www.samsung.com
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11 */
12
13 #include <dt-bindings/clock/samsung,s2mps11.h>
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/soc/exynos,boot-mode.h>
17 #include "exynos5800.dtsi"
18 #include "exynos5422-cpus.dtsi"
19 #include "exynos5422-dmc.dtsi"
20
21 / {
22         memory@40000000 {
23                 device_type = "memory";
24                 reg = <0x40000000 0x7EA00000>;
25         };
26
27         chosen {
28                 stdout-path = "serial2:115200n8";
29         };
30
31         firmware@2073000 {
32                 compatible = "samsung,secure-firmware";
33                 reg = <0x02073000 0x1000>;
34         };
35
36         fixed-rate-clocks {
37                 oscclk {
38                         compatible = "samsung,exynos5420-oscclk";
39                         clock-frequency = <24000000>;
40                 };
41         };
42 };
43
44 &bus_wcore {
45         devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>,
46                         <&nocp_mem1_0>, <&nocp_mem1_1>;
47         vdd-supply = <&buck3_reg>;
48         exynos,saturation-ratio = <100>;
49         assigned-clocks = <&clock CLK_MOUT_WCORE>;
50         assigned-clock-parents = <&clock CLK_FF_DOUT_SPLL2>;
51         assigned-clock-rates = <400000000>;
52         status = "okay";
53 };
54
55 &bus_noc {
56         devfreq = <&bus_wcore>;
57         status = "okay";
58 };
59
60 &bus_fsys_apb {
61         devfreq = <&bus_wcore>;
62         status = "okay";
63 };
64
65 &bus_fsys {
66         devfreq = <&bus_wcore>;
67         status = "okay";
68 };
69
70 &bus_fsys2 {
71         devfreq = <&bus_wcore>;
72         status = "okay";
73 };
74
75 &bus_mfc {
76         devfreq = <&bus_wcore>;
77         status = "okay";
78 };
79
80 &bus_gen {
81         devfreq = <&bus_wcore>;
82         status = "okay";
83 };
84
85 &bus_peri {
86         devfreq = <&bus_wcore>;
87         status = "okay";
88 };
89
90 &bus_g2d {
91         devfreq = <&bus_wcore>;
92         status = "okay";
93 };
94
95 &bus_g2d_acp {
96         devfreq = <&bus_wcore>;
97         status = "okay";
98 };
99
100 &bus_jpeg {
101         devfreq = <&bus_wcore>;
102         status = "okay";
103 };
104
105 &bus_jpeg_apb {
106         devfreq = <&bus_wcore>;
107         status = "okay";
108 };
109
110 &bus_disp1_fimd {
111         devfreq = <&bus_wcore>;
112         status = "okay";
113 };
114
115 &bus_disp1 {
116         devfreq = <&bus_wcore>;
117         status = "okay";
118 };
119
120 &bus_gscl_scaler {
121         devfreq = <&bus_wcore>;
122         status = "okay";
123 };
124
125 &bus_mscl {
126         devfreq = <&bus_wcore>;
127         status = "okay";
128 };
129
130 &clock {
131         assigned-clocks = <&clock CLK_FOUT_BPLL>;
132         assigned-clock-rates = <933000000>;
133 };
134
135 &cpu0 {
136         cpu-supply = <&buck6_reg>;
137 };
138
139 &cpu4 {
140         cpu-supply = <&buck2_reg>;
141 };
142
143 &hsi2c_4 {
144         status = "okay";
145
146         s2mps11_pmic@66 {
147                 compatible = "samsung,s2mps11-pmic";
148                 reg = <0x66>;
149                 samsung,s2mps11-acokb-ground;
150
151                 interrupt-parent = <&gpx0>;
152                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
153                 pinctrl-names = "default";
154                 pinctrl-0 = <&s2mps11_irq>;
155
156                 s2mps11_osc: clocks {
157                         compatible = "samsung,s2mps11-clk";
158                         #clock-cells = <1>;
159                         clock-output-names = "s2mps11_ap",
160                                         "s2mps11_cp", "s2mps11_bt";
161                 };
162
163                 regulators {
164                         ldo1_reg: LDO1 {
165                                 regulator-name = "vdd_ldo1";
166                                 regulator-min-microvolt = <1000000>;
167                                 regulator-max-microvolt = <1000000>;
168                                 regulator-always-on;
169                         };
170
171                         ldo2_reg: LDO2 {
172                                 regulator-name = "vdd_ldo2";
173                                 regulator-min-microvolt = <1800000>;
174                                 regulator-max-microvolt = <1800000>;
175                                 regulator-always-on;
176                         };
177
178                         ldo3_reg: LDO3 {
179                                 regulator-name = "vddq_mmc0";
180                                 regulator-min-microvolt = <1800000>;
181                                 regulator-max-microvolt = <1800000>;
182                         };
183
184                         ldo4_reg: LDO4 {
185                                 regulator-name = "vdd_adc";
186                                 regulator-min-microvolt = <1800000>;
187                                 regulator-max-microvolt = <1800000>;
188                         };
189
190                         ldo5_reg: LDO5 {
191                                 regulator-name = "vdd_ldo5";
192                                 regulator-min-microvolt = <1800000>;
193                                 regulator-max-microvolt = <1800000>;
194                                 regulator-always-on;
195                         };
196
197                         ldo6_reg: LDO6 {
198                                 regulator-name = "vdd_ldo6";
199                                 regulator-min-microvolt = <1000000>;
200                                 regulator-max-microvolt = <1000000>;
201                                 regulator-always-on;
202                         };
203
204                         ldo7_reg: LDO7 {
205                                 regulator-name = "vdd_ldo7";
206                                 regulator-min-microvolt = <1800000>;
207                                 regulator-max-microvolt = <1800000>;
208                                 regulator-always-on;
209                         };
210
211                         ldo8_reg: LDO8 {
212                                 regulator-name = "vdd_ldo8";
213                                 regulator-min-microvolt = <1800000>;
214                                 regulator-max-microvolt = <1800000>;
215                                 regulator-always-on;
216                         };
217
218                         ldo9_reg: LDO9 {
219                                 regulator-name = "vdd_ldo9";
220                                 regulator-min-microvolt = <3000000>;
221                                 regulator-max-microvolt = <3000000>;
222                                 regulator-always-on;
223                         };
224
225                         ldo10_reg: LDO10 {
226                                 regulator-name = "vdd_ldo10";
227                                 regulator-min-microvolt = <1800000>;
228                                 regulator-max-microvolt = <1800000>;
229                                 regulator-always-on;
230                         };
231
232                         ldo11_reg: LDO11 {
233                                 regulator-name = "vdd_ldo11";
234                                 regulator-min-microvolt = <1000000>;
235                                 regulator-max-microvolt = <1000000>;
236                                 regulator-always-on;
237                         };
238
239                         ldo12_reg: LDO12 {
240                                 /* Unused */
241                                 regulator-name = "vdd_ldo12";
242                                 regulator-min-microvolt = <800000>;
243                                 regulator-max-microvolt = <2375000>;
244                         };
245
246                         ldo13_reg: LDO13 {
247                                 regulator-name = "vddq_mmc2";
248                                 regulator-min-microvolt = <1800000>;
249                                 regulator-max-microvolt = <2800000>;
250                         };
251
252                         ldo14_reg: LDO14 {
253                                 /* Unused */
254                                 regulator-name = "vdd_ldo14";
255                                 regulator-min-microvolt = <800000>;
256                                 regulator-max-microvolt = <3950000>;
257                         };
258
259                         ldo15_reg: LDO15 {
260                                 regulator-name = "vdd_ldo15";
261                                 regulator-min-microvolt = <3300000>;
262                                 regulator-max-microvolt = <3300000>;
263                                 regulator-always-on;
264                         };
265
266                         ldo16_reg: LDO16 {
267                                 /* Unused */
268                                 regulator-name = "vdd_ldo16";
269                                 regulator-min-microvolt = <800000>;
270                                 regulator-max-microvolt = <3950000>;
271                         };
272
273                         ldo17_reg: LDO17 {
274                                 regulator-name = "vdd_ldo17";
275                                 regulator-min-microvolt = <3300000>;
276                                 regulator-max-microvolt = <3300000>;
277                                 regulator-always-on;
278                         };
279
280                         ldo18_reg: LDO18 {
281                                 regulator-name = "vdd_emmc_1V8";
282                                 regulator-min-microvolt = <1800000>;
283                                 regulator-max-microvolt = <1800000>;
284                         };
285
286                         ldo19_reg: LDO19 {
287                                 regulator-name = "vdd_sd";
288                                 regulator-min-microvolt = <2800000>;
289                                 regulator-max-microvolt = <2800000>;
290                         };
291
292                         ldo20_reg: LDO20 {
293                                 /* Unused */
294                                 regulator-name = "vdd_ldo20";
295                                 regulator-min-microvolt = <800000>;
296                                 regulator-max-microvolt = <3950000>;
297                         };
298
299                         ldo21_reg: LDO21 {
300                                 /* Unused */
301                                 regulator-name = "vdd_ldo21";
302                                 regulator-min-microvolt = <800000>;
303                                 regulator-max-microvolt = <3950000>;
304                         };
305
306                         ldo22_reg: LDO22 {
307                                 /* Unused */
308                                 regulator-name = "vdd_ldo22";
309                                 regulator-min-microvolt = <800000>;
310                                 regulator-max-microvolt = <2375000>;
311                         };
312
313                         ldo23_reg: LDO23 {
314                                 regulator-name = "vdd_mifs";
315                                 regulator-min-microvolt = <1100000>;
316                                 regulator-max-microvolt = <1100000>;
317                                 regulator-always-on;
318                         };
319
320                         ldo24_reg: LDO24 {
321                                 /* Unused */
322                                 regulator-name = "vdd_ldo24";
323                                 regulator-min-microvolt = <800000>;
324                                 regulator-max-microvolt = <3950000>;
325                         };
326
327                         ldo25_reg: LDO25 {
328                                 /* Unused */
329                                 regulator-name = "vdd_ldo25";
330                                 regulator-min-microvolt = <800000>;
331                                 regulator-max-microvolt = <3950000>;
332                         };
333
334                         ldo26_reg: LDO26 {
335                                 /* Used on XU3, XU3-Lite and XU4 */
336                                 regulator-name = "vdd_ldo26";
337                                 regulator-min-microvolt = <800000>;
338                                 regulator-max-microvolt = <3950000>;
339                         };
340
341                         ldo27_reg: LDO27 {
342                                 regulator-name = "vdd_g3ds";
343                                 regulator-min-microvolt = <1000000>;
344                                 regulator-max-microvolt = <1000000>;
345                                 regulator-always-on;
346                         };
347
348                         ldo28_reg: LDO28 {
349                                 /* Used on XU3 */
350                                 regulator-name = "vdd_ldo28";
351                                 regulator-min-microvolt = <800000>;
352                                 regulator-max-microvolt = <3950000>;
353                         };
354
355                         ldo29_reg: LDO29 {
356                                 /* Unused */
357                                 regulator-name = "vdd_ldo29";
358                                 regulator-min-microvolt = <800000>;
359                                 regulator-max-microvolt = <3950000>;
360                         };
361
362                         ldo30_reg: LDO30 {
363                                 /* Unused */
364                                 regulator-name = "vdd_ldo30";
365                                 regulator-min-microvolt = <800000>;
366                                 regulator-max-microvolt = <3950000>;
367                         };
368
369                         ldo31_reg: LDO31 {
370                                 /* Unused */
371                                 regulator-name = "vdd_ldo31";
372                                 regulator-min-microvolt = <800000>;
373                                 regulator-max-microvolt = <3950000>;
374                         };
375
376                         ldo32_reg: LDO32 {
377                                 /* Unused */
378                                 regulator-name = "vdd_ldo32";
379                                 regulator-min-microvolt = <800000>;
380                                 regulator-max-microvolt = <3950000>;
381                         };
382
383                         ldo33_reg: LDO33 {
384                                 /* Unused */
385                                 regulator-name = "vdd_ldo33";
386                                 regulator-min-microvolt = <800000>;
387                                 regulator-max-microvolt = <3950000>;
388                         };
389
390                         ldo34_reg: LDO34 {
391                                 /* Unused */
392                                 regulator-name = "vdd_ldo34";
393                                 regulator-min-microvolt = <800000>;
394                                 regulator-max-microvolt = <3950000>;
395                         };
396
397                         ldo35_reg: LDO35 {
398                                 /* Unused */
399                                 regulator-name = "vdd_ldo35";
400                                 regulator-min-microvolt = <800000>;
401                                 regulator-max-microvolt = <2375000>;
402                         };
403
404                         ldo36_reg: LDO36 {
405                                 /* Unused */
406                                 regulator-name = "vdd_ldo36";
407                                 regulator-min-microvolt = <800000>;
408                                 regulator-max-microvolt = <3950000>;
409                         };
410
411                         ldo37_reg: LDO37 {
412                                 /* Unused */
413                                 regulator-name = "vdd_ldo37";
414                                 regulator-min-microvolt = <800000>;
415                                 regulator-max-microvolt = <3950000>;
416                         };
417
418                         ldo38_reg: LDO38 {
419                                 /* Unused */
420                                 regulator-name = "vdd_ldo38";
421                                 regulator-min-microvolt = <800000>;
422                                 regulator-max-microvolt = <3950000>;
423                         };
424
425                         buck1_reg: BUCK1 {
426                                 regulator-name = "vdd_mif";
427                                 regulator-min-microvolt = <800000>;
428                                 regulator-max-microvolt = <1300000>;
429                                 regulator-always-on;
430                                 regulator-boot-on;
431                         };
432
433                         buck2_reg: BUCK2 {
434                                 regulator-name = "vdd_arm";
435                                 regulator-min-microvolt = <800000>;
436                                 regulator-max-microvolt = <1500000>;
437                                 regulator-always-on;
438                                 regulator-boot-on;
439                         };
440
441                         buck3_reg: BUCK3 {
442                                 regulator-name = "vdd_int";
443                                 regulator-min-microvolt = <800000>;
444                                 regulator-max-microvolt = <1400000>;
445                                 regulator-always-on;
446                                 regulator-boot-on;
447                         };
448
449                         buck4_reg: BUCK4 {
450                                 regulator-name = "vdd_g3d";
451                                 regulator-min-microvolt = <800000>;
452                                 regulator-max-microvolt = <1400000>;
453                                 regulator-always-on;
454                                 regulator-boot-on;
455                         };
456
457                         buck5_reg: BUCK5 {
458                                 regulator-name = "vdd_mem";
459                                 regulator-min-microvolt = <800000>;
460                                 regulator-max-microvolt = <1400000>;
461                                 regulator-always-on;
462                                 regulator-boot-on;
463                         };
464
465                         buck6_reg: BUCK6 {
466                                 regulator-name = "vdd_kfc";
467                                 regulator-min-microvolt = <800000>;
468                                 regulator-max-microvolt = <1500000>;
469                                 regulator-always-on;
470                                 regulator-boot-on;
471                         };
472
473                         buck7_reg: BUCK7 {
474                                 regulator-name = "vdd_1.0v_ldo";
475                                 regulator-min-microvolt = <800000>;
476                                 regulator-max-microvolt = <1500000>;
477                                 regulator-always-on;
478                                 regulator-boot-on;
479                         };
480
481                         buck8_reg: BUCK8 {
482                                 regulator-name = "vdd_1.8v_ldo";
483                                 regulator-min-microvolt = <800000>;
484                                 regulator-max-microvolt = <1500000>;
485                                 regulator-always-on;
486                                 regulator-boot-on;
487                         };
488
489                         buck9_reg: BUCK9 {
490                                 regulator-name = "vdd_2.8v_ldo";
491                                 regulator-min-microvolt = <3000000>;
492                                 regulator-max-microvolt = <3750000>;
493                                 regulator-always-on;
494                                 regulator-boot-on;
495                         };
496
497                         buck10_reg: BUCK10 {
498                                 regulator-name = "vdd_vmem";
499                                 regulator-min-microvolt = <2850000>;
500                                 regulator-max-microvolt = <2850000>;
501                                 regulator-always-on;
502                                 regulator-boot-on;
503                         };
504                 };
505         };
506 };
507
508 &mali {
509         mali-supply = <&buck4_reg>;
510         assigned-clocks = <&clock CLK_FOUT_VPLL>;
511         assigned-clock-rates = <600000000>;
512         status = "okay";
513 };
514
515 &mmc_2 {
516         status = "okay";
517         card-detect-delay = <200>;
518         samsung,dw-mshc-ciu-div = <3>;
519         samsung,dw-mshc-sdr-timing = <0 4>;
520         samsung,dw-mshc-ddr-timing = <0 2>;
521         pinctrl-names = "default";
522         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_wp &sd2_bus1 &sd2_bus4>;
523         bus-width = <4>;
524         cap-sd-highspeed;
525         vmmc-supply = <&ldo19_reg>;
526         vqmmc-supply = <&ldo13_reg>;
527 };
528
529 &nocp_mem0_0 {
530         status = "okay";
531 };
532
533 &nocp_mem0_1 {
534         status = "okay";
535 };
536
537 &nocp_mem1_0 {
538         status = "okay";
539 };
540
541 &nocp_mem1_1 {
542         status = "okay";
543 };
544
545 &pinctrl_0 {
546         s2mps11_irq: s2mps11-irq {
547                 samsung,pins = "gpx0-4";
548                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
549                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
550                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
551         };
552 };
553
554 &pmu_system_controller {
555         syscon-reboot-mode {
556                 compatible = "syscon-reboot-mode";
557                 offset = <0x808>;
558                 mode-normal = <BOOT_NORMAL>;
559                 mode-download = <BOOT_BL_DOWNLOAD>;
560         };
561 };
562
563 &tmu_cpu0 {
564         vtmu-supply = <&ldo7_reg>;
565 };
566
567 &tmu_cpu1 {
568         vtmu-supply = <&ldo7_reg>;
569 };
570
571 &tmu_cpu2 {
572         vtmu-supply = <&ldo7_reg>;
573 };
574
575 &tmu_cpu3 {
576         vtmu-supply = <&ldo7_reg>;
577 };
578
579 &tmu_gpu {
580         vtmu-supply = <&ldo7_reg>;
581 };
582
583 &rtc {
584         status = "okay";
585         clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
586         clock-names = "rtc", "rtc_src";
587 };
588
589 &usbdrd_dwc3_0 {
590         dr_mode = "host";
591 };
592
593 /* usbdrd_dwc3_1 mode customized in each board */
594
595 &usbdrd3_0 {
596         vdd33-supply = <&ldo9_reg>;
597         vdd10-supply = <&ldo11_reg>;
598 };
599
600 &usbdrd3_1 {
601         vdd33-supply = <&ldo9_reg>;
602         vdd10-supply = <&ldo11_reg>;
603 };