FILE
sdm845-lg-common.dtsi
File preview with syntax highlighting.
linux-6.19.14/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * SDM845 LG G7 / V35 (judyln / judyp) common device tree 4 * 5 * Copyright (c) 2022, The Linux Foundation. All rights reserved. 6 */ 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 10#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11 12#include "sdm845.dtsi" 13#include "pm8998.dtsi" 14#include "pmi8998.dtsi" 15 16/delete-node/ &adsp_mem; 17/delete-node/ &cdsp_mem; 18/delete-node/ &gpu_mem; 19/delete-node/ &ipa_fw_mem; 20/delete-node/ &mba_region; 21/delete-node/ &mpss_region; 22/delete-node/ &qseecom_mem; 23/delete-node/ &rmtfs_mem; 24/delete-node/ &slpi_mem; 25/delete-node/ &spss_mem; 26/delete-node/ &venus_mem; 27/delete-node/ &wlan_msa_mem; 28 29/ { 30 chosen { 31 #address-cells = <2>; 32 #size-cells = <2>; 33 ranges; 34 }; 35 36 reserved-memory { 37 #address-cells = <2>; 38 #size-cells = <2>; 39 ranges; 40 41 qseecom_mem: memory@b2000000 { 42 reg = <0 0xb2000000 0 0x1800000>; 43 no-map; 44 }; 45 46 gpu_mem: memory@8c415000 { 47 reg = <0 0x8c415000 0 0x2000>; 48 no-map; 49 }; 50 51 ipa_fw_mem: memory@8c400000 { 52 reg = <0 0x8c400000 0 0x10000>; 53 no-map; 54 }; 55 56 adsp_mem: memory@8c500000 { 57 reg = <0 0x8c500000 0 0x1e00000>; 58 no-map; 59 }; 60 61 wlan_msa_mem: memory@8e300000 { 62 reg = <0 0x8e300000 0 0x100000>; 63 no-map; 64 }; 65 66 mpss_region: memory@8e400000 { 67 reg = <0 0x8e400000 0 0x8900000>; 68 no-map; 69 }; 70 71 venus_mem: memory@96d00000 { 72 reg = <0 0x96d00000 0 0x500000>; 73 no-map; 74 }; 75 76 cdsp_mem: memory@97200000 { 77 reg = <0 0x97200000 0 0x800000>; 78 no-map; 79 }; 80 81 mba_region: memory@97a00000 { 82 reg = <0 0x97a00000 0 0x200000>; 83 no-map; 84 }; 85 86 slpi_mem: memory@97c00000 { 87 reg = <0 0x97c00000 0 0x1400000>; 88 no-map; 89 }; 90 91 spss_mem: memory@99000000 { 92 reg = <0 0x99000000 0 0x100000>; 93 no-map; 94 }; 95 96 /* Framebuffer region */ 97 memory@9d400000 { 98 reg = <0x0 0x9d400000 0x0 0x2400000>; 99 no-map; 100 }; 101 102 rmtfs_mem: rmtfs-region@f0800000 { 103 compatible = "qcom,rmtfs-mem"; 104 reg = <0 0xf0800000 0 0x202000>; 105 qcom,use-guard-pages; 106 no-map; 107 108 qcom,client-id = <1>; 109 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; 110 }; 111 }; 112 113 gpio-keys { 114 compatible = "gpio-keys"; 115 116 pinctrl-names = "default"; 117 pinctrl-0 = <&vol_up_pin_a>; 118 119 label = "GPIO Buttons"; 120 121 key-vol-up { 122 label = "Volume up"; 123 linux,code = <KEY_VOLUMEUP>; 124 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; 125 }; 126 }; 127 128 vph_pwr: vph-pwr-regulator { 129 compatible = "regulator-fixed"; 130 regulator-name = "vph_pwr"; 131 regulator-min-microvolt = <3700000>; 132 regulator-max-microvolt = <3700000>; 133 }; 134 135 /* 136 * Apparently RPMh does not provide support for PM8998 S4 because it 137 * is always-on; model it as a fixed regulator. 138 */ 139 vreg_s4a_1p8: pm8998-smps4-regulator { 140 compatible = "regulator-fixed"; 141 regulator-name = "vreg_s4a_1p8"; 142 143 regulator-min-microvolt = <1800000>; 144 regulator-max-microvolt = <1800000>; 145 146 regulator-always-on; 147 regulator-boot-on; 148 149 vin-supply = <&vph_pwr>; 150 }; 151}; 152 153&adsp_pas { 154 status = "okay"; 155}; 156 157&apps_rsc { 158 regulators-0 { 159 compatible = "qcom,pm8998-rpmh-regulators"; 160 qcom,pmic-id = "a"; 161 162 vdd-s1-supply = <&vph_pwr>; 163 vdd-s2-supply = <&vph_pwr>; 164 vdd-s3-supply = <&vph_pwr>; 165 vdd-s4-supply = <&vph_pwr>; 166 vdd-s5-supply = <&vph_pwr>; 167 vdd-s6-supply = <&vph_pwr>; 168 vdd-s7-supply = <&vph_pwr>; 169 vdd-s8-supply = <&vph_pwr>; 170 vdd-s9-supply = <&vph_pwr>; 171 vdd-s10-supply = <&vph_pwr>; 172 vdd-s11-supply = <&vph_pwr>; 173 vdd-s12-supply = <&vph_pwr>; 174 vdd-s13-supply = <&vph_pwr>; 175 vdd-l1-l27-supply = <&vreg_s7a_1p025>; 176 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 177 vdd-l3-l11-supply = <&vreg_s7a_1p025>; 178 vdd-l4-l5-supply = <&vreg_s7a_1p025>; 179 vdd-l6-supply = <&vph_pwr>; 180 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 181 vdd-l9-supply = <&vreg_bob>; 182 vdd-l10-l23-l25-supply = <&vreg_bob>; 183 vdd-l13-l19-l21-supply = <&vreg_bob>; 184 vdd-l16-l28-supply = <&vreg_bob>; 185 vdd-l18-l22-supply = <&vreg_bob>; 186 vdd-l20-l24-supply = <&vreg_bob>; 187 vdd-l26-supply = <&vreg_s3a_1p35>; 188 vin-lvs-1-2-supply = <&vreg_s4a_1p8>; 189 190 vreg_s2a_1p125: smps2 { 191 regulator-min-microvolt = <1100000>; 192 regulator-max-microvolt = <1100000>; 193 }; 194 195 vreg_s3a_1p35: smps3 { 196 regulator-min-microvolt = <1352000>; 197 regulator-max-microvolt = <1352000>; 198 }; 199 200 vreg_s5a_2p04: smps5 { 201 regulator-min-microvolt = <1904000>; 202 regulator-max-microvolt = <2040000>; 203 }; 204 205 vreg_s7a_1p025: smps7 { 206 regulator-min-microvolt = <900000>; 207 regulator-max-microvolt = <1028000>; 208 }; 209 210 vdd_qusb_hs0: 211 vdda_hp_pcie_core: 212 vdda_mipi_csi0_0p9: 213 vdda_mipi_csi1_0p9: 214 vdda_mipi_csi2_0p9: 215 vdda_mipi_dsi0_pll: 216 vdda_mipi_dsi1_pll: 217 vdda_qlink_lv: 218 vdda_qlink_lv_ck: 219 vdda_qrefs_0p875: 220 vdda_pcie_core: 221 vdda_pll_cc_ebi01: 222 vdda_pll_cc_ebi23: 223 vdda_sp_sensor: 224 vdda_ufs1_core: 225 vdda_ufs2_core: 226 vdda_usb1_ss_core: 227 vdda_usb2_ss_core: 228 vreg_l1a_0p875: ldo1 { 229 regulator-min-microvolt = <880000>; 230 regulator-max-microvolt = <880000>; 231 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 232 }; 233 234 vddpx_10: 235 vreg_l2a_1p2: ldo2 { 236 regulator-min-microvolt = <1200000>; 237 regulator-max-microvolt = <1200000>; 238 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 239 regulator-always-on; 240 }; 241 242 vreg_l3a_1p0: ldo3 { 243 regulator-min-microvolt = <1000000>; 244 regulator-max-microvolt = <1000000>; 245 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 246 }; 247 248 vdd_wcss_cx: 249 vdd_wcss_mx: 250 vdda_wcss_pll: 251 vreg_l5a_0p8: ldo5 { 252 regulator-min-microvolt = <800000>; 253 regulator-max-microvolt = <800000>; 254 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 255 }; 256 257 vddpx_13: 258 vreg_l6a_1p8: ldo6 { 259 regulator-min-microvolt = <1856000>; 260 regulator-max-microvolt = <1856000>; 261 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 262 }; 263 264 vreg_l7a_1p8: ldo7 { 265 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <1800000>; 267 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 268 }; 269 270 vreg_l8a_1p2: ldo8 { 271 regulator-min-microvolt = <1200000>; 272 regulator-max-microvolt = <1248000>; 273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 274 }; 275 276 vreg_l9a_1p8: ldo9 { 277 regulator-min-microvolt = <1704000>; 278 regulator-max-microvolt = <2928000>; 279 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 280 }; 281 282 vreg_l10a_1p8: ldo10 { 283 regulator-min-microvolt = <1704000>; 284 regulator-max-microvolt = <2928000>; 285 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 286 }; 287 288 vreg_l11a_1p0: ldo11 { 289 regulator-min-microvolt = <1000000>; 290 regulator-max-microvolt = <1048000>; 291 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 292 }; 293 294 vdd_qfprom: 295 vdd_qfprom_sp: 296 vdda_apc1_cs_1p8: 297 vdda_gfx_cs_1p8: 298 vdda_qrefs_1p8: 299 vdda_qusb_hs0_1p8: 300 vddpx_11: 301 vreg_l12a_1p8: ldo12 { 302 regulator-min-microvolt = <1800000>; 303 regulator-max-microvolt = <1800000>; 304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 305 }; 306 307 vddpx_2: 308 vreg_l13a_2p95: ldo13 { 309 regulator-min-microvolt = <1800000>; 310 regulator-max-microvolt = <2960000>; 311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 }; 313 314 vreg_l14a_1p88: ldo14 { 315 regulator-min-microvolt = <1800000>; 316 regulator-max-microvolt = <1880000>; 317 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 318 }; 319 320 vreg_l15a_1p8: ldo15 { 321 regulator-min-microvolt = <1800000>; 322 regulator-max-microvolt = <1800000>; 323 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 324 }; 325 326 vreg_l17a_1p3: ldo17 { 327 regulator-min-microvolt = <1304000>; 328 regulator-max-microvolt = <1304000>; 329 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 330 }; 331 332 vreg_l18a_2p7: ldo18 { 333 regulator-min-microvolt = <2704000>; 334 regulator-max-microvolt = <2960000>; 335 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 336 }; 337 338 vreg_l20a_2p95: ldo20 { 339 regulator-min-microvolt = <2704000>; 340 regulator-max-microvolt = <2960000>; 341 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 342 }; 343 344 vreg_l21a_2p95: ldo21 { 345 regulator-min-microvolt = <2704000>; 346 regulator-max-microvolt = <2960000>; 347 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 348 }; 349 350 vreg_l22a_2p85: ldo22 { 351 regulator-min-microvolt = <2800000>; 352 regulator-max-microvolt = <2800000>; 353 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 354 }; 355 356 vreg_l23a_3p3: ldo23 { 357 regulator-min-microvolt = <3000000>; 358 regulator-max-microvolt = <3312000>; 359 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 360 }; 361 362 vdda_qusb_hs0_3p1: 363 vreg_l24a_3p075: ldo24 { 364 regulator-min-microvolt = <3088000>; 365 regulator-max-microvolt = <3088000>; 366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 367 }; 368 369 vreg_l25a_3p3: ldo25 { 370 regulator-min-microvolt = <3000000>; 371 regulator-max-microvolt = <3312000>; 372 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 373 }; 374 375 vdda_hp_pcie_1p2: 376 vdda_hv_ebi0: 377 vdda_hv_ebi1: 378 vdda_hv_ebi2: 379 vdda_hv_ebi3: 380 vdda_mipi_csi_1p25: 381 vdda_mipi_dsi0_1p2: 382 vdda_mipi_dsi1_1p2: 383 vdda_pcie_1p2: 384 vdda_ufs1_1p2: 385 vdda_ufs2_1p2: 386 vdda_usb1_ss_1p2: 387 vdda_usb2_ss_1p2: 388 vreg_l26a_1p2: ldo26 { 389 regulator-min-microvolt = <1200000>; 390 regulator-max-microvolt = <1200000>; 391 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 392 }; 393 394 vreg_l28a_3p0: ldo28 { 395 regulator-min-microvolt = <1800000>; 396 regulator-max-microvolt = <1800000>; 397 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 398 }; 399 400 vreg_lvs1a_1p8: lvs1 { 401 regulator-min-microvolt = <1800000>; 402 regulator-max-microvolt = <1800000>; 403 }; 404 405 vreg_lvs2a_1p8: lvs2 { 406 regulator-min-microvolt = <1800000>; 407 regulator-max-microvolt = <1800000>; 408 }; 409 }; 410 411 regulators-1 { 412 compatible = "qcom,pmi8998-rpmh-regulators"; 413 qcom,pmic-id = "b"; 414 415 vdd-bob-supply = <&vph_pwr>; 416 417 vreg_bob: bob { 418 regulator-min-microvolt = <3312000>; 419 regulator-max-microvolt = <3600000>; 420 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 421 regulator-allow-bypass; 422 }; 423 }; 424 425 regulators-2 { 426 compatible = "qcom,pm8005-rpmh-regulators"; 427 qcom,pmic-id = "c"; 428 429 vdd-s1-supply = <&vph_pwr>; 430 vdd-s2-supply = <&vph_pwr>; 431 vdd-s3-supply = <&vph_pwr>; 432 vdd-s4-supply = <&vph_pwr>; 433 434 vreg_s3c_0p6: smps3 { 435 regulator-min-microvolt = <600000>; 436 regulator-max-microvolt = <600000>; 437 }; 438 }; 439}; 440 441&cdsp_pas { 442 status = "okay"; 443}; 444 445&dispcc { 446 status = "disabled"; 447}; 448 449&gcc { 450 protected-clocks = <GCC_QSPI_CORE_CLK>, 451 <GCC_QSPI_CORE_CLK_SRC>, 452 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 453 <GCC_LPASS_Q6_AXI_CLK>, 454 <GCC_LPASS_SWAY_CLK>; 455}; 456 457&gpu { 458 status = "okay"; 459}; 460 461&ipa { 462 qcom,gsi-loader = "modem"; 463 status = "okay"; 464}; 465 466&mss_pil { 467 status = "okay"; 468}; 469 470&pm8998_resin { 471 linux,code = <KEY_VOLUMEDOWN>; 472 status = "okay"; 473}; 474 475&sdhc_2 { 476 status = "okay"; 477 478 cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>; 479 480 pinctrl-names = "default"; 481 pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data &sd_card_det_n>; 482 483 vmmc-supply = <&vreg_l21a_2p95>; 484 vqmmc-supply = <&vddpx_2>; 485}; 486 487/* 488 * UFS works partially and only with clk_ignore_unused. 489 * Sometimes it crashes with I/O errors. 490 */ 491&ufs_mem_hc { 492 status = "okay"; 493 494 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 495 496 vcc-supply = <&vreg_l20a_2p95>; 497 vcc-max-microamp = <600000>; 498}; 499 500&ufs_mem_phy { 501 status = "okay"; 502 503 vdda-phy-supply = <&vdda_ufs1_core>; 504 vdda-pll-supply = <&vdda_ufs1_1p2>; 505}; 506 507&usb_1 { 508 status = "okay"; 509}; 510 511&usb_1_dwc3 { 512 /* TODO: these devices have usb id pin */ 513 dr_mode = "peripheral"; 514}; 515 516&usb_1_hsphy { 517 status = "okay"; 518 519 vdd-supply = <&vdda_usb1_ss_core>; 520 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 521 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 522 523 qcom,imp-res-offset-value = <8>; 524 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 525 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 526 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 527}; 528 529&usb_1_qmpphy { 530 status = "okay"; 531 532 vdda-phy-supply = <&vdda_usb1_ss_1p2>; 533 vdda-pll-supply = <&vdda_usb1_ss_core>; 534}; 535 536/* PINCTRL - additions to nodes defined in sdm845.dtsi */ 537 538&tlmm { 539 gpio-reserved-ranges = <28 4>, <81 4>; 540 541 sdc2_clk: sdc2-clk-state { 542 pins = "sdc2_clk"; 543 bias-disable; 544 545 /* 546 * It seems that mmc_test reports errors if drive 547 * strength is not 16 on clk, cmd, and data pins. 548 * 549 * TODO: copy-pasted from mtp, try other values 550 * on these devices. 551 */ 552 drive-strength = <16>; 553 }; 554 555 sdc2_cmd: sdc2-cmd-state { 556 pins = "sdc2_cmd"; 557 bias-pull-up; 558 drive-strength = <16>; 559 }; 560 561 sdc2_data: sdc2-data-state { 562 pins = "sdc2_data"; 563 bias-pull-up; 564 drive-strength = <16>; 565 }; 566 567 sd_card_det_n: sd-card-det-n-state { 568 pins = "gpio126"; 569 function = "gpio"; 570 bias-pull-up; 571 }; 572}; 573 574&pm8998_gpios { 575 vol_up_pin_a: vol-up-active-state { 576 pins = "gpio6"; 577 function = "normal"; 578 input-enable; 579 bias-pull-up; 580 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 581 }; 582};
~/
Read-only file preview.