162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * msm8939-pm8916.dtsi describes common properties (e.g. regulator connections) 462306a36Sopenharmony_ci * that apply to most devices that make use of the MSM8939 SoC and PM8916 PMIC. 562306a36Sopenharmony_ci * Many regulators have a fixed purpose in the original reference design and 662306a36Sopenharmony_ci * were rarely re-used for different purposes. Devices that deviate from the 762306a36Sopenharmony_ci * typical reference design should not make use of this include and instead add 862306a36Sopenharmony_ci * the necessary properties in the board-specific device tree. 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include "msm8939.dtsi" 1262306a36Sopenharmony_ci#include "pm8916.dtsi" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci&mdss_dsi0 { 1562306a36Sopenharmony_ci vdda-supply = <&pm8916_l2>; 1662306a36Sopenharmony_ci vddio-supply = <&pm8916_l6>; 1762306a36Sopenharmony_ci}; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci&mdss_dsi0_phy { 2062306a36Sopenharmony_ci vddio-supply = <&pm8916_l6>; 2162306a36Sopenharmony_ci}; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci&mdss_dsi1 { 2462306a36Sopenharmony_ci vdda-supply = <&pm8916_l2>; 2562306a36Sopenharmony_ci vddio-supply = <&pm8916_l6>; 2662306a36Sopenharmony_ci}; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci&mdss_dsi1_phy { 2962306a36Sopenharmony_ci vddio-supply = <&pm8916_l6>; 3062306a36Sopenharmony_ci}; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci&mpss { 3362306a36Sopenharmony_ci pll-supply = <&pm8916_l7>; 3462306a36Sopenharmony_ci}; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci&pm8916_codec { 3762306a36Sopenharmony_ci vdd-cdc-io-supply = <&pm8916_l5>; 3862306a36Sopenharmony_ci vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; 3962306a36Sopenharmony_ci vdd-micbias-supply = <&pm8916_l13>; 4062306a36Sopenharmony_ci}; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci&rpm_requests { 4362306a36Sopenharmony_ci pm8916_rpm_regulators: regulators { 4462306a36Sopenharmony_ci compatible = "qcom,rpm-pm8916-regulators"; 4562306a36Sopenharmony_ci vdd_l1_l2_l3-supply = <&pm8916_s3>; 4662306a36Sopenharmony_ci vdd_l4_l5_l6-supply = <&pm8916_s4>; 4762306a36Sopenharmony_ci vdd_l7-supply = <&pm8916_s4>; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci /* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */ 5062306a36Sopenharmony_ci /* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */ 5162306a36Sopenharmony_ci pm8916_s3: s3 { 5262306a36Sopenharmony_ci regulator-min-microvolt = <1250000>; 5362306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 5462306a36Sopenharmony_ci regulator-always-on; /* Needed for L2 */ 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci pm8916_s4: s4 { 5762306a36Sopenharmony_ci regulator-min-microvolt = <1850000>; 5862306a36Sopenharmony_ci regulator-max-microvolt = <2150000>; 5962306a36Sopenharmony_ci regulator-always-on; /* Needed for L5/L7 */ 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci /* 6362306a36Sopenharmony_ci * Some of the regulators are unused or managed by another 6462306a36Sopenharmony_ci * processor (e.g. the modem). We should still define nodes for 6562306a36Sopenharmony_ci * them to ensure the vote from the application processor can be 6662306a36Sopenharmony_ci * dropped in case the regulators are already on during boot. 6762306a36Sopenharmony_ci * 6862306a36Sopenharmony_ci * The labels for these nodes are omitted on purpose because 6962306a36Sopenharmony_ci * boards should configure a proper voltage before using them. 7062306a36Sopenharmony_ci */ 7162306a36Sopenharmony_ci l1 {}; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci pm8916_l2: l2 { 7462306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 7562306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 7662306a36Sopenharmony_ci regulator-always-on; /* Needed for LPDDR RAM */ 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci /* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */ 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci l4 {}; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci pm8916_l5: l5 { 8462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 8562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 8662306a36Sopenharmony_ci regulator-always-on; /* Needed for most digital I/O */ 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci pm8916_l6: l6 { 9062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 9162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci pm8916_l7: l7 { 9562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 9662306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 9762306a36Sopenharmony_ci regulator-always-on; /* Needed for CPU PLL */ 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci pm8916_l8: l8 { 10162306a36Sopenharmony_ci regulator-min-microvolt = <2900000>; 10262306a36Sopenharmony_ci regulator-max-microvolt = <2900000>; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci pm8916_l9: l9 { 10662306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 10762306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci l10 {}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci pm8916_l11: l11 { 11362306a36Sopenharmony_ci regulator-min-microvolt = <2950000>; 11462306a36Sopenharmony_ci regulator-max-microvolt = <2950000>; 11562306a36Sopenharmony_ci regulator-allow-set-load; 11662306a36Sopenharmony_ci regulator-system-load = <200000>; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci pm8916_l12: l12 { 12062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 12162306a36Sopenharmony_ci regulator-max-microvolt = <2950000>; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci pm8916_l13: l13 { 12562306a36Sopenharmony_ci regulator-min-microvolt = <3075000>; 12662306a36Sopenharmony_ci regulator-max-microvolt = <3075000>; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci l14 {}; 13062306a36Sopenharmony_ci l15 {}; 13162306a36Sopenharmony_ci l16 {}; 13262306a36Sopenharmony_ci l17 {}; 13362306a36Sopenharmony_ci l18 {}; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci}; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci&sdhc_1 { 13862306a36Sopenharmony_ci vmmc-supply = <&pm8916_l8>; 13962306a36Sopenharmony_ci vqmmc-supply = <&pm8916_l5>; 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci&sdhc_2 { 14362306a36Sopenharmony_ci vmmc-supply = <&pm8916_l11>; 14462306a36Sopenharmony_ci vqmmc-supply = <&pm8916_l12>; 14562306a36Sopenharmony_ci}; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci&usb_hs_phy { 14862306a36Sopenharmony_ci v1p8-supply = <&pm8916_l7>; 14962306a36Sopenharmony_ci v3p3-supply = <&pm8916_l13>; 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci&wcnss { 15362306a36Sopenharmony_ci vddpx-supply = <&pm8916_l7>; 15462306a36Sopenharmony_ci}; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci&wcnss_iris { 15762306a36Sopenharmony_ci vddxo-supply = <&pm8916_l7>; 15862306a36Sopenharmony_ci vddrfa-supply = <&pm8916_s3>; 15962306a36Sopenharmony_ci vddpa-supply = <&pm8916_l9>; 16062306a36Sopenharmony_ci vdddig-supply = <&pm8916_l5>; 16162306a36Sopenharmony_ci}; 162