| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * msm8916-pm8916.dtsi describes common properties (e.g. regulator connections) |
| * that apply to most devices that make use of the MSM8916 SoC and PM8916 PMIC. |
| * Many regulators have a fixed purpose in the original reference design and |
| * were rarely re-used for different purposes. Devices that deviate from the |
| * typical reference design should not make use of this include and instead add |
| * the necessary properties in the board-specific device tree. |
| */ |
| |
| #include "msm8916.dtsi" |
| #include "pm8916.dtsi" |
| |
| &camss { |
| vdda-supply = <&pm8916_l2>; |
| }; |
| |
| &mdss_dsi0 { |
| vdda-supply = <&pm8916_l2>; |
| vddio-supply = <&pm8916_l6>; |
| }; |
| |
| &mdss_dsi0_phy { |
| vddio-supply = <&pm8916_l6>; |
| }; |
| |
| &mpss { |
| pll-supply = <&pm8916_l7>; |
| }; |
| |
| &pm8916_codec { |
| vdd-cdc-io-supply = <&pm8916_l5>; |
| vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; |
| vdd-micbias-supply = <&pm8916_l13>; |
| }; |
| |
| &sdhc_1 { |
| vmmc-supply = <&pm8916_l8>; |
| vqmmc-supply = <&pm8916_l5>; |
| }; |
| |
| &sdhc_2 { |
| vmmc-supply = <&pm8916_l11>; |
| vqmmc-supply = <&pm8916_l12>; |
| }; |
| |
| &usb_hs_phy { |
| v1p8-supply = <&pm8916_l7>; |
| v3p3-supply = <&pm8916_l13>; |
| }; |
| |
| &wcnss { |
| vddpx-supply = <&pm8916_l7>; |
| }; |
| |
| &wcnss_iris { |
| vddxo-supply = <&pm8916_l7>; |
| vddrfa-supply = <&pm8916_s3>; |
| vddpa-supply = <&pm8916_l9>; |
| vdddig-supply = <&pm8916_l5>; |
| }; |
| |
| &rpm_requests { |
| pm8916_rpm_regulators: regulators { |
| compatible = "qcom,rpm-pm8916-regulators"; |
| vdd_l1_l2_l3-supply = <&pm8916_s3>; |
| vdd_l4_l5_l6-supply = <&pm8916_s4>; |
| vdd_l7-supply = <&pm8916_s4>; |
| |
| /* pm8916_s1 is managed by rpmpd (MSM8916_VDDCX) */ |
| |
| pm8916_s3: s3 { |
| regulator-min-microvolt = <1250000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; /* Needed for L2 */ |
| }; |
| |
| pm8916_s4: s4 { |
| regulator-min-microvolt = <1850000>; |
| regulator-max-microvolt = <2150000>; |
| regulator-always-on; /* Needed for L5/L7 */ |
| }; |
| |
| /* |
| * Some of the regulators are unused or managed by another |
| * processor (e.g. the modem). We should still define nodes for |
| * them to ensure the vote from the application processor can be |
| * dropped in case the regulators are already on during boot. |
| * |
| * The labels for these nodes are omitted on purpose because |
| * boards should configure a proper voltage before using them. |
| */ |
| l1 {}; |
| |
| pm8916_l2: l2 { |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-always-on; /* Needed for LPDDR RAM */ |
| }; |
| |
| /* pm8916_l3 is managed by rpmpd (MSM8916_VDDMX) */ |
| |
| l4 {}; |
| |
| pm8916_l5: l5 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; /* Needed for most digital I/O */ |
| }; |
| |
| pm8916_l6: l6 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8916_l7: l7 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; /* Needed for CPU PLL */ |
| }; |
| |
| pm8916_l8: l8 { |
| regulator-min-microvolt = <2900000>; |
| regulator-max-microvolt = <2900000>; |
| }; |
| |
| pm8916_l9: l9 { |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| l10 {}; |
| |
| pm8916_l11: l11 { |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <2950000>; |
| regulator-allow-set-load; |
| regulator-system-load = <200000>; |
| }; |
| |
| pm8916_l12: l12 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2950000>; |
| }; |
| |
| pm8916_l13: l13 { |
| regulator-min-microvolt = <3075000>; |
| regulator-max-microvolt = <3075000>; |
| }; |
| |
| l14 {}; |
| l15 {}; |
| l16 {}; |
| l17 {}; |
| l18 {}; |
| }; |
| }; |