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