158 lines
3.5 KiB
Plaintext
158 lines
3.5 KiB
Plaintext
// 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 {};
|
|
};
|
|
};
|