Merge tag 'v6.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / samsung / exynos5420-galaxy-tab-common.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Base DT for Samsung's family of tablets based on Exynos5420.
4  *
5  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6  *              http://www.samsung.com
7  * Copyright (c) 2022 Henrik Grimler
8  */
9
10 /dts-v1/;
11 #include "exynos5420.dtsi"
12 #include "exynos5420-cpus.dtsi"
13 #include <dt-bindings/input/input.h>
14 #include <dt-bindings/gpio/gpio.h>
15 #include <dt-bindings/clock/samsung,s2mps11.h>
16
17 / {
18         chassis-type = "tablet";
19
20         /*
21          * To successfully boot the mainline kernel with the stock
22          * bootloader (SBOOT), the tlb needs to be flushed after the
23          * page table pointer has been updated in __common_mmu_cache_on.
24          * The same hack is also needed to boot exynos4412-i9300 with
25          * stock bootloader, and probably other Samsung devices of
26          * similar age.  See
27          * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
28          * for more details.
29          */
30
31         aliases {
32                 mmc0 = &mmc_0;
33                 mmc1 = &mmc_1;
34                 mmc2 = &mmc_2;
35         };
36
37         chosen {
38                 stdout-path = "serial2:115200n8";
39         };
40
41         memory@20000000 {
42                 device_type = "memory";
43                 reg = <0x20000000 0xbfa00000>;
44         };
45
46         firmware@2073000 {
47                 compatible = "samsung,secure-firmware";
48                 reg = <0x02073000 0x1000>;
49         };
50
51         fixed-rate-clocks {
52                 oscclk {
53                         compatible = "samsung,exynos5420-oscclk";
54                         clock-frequency = <24000000>;
55                 };
56         };
57
58         gpio-keys {
59                 compatible = "gpio-keys";
60
61                 key-power {
62                         debounce-interval = <10>;
63                         gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
64                         label = "Power";
65                         linux,code = <KEY_POWER>;
66                         wakeup-source;
67                 };
68
69                 key-home {
70                         debounce-interval = <10>;
71                         gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
72                         label = "Home";
73                         linux,code = <KEY_HOME>;
74                         wakeup-source;
75                 };
76
77                 key-volume-up {
78                         debounce-interval = <10>;
79                         gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
80                         label = "Volume Up";
81                         linux,code = <KEY_VOLUMEUP>;
82                 };
83
84                 key-volume-down {
85                         debounce-interval = <10>;
86                         gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
87                         label = "Volume Down";
88                         linux,code = <KEY_VOLUMEDOWN>;
89                 };
90         };
91
92         mmc1_pwrseq: pwrseq {
93                 compatible = "mmc-pwrseq-simple";
94                 reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>;
95                 clocks = <&s2mps11_osc S2MPS11_CLK_BT>;
96                 clock-names = "ext_clock";
97         };
98 };
99
100 &cci {
101         /* CCI is disabled in hardware */
102         status = "disabled";
103 };
104
105 &cpu0 {
106         cpu-supply = <&buck2_reg>;
107 };
108
109 &cpu4 {
110         cpu-supply = <&buck6_reg>;
111 };
112
113 &gpu {
114         status = "okay";
115         mali-supply = <&buck4_reg>;
116 };
117
118 &hsi2c_7 {
119         status = "okay";
120
121         pmic@66 {
122                 compatible = "samsung,s2mps11-pmic";
123                 reg = <0x66>;
124
125                 interrupt-parent = <&gpx3>;
126                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
127                 pinctrl-names = "default";
128                 pinctrl-0 = <&s2mps11_irq>;
129
130                 s2mps11_osc: clocks {
131                         compatible = "samsung,s2mps11-clk";
132                         #clock-cells = <1>;
133                         clock-output-names = "s2mps11_ap", "s2mps11_cp",
134                                              "s2mps11_bt";
135                 };
136
137                 regulators {
138                         buck1_reg: BUCK1 {
139                                 regulator-name = "VDD_MIF_1V1";
140                                 regulator-min-microvolt = <700000>;
141                                 regulator-max-microvolt = <1300000>;
142                                 regulator-always-on;
143                                 regulator-boot-on;
144
145                                 regulator-state-mem {
146                                         regulator-off-in-suspend;
147                                 };
148                         };
149
150                         buck2_reg: BUCK2 {
151                                 regulator-name = "VDD_ARM_1V0";
152                                 regulator-min-microvolt = <800000>;
153                                 regulator-max-microvolt = <1500000>;
154                                 regulator-always-on;
155                                 regulator-boot-on;
156
157                                 regulator-state-mem {
158                                         regulator-off-in-suspend;
159                                 };
160                         };
161
162                         buck3_reg: BUCK3 {
163                                 regulator-name = "VDD_INT_1V0";
164                                 regulator-min-microvolt = <800000>;
165                                 regulator-max-microvolt = <1400000>;
166                                 regulator-always-on;
167                                 regulator-boot-on;
168
169                                 regulator-state-mem {
170                                         regulator-off-in-suspend;
171                                 };
172                         };
173
174                         buck4_reg: BUCK4 {
175                                 regulator-name = "VDD_G3D_1V0";
176                                 regulator-min-microvolt = <700000>;
177                                 regulator-max-microvolt = <1400000>;
178                                 regulator-always-on;
179                                 regulator-boot-on;
180
181                                 regulator-state-mem {
182                                         regulator-off-in-suspend;
183                                 };
184                         };
185
186                         buck5_reg: BUCK5 {
187                                 regulator-name = "VDD_MEM_1V2";
188                                 regulator-min-microvolt = <1200000>;
189                                 regulator-max-microvolt = <1200000>;
190                                 regulator-always-on;
191                                 regulator-boot-on;
192
193                                 regulator-state-mem {
194                                         regulator-off-in-suspend;
195                                 };
196
197                         };
198
199                         buck6_reg: BUCK6 {
200                                 regulator-name = "VDD_KFC_1V0";
201                                 regulator-min-microvolt = <800000>;
202                                 regulator-max-microvolt = <1500000>;
203                                 regulator-always-on;
204                                 regulator-boot-on;
205
206                                 regulator-state-mem {
207                                         regulator-off-in-suspend;
208                                 };
209                         };
210
211                         buck7_reg: BUCK7 {
212                                 regulator-name = "VIN_LLDO_1V4";
213                                 regulator-min-microvolt = <1200000>;
214                                 regulator-max-microvolt = <1500000>;
215                                 regulator-always-on;
216                         };
217
218                         buck8_reg: BUCK8 {
219                                 regulator-name = "VIN_MLDO_2V0";
220                                 regulator-min-microvolt = <1800000>;
221                                 regulator-max-microvolt = <2100000>;
222                                 regulator-always-on;
223                         };
224
225                         buck9_reg: BUCK9 {
226                                 regulator-name = "VIN_HLDO_3V5";
227                                 regulator-min-microvolt = <3000000>;
228                                 regulator-max-microvolt = <3500000>;
229                                 regulator-always-on;
230                         };
231
232                         buck10_reg: BUCK10 {
233                                 regulator-name = "VDD_CAM_ISP_1V0";
234                                 regulator-min-microvolt = <750000>;
235                                 regulator-max-microvolt = <3550000>;
236                         };
237
238                         ldo1_reg: LDO1 {
239                                 regulator-name = "VDD_ALIVE_1.0V";
240                                 regulator-min-microvolt = <1000000>;
241                                 regulator-max-microvolt = <1000000>;
242                                 regulator-always-on;
243                         };
244
245                         ldo2_reg: LDO2 {
246                                 regulator-name = "VDD_APIO_1V8";
247                                 regulator-min-microvolt = <1800000>;
248                                 regulator-max-microvolt = <1800000>;
249                                 regulator-always-on;
250                                 regulator-boot-on;
251
252                                 regulator-state-mem {
253                                         regulator-on-in-suspend;
254                                 };
255                         };
256
257                         ldo3_reg: LDO3 {
258                                 regulator-name = "VDD_APIO_MMC01_1V8";
259                                 regulator-min-microvolt = <1800000>;
260                                 regulator-max-microvolt = <1800000>;
261                                 regulator-always-on;
262
263                                 regulator-state-mem {
264                                         regulator-off-in-suspend;
265                                 };
266                         };
267
268                         ldo4_reg: LDO4 {
269                                 regulator-name = "VDD_ADC_1V8";
270                                 regulator-min-microvolt = <1800000>;
271                                 regulator-max-microvolt = <1800000>;
272                                 regulator-always-on;
273                                 regulator-boot-on;
274
275                                 regulator-state-mem {
276                                         regulator-on-in-suspend;
277                                 };
278                         };
279
280                         ldo5_reg: LDO5 {
281                                 /* Unused */
282                                 regulator-name = "VDD_LDO5";
283                                 regulator-min-microvolt = <1800000>;
284                                 regulator-max-microvolt = <1800000>;
285                         };
286
287                         ldo6_reg: LDO6 {
288                                 regulator-name = "VDD_MIPI_1V0";
289                                 regulator-min-microvolt = <1000000>;
290                                 regulator-max-microvolt = <1000000>;
291                                 regulator-always-on;
292                                 regulator-boot-on;
293
294                                 regulator-state-mem {
295                                         regulator-off-in-suspend;
296                                 };
297                         };
298
299                         ldo7_reg: LDO7 {
300                                 regulator-name = "VDD_MIPI_PLL_ABB1_18V";
301                                 regulator-min-microvolt = <1800000>;
302                                 regulator-max-microvolt = <1800000>;
303                                 regulator-always-on;
304                                 regulator-boot-on;
305
306                                 regulator-state-mem {
307                                         regulator-off-in-suspend;
308                                 };
309                         };
310
311                         ldo8_reg: LDO8 {
312                                 /* Unused */
313                                 regulator-name = "VDD_LDO8";
314                                 regulator-min-microvolt = <1800000>;
315                                 regulator-max-microvolt = <1800000>;
316                         };
317
318                         ldo9_reg: LDO9 {
319                                 regulator-name = "VDD_UOTG_3V0";
320                                 regulator-min-microvolt = <3000000>;
321                                 regulator-max-microvolt = <3000000>;
322                                 regulator-always-on;
323                                 regulator-boot-on;
324
325                                 regulator-state-mem {
326                                         regulator-on-in-suspend;
327                                 };
328                         };
329
330                         ldo10_reg: LDO10 {
331                                 regulator-name = "VDDQ_PRE_1V8";
332                                 regulator-min-microvolt = <1800000>;
333                                 regulator-max-microvolt = <1800000>;
334                                 regulator-always-on;
335                                 regulator-boot-on;
336
337                                 regulator-state-mem {
338                                         regulator-on-in-suspend;
339                                 };
340                         };
341
342                         ldo11_reg: LDO11 {
343                                 regulator-name = "VDD_HSIC_1V0";
344                                 regulator-min-microvolt = <1000000>;
345                                 regulator-max-microvolt = <1000000>;
346                                 regulator-always-on;
347                                 regulator-boot-on;
348
349                                 regulator-state-mem {
350                                         regulator-on-in-suspend;
351                                 };
352                         };
353
354                         ldo12_reg: LDO12 {
355                                 regulator-name = "VDD_HSIC_1V8";
356                                 regulator-min-microvolt = <1800000>;
357                                 regulator-max-microvolt = <1800000>;
358                                 regulator-always-on;
359                                 regulator-boot-on;
360
361                                 regulator-state-mem {
362                                         regulator-on-in-suspend;
363                                 };
364                         };
365
366                         ldo13_reg: LDO13 {
367                                 regulator-name = "VDD_APIO_MMC2_2V8";
368                                 regulator-min-microvolt = <1800000>;
369                                 regulator-max-microvolt = <2800000>;
370                                 regulator-boot-on;
371
372                                 regulator-state-mem {
373                                         regulator-off-in-suspend;
374                                 };
375                         };
376
377                         ldo14_reg: LDO14 {
378                                 regulator-name = "VDD_MOTOR_3V0";
379                                 regulator-min-microvolt = <3000000>;
380                                 regulator-max-microvolt = <3000000>;
381
382                                 regulator-state-mem {
383                                         regulator-off-in-suspend;
384                                 };
385                         };
386
387                         ldo15_reg: LDO15 {
388                                 regulator-name = "VDD_LDO15";
389                                 /*
390                                  * LDO15 varies between devices and is
391                                  * specified in the device dts
392                                  */
393                         };
394
395                         ldo16_reg: LDO16 {
396                                 regulator-name = "VDD_AP_2V8";
397                                 regulator-min-microvolt = <2800000>;
398                                 regulator-max-microvolt = <2800000>;
399                                 regulator-always-on;
400                                 regulator-boot-on;
401
402                                 regulator-state-mem {
403                                         regulator-on-in-suspend;
404                                 };
405                         };
406
407                         ldo17_reg: LDO17 {
408                                 regulator-name = "VDD_LDO17";
409                                 /*
410                                  * LDO17 varies between devices and is
411                                  * specified in the device dts
412                                  */
413                         };
414
415                         ldo18_reg: LDO18 {
416                                 /* Unused */
417                                 regulator-name = "VDD_LDO18";
418                                 regulator-min-microvolt = <1800000>;
419                                 regulator-max-microvolt = <1800000>;
420                         };
421
422                         ldo19_reg: LDO19 {
423                                 regulator-name = "VDD_VTF_2V8";
424                                 regulator-min-microvolt = <2800000>;
425                                 regulator-max-microvolt = <2800000>;
426
427                                 regulator-state-mem {
428                                         regulator-off-in-suspend;
429                                 };
430                         };
431
432                         ldo20_reg: LDO20 {
433                                 regulator-name = "VDD_CAM1_CAM_1V8";
434                                 regulator-min-microvolt = <1800000>;
435                                 regulator-max-microvolt = <1800000>;
436
437                                 regulator-state-mem {
438                                         regulator-off-in-suspend;
439                                 };
440                         };
441
442                         ldo21_reg: LDO21 {
443                                 regulator-name = "VDD_CAM_IO_1V8";
444                                 regulator-min-microvolt = <1800000>;
445                                 regulator-max-microvolt = <1800000>;
446
447                                 regulator-state-mem {
448                                         regulator-off-in-suspend;
449                                 };
450                         };
451
452                         ldo22_reg: LDO22 {
453                                 regulator-name = "VDD_CAM0_S_CORE_1V1";
454                                 regulator-min-microvolt = <1050000>;
455                                 regulator-max-microvolt = <1200000>;
456
457                                 regulator-state-mem {
458                                         regulator-off-in-suspend;
459                                 };
460                         };
461
462                         ldo23_reg: LDO23 {
463                                 regulator-name = "VDD_MIFS_1V1";
464                                 regulator-min-microvolt = <800000>;
465                                 regulator-max-microvolt = <1100000>;
466                                 regulator-always-on;
467
468                                 regulator-state-mem {
469                                         regulator-on-in-suspend;
470                                 };
471                         };
472
473                         ldo24_reg: LDO24 {
474                                 regulator-name = "VDD_TSP_3V3";
475                                 regulator-min-microvolt = <3300000>;
476                                 regulator-max-microvolt = <3300000>;
477
478                                 regulator-state-mem {
479                                         regulator-off-in-suspend;
480                                 };
481                         };
482
483                         ldo25_reg: LDO25 {
484                                 /* Unused */
485                                 regulator-name = "VDD_LDO25";
486                                 regulator-min-microvolt = <800000>;
487                                 regulator-max-microvolt = <3950000>;
488                         };
489
490                         ldo26_reg: LDO26 {
491                                 regulator-name = "VDD_CAM0_AF_2V8";
492                                 regulator-min-microvolt = <2800000>;
493                                 regulator-max-microvolt = <2800000>;
494
495                                 regulator-state-mem {
496                                         regulator-off-in-suspend;
497                                 };
498                         };
499
500                         ldo27_reg: LDO27 {
501                                 regulator-name = "VDD_G3DS_1V0";
502                                 regulator-min-microvolt = <800000>;
503                                 regulator-max-microvolt = <1000000>;
504                                 regulator-always-on;
505
506                                 regulator-state-mem {
507                                         regulator-on-in-suspend;
508                                 };
509                         };
510
511                         ldo28_reg: LDO28 {
512                                 regulator-name = "VDD_LDO28";
513                                 /*
514                                  * LDO28 varies between devices and is
515                                  * specified in the device dts
516                                  */
517                         };
518
519                         ldo29_reg: LDO29 {
520                                 regulator-name = "VDD_LDO29";
521                                 /*
522                                  * LDO29 varies between devices and is
523                                  * specified in the device dts
524                                  */
525                         };
526
527                         ldo30_reg: LDO30 {
528                                 regulator-name = "VDD_TOUCH_1V8";
529                                 regulator-min-microvolt = <1900000>;
530                                 regulator-max-microvolt = <1900000>;
531
532                                 regulator-state-mem {
533                                         regulator-off-in-suspend;
534                                 };
535                         };
536
537                         ldo31_reg: LDO31 {
538                                 regulator-name = "VDD_LDO31";
539                                 /*
540                                  * LDO31 varies between devices and is
541                                  * specified in the device dts
542                                  */
543                         };
544
545                         ldo32_reg: LDO32 {
546                                 regulator-name = "VDD_LDO32";
547                                 /*
548                                  * LDO32 varies between devices and is
549                                  * specified in the device dts
550                                  */
551                         };
552
553                         ldo33_reg: LDO33 {
554                                 regulator-name = "VDD_MHL_1V8";
555                                 regulator-min-microvolt = <1800000>;
556                                 regulator-max-microvolt = <1800000>;
557
558                                 regulator-state-mem {
559                                         regulator-off-in-suspend;
560                                 };
561                         };
562
563                         ldo34_reg: LDO34 {
564                                 regulator-name = "VDD_MHL_3V3";
565                                 regulator-min-microvolt = <3300000>;
566                                 regulator-max-microvolt = <3300000>;
567
568                                 regulator-state-mem {
569                                         regulator-off-in-suspend;
570                                 };
571                         };
572
573                         ldo35_reg: LDO35 {
574                                 regulator-name = "VDD_SIL_1V2";
575                                 regulator-min-microvolt = <1200000>;
576                                 regulator-max-microvolt = <1200000>;
577
578                                 regulator-state-mem {
579                                         regulator-off-in-suspend;
580                                 };
581                         };
582
583                         ldo36_reg: LDO36 {
584                                 /* Unused */
585                                 regulator-name = "VDD_LDO36";
586                                 regulator-min-microvolt = <800000>;
587                                 regulator-max-microvolt = <3950000>;
588                         };
589
590                         ldo37_reg: LDO37 {
591                                 /* Unused */
592                                 regulator-name = "VDD_LDO37";
593                                 regulator-min-microvolt = <800000>;
594                                 regulator-max-microvolt = <3950000>;
595                         };
596
597                         ldo38_reg: LDO38 {
598                                 regulator-name = "VDD_KEY_LED_3V3";
599                                 regulator-min-microvolt = <2500000>;
600                                 regulator-max-microvolt = <3300000>;
601
602                                 regulator-state-mem {
603                                         regulator-off-in-suspend;
604                                 };
605                         };
606                 };
607         };
608 };
609
610 &mixer {
611         status = "okay";
612 };
613
614 /* Internal storage */
615 &mmc_0 {
616         status = "okay";
617         bus-width = <8>;
618         cap-mmc-highspeed;
619         card-detect-delay = <200>;
620         mmc-ddr-1_8v;
621         mmc-hs200-1_8v;
622         non-removable;
623         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
624         pinctrl-names = "default";
625         samsung,dw-mshc-ciu-div = <3>;
626         samsung,dw-mshc-ddr-timing = <0 2>;
627         samsung,dw-mshc-sdr-timing = <0 4>;
628         vqmmc-supply = <&ldo3_reg>;
629 };
630
631 /* WiFi */
632 &mmc_1 {
633         bus-width = <4>;
634         cap-sd-highspeed;
635         cap-sdio-irq;
636         card-detect-delay = <200>;
637         keep-power-in-suspend;
638         mmc-pwrseq = <&mmc1_pwrseq>;
639         non-removable;
640         pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
641                     <&sd1_bus4>, <&wifi_en>;
642         pinctrl-names = "default";
643         vqmmc-supply = <&ldo2_reg>;
644         samsung,dw-mshc-ciu-div = <1>;
645         samsung,dw-mshc-ddr-timing = <0 2>;
646         samsung,dw-mshc-sdr-timing = <0 1>;
647         status = "okay";
648 };
649
650 /* External sdcard */
651 &mmc_2 {
652         status = "okay";
653         bus-width = <4>;
654         cap-sd-highspeed;
655         card-detect-delay = <200>;
656         cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
657         pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
658         pinctrl-names = "default";
659         samsung,dw-mshc-ciu-div = <3>;
660         samsung,dw-mshc-ddr-timing = <0 2>;
661         samsung,dw-mshc-sdr-timing = <0 4>;
662         sd-uhs-sdr50;
663         vmmc-supply = <&ldo19_reg>;
664         vqmmc-supply = <&ldo13_reg>;
665 };
666
667 &pinctrl_0 {
668         mmc2_cd: mmc2-cd-pins {
669                 samsung,pins = "gpx2-4";
670                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
671         };
672
673         s2mps11_irq: s2mps11-irq-pins {
674                 samsung,pins = "gpx3-0";
675                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
676                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
677                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
678         };
679
680         wifi_en: wifi-en-pins {
681                 samsung,pins = "gpy7-7";
682                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
683         };
684 };
685
686 &rtc {
687         status = "okay";
688         clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
689         clock-names = "rtc", "rtc_src";
690 };
691
692 &tmu_cpu0 {
693         vtmu-supply = <&ldo10_reg>;
694 };
695
696 &tmu_cpu1 {
697         vtmu-supply = <&ldo10_reg>;
698 };
699
700 &tmu_cpu2 {
701         vtmu-supply = <&ldo10_reg>;
702 };
703
704 &tmu_cpu3 {
705         vtmu-supply = <&ldo10_reg>;
706 };
707
708 &tmu_gpu {
709         vtmu-supply = <&ldo10_reg>;
710 };
711
712 &usbdrd_dwc3_0 {
713         dr_mode = "peripheral";
714 };
715
716 &usbdrd_dwc3_1 {
717         dr_mode = "peripheral";
718 };
719
720 &usbdrd3_0 {
721         vdd33-supply = <&ldo9_reg>;
722         vdd10-supply = <&ldo11_reg>;
723 };
724
725 &usbdrd3_1 {
726         vdd33-supply = <&ldo9_reg>;
727         vdd10-supply = <&ldo11_reg>;
728 };