Merge tag 'char-misc-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / exynos5422-samsung-k3g.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung Galaxy S5 (SM-G900H) device-tree source
4  *
5  * Copyright (c) 2023 Markuss Broks
6  */
7
8 /dts-v1/;
9 #include <dt-bindings/clock/samsung,s2mps11.h>
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include "exynos5800.dtsi"
13 #include "exynos5422-cpus.dtsi"
14
15 / {
16         model = "Samsung Galaxy S5 (SM-G900H)";
17         compatible = "samsung,k3g", "samsung,exynos5800", \
18                      "samsung,exynos5";
19
20         chassis-type = "handset";
21
22         memory@20000000 {
23                 device_type = "memory";
24                 reg = <0x20000000 0x80000000>; /* 2 GiB */
25         };
26
27         fixed-rate-clocks {
28                 oscclk {
29                         compatible = "samsung,exynos5420-oscclk";
30                         clock-frequency = <24000000>;
31                 };
32         };
33
34         firmware@2073000 {
35                 compatible = "samsung,secure-firmware";
36                 reg = <0x02073000 0x1000>;
37         };
38
39         tsp_vdd: regulator-tsp-vdd-en {
40                 compatible = "regulator-fixed";
41                 regulator-name = "tsp_vdd_en";
42                 regulator-min-microvolt = <3300000>;
43                 regulator-max-microvolt = <3300000>;
44                 gpio = <&gpy3 5 GPIO_ACTIVE_HIGH>;
45                 enable-active-high;
46         };
47 };
48
49 &cpu0 {
50         cpu-supply = <&buck2_reg>;
51 };
52
53 &cpu4 {
54         cpu-supply = <&buck6_reg>;
55 };
56
57 &gpu {
58         status = "okay";
59         mali-supply = <&buck4_reg>;
60 };
61
62 &hsi2c_7 {
63         status = "okay";
64
65         pmic@66 {
66                 compatible = "samsung,s2mps11-pmic";
67                 reg = <0x66>;
68
69                 interrupt-parent = <&gpx0>;
70                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
71                 wakeup-source;
72
73                 pinctrl-names = "default";
74                 pinctrl-0 = <&s2mps11_irq>;
75
76                 s2mps11_osc: clocks {
77                         compatible = "samsung,s2mps11-clk";
78                         #clock-cells = <1>;
79                         clock-output-names = "s2mps11_ap",
80                                              "s2mps11_cp", "s2mps11_bt";
81                 };
82
83                 regulators {
84                         buck1_reg: BUCK1 {
85                                 regulator-name = "VDD_MIF";
86                                 regulator-min-microvolt = <700000>;
87                                 regulator-max-microvolt = <1300000>;
88                                 regulator-always-on;
89                                 regulator-boot-on;
90
91                                 regulator-state-mem {
92                                         regulator-off-in-suspend;
93                                 };
94                         };
95
96                         buck2_reg: BUCK2 {
97                                 regulator-name = "VDD_ARM";
98                                 regulator-min-microvolt = <800000>;
99                                 regulator-max-microvolt = <1500000>;
100                                 regulator-always-on;
101                                 regulator-boot-on;
102
103                                 regulator-state-mem {
104                                         regulator-off-in-suspend;
105                                 };
106                         };
107
108                         buck3_reg: BUCK3 {
109                                 regulator-name = "VDD_INT";
110                                 regulator-min-microvolt = <800000>;
111                                 regulator-max-microvolt = <1400000>;
112                                 regulator-always-on;
113                                 regulator-boot-on;
114
115                                 regulator-state-mem {
116                                         regulator-off-in-suspend;
117                                 };
118                         };
119
120                         buck4_reg: BUCK4 {
121                                 regulator-name = "VDD_G3D";
122                                 regulator-min-microvolt = <700000>;
123                                 regulator-max-microvolt = <1400000>;
124                                 regulator-always-on;
125                                 regulator-boot-on;
126
127                                 regulator-state-mem {
128                                         regulator-off-in-suspend;
129                                 };
130                         };
131
132                         buck5_reg: BUCK5 {
133                                 regulator-name = "VDD_MEM";
134                                 regulator-min-microvolt = <1200000>;
135                                 regulator-max-microvolt = <1200000>;
136                                 regulator-always-on;
137                                 regulator-boot-on;
138
139                                 regulator-state-mem {
140                                         regulator-off-in-suspend;
141                                 };
142                         };
143
144                         buck6_reg: BUCK6 {
145                                 regulator-name = "VDD_KFC";
146                                 regulator-min-microvolt = <800000>;
147                                 regulator-max-microvolt = <1500000>;
148                                 regulator-always-on;
149                                 regulator-boot-on;
150
151                                 regulator-state-mem {
152                                         regulator-off-in-suspend;
153                                 };
154                         };
155
156                         buck7_reg: BUCK7 {
157                                 regulator-name = "VIN_LLDO";
158                                 regulator-min-microvolt = <1200000>;
159                                 regulator-max-microvolt = <1500000>;
160                                 regulator-always-on;
161                         };
162
163                         buck8_reg: BUCK8 {
164                                 regulator-name = "VIN_MLDO";
165                                 regulator-min-microvolt = <1800000>;
166                                 regulator-max-microvolt = <2100000>;
167                                 regulator-always-on;
168                         };
169
170                         buck9_reg: BUCK9 {
171                                 regulator-name = "VIN_HLDO";
172                                 regulator-min-microvolt = <3000000>;
173                                 regulator-max-microvolt = <3500000>;
174                                 regulator-always-on;
175                         };
176
177                         buck10_reg: BUCK10 {
178                                 regulator-name = "VDD_CAM_ISP";
179                                 regulator-min-microvolt = <750000>;
180                                 regulator-max-microvolt = <3550000>;
181                         };
182
183                         ldo1_reg: LDO1 {
184                                 regulator-name = "VDD_ALIVE";
185                                 regulator-min-microvolt = <1000000>;
186                                 regulator-max-microvolt = <1000000>;
187                                 regulator-always-on;
188                         };
189
190                         ldo2_reg: LDO2 {
191                                 regulator-name = "VDD_APIO";
192                                 regulator-min-microvolt = <1800000>;
193                                 regulator-max-microvolt = <1800000>;
194                                 regulator-always-on;
195                                 regulator-boot-on;
196
197                                 regulator-state-mem {
198                                         regulator-on-in-suspend;
199                                 };
200                         };
201
202                         ldo3_reg: LDO3 {
203                                 regulator-name = "VDD_APIO_MMC01";
204                                 regulator-min-microvolt = <1800000>;
205                                 regulator-max-microvolt = <1800000>;
206                                 regulator-always-on;
207
208                                 regulator-state-mem {
209                                         regulator-off-in-suspend;
210                                 };
211                         };
212
213                         ldo4_reg: LDO4 {
214                                 regulator-name = "VDD_ADC";
215                                 regulator-min-microvolt = <1800000>;
216                                 regulator-max-microvolt = <1800000>;
217                                 regulator-always-on;
218                                 regulator-boot-on;
219
220                                 regulator-state-mem {
221                                         regulator-on-in-suspend;
222                                 };
223                         };
224
225                         ldo5_reg: LDO5 {
226                                 regulator-name = "VDD_HRM_1V8";
227                                 regulator-min-microvolt = <1800000>;
228                                 regulator-max-microvolt = <1800000>;
229                         };
230
231                         ldo6_reg: LDO6 {
232                                 regulator-name = "VDD_MIPI";
233                                 regulator-min-microvolt = <1000000>;
234                                 regulator-max-microvolt = <1000000>;
235                                 regulator-always-on;
236                                 regulator-boot-on;
237
238                                 regulator-state-mem {
239                                         regulator-off-in-suspend;
240                                 };
241                         };
242
243                         ldo7_reg: LDO7 {
244                                 regulator-name = "VDD_MIPI_PLL_ABB1";
245                                 regulator-min-microvolt = <1800000>;
246                                 regulator-max-microvolt = <1800000>;
247                                 regulator-always-on;
248                                 regulator-boot-on;
249
250                                 regulator-state-mem {
251                                         regulator-off-in-suspend;
252                                 };
253                         };
254
255                         ldo8_reg: LDO8 {
256                                 regulator-name = "VDD_VTF";
257                                 regulator-min-microvolt = <1800000>;
258                                 regulator-max-microvolt = <1800000>;
259                                 regulator-always-on;
260
261                                 regulator-state-mem {
262                                         regulator-on-in-suspend;
263                                 };
264                         };
265
266                         ldo9_reg: LDO9 {
267                                 regulator-name = "VDD_UOTG";
268                                 regulator-min-microvolt = <3000000>;
269                                 regulator-max-microvolt = <3000000>;
270                                 regulator-always-on;
271                                 regulator-boot-on;
272
273                                 regulator-state-mem {
274                                         regulator-on-in-suspend;
275                                 };
276                         };
277
278                         ldo10_reg: LDO10 {
279                                 regulator-name = "VDDQ_PRE";
280                                 regulator-min-microvolt = <1800000>;
281                                 regulator-max-microvolt = <1800000>;
282                                 regulator-always-on;
283                                 regulator-boot-on;
284
285                                 regulator-state-mem {
286                                         regulator-on-in-suspend;
287                                 };
288                         };
289
290                         ldo11_reg: LDO11 {
291                                 regulator-name = "VDD_HSIC_1V0";
292                                 regulator-min-microvolt = <1000000>;
293                                 regulator-max-microvolt = <1000000>;
294                                 regulator-always-on;
295                                 regulator-boot-on;
296
297                                 regulator-state-mem {
298                                         regulator-on-in-suspend;
299                                 };
300                         };
301
302                         ldo12_reg: LDO12 {
303                                 regulator-name = "VDD_HSIC_1V8";
304                                 regulator-min-microvolt = <1800000>;
305                                 regulator-max-microvolt = <1800000>;
306                                 regulator-always-on;
307                                 regulator-boot-on;
308
309                                 regulator-state-mem {
310                                         regulator-on-in-suspend;
311                                 };
312                         };
313
314                         ldo13_reg: LDO13 {
315                                 regulator-name = "VDD_APIO_MMC2";
316                                 regulator-min-microvolt = <1800000>;
317                                 regulator-max-microvolt = <2800000>;
318                                 regulator-boot-on;
319
320                                 regulator-state-mem {
321                                         regulator-off-in-suspend;
322                                 };
323                         };
324
325                         ldo14_reg: LDO14 {
326                                 regulator-name = "VDD_MOTOR";
327                                 regulator-min-microvolt = <3000000>;
328                                 regulator-max-microvolt = <3000000>;
329
330                                 regulator-state-mem {
331                                         regulator-off-in-suspend;
332                                 };
333                         };
334
335                         ldo15_reg: LDO15 {
336                                 regulator-name = "VDD_CAM1_2V8";
337                                 regulator-min-microvolt = <2800000>;
338                                 regulator-max-microvolt = <2800000>;
339
340                                 regulator-state-mem {
341                                         regulator-off-in-suspend;
342                                 };
343                         };
344
345                         ldo16_reg: LDO16 {
346                                 regulator-name = "VDD_AP";
347                                 regulator-min-microvolt = <2800000>;
348                                 regulator-max-microvolt = <2800000>;
349                                 regulator-always-on;
350                                 regulator-boot-on;
351
352                                 regulator-state-mem {
353                                         regulator-on-in-suspend;
354                                 };
355                         };
356
357                         ldo17_reg: LDO17 {
358                                 /* Unused */
359                                 regulator-name = "VDD_LDO17";
360                         };
361
362                         ldo18_reg: LDO18 {
363                                 regulator-name = "VDD_CODEC";
364                                 regulator-min-microvolt = <1800000>;
365                                 regulator-max-microvolt = <1800000>;
366                                 regulator-always-on;
367
368                                 regulator-state-mem {
369                                         regulator-on-in-suspend;
370                                 };
371                         };
372
373                         ldo19_reg: LDO19 {
374                                 regulator-name = "VDD_VMMC";
375                                 regulator-min-microvolt = <2800000>;
376                                 regulator-max-microvolt = <2800000>;
377
378                                 regulator-state-mem {
379                                         regulator-on-in-suspend;
380                                 };
381                         };
382
383                         ldo20_reg: LDO20 {
384                                 regulator-name = "VDD_CAM1_1V8";
385                                 regulator-min-microvolt = <1800000>;
386                                 regulator-max-microvolt = <1800000>;
387
388                                 regulator-state-mem {
389                                         regulator-off-in-suspend;
390                                 };
391                         };
392
393                         ldo21_reg: LDO21 {
394                                 regulator-name = "VDD_CAM_IO";
395                                 regulator-min-microvolt = <1800000>;
396                                 regulator-max-microvolt = <1800000>;
397
398                                 regulator-state-mem {
399                                         regulator-off-in-suspend;
400                                 };
401                         };
402
403                         ldo22_reg: LDO22 {
404                                 regulator-name = "VDD_CAM0_S_CORE";
405                                 regulator-min-microvolt = <1200000>;
406                                 regulator-max-microvolt = <1200000>;
407
408                                 regulator-state-mem {
409                                         regulator-off-in-suspend;
410                                 };
411                         };
412
413                         ldo23_reg: LDO23 {
414                                 regulator-name = "VDD_MIFS";
415                                 regulator-min-microvolt = <800000>;
416                                 regulator-max-microvolt = <1100000>;
417                                 regulator-always-on;
418
419                                 regulator-state-mem {
420                                         regulator-on-in-suspend;
421                                 };
422                         };
423
424                         ldo24_reg: LDO24 {
425                                 regulator-name = "VDD_MHL_3V3";
426                                 regulator-min-microvolt = <3300000>;
427                                 regulator-max-microvolt = <3300000>;
428
429                                 regulator-state-mem {
430                                         regulator-off-in-suspend;
431                                 };
432                         };
433
434                         ldo25_reg: LDO25 {
435                                 regulator-name = "VDD_LCD_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                         ldo26_reg: LDO26 {
445                                 regulator-name = "VDD_CAM0_AF";
446                                 regulator-min-microvolt = <2800000>;
447                                 regulator-max-microvolt = <2800000>;
448
449                                 regulator-state-mem {
450                                         regulator-off-in-suspend;
451                                 };
452                         };
453
454                         ldo27_reg: LDO27 {
455                                 regulator-name = "VDD_G3DS";
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                         ldo28_reg: LDO28 {
466                                 regulator-name = "VDD_LCD_3V0";
467                                 regulator-min-microvolt = <3000000>;
468                                 regulator-max-microvolt = <3000000>;
469
470                                 regulator-state-mem {
471                                         regulator-off-in-suspend;
472                                 };
473                         };
474
475                         ldo29_reg: LDO29 {
476                                 /* Unused */
477                                 regulator-name = "VDD_LDO29";
478                         };
479
480                         ldo30_reg: LDO30 {
481                                 regulator-name = "VDD_TOUCH";
482                                 regulator-min-microvolt = <1800000>;
483                                 regulator-max-microvolt = <1800000>;
484
485                                 regulator-state-mem {
486                                         regulator-off-in-suspend;
487                                 };
488                         };
489
490                         ldo31_reg: LDO31 {
491                                 regulator-name = "VDD_COMP";
492                                 regulator-min-microvolt = <1800000>;
493                                 regulator-max-microvolt = <1800000>;
494
495                                 regulator-state-mem {
496                                         regulator-off-in-suspend;
497                                 };
498                         };
499
500                         ldo32_reg: LDO32 {
501                                 regulator-name = "VDD_TOUCH_IO";
502                                 regulator-min-microvolt = <1800000>;
503                                 regulator-max-microvolt = <1800000>;
504
505                                 regulator-state-mem {
506                                         regulator-off-in-suspend;
507                                 };
508                         };
509
510                         ldo33_reg: LDO33 {
511                                 regulator-name = "VDD_MHL_1V8";
512                                 regulator-min-microvolt = <1800000>;
513                                 regulator-max-microvolt = <1800000>;
514
515                                 regulator-state-mem {
516                                         regulator-off-in-suspend;
517                                 };
518                         };
519
520                         ldo34_reg: LDO34 {
521                                 regulator-name = "VDD_HRM_3V3";
522                                 regulator-min-microvolt = <3300000>;
523                                 regulator-max-microvolt = <3300000>;
524
525                                 regulator-state-mem {
526                                         regulator-off-in-suspend;
527                                 };
528                         };
529
530                         ldo35_reg: LDO35 {
531                                 regulator-name = "VDD_SIL";
532                                 regulator-min-microvolt = <1200000>;
533                                 regulator-max-microvolt = <1200000>;
534
535                                 regulator-state-mem {
536                                         regulator-off-in-suspend;
537                                 };
538                         };
539
540                         ldo36_reg: LDO36 {
541                                 /* Unused */
542                                 regulator-name = "VDD_LDO36";
543                                 regulator-min-microvolt = <800000>;
544                                 regulator-max-microvolt = <3950000>;
545                         };
546
547                         ldo37_reg: LDO37 {
548                                 /* Unused */
549                                 regulator-name = "VDD_LDO37";
550                                 regulator-min-microvolt = <800000>;
551                                 regulator-max-microvolt = <3950000>;
552                         };
553
554                         ldo38_reg: LDO38 {
555                                 regulator-name = "VDD_KEY_LED";
556                                 regulator-min-microvolt = <3300000>;
557                                 regulator-max-microvolt = <3300000>;
558
559                                 regulator-state-mem {
560                                         regulator-off-in-suspend;
561                                 };
562                         };
563                 };
564         };
565 };
566
567 &i2c_0 {
568         status = "okay";
569
570         touchscreen@20 {
571                 compatible = "syna,rmi4-i2c";
572                 reg = <0x20>;
573                 interrupt-parent = <&gpx1>;
574                 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
575                 vio-supply = <&ldo32_reg>;
576                 vdd-supply = <&tsp_vdd>;
577                 syna,startup-delay-ms = <100>;
578
579                 pinctrl-0 = <&touch_irq>;
580                 pinctrl-names = "default";
581
582                 #address-cells = <1>;
583                 #size-cells = <0>;
584
585                 rmi4-f01@1 {
586                         reg = <0x1>;
587                         syna,nosleep-mode = <1>;
588                 };
589
590                 rmi4-f12@12 {
591                         reg = <0x12>;
592                         syna,sensor-type = <1>;
593                 };
594         };
595 };
596
597 /* eMMC flash */
598 &mmc_0 {
599         status = "okay";
600         mmc-hs200-1_8v;
601         cap-mmc-highspeed;
602         non-removable;
603         clock-frequency = <400000000>;
604         samsung,dw-mshc-ciu-div = <3>;
605         samsung,dw-mshc-sdr-timing = <0 4>;
606         samsung,dw-mshc-ddr-timing = <0 2>;
607         samsung,dw-mshc-hs400-timing = <0 2>;
608         samsung,read-strobe-delay = <90>;
609         pinctrl-names = "default";
610         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
611         bus-width = <8>;
612 };
613
614 &pinctrl_0 {
615         s2mps11_irq: s2mps11-irq-pins {
616                 samsung,pins = "gpx0-7";
617                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
618                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
619                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
620         };
621
622         touch_irq: touch-irq-pins {
623                 samsung,pins = "gpx1-6";
624                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
625         };
626 };
627
628 &rtc {
629         status = "okay";
630         clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
631         clock-names = "rtc", "rtc_src";
632 };
633
634 &timer {
635         arm,cpu-registers-not-fw-configured;
636 };
637
638 &tmu_cpu0 {
639         vtmu-supply = <&ldo10_reg>;
640 };
641
642 &tmu_cpu1 {
643         vtmu-supply = <&ldo10_reg>;
644 };
645
646 &tmu_cpu2 {
647         vtmu-supply = <&ldo10_reg>;
648 };
649
650 &tmu_cpu3 {
651         vtmu-supply = <&ldo10_reg>;
652 };
653
654 &tmu_gpu {
655         vtmu-supply = <&ldo10_reg>;
656 };
657
658 &usbdrd_dwc3_0 {
659         dr_mode = "peripheral";
660 };
661
662 &usbdrd_dwc3_1 {
663         dr_mode = "peripheral";
664 };
665
666 &usbdrd3_0 {
667         vdd33-supply = <&ldo9_reg>;
668         vdd10-supply = <&ldo11_reg>;
669 };
670
671 &usbdrd3_1 {
672         vdd33-supply = <&ldo9_reg>;
673         vdd10-supply = <&ldo11_reg>;
674 };