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