1// SPDX-License-Identifier: GPL-2.0 2/* Copyright (c) 2016, The Linux Foundation. All rights reserved. */ 3 4/dts-v1/; 5 6#include "msm8998.dtsi" 7#include "pm8005.dtsi" 8#include "pm8998.dtsi" 9#include "pmi8998.dtsi" 10 11/ { 12 model = "Qualcomm Technologies, Inc. MSM8998 v1 MTP"; 13 compatible = "qcom,msm8998-mtp", "qcom,msm8998"; 14 chassis-type = "handset"; 15 16 qcom,board-id = <8 0>; 17 18 aliases { 19 serial0 = &blsp2_uart1; 20 serial1 = &blsp1_uart3; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 vph_pwr: vph-pwr-regulator { 28 compatible = "regulator-fixed"; 29 regulator-name = "vph_pwr"; 30 regulator-always-on; 31 regulator-boot-on; 32 }; 33}; 34 35&blsp1_uart3 { 36 status = "okay"; 37 38 bluetooth { 39 compatible = "qcom,wcn3990-bt"; 40 41 vddio-supply = <&vreg_s4a_1p8>; 42 vddxo-supply = <&vreg_l7a_1p8>; 43 vddrf-supply = <&vreg_l17a_1p3>; 44 vddch0-supply = <&vreg_l25a_3p3>; 45 max-speed = <3200000>; 46 }; 47}; 48 49&blsp1_uart3_on { 50 rx-pins { 51 /delete-property/ bias-disable; 52 /* 53 * Configure a pull-up on 45 (RX). This is needed to 54 * avoid garbage data when the TX pin of the Bluetooth 55 * module is in tri-state (module powered off or not 56 * driving the signal yet). 57 */ 58 bias-pull-up; 59 }; 60 61 cts-pins { 62 /delete-property/ bias-disable; 63 /* 64 * Configure a pull-down on 47 (CTS) to match the pull 65 * of the Bluetooth module. 66 */ 67 bias-pull-down; 68 }; 69}; 70 71&blsp2_uart1 { 72 status = "okay"; 73}; 74 75&etf { 76 status = "okay"; 77}; 78 79&etm1 { 80 status = "okay"; 81}; 82 83&etm2 { 84 status = "okay"; 85}; 86 87&etm3 { 88 status = "okay"; 89}; 90 91&etm4 { 92 status = "okay"; 93}; 94 95&etm5 { 96 status = "okay"; 97}; 98 99&etm6 { 100 status = "okay"; 101}; 102 103&etm7 { 104 status = "okay"; 105}; 106 107&etm8 { 108 status = "okay"; 109}; 110 111&etr { 112 status = "okay"; 113}; 114 115&funnel1 { 116 status = "okay"; 117}; 118 119&funnel2 { 120 status = "okay"; 121}; 122 123&funnel3 { 124 status = "okay"; 125}; 126 127&funnel4 { 128 /* FIXME: Figure out why clock late_initcall crashes the board with this enabled. */ 129}; 130 131&funnel5 { 132 /* FIXME: Figure out why clock late_initcall crashes the board with this enabled. */ 133}; 134 135&pcie0 { 136 status = "okay"; 137}; 138 139&pcie_phy { 140 status = "okay"; 141}; 142 143&pm8005_regulators { 144 vdd_s1-supply = <&vph_pwr>; 145 146 pm8005_s1: s1 { /* VDD_GFX supply */ 147 regulator-min-microvolt = <524000>; 148 regulator-max-microvolt = <1100000>; 149 regulator-enable-ramp-delay = <500>; 150 151 /* Hack until we rig up the gpu consumer */ 152 regulator-always-on; 153 }; 154}; 155 156&qusb2phy { 157 status = "okay"; 158 159 vdd-supply = <&vreg_l1a_0p875>; 160 vdda-pll-supply = <&vreg_l12a_1p8>; 161 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 162}; 163 164&replicator1 { 165 status = "okay"; 166}; 167 168&rpm_requests { 169 regulators-0 { 170 compatible = "qcom,rpm-pm8998-regulators"; 171 172 vdd_s1-supply = <&vph_pwr>; 173 vdd_s2-supply = <&vph_pwr>; 174 vdd_s3-supply = <&vph_pwr>; 175 vdd_s4-supply = <&vph_pwr>; 176 vdd_s5-supply = <&vph_pwr>; 177 vdd_s6-supply = <&vph_pwr>; 178 vdd_s7-supply = <&vph_pwr>; 179 vdd_s8-supply = <&vph_pwr>; 180 vdd_s9-supply = <&vph_pwr>; 181 vdd_s10-supply = <&vph_pwr>; 182 vdd_s11-supply = <&vph_pwr>; 183 vdd_s12-supply = <&vph_pwr>; 184 vdd_s13-supply = <&vph_pwr>; 185 vdd_l1_l27-supply = <&vreg_s7a_1p025>; 186 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>; 187 vdd_l3_l11-supply = <&vreg_s7a_1p025>; 188 vdd_l4_l5-supply = <&vreg_s7a_1p025>; 189 vdd_l6-supply = <&vreg_s5a_2p04>; 190 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>; 191 vdd_l9-supply = <&vreg_bob>; 192 vdd_l10_l23_l25-supply = <&vreg_bob>; 193 vdd_l13_l19_l21-supply = <&vreg_bob>; 194 vdd_l16_l28-supply = <&vreg_bob>; 195 vdd_l18_l22-supply = <&vreg_bob>; 196 vdd_l20_l24-supply = <&vreg_bob>; 197 vdd_l26-supply = <&vreg_s3a_1p35>; 198 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>; 199 200 vreg_s3a_1p35: s3 { 201 regulator-min-microvolt = <1352000>; 202 regulator-max-microvolt = <1352000>; 203 }; 204 205 vreg_s4a_1p8: s4 { 206 regulator-min-microvolt = <1800000>; 207 regulator-max-microvolt = <1800000>; 208 regulator-allow-set-load; 209 }; 210 211 vreg_s5a_2p04: s5 { 212 regulator-min-microvolt = <1904000>; 213 regulator-max-microvolt = <2040000>; 214 }; 215 216 vreg_s7a_1p025: s7 { 217 regulator-min-microvolt = <900000>; 218 regulator-max-microvolt = <1028000>; 219 }; 220 221 vreg_l1a_0p875: l1 { 222 regulator-min-microvolt = <880000>; 223 regulator-max-microvolt = <880000>; 224 }; 225 226 vreg_l2a_1p2: l2 { 227 regulator-min-microvolt = <1200000>; 228 regulator-max-microvolt = <1200000>; 229 }; 230 231 vreg_l3a_1p0: l3 { 232 regulator-min-microvolt = <1000000>; 233 regulator-max-microvolt = <1000000>; 234 }; 235 236 vreg_l5a_0p8: l5 { 237 regulator-min-microvolt = <800000>; 238 regulator-max-microvolt = <800000>; 239 }; 240 241 vreg_l6a_1p8: l6 { 242 regulator-min-microvolt = <1808000>; 243 regulator-max-microvolt = <1808000>; 244 }; 245 246 vreg_l7a_1p8: l7 { 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>; 249 }; 250 251 vreg_l8a_1p2: l8 { 252 regulator-min-microvolt = <1200000>; 253 regulator-max-microvolt = <1200000>; 254 }; 255 256 vreg_l9a_1p8: l9 { 257 regulator-min-microvolt = <1808000>; 258 regulator-max-microvolt = <2960000>; 259 }; 260 261 vreg_l10a_1p8: l10 { 262 regulator-min-microvolt = <1808000>; 263 regulator-max-microvolt = <2960000>; 264 }; 265 266 vreg_l11a_1p0: l11 { 267 regulator-min-microvolt = <1000000>; 268 regulator-max-microvolt = <1000000>; 269 }; 270 271 vreg_l12a_1p8: l12 { 272 regulator-min-microvolt = <1800000>; 273 regulator-max-microvolt = <1800000>; 274 }; 275 276 vreg_l13a_2p95: l13 { 277 regulator-min-microvolt = <1808000>; 278 regulator-max-microvolt = <2960000>; 279 }; 280 281 vreg_l14a_1p88: l14 { 282 regulator-min-microvolt = <1880000>; 283 regulator-max-microvolt = <1880000>; 284 }; 285 286 vreg_l15a_1p8: l15 { 287 regulator-min-microvolt = <1800000>; 288 regulator-max-microvolt = <1800000>; 289 }; 290 291 vreg_l16a_2p7: l16 { 292 regulator-min-microvolt = <2704000>; 293 regulator-max-microvolt = <2704000>; 294 }; 295 296 vreg_l17a_1p3: l17 { 297 regulator-min-microvolt = <1304000>; 298 regulator-max-microvolt = <1304000>; 299 }; 300 301 vreg_l18a_2p7: l18 { 302 regulator-min-microvolt = <2704000>; 303 regulator-max-microvolt = <2704000>; 304 }; 305 306 vreg_l19a_3p0: l19 { 307 regulator-min-microvolt = <3008000>; 308 regulator-max-microvolt = <3008000>; 309 }; 310 311 vreg_l20a_2p95: l20 { 312 regulator-min-microvolt = <2960000>; 313 regulator-max-microvolt = <2960000>; 314 regulator-allow-set-load; 315 }; 316 317 vreg_l21a_2p95: l21 { 318 regulator-min-microvolt = <2960000>; 319 regulator-max-microvolt = <2960000>; 320 regulator-system-load = <800000>; 321 regulator-allow-set-load; 322 }; 323 324 vreg_l22a_2p85: l22 { 325 regulator-min-microvolt = <2864000>; 326 regulator-max-microvolt = <2864000>; 327 }; 328 329 vreg_l23a_3p3: l23 { 330 regulator-min-microvolt = <3312000>; 331 regulator-max-microvolt = <3312000>; 332 }; 333 334 vreg_l24a_3p075: l24 { 335 regulator-min-microvolt = <3088000>; 336 regulator-max-microvolt = <3088000>; 337 }; 338 339 vreg_l25a_3p3: l25 { 340 regulator-min-microvolt = <3104000>; 341 regulator-max-microvolt = <3312000>; 342 }; 343 344 vreg_l26a_1p2: l26 { 345 regulator-min-microvolt = <1200000>; 346 regulator-max-microvolt = <1200000>; 347 regulator-allow-set-load; 348 }; 349 350 vreg_l28_3p0: l28 { 351 regulator-min-microvolt = <3008000>; 352 regulator-max-microvolt = <3008000>; 353 }; 354 355 vreg_lvs1a_1p8: lvs1 { 356 regulator-min-microvolt = <1800000>; 357 regulator-max-microvolt = <1800000>; 358 }; 359 360 vreg_lvs2a_1p8: lvs2 { 361 regulator-min-microvolt = <1800000>; 362 regulator-max-microvolt = <1800000>; 363 }; 364 365 }; 366 367 regulators-1 { 368 compatible = "qcom,rpm-pmi8998-regulators"; 369 370 vdd_bob-supply = <&vph_pwr>; 371 372 vreg_bob: bob { 373 regulator-min-microvolt = <3312000>; 374 regulator-max-microvolt = <3600000>; 375 }; 376 }; 377}; 378 379&remoteproc_adsp { 380 status = "okay"; 381}; 382 383&remoteproc_mss { 384 status = "okay"; 385}; 386 387&remoteproc_slpi { 388 status = "okay"; 389}; 390 391&tlmm { 392 gpio-reserved-ranges = <0 4>, <81 4>; 393}; 394 395&sdhc2 { 396 status = "okay"; 397 cd-gpios = <&tlmm 95 GPIO_ACTIVE_LOW>; 398 399 vmmc-supply = <&vreg_l21a_2p95>; 400 vqmmc-supply = <&vreg_l13a_2p95>; 401 402 pinctrl-names = "default", "sleep"; 403 pinctrl-0 = <&sdc2_on &sdc2_cd>; 404 pinctrl-1 = <&sdc2_off &sdc2_cd>; 405}; 406 407&stm { 408 status = "okay"; 409}; 410 411&ufshc { 412 status = "okay"; 413 vcc-supply = <&vreg_l20a_2p95>; 414 vccq-supply = <&vreg_l26a_1p2>; 415 vccq2-supply = <&vreg_s4a_1p8>; 416 vdd-hba-supply = <&vreg_l26a_1p2>; 417 vcc-max-microamp = <750000>; 418 vccq-max-microamp = <560000>; 419 vccq2-max-microamp = <750000>; 420}; 421 422&ufsphy { 423 status = "okay"; 424 vdda-phy-supply = <&vreg_l1a_0p875>; 425 vdda-pll-supply = <&vreg_l2a_1p2>; 426}; 427 428&usb3 { 429 status = "okay"; 430}; 431 432&usb3_dwc3 { 433 dr_mode = "host"; /* Force to host until we have Type-C hooked up */ 434}; 435 436&usb3phy { 437 status = "okay"; 438 439 vdda-phy-supply = <&vreg_l1a_0p875>; 440 vdda-pll-supply = <&vreg_l2a_1p2>; 441}; 442 443&wifi { 444 status = "okay"; 445 446 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 447 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 448 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 449 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 450}; 451