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