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