1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (C) 2021, Microsoft Corporation 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 9#include "sm8350.dtsi" 10#include "pm8350.dtsi" 11#include "pm8350b.dtsi" 12#include "pm8350c.dtsi" 13#include "pmk8350.dtsi" 14#include "pmr735a.dtsi" 15#include "pmr735b.dtsi" 16 17/ { 18 model = "Microsoft Surface Duo 2"; 19 compatible = "microsoft,surface-duo2", "qcom,sm8350"; 20 chassis-type = "handset"; 21 22 aliases { 23 serial0 = &uart2; 24 }; 25 26 chosen { 27 stdout-path = "serial0:115200n8"; 28 }; 29 30 vph_pwr: vph-pwr-regulator { 31 compatible = "regulator-fixed"; 32 regulator-name = "vph_pwr"; 33 regulator-min-microvolt = <3700000>; 34 regulator-max-microvolt = <3700000>; 35 36 regulator-always-on; 37 regulator-boot-on; 38 }; 39}; 40 41&adsp { 42 status = "okay"; 43 firmware-name = "qcom/sm8350/microsoft/adsp.mbn"; 44}; 45 46&apps_rsc { 47 pm8350-rpmh-regulators { 48 compatible = "qcom,pm8350-rpmh-regulators"; 49 qcom,pmic-id = "b"; 50 51 vdd-s1-supply = <&vph_pwr>; 52 vdd-s2-supply = <&vph_pwr>; 53 vdd-s3-supply = <&vph_pwr>; 54 vdd-s4-supply = <&vph_pwr>; 55 vdd-s5-supply = <&vph_pwr>; 56 vdd-s6-supply = <&vph_pwr>; 57 vdd-s7-supply = <&vph_pwr>; 58 vdd-s8-supply = <&vph_pwr>; 59 vdd-s9-supply = <&vph_pwr>; 60 vdd-s10-supply = <&vph_pwr>; 61 vdd-s11-supply = <&vph_pwr>; 62 vdd-s12-supply = <&vph_pwr>; 63 64 vdd-l1-l4-supply = <&vreg_s11b_0p95>; 65 vdd-l2-l7-supply = <&vreg_bob>; 66 vdd-l3-l5-supply = <&vreg_bob>; 67 vdd-l6-l9-l10-supply = <&vreg_s11b_0p95>; 68 vdd-l8-supply = <&vreg_s2c_0p8>; 69 70 vreg_s10b_1p8: smps10 { 71 regulator-name = "vreg_s10b_1p8"; 72 regulator-min-microvolt = <1800000>; 73 regulator-max-microvolt = <1800000>; 74 }; 75 76 vreg_s11b_0p95: smps11 { 77 regulator-name = "vreg_s11b_0p95"; 78 regulator-min-microvolt = <752000>; 79 regulator-max-microvolt = <1000000>; 80 }; 81 82 vreg_s12b_1p25: smps12 { 83 regulator-name = "vreg_s12b_1p25"; 84 regulator-min-microvolt = <1224000>; 85 regulator-max-microvolt = <1360000>; 86 }; 87 88 vreg_l1b_0p88: ldo1 { 89 regulator-name = "vreg_l1b_0p88"; 90 regulator-min-microvolt = <912000>; 91 regulator-max-microvolt = <920000>; 92 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 93 }; 94 95 vreg_l2b_3p07: ldo2 { 96 regulator-name = "vreg_l2b_3p07"; 97 regulator-min-microvolt = <3072000>; 98 regulator-max-microvolt = <3072000>; 99 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 100 }; 101 102 vreg_l3b_0p9: ldo3 { 103 regulator-name = "vreg_l3b_0p9"; 104 regulator-min-microvolt = <904000>; 105 regulator-max-microvolt = <904000>; 106 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 107 }; 108 109 vreg_l5b_0p88: ldo5 { 110 regulator-name = "vreg_l3b_0p9"; 111 regulator-min-microvolt = <880000>; 112 regulator-max-microvolt = <888000>; 113 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 114 }; 115 116 vreg_l6b_1p2: ldo6 { 117 regulator-name = "vreg_l6b_1p2"; 118 regulator-min-microvolt = <1200000>; 119 regulator-max-microvolt = <1208000>; 120 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 121 }; 122 123 vreg_l7b_2p96: ldo7 { 124 regulator-name = "vreg_l7b_2p96"; 125 regulator-min-microvolt = <2400000>; 126 regulator-max-microvolt = <3008000>; 127 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 128 }; 129 130 vreg_l9b_1p2: ldo9 { 131 regulator-name = "vreg_l9b_1p2"; 132 regulator-min-microvolt = <1200000>; 133 regulator-max-microvolt = <1200000>; 134 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 135 }; 136 }; 137 138 pm8350c-rpmh-regulators { 139 compatible = "qcom,pm8350c-rpmh-regulators"; 140 qcom,pmic-id = "c"; 141 142 vdd-s1-supply = <&vph_pwr>; 143 vdd-s2-supply = <&vph_pwr>; 144 vdd-s3-supply = <&vph_pwr>; 145 vdd-s4-supply = <&vph_pwr>; 146 vdd-s5-supply = <&vph_pwr>; 147 vdd-s6-supply = <&vph_pwr>; 148 vdd-s7-supply = <&vph_pwr>; 149 vdd-s8-supply = <&vph_pwr>; 150 vdd-s9-supply = <&vph_pwr>; 151 vdd-s10-supply = <&vph_pwr>; 152 153 vdd-l1-l12-supply = <&vreg_s1c_1p86>; 154 vdd-l2-l8-supply = <&vreg_s1c_1p86>; 155 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>; 156 vdd-l6-l9-l11-supply = <&vreg_bob>; 157 vdd-l10-supply = <&vreg_s12b_1p25>; 158 159 vdd-bob-supply = <&vph_pwr>; 160 161 vreg_s1c_1p86: smps1 { 162 regulator-name = "vreg_s1c_1p86"; 163 regulator-min-microvolt = <1800000>; 164 regulator-max-microvolt = <1952000>; 165 }; 166 167 vreg_s2c_0p8: smps2 { 168 regulator-name = "vreg_s2c_0p8"; 169 regulator-min-microvolt = <640000>; 170 regulator-max-microvolt = <1000000>; 171 }; 172 173 vreg_s10c_1p05: smps10 { 174 regulator-name = "vreg_s10c_1p05"; 175 regulator-min-microvolt = <1048000>; 176 regulator-max-microvolt = <1128000>; 177 }; 178 179 vreg_bob: bob { 180 regulator-name = "vreg_bob"; 181 regulator-min-microvolt = <3008000>; 182 regulator-max-microvolt = <3960000>; 183 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 184 }; 185 186 vreg_l1c_1p8: ldo1 { 187 regulator-name = "vreg_l1c_1p8"; 188 regulator-min-microvolt = <1800000>; 189 regulator-max-microvolt = <1800000>; 190 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 191 }; 192 193 vreg_l2c_1p8: ldo2 { 194 regulator-name = "vreg_l2c_1p8"; 195 regulator-min-microvolt = <1800000>; 196 regulator-max-microvolt = <1800000>; 197 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 198 }; 199 200 vreg_l3c_3p0: ldo3 { 201 regulator-name = "vreg_l3c_3p0"; 202 regulator-min-microvolt = <3008000>; 203 regulator-max-microvolt = <3008000>; 204 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 205 }; 206 207 vreg_l4c_uim1: ldo4 { 208 regulator-name = "vreg_l4c_uim1"; 209 regulator-min-microvolt = <1704000>; 210 regulator-max-microvolt = <3000000>; 211 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 212 }; 213 214 vreg_l5c_uim2: ldo5 { 215 regulator-name = "vreg_l5c_uim2"; 216 regulator-min-microvolt = <1704000>; 217 regulator-max-microvolt = <3000000>; 218 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 219 }; 220 221 vreg_l6c_1p8: ldo6 { 222 regulator-name = "vreg_l6c_1p8"; 223 regulator-min-microvolt = <1800000>; 224 regulator-max-microvolt = <2960000>; 225 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 226 }; 227 228 vreg_l7c_3p0: ldo7 { 229 regulator-name = "vreg_l7c_3p0"; 230 regulator-min-microvolt = <3008000>; 231 regulator-max-microvolt = <3008000>; 232 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 233 }; 234 235 vreg_l8c_1p8: ldo8 { 236 regulator-name = "vreg_l8c_1p8"; 237 regulator-min-microvolt = <1800000>; 238 regulator-max-microvolt = <1800000>; 239 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 240 }; 241 242 vreg_l9c_2p96: ldo9 { 243 regulator-name = "vreg_l9c_2p96"; 244 regulator-min-microvolt = <2960000>; 245 regulator-max-microvolt = <3008000>; 246 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 247 }; 248 249 vreg_l10c_1p2: ldo10 { 250 regulator-name = "vreg_l10c_1p2"; 251 regulator-min-microvolt = <1200000>; 252 regulator-max-microvolt = <1200000>; 253 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 254 }; 255 256 vreg_l11c_2p96: ldo11 { 257 regulator-name = "vreg_l11c_2p96"; 258 regulator-min-microvolt = <2400000>; 259 regulator-max-microvolt = <3008000>; 260 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 261 }; 262 263 vreg_l12c_1p8: ldo12 { 264 regulator-name = "vreg_l12c_1p8"; 265 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <2000000>; 267 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 268 }; 269 270 vreg_l13c_3p0: ldo13 { 271 regulator-name = "vreg_l13c_3p0"; 272 regulator-min-microvolt = <3000000>; 273 regulator-max-microvolt = <3000000>; 274 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 275 }; 276 }; 277}; 278 279&cdsp { 280 status = "okay"; 281 firmware-name = "qcom/sm8350/microsoft/cdsp.mbn"; 282}; 283 284&i2c10 { 285 status = "okay"; 286}; 287 288&i2c11 { 289 status = "okay"; 290}; 291 292&ipa { 293 status = "okay"; 294 295 memory-region = <&pil_ipa_fw_mem>; 296}; 297 298&mpss { 299 status = "okay"; 300 firmware-name = "qcom/sm8350/microsoft/modem.mbn"; 301}; 302 303&qupv3_id_0 { 304 status = "okay"; 305}; 306 307&qupv3_id_1 { 308 status = "okay"; 309}; 310 311&slpi { 312 status = "okay"; 313 firmware-name = "qcom/sm8350/microsoft/slpi.mbn"; 314}; 315 316&tlmm { 317 gpio-reserved-ranges = <4 4>, <12 4>, <56 4>, <76 4>; 318}; 319 320&uart2 { 321 status = "okay"; 322}; 323 324&ufs_mem_hc { 325 status = "okay"; 326 327 reset-gpios = <&tlmm 203 GPIO_ACTIVE_LOW>; 328 329 vcc-supply = <&vreg_l7b_2p96>; 330 vcc-max-microamp = <800000>; 331 vccq-supply = <&vreg_l9b_1p2>; 332 vccq-max-microamp = <900000>; 333}; 334 335&ufs_mem_phy { 336 status = "okay"; 337 338 vdda-phy-supply = <&vreg_l5b_0p88>; 339 vdda-max-microamp = <91600>; 340 vdda-pll-supply = <&vreg_l6b_1p2>; 341 vdda-pll-max-microamp = <19000>; 342}; 343 344&usb_1 { 345 status = "okay"; 346 dr_mode = "peripheral"; 347}; 348 349&usb_1_hsphy { 350 status = "okay"; 351 352 vdda-pll-supply = <&vreg_l5b_0p88>; 353 vdda18-supply = <&vreg_l1c_1p8>; 354 vdda33-supply = <&vreg_l2b_3p07>; 355}; 356 357&usb_1_qmpphy { 358 status = "okay"; 359 360 vdda-phy-supply = <&vreg_l6b_1p2>; 361 vdda-pll-supply = <&vreg_l1b_0p88>; 362}; 363 364&usb_2 { 365 status = "okay"; 366}; 367 368&usb_2_hsphy { 369 status = "okay"; 370 371 vdda-pll-supply = <&vreg_l5b_0p88>; 372 vdda18-supply = <&vreg_l1c_1p8>; 373 vdda33-supply = <&vreg_l2b_3p07>; 374}; 375 376&usb_2_qmpphy { 377 status = "okay"; 378 379 vdda-phy-supply = <&vreg_l6b_1p2>; 380 vdda-pll-supply = <&vreg_l5b_0p88>; 381}; 382