Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003  * Copyright (C) 2021, Microsoft Corporation
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
0009 #include "sm8350.dtsi"
0010 #include "pm8350.dtsi"
0011 #include "pm8350b.dtsi"
0012 #include "pm8350c.dtsi"
0013 #include "pmk8350.dtsi"
0014 #include "pmr735a.dtsi"
0015 #include "pmr735b.dtsi"
0016 
0017 / {
0018         model = "Microsoft Surface Duo 2";
0019         compatible = "microsoft,surface-duo2", "qcom,sm8350";
0020         chassis-type = "handset";
0021 
0022         aliases {
0023                 serial0 = &uart2;
0024         };
0025 
0026         chosen {
0027                 stdout-path = "serial0:115200n8";
0028         };
0029 
0030         vph_pwr: vph-pwr-regulator {
0031                 compatible = "regulator-fixed";
0032                 regulator-name = "vph_pwr";
0033                 regulator-min-microvolt = <3700000>;
0034                 regulator-max-microvolt = <3700000>;
0035 
0036                 regulator-always-on;
0037                 regulator-boot-on;
0038         };
0039 };
0040 
0041 &adsp {
0042         status = "okay";
0043         firmware-name = "qcom/sm8350/microsoft/adsp.mbn";
0044 };
0045 
0046 &apps_rsc {
0047         pm8350-rpmh-regulators {
0048                 compatible = "qcom,pm8350-rpmh-regulators";
0049                 qcom,pmic-id = "b";
0050 
0051                 vdd-s1-supply = <&vph_pwr>;
0052                 vdd-s2-supply = <&vph_pwr>;
0053                 vdd-s3-supply = <&vph_pwr>;
0054                 vdd-s4-supply = <&vph_pwr>;
0055                 vdd-s5-supply = <&vph_pwr>;
0056                 vdd-s6-supply = <&vph_pwr>;
0057                 vdd-s7-supply = <&vph_pwr>;
0058                 vdd-s8-supply = <&vph_pwr>;
0059                 vdd-s9-supply = <&vph_pwr>;
0060                 vdd-s10-supply = <&vph_pwr>;
0061                 vdd-s11-supply = <&vph_pwr>;
0062                 vdd-s12-supply = <&vph_pwr>;
0063 
0064                 vdd-l1-l4-supply = <&vreg_s11b_0p95>;
0065                 vdd-l2-l7-supply = <&vreg_bob>;
0066                 vdd-l3-l5-supply = <&vreg_bob>;
0067                 vdd-l6-l9-l10-supply = <&vreg_s11b_0p95>;
0068                 vdd-l8-supply = <&vreg_s2c_0p8>;
0069 
0070                 vreg_s10b_1p8: smps10 {
0071                         regulator-name = "vreg_s10b_1p8";
0072                         regulator-min-microvolt = <1800000>;
0073                         regulator-max-microvolt = <1800000>;
0074                 };
0075 
0076                 vreg_s11b_0p95: smps11 {
0077                         regulator-name = "vreg_s11b_0p95";
0078                         regulator-min-microvolt = <752000>;
0079                         regulator-max-microvolt = <1000000>;
0080                 };
0081 
0082                 vreg_s12b_1p25: smps12 {
0083                         regulator-name = "vreg_s12b_1p25";
0084                         regulator-min-microvolt = <1224000>;
0085                         regulator-max-microvolt = <1360000>;
0086                 };
0087 
0088                 vreg_l1b_0p88: ldo1 {
0089                         regulator-name = "vreg_l1b_0p88";
0090                         regulator-min-microvolt = <912000>;
0091                         regulator-max-microvolt = <920000>;
0092                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0093                 };
0094 
0095                 vreg_l2b_3p07: ldo2 {
0096                         regulator-name = "vreg_l2b_3p07";
0097                         regulator-min-microvolt = <3072000>;
0098                         regulator-max-microvolt = <3072000>;
0099                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0100                 };
0101 
0102                 vreg_l3b_0p9: ldo3 {
0103                         regulator-name = "vreg_l3b_0p9";
0104                         regulator-min-microvolt = <904000>;
0105                         regulator-max-microvolt = <904000>;
0106                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0107                 };
0108 
0109                 vreg_l5b_0p88: ldo5 {
0110                         regulator-name = "vreg_l3b_0p9";
0111                         regulator-min-microvolt = <880000>;
0112                         regulator-max-microvolt = <888000>;
0113                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0114                 };
0115 
0116                 vreg_l6b_1p2: ldo6 {
0117                         regulator-name = "vreg_l6b_1p2";
0118                         regulator-min-microvolt = <1200000>;
0119                         regulator-max-microvolt = <1208000>;
0120                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0121                 };
0122 
0123                 vreg_l7b_2p96: ldo7 {
0124                         regulator-name = "vreg_l7b_2p96";
0125                         regulator-min-microvolt = <2400000>;
0126                         regulator-max-microvolt = <3008000>;
0127                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0128                 };
0129 
0130                 vreg_l9b_1p2: ldo9 {
0131                         regulator-name = "vreg_l9b_1p2";
0132                         regulator-min-microvolt = <1200000>;
0133                         regulator-max-microvolt = <1200000>;
0134                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0135                 };
0136         };
0137 
0138         pm8350c-rpmh-regulators {
0139                 compatible = "qcom,pm8350c-rpmh-regulators";
0140                 qcom,pmic-id = "c";
0141 
0142                 vdd-s1-supply = <&vph_pwr>;
0143                 vdd-s2-supply = <&vph_pwr>;
0144                 vdd-s3-supply = <&vph_pwr>;
0145                 vdd-s4-supply = <&vph_pwr>;
0146                 vdd-s5-supply = <&vph_pwr>;
0147                 vdd-s6-supply = <&vph_pwr>;
0148                 vdd-s7-supply = <&vph_pwr>;
0149                 vdd-s8-supply = <&vph_pwr>;
0150                 vdd-s9-supply = <&vph_pwr>;
0151                 vdd-s10-supply = <&vph_pwr>;
0152 
0153                 vdd-l1-l12-supply = <&vreg_s1c_1p86>;
0154                 vdd-l2-l8-supply = <&vreg_s1c_1p86>;
0155                 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
0156                 vdd-l6-l9-l11-supply = <&vreg_bob>;
0157                 vdd-l10-supply = <&vreg_s12b_1p25>;
0158 
0159                 vdd-bob-supply = <&vph_pwr>;
0160 
0161                 vreg_s1c_1p86: smps1 {
0162                         regulator-name = "vreg_s1c_1p86";
0163                         regulator-min-microvolt = <1800000>;
0164                         regulator-max-microvolt = <1952000>;
0165                 };
0166 
0167                 vreg_s2c_0p8: smps2 {
0168                         regulator-name = "vreg_s2c_0p8";
0169                         regulator-min-microvolt = <640000>;
0170                         regulator-max-microvolt = <1000000>;
0171                 };
0172 
0173                 vreg_s10c_1p05: smps10 {
0174                         regulator-name = "vreg_s10c_1p05";
0175                         regulator-min-microvolt = <1048000>;
0176                         regulator-max-microvolt = <1128000>;
0177                 };
0178 
0179                 vreg_bob: bob {
0180                         regulator-name = "vreg_bob";
0181                         regulator-min-microvolt = <3008000>;
0182                         regulator-max-microvolt = <3960000>;
0183                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
0184                 };
0185 
0186                 vreg_l1c_1p8: ldo1 {
0187                         regulator-name = "vreg_l1c_1p8";
0188                         regulator-min-microvolt = <1800000>;
0189                         regulator-max-microvolt = <1800000>;
0190                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0191                 };
0192 
0193                 vreg_l2c_1p8: ldo2 {
0194                         regulator-name = "vreg_l2c_1p8";
0195                         regulator-min-microvolt = <1800000>;
0196                         regulator-max-microvolt = <1800000>;
0197                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0198                 };
0199 
0200                 vreg_l3c_3p0: ldo3 {
0201                         regulator-name = "vreg_l3c_3p0";
0202                         regulator-min-microvolt = <3008000>;
0203                         regulator-max-microvolt = <3008000>;
0204                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0205                 };
0206 
0207                 vreg_l4c_uim1: ldo4 {
0208                         regulator-name = "vreg_l4c_uim1";
0209                         regulator-min-microvolt = <1704000>;
0210                         regulator-max-microvolt = <3000000>;
0211                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0212                 };
0213 
0214                 vreg_l5c_uim2: ldo5 {
0215                         regulator-name = "vreg_l5c_uim2";
0216                         regulator-min-microvolt = <1704000>;
0217                         regulator-max-microvolt = <3000000>;
0218                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0219                 };
0220 
0221                 vreg_l6c_1p8: ldo6 {
0222                         regulator-name = "vreg_l6c_1p8";
0223                         regulator-min-microvolt = <1800000>;
0224                         regulator-max-microvolt = <2960000>;
0225                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0226                 };
0227 
0228                 vreg_l7c_3p0: ldo7 {
0229                         regulator-name = "vreg_l7c_3p0";
0230                         regulator-min-microvolt = <3008000>;
0231                         regulator-max-microvolt = <3008000>;
0232                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0233                 };
0234 
0235                 vreg_l8c_1p8: ldo8 {
0236                         regulator-name = "vreg_l8c_1p8";
0237                         regulator-min-microvolt = <1800000>;
0238                         regulator-max-microvolt = <1800000>;
0239                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0240                 };
0241 
0242                 vreg_l9c_2p96: ldo9 {
0243                         regulator-name = "vreg_l9c_2p96";
0244                         regulator-min-microvolt = <2960000>;
0245                         regulator-max-microvolt = <3008000>;
0246                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0247                 };
0248 
0249                 vreg_l10c_1p2: ldo10 {
0250                         regulator-name = "vreg_l10c_1p2";
0251                         regulator-min-microvolt = <1200000>;
0252                         regulator-max-microvolt = <1200000>;
0253                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0254                 };
0255 
0256                 vreg_l11c_2p96: ldo11 {
0257                         regulator-name = "vreg_l11c_2p96";
0258                         regulator-min-microvolt = <2400000>;
0259                         regulator-max-microvolt = <3008000>;
0260                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0261                 };
0262 
0263                 vreg_l12c_1p8: ldo12 {
0264                         regulator-name = "vreg_l12c_1p8";
0265                         regulator-min-microvolt = <1800000>;
0266                         regulator-max-microvolt = <2000000>;
0267                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0268                 };
0269 
0270                 vreg_l13c_3p0: ldo13 {
0271                         regulator-name = "vreg_l13c_3p0";
0272                         regulator-min-microvolt = <3000000>;
0273                         regulator-max-microvolt = <3000000>;
0274                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0275                 };
0276         };
0277 };
0278 
0279 &cdsp {
0280         status = "okay";
0281         firmware-name = "qcom/sm8350/microsoft/cdsp.mbn";
0282 };
0283 
0284 &i2c10 {
0285         status = "okay";
0286 };
0287 
0288 &i2c11 {
0289         status = "okay";
0290 };
0291 
0292 &ipa {
0293         status = "okay";
0294 
0295         memory-region = <&pil_ipa_fw_mem>;
0296 };
0297 
0298 &mpss {
0299         status = "okay";
0300         firmware-name = "qcom/sm8350/microsoft/modem.mbn";
0301 };
0302 
0303 &qupv3_id_0 {
0304         status = "okay";
0305 };
0306 
0307 &qupv3_id_1 {
0308         status = "okay";
0309 };
0310 
0311 &slpi {
0312         status = "okay";
0313         firmware-name = "qcom/sm8350/microsoft/slpi.mbn";
0314 };
0315 
0316 &tlmm {
0317         gpio-reserved-ranges = <4 4>, <12 4>, <56 4>, <76 4>;
0318 };
0319 
0320 &uart2 {
0321         status = "okay";
0322 };
0323 
0324 &ufs_mem_hc {
0325         status = "okay";
0326 
0327         reset-gpios = <&tlmm 203 GPIO_ACTIVE_LOW>;
0328 
0329         vcc-supply = <&vreg_l7b_2p96>;
0330         vcc-max-microamp = <800000>;
0331         vccq-supply = <&vreg_l9b_1p2>;
0332         vccq-max-microamp = <900000>;
0333 };
0334 
0335 &ufs_mem_phy {
0336         status = "okay";
0337 
0338         vdda-phy-supply = <&vreg_l5b_0p88>;
0339         vdda-pll-supply = <&vreg_l6b_1p2>;
0340 };
0341 
0342 &usb_1 {
0343         status = "okay";
0344         dr_mode = "peripheral";
0345 };
0346 
0347 &usb_1_hsphy {
0348         status = "okay";
0349 
0350         vdda-pll-supply = <&vreg_l5b_0p88>;
0351         vdda18-supply = <&vreg_l1c_1p8>;
0352         vdda33-supply = <&vreg_l2b_3p07>;
0353 };
0354 
0355 &usb_1_qmpphy {
0356         status = "okay";
0357 
0358         vdda-phy-supply = <&vreg_l6b_1p2>;
0359         vdda-pll-supply = <&vreg_l1b_0p88>;
0360 };
0361 
0362 &usb_2 {
0363         status = "okay";
0364 };
0365 
0366 &usb_2_hsphy {
0367         status = "okay";
0368 
0369         vdda-pll-supply = <&vreg_l5b_0p88>;
0370         vdda18-supply = <&vreg_l1c_1p8>;
0371         vdda33-supply = <&vreg_l2b_3p07>;
0372 };
0373 
0374 &usb_2_qmpphy {
0375         status = "okay";
0376 
0377         vdda-phy-supply = <&vreg_l6b_1p2>;
0378         vdda-pll-supply = <&vreg_l5b_0p88>;
0379 };