1bfe9d754SStephan Gerhold// SPDX-License-Identifier: GPL-2.0-only 2bfe9d754SStephan Gerhold/* 3bfe9d754SStephan Gerhold * msm8916-pm8916.dtsi describes common properties (e.g. regulator connections) 4bfe9d754SStephan Gerhold * that apply to most devices that make use of the MSM8916 SoC and PM8916 PMIC. 5bfe9d754SStephan Gerhold * Many regulators have a fixed purpose in the original reference design and 6bfe9d754SStephan Gerhold * were rarely re-used for different purposes. Devices that deviate from the 7bfe9d754SStephan Gerhold * typical reference design should not make use of this include and instead add 8bfe9d754SStephan Gerhold * the necessary properties in the board-specific device tree. 9bfe9d754SStephan Gerhold */ 10cc99dd61SStephan Gerhold 11cc99dd61SStephan Gerhold#include "msm8916.dtsi" 12cc99dd61SStephan Gerhold#include "pm8916.dtsi" 13cc99dd61SStephan Gerhold 14cc99dd61SStephan Gerhold&camss { 15cc99dd61SStephan Gerhold vdda-supply = <&pm8916_l2>; 16cc99dd61SStephan Gerhold}; 17cc99dd61SStephan Gerhold 18cc99dd61SStephan Gerhold&mdss_dsi0 { 19bfe9d754SStephan Gerhold vdda-supply = <&pm8916_l2>; 20bfe9d754SStephan Gerhold vddio-supply = <&pm8916_l6>; 21bfe9d754SStephan Gerhold}; 22bfe9d754SStephan Gerhold 23cc99dd61SStephan Gerhold&mdss_dsi0_phy { 24cc99dd61SStephan Gerhold vddio-supply = <&pm8916_l6>; 25cc99dd61SStephan Gerhold}; 26cc99dd61SStephan Gerhold 27cc99dd61SStephan Gerhold&mpss { 28cc99dd61SStephan Gerhold pll-supply = <&pm8916_l7>; 29cc99dd61SStephan Gerhold}; 30cc99dd61SStephan Gerhold 31cc99dd61SStephan Gerhold&pm8916_codec { 32cc99dd61SStephan Gerhold vdd-cdc-io-supply = <&pm8916_l5>; 33cc99dd61SStephan Gerhold vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; 34cc99dd61SStephan Gerhold vdd-micbias-supply = <&pm8916_l13>; 35cc99dd61SStephan Gerhold}; 36cc99dd61SStephan Gerhold 37cc99dd61SStephan Gerhold&sdhc_1 { 38*32444424SStephan Gerhold vmmc-supply = <&pm8916_l8>; 39*32444424SStephan Gerhold vqmmc-supply = <&pm8916_l5>; 40*32444424SStephan Gerhold}; 41*32444424SStephan Gerhold 42*32444424SStephan Gerhold&sdhc_2 { 43*32444424SStephan Gerhold vmmc-supply = <&pm8916_l11>; 44*32444424SStephan Gerhold vqmmc-supply = <&pm8916_l12>; 45*32444424SStephan Gerhold}; 46*32444424SStephan Gerhold 47*32444424SStephan Gerhold&usb_hs_phy { 48*32444424SStephan Gerhold v1p8-supply = <&pm8916_l7>; 49bfe9d754SStephan Gerhold v3p3-supply = <&pm8916_l13>; 50372698e8SKrzysztof Kozlowski}; 51bfe9d754SStephan Gerhold 52bfe9d754SStephan Gerhold&wcnss { 53bd1f64bbSStephan Gerhold vddpx-supply = <&pm8916_l7>; 54bfe9d754SStephan Gerhold}; 55bfe9d754SStephan Gerhold 56bfe9d754SStephan Gerhold&wcnss_iris { 57bfe9d754SStephan Gerhold vddxo-supply = <&pm8916_l7>; 58bfe9d754SStephan Gerhold vddrfa-supply = <&pm8916_s3>; 59bd1f64bbSStephan Gerhold vddpa-supply = <&pm8916_l9>; 60bfe9d754SStephan Gerhold vdddig-supply = <&pm8916_l5>; 61bfe9d754SStephan Gerhold}; 62bfe9d754SStephan Gerhold 63bfe9d754SStephan Gerhold&rpm_requests { 64bfe9d754SStephan Gerhold pm8916_rpm_regulators: regulators { 65bfe9d754SStephan Gerhold compatible = "qcom,rpm-pm8916-regulators"; 66bfe9d754SStephan Gerhold vdd_l1_l2_l3-supply = <&pm8916_s3>; 67bfe9d754SStephan Gerhold vdd_l4_l5_l6-supply = <&pm8916_s4>; 68bfe9d754SStephan Gerhold vdd_l7-supply = <&pm8916_s4>; 69bfe9d754SStephan Gerhold 70bfe9d754SStephan Gerhold /* pm8916_s1 is managed by rpmpd (MSM8916_VDDCX) */ 71bfe9d754SStephan Gerhold 72bfe9d754SStephan Gerhold pm8916_s3: s3 { 73bfe9d754SStephan Gerhold regulator-min-microvolt = <1250000>; 74bfe9d754SStephan Gerhold regulator-max-microvolt = <1350000>; 75bfe9d754SStephan Gerhold regulator-always-on; /* Needed for L2 */ 76bfe9d754SStephan Gerhold }; 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