Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / msm8916-pm8916.dtsi
1 // 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 };