1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2020, Linaro Ltd. 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/leds/common.h> 9#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 10#include <dt-bindings/sound/qcom,q6afe.h> 11#include <dt-bindings/sound/qcom,q6asm.h> 12#include <dt-bindings/usb/pd.h> 13#include "sm8250.dtsi" 14#include "pm8150.dtsi" 15#include "pm8150b.dtsi" 16#include "pm8150l.dtsi" 17 18/ { 19 model = "Qualcomm Technologies, Inc. Robotics RB5"; 20 compatible = "qcom,qrb5165-rb5", "qcom,sm8250"; 21 qcom,msm-id = <455 0x20001>; 22 qcom,board-id = <11 3>; 23 24 aliases { 25 serial0 = &uart12; 26 sdhc2 = &sdhc_2; 27 }; 28 29 chosen { 30 stdout-path = "serial0:115200n8"; 31 }; 32 33 /* Fixed crystal oscillator dedicated to MCP2518FD */ 34 clk40M: can-clock { 35 compatible = "fixed-clock"; 36 #clock-cells = <0>; 37 clock-frequency = <40000000>; 38 }; 39 40 dc12v: dc12v-regulator { 41 compatible = "regulator-fixed"; 42 regulator-name = "DC12V"; 43 regulator-min-microvolt = <12000000>; 44 regulator-max-microvolt = <12000000>; 45 regulator-always-on; 46 }; 47 48 hdmi-out { 49 compatible = "hdmi-connector"; 50 type = "a"; 51 52 port { 53 hdmi_con: endpoint { 54 remote-endpoint = <<9611_out>; 55 }; 56 }; 57 }; 58 59 leds { 60 compatible = "gpio-leds"; 61 62 led-user4 { 63 label = "green:user4"; 64 function = LED_FUNCTION_INDICATOR; 65 color = <LED_COLOR_ID_GREEN>; 66 gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>; 67 linux,default-trigger = "panic-indicator"; 68 default-state = "off"; 69 }; 70 71 led-wlan { 72 label = "yellow:wlan"; 73 function = LED_FUNCTION_WLAN; 74 color = <LED_COLOR_ID_YELLOW>; 75 gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>; 76 linux,default-trigger = "phy0tx"; 77 default-state = "off"; 78 }; 79 80 led-bt { 81 label = "blue:bt"; 82 function = LED_FUNCTION_BLUETOOTH; 83 color = <LED_COLOR_ID_BLUE>; 84 gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>; 85 linux,default-trigger = "bluetooth-power"; 86 default-state = "off"; 87 }; 88 }; 89 90 lt9611_1v2: lt9611-vdd12-regulator { 91 compatible = "regulator-fixed"; 92 regulator-name = "LT9611_1V2"; 93 94 vin-supply = <&vdc_3v3>; 95 regulator-min-microvolt = <1200000>; 96 regulator-max-microvolt = <1200000>; 97 }; 98 99 lt9611_3v3: lt9611-3v3 { 100 compatible = "regulator-fixed"; 101 regulator-name = "LT9611_3V3"; 102 103 vin-supply = <&vdc_3v3>; 104 regulator-min-microvolt = <3300000>; 105 regulator-max-microvolt = <3300000>; 106 regulator-boot-on; 107 regulator-always-on; 108 }; 109 110 thermal-zones { 111 conn-thermal { 112 polling-delay-passive = <0>; 113 polling-delay = <0>; 114 thermal-sensors = <&pm8150b_adc_tm 0>; 115 116 trips { 117 active-config0 { 118 temperature = <125000>; 119 hysteresis = <1000>; 120 type = "critical"; 121 }; 122 }; 123 }; 124 125 pm8150l-pcb-thermal { 126 polling-delay-passive = <0>; 127 polling-delay = <0>; 128 thermal-sensors = <&pm8150l_adc_tm 1>; 129 130 trips { 131 active-config0 { 132 temperature = <50000>; 133 hysteresis = <4000>; 134 type = "passive"; 135 }; 136 }; 137 }; 138 139 skin-msm-thermal { 140 polling-delay-passive = <0>; 141 polling-delay = <0>; 142 thermal-sensors = <&pm8150l_adc_tm 0>; 143 144 trips { 145 active-config0 { 146 temperature = <50000>; 147 hysteresis = <4000>; 148 type = "passive"; 149 }; 150 }; 151 }; 152 153 wifi-thermal { 154 polling-delay-passive = <0>; 155 polling-delay = <0>; 156 thermal-sensors = <&pm8150_adc_tm 1>; 157 158 trips { 159 active-config0 { 160 temperature = <52000>; 161 hysteresis = <4000>; 162 type = "passive"; 163 }; 164 }; 165 }; 166 167 xo-thermal { 168 polling-delay-passive = <0>; 169 polling-delay = <0>; 170 thermal-sensors = <&pm8150_adc_tm 0>; 171 172 trips { 173 active-config0 { 174 temperature = <50000>; 175 hysteresis = <4000>; 176 type = "passive"; 177 }; 178 }; 179 }; 180 }; 181 182 vbat: vbat-regulator { 183 compatible = "regulator-fixed"; 184 regulator-name = "VBAT"; 185 vin-supply = <&vreg_l11c_3p3>; 186 regulator-min-microvolt = <4200000>; 187 regulator-max-microvolt = <4200000>; 188 regulator-always-on; 189 }; 190 191 vbat_som: vbat-som-regulator { 192 compatible = "regulator-fixed"; 193 regulator-name = "VBAT_SOM"; 194 vin-supply = <&dc12v>; 195 regulator-min-microvolt = <4200000>; 196 regulator-max-microvolt = <4200000>; 197 regulator-always-on; 198 }; 199 200 vdc_3v3: vdc-3v3-regulator { 201 compatible = "regulator-fixed"; 202 regulator-name = "VDC_3V3"; 203 vin-supply = <&vreg_l11c_3p3>; 204 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <3300000>; 206 regulator-always-on; 207 }; 208 209 vdc_5v: vdc-5v-regulator { 210 compatible = "regulator-fixed"; 211 regulator-name = "VDC_5V"; 212 213 regulator-min-microvolt = <5000000>; 214 regulator-max-microvolt = <5000000>; 215 regulator-always-on; 216 vin-supply = <&vreg_l11c_3p3>; 217 }; 218 219 vph_pwr: vph-pwr-regulator { 220 compatible = "regulator-fixed"; 221 regulator-name = "vph_pwr"; 222 regulator-min-microvolt = <3700000>; 223 regulator-max-microvolt = <3700000>; 224 regulator-always-on; 225 }; 226 227 vreg_s4a_1p8: vreg-s4a-1p8 { 228 compatible = "regulator-fixed"; 229 regulator-name = "vreg_s4a_1p8"; 230 regulator-min-microvolt = <1800000>; 231 regulator-max-microvolt = <1800000>; 232 regulator-always-on; 233 }; 234}; 235 236&adsp { 237 status = "okay"; 238 firmware-name = "qcom/sm8250/adsp.mbn"; 239}; 240 241&apps_rsc { 242 regulators-0 { 243 compatible = "qcom,pm8009-1-rpmh-regulators"; 244 qcom,pmic-id = "f"; 245 246 vdd-s1-supply = <&vph_pwr>; 247 vdd-s2-supply = <&vph_pwr>; 248 vdd-l2-supply = <&vreg_s8c_1p3>; 249 vdd-l5-l6-supply = <&vreg_bob>; 250 vdd-l7-supply = <&vreg_s4a_1p8>; 251 252 vreg_s2f_0p95: smps2 { 253 regulator-name = "vreg_s2f_0p95"; 254 regulator-min-microvolt = <900000>; 255 regulator-max-microvolt = <952000>; 256 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 257 }; 258 259 vreg_l1f_1p1: ldo1 { 260 regulator-name = "vreg_l1f_1p1"; 261 regulator-min-microvolt = <1104000>; 262 regulator-max-microvolt = <1104000>; 263 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 264 }; 265 266 vreg_l2f_1p2: ldo2 { 267 regulator-name = "vreg_l2f_1p2"; 268 regulator-min-microvolt = <1200000>; 269 regulator-max-microvolt = <1200000>; 270 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 271 }; 272 273 vreg_l6f_2p8: ldo6 { 274 regulator-name = "vreg_l6f_2p8"; 275 regulator-min-microvolt = <2800000>; 276 regulator-max-microvolt = <2800000>; 277 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 278 }; 279 280 vreg_l7f_1p8: ldo7 { 281 regulator-name = "vreg_l7f_1p8"; 282 regulator-min-microvolt = <1800000>; 283 regulator-max-microvolt = <1800000>; 284 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 285 }; 286 }; 287 288 regulators-1 { 289 compatible = "qcom,pm8150-rpmh-regulators"; 290 qcom,pmic-id = "a"; 291 292 vdd-s1-supply = <&vph_pwr>; 293 vdd-s2-supply = <&vph_pwr>; 294 vdd-s3-supply = <&vph_pwr>; 295 vdd-s4-supply = <&vph_pwr>; 296 vdd-s5-supply = <&vph_pwr>; 297 vdd-s6-supply = <&vph_pwr>; 298 vdd-s7-supply = <&vph_pwr>; 299 vdd-s8-supply = <&vph_pwr>; 300 vdd-s9-supply = <&vph_pwr>; 301 vdd-s10-supply = <&vph_pwr>; 302 vdd-l2-l10-supply = <&vreg_bob>; 303 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>; 304 vdd-l6-l9-supply = <&vreg_s8c_1p3>; 305 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; 306 vdd-l13-l16-l17-supply = <&vreg_bob>; 307 308 vreg_l2a_3p1: ldo2 { 309 regulator-name = "vreg_l2a_3p1"; 310 regulator-min-microvolt = <3072000>; 311 regulator-max-microvolt = <3072000>; 312 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 313 }; 314 315 vreg_l3a_0p9: ldo3 { 316 regulator-name = "vreg_l3a_0p9"; 317 regulator-min-microvolt = <928000>; 318 regulator-max-microvolt = <932000>; 319 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 320 }; 321 322 vreg_l5a_0p88: ldo5 { 323 regulator-name = "vreg_l5a_0p88"; 324 regulator-min-microvolt = <880000>; 325 regulator-max-microvolt = <880000>; 326 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 327 }; 328 329 vreg_l6a_1p2: ldo6 { 330 regulator-name = "vreg_l6a_1p2"; 331 regulator-min-microvolt = <1200000>; 332 regulator-max-microvolt = <1200000>; 333 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 334 }; 335 336 vreg_l7a_1p7: ldo7 { 337 regulator-name = "vreg_l7a_1p7"; 338 regulator-min-microvolt = <1704000>; 339 regulator-max-microvolt = <1800000>; 340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 341 }; 342 343 vreg_l9a_1p2: ldo9 { 344 regulator-name = "vreg_l9a_1p2"; 345 regulator-min-microvolt = <1200000>; 346 regulator-max-microvolt = <1200000>; 347 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 348 }; 349 350 vreg_l10a_1p8: ldo10 { 351 regulator-name = "vreg_l10a_1p8"; 352 regulator-min-microvolt = <1800000>; 353 regulator-max-microvolt = <1800000>; 354 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 355 }; 356 357 vreg_l12a_1p8: ldo12 { 358 regulator-name = "vreg_l12a_1p8"; 359 regulator-min-microvolt = <1800000>; 360 regulator-max-microvolt = <1800000>; 361 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 362 }; 363 364 vreg_l13a_ts_3p0: ldo13 { 365 regulator-name = "vreg_l13a_ts_3p0"; 366 regulator-min-microvolt = <3008000>; 367 regulator-max-microvolt = <3008000>; 368 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 369 }; 370 371 vreg_l14a_1p8: ldo14 { 372 regulator-name = "vreg_l14a_1p8"; 373 regulator-min-microvolt = <1800000>; 374 regulator-max-microvolt = <1880000>; 375 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 376 }; 377 378 vreg_l15a_1p8: ldo15 { 379 regulator-name = "vreg_l15a_1p8"; 380 regulator-min-microvolt = <1800000>; 381 regulator-max-microvolt = <1800000>; 382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 383 }; 384 385 vreg_l16a_2p7: ldo16 { 386 regulator-name = "vreg_l16a_2p7"; 387 regulator-min-microvolt = <2704000>; 388 regulator-max-microvolt = <2960000>; 389 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 390 }; 391 392 vreg_l17a_3p0: ldo17 { 393 regulator-name = "vreg_l17a_3p0"; 394 regulator-min-microvolt = <2856000>; 395 regulator-max-microvolt = <3008000>; 396 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 397 }; 398 399 vreg_l18a_0p92: ldo18 { 400 regulator-name = "vreg_l18a_0p92"; 401 regulator-min-microvolt = <800000>; 402 regulator-max-microvolt = <912000>; 403 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 404 }; 405 406 vreg_s5a_1p9: smps5 { 407 regulator-name = "vreg_s5a_1p9"; 408 regulator-min-microvolt = <1904000>; 409 regulator-max-microvolt = <2000000>; 410 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 411 }; 412 413 vreg_s6a_0p95: smps6 { 414 regulator-name = "vreg_s6a_0p95"; 415 regulator-min-microvolt = <920000>; 416 regulator-max-microvolt = <1128000>; 417 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 418 }; 419 }; 420 421 regulators-2 { 422 compatible = "qcom,pm8150l-rpmh-regulators"; 423 qcom,pmic-id = "c"; 424 425 vdd-s1-supply = <&vph_pwr>; 426 vdd-s2-supply = <&vph_pwr>; 427 vdd-s3-supply = <&vph_pwr>; 428 vdd-s4-supply = <&vph_pwr>; 429 vdd-s5-supply = <&vph_pwr>; 430 vdd-s6-supply = <&vph_pwr>; 431 vdd-s7-supply = <&vph_pwr>; 432 vdd-s8-supply = <&vph_pwr>; 433 vdd-l1-l8-supply = <&vreg_s4a_1p8>; 434 vdd-l2-l3-supply = <&vreg_s8c_1p3>; 435 vdd-l4-l5-l6-supply = <&vreg_bob>; 436 vdd-l7-l11-supply = <&vreg_bob>; 437 vdd-l9-l10-supply = <&vreg_bob>; 438 vdd-bob-supply = <&vph_pwr>; 439 440 vreg_bob: bob { 441 regulator-name = "vreg_bob"; 442 regulator-min-microvolt = <3008000>; 443 regulator-max-microvolt = <4000000>; 444 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 445 }; 446 447 vreg_l1c_1p8: ldo1 { 448 regulator-name = "vreg_l1c_1p8"; 449 regulator-min-microvolt = <1800000>; 450 regulator-max-microvolt = <1800000>; 451 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 452 }; 453 454 vreg_l2c_1p2: ldo2 { 455 regulator-name = "vreg_l2c_1p2"; 456 regulator-min-microvolt = <1200000>; 457 regulator-max-microvolt = <1200000>; 458 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 459 }; 460 461 vreg_l3c_0p8: ldo3 { 462 regulator-name = "vreg_l3c_0p8"; 463 regulator-min-microvolt = <800000>; 464 regulator-max-microvolt = <800000>; 465 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 466 }; 467 468 vreg_l4c_1p7: ldo4 { 469 regulator-name = "vreg_l4c_1p7"; 470 regulator-min-microvolt = <1704000>; 471 regulator-max-microvolt = <2928000>; 472 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 473 }; 474 475 vreg_l5c_1p8: ldo5 { 476 regulator-name = "vreg_l5c_1p8"; 477 regulator-min-microvolt = <1800000>; 478 regulator-max-microvolt = <2928000>; 479 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 480 }; 481 482 vreg_l6c_2p96: ldo6 { 483 regulator-name = "vreg_l6c_2p96"; 484 regulator-min-microvolt = <1800000>; 485 regulator-max-microvolt = <2960000>; 486 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 487 }; 488 489 vreg_l7c_cam_vcm0_2p85: ldo7 { 490 regulator-name = "vreg_l7c_cam_vcm0_2p85"; 491 regulator-min-microvolt = <2856000>; 492 regulator-max-microvolt = <3104000>; 493 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 494 }; 495 496 vreg_l8c_1p8: ldo8 { 497 regulator-name = "vreg_l8c_1p8"; 498 regulator-min-microvolt = <1800000>; 499 regulator-max-microvolt = <1800000>; 500 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 501 }; 502 503 vreg_l9c_2p96: ldo9 { 504 regulator-name = "vreg_l9c_2p96"; 505 regulator-min-microvolt = <2704000>; 506 regulator-max-microvolt = <2960000>; 507 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 508 }; 509 510 vreg_l10c_3p0: ldo10 { 511 regulator-name = "vreg_l10c_3p0"; 512 regulator-min-microvolt = <3000000>; 513 regulator-max-microvolt = <3000000>; 514 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 515 }; 516 517 vreg_l11c_3p3: ldo11 { 518 regulator-name = "vreg_l11c_3p3"; 519 regulator-min-microvolt = <3296000>; 520 regulator-max-microvolt = <3296000>; 521 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 522 regulator-always-on; 523 }; 524 525 vreg_s8c_1p3: smps8 { 526 regulator-name = "vreg_s8c_1p3"; 527 regulator-min-microvolt = <1352000>; 528 regulator-max-microvolt = <1352000>; 529 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 530 }; 531 }; 532}; 533 534&cdsp { 535 status = "okay"; 536 firmware-name = "qcom/sm8250/cdsp.mbn"; 537}; 538 539&gmu { 540 status = "okay"; 541}; 542 543&gpu { 544 status = "okay"; 545 546 zap-shader { 547 memory-region = <&gpu_mem>; 548 firmware-name = "qcom/sm8250/a650_zap.mbn"; 549 }; 550}; 551 552/* LS-I2C0 */ 553&i2c4 { 554 status = "okay"; 555}; 556 557&i2c5 { 558 status = "okay"; 559 clock-frequency = <400000>; 560 561 lt9611_codec: hdmi-bridge@2b { 562 compatible = "lontium,lt9611uxc"; 563 reg = <0x2b>; 564 #sound-dai-cells = <1>; 565 566 interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>; 567 568 reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>; 569 570 vdd-supply = <<9611_1v2>; 571 vcc-supply = <<9611_3v3>; 572 573 pinctrl-names = "default"; 574 pinctrl-0 = <<9611_irq_pin <9611_rst_pin>; 575 576 ports { 577 #address-cells = <1>; 578 #size-cells = <0>; 579 580 port@0 { 581 reg = <0>; 582 583 lt9611_a: endpoint { 584 remote-endpoint = <&mdss_dsi0_out>; 585 }; 586 }; 587 588#if 0 589 port@1 { 590 reg = <1>; 591 592 lt9611_b: endpoint { 593 remote-endpoint = <&mdss_dsi1_out>; 594 }; 595 }; 596#endif 597 598 port@2 { 599 reg = <2>; 600 601 lt9611_out: endpoint { 602 remote-endpoint = <&hdmi_con>; 603 }; 604 }; 605 606 }; 607 }; 608}; 609 610/* LS-I2C1 */ 611&i2c15 { 612 status = "okay"; 613 614 typec-mux@1c { 615 compatible = "onnn,nb7vpq904m"; 616 reg = <0x1c>; 617 618 vcc-supply = <&vreg_s4a_1p8>; 619 620 retimer-switch; 621 orientation-switch; 622 623 ports { 624 #address-cells = <1>; 625 #size-cells = <0>; 626 627 port@0 { 628 reg = <0>; 629 630 redriver_usb_con_ss: endpoint { 631 remote-endpoint = <&pm8150b_typec_mux_in>; 632 }; 633 }; 634 635 port@1 { 636 reg = <1>; 637 638 redriver_phy_con_ss: endpoint { 639 remote-endpoint = <&usb_1_qmpphy_out>; 640 data-lanes = <0 1 2 3>; 641 }; 642 }; 643 644 port@2 { 645 reg = <2>; 646 647 redriver_usb_con_sbu: endpoint { 648 remote-endpoint = <&pm8150b_typec_sbu_out>; 649 }; 650 }; 651 }; 652 }; 653}; 654 655&mdss { 656 status = "okay"; 657}; 658 659&mdss_dp { 660 status = "okay"; 661}; 662 663&mdss_dp_out { 664 data-lanes = <0 1>; 665 remote-endpoint = <&usb_1_qmpphy_dp_in>; 666}; 667 668&mdss_dsi0 { 669 status = "okay"; 670 vdda-supply = <&vreg_l9a_1p2>; 671 672#if 0 673 qcom,dual-dsi-mode; 674 qcom,master-dsi; 675#endif 676 677 ports { 678 port@1 { 679 endpoint { 680 remote-endpoint = <<9611_a>; 681 data-lanes = <0 1 2 3>; 682 }; 683 }; 684 }; 685}; 686 687&mdss_dsi0_phy { 688 status = "okay"; 689 vdds-supply = <&vreg_l5a_0p88>; 690}; 691 692&pm8150_adc { 693 channel@4c { 694 reg = <ADC5_XO_THERM_100K_PU>; 695 qcom,ratiometric; 696 qcom,hw-settle-time = <200>; 697 label = "xo_therm"; 698 }; 699 700 channel@4e { 701 reg = <ADC5_AMUX_THM2_100K_PU>; 702 qcom,ratiometric; 703 qcom,hw-settle-time = <200>; 704 label = "wifi_therm"; 705 }; 706}; 707 708&pm8150_adc_tm { 709 status = "okay"; 710 711 xo-therm@0 { 712 reg = <0>; 713 io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>; 714 qcom,ratiometric; 715 qcom,hw-settle-time-us = <200>; 716 }; 717 718 wifi-therm@1 { 719 reg = <1>; 720 io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>; 721 qcom,ratiometric; 722 qcom,hw-settle-time-us = <200>; 723 }; 724}; 725 726&pcie0 { 727 status = "okay"; 728}; 729 730&pcie0_phy { 731 status = "okay"; 732 vdda-phy-supply = <&vreg_l5a_0p88>; 733 vdda-pll-supply = <&vreg_l9a_1p2>; 734}; 735 736&pcie1 { 737 status = "okay"; 738}; 739 740&pcie1_phy { 741 status = "okay"; 742 vdda-phy-supply = <&vreg_l5a_0p88>; 743 vdda-pll-supply = <&vreg_l9a_1p2>; 744}; 745 746&pcie2 { 747 status = "okay"; 748}; 749 750&pcie2_phy { 751 status = "okay"; 752 vdda-phy-supply = <&vreg_l5a_0p88>; 753 vdda-pll-supply = <&vreg_l9a_1p2>; 754}; 755 756&pm8150_gpios { 757 gpio-reserved-ranges = <1 1>, <3 2>, <7 1>; 758 gpio-line-names = 759 "NC", 760 "OPTION2", 761 "PM_GPIO-F", 762 "PM_SLP_CLK_IN", 763 "OPTION1", 764 "VOL_UP_N", 765 "PM8250_GPIO7", /* Blue LED */ 766 "SP_ARI_PWR_ALARM", 767 "GPIO_9_P", /* Yellow LED */ 768 "GPIO_10_P"; /* Green LED */ 769}; 770 771&pm8150b_adc { 772 channel@4f { 773 reg = <ADC5_AMUX_THM3_100K_PU>; 774 qcom,ratiometric; 775 qcom,hw-settle-time = <200>; 776 label = "conn_therm"; 777 }; 778}; 779 780&pm8150b_adc_tm { 781 status = "okay"; 782 783 conn-therm@0 { 784 reg = <0>; 785 io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>; 786 qcom,ratiometric; 787 qcom,hw-settle-time-us = <200>; 788 }; 789}; 790 791&pm8150b_gpios { 792 gpio-line-names = 793 "NC", 794 "NC", 795 "NC", 796 "NC", 797 "HAP_BOOST_EN", /* SOM */ 798 "SMB_STAT", /* SOM */ 799 "NC", 800 "NC", 801 "SDM_FORCE_USB_BOOT", 802 "NC", 803 "NC", 804 "NC"; 805}; 806 807&pm8150l_adc { 808 channel@4e { 809 reg = <ADC5_AMUX_THM2_100K_PU>; 810 qcom,ratiometric; 811 qcom,hw-settle-time = <200>; 812 label = "skin_msm_therm"; 813 }; 814 815 channel@4f { 816 reg = <ADC5_AMUX_THM3_100K_PU>; 817 qcom,ratiometric; 818 qcom,hw-settle-time = <200>; 819 label = "pm8150l_therm"; 820 }; 821}; 822 823&pm8150l_adc_tm { 824 status = "okay"; 825 826 skin-msm-therm@0 { 827 reg = <0>; 828 io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>; 829 qcom,ratiometric; 830 qcom,hw-settle-time-us = <200>; 831 }; 832 833 pm8150l-therm@1 { 834 reg = <1>; 835 io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>; 836 qcom,ratiometric; 837 qcom,hw-settle-time-us = <200>; 838 }; 839}; 840 841&pm8150l_gpios { 842 gpio-line-names = 843 "NC", 844 "PM3003A_EN", 845 "NC", 846 "NC", 847 "PM_GPIO5", /* HDMI RST_N */ 848 "PM_GPIO-A", /* PWM */ 849 "PM_GPIO7", 850 "NC", 851 "NC", 852 "PM_GPIO-B", 853 "NC", 854 "PM3003A_MODE"; 855 856 lt9611_rst_pin: lt9611-rst-state { 857 pins = "gpio5"; 858 function = "normal"; 859 860 output-high; 861 input-disable; 862 power-source = <0>; 863 }; 864}; 865 866&pm8150l_lpg { 867 status = "okay"; 868 869 #address-cells = <1>; 870 #size-cells = <0>; 871 872 led@1 { 873 reg = <1>; 874 color = <LED_COLOR_ID_GREEN>; 875 function = LED_FUNCTION_HEARTBEAT; 876 function-enumerator = <3>; 877 878 linux,default-trigger = "heartbeat"; 879 default-state = "on"; 880 }; 881 882 led@2 { 883 reg = <2>; 884 color = <LED_COLOR_ID_GREEN>; 885 function = LED_FUNCTION_INDICATOR; 886 function-enumerator = <2>; 887 default-state = "on"; 888 }; 889 890 led@3 { 891 reg = <3>; 892 color = <LED_COLOR_ID_GREEN>; 893 function = LED_FUNCTION_INDICATOR; 894 function-enumerator = <1>; 895 }; 896}; 897 898&pon_pwrkey { 899 status = "okay"; 900}; 901 902&pon_resin { 903 status = "okay"; 904 905 linux,code = <KEY_VOLUMEDOWN>; 906}; 907 908&qupv3_id_0 { 909 status = "okay"; 910}; 911 912&qupv3_id_1 { 913 status = "okay"; 914}; 915 916&qupv3_id_2 { 917 status = "okay"; 918}; 919 920&q6afedai { 921 dai@16 { 922 reg = <PRIMARY_MI2S_RX>; 923 qcom,sd-lines = <0 1 2 3>; 924 }; 925}; 926 927/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */ 928&q6afedai { 929 dai@20 { 930 reg = <TERTIARY_MI2S_RX>; 931 qcom,sd-lines = <0>; 932 }; 933}; 934 935&q6asmdai { 936 dai@0 { 937 reg = <0>; 938 }; 939 940 dai@1 { 941 reg = <1>; 942 }; 943 944 dai@2 { 945 reg = <2>; 946 }; 947}; 948 949&sdhc_2 { 950 status = "okay"; 951 pinctrl-names = "default"; 952 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; 953 vmmc-supply = <&vreg_l9c_2p96>; 954 vqmmc-supply = <&vreg_l6c_2p96>; 955 cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>; 956 bus-width = <4>; 957 no-sdio; 958 no-mmc; 959}; 960 961&sound { 962 compatible = "qcom,qrb5165-rb5-sndcard"; 963 pinctrl-0 = <&tert_mi2s_active>; 964 pinctrl-names = "default"; 965 model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0"; 966 audio-routing = 967 "SpkrLeft IN", "WSA_SPK1 OUT", 968 "SpkrRight IN", "WSA_SPK2 OUT", 969 "VA DMIC0", "vdd-micb", 970 "VA DMIC1", "vdd-micb", 971 "MM_DL1", "MultiMedia1 Playback", 972 "MM_DL2", "MultiMedia2 Playback", 973 "MultiMedia3 Capture", "MM_UL3"; 974 975 mm1-dai-link { 976 link-name = "MultiMedia1"; 977 cpu { 978 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 979 }; 980 }; 981 982 mm2-dai-link { 983 link-name = "MultiMedia2"; 984 cpu { 985 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 986 }; 987 }; 988 989 mm3-dai-link { 990 link-name = "MultiMedia3"; 991 cpu { 992 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 993 }; 994 }; 995 996 hdmi-dai-link { 997 link-name = "HDMI Playback"; 998 cpu { 999 sound-dai = <&q6afedai TERTIARY_MI2S_RX>; 1000 }; 1001 1002 platform { 1003 sound-dai = <&q6routing>; 1004 }; 1005 1006 codec { 1007 sound-dai = <<9611_codec 0>; 1008 }; 1009 }; 1010 1011 dma-dai-link { 1012 link-name = "WSA Playback"; 1013 cpu { 1014 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>; 1015 }; 1016 1017 platform { 1018 sound-dai = <&q6routing>; 1019 }; 1020 1021 codec { 1022 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>; 1023 }; 1024 }; 1025 1026 va-dai-link { 1027 link-name = "VA Capture"; 1028 cpu { 1029 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>; 1030 }; 1031 1032 platform { 1033 sound-dai = <&q6routing>; 1034 }; 1035 1036 codec { 1037 sound-dai = <&vamacro 0>; 1038 }; 1039 }; 1040}; 1041 1042/* CAN */ 1043&spi0 { 1044 status = "okay"; 1045 pinctrl-names = "default"; 1046 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>; 1047 cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; 1048 1049 can@0 { 1050 compatible = "microchip,mcp2518fd"; 1051 reg = <0>; 1052 clocks = <&clk40M>; 1053 interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>; 1054 spi-max-frequency = <10000000>; 1055 vdd-supply = <&vdc_5v>; 1056 xceiver-supply = <&vdc_5v>; 1057 }; 1058}; 1059 1060&swr0 { 1061 status = "okay"; 1062 1063 left_spkr: speaker@0,3 { 1064 compatible = "sdw10217211000"; 1065 reg = <0 3>; 1066 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>; 1067 #thermal-sensor-cells = <0>; 1068 sound-name-prefix = "SpkrLeft"; 1069 #sound-dai-cells = <0>; 1070 }; 1071 1072 right_spkr: speaker@0,4 { 1073 compatible = "sdw10217211000"; 1074 reg = <0 4>; 1075 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>; 1076 #thermal-sensor-cells = <0>; 1077 sound-name-prefix = "SpkrRight"; 1078 #sound-dai-cells = <0>; 1079 }; 1080}; 1081 1082&tlmm { 1083 gpio-reserved-ranges = <40 4>; 1084 gpio-line-names = 1085 "GPIO-MM", 1086 "GPIO-NN", 1087 "GPIO-OO", 1088 "GPIO-PP", 1089 "GPIO-A", 1090 "GPIO-C", 1091 "GPIO-E", 1092 "GPIO-D", 1093 "I2C0-SDA", 1094 "I2C0-SCL", 1095 "GPIO-TT", /* GPIO_10 */ 1096 "NC", 1097 "GPIO_12_I2C_SDA", 1098 "GPIO_13_I2C_SCL", 1099 "GPIO-X", 1100 "GPIO_15_RGMII_INT", 1101 "HST_BT_UART_CTS", 1102 "HST_BT_UART_RFR", 1103 "HST_BT_UART_TX", 1104 "HST_BT_UART_RX", 1105 "HST_WLAN_EN", /* GPIO_20 */ 1106 "HST_BT_EN", 1107 "GPIO-AAA", 1108 "GPIO-BBB", 1109 "GPIO-CCC", 1110 "GPIO-Z", 1111 "GPIO-DDD", 1112 "GPIO-BB", 1113 "GPIO_28_CAN_SPI_MISO", 1114 "GPIO_29_CAN_SPI_MOSI", 1115 "GPIO_30_CAN_SPI_CLK", /* GPIO_30 */ 1116 "GPIO_31_CAN_SPI_CS", 1117 "GPIO-UU", 1118 "NC", 1119 "UART1_TXD_SOM", 1120 "UART1_RXD_SOM", 1121 "UART0_CTS", 1122 "UART0_RTS", 1123 "UART0_TXD", 1124 "UART0_RXD", 1125 "SPI1_MISO", /* GPIO_40 */ 1126 "SPI1_MOSI", 1127 "SPI1_CLK", 1128 "SPI1_CS", 1129 "I2C1_SDA", 1130 "I2C1_SCL", 1131 "GPIO-F", 1132 "GPIO-JJ", 1133 "Board_ID1", 1134 "Board_ID2", 1135 "NC", /* GPIO_50 */ 1136 "NC", 1137 "SPI0_MISO", 1138 "SPI0_MOSI", 1139 "SPI0_SCLK", 1140 "SPI0_CS", 1141 "GPIO-QQ", 1142 "GPIO-RR", 1143 "USB2LAN_RESET", 1144 "USB2LAN_EXTWAKE", 1145 "NC", /* GPIO_60 */ 1146 "NC", 1147 "NC", 1148 "LT9611_INT", 1149 "GPIO-AA", 1150 "USB_CC_DIR", 1151 "GPIO-G", 1152 "GPIO-LL", 1153 "USB_DP_HPD_1P8", 1154 "NC", 1155 "NC", /* GPIO_70 */ 1156 "SD_CMD", 1157 "SD_DAT3", 1158 "SD_SCLK", 1159 "SD_DAT2", 1160 "SD_DAT1", 1161 "SD_DAT0", /* BOOT_CFG3 */ 1162 "SD_UFS_CARD_DET_N", 1163 "GPIO-II", 1164 "PCIE0_RST_N", 1165 "PCIE0_CLK_REQ_N", /* GPIO_80 */ 1166 "PCIE0_WAKE_N", 1167 "GPIO-CC", 1168 "GPIO-DD", 1169 "GPIO-EE", 1170 "GPIO-FF", 1171 "GPIO-GG", 1172 "GPIO-HH", 1173 "GPIO-VV", 1174 "GPIO-WW", 1175 "NC", /* GPIO_90 */ 1176 "NC", 1177 "GPIO-K", 1178 "GPIO-I", 1179 "CSI0_MCLK", 1180 "CSI1_MCLK", 1181 "CSI2_MCLK", 1182 "CSI3_MCLK", 1183 "GPIO-AA", /* CSI4_MCLK */ 1184 "GPIO-BB", /* CSI5_MCLK */ 1185 "GPIO-KK", /* GPIO_100 */ 1186 "CCI_I2C_SDA0", 1187 "CCI_I2C_SCL0", 1188 "CCI_I2C_SDA1", 1189 "CCI_I2C_SCL1", 1190 "CCI_I2C_SDA2", 1191 "CCI_I2C_SCL2", 1192 "CCI_I2C_SDA3", 1193 "CCI_I2C_SCL3", 1194 "GPIO-L", 1195 "NC", /* GPIO_110 */ 1196 "NC", 1197 "ACCEL_INT", 1198 "GYRO_INT", 1199 "GPIO-J", 1200 "GPIO-YY", 1201 "GPIO-H", 1202 "GPIO-ZZ", 1203 "NC", 1204 "NC", 1205 "NC", /* GPIO_120 */ 1206 "NC", 1207 "MAG_INT", 1208 "MAG_DRDY_INT", 1209 "HST_SW_CTRL", 1210 "GPIO-M", 1211 "GPIO-N", 1212 "GPIO-O", 1213 "GPIO-P", 1214 "PS_INT", 1215 "WSA1_EN", /* GPIO_130 */ 1216 "USB_HUB_RESET", 1217 "SDM_FORCE_USB_BOOT", 1218 "I2S1_CLK_HDMI", 1219 "I2S1_DATA0_HDMI", 1220 "I2S1_WS_HDMI", 1221 "GPIO-B", 1222 "GPIO_137", /* To LT9611_I2S_MCLK_3V3 */ 1223 "PCM_CLK", 1224 "PCM_DI", 1225 "PCM_DO", /* GPIO_140 */ 1226 "PCM_FS", 1227 "HST_SLIM_CLK", 1228 "HST_SLIM_DATA", 1229 "GPIO-U", 1230 "GPIO-Y", 1231 "GPIO-R", 1232 "GPIO-Q", 1233 "GPIO-S", 1234 "GPIO-T", 1235 "GPIO-V", /* GPIO_150 */ 1236 "GPIO-W", 1237 "DMIC_CLK1", 1238 "DMIC_DATA1", 1239 "DMIC_CLK2", 1240 "DMIC_DATA2", 1241 "WSA_SWR_CLK", 1242 "WSA_SWR_DATA", 1243 "DMIC_CLK3", 1244 "DMIC_DATA3", 1245 "I2C4_SDA", /* GPIO_160 */ 1246 "I2C4_SCL", 1247 "SPI3_CS1", 1248 "SPI3_CS2", 1249 "SPI2_MISO_LS3", 1250 "SPI2_MOSI_LS3", 1251 "SPI2_CLK_LS3", 1252 "SPI2_ACCEL_CS_LS3", 1253 "SPI2_CS1", 1254 "NC", 1255 "GPIO-SS", /* GPIO_170 */ 1256 "GPIO-XX", 1257 "SPI3_MISO", 1258 "SPI3_MOSI", 1259 "SPI3_CLK", 1260 "SPI3_CS", 1261 "HST_BLE_SNS_UART_TX", 1262 "HST_BLE_SNS_UART_RX", 1263 "HST_WLAN_UART_TX", 1264 "HST_WLAN_UART_RX"; 1265 1266 lt9611_irq_pin: lt9611-irq-state { 1267 pins = "gpio63"; 1268 function = "gpio"; 1269 bias-disable; 1270 }; 1271 1272 sdc2_default_state: sdc2-default-state { 1273 clk-pins { 1274 pins = "sdc2_clk"; 1275 bias-disable; 1276 drive-strength = <16>; 1277 }; 1278 1279 cmd-pins { 1280 pins = "sdc2_cmd"; 1281 bias-pull-up; 1282 drive-strength = <10>; 1283 }; 1284 1285 data-pins { 1286 pins = "sdc2_data"; 1287 bias-pull-up; 1288 drive-strength = <10>; 1289 }; 1290 }; 1291 1292 sdc2_card_det_n: sd-card-det-n-state { 1293 pins = "gpio77"; 1294 function = "gpio"; 1295 bias-pull-up; 1296 }; 1297}; 1298 1299&uart12 { 1300 status = "okay"; 1301}; 1302 1303&ufs_mem_hc { 1304 status = "okay"; 1305 1306 vcc-supply = <&vreg_l17a_3p0>; 1307 vcc-max-microamp = <800000>; 1308 vccq-supply = <&vreg_l6a_1p2>; 1309 vccq-max-microamp = <800000>; 1310 vccq2-supply = <&vreg_s4a_1p8>; 1311 vccq2-max-microamp = <800000>; 1312}; 1313 1314&ufs_mem_phy { 1315 status = "okay"; 1316 1317 vdda-phy-supply = <&vreg_l5a_0p88>; 1318 vdda-pll-supply = <&vreg_l9a_1p2>; 1319}; 1320 1321&usb_1 { 1322 status = "okay"; 1323}; 1324 1325&usb_1_dwc3 { 1326 dr_mode = "otg"; 1327 usb-role-switch; 1328}; 1329 1330&usb_1_role_switch_out { 1331 remote-endpoint = <&pm8150b_role_switch_in>; 1332}; 1333 1334&usb_1_hsphy { 1335 status = "okay"; 1336 1337 vdda-pll-supply = <&vreg_l5a_0p88>; 1338 vdda33-supply = <&vreg_l2a_3p1>; 1339 vdda18-supply = <&vreg_l12a_1p8>; 1340}; 1341 1342&usb_1_qmpphy { 1343 status = "okay"; 1344 1345 vdda-phy-supply = <&vreg_l9a_1p2>; 1346 vdda-pll-supply = <&vreg_l18a_0p92>; 1347 orientation-switch; 1348}; 1349 1350&usb_1_qmpphy_out { 1351 remote-endpoint = <&redriver_phy_con_ss>; 1352}; 1353 1354&usb_2 { 1355 status = "okay"; 1356}; 1357 1358&usb_2_dwc3 { 1359 dr_mode = "host"; 1360}; 1361 1362&usb_2_hsphy { 1363 status = "okay"; 1364 1365 vdda-pll-supply = <&vreg_l5a_0p88>; 1366 vdda33-supply = <&vreg_l2a_3p1>; 1367 vdda18-supply = <&vreg_l12a_1p8>; 1368}; 1369 1370&usb_2_qmpphy { 1371 status = "okay"; 1372 1373 vdda-phy-supply = <&vreg_l9a_1p2>; 1374 vdda-pll-supply = <&vreg_l18a_0p92>; 1375}; 1376 1377&vamacro { 1378 pinctrl-0 = <&dmic01_active>; 1379 pinctrl-names = "default"; 1380 vdd-micb-supply = <&vreg_s4a_1p8>; 1381 qcom,dmic-sample-rate = <600000>; 1382}; 1383 1384&venus { 1385 status = "okay"; 1386}; 1387 1388&wsamacro { 1389 status = "okay"; 1390}; 1391 1392/* PINCTRL - additions to nodes defined in sm8250.dtsi */ 1393&qup_spi0_cs_gpio { 1394 drive-strength = <6>; 1395 bias-disable; 1396}; 1397 1398&qup_spi0_data_clk { 1399 drive-strength = <6>; 1400 bias-disable; 1401}; 1402 1403&pm8150b_vbus { 1404 regulator-min-microamp = <500000>; 1405 regulator-max-microamp = <3000000>; 1406 status = "okay"; 1407}; 1408 1409&pm8150b_typec { 1410 status = "okay"; 1411 1412 vdd-pdphy-supply = <&vreg_l2a_3p1>; 1413 1414 connector { 1415 compatible = "usb-c-connector"; 1416 1417 power-role = "source"; 1418 data-role = "dual"; 1419 self-powered; 1420 1421 source-pdos = <PDO_FIXED(5000, 3000, 1422 PDO_FIXED_DUAL_ROLE | 1423 PDO_FIXED_USB_COMM | 1424 PDO_FIXED_DATA_SWAP)>; 1425 1426 altmodes { 1427 displayport { 1428 svid = <0xff01>; 1429 vdo = <0x00001c46>; 1430 }; 1431 }; 1432 1433 ports { 1434 #address-cells = <1>; 1435 #size-cells = <0>; 1436 1437 port@0 { 1438 reg = <0>; 1439 pm8150b_role_switch_in: endpoint { 1440 remote-endpoint = <&usb_1_role_switch_out>; 1441 }; 1442 }; 1443 1444 port@1 { 1445 reg = <1>; 1446 pm8150b_typec_mux_in: endpoint { 1447 remote-endpoint = <&redriver_usb_con_ss>; 1448 }; 1449 }; 1450 1451 port@2 { 1452 reg = <2>; 1453 1454 pm8150b_typec_sbu_out: endpoint { 1455 remote-endpoint = <&redriver_usb_con_sbu>; 1456 }; 1457 }; 1458 }; 1459 }; 1460}; 1461 1462&usb_1_qmpphy_dp_in { 1463 remote-endpoint = <&mdss_dp_out>; 1464}; 1465