1bfe9d754SStephan Gerhold// SPDX-License-Identifier: GPL-2.0-only
2f1932649SStephan Gerhold/*
3f1932649SStephan Gerhold * msm8916-pm8916.dtsi describes common properties (e.g. regulator connections)
4f1932649SStephan Gerhold * that apply to most devices that make use of the MSM8916 SoC and PM8916 PMIC.
5f1932649SStephan Gerhold * Many regulators have a fixed purpose in the original reference design and
6f1932649SStephan Gerhold * were rarely re-used for different purposes. Devices that deviate from the
7f1932649SStephan Gerhold * typical reference design should not make use of this include and instead add
8f1932649SStephan Gerhold * the necessary properties in the board-specific device tree.
9f1932649SStephan Gerhold */
10bfe9d754SStephan Gerhold
11bfe9d754SStephan Gerhold#include "msm8916.dtsi"
12bfe9d754SStephan Gerhold#include "pm8916.dtsi"
13bfe9d754SStephan Gerhold
14bfe9d754SStephan Gerhold&camss {
15bfe9d754SStephan Gerhold	vdda-supply = <&pm8916_l2>;
16bfe9d754SStephan Gerhold};
17bfe9d754SStephan Gerhold
18835f9395SStephan Gerhold&mdss_dsi0 {
19cc99dd61SStephan Gerhold	vdda-supply = <&pm8916_l2>;
20cc99dd61SStephan Gerhold	vddio-supply = <&pm8916_l6>;
21cc99dd61SStephan Gerhold};
22cc99dd61SStephan Gerhold
23835f9395SStephan Gerhold&mdss_dsi0_phy {
24cc99dd61SStephan Gerhold	vddio-supply = <&pm8916_l6>;
25cc99dd61SStephan Gerhold};
26cc99dd61SStephan Gerhold
27bfe9d754SStephan Gerhold&mpss {
28bfe9d754SStephan Gerhold	pll-supply = <&pm8916_l7>;
29bfe9d754SStephan Gerhold};
30bfe9d754SStephan Gerhold
31*274cf2bdSStephan Gerhold&pm8916_codec {
32*274cf2bdSStephan Gerhold	vdd-cdc-io-supply = <&pm8916_l5>;
33*274cf2bdSStephan Gerhold	vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
34*274cf2bdSStephan Gerhold	vdd-micbias-supply = <&pm8916_l13>;
35*274cf2bdSStephan Gerhold};
36*274cf2bdSStephan Gerhold
37cc99dd61SStephan Gerhold&sdhc_1 {
38cc99dd61SStephan Gerhold	vmmc-supply = <&pm8916_l8>;
39cc99dd61SStephan Gerhold	vqmmc-supply = <&pm8916_l5>;
40cc99dd61SStephan Gerhold};
41cc99dd61SStephan Gerhold
42cc99dd61SStephan Gerhold&sdhc_2 {
43cc99dd61SStephan Gerhold	vmmc-supply = <&pm8916_l11>;
44cc99dd61SStephan Gerhold	vqmmc-supply = <&pm8916_l12>;
45cc99dd61SStephan Gerhold};
46cc99dd61SStephan Gerhold
47cc99dd61SStephan Gerhold&usb_hs_phy {
48cc99dd61SStephan Gerhold	v1p8-supply = <&pm8916_l7>;
49cc99dd61SStephan Gerhold	v3p3-supply = <&pm8916_l13>;
50cc99dd61SStephan Gerhold};
51cc99dd61SStephan Gerhold
5232444424SStephan Gerhold&wcnss {
5332444424SStephan Gerhold	vddpx-supply = <&pm8916_l7>;
5432444424SStephan Gerhold};
5532444424SStephan Gerhold
5632444424SStephan Gerhold&wcnss_iris {
5732444424SStephan Gerhold	vddxo-supply = <&pm8916_l7>;
5832444424SStephan Gerhold	vddrfa-supply = <&pm8916_s3>;
5932444424SStephan Gerhold	vddpa-supply = <&pm8916_l9>;
6032444424SStephan Gerhold	vdddig-supply = <&pm8916_l5>;
6132444424SStephan Gerhold};
6232444424SStephan Gerhold
63bfe9d754SStephan Gerhold&rpm_requests {
64b0a8f16aSStephan Gerhold	pm8916_rpm_regulators: regulators {
65bfe9d754SStephan Gerhold		compatible = "qcom,rpm-pm8916-regulators";
66b0a8f16aSStephan Gerhold		vdd_l1_l2_l3-supply = <&pm8916_s3>;
67b0a8f16aSStephan Gerhold		vdd_l4_l5_l6-supply = <&pm8916_s4>;
68b0a8f16aSStephan Gerhold		vdd_l7-supply = <&pm8916_s4>;
69bfe9d754SStephan Gerhold
70bd1f64bbSStephan Gerhold		/* pm8916_s1 is managed by rpmpd (MSM8916_VDDCX) */
71bfe9d754SStephan Gerhold
72b0a8f16aSStephan Gerhold		pm8916_s3: s3 {
73b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1250000>;
74b0a8f16aSStephan Gerhold			regulator-max-microvolt = <1350000>;
758bbd3577SStephan Gerhold			regulator-always-on; /* Needed for L2 */
76b0a8f16aSStephan Gerhold		};
77b0a8f16aSStephan Gerhold
78b0a8f16aSStephan Gerhold		pm8916_s4: s4 {
79b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1850000>;
80b0a8f16aSStephan Gerhold			regulator-max-microvolt = <2150000>;
818bbd3577SStephan Gerhold			regulator-always-on; /* Needed for L5/L7 */
82b0a8f16aSStephan Gerhold		};
83b0a8f16aSStephan Gerhold
84b0a8f16aSStephan Gerhold		/*
85b0a8f16aSStephan Gerhold		 * Some of the regulators are unused or managed by another
86b0a8f16aSStephan Gerhold		 * processor (e.g. the modem). We should still define nodes for
87b0a8f16aSStephan Gerhold		 * them to ensure the vote from the application processor can be
88b0a8f16aSStephan Gerhold		 * dropped in case the regulators are already on during boot.
89b0a8f16aSStephan Gerhold		 *
90b0a8f16aSStephan Gerhold		 * The labels for these nodes are omitted on purpose because
91b0a8f16aSStephan Gerhold		 * boards should configure a proper voltage before using them.
92b0a8f16aSStephan Gerhold		 */
93b0a8f16aSStephan Gerhold		l1 {};
94b0a8f16aSStephan Gerhold
95b0a8f16aSStephan Gerhold		pm8916_l2: l2 {
96b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1200000>;
97b0a8f16aSStephan Gerhold			regulator-max-microvolt = <1200000>;
988bbd3577SStephan Gerhold			regulator-always-on; /* Needed for LPDDR RAM */
99b0a8f16aSStephan Gerhold		};
100b0a8f16aSStephan Gerhold
101bd1f64bbSStephan Gerhold		/* pm8916_l3 is managed by rpmpd (MSM8916_VDDMX) */
102b0a8f16aSStephan Gerhold
103b0a8f16aSStephan Gerhold		l4 {};
104b0a8f16aSStephan Gerhold
105b0a8f16aSStephan Gerhold		pm8916_l5: l5 {
106b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1800000>;
107b0a8f16aSStephan Gerhold			regulator-max-microvolt = <1800000>;
1088bbd3577SStephan Gerhold			regulator-always-on; /* Needed for most digital I/O */
109b0a8f16aSStephan Gerhold		};
110b0a8f16aSStephan Gerhold
111b0a8f16aSStephan Gerhold		pm8916_l6: l6 {
112b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1800000>;
113b0a8f16aSStephan Gerhold			regulator-max-microvolt = <1800000>;
114b0a8f16aSStephan Gerhold		};
115b0a8f16aSStephan Gerhold
116b0a8f16aSStephan Gerhold		pm8916_l7: l7 {
117b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1800000>;
118b0a8f16aSStephan Gerhold			regulator-max-microvolt = <1800000>;
1198bbd3577SStephan Gerhold			regulator-always-on; /* Needed for CPU PLL */
120b0a8f16aSStephan Gerhold		};
121b0a8f16aSStephan Gerhold
122b0a8f16aSStephan Gerhold		pm8916_l8: l8 {
123b0a8f16aSStephan Gerhold			regulator-min-microvolt = <2900000>;
124b0a8f16aSStephan Gerhold			regulator-max-microvolt = <2900000>;
125b0a8f16aSStephan Gerhold		};
126b0a8f16aSStephan Gerhold
127b0a8f16aSStephan Gerhold		pm8916_l9: l9 {
128b0a8f16aSStephan Gerhold			regulator-min-microvolt = <3300000>;
129b0a8f16aSStephan Gerhold			regulator-max-microvolt = <3300000>;
130b0a8f16aSStephan Gerhold		};
131b0a8f16aSStephan Gerhold
132b0a8f16aSStephan Gerhold		l10 {};
133b0a8f16aSStephan Gerhold
134b0a8f16aSStephan Gerhold		pm8916_l11: l11 {
135b0a8f16aSStephan Gerhold			regulator-min-microvolt = <2950000>;
136b0a8f16aSStephan Gerhold			regulator-max-microvolt = <2950000>;
137b0a8f16aSStephan Gerhold			regulator-allow-set-load;
138b0a8f16aSStephan Gerhold			regulator-system-load = <200000>;
139b0a8f16aSStephan Gerhold		};
140b0a8f16aSStephan Gerhold
141b0a8f16aSStephan Gerhold		pm8916_l12: l12 {
142b0a8f16aSStephan Gerhold			regulator-min-microvolt = <1800000>;
143b0a8f16aSStephan Gerhold			regulator-max-microvolt = <2950000>;
144b0a8f16aSStephan Gerhold		};
145b0a8f16aSStephan Gerhold
146b0a8f16aSStephan Gerhold		pm8916_l13: l13 {
147b0a8f16aSStephan Gerhold			regulator-min-microvolt = <3075000>;
148b0a8f16aSStephan Gerhold			regulator-max-microvolt = <3075000>;
149b0a8f16aSStephan Gerhold		};
150b0a8f16aSStephan Gerhold
151b0a8f16aSStephan Gerhold		l14 {};
152b0a8f16aSStephan Gerhold		l15 {};
153b0a8f16aSStephan Gerhold		l16 {};
154b0a8f16aSStephan Gerhold		l17 {};
155b0a8f16aSStephan Gerhold		l18 {};
156bfe9d754SStephan Gerhold	};
157bfe9d754SStephan Gerhold};
158