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