11e6dfe47SStephan Gerhold// SPDX-License-Identifier: GPL-2.0-only 288028fa0SStephan Gerhold/* 388028fa0SStephan Gerhold * msm8939-pm8916.dtsi describes common properties (e.g. regulator connections) 488028fa0SStephan Gerhold * that apply to most devices that make use of the MSM8939 SoC and PM8916 PMIC. 588028fa0SStephan Gerhold * Many regulators have a fixed purpose in the original reference design and 688028fa0SStephan Gerhold * were rarely re-used for different purposes. Devices that deviate from the 788028fa0SStephan Gerhold * typical reference design should not make use of this include and instead add 888028fa0SStephan Gerhold * the necessary properties in the board-specific device tree. 988028fa0SStephan Gerhold */ 101e6dfe47SStephan Gerhold 111e6dfe47SStephan Gerhold#include "msm8939.dtsi" 121e6dfe47SStephan Gerhold#include "pm8916.dtsi" 131e6dfe47SStephan Gerhold 14835f9395SStephan Gerhold&mdss_dsi0 { 151e6dfe47SStephan Gerhold vdda-supply = <&pm8916_l2>; 161e6dfe47SStephan Gerhold vddio-supply = <&pm8916_l6>; 171e6dfe47SStephan Gerhold}; 181e6dfe47SStephan Gerhold 19835f9395SStephan Gerhold&mdss_dsi0_phy { 20835f9395SStephan Gerhold vddio-supply = <&pm8916_l6>; 21835f9395SStephan Gerhold}; 22835f9395SStephan Gerhold 23835f9395SStephan Gerhold&mdss_dsi1 { 241e6dfe47SStephan Gerhold vdda-supply = <&pm8916_l2>; 251e6dfe47SStephan Gerhold vddio-supply = <&pm8916_l6>; 261e6dfe47SStephan Gerhold}; 271e6dfe47SStephan Gerhold 28835f9395SStephan Gerhold&mdss_dsi1_phy { 291e6dfe47SStephan Gerhold vddio-supply = <&pm8916_l6>; 301e6dfe47SStephan Gerhold}; 311e6dfe47SStephan Gerhold 321e6dfe47SStephan Gerhold&mpss { 331e6dfe47SStephan Gerhold pll-supply = <&pm8916_l7>; 341e6dfe47SStephan Gerhold}; 351e6dfe47SStephan Gerhold 36dce92545SStephan Gerhold&pm8916_codec { 37dce92545SStephan Gerhold vdd-cdc-io-supply = <&pm8916_l5>; 38dce92545SStephan Gerhold vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; 39dce92545SStephan Gerhold vdd-micbias-supply = <&pm8916_l13>; 40dce92545SStephan Gerhold}; 41dce92545SStephan Gerhold 421e6dfe47SStephan Gerhold&rpm_requests { 435cdab9a8SStephan Gerhold pm8916_rpm_regulators: regulators { 441e6dfe47SStephan Gerhold compatible = "qcom,rpm-pm8916-regulators"; 455cdab9a8SStephan Gerhold vdd_l1_l2_l3-supply = <&pm8916_s3>; 465cdab9a8SStephan Gerhold vdd_l4_l5_l6-supply = <&pm8916_s4>; 475cdab9a8SStephan Gerhold vdd_l7-supply = <&pm8916_s4>; 481e6dfe47SStephan Gerhold 491e6dfe47SStephan Gerhold /* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */ 501e6dfe47SStephan Gerhold /* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */ 515cdab9a8SStephan Gerhold pm8916_s3: s3 { 525cdab9a8SStephan Gerhold regulator-min-microvolt = <1250000>; 535cdab9a8SStephan Gerhold regulator-max-microvolt = <1350000>; 54*ecbfba69SStephan Gerhold regulator-always-on; /* Needed for L2 */ 555cdab9a8SStephan Gerhold }; 565cdab9a8SStephan Gerhold pm8916_s4: s4 { 575cdab9a8SStephan Gerhold regulator-min-microvolt = <1850000>; 585cdab9a8SStephan Gerhold regulator-max-microvolt = <2150000>; 59*ecbfba69SStephan Gerhold regulator-always-on; /* Needed for L5/L7 */ 605cdab9a8SStephan Gerhold }; 611e6dfe47SStephan Gerhold 625cdab9a8SStephan Gerhold /* 635cdab9a8SStephan Gerhold * Some of the regulators are unused or managed by another 645cdab9a8SStephan Gerhold * processor (e.g. the modem). We should still define nodes for 655cdab9a8SStephan Gerhold * them to ensure the vote from the application processor can be 665cdab9a8SStephan Gerhold * dropped in case the regulators are already on during boot. 675cdab9a8SStephan Gerhold * 685cdab9a8SStephan Gerhold * The labels for these nodes are omitted on purpose because 695cdab9a8SStephan Gerhold * boards should configure a proper voltage before using them. 705cdab9a8SStephan Gerhold */ 715cdab9a8SStephan Gerhold l1 {}; 725cdab9a8SStephan Gerhold 735cdab9a8SStephan Gerhold pm8916_l2: l2 { 745cdab9a8SStephan Gerhold regulator-min-microvolt = <1200000>; 755cdab9a8SStephan Gerhold regulator-max-microvolt = <1200000>; 76*ecbfba69SStephan Gerhold regulator-always-on; /* Needed for LPDDR RAM */ 775cdab9a8SStephan Gerhold }; 785cdab9a8SStephan Gerhold 791e6dfe47SStephan Gerhold /* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */ 805cdab9a8SStephan Gerhold 815cdab9a8SStephan Gerhold l4 {}; 825cdab9a8SStephan Gerhold 835cdab9a8SStephan Gerhold pm8916_l5: l5 { 845cdab9a8SStephan Gerhold regulator-min-microvolt = <1800000>; 855cdab9a8SStephan Gerhold regulator-max-microvolt = <1800000>; 86*ecbfba69SStephan Gerhold regulator-always-on; /* Needed for most digital I/O */ 875cdab9a8SStephan Gerhold }; 885cdab9a8SStephan Gerhold 895cdab9a8SStephan Gerhold pm8916_l6: l6 { 905cdab9a8SStephan Gerhold regulator-min-microvolt = <1800000>; 915cdab9a8SStephan Gerhold regulator-max-microvolt = <1800000>; 925cdab9a8SStephan Gerhold }; 935cdab9a8SStephan Gerhold 945cdab9a8SStephan Gerhold pm8916_l7: l7 { 955cdab9a8SStephan Gerhold regulator-min-microvolt = <1800000>; 965cdab9a8SStephan Gerhold regulator-max-microvolt = <1800000>; 97*ecbfba69SStephan Gerhold regulator-always-on; /* Needed for CPU PLL */ 985cdab9a8SStephan Gerhold }; 995cdab9a8SStephan Gerhold 1005cdab9a8SStephan Gerhold pm8916_l8: l8 { 1015cdab9a8SStephan Gerhold regulator-min-microvolt = <2900000>; 1025cdab9a8SStephan Gerhold regulator-max-microvolt = <2900000>; 1035cdab9a8SStephan Gerhold }; 1045cdab9a8SStephan Gerhold 1055cdab9a8SStephan Gerhold pm8916_l9: l9 { 1065cdab9a8SStephan Gerhold regulator-min-microvolt = <3300000>; 1075cdab9a8SStephan Gerhold regulator-max-microvolt = <3300000>; 1085cdab9a8SStephan Gerhold }; 1095cdab9a8SStephan Gerhold 1105cdab9a8SStephan Gerhold l10 {}; 1115cdab9a8SStephan Gerhold 1125cdab9a8SStephan Gerhold pm8916_l11: l11 { 1135cdab9a8SStephan Gerhold regulator-min-microvolt = <2950000>; 1145cdab9a8SStephan Gerhold regulator-max-microvolt = <2950000>; 1155cdab9a8SStephan Gerhold regulator-allow-set-load; 1165cdab9a8SStephan Gerhold regulator-system-load = <200000>; 1175cdab9a8SStephan Gerhold }; 1185cdab9a8SStephan Gerhold 1195cdab9a8SStephan Gerhold pm8916_l12: l12 { 1205cdab9a8SStephan Gerhold regulator-min-microvolt = <1800000>; 1215cdab9a8SStephan Gerhold regulator-max-microvolt = <2950000>; 1225cdab9a8SStephan Gerhold }; 1235cdab9a8SStephan Gerhold 1245cdab9a8SStephan Gerhold pm8916_l13: l13 { 1255cdab9a8SStephan Gerhold regulator-min-microvolt = <3075000>; 1265cdab9a8SStephan Gerhold regulator-max-microvolt = <3075000>; 1275cdab9a8SStephan Gerhold }; 1285cdab9a8SStephan Gerhold 1295cdab9a8SStephan Gerhold l14 {}; 1305cdab9a8SStephan Gerhold l15 {}; 1315cdab9a8SStephan Gerhold l16 {}; 1325cdab9a8SStephan Gerhold l17 {}; 1335cdab9a8SStephan Gerhold l18 {}; 1341e6dfe47SStephan Gerhold }; 1351e6dfe47SStephan Gerhold}; 1361e6dfe47SStephan Gerhold 1371e6dfe47SStephan Gerhold&sdhc_1 { 1381e6dfe47SStephan Gerhold vmmc-supply = <&pm8916_l8>; 1391e6dfe47SStephan Gerhold vqmmc-supply = <&pm8916_l5>; 1401e6dfe47SStephan Gerhold}; 1411e6dfe47SStephan Gerhold 1421e6dfe47SStephan Gerhold&sdhc_2 { 1431e6dfe47SStephan Gerhold vmmc-supply = <&pm8916_l11>; 1441e6dfe47SStephan Gerhold vqmmc-supply = <&pm8916_l12>; 1451e6dfe47SStephan Gerhold}; 1461e6dfe47SStephan Gerhold 1471e6dfe47SStephan Gerhold&usb_hs_phy { 1481e6dfe47SStephan Gerhold v1p8-supply = <&pm8916_l7>; 1491e6dfe47SStephan Gerhold v3p3-supply = <&pm8916_l13>; 1501e6dfe47SStephan Gerhold}; 1511e6dfe47SStephan Gerhold 1521e6dfe47SStephan Gerhold&wcnss { 1531e6dfe47SStephan Gerhold vddpx-supply = <&pm8916_l7>; 1541e6dfe47SStephan Gerhold}; 1551e6dfe47SStephan Gerhold 1561e6dfe47SStephan Gerhold&wcnss_iris { 1571e6dfe47SStephan Gerhold vddxo-supply = <&pm8916_l7>; 1581e6dfe47SStephan Gerhold vddrfa-supply = <&pm8916_s3>; 1591e6dfe47SStephan Gerhold vddpa-supply = <&pm8916_l9>; 1601e6dfe47SStephan Gerhold vdddig-supply = <&pm8916_l5>; 1611e6dfe47SStephan Gerhold}; 162