qcom-msm8974-lge-nexus5-hammerhead.dts (11324B)
1// SPDX-License-Identifier: GPL-2.0 2#include "qcom-msm8974.dtsi" 3#include "qcom-pm8841.dtsi" 4#include "qcom-pm8941.dtsi" 5#include <dt-bindings/input/input.h> 6#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 7 8/ { 9 model = "LGE MSM 8974 HAMMERHEAD"; 10 compatible = "lge,hammerhead", "qcom,msm8974"; 11 12 aliases { 13 serial0 = &blsp1_uart1; 14 serial1 = &blsp2_uart4; 15 }; 16 17 chosen { 18 stdout-path = "serial0:115200n8"; 19 }; 20 21 gpio-keys { 22 compatible = "gpio-keys"; 23 24 pinctrl-names = "default"; 25 pinctrl-0 = <&gpio_keys_pin_a>; 26 27 volume-up { 28 label = "volume_up"; 29 gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>; 30 linux,input-type = <1>; 31 linux,code = <KEY_VOLUMEUP>; 32 }; 33 34 volume-down { 35 label = "volume_down"; 36 gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>; 37 linux,input-type = <1>; 38 linux,code = <KEY_VOLUMEDOWN>; 39 }; 40 }; 41 42 vreg_wlan: wlan-regulator { 43 compatible = "regulator-fixed"; 44 45 regulator-name = "wl-reg"; 46 regulator-min-microvolt = <3300000>; 47 regulator-max-microvolt = <3300000>; 48 49 gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>; 50 enable-active-high; 51 52 pinctrl-names = "default"; 53 pinctrl-0 = <&wlan_regulator_pin>; 54 }; 55}; 56 57&blsp1_i2c1 { 58 status = "okay"; 59 clock-frequency = <100000>; 60 61 charger: bq24192@6b { 62 compatible = "ti,bq24192"; 63 reg = <0x6b>; 64 interrupts-extended = <&spmi_bus 0 0xd5 0 IRQ_TYPE_EDGE_FALLING>; 65 66 omit-battery-class; 67 68 usb_otg_vbus: usb-otg-vbus { }; 69 }; 70 71 fuelgauge: max17048@36 { 72 compatible = "maxim,max17048"; 73 reg = <0x36>; 74 75 maxim,double-soc; 76 maxim,rcomp = /bits/ 8 <0x4d>; 77 78 interrupt-parent = <&tlmm>; 79 interrupts = <9 IRQ_TYPE_LEVEL_LOW>; 80 81 pinctrl-names = "default"; 82 pinctrl-0 = <&fuelgauge_pin>; 83 84 maxim,alert-low-soc-level = <2>; 85 }; 86}; 87 88&blsp1_i2c2 { 89 status = "okay"; 90 clock-frequency = <355000>; 91 92 synaptics@70 { 93 compatible = "syna,rmi4-i2c"; 94 reg = <0x70>; 95 96 interrupts-extended = <&tlmm 5 IRQ_TYPE_EDGE_FALLING>; 97 vdd-supply = <&pm8941_l22>; 98 vio-supply = <&pm8941_lvs3>; 99 100 pinctrl-names = "default"; 101 pinctrl-0 = <&touch_pin>; 102 103 #address-cells = <1>; 104 #size-cells = <0>; 105 106 rmi4-f01@1 { 107 reg = <0x1>; 108 syna,nosleep-mode = <1>; 109 }; 110 111 rmi4-f12@12 { 112 reg = <0x12>; 113 syna,sensor-type = <1>; 114 }; 115 }; 116}; 117 118&blsp1_i2c3 { 119 status = "okay"; 120 clock-frequency = <100000>; 121 122 avago_apds993@39 { 123 compatible = "avago,apds9930"; 124 reg = <0x39>; 125 interrupts-extended = <&tlmm 61 IRQ_TYPE_EDGE_FALLING>; 126 vdd-supply = <&pm8941_l17>; 127 vddio-supply = <&pm8941_lvs1>; 128 led-max-microamp = <100000>; 129 amstaos,proximity-diodes = <0>; 130 }; 131}; 132 133&blsp2_i2c5 { 134 status = "okay"; 135 clock-frequency = <355000>; 136 137 led-controller@38 { 138 compatible = "ti,lm3630a"; 139 status = "okay"; 140 reg = <0x38>; 141 142 #address-cells = <1>; 143 #size-cells = <0>; 144 145 led@0 { 146 reg = <0>; 147 led-sources = <0 1>; 148 label = "lcd-backlight"; 149 default-brightness = <200>; 150 }; 151 }; 152}; 153 154&blsp2_i2c6 { 155 status = "okay"; 156 clock-frequency = <100000>; 157 158 mpu6515@68 { 159 compatible = "invensense,mpu6515"; 160 reg = <0x68>; 161 interrupts-extended = <&tlmm 73 IRQ_TYPE_EDGE_FALLING>; 162 vddio-supply = <&pm8941_lvs1>; 163 164 pinctrl-names = "default"; 165 pinctrl-0 = <&mpu6515_pin>; 166 167 mount-matrix = "0", "-1", "0", 168 "-1", "0", "0", 169 "0", "0", "1"; 170 171 i2c-gate { 172 #address-cells = <1>; 173 #size-cells = <0>; 174 ak8963@f { 175 compatible = "asahi-kasei,ak8963"; 176 reg = <0x0f>; 177 gpios = <&tlmm 67 0>; 178 vid-supply = <&pm8941_lvs1>; 179 vdd-supply = <&pm8941_l17>; 180 }; 181 182 bmp280@76 { 183 compatible = "bosch,bmp280"; 184 reg = <0x76>; 185 vdda-supply = <&pm8941_lvs1>; 186 vddd-supply = <&pm8941_l17>; 187 }; 188 }; 189 }; 190}; 191 192&blsp1_uart1 { 193 status = "okay"; 194}; 195 196&blsp2_uart4 { 197 status = "okay"; 198 199 bluetooth { 200 compatible = "brcm,bcm43438-bt"; 201 max-speed = <3000000>; 202 203 pinctrl-names = "default"; 204 pinctrl-0 = <&bt_pin>; 205 206 host-wakeup-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; 207 device-wakeup-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; 208 shutdown-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>; 209 }; 210}; 211 212&dsi0 { 213 status = "okay"; 214 215 vdda-supply = <&pm8941_l2>; 216 vdd-supply = <&pm8941_lvs3>; 217 vddio-supply = <&pm8941_l12>; 218 219 panel: panel@0 { 220 reg = <0>; 221 compatible = "lg,acx467akm-7"; 222 223 pinctrl-names = "default"; 224 pinctrl-0 = <&panel_pin>; 225 226 port { 227 panel_in: endpoint { 228 remote-endpoint = <&dsi0_out>; 229 }; 230 }; 231 }; 232}; 233 234&dsi0_out { 235 remote-endpoint = <&panel_in>; 236 data-lanes = <0 1 2 3>; 237}; 238 239&dsi0_phy { 240 status = "okay"; 241 242 vddio-supply = <&pm8941_l12>; 243}; 244 245&mdss { 246 status = "okay"; 247}; 248 249&otg { 250 status = "okay"; 251 252 phys = <&usb_hs1_phy>; 253 phy-select = <&tcsr 0xb000 0>; 254 255 extcon = <&charger>, <&usb_id>; 256 vbus-supply = <&usb_otg_vbus>; 257 258 hnp-disable; 259 srp-disable; 260 adp-disable; 261 262 ulpi { 263 phy@a { 264 status = "okay"; 265 266 v1p8-supply = <&pm8941_l6>; 267 v3p3-supply = <&pm8941_l24>; 268 269 qcom,init-seq = /bits/ 8 <0x1 0x64>; 270 }; 271 }; 272}; 273 274&pm8941_gpios { 275 gpio_keys_pin_a: gpio-keys-active { 276 pins = "gpio2", "gpio3"; 277 function = "normal"; 278 279 bias-pull-up; 280 power-source = <PM8941_GPIO_S3>; 281 }; 282 283 fuelgauge_pin: fuelgauge-int { 284 pins = "gpio9"; 285 function = "normal"; 286 287 bias-disable; 288 input-enable; 289 power-source = <PM8941_GPIO_S3>; 290 }; 291 292 wlan_sleep_clk_pin: wl-sleep-clk { 293 pins = "gpio16"; 294 function = "func2"; 295 296 output-high; 297 power-source = <PM8941_GPIO_S3>; 298 }; 299 300 wlan_regulator_pin: wl-reg-active { 301 pins = "gpio17"; 302 function = "normal"; 303 304 bias-disable; 305 power-source = <PM8941_GPIO_S3>; 306 }; 307 308 otg { 309 gpio-hog; 310 gpios = <35 GPIO_ACTIVE_HIGH>; 311 output-high; 312 line-name = "otg-gpio"; 313 }; 314}; 315 316&rpm_requests { 317 pm8841-regulators { 318 compatible = "qcom,rpm-pm8841-regulators"; 319 320 pm8841_s1: s1 { 321 regulator-min-microvolt = <675000>; 322 regulator-max-microvolt = <1050000>; 323 }; 324 325 pm8841_s2: s2 { 326 regulator-min-microvolt = <500000>; 327 regulator-max-microvolt = <1050000>; 328 }; 329 330 pm8841_s3: s3 { 331 regulator-min-microvolt = <1050000>; 332 regulator-max-microvolt = <1050000>; 333 }; 334 335 pm8841_s4: s4 { 336 regulator-min-microvolt = <815000>; 337 regulator-max-microvolt = <900000>; 338 }; 339 }; 340 341 pm8941-regulators { 342 compatible = "qcom,rpm-pm8941-regulators"; 343 344 vdd_l1_l3-supply = <&pm8941_s1>; 345 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 346 vdd_l4_l11-supply = <&pm8941_s1>; 347 vdd_l5_l7-supply = <&pm8941_s2>; 348 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 349 vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>; 350 vdd_l9_l10_l17_l22-supply = <&vreg_boost>; 351 vdd_l13_l20_l23_l24-supply = <&vreg_boost>; 352 vdd_l21-supply = <&vreg_boost>; 353 354 pm8941_s1: s1 { 355 regulator-min-microvolt = <1300000>; 356 regulator-max-microvolt = <1300000>; 357 regulator-always-on; 358 regulator-boot-on; 359 }; 360 361 pm8941_s2: s2 { 362 regulator-min-microvolt = <2150000>; 363 regulator-max-microvolt = <2150000>; 364 regulator-boot-on; 365 }; 366 367 pm8941_s3: s3 { 368 regulator-min-microvolt = <1800000>; 369 regulator-max-microvolt = <1800000>; 370 regulator-always-on; 371 regulator-boot-on; 372 }; 373 374 pm8941_l1: l1 { 375 regulator-min-microvolt = <1225000>; 376 regulator-max-microvolt = <1225000>; 377 regulator-always-on; 378 regulator-boot-on; 379 }; 380 381 pm8941_l2: l2 { 382 regulator-min-microvolt = <1200000>; 383 regulator-max-microvolt = <1200000>; 384 }; 385 386 pm8941_l3: l3 { 387 regulator-min-microvolt = <1225000>; 388 regulator-max-microvolt = <1225000>; 389 }; 390 391 pm8941_l4: l4 { 392 regulator-min-microvolt = <1225000>; 393 regulator-max-microvolt = <1225000>; 394 }; 395 396 pm8941_l5: l5 { 397 regulator-min-microvolt = <1800000>; 398 regulator-max-microvolt = <1800000>; 399 }; 400 401 pm8941_l6: l6 { 402 regulator-min-microvolt = <1800000>; 403 regulator-max-microvolt = <1800000>; 404 regulator-boot-on; 405 }; 406 407 pm8941_l7: l7 { 408 regulator-min-microvolt = <1800000>; 409 regulator-max-microvolt = <1800000>; 410 regulator-boot-on; 411 }; 412 413 pm8941_l8: l8 { 414 regulator-min-microvolt = <1800000>; 415 regulator-max-microvolt = <1800000>; 416 }; 417 418 pm8941_l9: l9 { 419 regulator-min-microvolt = <1800000>; 420 regulator-max-microvolt = <2950000>; 421 }; 422 423 pm8941_l10: l10 { 424 regulator-min-microvolt = <1800000>; 425 regulator-max-microvolt = <2950000>; 426 }; 427 428 pm8941_l11: l11 { 429 regulator-min-microvolt = <1300000>; 430 regulator-max-microvolt = <1300000>; 431 }; 432 433 pm8941_l12: l12 { 434 regulator-min-microvolt = <1800000>; 435 regulator-max-microvolt = <1800000>; 436 regulator-always-on; 437 regulator-boot-on; 438 }; 439 440 pm8941_l13: l13 { 441 regulator-min-microvolt = <1800000>; 442 regulator-max-microvolt = <2950000>; 443 regulator-boot-on; 444 }; 445 446 pm8941_l14: l14 { 447 regulator-min-microvolt = <1800000>; 448 regulator-max-microvolt = <1800000>; 449 }; 450 451 pm8941_l15: l15 { 452 regulator-min-microvolt = <2050000>; 453 regulator-max-microvolt = <2050000>; 454 }; 455 456 pm8941_l16: l16 { 457 regulator-min-microvolt = <2700000>; 458 regulator-max-microvolt = <2700000>; 459 }; 460 461 pm8941_l17: l17 { 462 regulator-min-microvolt = <2850000>; 463 regulator-max-microvolt = <2850000>; 464 }; 465 466 pm8941_l18: l18 { 467 regulator-min-microvolt = <2850000>; 468 regulator-max-microvolt = <2850000>; 469 }; 470 471 pm8941_l19: l19 { 472 regulator-min-microvolt = <3000000>; 473 regulator-max-microvolt = <3300000>; 474 }; 475 476 pm8941_l20: l20 { 477 regulator-min-microvolt = <2950000>; 478 regulator-max-microvolt = <2950000>; 479 regulator-system-load = <200000>; 480 regulator-allow-set-load; 481 regulator-boot-on; 482 }; 483 484 pm8941_l21: l21 { 485 regulator-min-microvolt = <2950000>; 486 regulator-max-microvolt = <2950000>; 487 regulator-boot-on; 488 }; 489 490 pm8941_l22: l22 { 491 regulator-min-microvolt = <3000000>; 492 regulator-max-microvolt = <3300000>; 493 }; 494 495 pm8941_l23: l23 { 496 regulator-min-microvolt = <3000000>; 497 regulator-max-microvolt = <3000000>; 498 }; 499 500 pm8941_l24: l24 { 501 regulator-min-microvolt = <3075000>; 502 regulator-max-microvolt = <3075000>; 503 regulator-boot-on; 504 }; 505 506 pm8941_lvs1: lvs1 {}; 507 pm8941_lvs3: lvs3 {}; 508 }; 509}; 510 511&sdhc_1 { 512 status = "okay"; 513 514 vmmc-supply = <&pm8941_l20>; 515 vqmmc-supply = <&pm8941_s3>; 516 517 pinctrl-names = "default", "sleep"; 518 pinctrl-0 = <&sdc1_on>; 519 pinctrl-1 = <&sdc1_off>; 520}; 521 522&sdhc_2 { 523 status = "okay"; 524 525 max-frequency = <100000000>; 526 vmmc-supply = <&vreg_wlan>; 527 vqmmc-supply = <&pm8941_s3>; 528 non-removable; 529 530 pinctrl-names = "default", "sleep"; 531 pinctrl-0 = <&sdc2_on>; 532 pinctrl-1 = <&sdc2_off>; 533 534 bcrmf@1 { 535 compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac"; 536 reg = <1>; 537 538 brcm,drive-strength = <10>; 539 540 pinctrl-names = "default"; 541 pinctrl-0 = <&wlan_sleep_clk_pin>; 542 }; 543}; 544 545&tlmm { 546 sdc1_on: sdc1-on { 547 clk { 548 pins = "sdc1_clk"; 549 drive-strength = <16>; 550 bias-disable; 551 }; 552 553 cmd-data { 554 pins = "sdc1_cmd", "sdc1_data"; 555 drive-strength = <10>; 556 bias-pull-up; 557 }; 558 }; 559 560 sdc2_on: sdc2-on { 561 clk { 562 pins = "sdc2_clk"; 563 drive-strength = <6>; 564 bias-disable; 565 }; 566 567 cmd-data { 568 pins = "sdc2_cmd", "sdc2_data"; 569 drive-strength = <6>; 570 bias-pull-up; 571 }; 572 }; 573 574 mpu6515_pin: mpu6515 { 575 pins = "gpio73"; 576 function = "gpio"; 577 bias-disable; 578 input-enable; 579 }; 580 581 touch_pin: touch { 582 int { 583 pins = "gpio5"; 584 function = "gpio"; 585 586 drive-strength = <2>; 587 bias-disable; 588 input-enable; 589 }; 590 591 reset { 592 pins = "gpio8"; 593 function = "gpio"; 594 595 drive-strength = <2>; 596 bias-pull-up; 597 }; 598 }; 599 600 panel_pin: panel { 601 pins = "gpio12"; 602 function = "mdp_vsync"; 603 drive-strength = <2>; 604 bias-disable; 605 }; 606 607 bt_pin: bt { 608 hostwake { 609 pins = "gpio42"; 610 function = "gpio"; 611 }; 612 613 devwake { 614 pins = "gpio62"; 615 function = "gpio"; 616 }; 617 618 shutdown { 619 pins = "gpio41"; 620 function = "gpio"; 621 }; 622 }; 623};