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