1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * msm8939-pm8916.dtsi describes common proper 3 * msm8939-pm8916.dtsi describes common properties (e.g. regulator connections) 4 * that apply to most devices that make use of 4 * that apply to most devices that make use of the MSM8939 SoC and PM8916 PMIC. 5 * Many regulators have a fixed purpose in the 5 * Many regulators have a fixed purpose in the original reference design and 6 * were rarely re-used for different purposes. 6 * were rarely re-used for different purposes. Devices that deviate from the 7 * typical reference design should not make us 7 * typical reference design should not make use of this include and instead add 8 * the necessary properties in the board-speci 8 * the necessary properties in the board-specific device tree. 9 */ 9 */ 10 10 11 #include "msm8939.dtsi" 11 #include "msm8939.dtsi" 12 #include "pm8916.dtsi" 12 #include "pm8916.dtsi" 13 13 14 &mdss_dsi0 { 14 &mdss_dsi0 { 15 vdda-supply = <&pm8916_l2>; 15 vdda-supply = <&pm8916_l2>; 16 vddio-supply = <&pm8916_l6>; 16 vddio-supply = <&pm8916_l6>; 17 }; 17 }; 18 18 19 &mdss_dsi0_phy { 19 &mdss_dsi0_phy { 20 vddio-supply = <&pm8916_l6>; 20 vddio-supply = <&pm8916_l6>; 21 }; 21 }; 22 22 23 &mdss_dsi1 { 23 &mdss_dsi1 { 24 vdda-supply = <&pm8916_l2>; 24 vdda-supply = <&pm8916_l2>; 25 vddio-supply = <&pm8916_l6>; 25 vddio-supply = <&pm8916_l6>; 26 }; 26 }; 27 27 28 &mdss_dsi1_phy { 28 &mdss_dsi1_phy { 29 vddio-supply = <&pm8916_l6>; 29 vddio-supply = <&pm8916_l6>; 30 }; 30 }; 31 31 32 &mpss { 32 &mpss { 33 pll-supply = <&pm8916_l7>; 33 pll-supply = <&pm8916_l7>; 34 }; 34 }; 35 35 36 &pm8916_codec { 36 &pm8916_codec { 37 vdd-cdc-io-supply = <&pm8916_l5>; 37 vdd-cdc-io-supply = <&pm8916_l5>; 38 vdd-cdc-tx-rx-cx-supply = <&pm8916_l5> 38 vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; 39 vdd-micbias-supply = <&pm8916_l13>; 39 vdd-micbias-supply = <&pm8916_l13>; 40 }; 40 }; 41 41 42 &rpm_requests { 42 &rpm_requests { 43 pm8916_rpm_regulators: regulators { 43 pm8916_rpm_regulators: regulators { 44 compatible = "qcom,rpm-pm8916- 44 compatible = "qcom,rpm-pm8916-regulators"; 45 vdd_l1_l2_l3-supply = <&pm8916 45 vdd_l1_l2_l3-supply = <&pm8916_s3>; 46 vdd_l4_l5_l6-supply = <&pm8916 46 vdd_l4_l5_l6-supply = <&pm8916_s4>; 47 vdd_l7-supply = <&pm8916_s4>; 47 vdd_l7-supply = <&pm8916_s4>; 48 48 49 /* pm8916_s1 is managed by rpm 49 /* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */ 50 /* pm8916_s2 is managed by rpm 50 /* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */ 51 pm8916_s3: s3 { 51 pm8916_s3: s3 { 52 regulator-min-microvol 52 regulator-min-microvolt = <1250000>; 53 regulator-max-microvol 53 regulator-max-microvolt = <1350000>; 54 regulator-always-on; / 54 regulator-always-on; /* Needed for L2 */ 55 }; 55 }; 56 pm8916_s4: s4 { 56 pm8916_s4: s4 { 57 regulator-min-microvol 57 regulator-min-microvolt = <1850000>; 58 regulator-max-microvol 58 regulator-max-microvolt = <2150000>; 59 regulator-always-on; / 59 regulator-always-on; /* Needed for L5/L7 */ 60 }; 60 }; 61 61 62 /* 62 /* 63 * Some of the regulators are 63 * Some of the regulators are unused or managed by another 64 * processor (e.g. the modem). 64 * processor (e.g. the modem). We should still define nodes for 65 * them to ensure the vote fro 65 * them to ensure the vote from the application processor can be 66 * dropped in case the regulat 66 * dropped in case the regulators are already on during boot. 67 * 67 * 68 * The labels for these nodes 68 * The labels for these nodes are omitted on purpose because 69 * boards should configure a p 69 * boards should configure a proper voltage before using them. 70 */ 70 */ 71 l1 {}; 71 l1 {}; 72 72 73 pm8916_l2: l2 { 73 pm8916_l2: l2 { 74 regulator-min-microvol 74 regulator-min-microvolt = <1200000>; 75 regulator-max-microvol 75 regulator-max-microvolt = <1200000>; 76 regulator-always-on; / 76 regulator-always-on; /* Needed for LPDDR RAM */ 77 }; 77 }; 78 78 79 /* pm8916_l3 is managed by rpm 79 /* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */ 80 80 81 l4 {}; 81 l4 {}; 82 82 83 pm8916_l5: l5 { 83 pm8916_l5: l5 { 84 regulator-min-microvol 84 regulator-min-microvolt = <1800000>; 85 regulator-max-microvol 85 regulator-max-microvolt = <1800000>; 86 regulator-always-on; / 86 regulator-always-on; /* Needed for most digital I/O */ 87 }; 87 }; 88 88 89 pm8916_l6: l6 { 89 pm8916_l6: l6 { 90 regulator-min-microvol 90 regulator-min-microvolt = <1800000>; 91 regulator-max-microvol 91 regulator-max-microvolt = <1800000>; 92 }; 92 }; 93 93 94 pm8916_l7: l7 { 94 pm8916_l7: l7 { 95 regulator-min-microvol 95 regulator-min-microvolt = <1800000>; 96 regulator-max-microvol 96 regulator-max-microvolt = <1800000>; 97 regulator-always-on; / 97 regulator-always-on; /* Needed for CPU PLL */ 98 }; 98 }; 99 99 100 pm8916_l8: l8 { 100 pm8916_l8: l8 { 101 regulator-min-microvol 101 regulator-min-microvolt = <2900000>; 102 regulator-max-microvol 102 regulator-max-microvolt = <2900000>; 103 }; 103 }; 104 104 105 pm8916_l9: l9 { 105 pm8916_l9: l9 { 106 regulator-min-microvol 106 regulator-min-microvolt = <3300000>; 107 regulator-max-microvol 107 regulator-max-microvolt = <3300000>; 108 }; 108 }; 109 109 110 l10 {}; 110 l10 {}; 111 111 112 pm8916_l11: l11 { 112 pm8916_l11: l11 { 113 regulator-min-microvol 113 regulator-min-microvolt = <2950000>; 114 regulator-max-microvol 114 regulator-max-microvolt = <2950000>; 115 regulator-allow-set-lo 115 regulator-allow-set-load; 116 regulator-system-load 116 regulator-system-load = <200000>; 117 }; 117 }; 118 118 119 pm8916_l12: l12 { 119 pm8916_l12: l12 { 120 regulator-min-microvol 120 regulator-min-microvolt = <1800000>; 121 regulator-max-microvol 121 regulator-max-microvolt = <2950000>; 122 }; 122 }; 123 123 124 pm8916_l13: l13 { 124 pm8916_l13: l13 { 125 regulator-min-microvol 125 regulator-min-microvolt = <3075000>; 126 regulator-max-microvol 126 regulator-max-microvolt = <3075000>; 127 }; 127 }; 128 128 129 l14 {}; 129 l14 {}; 130 l15 {}; 130 l15 {}; 131 l16 {}; 131 l16 {}; 132 l17 {}; 132 l17 {}; 133 l18 {}; 133 l18 {}; 134 }; 134 }; 135 }; 135 }; 136 136 137 &sdhc_1 { 137 &sdhc_1 { 138 vmmc-supply = <&pm8916_l8>; 138 vmmc-supply = <&pm8916_l8>; 139 vqmmc-supply = <&pm8916_l5>; 139 vqmmc-supply = <&pm8916_l5>; 140 }; 140 }; 141 141 142 &sdhc_2 { 142 &sdhc_2 { 143 vmmc-supply = <&pm8916_l11>; 143 vmmc-supply = <&pm8916_l11>; 144 vqmmc-supply = <&pm8916_l12>; 144 vqmmc-supply = <&pm8916_l12>; 145 }; 145 }; 146 146 147 &usb_hs_phy { 147 &usb_hs_phy { 148 v1p8-supply = <&pm8916_l7>; 148 v1p8-supply = <&pm8916_l7>; 149 v3p3-supply = <&pm8916_l13>; 149 v3p3-supply = <&pm8916_l13>; 150 }; 150 }; 151 151 152 &wcnss { 152 &wcnss { 153 vddpx-supply = <&pm8916_l7>; 153 vddpx-supply = <&pm8916_l7>; 154 }; 154 }; 155 155 156 &wcnss_iris { 156 &wcnss_iris { 157 vddxo-supply = <&pm8916_l7>; 157 vddxo-supply = <&pm8916_l7>; 158 vddrfa-supply = <&pm8916_s3>; 158 vddrfa-supply = <&pm8916_s3>; 159 vddpa-supply = <&pm8916_l9>; 159 vddpa-supply = <&pm8916_l9>; 160 vdddig-supply = <&pm8916_l5>; 160 vdddig-supply = <&pm8916_l5>; 161 }; 161 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.