1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com> 4 * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com> 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/arm/qcom,ids.h> 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h> 12#include <dt-bindings/iio/qcom,spmi-adc7-pm8350b.h> 13#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> 14#include <dt-bindings/leds/common.h> 15#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 16#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 17#include <dt-bindings/sound/qcom,q6afe.h> 18#include <dt-bindings/sound/qcom,q6asm.h> 19 20#include "sm7325.dtsi" 21#include "pm7325.dtsi" 22#include "pm8350b.dtsi" /* PM7325B */ 23#include "pm8350c.dtsi" /* PM7350C */ 24#include "pmk8350.dtsi" /* PMK7325 */ 25 26/delete-node/ &rmtfs_mem; 27 28/ { 29 model = "Nothing Phone (1)"; 30 compatible = "nothing,spacewar", "qcom,sm7325"; 31 chassis-type = "handset"; 32 33 aliases { 34 bluetooth0 = &bluetooth; 35 serial0 = &uart5; 36 serial1 = &uart7; 37 wifi0 = &wifi; 38 }; 39 40 chosen { 41 #address-cells = <2>; 42 #size-cells = <2>; 43 ranges; 44 45 stdout-path = "serial0:115200n8"; 46 47 framebuffer0: framebuffer@e1000000 { 48 compatible = "simple-framebuffer"; 49 reg = <0x0 0xe1000000 0x0 (1080 * 2400 * 4)>; 50 width = <1080>; 51 height = <2400>; 52 stride = <(1080 * 4)>; 53 format = "a8r8g8b8"; 54 55 clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 56 <&dispcc DISP_CC_MDSS_MDP_CLK>, 57 <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 58 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 59 <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 60 <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 61 power-domains = <&dispcc DISP_CC_MDSS_CORE_GDSC>; 62 }; 63 }; 64 65 gpio-keys { 66 compatible = "gpio-keys"; 67 68 pinctrl-0 = <&kypd_volp_n>; 69 pinctrl-names = "default"; 70 71 key-volume-up { 72 label = "Volume up"; 73 gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>; 74 linux,code = <KEY_VOLUMEUP>; 75 }; 76 }; 77 78 pmic-glink { 79 compatible = "qcom,sm7325-pmic-glink", 80 "qcom,qcm6490-pmic-glink", 81 "qcom,pmic-glink"; 82 83 #address-cells = <1>; 84 #size-cells = <0>; 85 86 orientation-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>; 87 88 connector@0 { 89 compatible = "usb-c-connector"; 90 reg = <0>; 91 power-role = "dual"; 92 data-role = "dual"; 93 94 ports { 95 #address-cells = <1>; 96 #size-cells = <0>; 97 98 port@0 { 99 reg = <0>; 100 101 pmic_glink_hs_in: endpoint { 102 remote-endpoint = <&usb_1_dwc3_hs>; 103 }; 104 }; 105 106 port@1 { 107 reg = <1>; 108 109 pmic_glink_sbu: endpoint { 110 remote-endpoint = <&fsa4480_sbu_mux>; 111 }; 112 }; 113 }; 114 }; 115 }; 116 117 reserved-memory { 118 #address-cells = <2>; 119 #size-cells = <2>; 120 ranges; 121 122 ramoops_mem: ramoops@83a00000 { 123 compatible = "ramoops"; 124 reg = <0x0 0x83a00000 0x0 0x400000>; 125 pmsg-size = <0x200000>; 126 mem-type = <2>; 127 console-size = <0x200000>; 128 }; 129 130 cdsp_mem: cdsp@88f00000 { 131 reg = <0x0 0x88f00000 0x0 0x1e00000>; 132 no-map; 133 }; 134 135 removed_mem: removed@c0000000 { 136 reg = <0x0 0xc0000000 0x0 0x5100000>; 137 no-map; 138 }; 139 140 cont_splash_mem: cont-splash@e1000000 { 141 reg = <0x0 0xe1000000 0x0 (1080 * 2400 * 4)>; 142 no-map; 143 }; 144 145 rmtfs_mem: rmtfs@f8500000 { 146 compatible = "qcom,rmtfs-mem"; 147 reg = <0x0 0xf8500000 0x0 0x600000>; 148 no-map; 149 150 qcom,client-id = <1>; 151 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, 152 <QCOM_SCM_VMID_NAV>; 153 }; 154 }; 155 156 thermal-zones { 157 camera-thermal { 158 polling-delay-passive = <0>; 159 thermal-sensors = <&pmk8350_adc_tm 2>; 160 161 trips { 162 active-config0 { 163 temperature = <125000>; 164 hysteresis = <1000>; 165 type = "passive"; 166 }; 167 }; 168 }; 169 170 chg-skin-thermal { 171 polling-delay-passive = <0>; 172 thermal-sensors = <&pmk8350_adc_tm 6>; 173 174 trips { 175 active-config0 { 176 temperature = <125000>; 177 hysteresis = <1000>; 178 type = "passive"; 179 }; 180 }; 181 }; 182 183 conn-thermal { 184 polling-delay-passive = <0>; 185 thermal-sensors = <&pmk8350_adc_tm 5>; 186 187 trips { 188 active-config0 { 189 temperature = <125000>; 190 hysteresis = <1000>; 191 type = "passive"; 192 }; 193 }; 194 }; 195 196 quiet-thermal { 197 polling-delay-passive = <0>; 198 thermal-sensors = <&pmk8350_adc_tm 1>; 199 200 trips { 201 active-config0 { 202 temperature = <125000>; 203 hysteresis = <1000>; 204 type = "passive"; 205 }; 206 }; 207 }; 208 209 rear-cam-thermal { 210 polling-delay-passive = <0>; 211 thermal-sensors = <&pmk8350_adc_tm 4>; 212 213 trips { 214 active-config0 { 215 temperature = <125000>; 216 hysteresis = <1000>; 217 type = "passive"; 218 }; 219 }; 220 }; 221 222 sdm-skin-thermal { 223 polling-delay-passive = <0>; 224 thermal-sensors = <&pmk8350_adc_tm 3>; 225 226 trips { 227 active-config0 { 228 temperature = <125000>; 229 hysteresis = <1000>; 230 type = "passive"; 231 }; 232 }; 233 }; 234 235 xo-thermal { 236 polling-delay-passive = <0>; 237 thermal-sensors = <&pmk8350_adc_tm 0>; 238 239 trips { 240 active-config0 { 241 temperature = <125000>; 242 hysteresis = <1000>; 243 type = "passive"; 244 }; 245 }; 246 }; 247 }; 248 249 vph_pwr: vph-pwr-regulator { 250 compatible = "regulator-fixed"; 251 regulator-name = "vph_pwr"; 252 regulator-min-microvolt = <3700000>; 253 regulator-max-microvolt = <3700000>; 254 }; 255 256 // S2B is really ebi.lvl but it's there for supply map completeness sake. 257 vreg_s2b_0p7: smpa3-regulator { 258 compatible = "regulator-fixed"; 259 regulator-name = "vreg_s2b_0p7"; 260 261 regulator-min-microvolt = <65535>; 262 regulator-max-microvolt = <65535>; 263 regulator-always-on; 264 vin-supply = <&vph_pwr>; 265 }; 266}; 267 268&apps_rsc { 269 regulators-0 { 270 compatible = "qcom,pm7325-rpmh-regulators"; 271 qcom,pmic-id = "b"; 272 273 vdd-s1-supply = <&vph_pwr>; 274 vdd-s2-supply = <&vph_pwr>; 275 vdd-s7-supply = <&vph_pwr>; 276 vdd-s8-supply = <&vph_pwr>; 277 278 vdd-l1-l4-l12-l15-supply = <&vreg_s7b_0p952>; 279 vdd-l2-l7-supply = <&vreg_bob>; 280 vdd-l3-supply = <&vreg_s2b_0p7>; 281 vdd-l5-supply = <&vreg_s2b_0p7>; 282 vdd-l6-l9-l10-supply = <&vreg_s8b_1p256>; 283 vdd-l8-supply = <&vreg_s7b_0p952>; 284 vdd-l11-l17-l18-l19-supply = <&vreg_s1b_1p856>; 285 vdd-l13-supply = <&vreg_s7b_0p952>; 286 vdd-l14-l16-supply = <&vreg_s8b_1p256>; 287 288 /* 289 * S2, L4-L5 are ARCs: 290 * S2 - ebi.lvl, 291 * L4 - lmx.lvl, 292 * l5 - lcx.lvl. 293 * 294 * L10 are unused. 295 */ 296 297 vdd19_pmu_rfa_i: 298 vreg_s1b_1p856: smps1 { 299 regulator-name = "vreg_s1b_1p856"; 300 regulator-min-microvolt = <1840000>; 301 regulator-max-microvolt = <2040000>; 302 }; 303 304 vdd_pmu_aon_i: 305 vdd09_pmu_rfa_i: 306 vdd095_mx_pmu: 307 vdd095_pmu_1: 308 vdd095_pmu_2: 309 vreg_s7b_0p952: smps7 { 310 regulator-name = "vreg_s7b_0p952"; 311 regulator-min-microvolt = <535000>; 312 regulator-max-microvolt = <1120000>; 313 }; 314 315 vdd13_pmu_rfa_i: 316 vreg_s8b_1p256: smps8 { 317 regulator-name = "vreg_s8b_1p256"; 318 regulator-min-microvolt = <1200000>; 319 regulator-max-microvolt = <1500000>; 320 regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>; 321 }; 322 323 vreg_l1b_0p912: ldo1 { 324 regulator-name = "vreg_l1b_0p912"; 325 regulator-min-microvolt = <825000>; 326 regulator-max-microvolt = <925000>; 327 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 328 }; 329 330 vdd_a_usbhs_3p1: 331 vreg_l2b_3p072: ldo2 { 332 regulator-name = "vreg_l2b_3p072"; 333 regulator-min-microvolt = <2700000>; 334 regulator-max-microvolt = <3544000>; 335 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 336 }; 337 338 vdd_io_ebi0_1: 339 vdd_io_ebi0_2: 340 vdd_io_ebi0_3: 341 vdd_io_ebi0_4: 342 vdd_io_ebi1_1: 343 vdd_io_ebi1_2: 344 vdd_io_ebi1_3: 345 vdd_io_ebi1_4: 346 vreg_l3b_0p6: ldo3 { 347 regulator-name = "vreg_l3b_0p6"; 348 regulator-min-microvolt = <312000>; 349 regulator-max-microvolt = <910000>; 350 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 351 }; 352 353 vdd_a_csi_01_1p2: 354 vdd_a_csi_23_1p2: 355 vdd_a_csi_4_1p2: 356 vdd_a_dsi_0_1p2: 357 vdd_a_qlink_0_1p2_ck: 358 vdd_a_qlink_1_1p2: 359 vdd_a_ufs_0_1p2: 360 vdd_vref_1p2_1: 361 vdd_vref_1p2_2: 362 vreg_l6b_1p2: ldo6 { 363 regulator-name = "vreg_l6b_1p2"; 364 regulator-min-microvolt = <1140000>; 365 regulator-max-microvolt = <1260000>; 366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 367 regulator-allow-set-load; 368 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 369 RPMH_REGULATOR_MODE_HPM>; 370 }; 371 372 vreg_l7b_2p96: ldo7 { 373 regulator-name = "vreg_l7b_2p96"; 374 regulator-min-microvolt = <2400000>; 375 regulator-max-microvolt = <3544000>; 376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 377 regulator-allow-set-load; 378 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 379 RPMH_REGULATOR_MODE_HPM>; 380 }; 381 382 vreg_l8b_0p904: ldo8 { 383 regulator-name = "vreg_l8b_0p904"; 384 regulator-min-microvolt = <870000>; 385 regulator-max-microvolt = <970000>; 386 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 387 }; 388 389 vdd_px10: 390 vreg_l9b_1p2: ldo9 { 391 regulator-name = "vreg_l9b_1p2"; 392 regulator-min-microvolt = <1200000>; 393 regulator-max-microvolt = <1304000>; 394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 395 regulator-allow-set-load; 396 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 397 RPMH_REGULATOR_MODE_HPM>; 398 }; 399 400 vddah_0: 401 vddah_1: 402 vddah_fbrx: 403 vddah_tx0: 404 vddah_tx0_1: 405 vddah_tx1: 406 vddah_tx1_1: 407 vreg_l11b_1p776: ldo11 { 408 regulator-name = "vreg_l11b_1p776"; 409 regulator-min-microvolt = <1504000>; 410 regulator-max-microvolt = <2000000>; 411 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 412 }; 413 414 vddal_dig0: 415 vddal_dig_1: 416 vddal_dig_2: 417 vddal_dig_xo: 418 vddal_gps_l1: 419 vddal_gps_l5: 420 vddal_icon: 421 vddal_rx: 422 vddal_rx0: 423 vddal_rx1: 424 vddal_rx2: 425 vddal_tx0: 426 vddal_tx0_1: 427 vddal_tx1: 428 vddal_tx1_2: 429 vreg_l12b_0p8: ldo12 { 430 regulator-name = "vreg_l12b_0p8"; 431 regulator-min-microvolt = <751000>; 432 regulator-max-microvolt = <824000>; 433 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 434 }; 435 436 vdd_cx1: 437 vdd_cx2: 438 vreg_l13b_0p8: ldo13 { 439 regulator-name = "vreg_l13b_0p8"; 440 regulator-min-microvolt = <530000>; 441 regulator-max-microvolt = <824000>; 442 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 443 }; 444 445 vdd_1p2: 446 vdd_lna: 447 vddam_fbrx: 448 vddam_rx_0: 449 vddam_rx_1: 450 vddam_rx0: 451 vddam_rx1: 452 vddam_rx2: 453 vddam_rxe_a: 454 vddam_rxe_b: 455 vddam_rxe_c: 456 vddam_rxe_d: 457 vddam_rxe_e: 458 vddam_tx0: 459 vddam_tx0_1: 460 vddam_tx1: 461 vddam_tx1_1: 462 vddam_xo: 463 vreg_l14b_1p2: ldo14 { 464 regulator-name = "vreg_l14b_1p2"; 465 regulator-min-microvolt = <1080000>; 466 regulator-max-microvolt = <1304000>; 467 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 468 }; 469 470 vdd_mx: 471 vddmx_tx: 472 vdd_phy: 473 vreg_l15b_0p88: ldo15 { 474 regulator-name = "vreg_l15b_0p88"; 475 regulator-min-microvolt = <765000>; 476 regulator-max-microvolt = <1020000>; 477 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 478 }; 479 480 vreg_l16b_1p2: ldo16 { 481 regulator-name = "vreg_l16b_1p2"; 482 regulator-min-microvolt = <1100000>; 483 regulator-max-microvolt = <1300000>; 484 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 485 }; 486 487 vdd_buck: 488 vreg_l17b_1p8: ldo17 { 489 regulator-name = "vreg_l17b_1p8"; 490 regulator-min-microvolt = <1700000>; 491 regulator-max-microvolt = <1900000>; 492 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 493 }; 494 495 vdd_px_wcd9385: 496 vdd_txrx: 497 vdd_px0: 498 vdd_px3: 499 vdd_px7: 500 vreg_l18b_1p8: ldo18 { 501 regulator-name = "vreg_l18b_1p8"; 502 regulator-min-microvolt = <1800000>; 503 regulator-max-microvolt = <2000000>; 504 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 505 }; 506 507 vdd_1p8: 508 vdd_px_sdr735: 509 vdd_pxm: 510 vddio_px_1: 511 vddio_px_2: 512 vddio_px_3: 513 vdd18_io: 514 vddpx_ts: 515 vddpx_wl4otp: 516 vreg_l19b_1p8: ldo19 { 517 regulator-name = "vreg_l19b_1p8"; 518 regulator-min-microvolt = <1800000>; 519 regulator-max-microvolt = <2000000>; 520 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 521 }; 522 }; 523 524 regulators-1 { 525 compatible = "qcom,pm8350c-rpmh-regulators"; 526 qcom,pmic-id = "c"; 527 528 vdd-s1-supply = <&vph_pwr>; 529 vdd-s2-supply = <&vph_pwr>; 530 vdd-s5-supply = <&vph_pwr>; 531 vdd-s7-supply = <&vph_pwr>; 532 vdd-s9-supply = <&vph_pwr>; 533 vdd-s10-supply = <&vph_pwr>; 534 535 vdd-l1-l12-supply = <&vreg_s1b_1p856>; 536 vdd-l2-l8-supply = <&vreg_s1b_1p856>; 537 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>; 538 vdd-l6-l9-l11-supply = <&vreg_bob>; 539 vdd-l10-supply = <&vreg_s7b_0p952>; 540 541 vdd-bob-supply = <&vph_pwr>; 542 543 /* 544 * S2, S5, S7, S10 are ARCs: 545 * S2 - cx.lvl, 546 * S5 - mss.lvl, 547 * S7 - gfx.lvl, 548 * S10 - mx.lvl. 549 */ 550 551 vdd22_wlbtpa_ch0: 552 vdd22_wlbtpa_ch1: 553 vdd22_wlbtppa_ch0: 554 vdd22_wlbtppa_ch1: 555 vdd22_wlpa5g_ch0: 556 vdd22_wlpa5g_ch1: 557 vdd22_wlppa5g_ch0: 558 vdd22_wlppa5g_ch1: 559 vreg_s1c_2p2: smps1 { 560 regulator-name = "vreg_s1c_2p2"; 561 regulator-min-microvolt = <2190000>; 562 regulator-max-microvolt = <2210000>; 563 }; 564 565 vdd_px1: 566 vreg_s9c_0p676: smps9 { 567 regulator-name = "vreg_s9c_0p676"; 568 regulator-min-microvolt = <1010000>; 569 regulator-max-microvolt = <1170000>; 570 }; 571 572 vdd_a_apc_cs_1p8: 573 vdd_a_cxo_1p8: 574 vdd_a_gfx_cs_1p8: 575 vdd_a_qrefs_1p8: 576 vdd_a_turing_q6_cs_1p8: 577 vdd_a_usbhs_1p8: 578 vdd_qfprom: 579 vreg_l1c_1p8: ldo1 { 580 regulator-name = "vreg_l1c_1p8"; 581 regulator-min-microvolt = <1800000>; 582 regulator-max-microvolt = <1980000>; 583 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 584 }; 585 586 vreg_l2c_1p8: ldo2 { 587 regulator-name = "vreg_l2c_1p8"; 588 regulator-min-microvolt = <1620000>; 589 regulator-max-microvolt = <1980000>; 590 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 591 }; 592 593 vdd_ts: 594 vreg_l3c_3p0: ldo3 { 595 regulator-name = "vreg_l3c_3p0"; 596 regulator-min-microvolt = <2800000>; 597 regulator-max-microvolt = <3540000>; 598 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 599 }; 600 601 vdd_px5: 602 vreg_l4c_1p8_3p0: ldo4 { 603 regulator-name = "vreg_l4c_1p8_3p0"; 604 regulator-min-microvolt = <1620000>; 605 regulator-max-microvolt = <3300000>; 606 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 607 }; 608 609 vdd_px6: 610 vreg_l5c_1p8_3p0: ldo5 { 611 regulator-name = "vreg_l5c_1p8_3p0"; 612 regulator-min-microvolt = <1620000>; 613 regulator-max-microvolt = <3300000>; 614 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 615 }; 616 617 vdd_px2: 618 vreg_l6c_2p96: ldo6 { 619 regulator-name = "vreg_l6c_2p96"; 620 regulator-min-microvolt = <1650000>; 621 regulator-max-microvolt = <3544000>; 622 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 623 }; 624 625 vdd_sensor_3p3: 626 vreg_l7c_3p0: ldo7 { 627 regulator-name = "vreg_l7c_3p0"; 628 regulator-min-microvolt = <3000000>; 629 regulator-max-microvolt = <3544000>; 630 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 631 }; 632 633 vdd_sensor_1p8: 634 vreg_l8c_1p8: ldo8 { 635 regulator-name = "vreg_l8c_1p8"; 636 regulator-min-microvolt = <1620000>; 637 regulator-max-microvolt = <2000000>; 638 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 639 }; 640 641 vreg_l9c_2p96: ldo9 { 642 regulator-name = "vreg_l9c_2p96"; 643 regulator-min-microvolt = <2700000>; 644 regulator-max-microvolt = <3544000>; 645 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 646 }; 647 648 vdd_a_csi_01_0p9: 649 vdd_a_csi_23_0p9: 650 vdd_a_csi_4_0p9: 651 vdd_a_dsi_0_0p9: 652 vdd_a_dsi_0_pll_0p9: 653 vdd_a_gnss_0p9: 654 vdd_a_qlink_0_0p9: 655 vdd_a_qlink_0_0p9_ck: 656 vdd_a_qlink_1_0p9: 657 vdd_a_qlink_1_0p9_ck: 658 vdd_a_qrefs_0p875_1: 659 vdd_a_qrefs_0p875_2: 660 vdd_a_qrefs_0p875_3: 661 vdd_a_qrefs_0p875_4: 662 vdd_a_qrefs_0p875_5: 663 vdd_a_qrefs_0p875_6: 664 vdd_a_qrefs_0p875_7: 665 vdd_a_qrefs_0p875_8: 666 vdd_a_qrefs_0p875_9: 667 vdd_a_ufs_0_core: 668 vdd_a_usbhs_core: 669 vdd_vref_0p9: 670 vreg_l10c_0p88: ldo10 { 671 regulator-name = "vreg_l10c_0p88"; 672 regulator-min-microvolt = <720000>; 673 regulator-max-microvolt = <1050000>; 674 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 675 regulator-allow-set-load; 676 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 677 RPMH_REGULATOR_MODE_HPM>; 678 }; 679 680 vdd_fm: 681 vdd_wlan_fem: 682 vreg_l11c_2p8: ldo11 { 683 regulator-name = "vreg_l11c_2p8"; 684 regulator-min-microvolt = <2800000>; 685 regulator-max-microvolt = <3544000>; 686 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 687 }; 688 689 vdd_io_oled: 690 vreg_l12c_1p8: ldo12 { 691 regulator-name = "vreg_l12c_1p8"; 692 regulator-min-microvolt = <1650000>; 693 regulator-max-microvolt = <2000000>; 694 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 695 }; 696 697 vdd_oled: 698 vreg_l13c_3p0: ldo13 { 699 regulator-name = "vreg_l13c_3p0"; 700 regulator-min-microvolt = <2700000>; 701 regulator-max-microvolt = <3544000>; 702 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 703 }; 704 705 vdd_flash: 706 vdd_mic_bias: 707 vreg_bob: bob { 708 regulator-name = "vreg_bob"; 709 regulator-min-microvolt = <3008000>; 710 regulator-max-microvolt = <3960000>; 711 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 712 }; 713 }; 714}; 715 716&cci0 { 717 status = "okay"; 718}; 719 720&cci0_i2c0 { 721 /* sony,imx471 (Front) */ 722}; 723 724&cci1 { 725 status = "okay"; 726}; 727 728&cci1_i2c0 { 729 /* samsung,s5kjn1 (Rear-aux UW) */ 730}; 731 732&cci1_i2c1 { 733 /* sony,imx766 (Rear Wide) */ 734}; 735 736&gcc { 737 protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, 738 <GCC_MSS_CFG_AHB_CLK>, 739 <GCC_MSS_OFFLINE_AXI_CLK>, 740 <GCC_MSS_Q6SS_BOOT_CLK_SRC>, 741 <GCC_MSS_Q6_MEMNOC_AXI_CLK>, 742 <GCC_MSS_SNOC_AXI_CLK>, 743 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 744 <GCC_QSPI_CORE_CLK>, 745 <GCC_QSPI_CORE_CLK_SRC>, 746 <GCC_SEC_CTRL_CLK_SRC>, 747 <GCC_WPSS_AHB_BDG_MST_CLK>, 748 <GCC_WPSS_AHB_CLK>, 749 <GCC_WPSS_RSCP_CLK>; 750}; 751 752&gpi_dma0 { 753 status = "okay"; 754}; 755 756&gpi_dma1 { 757 status = "okay"; 758}; 759 760&gpu_zap_shader { 761 firmware-name = "qcom/sm7325/nothing/spacewar/a660_zap.mbn"; 762}; 763 764&i2c1 { 765 clock-frequency = <100000>; 766 status = "okay"; 767 768 /* awinic,aw21018 (Glyph LED) @ 20 */ 769 770 typec-mux@42 { 771 compatible = "fcs,fsa4480"; 772 reg = <0x42>; 773 774 vcc-supply = <&vreg_bob>; 775 776 mode-switch; 777 orientation-switch; 778 779 port { 780 fsa4480_sbu_mux: endpoint { 781 remote-endpoint = <&pmic_glink_sbu>; 782 }; 783 }; 784 }; 785}; 786 787&i2c2 { 788 clock-frequency = <100000>; 789 status = "okay"; 790 791 /* nxp,tfa9873 (EAR speaker codec) @ 34 */ 792 /* nxp,tfa9873 (Main speaker codec) @ 35 */ 793}; 794 795&i2c9 { 796 clock-frequency = <1000000>; 797 status = "okay"; 798 799 nfc@28 { 800 compatible = "nxp,pn553", 801 "nxp,nxp-nci-i2c"; 802 reg = <0x28>; 803 804 interrupt-parent = <&tlmm>; 805 interrupts = <41 IRQ_TYPE_EDGE_RISING>; 806 807 enable-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 808 firmware-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; 809 810 pinctrl-0 = <&nfc_en>, 811 <&nfc_clk_req>, 812 <&nfc_dwl_req>, 813 <&nfc_int_req>; 814 pinctrl-names = "default"; 815 }; 816}; 817 818&ipa { 819 qcom,gsi-loader = "self"; 820 memory-region = <&ipa_fw_mem>; 821 firmware-name = "qcom/sm7325/nothing/spacewar/ipa_fws.mbn"; 822 823 status = "okay"; 824}; 825 826/* MDSS remains disabled until the panel driver is present. */ 827&mdss_dsi { 828 vdda-supply = <&vdd_a_dsi_0_1p2>; 829 830 /* Visionox RM692E5 panel */ 831}; 832 833&mdss_dsi_phy { 834 vdds-supply = <&vdd_a_dsi_0_0p9>; 835}; 836 837&pm7325_gpios { 838 gpio-line-names = "NC", /* GPIO_1 */ 839 "PA_THERM3", 840 "PA_THERM4", 841 "NC", 842 "NC", 843 "KYPD_VOLP_N", 844 "NC", 845 "NC", 846 "NC", 847 "NC"; /* GPIO_10 */ 848 849 kypd_volp_n: kypd-volp-n-state { 850 pins = "gpio6"; 851 function = PMIC_GPIO_FUNC_NORMAL; 852 bias-pull-up; 853 input-enable; 854 power-source = <1>; 855 }; 856}; 857 858&pm8350c_flash { 859 status = "okay"; 860 861 led-0 { 862 function = LED_FUNCTION_FLASH; 863 color = <LED_COLOR_ID_WHITE>; 864 led-sources = <1>, <4>; 865 led-max-microamp = <500000>; 866 flash-max-microamp = <1500000>; 867 flash-max-timeout-us = <1280000>; 868 }; 869}; 870 871&pmk8350_adc_tm { 872 status = "okay"; 873 874 /* PMK8350 */ 875 xo-therm@0 { 876 reg = <0>; 877 io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; 878 qcom,ratiometric; 879 qcom,hw-settle-time-us = <200>; 880 }; 881 882 /* PM7325 */ 883 quiet-therm@1 { 884 reg = <1>; 885 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>; 886 qcom,ratiometric; 887 qcom,hw-settle-time-us = <200>; 888 }; 889 890 cam-flash-therm@2 { 891 reg = <2>; 892 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>; 893 qcom,ratiometric; 894 qcom,hw-settle-time-us = <200>; 895 }; 896 897 sdm-skin-therm@3 { 898 reg = <3>; 899 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>; 900 qcom,ratiometric; 901 qcom,hw-settle-time-us = <200>; 902 }; 903 904 wide-rfc-therm@4 { 905 reg = <4>; 906 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>; 907 qcom,ratiometric; 908 qcom,hw-settle-time-us = <200>; 909 }; 910 911 /* PM8350B */ 912 usb-conn-therm@5 { 913 reg = <5>; 914 io-channels = <&pmk8350_vadc PM8350B_ADC7_AMUX_THM4_100K_PU>; 915 qcom,ratiometric; 916 qcom,hw-settle-time-us = <200>; 917 }; 918 919 chg-skin-therm@6 { 920 reg = <6>; 921 io-channels = <&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>; 922 qcom,ratiometric; 923 qcom,hw-settle-time-us = <200>; 924 }; 925}; 926 927&pmk8350_rtc { 928 status = "okay"; 929}; 930 931&pmk8350_vadc { 932 /* PMK8350 */ 933 channel@44 { 934 reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>; 935 qcom,ratiometric; 936 qcom,hw-settle-time = <200>; 937 qcom,pre-scaling = <1 1>; 938 label = "pmk8350_xo_therm"; 939 }; 940 941 /* PM7325 */ 942 channel@144 { 943 reg = <PM7325_ADC7_AMUX_THM1_100K_PU>; 944 qcom,ratiometric; 945 qcom,hw-settle-time = <200>; 946 qcom,pre-scaling = <1 1>; 947 label = "pm7325_quiet_therm"; 948 }; 949 950 channel@145 { 951 reg = <PM7325_ADC7_AMUX_THM2_100K_PU>; 952 qcom,ratiometric; 953 qcom,hw-settle-time = <200>; 954 qcom,pre-scaling = <1 1>; 955 label = "pm7325_cam_flash_therm"; 956 }; 957 958 channel@146 { 959 reg = <PM7325_ADC7_AMUX_THM3_100K_PU>; 960 qcom,ratiometric; 961 qcom,hw-settle-time = <200>; 962 qcom,pre-scaling = <1 1>; 963 label = "pm7325_sdm_skin_therm"; 964 }; 965 966 channel@147 { 967 reg = <PM7325_ADC7_AMUX_THM4_100K_PU>; 968 qcom,ratiometric; 969 qcom,hw-settle-time = <200>; 970 qcom,pre-scaling = <1 1>; 971 label = "pm7325_wide_rfc_therm"; 972 }; 973 974 channel@14a { 975 reg = <PM7325_ADC7_GPIO1_100K_PU>; 976 qcom,ratiometric; 977 qcom,hw-settle-time = <200>; 978 qcom,pre-scaling = <1 1>; 979 label = "pm7325_pa3_therm"; 980 }; 981 982 channel@14b { 983 reg = <PM7325_ADC7_GPIO2_100K_PU>; 984 qcom,ratiometric; 985 qcom,hw-settle-time = <200>; 986 qcom,pre-scaling = <1 1>; 987 label = "pm7325_pa4_therm"; 988 }; 989 990 /* PM8350B */ 991 channel@344 { 992 reg = <PM8350B_ADC7_AMUX_THM1_100K_PU>; 993 qcom,ratiometric; 994 qcom,hw-settle-time = <200>; 995 qcom,pre-scaling = <1 1>; 996 label = "pm8350b_batt_therm"; 997 }; 998 999 channel@347 { 1000 reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>; 1001 qcom,ratiometric; 1002 qcom,hw-settle-time = <200>; 1003 qcom,pre-scaling = <1 1>; 1004 label = "pm8350b_usb_conn_therm"; 1005 }; 1006 1007 channel@34b { 1008 reg = <PM8350B_ADC7_GPIO2_100K_PU>; 1009 qcom,ratiometric; 1010 qcom,hw-settle-time = <200>; 1011 qcom,pre-scaling = <1 1>; 1012 label = "pm8350b_chg_skin_therm"; 1013 }; 1014 1015 channel@34c { 1016 reg = <PM8350B_ADC7_GPIO3_100K_PU>; 1017 qcom,ratiometric; 1018 qcom,hw-settle-time = <200>; 1019 qcom,pre-scaling = <1 1>; 1020 label = "pm8350b_usb_therm2"; 1021 }; 1022}; 1023 1024&pon_pwrkey { 1025 status = "okay"; 1026}; 1027 1028&pon_resin { 1029 linux,code = <KEY_VOLUMEDOWN>; 1030 status = "okay"; 1031}; 1032 1033&q6afedai { 1034 dai@16 { 1035 reg = <PRIMARY_MI2S_RX>; 1036 qcom,sd-lines = <1>; 1037 }; 1038}; 1039 1040&q6asmdai { 1041 dai@0 { 1042 reg = <0>; 1043 }; 1044}; 1045 1046&qfprom { 1047 vcc-supply = <&vdd_qfprom>; 1048}; 1049 1050&qup_uart5_rx { 1051 drive-strength = <2>; 1052 bias-disable; 1053}; 1054 1055&qup_uart5_tx { 1056 drive-strength = <2>; 1057 bias-disable; 1058}; 1059 1060&qupv3_id_0 { 1061 status = "okay"; 1062}; 1063 1064&qupv3_id_1 { 1065 status = "okay"; 1066}; 1067 1068&remoteproc_adsp { 1069 firmware-name = "qcom/sm7325/nothing/spacewar/adsp.mbn"; 1070 status = "okay"; 1071}; 1072 1073&remoteproc_cdsp { 1074 firmware-name = "qcom/sm7325/nothing/spacewar/cdsp.mbn"; 1075 status = "okay"; 1076}; 1077 1078&remoteproc_mpss { 1079 firmware-name = "qcom/sm7325/nothing/spacewar/modem.mbn"; 1080 status = "okay"; 1081}; 1082 1083&remoteproc_wpss { 1084 firmware-name = "qcom/sm7325/nothing/spacewar/wpss.mbn"; 1085 status = "okay"; 1086}; 1087 1088&spi13 { 1089 status = "okay"; 1090 1091 /* focaltech,ft3680 (Touchscreen) @ 0 */ 1092}; 1093 1094&tlmm { 1095 /* 56-59: Fingerprint reader (SPI) */ 1096 gpio-reserved-ranges = <56 4>; 1097 1098 bt_uart_sleep_cts: bt-uart-sleep-cts-state { 1099 pins = "gpio28"; 1100 function = "gpio"; 1101 bias-bus-hold; 1102 }; 1103 1104 bt_uart_sleep_rts: bt-uart-sleep-rts-state { 1105 pins = "gpio29"; 1106 function = "gpio"; 1107 bias-pull-down; 1108 }; 1109 1110 bt_uart_sleep_txd: bt-uart-sleep-txd-state { 1111 pins = "gpio30"; 1112 function = "gpio"; 1113 bias-pull-up; 1114 }; 1115 1116 bt_uart_sleep_rxd: bt-uart-sleep-rxd-state { 1117 pins = "gpio31"; 1118 function = "gpio"; 1119 bias-pull-up; 1120 }; 1121 1122 nfc_en: nfc-en-state { 1123 pins = "gpio38"; 1124 function = "gpio"; 1125 drive-strength = <2>; 1126 bias-disable; 1127 }; 1128 1129 nfc_clk_req: nfc-clk-req-state { 1130 pins = "gpio39"; 1131 function = "gpio"; 1132 drive-strength = <2>; 1133 bias-disable; 1134 }; 1135 1136 nfc_dwl_req: nfc-dwl-req-state { 1137 pins = "gpio40"; 1138 function = "gpio"; 1139 drive-strength = <2>; 1140 bias-disable; 1141 }; 1142 1143 nfc_int_req: nfc-int-req-state { 1144 pins = "gpio41"; 1145 function = "gpio"; 1146 drive-strength = <2>; 1147 bias-pull-down; 1148 }; 1149 1150 hst_bt_en: hst-bt-en-state { 1151 pins = "gpio85"; 1152 function = "gpio"; 1153 output-low; 1154 bias-disable; 1155 }; 1156 1157 hst_sw_ctrl: hst-sw-ctrl-state { 1158 pins = "gpio86"; 1159 function = "gpio"; 1160 bias-pull-down; 1161 }; 1162}; 1163 1164&uart5 { 1165 status = "okay"; 1166}; 1167 1168&uart7 { 1169 /delete-property/interrupts; 1170 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>, 1171 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; 1172 1173 pinctrl-1 = <&bt_uart_sleep_cts>, 1174 <&bt_uart_sleep_rts>, 1175 <&bt_uart_sleep_txd>, 1176 <&bt_uart_sleep_rxd>; 1177 pinctrl-names = "default", "sleep"; 1178 1179 status = "okay"; 1180 1181 bluetooth: bluetooth { 1182 compatible = "qcom,wcn6750-bt"; 1183 1184 pinctrl-0 = <&hst_bt_en>, 1185 <&hst_sw_ctrl>; 1186 pinctrl-names = "default"; 1187 1188 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; 1189 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; 1190 1191 vddio-supply = <&vreg_l19b_1p8>; 1192 vddaon-supply = <&vreg_s7b_0p952>; 1193 vddbtcxmx-supply = <&vreg_s7b_0p952>; 1194 vddrfacmn-supply = <&vreg_s7b_0p952>; 1195 vddrfa0p8-supply = <&vreg_s7b_0p952>; 1196 vddrfa1p7-supply = <&vdd19_pmu_rfa_i>; 1197 vddrfa1p2-supply = <&vdd13_pmu_rfa_i>; 1198 vddrfa2p2-supply = <&vreg_s1c_2p2>; 1199 vddasd-supply = <&vreg_l11c_2p8>; 1200 max-speed = <3200000>; 1201 1202 qcom,local-bd-address-broken; 1203 }; 1204}; 1205 1206&ufs_mem_hc { 1207 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 1208 1209 vcc-supply = <&vreg_l7b_2p96>; 1210 vcc-max-microamp = <800000>; 1211 /* 1212 * Technically l9b enables an eLDO (supplied by s1b) which then powers 1213 * VCCQ2 of the UFS. 1214 */ 1215 vccq-supply = <&vreg_l9b_1p2>; 1216 vccq-max-microamp = <900000>; 1217 1218 status = "okay"; 1219}; 1220 1221&ufs_mem_phy { 1222 vdda-phy-supply = <&vdd_a_ufs_0_core>; 1223 vdda-pll-supply = <&vdd_a_ufs_0_1p2>; 1224 status = "okay"; 1225}; 1226 1227&usb_1 { 1228 /* USB 2.0 only */ 1229 qcom,select-utmi-as-pipe-clk; 1230 status = "okay"; 1231}; 1232 1233&usb_1_dwc3 { 1234 dr_mode = "otg"; 1235 usb-role-switch; 1236 maximum-speed = "high-speed"; 1237 /* Remove USB3 phy */ 1238 phys = <&usb_1_hsphy>; 1239 phy-names = "usb2-phy"; 1240}; 1241 1242&usb_1_dwc3_hs { 1243 remote-endpoint = <&pmic_glink_hs_in>; 1244}; 1245 1246&usb_1_hsphy { 1247 vdda-pll-supply = <&vdd_a_usbhs_core>; 1248 vdda18-supply = <&vdd_a_usbhs_1p8>; 1249 vdda33-supply = <&vdd_a_usbhs_3p1>; 1250 status = "okay"; 1251}; 1252 1253&venus { 1254 firmware-name = "qcom/sm7325/nothing/spacewar/vpu20_1v.mbn"; 1255 status = "okay"; 1256}; 1257 1258&wifi { 1259 status = "okay"; 1260}; 1261