1 // SPDX-License-Identifier: GPL-2.0-only OR BS 2 /* 3 * Copyright (c) 2023 Luka Panio <lukapanio@gma 4 */ 5 6 /dts-v1/; 7 8 #include <dt-bindings/arm/qcom,ids.h> 9 #include <dt-bindings/phy/phy.h> 10 #include <dt-bindings/regulator/qcom,rpmh-regu 11 #include "sm8250.dtsi" 12 #include "pm8150.dtsi" 13 #include "pm8150b.dtsi" 14 #include "pm8150l.dtsi" 15 #include "pm8009.dtsi" 16 17 /* 18 * Delete following upstream (sm8250.dtsi) res 19 * memory mappings which are different on this 20 */ 21 /delete-node/ &adsp_mem; 22 /delete-node/ &cdsp_secure_heap; 23 /delete-node/ &slpi_mem; 24 /delete-node/ &spss_mem; 25 /delete-node/ &xbl_aop_mem; 26 27 / { 28 29 model = "Xiaomi Pad 6"; 30 compatible = "xiaomi,pipa", "qcom,sm82 31 32 chassis-type = "tablet"; 33 34 /* required for bootloader to select c 35 qcom,msm-id = <QCOM_ID_SM8250 0x20001> 36 qcom,board-id = <0x34 0>; 37 38 chosen { 39 #address-cells = <2>; 40 #size-cells = <2>; 41 ranges; 42 43 framebuffer: framebuffer@9c000 44 compatible = "simple-f 45 reg = <0x0 0x9c000000 46 width = <1800>; 47 height = <2880>; 48 stride = <(1800 * 4)>; 49 format = "a8r8g8b8"; 50 }; 51 }; 52 53 battery_l: battery-l { 54 compatible = "simple-battery"; 55 voltage-min-design-microvolt = 56 energy-full-design-microwatt-h 57 charge-full-design-microamp-ho 58 }; 59 60 battery_r: battery-r { 61 compatible = "simple-battery"; 62 voltage-min-design-microvolt = 63 energy-full-design-microwatt-h 64 charge-full-design-microamp-ho 65 }; 66 67 bl_vddpos_5p5: bl-vddpos-regulator { 68 compatible = "regulator-fixed" 69 regulator-name = "bl_vddpos_5p 70 regulator-min-microvolt = <550 71 regulator-max-microvolt = <550 72 regulator-enable-ramp-delay = 73 gpio = <&tlmm 130 GPIO_ACTIVE_ 74 enable-active-high; 75 regulator-boot-on; 76 }; 77 78 bl_vddneg_5p5: bl-vddneg-regulator { 79 compatible = "regulator-fixed" 80 regulator-name = "bl_vddneg_5p 81 regulator-min-microvolt = <550 82 regulator-max-microvolt = <550 83 regulator-enable-ramp-delay = 84 gpio = <&tlmm 131 GPIO_ACTIVE_ 85 enable-active-high; 86 regulator-boot-on; 87 }; 88 89 gpio_keys: gpio-keys { 90 compatible = "gpio-keys"; 91 92 pinctrl-0 = <&vol_up_n>; 93 pinctrl-names = "default"; 94 95 key-vol-up { 96 label = "Volume Up"; 97 gpios = <&pm8150_gpios 98 linux,code = <KEY_VOLU 99 debounce-interval = <1 100 linux,can-disable; 101 wakeup-source; 102 }; 103 }; 104 105 vph_pwr: vph-pwr-regulator { 106 compatible = "regulator-fixed" 107 regulator-name = "vph_pwr"; 108 regulator-min-microvolt = <370 109 regulator-max-microvolt = <370 110 }; 111 112 /* S6c is really ebi.lvl but it's ther 113 vreg_s6c_0p88: smpc6-regulator { 114 compatible = "regulator-fixed" 115 regulator-name = "vreg_s6c_0p8 116 regulator-min-microvolt = <880 117 regulator-max-microvolt = <880 118 regulator-always-on; 119 vin-supply = <&vph_pwr>; 120 }; 121 122 reserved-memory { 123 xbl_aop_mem: xbl-aop@80700000 124 reg = <0x0 0x80600000 125 no-map; 126 }; 127 128 slpi_mem: slpi@88c00000 { 129 reg = <0x0 0x88c00000 130 no-map; 131 }; 132 133 adsp_mem: adsp@8bb00000 { 134 reg = <0x0 0x8bb00000 135 no-map; 136 }; 137 138 spss_mem: spss@8e000000 { 139 reg = <0x0 0x8e000000 140 no-map; 141 }; 142 143 cdsp_secure_heap: cdsp-secure- 144 reg = <0x0 0x8e100000 145 no-map; 146 }; 147 148 cont_splash_mem: cont-splash@9 149 reg = <0x0 0x9c000000 150 no-map; 151 }; 152 153 ramoops@b0000000 { 154 compatible = "ramoops" 155 reg = <0x0 0xb0000000 156 record-size = <0x1000> 157 console-size = <0x2000 158 ecc-size = <16>; 159 no-map; 160 }; 161 }; 162 }; 163 164 &adsp { 165 firmware-name = "qcom/sm8250/xiaomi/pi 166 status = "okay"; 167 }; 168 169 &apps_rsc { 170 regulators-0 { 171 compatible = "qcom,pm8150-rpmh 172 qcom,pmic-id = "a"; 173 174 vdd-s1-supply = <&vph_pwr>; 175 vdd-s2-supply = <&vph_pwr>; 176 vdd-s3-supply = <&vph_pwr>; 177 vdd-s4-supply = <&vph_pwr>; 178 vdd-s5-supply = <&vph_pwr>; 179 vdd-s6-supply = <&vph_pwr>; 180 vdd-s7-supply = <&vph_pwr>; 181 vdd-s8-supply = <&vph_pwr>; 182 vdd-s9-supply = <&vph_pwr>; 183 vdd-s10-supply = <&vph_pwr>; 184 vdd-l1-l8-l11-supply = <&vreg_ 185 vdd-l2-l10-supply = <&vreg_bob 186 vdd-l3-l4-l5-l18-supply = <&vr 187 vdd-l6-l9-supply = <&vreg_s8c_ 188 vdd-l7-l12-l14-l15-supply = <& 189 vdd-l13-l16-l17-supply = <&vre 190 191 /* (S1+S2+S3) - cx.lvl (ARC) * 192 193 vreg_s4a_1p8: smps4 { 194 regulator-name = "vreg 195 regulator-min-microvol 196 regulator-max-microvol 197 regulator-initial-mode 198 regulator-allow-set-lo 199 regulator-allowed-mode 200 201 }; 202 203 vreg_s5a_1p9: smps5 { 204 regulator-name = "vreg 205 regulator-min-microvol 206 regulator-max-microvol 207 regulator-initial-mode 208 }; 209 210 vreg_s6a_0p95: smps6 { 211 regulator-name = "vreg 212 regulator-min-microvol 213 regulator-max-microvol 214 regulator-initial-mode 215 }; 216 217 vreg_l2a_3p1: ldo2 { 218 regulator-name = "vreg 219 regulator-min-microvol 220 regulator-max-microvol 221 regulator-initial-mode 222 }; 223 224 vreg_l3a_0p9: ldo3 { 225 regulator-name = "vreg 226 regulator-min-microvol 227 regulator-max-microvol 228 regulator-initial-mode 229 }; 230 231 /* L4 - lmx.lvl (ARC) */ 232 233 vreg_l5a_0p88: ldo5 { 234 regulator-name = "vreg 235 regulator-min-microvol 236 regulator-max-microvol 237 regulator-initial-mode 238 }; 239 240 vreg_l6a_1p2: ldo6 { 241 regulator-name = "vreg 242 regulator-min-microvol 243 regulator-max-microvol 244 regulator-initial-mode 245 regulator-allow-set-lo 246 regulator-allowed-mode 247 248 }; 249 250 /* L7 is unused. */ 251 252 vreg_l9a_1p2: ldo9 { 253 regulator-name = "vreg 254 regulator-min-microvol 255 regulator-max-microvol 256 regulator-initial-mode 257 }; 258 259 /* L10 is unused, L11 - lcx.lv 260 261 vreg_l12a_1p8: ldo12 { 262 regulator-name = "vreg 263 regulator-min-microvol 264 regulator-max-microvol 265 regulator-initial-mode 266 }; 267 268 /* L13 is unused. */ 269 270 vreg_l14a_1p88: ldo14 { 271 regulator-name = "vreg 272 regulator-min-microvol 273 regulator-max-microvol 274 regulator-initial-mode 275 }; 276 277 /* L15 & L16 are unused. */ 278 279 vreg_l17a_3p0: ldo17 { 280 regulator-name = "vreg 281 regulator-min-microvol 282 regulator-max-microvol 283 regulator-initial-mode 284 regulator-allow-set-lo 285 regulator-allowed-mode 286 287 }; 288 289 vreg_l18a_0p9: ldo18 { 290 regulator-name = "vreg 291 regulator-min-microvol 292 regulator-max-microvol 293 regulator-initial-mode 294 }; 295 }; 296 297 regulators-1 { 298 compatible = "qcom,pm8150l-rpm 299 qcom,pmic-id = "c"; 300 301 vdd-s1-supply = <&vph_pwr>; 302 vdd-s2-supply = <&vph_pwr>; 303 vdd-s3-supply = <&vph_pwr>; 304 vdd-s4-supply = <&vph_pwr>; 305 vdd-s5-supply = <&vph_pwr>; 306 vdd-s6-supply = <&vph_pwr>; 307 vdd-s7-supply = <&vph_pwr>; 308 vdd-s8-supply = <&vph_pwr>; 309 vdd-l1-l8-supply = <&vreg_s4a_ 310 vdd-l2-l3-supply = <&vreg_s8c_ 311 vdd-l4-l5-l6-supply = <&vreg_b 312 vdd-l7-l11-supply = <&vreg_bob 313 vdd-l9-l10-supply = <&vreg_bob 314 vdd-bob-supply = <&vph_pwr>; 315 316 vreg_bob: bob { 317 regulator-name = "vreg 318 regulator-min-microvol 319 regulator-max-microvol 320 regulator-initial-mode 321 }; 322 323 /* 324 * S1-S6 are ARCs: 325 * (S1+S2) - gfx.lvl, 326 * S3 - mx.lvl, 327 * (S4+S5) - mmcx.lvl, 328 * S6 - ebi.lvl 329 */ 330 331 vreg_s7c_0p35: smps7 { 332 regulator-name = "vreg 333 regulator-min-microvol 334 regulator-max-microvol 335 regulator-initial-mode 336 }; 337 338 vreg_s8c_1p35: smps8 { 339 regulator-name = "vreg 340 regulator-min-microvol 341 regulator-max-microvol 342 regulator-initial-mode 343 }; 344 345 vreg_l1c_1p8: ldo1 { 346 regulator-name = "vreg 347 regulator-min-microvol 348 regulator-max-microvol 349 regulator-initial-mode 350 }; 351 352 /* L2-4 are unused. */ 353 354 vreg_l5c_1p8: ldo5 { 355 regulator-name = "vreg 356 regulator-min-microvol 357 regulator-max-microvol 358 regulator-initial-mode 359 }; 360 361 vreg_l6c_2p9: ldo6 { 362 regulator-name = "vreg 363 regulator-min-microvol 364 regulator-max-microvol 365 regulator-initial-mode 366 regulator-allow-set-lo 367 regulator-allowed-mode 368 369 }; 370 371 vreg_l7c_2p85: ldo7 { 372 regulator-name = "vreg 373 regulator-min-microvol 374 regulator-max-microvol 375 regulator-initial-mode 376 }; 377 378 vreg_l8c_1p8: ldo8 { 379 regulator-name = "vreg 380 regulator-min-microvol 381 regulator-max-microvol 382 regulator-initial-mode 383 }; 384 385 vreg_l9c_2p9: ldo9 { 386 regulator-name = "vreg 387 regulator-min-microvol 388 regulator-max-microvol 389 regulator-initial-mode 390 regulator-allow-set-lo 391 regulator-allowed-mode 392 393 }; 394 395 vreg_l10c_3p3: ldo10 { 396 regulator-name = "vreg 397 regulator-min-microvol 398 regulator-max-microvol 399 regulator-initial-mode 400 }; 401 402 vreg_l11c_3p0: ldo11 { 403 regulator-name = "vreg 404 regulator-min-microvol 405 regulator-max-microvol 406 regulator-initial-mode 407 }; 408 }; 409 410 regulators-2 { 411 compatible = "qcom,pm8009-rpmh 412 qcom,pmic-id = "f"; 413 414 vdd-s1-supply = <&vph_pwr>; 415 vdd-s2-supply = <&vreg_bob>; 416 vdd-l2-supply = <&vreg_s8c_1p3 417 vdd-l5-l6-supply = <&vreg_bob> 418 vdd-l7-supply = <&vreg_s4a_1p8 419 420 vreg_s1f_1p2: smps1 { 421 regulator-name = "vreg 422 regulator-min-microvol 423 regulator-max-microvol 424 regulator-initial-mode 425 }; 426 427 vreg_s2f_0p5: smps2 { 428 regulator-name = "vreg 429 regulator-min-microvol 430 regulator-max-microvol 431 regulator-initial-mode 432 }; 433 434 /* L1 is unused. */ 435 436 vreg_l2f_1p3: ldo2 { 437 regulator-name = "vreg 438 regulator-min-microvol 439 regulator-max-microvol 440 regulator-initial-mode 441 }; 442 443 /* L3 & L4 are unused. */ 444 445 vreg_l5f_2p8: ldo5 { 446 regulator-name = "vreg 447 regulator-min-microvol 448 regulator-max-microvol 449 regulator-initial-mode 450 }; 451 452 vreg_l6f_2p8: ldo6 { 453 regulator-name = "vreg 454 regulator-min-microvol 455 regulator-max-microvol 456 regulator-initial-mode 457 }; 458 459 vreg_l7f_1p8: ldo7 { 460 regulator-name = "vreg 461 regulator-min-microvol 462 regulator-max-microvol 463 regulator-initial-mode 464 }; 465 }; 466 }; 467 468 &cdsp { 469 firmware-name = "qcom/sm8250/xiaomi/pi 470 status = "okay"; 471 }; 472 473 &gmu { 474 status = "okay"; 475 }; 476 477 &gpi_dma0 { 478 status = "okay"; 479 }; 480 481 &gpi_dma1 { 482 status = "okay"; 483 }; 484 485 &gpi_dma2 { 486 status = "okay"; 487 }; 488 489 &gpu { 490 status = "okay"; 491 492 zap-shader { 493 memory-region = <&gpu_mem>; 494 firmware-name = "qcom/sm8250/x 495 }; 496 }; 497 498 &i2c0 { 499 clock-frequency = <400000>; 500 status = "okay"; 501 502 fuel-gauge@55 { 503 compatible = "ti,bq27z561"; 504 reg = <0x55>; 505 monitored-battery = <&battery_ 506 }; 507 }; 508 509 &i2c11 { 510 clock-frequency = <400000>; 511 status = "okay"; 512 513 backlight: backlight@11 { 514 compatible = "kinetic,ktz8866" 515 reg = <0x11>; 516 vddpos-supply = <&bl_vddpos_5p 517 vddneg-supply = <&bl_vddneg_5p 518 enable-gpios = <&tlmm 139 GPIO 519 current-num-sinks = <5>; 520 kinetic,current-ramp-delay-ms 521 kinetic,led-enable-ramp-delay- 522 kinetic,enable-lcd-bias; 523 }; 524 }; 525 526 &i2c13 { 527 clock-frequency = <400000>; 528 status = "okay"; 529 530 fuel-gauge@55 { 531 compatible = "ti,bq27z561"; 532 reg = <0x55>; 533 monitored-battery = <&battery_ 534 }; 535 }; 536 537 &pcie0 { 538 status = "okay"; 539 }; 540 541 &pcie0_phy { 542 vdda-phy-supply = <&vreg_l5a_0p88>; 543 vdda-pll-supply = <&vreg_l9a_1p2>; 544 status = "okay"; 545 }; 546 547 &pm8150_gpios { 548 vol_up_n: vol-up-n-state { 549 pins = "gpio6"; 550 function = "normal"; 551 power-source = <1>; 552 input-enable; 553 bias-pull-up; 554 }; 555 }; 556 557 &pon_pwrkey { 558 status = "okay"; 559 }; 560 561 &pon_resin { 562 linux,code = <KEY_VOLUMEDOWN>; 563 status = "okay"; 564 }; 565 566 &qupv3_id_0 { 567 status = "okay"; 568 }; 569 570 &qupv3_id_1 { 571 status = "okay"; 572 }; 573 574 &qupv3_id_2 { 575 status = "okay"; 576 }; 577 578 &slpi { 579 firmware-name = "qcom/sm8250/xiaomi/pi 580 status = "okay"; 581 }; 582 583 &usb_1 { 584 status = "okay"; 585 }; 586 587 &usb_1_dwc3 { 588 dr_mode = "peripheral"; 589 }; 590 591 &usb_1_hsphy { 592 vdda-pll-supply = <&vreg_l5a_0p88>; 593 vdda18-supply = <&vreg_l12a_1p8>; 594 vdda33-supply = <&vreg_l2a_3p1>; 595 status = "okay"; 596 }; 597 598 &usb_1_qmpphy { 599 status = "okay"; 600 vdda-phy-supply = <&vreg_l9a_1p2>; 601 vdda-pll-supply = <&vreg_l18a_0p9>; 602 }; 603 604 &ufs_mem_hc { 605 vcc-supply = <&vreg_l17a_3p0>; 606 vcc-max-microamp = <800000>; 607 vccq-supply = <&vreg_l6a_1p2>; 608 vccq-max-microamp = <800000>; 609 vccq2-supply = <&vreg_s4a_1p8>; 610 vccq2-max-microamp = <800000>; 611 status = "okay"; 612 }; 613 614 &ufs_mem_phy { 615 vdda-phy-supply = <&vreg_l5a_0p88>; 616 vdda-pll-supply = <&vreg_l9a_1p2>; 617 status = "okay"; 618 }; 619 620 &venus { 621 firmware-name = "qcom/sm8250/xiaomi/pi 622 status = "okay"; 623 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.