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 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}; 680