Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

arm64: dts: qcom: sm8250: Add device tree for Xiaomi Mi Pad 5 Pro

Add support for Xiaomi Mi Pad 5 Pro, codename is xiaomi-elish.

This commit brings support for:
* ADSP/CDSP/SLPI/VENUS
* Backlight
* Battery fuel gauge
* Framebuffer
* PCIe0
* USB2.0

Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230131123515.833-2-lujianhua000@gmail.com

authored by

Jianhua Lu and committed by
Bjorn Andersson
a41b6175 f1d6f9d2

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