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