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