0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003 * Copyright (c) 2020, Linaro Ltd.
0004 */
0005
0006 /dts-v1/;
0007
0008 #include <dt-bindings/leds/common.h>
0009 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
0010 #include <dt-bindings/sound/qcom,q6afe.h>
0011 #include <dt-bindings/sound/qcom,q6asm.h>
0012 #include "sm8250.dtsi"
0013 #include "pm8150.dtsi"
0014 #include "pm8150b.dtsi"
0015 #include "pm8150l.dtsi"
0016
0017 / {
0018 model = "Qualcomm Technologies, Inc. Robotics RB5";
0019 compatible = "qcom,qrb5165-rb5", "qcom,sm8250";
0020 qcom,msm-id = <455 0x20001>;
0021 qcom,board-id = <11 3>;
0022
0023 aliases {
0024 serial0 = &uart12;
0025 sdhc2 = &sdhc_2;
0026 };
0027
0028 chosen {
0029 stdout-path = "serial0:115200n8";
0030 };
0031
0032 /* Fixed crystal oscillator dedicated to MCP2518FD */
0033 clk40M: can-clock {
0034 compatible = "fixed-clock";
0035 #clock-cells = <0>;
0036 clock-frequency = <40000000>;
0037 };
0038
0039 dc12v: dc12v-regulator {
0040 compatible = "regulator-fixed";
0041 regulator-name = "DC12V";
0042 regulator-min-microvolt = <12000000>;
0043 regulator-max-microvolt = <12000000>;
0044 regulator-always-on;
0045 };
0046
0047 hdmi-out {
0048 compatible = "hdmi-connector";
0049 type = "a";
0050
0051 port {
0052 hdmi_con: endpoint {
0053 remote-endpoint = <<9611_out>;
0054 };
0055 };
0056 };
0057
0058 leds {
0059 compatible = "gpio-leds";
0060
0061 led-user4 {
0062 label = "green:user4";
0063 function = LED_FUNCTION_INDICATOR;
0064 color = <LED_COLOR_ID_GREEN>;
0065 gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
0066 linux,default-trigger = "panic-indicator";
0067 default-state = "off";
0068 };
0069
0070 led-wlan {
0071 label = "yellow:wlan";
0072 function = LED_FUNCTION_WLAN;
0073 color = <LED_COLOR_ID_YELLOW>;
0074 gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>;
0075 linux,default-trigger = "phy0tx";
0076 default-state = "off";
0077 };
0078
0079 led-bt {
0080 label = "blue:bt";
0081 function = LED_FUNCTION_BLUETOOTH;
0082 color = <LED_COLOR_ID_BLUE>;
0083 gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
0084 linux,default-trigger = "bluetooth-power";
0085 default-state = "off";
0086 };
0087 };
0088
0089 lt9611_1v2: lt9611-vdd12-regulator {
0090 compatible = "regulator-fixed";
0091 regulator-name = "LT9611_1V2";
0092
0093 vin-supply = <&vdc_3v3>;
0094 regulator-min-microvolt = <1200000>;
0095 regulator-max-microvolt = <1200000>;
0096 };
0097
0098 lt9611_3v3: lt9611-3v3 {
0099 compatible = "regulator-fixed";
0100 regulator-name = "LT9611_3V3";
0101
0102 vin-supply = <&vdc_3v3>;
0103 regulator-min-microvolt = <3300000>;
0104 regulator-max-microvolt = <3300000>;
0105 regulator-boot-on;
0106 regulator-always-on;
0107 };
0108
0109 thermal-zones {
0110 conn-thermal {
0111 polling-delay-passive = <0>;
0112 polling-delay = <0>;
0113 thermal-sensors = <&pm8150b_adc_tm 0>;
0114
0115 trips {
0116 active-config0 {
0117 temperature = <125000>;
0118 hysteresis = <1000>;
0119 type = "critical";
0120 };
0121 };
0122 };
0123
0124 pm8150l-thermal {
0125 polling-delay-passive = <0>;
0126 polling-delay = <0>;
0127 thermal-sensors = <&pm8150l_adc_tm 1>;
0128
0129 trips {
0130 active-config0 {
0131 temperature = <50000>;
0132 hysteresis = <4000>;
0133 type = "passive";
0134 };
0135 };
0136 };
0137
0138 skin-msm-thermal {
0139 polling-delay-passive = <0>;
0140 polling-delay = <0>;
0141 thermal-sensors = <&pm8150l_adc_tm 0>;
0142
0143 trips {
0144 active-config0 {
0145 temperature = <50000>;
0146 hysteresis = <4000>;
0147 type = "passive";
0148 };
0149 };
0150 };
0151
0152 wifi-thermal {
0153 polling-delay-passive = <0>;
0154 polling-delay = <0>;
0155 thermal-sensors = <&pm8150_adc_tm 1>;
0156
0157 trips {
0158 active-config0 {
0159 temperature = <52000>;
0160 hysteresis = <4000>;
0161 type = "passive";
0162 };
0163 };
0164 };
0165
0166 xo-thermal {
0167 polling-delay-passive = <0>;
0168 polling-delay = <0>;
0169 thermal-sensors = <&pm8150_adc_tm 0>;
0170
0171 trips {
0172 active-config0 {
0173 temperature = <50000>;
0174 hysteresis = <4000>;
0175 type = "passive";
0176 };
0177 };
0178 };
0179 };
0180
0181 vbat: vbat-regulator {
0182 compatible = "regulator-fixed";
0183 regulator-name = "VBAT";
0184 vin-supply = <&vreg_l11c_3p3>;
0185 regulator-min-microvolt = <4200000>;
0186 regulator-max-microvolt = <4200000>;
0187 regulator-always-on;
0188 };
0189
0190 vbat_som: vbat-som-regulator {
0191 compatible = "regulator-fixed";
0192 regulator-name = "VBAT_SOM";
0193 vin-supply = <&dc12v>;
0194 regulator-min-microvolt = <4200000>;
0195 regulator-max-microvolt = <4200000>;
0196 regulator-always-on;
0197 };
0198
0199 vdc_3v3: vdc-3v3-regulator {
0200 compatible = "regulator-fixed";
0201 regulator-name = "VDC_3V3";
0202 vin-supply = <&vreg_l11c_3p3>;
0203 regulator-min-microvolt = <3300000>;
0204 regulator-max-microvolt = <3300000>;
0205 regulator-always-on;
0206 };
0207
0208 vdc_5v: vdc-5v-regulator {
0209 compatible = "regulator-fixed";
0210 regulator-name = "VDC_5V";
0211
0212 regulator-min-microvolt = <5000000>;
0213 regulator-max-microvolt = <5000000>;
0214 regulator-always-on;
0215 vin-supply = <&vreg_l11c_3p3>;
0216 };
0217
0218 vph_pwr: vph-pwr-regulator {
0219 compatible = "regulator-fixed";
0220 regulator-name = "vph_pwr";
0221 regulator-min-microvolt = <3700000>;
0222 regulator-max-microvolt = <3700000>;
0223 regulator-always-on;
0224 };
0225
0226 vreg_s4a_1p8: vreg-s4a-1p8 {
0227 compatible = "regulator-fixed";
0228 regulator-name = "vreg_s4a_1p8";
0229 regulator-min-microvolt = <1800000>;
0230 regulator-max-microvolt = <1800000>;
0231 regulator-always-on;
0232 };
0233 };
0234
0235 &adsp {
0236 status = "okay";
0237 firmware-name = "qcom/sm8250/adsp.mbn";
0238 };
0239
0240 &apps_rsc {
0241 pm8009-rpmh-regulators {
0242 compatible = "qcom,pm8009-1-rpmh-regulators";
0243 qcom,pmic-id = "f";
0244
0245 vdd-s1-supply = <&vph_pwr>;
0246 vdd-s2-supply = <&vph_pwr>;
0247 vdd-l2-supply = <&vreg_s8c_1p3>;
0248 vdd-l5-l6-supply = <&vreg_bob>;
0249 vdd-l7-supply = <&vreg_s4a_1p8>;
0250
0251 vreg_s2f_0p95: smps2 {
0252 regulator-name = "vreg_s2f_0p95";
0253 regulator-min-microvolt = <900000>;
0254 regulator-max-microvolt = <952000>;
0255 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
0256 };
0257
0258 vreg_l1f_1p1: ldo1 {
0259 regulator-name = "vreg_l1f_1p1";
0260 regulator-min-microvolt = <1104000>;
0261 regulator-max-microvolt = <1104000>;
0262 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0263 };
0264
0265 vreg_l2f_1p2: ldo2 {
0266 regulator-name = "vreg_l2f_1p2";
0267 regulator-min-microvolt = <1200000>;
0268 regulator-max-microvolt = <1200000>;
0269 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0270 };
0271
0272 vreg_l6f_2p8: ldo6 {
0273 regulator-name = "vreg_l6f_2p8";
0274 regulator-min-microvolt = <2800000>;
0275 regulator-max-microvolt = <2800000>;
0276 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0277 };
0278
0279 vreg_l7f_1p8: ldo7 {
0280 regulator-name = "vreg_l7f_1p8";
0281 regulator-min-microvolt = <1800000>;
0282 regulator-max-microvolt = <1800000>;
0283 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0284 };
0285 };
0286
0287 pm8150-rpmh-regulators {
0288 compatible = "qcom,pm8150-rpmh-regulators";
0289 qcom,pmic-id = "a";
0290
0291 vdd-s1-supply = <&vph_pwr>;
0292 vdd-s2-supply = <&vph_pwr>;
0293 vdd-s3-supply = <&vph_pwr>;
0294 vdd-s4-supply = <&vph_pwr>;
0295 vdd-s5-supply = <&vph_pwr>;
0296 vdd-s6-supply = <&vph_pwr>;
0297 vdd-s7-supply = <&vph_pwr>;
0298 vdd-s8-supply = <&vph_pwr>;
0299 vdd-s9-supply = <&vph_pwr>;
0300 vdd-s10-supply = <&vph_pwr>;
0301 vdd-l2-l10-supply = <&vreg_bob>;
0302 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
0303 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
0304 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
0305 vdd-l13-l16-l17-supply = <&vreg_bob>;
0306
0307 vreg_l2a_3p1: ldo2 {
0308 regulator-name = "vreg_l2a_3p1";
0309 regulator-min-microvolt = <3072000>;
0310 regulator-max-microvolt = <3072000>;
0311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0312 };
0313
0314 vreg_l3a_0p9: ldo3 {
0315 regulator-name = "vreg_l3a_0p9";
0316 regulator-min-microvolt = <928000>;
0317 regulator-max-microvolt = <932000>;
0318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0319 };
0320
0321 vreg_l5a_0p88: ldo5 {
0322 regulator-name = "vreg_l5a_0p88";
0323 regulator-min-microvolt = <880000>;
0324 regulator-max-microvolt = <880000>;
0325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0326 };
0327
0328 vreg_l6a_1p2: ldo6 {
0329 regulator-name = "vreg_l6a_1p2";
0330 regulator-min-microvolt = <1200000>;
0331 regulator-max-microvolt = <1200000>;
0332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0333 };
0334
0335 vreg_l7a_1p7: ldo7 {
0336 regulator-name = "vreg_l7a_1p7";
0337 regulator-min-microvolt = <1704000>;
0338 regulator-max-microvolt = <1800000>;
0339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0340 };
0341
0342 vreg_l9a_1p2: ldo9 {
0343 regulator-name = "vreg_l9a_1p2";
0344 regulator-min-microvolt = <1200000>;
0345 regulator-max-microvolt = <1200000>;
0346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0347 };
0348
0349 vreg_l10a_1p8: ldo10 {
0350 regulator-name = "vreg_l10a_1p8";
0351 regulator-min-microvolt = <1800000>;
0352 regulator-max-microvolt = <1800000>;
0353 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0354 };
0355
0356 vreg_l12a_1p8: ldo12 {
0357 regulator-name = "vreg_l12a_1p8";
0358 regulator-min-microvolt = <1800000>;
0359 regulator-max-microvolt = <1800000>;
0360 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0361 };
0362
0363 vreg_l13a_ts_3p0: ldo13 {
0364 regulator-name = "vreg_l13a_ts_3p0";
0365 regulator-min-microvolt = <3008000>;
0366 regulator-max-microvolt = <3008000>;
0367 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0368 };
0369
0370 vreg_l14a_1p8: ldo14 {
0371 regulator-name = "vreg_l14a_1p8";
0372 regulator-min-microvolt = <1800000>;
0373 regulator-max-microvolt = <1880000>;
0374 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0375 };
0376
0377 vreg_l15a_1p8: ldo15 {
0378 regulator-name = "vreg_l15a_1p8";
0379 regulator-min-microvolt = <1800000>;
0380 regulator-max-microvolt = <1800000>;
0381 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0382 };
0383
0384 vreg_l16a_2p7: ldo16 {
0385 regulator-name = "vreg_l16a_2p7";
0386 regulator-min-microvolt = <2704000>;
0387 regulator-max-microvolt = <2960000>;
0388 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0389 };
0390
0391 vreg_l17a_3p0: ldo17 {
0392 regulator-name = "vreg_l17a_3p0";
0393 regulator-min-microvolt = <2856000>;
0394 regulator-max-microvolt = <3008000>;
0395 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0396 };
0397
0398 vreg_l18a_0p92: ldo18 {
0399 regulator-name = "vreg_l18a_0p92";
0400 regulator-min-microvolt = <800000>;
0401 regulator-max-microvolt = <912000>;
0402 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0403 };
0404
0405 vreg_s5a_1p9: smps5 {
0406 regulator-name = "vreg_s5a_1p9";
0407 regulator-min-microvolt = <1904000>;
0408 regulator-max-microvolt = <2000000>;
0409 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0410 };
0411
0412 vreg_s6a_0p95: smps6 {
0413 regulator-name = "vreg_s6a_0p95";
0414 regulator-min-microvolt = <920000>;
0415 regulator-max-microvolt = <1128000>;
0416 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0417 };
0418 };
0419
0420 pm8150l-rpmh-regulators {
0421 compatible = "qcom,pm8150l-rpmh-regulators";
0422 qcom,pmic-id = "c";
0423
0424 vdd-s1-supply = <&vph_pwr>;
0425 vdd-s2-supply = <&vph_pwr>;
0426 vdd-s3-supply = <&vph_pwr>;
0427 vdd-s4-supply = <&vph_pwr>;
0428 vdd-s5-supply = <&vph_pwr>;
0429 vdd-s6-supply = <&vph_pwr>;
0430 vdd-s7-supply = <&vph_pwr>;
0431 vdd-s8-supply = <&vph_pwr>;
0432 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
0433 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
0434 vdd-l4-l5-l6-supply = <&vreg_bob>;
0435 vdd-l7-l11-supply = <&vreg_bob>;
0436 vdd-l9-l10-supply = <&vreg_bob>;
0437 vdd-bob-supply = <&vph_pwr>;
0438
0439 vreg_bob: bob {
0440 regulator-name = "vreg_bob";
0441 regulator-min-microvolt = <3008000>;
0442 regulator-max-microvolt = <4000000>;
0443 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
0444 };
0445
0446 vreg_l1c_1p8: ldo1 {
0447 regulator-name = "vreg_l1c_1p8";
0448 regulator-min-microvolt = <1800000>;
0449 regulator-max-microvolt = <1800000>;
0450 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0451 };
0452
0453 vreg_l2c_1p2: ldo2 {
0454 regulator-name = "vreg_l2c_1p2";
0455 regulator-min-microvolt = <1200000>;
0456 regulator-max-microvolt = <1200000>;
0457 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0458 };
0459
0460 vreg_l3c_0p8: ldo3 {
0461 regulator-name = "vreg_l3c_0p8";
0462 regulator-min-microvolt = <800000>;
0463 regulator-max-microvolt = <800000>;
0464 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0465 };
0466
0467 vreg_l4c_1p7: ldo4 {
0468 regulator-name = "vreg_l4c_1p7";
0469 regulator-min-microvolt = <1704000>;
0470 regulator-max-microvolt = <2928000>;
0471 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0472 };
0473
0474 vreg_l5c_1p8: ldo5 {
0475 regulator-name = "vreg_l5c_1p8";
0476 regulator-min-microvolt = <1800000>;
0477 regulator-max-microvolt = <2928000>;
0478 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0479 };
0480
0481 vreg_l6c_2p96: ldo6 {
0482 regulator-name = "vreg_l6c_2p96";
0483 regulator-min-microvolt = <1800000>;
0484 regulator-max-microvolt = <2960000>;
0485 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0486 };
0487
0488 vreg_l7c_cam_vcm0_2p85: ldo7 {
0489 regulator-name = "vreg_l7c_cam_vcm0_2p85";
0490 regulator-min-microvolt = <2856000>;
0491 regulator-max-microvolt = <3104000>;
0492 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0493 };
0494
0495 vreg_l8c_1p8: ldo8 {
0496 regulator-name = "vreg_l8c_1p8";
0497 regulator-min-microvolt = <1800000>;
0498 regulator-max-microvolt = <1800000>;
0499 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0500 };
0501
0502 vreg_l9c_2p96: ldo9 {
0503 regulator-name = "vreg_l9c_2p96";
0504 regulator-min-microvolt = <2704000>;
0505 regulator-max-microvolt = <2960000>;
0506 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0507 };
0508
0509 vreg_l10c_3p0: ldo10 {
0510 regulator-name = "vreg_l10c_3p0";
0511 regulator-min-microvolt = <3000000>;
0512 regulator-max-microvolt = <3000000>;
0513 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0514 };
0515
0516 vreg_l11c_3p3: ldo11 {
0517 regulator-name = "vreg_l11c_3p3";
0518 regulator-min-microvolt = <3296000>;
0519 regulator-max-microvolt = <3296000>;
0520 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0521 regulator-always-on;
0522 };
0523
0524 vreg_s8c_1p3: smps8 {
0525 regulator-name = "vreg_s8c_1p3";
0526 regulator-min-microvolt = <1352000>;
0527 regulator-max-microvolt = <1352000>;
0528 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0529 };
0530 };
0531 };
0532
0533 &cdsp {
0534 status = "okay";
0535 firmware-name = "qcom/sm8250/cdsp.mbn";
0536 };
0537
0538 &dsi0 {
0539 status = "okay";
0540 vdda-supply = <&vreg_l9a_1p2>;
0541
0542 #if 0
0543 qcom,dual-dsi-mode;
0544 qcom,master-dsi;
0545 #endif
0546
0547 ports {
0548 port@1 {
0549 endpoint {
0550 remote-endpoint = <<9611_a>;
0551 data-lanes = <0 1 2 3>;
0552 };
0553 };
0554 };
0555 };
0556
0557 &dsi0_phy {
0558 status = "okay";
0559 vdds-supply = <&vreg_l5a_0p88>;
0560 };
0561
0562 &gmu {
0563 status = "okay";
0564 };
0565
0566 &gpu {
0567 status = "okay";
0568
0569 zap-shader {
0570 memory-region = <&gpu_mem>;
0571 firmware-name = "qcom/sm8250/a650_zap.mbn";
0572 };
0573 };
0574
0575 /* LS-I2C0 */
0576 &i2c4 {
0577 status = "okay";
0578 };
0579
0580 &i2c5 {
0581 status = "okay";
0582 clock-frequency = <400000>;
0583
0584 lt9611_codec: hdmi-bridge@2b {
0585 compatible = "lontium,lt9611uxc";
0586 reg = <0x2b>;
0587 #sound-dai-cells = <1>;
0588
0589 interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
0590
0591 reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;
0592
0593 vdd-supply = <<9611_1v2>;
0594 vcc-supply = <<9611_3v3>;
0595
0596 pinctrl-names = "default";
0597 pinctrl-0 = <<9611_irq_pin <9611_rst_pin>;
0598
0599 ports {
0600 #address-cells = <1>;
0601 #size-cells = <0>;
0602
0603 port@0 {
0604 reg = <0>;
0605
0606 lt9611_a: endpoint {
0607 remote-endpoint = <&dsi0_out>;
0608 };
0609 };
0610
0611 #if 0
0612 port@1 {
0613 reg = <1>;
0614
0615 lt9611_b: endpoint {
0616 remote-endpoint = <&dsi1_out>;
0617 };
0618 };
0619 #endif
0620
0621 port@2 {
0622 reg = <2>;
0623
0624 lt9611_out: endpoint {
0625 remote-endpoint = <&hdmi_con>;
0626 };
0627 };
0628
0629 };
0630 };
0631 };
0632
0633 /* LS-I2C1 */
0634 &i2c15 {
0635 status = "okay";
0636 };
0637
0638 &mdss {
0639 status = "okay";
0640 };
0641
0642 &mdss_mdp {
0643 status = "okay";
0644 };
0645
0646 &pm8150_adc {
0647 xo-therm@4c {
0648 reg = <ADC5_XO_THERM_100K_PU>;
0649 qcom,ratiometric;
0650 qcom,hw-settle-time = <200>;
0651 };
0652
0653 wifi-therm@4e {
0654 reg = <ADC5_AMUX_THM2_100K_PU>;
0655 qcom,ratiometric;
0656 qcom,hw-settle-time = <200>;
0657 };
0658 };
0659
0660 &pm8150_adc_tm {
0661 status = "okay";
0662
0663 xo-therm@0 {
0664 reg = <0>;
0665 io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
0666 qcom,ratiometric;
0667 qcom,hw-settle-time-us = <200>;
0668 };
0669
0670 wifi-therm@1 {
0671 reg = <1>;
0672 io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
0673 qcom,ratiometric;
0674 qcom,hw-settle-time-us = <200>;
0675 };
0676 };
0677
0678 &pcie0 {
0679 status = "okay";
0680 };
0681
0682 &pcie0_phy {
0683 status = "okay";
0684 vdda-phy-supply = <&vreg_l5a_0p88>;
0685 vdda-pll-supply = <&vreg_l9a_1p2>;
0686 };
0687
0688 &pcie1 {
0689 status = "okay";
0690 };
0691
0692 &pcie1_phy {
0693 status = "okay";
0694 vdda-phy-supply = <&vreg_l5a_0p88>;
0695 vdda-pll-supply = <&vreg_l9a_1p2>;
0696 };
0697
0698 &pcie2 {
0699 status = "okay";
0700 };
0701
0702 &pcie2_phy {
0703 status = "okay";
0704 vdda-phy-supply = <&vreg_l5a_0p88>;
0705 vdda-pll-supply = <&vreg_l9a_1p2>;
0706 };
0707
0708 &pm8150_gpios {
0709 gpio-reserved-ranges = <1 1>, <3 2>, <7 1>;
0710 gpio-line-names =
0711 "NC",
0712 "OPTION2",
0713 "PM_GPIO-F",
0714 "PM_SLP_CLK_IN",
0715 "OPTION1",
0716 "VOL_UP_N",
0717 "PM8250_GPIO7", /* Blue LED */
0718 "SP_ARI_PWR_ALARM",
0719 "GPIO_9_P", /* Yellow LED */
0720 "GPIO_10_P"; /* Green LED */
0721 };
0722
0723 &pm8150b_adc {
0724 conn-therm@4f {
0725 reg = <ADC5_AMUX_THM3_100K_PU>;
0726 qcom,ratiometric;
0727 qcom,hw-settle-time = <200>;
0728 };
0729 };
0730
0731 &pm8150b_adc_tm {
0732 status = "okay";
0733
0734 conn-therm@0 {
0735 reg = <0>;
0736 io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
0737 qcom,ratiometric;
0738 qcom,hw-settle-time-us = <200>;
0739 };
0740 };
0741
0742 &pm8150b_gpios {
0743 gpio-line-names =
0744 "NC",
0745 "NC",
0746 "NC",
0747 "NC",
0748 "HAP_BOOST_EN", /* SOM */
0749 "SMB_STAT", /* SOM */
0750 "NC",
0751 "NC",
0752 "SDM_FORCE_USB_BOOT",
0753 "NC",
0754 "NC",
0755 "NC";
0756 };
0757
0758 &pm8150l_adc {
0759 skin-msm-therm@4e {
0760 reg = <ADC5_AMUX_THM2_100K_PU>;
0761 qcom,ratiometric;
0762 qcom,hw-settle-time = <200>;
0763 };
0764
0765 pm8150l-therm@4f {
0766 reg = <ADC5_AMUX_THM3_100K_PU>;
0767 qcom,ratiometric;
0768 qcom,hw-settle-time = <200>;
0769 };
0770 };
0771
0772 &pm8150l_adc_tm {
0773 status = "okay";
0774
0775 skin-msm-therm@0 {
0776 reg = <0>;
0777 io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
0778 qcom,ratiometric;
0779 qcom,hw-settle-time-us = <200>;
0780 };
0781
0782 pm8150l-therm@1 {
0783 reg = <1>;
0784 io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
0785 qcom,ratiometric;
0786 qcom,hw-settle-time-us = <200>;
0787 };
0788 };
0789
0790 &pm8150l_gpios {
0791 gpio-line-names =
0792 "NC",
0793 "PM3003A_EN",
0794 "NC",
0795 "NC",
0796 "PM_GPIO5", /* HDMI RST_N */
0797 "PM_GPIO-A", /* PWM */
0798 "PM_GPIO7",
0799 "NC",
0800 "NC",
0801 "PM_GPIO-B",
0802 "NC",
0803 "PM3003A_MODE";
0804
0805 lt9611_rst_pin: lt9611-rst-state {
0806 pins = "gpio5";
0807 function = "normal";
0808
0809 output-high;
0810 input-disable;
0811 power-source = <0>;
0812 };
0813 };
0814
0815 &pm8150l_lpg {
0816 status = "okay";
0817
0818 #address-cells = <1>;
0819 #size-cells = <0>;
0820
0821 led@1 {
0822 reg = <1>;
0823 color = <LED_COLOR_ID_GREEN>;
0824 function = LED_FUNCTION_HEARTBEAT;
0825 function-enumerator = <3>;
0826
0827 linux,default-trigger = "heartbeat";
0828 default-state = "on";
0829 };
0830
0831 led@2 {
0832 reg = <2>;
0833 color = <LED_COLOR_ID_GREEN>;
0834 function = LED_FUNCTION_INDICATOR;
0835 function-enumerator = <2>;
0836 default-state = "on";
0837 };
0838
0839 led@3 {
0840 reg = <3>;
0841 color = <LED_COLOR_ID_GREEN>;
0842 function = LED_FUNCTION_INDICATOR;
0843 function-enumerator = <1>;
0844 };
0845 };
0846
0847 &pon_pwrkey {
0848 status = "okay";
0849 };
0850
0851 &pon_resin {
0852 status = "okay";
0853
0854 linux,code = <KEY_VOLUMEDOWN>;
0855 };
0856
0857 &qupv3_id_0 {
0858 status = "okay";
0859 };
0860
0861 &qupv3_id_1 {
0862 status = "okay";
0863 };
0864
0865 &qupv3_id_2 {
0866 status = "okay";
0867 };
0868
0869 &q6afedai {
0870 qi2s@16 {
0871 reg = <PRIMARY_MI2S_RX>;
0872 qcom,sd-lines = <0 1 2 3>;
0873 };
0874 };
0875
0876 /* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
0877 &q6afedai {
0878 qi2s@20 {
0879 reg = <TERTIARY_MI2S_RX>;
0880 qcom,sd-lines = <0>;
0881 };
0882 };
0883
0884 &q6asmdai {
0885 dai@0 {
0886 reg = <0>;
0887 };
0888
0889 dai@1 {
0890 reg = <1>;
0891 };
0892
0893 dai@2 {
0894 reg = <2>;
0895 };
0896 };
0897
0898 &sdhc_2 {
0899 status = "okay";
0900 pinctrl-names = "default";
0901 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
0902 vmmc-supply = <&vreg_l9c_2p96>;
0903 vqmmc-supply = <&vreg_l6c_2p96>;
0904 cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
0905 bus-width = <4>;
0906 no-sdio;
0907 no-emmc;
0908 };
0909
0910 &sound {
0911 compatible = "qcom,qrb5165-rb5-sndcard";
0912 pinctrl-0 = <&tert_mi2s_active>;
0913 pinctrl-names = "default";
0914 model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
0915 audio-routing =
0916 "SpkrLeft IN", "WSA_SPK1 OUT",
0917 "SpkrRight IN", "WSA_SPK2 OUT",
0918 "VA DMIC0", "vdd-micb",
0919 "VA DMIC1", "vdd-micb",
0920 "MM_DL1", "MultiMedia1 Playback",
0921 "MM_DL2", "MultiMedia2 Playback",
0922 "MultiMedia3 Capture", "MM_UL3";
0923
0924 mm1-dai-link {
0925 link-name = "MultiMedia1";
0926 cpu {
0927 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
0928 };
0929 };
0930
0931 mm2-dai-link {
0932 link-name = "MultiMedia2";
0933 cpu {
0934 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
0935 };
0936 };
0937
0938 mm3-dai-link {
0939 link-name = "MultiMedia3";
0940 cpu {
0941 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
0942 };
0943 };
0944
0945 hdmi-dai-link {
0946 link-name = "HDMI Playback";
0947 cpu {
0948 sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
0949 };
0950
0951 platform {
0952 sound-dai = <&q6routing>;
0953 };
0954
0955 codec {
0956 sound-dai = <<9611_codec 0>;
0957 };
0958 };
0959
0960 dma-dai-link {
0961 link-name = "WSA Playback";
0962 cpu {
0963 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
0964 };
0965
0966 platform {
0967 sound-dai = <&q6routing>;
0968 };
0969
0970 codec {
0971 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
0972 };
0973 };
0974
0975 va-dai-link {
0976 link-name = "VA Capture";
0977 cpu {
0978 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
0979 };
0980
0981 platform {
0982 sound-dai = <&q6routing>;
0983 };
0984
0985 codec {
0986 sound-dai = <&vamacro 0>;
0987 };
0988 };
0989 };
0990
0991 /* CAN */
0992 &spi0 {
0993 status = "okay";
0994 pinctrl-names = "default";
0995 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>;
0996 cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
0997
0998 can@0 {
0999 compatible = "microchip,mcp2518fd";
1000 reg = <0>;
1001 clocks = <&clk40M>;
1002 interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
1003 spi-max-frequency = <10000000>;
1004 vdd-supply = <&vdc_5v>;
1005 xceiver-supply = <&vdc_5v>;
1006 };
1007 };
1008
1009 &swr0 {
1010 left_spkr: wsa8810-left{
1011 compatible = "sdw10217211000";
1012 reg = <0 3>;
1013 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
1014 #thermal-sensor-cells = <0>;
1015 sound-name-prefix = "SpkrLeft";
1016 #sound-dai-cells = <0>;
1017 };
1018
1019 right_spkr: wsa8810-right{
1020 compatible = "sdw10217211000";
1021 reg = <0 4>;
1022 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
1023 #thermal-sensor-cells = <0>;
1024 sound-name-prefix = "SpkrRight";
1025 #sound-dai-cells = <0>;
1026 };
1027 };
1028
1029 &tlmm {
1030 gpio-reserved-ranges = <40 4>;
1031 gpio-line-names =
1032 "GPIO-MM",
1033 "GPIO-NN",
1034 "GPIO-OO",
1035 "GPIO-PP",
1036 "GPIO-A",
1037 "GPIO-C",
1038 "GPIO-E",
1039 "GPIO-D",
1040 "I2C0-SDA",
1041 "I2C0-SCL",
1042 "GPIO-TT", /* GPIO_10 */
1043 "NC",
1044 "GPIO_12_I2C_SDA",
1045 "GPIO_13_I2C_SCL",
1046 "GPIO-X",
1047 "GPIO_15_RGMII_INT",
1048 "HST_BT_UART_CTS",
1049 "HST_BT_UART_RFR",
1050 "HST_BT_UART_TX",
1051 "HST_BT_UART_RX",
1052 "HST_WLAN_EN", /* GPIO_20 */
1053 "HST_BT_EN",
1054 "GPIO-AAA",
1055 "GPIO-BBB",
1056 "GPIO-CCC",
1057 "GPIO-Z",
1058 "GPIO-DDD",
1059 "GPIO-BB",
1060 "GPIO_28_CAN_SPI_MISO",
1061 "GPIO_29_CAN_SPI_MOSI",
1062 "GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
1063 "GPIO_31_CAN_SPI_CS",
1064 "GPIO-UU",
1065 "NC",
1066 "UART1_TXD_SOM",
1067 "UART1_RXD_SOM",
1068 "UART0_CTS",
1069 "UART0_RTS",
1070 "UART0_TXD",
1071 "UART0_RXD",
1072 "SPI1_MISO", /* GPIO_40 */
1073 "SPI1_MOSI",
1074 "SPI1_CLK",
1075 "SPI1_CS",
1076 "I2C1_SDA",
1077 "I2C1_SCL",
1078 "GPIO-F",
1079 "GPIO-JJ",
1080 "Board_ID1",
1081 "Board_ID2",
1082 "NC", /* GPIO_50 */
1083 "NC",
1084 "SPI0_MISO",
1085 "SPI0_MOSI",
1086 "SPI0_SCLK",
1087 "SPI0_CS",
1088 "GPIO-QQ",
1089 "GPIO-RR",
1090 "USB2LAN_RESET",
1091 "USB2LAN_EXTWAKE",
1092 "NC", /* GPIO_60 */
1093 "NC",
1094 "NC",
1095 "LT9611_INT",
1096 "GPIO-AA",
1097 "USB_CC_DIR",
1098 "GPIO-G",
1099 "GPIO-LL",
1100 "USB_DP_HPD_1P8",
1101 "NC",
1102 "NC", /* GPIO_70 */
1103 "SD_CMD",
1104 "SD_DAT3",
1105 "SD_SCLK",
1106 "SD_DAT2",
1107 "SD_DAT1",
1108 "SD_DAT0", /* BOOT_CFG3 */
1109 "SD_UFS_CARD_DET_N",
1110 "GPIO-II",
1111 "PCIE0_RST_N",
1112 "PCIE0_CLK_REQ_N", /* GPIO_80 */
1113 "PCIE0_WAKE_N",
1114 "GPIO-CC",
1115 "GPIO-DD",
1116 "GPIO-EE",
1117 "GPIO-FF",
1118 "GPIO-GG",
1119 "GPIO-HH",
1120 "GPIO-VV",
1121 "GPIO-WW",
1122 "NC", /* GPIO_90 */
1123 "NC",
1124 "GPIO-K",
1125 "GPIO-I",
1126 "CSI0_MCLK",
1127 "CSI1_MCLK",
1128 "CSI2_MCLK",
1129 "CSI3_MCLK",
1130 "GPIO-AA", /* CSI4_MCLK */
1131 "GPIO-BB", /* CSI5_MCLK */
1132 "GPIO-KK", /* GPIO_100 */
1133 "CCI_I2C_SDA0",
1134 "CCI_I2C_SCL0",
1135 "CCI_I2C_SDA1",
1136 "CCI_I2C_SCL1",
1137 "CCI_I2C_SDA2",
1138 "CCI_I2C_SCL2",
1139 "CCI_I2C_SDA3",
1140 "CCI_I2C_SCL3",
1141 "GPIO-L",
1142 "NC", /* GPIO_110 */
1143 "NC",
1144 "ACCEL_INT",
1145 "GYRO_INT",
1146 "GPIO-J",
1147 "GPIO-YY",
1148 "GPIO-H",
1149 "GPIO-ZZ",
1150 "NC",
1151 "NC",
1152 "NC", /* GPIO_120 */
1153 "NC",
1154 "MAG_INT",
1155 "MAG_DRDY_INT",
1156 "HST_SW_CTRL",
1157 "GPIO-M",
1158 "GPIO-N",
1159 "GPIO-O",
1160 "GPIO-P",
1161 "PS_INT",
1162 "WSA1_EN", /* GPIO_130 */
1163 "USB_HUB_RESET",
1164 "SDM_FORCE_USB_BOOT",
1165 "I2S1_CLK_HDMI",
1166 "I2S1_DATA0_HDMI",
1167 "I2S1_WS_HDMI",
1168 "GPIO-B",
1169 "GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
1170 "PCM_CLK",
1171 "PCM_DI",
1172 "PCM_DO", /* GPIO_140 */
1173 "PCM_FS",
1174 "HST_SLIM_CLK",
1175 "HST_SLIM_DATA",
1176 "GPIO-U",
1177 "GPIO-Y",
1178 "GPIO-R",
1179 "GPIO-Q",
1180 "GPIO-S",
1181 "GPIO-T",
1182 "GPIO-V", /* GPIO_150 */
1183 "GPIO-W",
1184 "DMIC_CLK1",
1185 "DMIC_DATA1",
1186 "DMIC_CLK2",
1187 "DMIC_DATA2",
1188 "WSA_SWR_CLK",
1189 "WSA_SWR_DATA",
1190 "DMIC_CLK3",
1191 "DMIC_DATA3",
1192 "I2C4_SDA", /* GPIO_160 */
1193 "I2C4_SCL",
1194 "SPI3_CS1",
1195 "SPI3_CS2",
1196 "SPI2_MISO_LS3",
1197 "SPI2_MOSI_LS3",
1198 "SPI2_CLK_LS3",
1199 "SPI2_ACCEL_CS_LS3",
1200 "SPI2_CS1",
1201 "NC",
1202 "GPIO-SS", /* GPIO_170 */
1203 "GPIO-XX",
1204 "SPI3_MISO",
1205 "SPI3_MOSI",
1206 "SPI3_CLK",
1207 "SPI3_CS",
1208 "HST_BLE_SNS_UART_TX",
1209 "HST_BLE_SNS_UART_RX",
1210 "HST_WLAN_UART_TX",
1211 "HST_WLAN_UART_RX";
1212
1213 lt9611_irq_pin: lt9611-irq {
1214 pins = "gpio63";
1215 function = "gpio";
1216 bias-disable;
1217 };
1218
1219 sdc2_default_state: sdc2-default {
1220 clk {
1221 pins = "sdc2_clk";
1222 bias-disable;
1223 drive-strength = <16>;
1224 };
1225
1226 cmd {
1227 pins = "sdc2_cmd";
1228 bias-pull-up;
1229 drive-strength = <10>;
1230 };
1231
1232 data {
1233 pins = "sdc2_data";
1234 bias-pull-up;
1235 drive-strength = <10>;
1236 };
1237 };
1238
1239 sdc2_card_det_n: sd-card-det-n {
1240 pins = "gpio77";
1241 function = "gpio";
1242 bias-pull-up;
1243 };
1244 };
1245
1246 &uart12 {
1247 status = "okay";
1248 };
1249
1250 &ufs_mem_hc {
1251 status = "okay";
1252
1253 vcc-supply = <&vreg_l17a_3p0>;
1254 vcc-max-microamp = <800000>;
1255 vccq-supply = <&vreg_l6a_1p2>;
1256 vccq-max-microamp = <800000>;
1257 vccq2-supply = <&vreg_s4a_1p8>;
1258 vccq2-max-microamp = <800000>;
1259 };
1260
1261 &ufs_mem_phy {
1262 status = "okay";
1263
1264 vdda-phy-supply = <&vreg_l5a_0p88>;
1265 vdda-pll-supply = <&vreg_l9a_1p2>;
1266 };
1267
1268 &usb_1 {
1269 status = "okay";
1270 };
1271
1272 &usb_1_dwc3 {
1273 dr_mode = "peripheral";
1274 };
1275
1276 &usb_1_hsphy {
1277 status = "okay";
1278
1279 vdda-pll-supply = <&vreg_l5a_0p88>;
1280 vdda33-supply = <&vreg_l2a_3p1>;
1281 vdda18-supply = <&vreg_l12a_1p8>;
1282 };
1283
1284 &usb_1_qmpphy {
1285 status = "okay";
1286
1287 vdda-phy-supply = <&vreg_l9a_1p2>;
1288 vdda-pll-supply = <&vreg_l18a_0p92>;
1289 };
1290
1291 &usb_2 {
1292 status = "okay";
1293 };
1294
1295 &usb_2_dwc3 {
1296 dr_mode = "host";
1297 };
1298
1299 &usb_2_hsphy {
1300 status = "okay";
1301
1302 vdda-pll-supply = <&vreg_l5a_0p88>;
1303 vdda33-supply = <&vreg_l2a_3p1>;
1304 vdda18-supply = <&vreg_l12a_1p8>;
1305 };
1306
1307 &usb_2_qmpphy {
1308 status = "okay";
1309
1310 vdda-phy-supply = <&vreg_l9a_1p2>;
1311 vdda-pll-supply = <&vreg_l18a_0p92>;
1312 };
1313
1314 &vamacro {
1315 pinctrl-0 = <&dmic01_active>;
1316 pinctrl-names = "default";
1317 vdd-micb-supply = <&vreg_s4a_1p8>;
1318 qcom,dmic-sample-rate = <600000>;
1319 };
1320
1321 &venus {
1322 status = "okay";
1323 };
1324
1325 /* PINCTRL - additions to nodes defined in sm8250.dtsi */
1326 &qup_spi0_cs_gpio {
1327 drive-strength = <6>;
1328 bias-disable;
1329 };
1330
1331 &qup_spi0_data_clk {
1332 drive-strength = <6>;
1333 bias-disable;
1334 };