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