1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Samsung's Exynos4210 based Galaxy S2 (GT-I9 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., 6 * http://www.samsung.com 7 * Copyright (c) 2020 Stenkin Evgeniy <stenkine 8 * Copyright (c) 2020 Paul Cercueil <paul@crapo 9 */ 10 11 /dts-v1/; 12 #include "exynos4210.dtsi" 13 #include "exynos4412-ppmu-common.dtsi" 14 15 #include <dt-bindings/gpio/gpio.h> 16 #include <dt-bindings/input/linux-event-codes. 17 18 / { 19 model = "Samsung Galaxy S2 (GT-I9100)" 20 compatible = "samsung,i9100", "samsung 21 chassis-type = "handset"; 22 23 memory@40000000 { 24 device_type = "memory"; 25 reg = <0x40000000 0x40000000>; 26 }; 27 28 aliases { 29 mmc0 = &sdhci_0; 30 mmc1 = &sdhci_2; 31 mmc2 = &sdhci_3; 32 }; 33 34 chosen { 35 stdout-path = "serial2:115200n 36 }; 37 38 vemmc_reg: regulator-0 { 39 compatible = "regulator-fixed" 40 regulator-name = "VMEM_VDD_2.8 41 regulator-min-microvolt = <280 42 regulator-max-microvolt = <280 43 gpio = <&gpk0 2 GPIO_ACTIVE_HI 44 enable-active-high; 45 }; 46 47 tsp_reg: regulator-1 { 48 compatible = "regulator-fixed" 49 regulator-name = "TSP_FIXED_VO 50 regulator-min-microvolt = <330 51 regulator-max-microvolt = <330 52 gpio = <&gpl0 3 GPIO_ACTIVE_HI 53 startup-delay-us = <70000>; 54 enable-active-high; 55 regulator-boot-on; 56 regulator-always-on; 57 }; 58 59 cam_af_28v_reg: regulator-2 { 60 compatible = "regulator-fixed" 61 regulator-name = "8M_AF_2.8V_E 62 regulator-min-microvolt = <280 63 regulator-max-microvolt = <280 64 gpio = <&gpk1 1 GPIO_ACTIVE_HI 65 enable-active-high; 66 }; 67 68 cam_io_en_reg: regulator-3 { 69 compatible = "regulator-fixed" 70 regulator-name = "CAM_IO_EN"; 71 regulator-min-microvolt = <280 72 regulator-max-microvolt = <280 73 gpio = <&gpe2 1 GPIO_ACTIVE_HI 74 enable-active-high; 75 }; 76 77 cam_io_12v_reg: regulator-4 { 78 compatible = "regulator-fixed" 79 regulator-name = "8M_1.2V_EN"; 80 regulator-min-microvolt = <120 81 regulator-max-microvolt = <120 82 gpio = <&gpe2 5 GPIO_ACTIVE_HI 83 enable-active-high; 84 }; 85 86 vt_core_15v_reg: regulator-5 { 87 compatible = "regulator-fixed" 88 regulator-name = "VT_CORE_1.5V 89 regulator-min-microvolt = <150 90 regulator-max-microvolt = <150 91 gpio = <&gpe2 2 GPIO_ACTIVE_HI 92 enable-active-high; 93 }; 94 95 gpio-keys { 96 compatible = "gpio-keys"; 97 98 key-vol-down { 99 gpios = <&gpx2 1 GPIO_ 100 linux,code = <KEY_VOLU 101 label = "volume down"; 102 debounce-interval = <1 103 }; 104 105 key-vol-up { 106 gpios = <&gpx2 0 GPIO_ 107 linux,code = <KEY_VOLU 108 label = "volume up"; 109 debounce-interval = <1 110 }; 111 112 key-power { 113 gpios = <&gpx2 7 GPIO_ 114 linux,code = <KEY_POWE 115 label = "power"; 116 debounce-interval = <1 117 wakeup-source; 118 }; 119 120 key-ok { 121 gpios = <&gpx3 5 GPIO_ 122 linux,code = <KEY_OK>; 123 label = "ok"; 124 debounce-interval = <1 125 }; 126 }; 127 128 wlan_pwrseq: sdhci3-pwrseq { 129 compatible = "mmc-pwrseq-simpl 130 reset-gpios = <&gpl1 2 GPIO_AC 131 }; 132 133 i2c_max17042_fuel: i2c-gpio-0 { 134 compatible = "i2c-gpio"; 135 #address-cells = <1>; 136 #size-cells = <0>; 137 138 sda-gpios = <&gpy4 0 (GPIO_ACT 139 scl-gpios = <&gpy4 1 (GPIO_ACT 140 i2c-gpio,delay-us = <5>; 141 142 battery@36 { 143 compatible = "maxim,ma 144 145 interrupt-parent = <&g 146 interrupts = <3 IRQ_TY 147 148 pinctrl-0 = <&max17042 149 pinctrl-names = "defau 150 151 reg = <0x36>; 152 maxim,over-heat-temp = 153 maxim,over-volt = <450 154 }; 155 }; 156 157 i2c_s5k5baf: i2c-gpio-1 { 158 compatible = "i2c-gpio"; 159 #address-cells = <1>; 160 #size-cells = <0>; 161 162 sda-gpios = <&gpc1 0 (GPIO_ACT 163 scl-gpios = <&gpc1 2 (GPIO_ACT 164 i2c-gpio,delay-us = <2>; 165 166 image-sensor@2d { 167 compatible = "samsung, 168 reg = <0x2d>; 169 vdda-supply = <&cam_io 170 vddreg-supply = <&vt_c 171 vddio-supply = <&vtcam 172 clocks = <&camera 0>; 173 clock-names = "mclk"; 174 stbyn-gpios = <&gpl2 0 175 rstn-gpios = <&gpl2 1 176 clock-frequency = <240 177 178 port { 179 s5k5bafx_ep: e 180 remote 181 data-l 182 }; 183 }; 184 }; 185 }; 186 187 i2c-gpio-2 { 188 compatible = "i2c-gpio"; 189 #address-cells = <1>; 190 #size-cells = <0>; 191 192 sda-gpios = <&gpk1 2 (GPIO_ACT 193 scl-gpios = <&gpk1 0 (GPIO_ACT 194 i2c-gpio,delay-us = <2>; 195 196 touchscreen@20 { 197 compatible = "cypress, 198 reg = <0x20>; 199 200 interrupt-parent = <&g 201 interrupts = <5 IRQ_TY 202 203 vdd-supply = <&vtouchl 204 vcc-supply = <&vtouch_ 205 linux,keycodes = <KEY_ 206 }; 207 }; 208 209 spi-3 { 210 compatible = "spi-gpio"; 211 #address-cells = <1>; 212 #size-cells = <0>; 213 214 num-chipselects = <1>; 215 cs-gpios = <&gpy4 3 GPIO_ACTIV 216 sck-gpios = <&gpy3 1 GPIO_ACTI 217 mosi-gpios = <&gpy3 3 GPIO_ACT 218 219 lcd@0 { 220 compatible = "samsung, 221 reg = <0>; 222 223 spi-max-frequency = <1 224 225 vdd3-supply = <&vmipi_ 226 vci-supply = <&vcclcd_ 227 228 reset-gpios = <&gpy4 5 229 power-on-delay = <10>; 230 reset-delay = <10>; 231 232 panel-width-mm = <56>; 233 panel-height-mm = <93> 234 235 display-timings { 236 timing { 237 clock- 238 hactiv 239 vactiv 240 hback- 241 hfront 242 vback- 243 vfront 244 hsync- 245 vsync- 246 hsync- 247 vsync- 248 de-act 249 pixelc 250 }; 251 }; 252 253 port { 254 lcd_ep: endpoi 255 remote 256 }; 257 }; 258 }; 259 }; 260 261 fixed-rate-clocks { 262 xxti { 263 compatible = "samsung, 264 clock-frequency = <0>; 265 }; 266 267 xusbxti { 268 compatible = "samsung, 269 clock-frequency = <240 270 }; 271 272 pmic_ap_clk: pmic-ap-clk { 273 /* Workaround for miss 274 compatible = "fixed-cl 275 #clock-cells = <0>; 276 clock-frequency = <327 277 }; 278 }; 279 }; 280 281 &camera { 282 pinctrl-0 = <&cam_port_a_clk_active>; 283 pinctrl-names = "default"; 284 status = "okay"; 285 assigned-clocks = <&clock CLK_MOUT_CAM 286 assigned-clock-parents = <&clock CLK_X 287 }; 288 289 &csis_1 { 290 status = "okay"; 291 vddcore-supply = <&vusb_reg>; 292 vddio-supply = <&vmipi_reg>; 293 clock-frequency = <160000000>; 294 #address-cells = <1>; 295 #size-cells = <0>; 296 297 port@4 { 298 reg = <4>; 299 csis1_ep: endpoint { 300 remote-endpoint = <&s5 301 data-lanes = <1>; 302 samsung,csis-hs-settle 303 }; 304 }; 305 }; 306 307 &cpu0 { 308 cpu0-supply = <&varm_breg>; 309 }; 310 311 &cpu_thermal { 312 cooling-maps { 313 map0 { 314 /* Corresponds to 800M 315 cooling-device = <&cpu 316 }; 317 map1 { 318 /* Corresponds to 200M 319 cooling-device = <&cpu 320 }; 321 }; 322 }; 323 324 &ehci { 325 status = "okay"; 326 327 phys = <&exynos_usbphy 1>; 328 phy-names = "host"; 329 }; 330 331 &exynos_usbphy { 332 status = "okay"; 333 334 vbus-supply = <&safe1_sreg>; 335 }; 336 337 &fimc_0 { 338 status = "okay"; 339 340 assigned-clocks = <&clock CLK_MOUT_FIM 341 assigned-clock-parents = <&clock CLK_S 342 assigned-clock-rates = <0>, <160000000 343 }; 344 345 &fimc_1 { 346 /* Back camera not implemented */ 347 status = "disabled"; 348 349 assigned-clocks = <&clock CLK_MOUT_FIM 350 assigned-clock-parents = <&clock CLK_S 351 assigned-clock-rates = <0>, <160000000 352 }; 353 354 &fimc_2 { 355 status = "okay"; 356 357 assigned-clocks = <&clock CLK_MOUT_FIM 358 assigned-clock-parents = <&clock CLK_S 359 assigned-clock-rates = <0>, <160000000 360 }; 361 362 &fimc_3 { 363 /* Back camera not implemented */ 364 status = "disabled"; 365 366 assigned-clocks = <&clock CLK_MOUT_FIM 367 assigned-clock-parents = <&clock CLK_S 368 assigned-clock-rates = <0>, <160000000 369 }; 370 371 &fimd { 372 status = "okay"; 373 #address-cells = <1>; 374 #size-cells = <0>; 375 376 samsung,invert-vden; 377 samsung,invert-vclk; 378 379 pinctrl-0 = <&lcd_clk>, <&lcd_data24>; 380 pinctrl-names = "default"; 381 382 port@3 { 383 reg = <3>; 384 385 fimd_dpi_ep: endpoint { 386 remote-endpoint = <&lc 387 }; 388 }; 389 }; 390 391 &gpu { 392 status = "okay"; 393 394 mali-supply = <&vg3d_breg>; 395 }; 396 397 &hsotg { 398 status = "okay"; 399 400 dr_mode = "otg"; 401 vusb_d-supply = <&vusb_reg>; 402 vusb_a-supply = <&vusbdac_reg>; 403 }; 404 405 &i2c_1 { 406 status = "okay"; 407 408 samsung,i2c-sda-delay = <100>; 409 samsung,i2c-slave-addr = <0x10>; 410 samsung,i2c-max-bus-freq = <100000>; 411 412 lis3dh: accelerometer@19 { 413 compatible = "st,lis3dh-accel" 414 reg = <0x19>; 415 416 mount-matrix = "0", "-1", "0", 417 "1", "0", "0", 418 "0", "0", "1"; 419 }; 420 }; 421 422 &i2c_3 { 423 status = "okay"; 424 425 samsung,i2c-sda-delay = <100>; 426 samsung,i2c-slave-addr = <0x10>; 427 samsung,i2c-max-bus-freq = <100000>; 428 429 pinctrl-0 = <&i2c3_bus>; 430 pinctrl-names = "default"; 431 432 touchscreen@4a { 433 compatible = "atmel,maxtouch"; 434 reg = <0x4a>; 435 436 interrupt-parent = <&gpx0>; 437 interrupts = <4 IRQ_TYPE_EDGE_ 438 }; 439 }; 440 441 &i2c_5 { 442 status = "okay"; 443 444 samsung,i2c-sda-delay = <100>; 445 samsung,i2c-slave-addr = <0x10>; 446 samsung,i2c-max-bus-freq = <100000>; 447 448 pinctrl-0 = <&i2c5_bus>; 449 pinctrl-names = "default"; 450 451 pmic@66 { 452 compatible = "maxim,max8997-pm 453 reg = <0x66>; 454 455 interrupts-extended = <&gpx0 7 456 <&gpx2 3 457 458 max8997,pmic-buck1-uses-gpio-d 459 max8997,pmic-buck2-uses-gpio-d 460 max8997,pmic-buck5-uses-gpio-d 461 462 max8997,pmic-ignore-gpiodvs-si 463 max8997,pmic-buck125-default-d 464 465 max8997,pmic-buck125-dvs-gpios 466 467 468 469 max8997,pmic-buck1-dvs-voltage 470 471 472 473 474 max8997,pmic-buck2-dvs-voltage 475 476 477 478 479 max8997,pmic-buck5-dvs-voltage 480 481 482 483 484 pinctrl-0 = <&max8997_irq>, <& 485 pinctrl-names = "default"; 486 487 charger-supply = <&charger_reg 488 489 regulators { 490 vadc_reg: LDO1 { 491 regulator-name 492 regulator-min- 493 regulator-max- 494 regulator-alwa 495 496 }; 497 valive_reg: LDO2 { 498 regulator-name 499 regulator-min- 500 regulator-max- 501 regulator-alwa 502 503 }; 504 505 vusb_reg: LDO3 { 506 regulator-name 507 regulator-min- 508 regulator-max- 509 }; 510 511 vmipi_reg: LDO4 { 512 regulator-name 513 regulator-min- 514 regulator-max- 515 regulator-alwa 516 }; 517 518 vhsic_reg: LDO5 { 519 regulator-name 520 regulator-min- 521 regulator-max- 522 regulator-alwa 523 }; 524 525 vpda_reg: LDO6 { 526 regulator-name 527 regulator-min- 528 regulator-max- 529 regulator-alwa 530 }; 531 532 vcam_reg: LDO7 { 533 regulator-name 534 regulator-min- 535 regulator-max- 536 }; 537 538 vusbdac_reg: LDO8 { 539 regulator-name 540 regulator-min- 541 regulator-max- 542 }; 543 544 vccpda_reg: LDO9 { 545 regulator-name 546 regulator-min- 547 regulator-max- 548 regulator-alwa 549 }; 550 551 vtouch_reg: LDO11 { 552 regulator-name 553 regulator-min- 554 regulator-max- 555 }; 556 557 vpll_reg: LDO10 { 558 regulator-name 559 regulator-min- 560 regulator-max- 561 regulator-alwa 562 }; 563 564 vtcam_reg: LDO12 { 565 regulator-name 566 regulator-min- 567 regulator-max- 568 569 /* 570 * Force-enabl 571 * kernel hang 572 * for about 1 573 * reason. 574 */ 575 regulator-alwa 576 }; 577 578 vcclcd_reg: LDO13 { 579 regulator-name 580 regulator-min- 581 regulator-max- 582 }; 583 584 vmotor_reg: LDO14 { 585 regulator-name 586 regulator-min- 587 regulator-max- 588 }; 589 590 vled_reg: LDO15 { 591 regulator-name 592 regulator-min- 593 regulator-max- 594 }; 595 596 camsensor_reg: LDO16 { 597 regulator-name 598 regulator-min- 599 regulator-max- 600 }; 601 602 vtf_reg: LDO17 { 603 regulator-name 604 regulator-min- 605 regulator-max- 606 }; 607 608 vtouchled_reg: LDO18 { 609 regulator-name 610 regulator-min- 611 regulator-max- 612 }; 613 614 vddq_reg: LDO21 { 615 regulator-name 616 regulator-min- 617 regulator-max- 618 regulator-alwa 619 }; 620 621 varm_breg: BUCK1 { 622 regulator-name 623 regulator-min- 624 regulator-max- 625 regulator-alwa 626 }; 627 628 vint_breg: BUCK2 { 629 regulator-name 630 regulator-min- 631 regulator-max- 632 regulator-alwa 633 }; 634 635 vg3d_breg: BUCK3 { 636 regulator-name 637 regulator-min- 638 regulator-max- 639 regulator-micr 640 regulator-alwa 641 }; 642 643 camisp_breg: BUCK4 { 644 regulator-name 645 regulator-min- 646 regulator-max- 647 }; 648 649 vmem_breg: BUCK5 { 650 regulator-name 651 regulator-min- 652 regulator-max- 653 regulator-alwa 654 }; 655 656 vccsub_breg: BUCK7 { 657 regulator-name 658 regulator-min- 659 regulator-max- 660 regulator-alwa 661 }; 662 663 safe1_sreg: ESAFEOUT1 664 regulator-name 665 }; 666 667 safe2_sreg: ESAFEOUT2 668 regulator-name 669 regulator-boot 670 }; 671 672 EN32KHZ_AP { 673 regulator-name 674 regulator-alwa 675 }; 676 677 EN32KHZ_CP { 678 regulator-name 679 regulator-alwa 680 }; 681 682 charger_reg: CHARGER { 683 regulator-name 684 regulator-min- 685 regulator-max- 686 }; 687 688 chargercv_reg: CHARGER 689 regulator-name 690 regulator-min- 691 regulator-max- 692 regulator-alwa 693 }; 694 695 CHARGER_TOPOFF { 696 regulator-name 697 regulator-min- 698 regulator-max- 699 regulator-alwa 700 }; 701 }; 702 }; 703 }; 704 705 &i2c_7 { 706 status = "okay"; 707 708 samsung,i2c-sda-delay = <100>; 709 samsung,i2c-slave-addr = <0x10>; 710 samsung,i2c-max-bus-freq = <400000>; 711 712 pinctrl-0 = <&i2c7_bus>; 713 pinctrl-names = "default"; 714 715 magnetometer@c { 716 compatible = "asahi-kasei,ak89 717 reg = <0x0c>; 718 719 gpios = <&gpx2 2 GPIO_ACTIVE_H 720 }; 721 }; 722 723 &pinctrl_0 { 724 pinctrl-names = "default"; 725 pinctrl-0 = <&sleep0>; 726 727 sleep0: sleep-state { 728 gpa0-0-pin { 729 samsung,pins = "gpa0-0 730 samsung,pin-con-pdn = 731 samsung,pin-pud-pdn = 732 }; 733 734 gpa0-1-pin { 735 samsung,pins = "gpa0-1 736 samsung,pin-con-pdn = 737 samsung,pin-pud-pdn = 738 }; 739 740 gpa0-2-pin { 741 samsung,pins = "gpa0-2 742 samsung,pin-con-pdn = 743 samsung,pin-pud-pdn = 744 }; 745 746 gpa0-3-pin { 747 samsung,pins = "gpa0-3 748 samsung,pin-con-pdn = 749 samsung,pin-pud-pdn = 750 }; 751 }; 752 }; 753 754 &pinctrl_1 { 755 mhl_int: mhl-int-pins { 756 samsung,pins = "gpf3-5"; 757 samsung,pin-pud = <EXYNOS_PIN_ 758 }; 759 760 i2c_mhl_bus: i2c-mhl-bus-pins { 761 samsung,pins = "gpf0-4", "gpf0 762 samsung,pin-function = <EXYNOS 763 samsung,pin-pud = <EXYNOS_PIN_ 764 samsung,pin-drv = <EXYNOS4_PIN 765 }; 766 767 usb_sel: usb-sel-pins { 768 samsung,pins = "gpl0-6"; 769 samsung,pin-function = <EXYNOS 770 samsung,pin-pud = <EXYNOS_PIN_ 771 samsung,pin-drv = <EXYNOS4_PIN 772 samsung,pin-val = <0>; 773 }; 774 775 bt_en: bt-en-pins { 776 samsung,pins = "gpl0-4"; 777 samsung,pin-function = <EXYNOS 778 samsung,pin-pud = <EXYNOS_PIN_ 779 samsung,pin-drv = <EXYNOS4_PIN 780 samsung,pin-val = <0>; 781 }; 782 783 bt_res: bt-res-pins { 784 samsung,pins = "gpl1-0"; 785 samsung,pin-function = <EXYNOS 786 samsung,pin-pud = <EXYNOS_PIN_ 787 samsung,pin-drv = <EXYNOS4_PIN 788 samsung,pin-val = <0>; 789 }; 790 791 otg_gp: otg-gp-pins { 792 samsung,pins = "gpx3-3"; 793 samsung,pin-function = <EXYNOS 794 samsung,pin-pud = <EXYNOS_PIN_ 795 samsung,pin-drv = <EXYNOS4_PIN 796 samsung,pin-val = <0>; 797 }; 798 799 mag_mhl_gpio: mag-mhl-pins { 800 samsung,pins = "gpd0-2"; 801 samsung,pin-function = <EXYNOS 802 samsung,pin-pud = <EXYNOS_PIN_ 803 }; 804 805 max8997_irq: max8997-irq-pins { 806 samsung,pins = "gpx0-7"; 807 samsung,pin-pud = <EXYNOS_PIN_ 808 }; 809 810 max17042_fuel_irq: max17042-fuel-irq-p 811 samsung,pins = "gpx2-3"; 812 samsung,pin-pud = <EXYNOS_PIN_ 813 }; 814 815 tsp224_irq: tsp224-irq-pins { 816 samsung,pins = "gpx0-4"; 817 samsung,pin-pud = <EXYNOS_PIN_ 818 }; 819 }; 820 821 &rtc { 822 status = "okay"; 823 clocks = <&clock CLK_RTC>, <&pmic_ap_c 824 clock-names = "rtc", "rtc_src"; 825 }; 826 827 &sdhci_0 { 828 status = "okay"; 829 830 bus-width = <8>; 831 non-removable; 832 vmmc-supply = <&vemmc_reg>; 833 834 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <& 835 pinctrl-names = "default"; 836 }; 837 838 &sdhci_2 { 839 status = "okay"; 840 841 bus-width = <4>; 842 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; 843 vmmc-supply = <&vtf_reg>; 844 845 pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <& 846 pinctrl-names = "default"; 847 }; 848 849 &sdhci_3 { 850 status = "okay"; 851 852 #address-cells = <1>; 853 #size-cells = <0>; 854 855 non-removable; 856 bus-width = <4>; 857 mmc-pwrseq = <&wlan_pwrseq>; 858 vmmc-supply = <&vtf_reg>; 859 860 pinctrl-names = "default"; 861 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <& 862 863 brcmf: wifi@1 { 864 compatible = "brcm,bcm4330-fma 865 reg = <1>; 866 867 interrupt-parent = <&gpx2>; 868 interrupts = <5 IRQ_TYPE_LEVEL 869 interrupt-names = "host-wake"; 870 }; 871 }; 872 873 &serial_0 { 874 status = "okay"; 875 876 pinctrl-names = "default"; 877 pinctrl-0 = <&bt_en>, <&bt_res>, <&uar 878 879 bluetooth { 880 compatible = "brcm,bcm4330-bt" 881 882 shutdown-gpios = <&gpl0 4 GPIO 883 reset-gpios = <&gpl1 0 GPIO_AC 884 device-wakeup-gpios = <&gpx3 1 885 886 interrupt-parent = <&gpx2>; 887 interrupts = <6 IRQ_TYPE_EDGE_ 888 interrupt-names = "host-wakeup 889 }; 890 }; 891 892 &serial_1 { 893 status = "okay"; 894 }; 895 896 &serial_2 { 897 status = "okay"; 898 }; 899 900 &serial_3 { 901 status = "okay"; 902 }; 903 904 &tmu { 905 status = "okay"; 906 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.