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