1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Devicetree for the Samsung Galaxy Amp SGH-I 4 * 5 * The code also refers to "Kyle AT&T" reflect 6 * was customized for the AT&T subsidiary Aio 7 * offered by the company in 2013. 8 */ 9 10 /dts-v1/; 11 #include "ste-db8500.dtsi" 12 #include "ste-ab8505.dtsi" 13 #include "ste-dbx5x0-pinctrl.dtsi" 14 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/leds/common.h> 16 #include <dt-bindings/input/input.h> 17 #include <dt-bindings/interrupt-controller/irq 18 19 / { 20 model = "Samsung Galaxy Amp (SGH-I407) 21 compatible = "samsung,kyle", "st-erics 22 23 chosen { 24 stdout-path = &serial2; 25 }; 26 27 battery: battery { 28 compatible = "samsung,eb425161 29 }; 30 31 thermal-zones { 32 battery-thermal { 33 /* This zone will be p 34 polling-delay = <0>; 35 polling-delay-passive 36 thermal-sensors = <&ba 37 38 trips { 39 battery-crit-h 40 temper 41 hyster 42 type = 43 }; 44 }; 45 }; 46 }; 47 48 bat_therm: thermistor { 49 compatible = "samsung,1404-001 50 io-channels = <&gpadc 0x02>; / 51 pullup-uv = <1800000>; 52 pullup-ohm = <230000>; 53 pulldown-ohm = <0>; 54 #thermal-sensor-cells = <0>; 55 }; 56 57 /* TI TXS0206 level translator for 2.9 58 sd_level_translator: regulator-gpio { 59 compatible = "regulator-fixed" 60 61 /* GPIO87 EN */ 62 gpios = <&gpio2 23 GPIO_ACTIVE 63 enable-active-high; 64 65 regulator-name = "sd-level-tra 66 regulator-min-microvolt = <290 67 regulator-max-microvolt = <290 68 regulator-type = "voltage"; 69 70 startup-delay-us = <200>; 71 72 pinctrl-names = "default"; 73 pinctrl-0 = <&sd_level_transla 74 }; 75 76 /* External LDO MIC5366-3.3YMT for eMM 77 ldo_3v3_reg: regulator-gpio-ldo-3v3 { 78 compatible = "regulator-fixed" 79 regulator-name = "en-3v3-fixed 80 regulator-min-microvolt = <330 81 regulator-max-microvolt = <330 82 gpio = <&gpio6 31 GPIO_ACTIVE_ 83 startup-delay-us = <5000>; 84 enable-active-high; 85 pinctrl-names = "default"; 86 pinctrl-0 = <&emmc_ldo_en_defa 87 }; 88 89 /* 90 * External Ricoh RP152L010B-TR LCD LD 91 * LCD_PWR_EN controls both a 3.0V and 92 */ 93 lcd_3v0_reg: regulator-gpio-lcd-3v0 { 94 compatible = "regulator-fixed" 95 /* Supplied in turn by VBAT */ 96 regulator-name = "VREG_LCD_3V0 97 regulator-min-microvolt = <300 98 regulator-max-microvolt = <300 99 /* GPIO219 controls this regul 100 gpio = <&gpio6 27 GPIO_ACTIVE_ 101 enable-active-high; 102 pinctrl-names = "default"; 103 pinctrl-0 = <&lcd_pwr_en_defau 104 }; 105 lcd_1v8_reg: regulator-gpio-lcd-1v8 { 106 compatible = "regulator-fixed" 107 /* Supplied in turn by VBAT */ 108 regulator-name = "VREG_LCD_1V8 109 regulator-min-microvolt = <180 110 regulator-max-microvolt = <180 111 /* GPIO219 controls this regul 112 gpio = <&gpio6 27 GPIO_ACTIVE_ 113 enable-active-high; 114 pinctrl-names = "default"; 115 pinctrl-0 = <&lcd_pwr_en_defau 116 }; 117 118 wlan_en: regulator-gpio-wlan-en { 119 compatible = "regulator-fixed" 120 regulator-name = "wl-reg-on"; 121 regulator-min-microvolt = <300 122 regulator-max-microvolt = <300 123 startup-delay-us = <200000>; 124 /* GPIO215 WLAN_EN */ 125 gpio = <&gpio6 23 GPIO_ACTIVE_ 126 enable-active-high; 127 pinctrl-names = "default"; 128 pinctrl-0 = <&wlan_en_default_ 129 }; 130 131 vibrator { 132 compatible = "gpio-vibrator"; 133 enable-gpios = <&gpio6 3 GPIO_ 134 pinctrl-names = "default"; 135 pinctrl-0 = <&vibrator_default 136 }; 137 138 gpio-keys { 139 compatible = "gpio-keys"; 140 pinctrl-names = "default"; 141 pinctrl-0 = <&gpio_keys_defaul 142 143 button-home { 144 linux,code = <KEY_HOME 145 label = "HOME"; 146 /* GPIO91 */ 147 gpios = <&gpio2 27 GPI 148 }; 149 button-volup { 150 linux,code = <KEY_VOLU 151 label = "VOL+"; 152 /* GPIO67 */ 153 gpios = <&gpio2 3 GPIO 154 }; 155 button-voldown { 156 linux,code = <KEY_VOLU 157 label = "VOL-"; 158 /* GPIO92 */ 159 gpios = <&gpio2 28 GPI 160 }; 161 }; 162 163 ktd253: backlight { 164 compatible = "kinetic,ktd253"; 165 /* GPIO 69 */ 166 enable-gpios = <&gpio2 5 GPIO_ 167 /* Default to 13/32 brightness 168 default-brightness = <13>; 169 pinctrl-names = "default"; 170 pinctrl-0 = <&gpio_backlight_d 171 }; 172 173 /* Richtek RT8515GQW Flash LED Driver 174 flash { 175 compatible = "richtek,rt8515"; 176 /* GPIO 140 */ 177 enf-gpios = <&gpio4 12 GPIO_AC 178 /* GPIO 141 */ 179 ent-gpios = <&gpio4 13 GPIO_AC 180 /* 181 * RFS is 16 kOhm and RTS is 1 182 * the flash max current 343mA 183 * current 55 mA. 184 */ 185 richtek,rfs-ohms = <16000>; 186 richtek,rts-ohms = <100000>; 187 pinctrl-names = "default"; 188 pinctrl-0 = <&gpio_flash_defau 189 190 led { 191 function = LED_FUNCTIO 192 color = <LED_COLOR_ID_ 193 flash-max-timeout-us = 194 flash-max-microamp = < 195 led-max-microamp = <55 196 }; 197 }; 198 199 i2c-gpio-0 { 200 compatible = "i2c-gpio"; 201 sda-gpios = <&gpio4 16 (GPIO_A 202 scl-gpios = <&gpio4 15 (GPIO_A 203 pinctrl-names = "default"; 204 pinctrl-0 = <&i2c_gpio_0_defau 205 #address-cells = <1>; 206 #size-cells = <0>; 207 /* TODO: this should be used b 208 }; 209 210 i2c-gpio-1 { 211 compatible = "i2c-gpio"; 212 sda-gpios = <&gpio4 24 (GPIO_A 213 scl-gpios = <&gpio4 23 (GPIO_A 214 pinctrl-names = "default"; 215 pinctrl-0 = <&i2c_gpio_1_defau 216 #address-cells = <1>; 217 #size-cells = <0>; 218 magnetometer@c { 219 compatible = "alps,hsc 220 reg = <0x0c>; 221 avdd-supply = <&ab8500 222 dvdd-supply = <&ab8500 223 }; 224 }; 225 226 soc { 227 // External Micro SD slot 228 mmc@80126000 { 229 arm,primecell-periphid 230 max-frequency = <10000 231 bus-width = <4>; 232 cap-sd-highspeed; 233 cap-mmc-highspeed; 234 st,sig-pin-fbclk; 235 full-pwr-cycle; 236 vmmc-supply = <&ab8500 237 vqmmc-supply = <&sd_le 238 pinctrl-names = "defau 239 pinctrl-0 = <&mc0_a_1_ 240 pinctrl-1 = <&mc0_a_1_ 241 cd-gpios = <&gpio6 25 242 status = "okay"; 243 }; 244 245 // WLAN SDIO channel 246 mmc@80118000 { 247 arm,primecell-periphid 248 max-frequency = <50000 249 bus-width = <4>; 250 non-removable; 251 cap-sd-highspeed; 252 vmmc-supply = <&wlan_e 253 pinctrl-names = "defau 254 pinctrl-0 = <&mc1_a_2_ 255 pinctrl-1 = <&mc1_a_2_ 256 status = "okay"; 257 #address-cells = <1>; 258 #size-cells = <0>; 259 260 wifi@1 { 261 compatible = " 262 reg = <1>; 263 /* GPIO216 WL_ 264 interrupt-pare 265 interrupts = < 266 interrupt-name 267 pinctrl-names 268 pinctrl-0 = <& 269 }; 270 }; 271 272 /* 273 * eMMC seems to be mostly Sam 274 */ 275 mmc@80005000 { 276 arm,primecell-periphid 277 max-frequency = <10000 278 bus-width = <8>; 279 non-removable; 280 cap-mmc-highspeed; 281 mmc-ddr-1_8v; 282 no-sdio; 283 no-sd; 284 /* From datasheet page 285 post-power-on-delay-ms 286 vmmc-supply = <&ldo_3v 287 pinctrl-names = "defau 288 pinctrl-0 = <&mc2_a_1_ 289 pinctrl-1 = <&mc2_a_1_ 290 291 status = "okay"; 292 }; 293 294 /* GBF (Bluetooth) UART */ 295 serial@80120000 { 296 pinctrl-names = "defau 297 pinctrl-0 = <&u0_a_1_d 298 pinctrl-1 = <&u0_a_1_s 299 status = "okay"; 300 301 bluetooth { 302 /* BCM4334B0 a 303 compatible = " 304 shutdown-gpios 305 device-wakeup- 306 host-wakeup-gp 307 pinctrl-names 308 pinctrl-0 = <& 309 }; 310 }; 311 312 /* GPF UART */ 313 serial@80121000 { 314 status = "okay"; 315 pinctrl-names = "defau 316 pinctrl-0 = <&u1rxtx_a 317 pinctrl-1 = <&u1rxtx_a 318 319 gnss { 320 /* The CSRG05T 321 compatible = " 322 /* GPS_RSTN on 323 reset-gpios = 324 /* GPS_ON_OFF 325 sirf,onoff-gpi 326 /* GPS_1V8 (VS 327 vcc-supply = < 328 pinctrl-names 329 pinctrl-0 = <& 330 /* According t 331 current-speed 332 }; 333 }; 334 335 /* Debugging console UART conn 336 serial@80007000 { 337 status = "okay"; 338 pinctrl-names = "defau 339 pinctrl-0 = <&u2rxtx_c 340 pinctrl-1 = <&u2rxtx_c 341 }; 342 343 prcmu@80157000 { 344 ab8505 { 345 phy { 346 pinctr 347 pinctr 348 pinctr 349 }; 350 351 ab8500_fg { 352 line-i 353 }; 354 355 regulator { 356 ab8500 357 358 359 360 361 }; 362 363 ab8500 364 365 366 367 368 }; 369 370 ab8500 371 372 373 374 375 }; 376 377 ab8500 378 379 380 381 382 }; 383 384 ab8500 385 386 387 388 389 }; 390 391 ab8500 392 393 394 395 396 }; 397 398 ab8500 399 400 401 }; 402 }; 403 }; 404 }; 405 406 /* I2C0 */ 407 i2c@80004000 { 408 status = "okay"; 409 410 pinctrl-names = "defau 411 pinctrl-0 = <&i2c0_a_1 412 pinctrl-1 = <&i2c0_a_1 413 414 proximity@44 { 415 compatible = " 416 clock-frequenc 417 reg = <0x44>; 418 419 interrupt-pare 420 interrupts = < 421 vdd-supply = < 422 vio-supply = < 423 pinctrl-names 424 pinctrl-0 = <& 425 sharp,proximit 426 sharp,proximit 427 }; 428 }; 429 430 /* I2C2 */ 431 i2c@80128000 { 432 status = "okay"; 433 434 pinctrl-names = "defau 435 pinctrl-0 = <&i2c2_b_2 436 pinctrl-1 = <&i2c2_b_2 437 438 accel@18 { 439 compatible = " 440 clock-frequenc 441 reg = <0x18>; 442 443 mount-matrix = 444 445 446 vdd-supply = < 447 vddio-supply = 448 }; 449 }; 450 451 /* I2C3 */ 452 i2c@80110000 { 453 status = "okay"; 454 455 pinctrl-names = "defau 456 pinctrl-0 = <&i2c3_c_2 457 pinctrl-1 = <&i2c3_c_2 458 459 /* Melfas MMS134S touc 460 touchscreen@48 { 461 compatible = " 462 reg = <0x48>; 463 /* GPIO218 for 464 interrupt-pare 465 interrupts = < 466 /* AVDD is "an 467 avdd-supply = 468 /* VDD is "dig 469 vdd-supply = < 470 471 touchscreen-si 472 touchscreen-si 473 474 pinctrl-names 475 pinctrl-0 = <& 476 }; 477 }; 478 479 mcde@a0350000 { 480 status = "okay"; 481 pinctrl-names = "defau 482 pinctrl-0 = <&dsi_defa 483 484 dsi@a0351000 { 485 panel { 486 /* 487 * NT3 488 * App 489 * her 490 * mod 491 */ 492 compat 493 reg = 494 /* v_l 495 vdd-su 496 /* v_l 497 vddi-s 498 /* GPI 499 reset- 500 pinctr 501 pinctr 502 backli 503 }; 504 }; 505 }; 506 }; 507 }; 508 509 &pinctrl { 510 /* 511 * This extends the MC0_A_1 default co 512 * the card detect GPIO217 line. 513 */ 514 sdi0 { 515 mc0_a_1_default { 516 default_cfg1 { 517 /* GPIO18, 19 518 ste,config = < 519 }; 520 default_cfg4 { 521 pins = "GPIO21 522 ste,config = < 523 }; 524 }; 525 }; 526 527 mcde { 528 dsi_default_mode: dsi_default 529 default_mux1 { 530 /* Mux in VSI0 531 function = "lc 532 groups = "lcdv 533 }; 534 default_cfg1 { 535 pins = "GPIO68 536 ste,config = < 537 }; 538 }; 539 }; 540 541 /* Two GPIO lines used by the display 542 display { 543 display_default_mode: display_ 544 kyle_cfg1 { 545 /* 546 * OLED DETECT 547 * on "PBA" wh 548 */ 549 pins = "GPIO93 550 ste,config = < 551 }; 552 kyle_cfg2 { 553 pins = "GPIO13 554 /* 555 * MIPI_DSI0_R 556 * (de-asserte 557 * from the di 558 */ 559 ste,config = < 560 }; 561 }; 562 }; 563 564 /* GPIO that enables the LDO regulator 565 lcd-ldo { 566 lcd_pwr_en_default_mode: lcd_p 567 /* LCD_PWR_EN on GPIO2 568 kyle_cfg1 { 569 pins = "GPIO21 570 ste,config = < 571 }; 572 }; 573 }; 574 575 backlight { 576 gpio_backlight_default_mode: b 577 kyle_cfg1 { 578 pins = "GPIO69 579 ste,config = < 580 }; 581 }; 582 }; 583 flash { 584 gpio_flash_default_mode: flash 585 kyle_cfg1 { 586 pins = "GPIO14 587 ste,config = < 588 }; 589 }; 590 }; 591 /* GPIO that enables the 2.9V SD card 592 sd-level-translator { 593 sd_level_translator_default: s 594 /* level shifter on GP 595 kyle_cfg1 { 596 pins = "GPIO87 597 ste,config = < 598 }; 599 }; 600 }; 601 /* GPIO that enables the LDO regulator 602 emmc-ldo { 603 emmc_ldo_en_default_mode: emmc 604 /* LDO enable on GPIO2 605 kyle_cfg1 { 606 pins = "GPIO22 607 ste,config = < 608 }; 609 }; 610 }; 611 /* GPIO keys */ 612 gpio-keys { 613 gpio_keys_default_mode: gpio_k 614 kyle_cfg1 { 615 pins = "GPIO67 616 "GPIO91 617 "GPIO92 618 ste,co 619 }; 620 }; 621 }; 622 /* Interrupt line for light/proximity 623 gp2ap002 { 624 gp2ap002_kyle_default: gp2ap00 625 kyle_cfg1 { 626 pins = "GPIO14 627 ste,config = < 628 }; 629 }; 630 }; 631 /* GPIO-based I2C bus for NCP6914 */ 632 i2c-gpio-0 { 633 i2c_gpio_0_default: i2c_gpio_0 634 kyle_cfg1 { 635 pins = "GPIO14 636 ste,config = < 637 }; 638 }; 639 }; 640 /* GPIO-based I2C bus for ALPS HSCD co 641 i2c-gpio-1 { 642 i2c_gpio_1_default: i2c_gpio_1 643 kyle_cfg1 { 644 pins = "GPIO15 645 ste,config = < 646 }; 647 }; 648 }; 649 wlan { 650 wlan_default_mode: wlan_defaul 651 kyle_cfg1 { 652 pins = "GPIO21 653 ste,config = < 654 }; 655 }; 656 wlan_en_default_mode: wlan_en_ 657 kyle_cfg2 { 658 pins = "GPIO21 659 ste,config = < 660 }; 661 }; 662 }; 663 bluetooth { 664 bluetooth_default_mode: blueto 665 kyle_cfg1 { 666 pins = "GPIO19 667 ste,config = < 668 }; 669 kyle_cfg2 { 670 pins = "GPIO97 671 ste,config = < 672 }; 673 }; 674 }; 675 vibrator { 676 vibrator_default: vibrator_def 677 kyle_cfg1 { 678 pins = "GPIO19 679 ste,config = < 680 }; 681 }; 682 }; 683 /* Interrupt line for the Melfas MMS13 684 touchscreen { 685 mms134s_kyle_default: mms134s_ 686 kyle_cfg1 { 687 pins = "GPIO21 688 ste,config = < 689 }; 690 }; 691 }; 692 g05ta03 { 693 g05ta03_kyle_default: g05ta03 694 /* Reset line, start o 695 kyle_cfg1 { 696 pins = "GPIO21 697 ste,config = < 698 }; 699 /* GPS_ON_OFF, start o 700 kyle_cfg2 { 701 pins = "GPIO86 702 ste,config = < 703 }; 704 }; 705 }; 706 }; 707 708 &ab8505_gpio { 709 /* Hog a few default settings */ 710 pinctrl-names = "default"; 711 pinctrl-0 = <&gpio_default>; 712 713 gpio { 714 gpio_default: gpio_default { 715 kyle_mux { 716 /* Change unus 717 function = "gp 718 groups = "gpio 719 "gpio 720 }; 721 kyle_cfg1 { 722 pins = "GPIO11 723 bias-disable; 724 }; 725 }; 726 }; 727 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.