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