0001 // SPDX-License-Identifier: GPL-2.0
0002 /* Copyright (c) 2016, The Linux Foundation. All rights reserved. */
0003
0004 /dts-v1/;
0005
0006 #include "msm8998.dtsi"
0007 #include "pm8005.dtsi"
0008 #include "pm8998.dtsi"
0009 #include "pmi8998.dtsi"
0010
0011 / {
0012 model = "Qualcomm Technologies, Inc. MSM8998 v1 MTP";
0013 compatible = "qcom,msm8998-mtp", "qcom,msm8998";
0014
0015 qcom,board-id = <8 0>;
0016
0017 aliases {
0018 serial0 = &blsp2_uart1;
0019 serial1 = &blsp1_uart3;
0020 };
0021
0022 chosen {
0023 stdout-path = "serial0:115200n8";
0024 };
0025
0026 vph_pwr: vph-pwr-regulator {
0027 compatible = "regulator-fixed";
0028 regulator-name = "vph_pwr";
0029 regulator-always-on;
0030 regulator-boot-on;
0031 };
0032 };
0033
0034 &blsp1_uart3 {
0035 status = "okay";
0036
0037 bluetooth {
0038 compatible = "qcom,wcn3990-bt";
0039
0040 vddio-supply = <&vreg_s4a_1p8>;
0041 vddxo-supply = <&vreg_l7a_1p8>;
0042 vddrf-supply = <&vreg_l17a_1p3>;
0043 vddch0-supply = <&vreg_l25a_3p3>;
0044 max-speed = <3200000>;
0045 };
0046 };
0047
0048 &blsp1_uart3_on {
0049 rx {
0050 /delete-property/ bias-disable;
0051 /*
0052 * Configure a pull-up on 45 (RX). This is needed to
0053 * avoid garbage data when the TX pin of the Bluetooth
0054 * module is in tri-state (module powered off or not
0055 * driving the signal yet).
0056 */
0057 bias-pull-up;
0058 };
0059
0060 cts {
0061 /delete-property/ bias-disable;
0062 /*
0063 * Configure a pull-down on 47 (CTS) to match the pull
0064 * of the Bluetooth module.
0065 */
0066 bias-pull-down;
0067 };
0068 };
0069
0070 &blsp2_uart1 {
0071 status = "okay";
0072 };
0073
0074 &etf {
0075 status = "okay";
0076 };
0077
0078 &etm1 {
0079 status = "okay";
0080 };
0081
0082 &etm2 {
0083 status = "okay";
0084 };
0085
0086 &etm3 {
0087 status = "okay";
0088 };
0089
0090 &etm4 {
0091 status = "okay";
0092 };
0093
0094 &etm5 {
0095 status = "okay";
0096 };
0097
0098 &etm6 {
0099 status = "okay";
0100 };
0101
0102 &etm7 {
0103 status = "okay";
0104 };
0105
0106 &etm8 {
0107 status = "okay";
0108 };
0109
0110 &etr {
0111 status = "okay";
0112 };
0113
0114 &funnel1 {
0115 status = "okay";
0116 };
0117
0118 &funnel2 {
0119 status = "okay";
0120 };
0121
0122 &funnel3 {
0123 status = "okay";
0124 };
0125
0126 &funnel4 {
0127 // FIXME: Figure out why clock late_initcall crashes the board with
0128 // this enabled.
0129 // status = "okay";
0130 };
0131
0132 &funnel5 {
0133 // FIXME: Figure out why clock late_initcall crashes the board with
0134 // this enabled.
0135 // status = "okay";
0136 };
0137
0138 &pcie0 {
0139 status = "okay";
0140 };
0141
0142 &pcie_phy {
0143 status = "okay";
0144 };
0145
0146 &pm8005_regulators {
0147 vdd_s1-supply = <&vph_pwr>;
0148
0149 pm8005_s1: s1 { /* VDD_GFX supply */
0150 regulator-min-microvolt = <524000>;
0151 regulator-max-microvolt = <1100000>;
0152 regulator-enable-ramp-delay = <500>;
0153
0154 /* Hack until we rig up the gpu consumer */
0155 regulator-always-on;
0156 };
0157 };
0158
0159 &qusb2phy {
0160 status = "okay";
0161
0162 vdda-pll-supply = <&vreg_l12a_1p8>;
0163 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
0164 };
0165
0166 &replicator1 {
0167 status = "okay";
0168 };
0169
0170 &rpm_requests {
0171 pm8998-regulators {
0172 compatible = "qcom,rpm-pm8998-regulators";
0173
0174 vdd_s1-supply = <&vph_pwr>;
0175 vdd_s2-supply = <&vph_pwr>;
0176 vdd_s3-supply = <&vph_pwr>;
0177 vdd_s4-supply = <&vph_pwr>;
0178 vdd_s5-supply = <&vph_pwr>;
0179 vdd_s6-supply = <&vph_pwr>;
0180 vdd_s7-supply = <&vph_pwr>;
0181 vdd_s8-supply = <&vph_pwr>;
0182 vdd_s9-supply = <&vph_pwr>;
0183 vdd_s10-supply = <&vph_pwr>;
0184 vdd_s11-supply = <&vph_pwr>;
0185 vdd_s12-supply = <&vph_pwr>;
0186 vdd_s13-supply = <&vph_pwr>;
0187 vdd_l1_l27-supply = <&vreg_s7a_1p025>;
0188 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
0189 vdd_l3_l11-supply = <&vreg_s7a_1p025>;
0190 vdd_l4_l5-supply = <&vreg_s7a_1p025>;
0191 vdd_l6-supply = <&vreg_s5a_2p04>;
0192 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
0193 vdd_l9-supply = <&vreg_bob>;
0194 vdd_l10_l23_l25-supply = <&vreg_bob>;
0195 vdd_l13_l19_l21-supply = <&vreg_bob>;
0196 vdd_l16_l28-supply = <&vreg_bob>;
0197 vdd_l18_l22-supply = <&vreg_bob>;
0198 vdd_l20_l24-supply = <&vreg_bob>;
0199 vdd_l26-supply = <&vreg_s3a_1p35>;
0200 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
0201
0202 vreg_s3a_1p35: s3 {
0203 regulator-min-microvolt = <1352000>;
0204 regulator-max-microvolt = <1352000>;
0205 };
0206
0207 vreg_s4a_1p8: s4 {
0208 regulator-min-microvolt = <1800000>;
0209 regulator-max-microvolt = <1800000>;
0210 regulator-allow-set-load;
0211 };
0212
0213 vreg_s5a_2p04: s5 {
0214 regulator-min-microvolt = <1904000>;
0215 regulator-max-microvolt = <2040000>;
0216 };
0217
0218 vreg_s7a_1p025: s7 {
0219 regulator-min-microvolt = <900000>;
0220 regulator-max-microvolt = <1028000>;
0221 };
0222
0223 vreg_l1a_0p875: l1 {
0224 regulator-min-microvolt = <880000>;
0225 regulator-max-microvolt = <880000>;
0226 };
0227
0228 vreg_l2a_1p2: l2 {
0229 regulator-min-microvolt = <1200000>;
0230 regulator-max-microvolt = <1200000>;
0231 };
0232
0233 vreg_l3a_1p0: l3 {
0234 regulator-min-microvolt = <1000000>;
0235 regulator-max-microvolt = <1000000>;
0236 };
0237
0238 vreg_l5a_0p8: l5 {
0239 regulator-min-microvolt = <800000>;
0240 regulator-max-microvolt = <800000>;
0241 };
0242
0243 vreg_l6a_1p8: l6 {
0244 regulator-min-microvolt = <1808000>;
0245 regulator-max-microvolt = <1808000>;
0246 };
0247
0248 vreg_l7a_1p8: l7 {
0249 regulator-min-microvolt = <1800000>;
0250 regulator-max-microvolt = <1800000>;
0251 };
0252
0253 vreg_l8a_1p2: l8 {
0254 regulator-min-microvolt = <1200000>;
0255 regulator-max-microvolt = <1200000>;
0256 };
0257
0258 vreg_l9a_1p8: l9 {
0259 regulator-min-microvolt = <1808000>;
0260 regulator-max-microvolt = <2960000>;
0261 };
0262
0263 vreg_l10a_1p8: l10 {
0264 regulator-min-microvolt = <1808000>;
0265 regulator-max-microvolt = <2960000>;
0266 };
0267
0268 vreg_l11a_1p0: l11 {
0269 regulator-min-microvolt = <1000000>;
0270 regulator-max-microvolt = <1000000>;
0271 };
0272
0273 vreg_l12a_1p8: l12 {
0274 regulator-min-microvolt = <1800000>;
0275 regulator-max-microvolt = <1800000>;
0276 };
0277
0278 vreg_l13a_2p95: l13 {
0279 regulator-min-microvolt = <1808000>;
0280 regulator-max-microvolt = <2960000>;
0281 };
0282
0283 vreg_l14a_1p88: l14 {
0284 regulator-min-microvolt = <1880000>;
0285 regulator-max-microvolt = <1880000>;
0286 };
0287
0288 vreg_l15a_1p8: l15 {
0289 regulator-min-microvolt = <1800000>;
0290 regulator-max-microvolt = <1800000>;
0291 };
0292
0293 vreg_l16a_2p7: l16 {
0294 regulator-min-microvolt = <2704000>;
0295 regulator-max-microvolt = <2704000>;
0296 };
0297
0298 vreg_l17a_1p3: l17 {
0299 regulator-min-microvolt = <1304000>;
0300 regulator-max-microvolt = <1304000>;
0301 };
0302
0303 vreg_l18a_2p7: l18 {
0304 regulator-min-microvolt = <2704000>;
0305 regulator-max-microvolt = <2704000>;
0306 };
0307
0308 vreg_l19a_3p0: l19 {
0309 regulator-min-microvolt = <3008000>;
0310 regulator-max-microvolt = <3008000>;
0311 };
0312
0313 vreg_l20a_2p95: l20 {
0314 regulator-min-microvolt = <2960000>;
0315 regulator-max-microvolt = <2960000>;
0316 regulator-allow-set-load;
0317 };
0318
0319 vreg_l21a_2p95: l21 {
0320 regulator-min-microvolt = <2960000>;
0321 regulator-max-microvolt = <2960000>;
0322 regulator-system-load = <800000>;
0323 regulator-allow-set-load;
0324 };
0325
0326 vreg_l22a_2p85: l22 {
0327 regulator-min-microvolt = <2864000>;
0328 regulator-max-microvolt = <2864000>;
0329 };
0330
0331 vreg_l23a_3p3: l23 {
0332 regulator-min-microvolt = <3312000>;
0333 regulator-max-microvolt = <3312000>;
0334 };
0335
0336 vreg_l24a_3p075: l24 {
0337 regulator-min-microvolt = <3088000>;
0338 regulator-max-microvolt = <3088000>;
0339 };
0340
0341 vreg_l25a_3p3: l25 {
0342 regulator-min-microvolt = <3104000>;
0343 regulator-max-microvolt = <3312000>;
0344 };
0345
0346 vreg_l26a_1p2: l26 {
0347 regulator-min-microvolt = <1200000>;
0348 regulator-max-microvolt = <1200000>;
0349 regulator-allow-set-load;
0350 };
0351
0352 vreg_l28_3p0: l28 {
0353 regulator-min-microvolt = <3008000>;
0354 regulator-max-microvolt = <3008000>;
0355 };
0356
0357 vreg_lvs1a_1p8: lvs1 {
0358 regulator-min-microvolt = <1800000>;
0359 regulator-max-microvolt = <1800000>;
0360 };
0361
0362 vreg_lvs2a_1p8: lvs2 {
0363 regulator-min-microvolt = <1800000>;
0364 regulator-max-microvolt = <1800000>;
0365 };
0366
0367 };
0368
0369 pmi8998-regulators {
0370 compatible = "qcom,rpm-pmi8998-regulators";
0371
0372 vdd_bob-supply = <&vph_pwr>;
0373
0374 vreg_bob: bob {
0375 regulator-min-microvolt = <3312000>;
0376 regulator-max-microvolt = <3600000>;
0377 };
0378 };
0379 };
0380
0381 &remoteproc_adsp {
0382 status = "okay";
0383 };
0384
0385 &remoteproc_mss {
0386 status = "okay";
0387 };
0388
0389 &remoteproc_slpi {
0390 status = "okay";
0391 };
0392
0393 &tlmm {
0394 gpio-reserved-ranges = <0 4>, <81 4>;
0395 };
0396
0397 &sdhc2 {
0398 status = "okay";
0399 cd-gpios = <&tlmm 95 GPIO_ACTIVE_LOW>;
0400
0401 vmmc-supply = <&vreg_l21a_2p95>;
0402 vqmmc-supply = <&vreg_l13a_2p95>;
0403
0404 pinctrl-names = "default", "sleep";
0405 pinctrl-0 = <&sdc2_on &sdc2_cd>;
0406 pinctrl-1 = <&sdc2_off &sdc2_cd>;
0407 };
0408
0409 &stm {
0410 status = "okay";
0411 };
0412
0413 &ufshc {
0414 status = "okay";
0415 vcc-supply = <&vreg_l20a_2p95>;
0416 vccq-supply = <&vreg_l26a_1p2>;
0417 vccq2-supply = <&vreg_s4a_1p8>;
0418 vcc-max-microamp = <750000>;
0419 vccq-max-microamp = <560000>;
0420 vccq2-max-microamp = <750000>;
0421 };
0422
0423 &ufsphy {
0424 status = "okay";
0425 vdda-phy-supply = <&vreg_l1a_0p875>;
0426 vdda-pll-supply = <&vreg_l2a_1p2>;
0427 vddp-ref-clk-supply = <&vreg_l26a_1p2>;
0428 };
0429
0430 &usb3 {
0431 status = "okay";
0432 };
0433
0434 &usb3_dwc3 {
0435 dr_mode = "host"; /* Force to host until we have Type-C hooked up */
0436 };
0437
0438 &usb3phy {
0439 status = "okay";
0440
0441 vdda-phy-supply = <&vreg_l1a_0p875>;
0442 vdda-pll-supply = <&vreg_l2a_1p2>;
0443 };
0444
0445 &wifi {
0446 status = "okay";
0447
0448 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
0449 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
0450 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
0451 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
0452 };