0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
0004 */
0005
0006 /dts-v1/;
0007
0008 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
0009 #include <dt-bindings/sound/qcom,q6afe.h>
0010 #include <dt-bindings/sound/qcom,q6asm.h>
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include "sm8250.dtsi"
0013 #include "pm8150.dtsi"
0014 #include "pm8150b.dtsi"
0015 #include "pm8150l.dtsi"
0016 #include "pm8009.dtsi"
0017
0018 / {
0019 model = "Qualcomm Technologies, Inc. SM8250 MTP";
0020 compatible = "qcom,sm8250-mtp", "qcom,sm8250";
0021
0022 aliases {
0023 serial0 = &uart12;
0024 };
0025
0026 chosen {
0027 stdout-path = "serial0:115200n8";
0028 };
0029
0030 thermal-zones {
0031 camera-thermal {
0032 polling-delay-passive = <0>;
0033 polling-delay = <0>;
0034 thermal-sensors = <&pm8150l_adc_tm 0>;
0035
0036 trips {
0037 active-config0 {
0038 temperature = <125000>;
0039 hysteresis = <1000>;
0040 type = "passive";
0041 };
0042 };
0043 };
0044
0045 conn-thermal {
0046 polling-delay-passive = <0>;
0047 polling-delay = <0>;
0048 thermal-sensors = <&pm8150b_adc_tm 0>;
0049
0050 trips {
0051 active-config0 {
0052 temperature = <125000>;
0053 hysteresis = <1000>;
0054 type = "passive";
0055 };
0056 };
0057 };
0058
0059 mmw-pa1-thermal {
0060 polling-delay-passive = <0>;
0061 polling-delay = <0>;
0062 thermal-sensors = <&pm8150_adc_tm 2>;
0063
0064 trips {
0065 active-config0 {
0066 temperature = <125000>;
0067 hysteresis = <1000>;
0068 type = "passive";
0069 };
0070 };
0071 };
0072
0073 mmw-pa2-thermal {
0074 polling-delay-passive = <0>;
0075 polling-delay = <0>;
0076 thermal-sensors = <&pm8150l_adc_tm 2>;
0077
0078 trips {
0079 active-config0 {
0080 temperature = <125000>;
0081 hysteresis = <1000>;
0082 type = "passive";
0083 };
0084 };
0085 };
0086
0087 skin-msm-thermal {
0088 polling-delay-passive = <0>;
0089 polling-delay = <0>;
0090 thermal-sensors = <&pm8150l_adc_tm 1>;
0091
0092 trips {
0093 active-config0 {
0094 temperature = <125000>;
0095 hysteresis = <1000>;
0096 type = "passive";
0097 };
0098 };
0099 };
0100
0101 skin-thermal {
0102 polling-delay-passive = <0>;
0103 polling-delay = <0>;
0104 thermal-sensors = <&pm8150_adc_tm 1>;
0105
0106 trips {
0107 active-config0 {
0108 temperature = <125000>;
0109 hysteresis = <1000>;
0110 type = "passive";
0111 };
0112 };
0113 };
0114
0115 xo-thermal {
0116 polling-delay-passive = <0>;
0117 polling-delay = <0>;
0118 thermal-sensors = <&pm8150_adc_tm 0>;
0119
0120 trips {
0121 active-config0 {
0122 temperature = <125000>;
0123 hysteresis = <1000>;
0124 type = "passive";
0125 };
0126 };
0127 };
0128 };
0129
0130 vph_pwr: vph-pwr-regulator {
0131 compatible = "regulator-fixed";
0132 regulator-name = "vph_pwr";
0133 regulator-min-microvolt = <3700000>;
0134 regulator-max-microvolt = <3700000>;
0135 };
0136
0137 vreg_s4a_1p8: pm8150-s4 {
0138 compatible = "regulator-fixed";
0139 regulator-name = "vreg_s4a_1p8";
0140
0141 regulator-min-microvolt = <1800000>;
0142 regulator-max-microvolt = <1800000>;
0143
0144 regulator-always-on;
0145 regulator-boot-on;
0146
0147 vin-supply = <&vph_pwr>;
0148 };
0149
0150 vreg_s6c_0p88: smpc6-regulator {
0151 compatible = "regulator-fixed";
0152 regulator-name = "vreg_s6c_0p88";
0153
0154 regulator-min-microvolt = <880000>;
0155 regulator-max-microvolt = <880000>;
0156 regulator-always-on;
0157 vin-supply = <&vph_pwr>;
0158 };
0159 };
0160
0161 &adsp {
0162 status = "okay";
0163 firmware-name = "qcom/sm8250/adsp.mbn";
0164 };
0165
0166 &apps_rsc {
0167 pm8150-rpmh-regulators {
0168 compatible = "qcom,pm8150-rpmh-regulators";
0169 qcom,pmic-id = "a";
0170
0171 vdd-s1-supply = <&vph_pwr>;
0172 vdd-s2-supply = <&vph_pwr>;
0173 vdd-s3-supply = <&vph_pwr>;
0174 vdd-s4-supply = <&vph_pwr>;
0175 vdd-s5-supply = <&vph_pwr>;
0176 vdd-s6-supply = <&vph_pwr>;
0177 vdd-s7-supply = <&vph_pwr>;
0178 vdd-s8-supply = <&vph_pwr>;
0179 vdd-s9-supply = <&vph_pwr>;
0180 vdd-s10-supply = <&vph_pwr>;
0181 vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
0182 vdd-l2-l10-supply = <&vreg_bob>;
0183 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
0184 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
0185 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
0186 vdd-l13-l16-l17-supply = <&vreg_bob>;
0187
0188 vreg_s5a_1p9: smps5 {
0189 regulator-name = "vreg_s5a_1p9";
0190 regulator-min-microvolt = <1904000>;
0191 regulator-max-microvolt = <2000000>;
0192 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0193 };
0194
0195 vreg_s6a_0p95: smps6 {
0196 regulator-name = "vreg_s6a_0p95";
0197 regulator-min-microvolt = <920000>;
0198 regulator-max-microvolt = <1128000>;
0199 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0200 };
0201
0202 vreg_l2a_3p1: ldo2 {
0203 regulator-name = "vreg_l2a_3p1";
0204 regulator-min-microvolt = <3072000>;
0205 regulator-max-microvolt = <3072000>;
0206 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0207 };
0208
0209 vreg_l3a_0p9: ldo3 {
0210 regulator-name = "vreg_l3a_0p9";
0211 regulator-min-microvolt = <928000>;
0212 regulator-max-microvolt = <932000>;
0213 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0214 };
0215
0216 vreg_l5a_0p875: ldo5 {
0217 regulator-name = "vreg_l5a_0p875";
0218 regulator-min-microvolt = <880000>;
0219 regulator-max-microvolt = <880000>;
0220 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0221 };
0222
0223 vreg_l6a_1p2: ldo6 {
0224 regulator-name = "vreg_l6a_1p2";
0225 regulator-min-microvolt = <1200000>;
0226 regulator-max-microvolt = <1200000>;
0227 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0228 };
0229
0230 vreg_l7a_1p7: ldo7 {
0231 regulator-name = "vreg_l7a_1p7";
0232 regulator-min-microvolt = <1704000>;
0233 regulator-max-microvolt = <1800000>;
0234 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0235 };
0236
0237 vreg_l9a_1p2: ldo9 {
0238 regulator-name = "vreg_l9a_1p2";
0239 regulator-min-microvolt = <1200000>;
0240 regulator-max-microvolt = <1200000>;
0241 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0242 };
0243
0244 vreg_l10a_1p8: ldo10 {
0245 regulator-name = "vreg_l10a_1p8";
0246 regulator-min-microvolt = <1800000>;
0247 regulator-max-microvolt = <1800000>;
0248 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0249 };
0250
0251 vreg_l12a_1p8: ldo12 {
0252 regulator-name = "vreg_l12a_1p8";
0253 regulator-min-microvolt = <1800000>;
0254 regulator-max-microvolt = <1800000>;
0255 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0256 };
0257
0258 vreg_l13a_ts_3p0: ldo13 {
0259 regulator-name = "vreg_l13a_ts_3p0";
0260 regulator-min-microvolt = <3008000>;
0261 regulator-max-microvolt = <3008000>;
0262 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0263 };
0264
0265 vreg_l14a_1p8: ldo14 {
0266 regulator-name = "vreg_l14a_1p8";
0267 regulator-min-microvolt = <1800000>;
0268 regulator-max-microvolt = <1880000>;
0269 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0270 };
0271
0272 vreg_l15a_11ad_io_1p8: ldo15 {
0273 regulator-name = "vreg_l15a_11ad_io_1p8";
0274 regulator-min-microvolt = <1800000>;
0275 regulator-max-microvolt = <1800000>;
0276 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0277 };
0278
0279 vreg_l16a_2p7: ldo16 {
0280 regulator-name = "vreg_l16a_2p7";
0281 regulator-min-microvolt = <2704000>;
0282 regulator-max-microvolt = <2960000>;
0283 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0284 };
0285
0286 vreg_l17a_3p0: ldo17 {
0287 regulator-name = "vreg_l17a_3p0";
0288 regulator-min-microvolt = <2856000>;
0289 regulator-max-microvolt = <3008000>;
0290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0291 };
0292
0293 vreg_l18a_0p9: ldo18 {
0294 regulator-name = "vreg_l18a_0p9";
0295 regulator-min-microvolt = <912000>;
0296 regulator-max-microvolt = <912000>;
0297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0298 };
0299 };
0300
0301 pm8150l-rpmh-regulators {
0302 compatible = "qcom,pm8150l-rpmh-regulators";
0303 qcom,pmic-id = "c";
0304
0305 vdd-s1-supply = <&vph_pwr>;
0306 vdd-s2-supply = <&vph_pwr>;
0307 vdd-s3-supply = <&vph_pwr>;
0308 vdd-s4-supply = <&vph_pwr>;
0309 vdd-s5-supply = <&vph_pwr>;
0310 vdd-s6-supply = <&vph_pwr>;
0311 vdd-s7-supply = <&vph_pwr>;
0312 vdd-s8-supply = <&vph_pwr>;
0313 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
0314 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
0315 vdd-l4-l5-l6-supply = <&vreg_bob>;
0316 vdd-l7-l11-supply = <&vreg_bob>;
0317 vdd-l9-l10-supply = <&vreg_bob>;
0318 vdd-bob-supply = <&vph_pwr>;
0319
0320 vreg_bob: bob {
0321 regulator-name = "vreg_bob";
0322 regulator-min-microvolt = <3008000>;
0323 regulator-max-microvolt = <4000000>;
0324 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
0325 };
0326
0327 vreg_s8c_1p3: smps8 {
0328 regulator-name = "vreg_s8c_1p3";
0329 regulator-min-microvolt = <1352000>;
0330 regulator-max-microvolt = <1352000>;
0331 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0332 };
0333
0334 vreg_l1c_1p8: ldo1 {
0335 regulator-name = "vreg_l1c_1p8";
0336 regulator-min-microvolt = <1800000>;
0337 regulator-max-microvolt = <1800000>;
0338 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0339 };
0340
0341 vreg_l2c_1p2: ldo2 {
0342 regulator-name = "vreg_l2c_1p2";
0343 regulator-min-microvolt = <1200000>;
0344 regulator-max-microvolt = <1200000>;
0345 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0346 };
0347
0348 vreg_l3c_0p92: ldo3 {
0349 regulator-name = "vreg_l3c_0p92";
0350 regulator-min-microvolt = <920000>;
0351 regulator-max-microvolt = <920000>;
0352 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0353 };
0354
0355 vreg_l4c_1p7: ldo4 {
0356 regulator-name = "vreg_l4c_1p7";
0357 regulator-min-microvolt = <1704000>;
0358 regulator-max-microvolt = <2928000>;
0359 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0360 };
0361
0362 vreg_l5c_1p8: ldo5 {
0363 regulator-name = "vreg_l5c_1p8";
0364 regulator-min-microvolt = <1800000>;
0365 regulator-max-microvolt = <2928000>;
0366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0367 };
0368
0369 vreg_l6c_2p9: ldo6 {
0370 regulator-name = "vreg_l6c_2p9";
0371 regulator-min-microvolt = <1800000>;
0372 regulator-max-microvolt = <2960000>;
0373 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0374 };
0375
0376 vreg_l7c_cam_vcm0_2p85: ldo7 {
0377 regulator-name = "vreg_l7c_cam_vcm0_2p85";
0378 regulator-min-microvolt = <2856000>;
0379 regulator-max-microvolt = <3104000>;
0380 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0381 };
0382
0383 vreg_l8c_1p8: ldo8 {
0384 regulator-name = "vreg_l8c_1p8";
0385 regulator-min-microvolt = <1800000>;
0386 regulator-max-microvolt = <1800000>;
0387 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0388 };
0389
0390 vreg_l9c_2p9: ldo9 {
0391 regulator-name = "vreg_l9c_2p9";
0392 regulator-min-microvolt = <2704000>;
0393 regulator-max-microvolt = <2960000>;
0394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0395 };
0396
0397 vreg_l10c_3p0: ldo10 {
0398 regulator-name = "vreg_l10c_3p0";
0399 regulator-min-microvolt = <3000000>;
0400 regulator-max-microvolt = <3000000>;
0401 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0402 };
0403
0404 vreg_l11c_3p3: ldo11 {
0405 regulator-name = "vreg_l11c_3p3";
0406 regulator-min-microvolt = <3000000>;
0407 regulator-max-microvolt = <3312000>;
0408 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0409 };
0410 };
0411
0412 pm8009-rpmh-regulators {
0413 compatible = "qcom,pm8009-rpmh-regulators";
0414 qcom,pmic-id = "f";
0415
0416 vdd-s1-supply = <&vph_pwr>;
0417 vdd-s2-supply = <&vreg_bob>;
0418 vdd-l2-supply = <&vreg_s8c_1p3>;
0419 vdd-l5-l6-supply = <&vreg_bob>;
0420 vdd-l7-supply = <&vreg_s4a_1p8>;
0421
0422 vreg_l1f_cam_dvdd1_1p1: ldo1 {
0423 regulator-name = "vreg_l1f_cam_dvdd1_1p1";
0424 regulator-min-microvolt = <1104000>;
0425 regulator-max-microvolt = <1104000>;
0426 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0427 };
0428
0429 vreg_l2f_cam_dvdd0_1p2: ldo2 {
0430 regulator-name = "vreg_l2f_cam_dvdd0_1p2";
0431 regulator-min-microvolt = <1200000>;
0432 regulator-max-microvolt = <1200000>;
0433 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0434 };
0435
0436 vreg_l3f_cam_dvdd2_1p05: ldo3 {
0437 regulator-name = "vreg_l3f_cam_dvdd2_1p05";
0438 regulator-min-microvolt = <1056000>;
0439 regulator-max-microvolt = <1056000>;
0440 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0441 };
0442
0443 vreg_l5f_cam_avdd0_2p85: ldo5 {
0444 regulator-name = "vreg_l5f_cam_avdd0_2p85";
0445 regulator-min-microvolt = <2800000>;
0446 regulator-max-microvolt = <2800000>;
0447 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0448 };
0449
0450 vreg_l6f_cam_avdd1_2p85: ldo6 {
0451 regulator-name = "vreg_l6f_cam_avdd1_2p85";
0452 regulator-min-microvolt = <2856000>;
0453 regulator-max-microvolt = <2856000>;
0454 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0455 };
0456
0457 vreg_l7f_1p8: ldo7 {
0458 regulator-name = "vreg_l7f_1p8";
0459 regulator-min-microvolt = <1800000>;
0460 regulator-max-microvolt = <1800000>;
0461 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0462 };
0463 };
0464 };
0465
0466 &cdsp {
0467 status = "okay";
0468 firmware-name = "qcom/sm8250/cdsp.mbn";
0469 };
0470
0471 &gmu {
0472 status = "okay";
0473 };
0474
0475 &gpu {
0476 status = "okay";
0477
0478 zap-shader {
0479 memory-region = <&gpu_mem>;
0480 firmware-name = "qcom/sm8250/a650_zap.mbn";
0481 };
0482 };
0483
0484 &i2c1 {
0485 status = "okay";
0486 clock-frequency = <1000000>;
0487
0488 /* NQ NFC chip @28 */
0489 };
0490
0491 &i2c13 {
0492 status = "okay";
0493
0494 /* st,stmfts @ 49 */
0495 };
0496
0497 &i2c15 {
0498 status = "okay";
0499
0500 /* smb1390 @ 10 */
0501 /* rtc6226 @ 64 */
0502 };
0503
0504 &pm8150_adc {
0505 xo-therm@4c {
0506 reg = <ADC5_XO_THERM_100K_PU>;
0507 qcom,ratiometric;
0508 qcom,hw-settle-time = <200>;
0509 };
0510
0511 skin-therm@4d {
0512 reg = <ADC5_AMUX_THM1_100K_PU>;
0513 qcom,ratiometric;
0514 qcom,hw-settle-time = <200>;
0515 };
0516
0517 pa-therm1@4e {
0518 reg = <ADC5_AMUX_THM2_100K_PU>;
0519 qcom,ratiometric;
0520 qcom,hw-settle-time = <200>;
0521 };
0522 };
0523
0524 &pm8150_adc_tm {
0525 status = "okay";
0526
0527 xo-therm@0 {
0528 reg = <0>;
0529 io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
0530 qcom,ratiometric;
0531 qcom,hw-settle-time-us = <200>;
0532 };
0533
0534 skin-therm@1 {
0535 reg = <1>;
0536 io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
0537 qcom,ratiometric;
0538 qcom,hw-settle-time-us = <200>;
0539 };
0540
0541 pa-therm1@2 {
0542 reg = <2>;
0543 io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
0544 qcom,ratiometric;
0545 qcom,hw-settle-time-us = <200>;
0546 };
0547 };
0548
0549 &pm8150b_adc {
0550 conn-therm@4f {
0551 reg = <ADC5_AMUX_THM3_100K_PU>;
0552 qcom,ratiometric;
0553 qcom,hw-settle-time = <200>;
0554 };
0555 };
0556
0557 &pm8150b_adc_tm {
0558 status = "okay";
0559
0560 conn-therm@0 {
0561 reg = <0>;
0562 io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
0563 qcom,ratiometric;
0564 qcom,hw-settle-time-us = <200>;
0565 };
0566 };
0567
0568 &pm8150l_adc_tm {
0569 status = "okay";
0570
0571 camera-flash-therm@0 {
0572 reg = <0>;
0573 io-channels = <&pm8150l_adc ADC5_AMUX_THM1_100K_PU>;
0574 qcom,ratiometric;
0575 qcom,hw-settle-time-us = <200>;
0576 };
0577
0578 skin-msm-therm@1 {
0579 reg = <1>;
0580 io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
0581 qcom,ratiometric;
0582 qcom,hw-settle-time-us = <200>;
0583 };
0584
0585 pa-therm2@2 {
0586 reg = <2>;
0587 io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
0588 qcom,ratiometric;
0589 qcom,hw-settle-time-us = <200>;
0590 };
0591 };
0592
0593 &pm8150l_adc {
0594 camera-flash-therm@4d {
0595 reg = <ADC5_AMUX_THM1_100K_PU>;
0596 qcom,ratiometric;
0597 qcom,hw-settle-time = <200>;
0598 };
0599
0600 skin-msm-therm@4e {
0601 reg = <ADC5_AMUX_THM2_100K_PU>;
0602 qcom,ratiometric;
0603 qcom,hw-settle-time = <200>;
0604 };
0605
0606 pa-therm2@4f {
0607 reg = <ADC5_AMUX_THM3_100K_PU>;
0608 qcom,ratiometric;
0609 qcom,hw-settle-time = <200>;
0610 };
0611 };
0612
0613 &qupv3_id_0 {
0614 status = "okay";
0615 };
0616
0617 &qupv3_id_1 {
0618 status = "okay";
0619 };
0620
0621 &qupv3_id_2 {
0622 status = "okay";
0623 };
0624
0625 &rxmacro {
0626 status = "okay";
0627 };
0628
0629 &slpi {
0630 status = "okay";
0631 firmware-name = "qcom/sm8250/slpi.mbn";
0632 };
0633
0634 &soc {
0635 wcd938x: codec {
0636 compatible = "qcom,wcd9380-codec";
0637 #sound-dai-cells = <1>;
0638 reset-gpios = <&tlmm 32 0>;
0639 vdd-buck-supply = <&vreg_s4a_1p8>;
0640 vdd-rxtx-supply = <&vreg_s4a_1p8>;
0641 vdd-io-supply = <&vreg_s4a_1p8>;
0642 vdd-mic-bias-supply = <&vreg_bob>;
0643 qcom,micbias1-microvolt = <1800000>;
0644 qcom,micbias2-microvolt = <1800000>;
0645 qcom,micbias3-microvolt = <1800000>;
0646 qcom,micbias4-microvolt = <1800000>;
0647 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
0648 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
0649 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
0650 qcom,rx-device = <&wcd_rx>;
0651 qcom,tx-device = <&wcd_tx>;
0652 };
0653 };
0654
0655 &sound {
0656 compatible = "qcom,sm8250-sndcard";
0657 model = "SM8250-MTP-WCD9380-WSA8810-VA-DMIC";
0658 audio-routing =
0659 "SpkrLeft IN", "WSA_SPK1 OUT",
0660 "SpkrRight IN", "WSA_SPK2 OUT",
0661 "IN1_HPHL", "HPHL_OUT",
0662 "IN2_HPHR", "HPHR_OUT",
0663 "AMIC1", "MIC BIAS1",
0664 "AMIC2", "MIC BIAS2",
0665 "AMIC3", "MIC BIAS3",
0666 "AMIC4", "MIC BIAS3",
0667 "AMIC5", "MIC BIAS4",
0668 "TX SWR_ADC0", "ADC1_OUTPUT",
0669 "TX SWR_ADC1", "ADC2_OUTPUT",
0670 "TX SWR_ADC2", "ADC3_OUTPUT",
0671 "TX SWR_ADC3", "ADC4_OUTPUT",
0672 "TX SWR_DMIC0", "DMIC1_OUTPUT",
0673 "TX SWR_DMIC1", "DMIC2_OUTPUT",
0674 "TX SWR_DMIC2", "DMIC3_OUTPUT",
0675 "TX SWR_DMIC3", "DMIC4_OUTPUT",
0676 "TX SWR_DMIC4", "DMIC5_OUTPUT",
0677 "TX SWR_DMIC5", "DMIC6_OUTPUT",
0678 "TX SWR_DMIC6", "DMIC7_OUTPUT",
0679 "TX SWR_DMIC7", "DMIC8_OUTPUT";
0680
0681 mm1-dai-link {
0682 link-name = "MultiMedia1";
0683 cpu {
0684 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
0685 };
0686 };
0687
0688 mm2-dai-link {
0689 link-name = "MultiMedia2";
0690 cpu {
0691 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
0692 };
0693 };
0694
0695 mm3-dai-link {
0696 link-name = "MultiMedia3";
0697 cpu {
0698 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
0699 };
0700 };
0701
0702 wcd-playback-dai-link {
0703 link-name = "WCD Playback";
0704 cpu {
0705 sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
0706 };
0707 codec {
0708 sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
0709 };
0710 platform {
0711 sound-dai = <&q6routing>;
0712 };
0713 };
0714
0715 wcd-capture-dai-link {
0716 link-name = "WCD Capture";
0717 cpu {
0718 sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
0719 };
0720
0721 codec {
0722 sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
0723 };
0724 platform {
0725 sound-dai = <&q6routing>;
0726 };
0727 };
0728
0729 wsa-dai-link {
0730 link-name = "WSA Playback";
0731 cpu {
0732 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
0733 };
0734
0735 codec {
0736 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
0737 };
0738 platform {
0739 sound-dai = <&q6routing>;
0740 };
0741 };
0742
0743 va-dai-link {
0744 link-name = "VA Capture";
0745 cpu {
0746 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
0747 };
0748
0749 platform {
0750 sound-dai = <&q6routing>;
0751 };
0752
0753 codec {
0754 sound-dai = <&vamacro 0>;
0755 };
0756 };
0757 };
0758
0759 &swr0 {
0760 left_spkr: wsa8810-right@0,3{
0761 compatible = "sdw10217211000";
0762 reg = <0 3>;
0763 powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
0764 #thermal-sensor-cells = <0>;
0765 sound-name-prefix = "SpkrLeft";
0766 #sound-dai-cells = <0>;
0767 };
0768
0769 right_spkr: wsa8810-left@0,4{
0770 compatible = "sdw10217211000";
0771 reg = <0 4>;
0772 powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
0773 #thermal-sensor-cells = <0>;
0774 sound-name-prefix = "SpkrRight";
0775 #sound-dai-cells = <0>;
0776 };
0777 };
0778
0779 &swr1 {
0780 status = "okay";
0781
0782 wcd_rx: wcd9380-rx@0,4 {
0783 compatible = "sdw20217010d00";
0784 reg = <0 4>;
0785 qcom,rx-port-mapping = <1 2 3 4 5>;
0786 };
0787 };
0788
0789 &swr2 {
0790 status = "okay";
0791
0792 wcd_tx: wcd9380-tx@0,3 {
0793 compatible = "sdw20217010d00";
0794 reg = <0 3>;
0795 qcom,tx-port-mapping = <2 3 4 5>;
0796 };
0797 };
0798
0799 &tlmm {
0800 gpio-reserved-ranges = <28 4>, <40 4>;
0801
0802 wcd938x_reset_default: wcd938x_reset_default {
0803 mux {
0804 pins = "gpio32";
0805 function = "gpio";
0806 };
0807
0808 config {
0809 pins = "gpio32";
0810 drive-strength = <16>;
0811 output-high;
0812 };
0813 };
0814
0815 wcd938x_reset_sleep: wcd938x_reset_sleep {
0816 mux {
0817 pins = "gpio32";
0818 function = "gpio";
0819 };
0820
0821 config {
0822 pins = "gpio32";
0823 drive-strength = <16>;
0824 bias-disable;
0825 output-low;
0826 };
0827 };
0828 };
0829
0830 &txmacro {
0831 status = "okay";
0832 };
0833
0834 &uart12 {
0835 status = "okay";
0836 };
0837
0838 &ufs_mem_hc {
0839 status = "okay";
0840
0841 vcc-supply = <&vreg_l17a_3p0>;
0842 vcc-max-microamp = <750000>;
0843 vccq-supply = <&vreg_l6a_1p2>;
0844 vccq-max-microamp = <700000>;
0845 vccq2-supply = <&vreg_s4a_1p8>;
0846 vccq2-max-microamp = <750000>;
0847 };
0848
0849 &ufs_mem_phy {
0850 status = "okay";
0851
0852 vdda-phy-supply = <&vreg_l5a_0p875>;
0853 vdda-pll-supply = <&vreg_l9a_1p2>;
0854 };
0855
0856 &usb_1 {
0857 status = "okay";
0858 };
0859
0860 &usb_1_dwc3 {
0861 dr_mode = "host";
0862 };
0863
0864 &usb_1_hsphy {
0865 status = "okay";
0866
0867 vdda-pll-supply = <&vreg_l5a_0p875>;
0868 vdda18-supply = <&vreg_l12a_1p8>;
0869 vdda33-supply = <&vreg_l2a_3p1>;
0870 };
0871
0872 &usb_1_qmpphy {
0873 status = "okay";
0874
0875 vdda-phy-supply = <&vreg_l9a_1p2>;
0876 vdda-pll-supply = <&vreg_l18a_0p9>;
0877 };
0878
0879 &usb_2 {
0880 status = "okay";
0881 };
0882
0883 &usb_2_dwc3 {
0884 dr_mode = "host";
0885 };
0886
0887 &usb_2_hsphy {
0888 status = "okay";
0889
0890 vdda-pll-supply = <&vreg_l5a_0p875>;
0891 vdda18-supply = <&vreg_l12a_1p8>;
0892 vdda33-supply = <&vreg_l2a_3p1>;
0893 };
0894
0895 &usb_2_qmpphy {
0896 status = "okay";
0897
0898 vdda-phy-supply = <&vreg_l9a_1p2>;
0899 vdda-pll-supply = <&vreg_l18a_0p9>;
0900 };
0901
0902 &venus {
0903 status = "okay";
0904 };