Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / msm8956-sony-xperia-loire.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2016-2022, AngeloGioacchino Del Regno
4  *                          <angelogioacchino.delregno@somainline.org>
5  * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
6  * Copyright (c) 2022, Marijn Suijten <marijn.suijten@somainline.org>
7  */
8
9 #include "msm8956.dtsi"
10
11 #include "pm8004.dtsi"
12 #include "pm8950.dtsi"
13 #include "pmi8950.dtsi"
14
15 / {
16         qcom,msm-id = <266 0x10001>; /* MSM8956 v1.1 */
17         qcom,board-id = <8 0>;
18
19         aliases {
20                 mmc0 = &sdhc_1; /* SDC1 eMMC slot */
21                 mmc1 = &sdhc_2; /* SDC2 SD card slot */
22                 mmc2 = &sdhc_3; /* SDC3 SDIO card slot */
23                 serial0 = &blsp2_uart2;
24         };
25
26         chosen {
27                 stdout-path = "serial0:115200n8";
28         };
29
30         reserved-memory {
31                 cont-splash@83000000 {
32                         reg = <0x0 0x83000000 0x0 0x2800000>;
33                 };
34
35                 ramoops@57f00000 {
36                         compatible = "ramoops";
37                         reg = <0 0x57f00000 0 0x100000>;
38                         record-size = <0x20000>;
39                         console-size = <0x40000>;
40                         ftrace-size = <0x20000>;
41                         pmsg-size = <0x20000>;
42                         ecc-size = <16>;
43                 };
44         };
45
46         usbphy_1p2: regulator-usbphy-1p2 {
47                 compatible = "regulator-fixed";
48                 regulator-name = "usbphy-1p2";
49                 regulator-always-on;
50                 regulator-boot-on;
51                 regulator-min-microvolt = <1200000>;
52                 regulator-max-microvolt = <1200000>;
53                 vin-supply = <&vph_pwr>;
54         };
55
56         vph_pwr: regulator-vph-pwr {
57                 compatible = "regulator-fixed";
58                 regulator-name = "vph-pwr";
59                 regulator-always-on;
60                 regulator-boot-on;
61         };
62 };
63
64 &blsp1_i2c4 {
65         status = "okay";
66
67         /* Synaptics RMI4 @ 2c */
68 };
69
70 &blsp2_uart2 {
71         status = "okay";
72 };
73
74 &gcc {
75         vdd_gfx-supply = <&pm8004_s5>;
76 };
77
78 &otg {
79         status = "okay";
80 };
81
82 &pm8004_spmi_regulators {
83         vdd_s2-supply = <&vph_pwr>;
84         vdd_s5-supply = <&vph_pwr>;
85
86         /* Cluster 1 supply */
87         pm8004_s2: s2 {
88                 /* regulator-min-microvolt = <500000>; */
89                 /* Set .95V to prevent unstabilities until CPR for this SoC is done */
90                 regulator-min-microvolt = <950000>;
91                 regulator-max-microvolt = <1165000>;
92                 regulator-name = "vdd_apc1";
93                 /* Set always on until the CPU PLL is done */
94                 regulator-always-on;
95                 regulator-boot-on;
96         };
97
98         pm8004_s5: s5 {
99                 regulator-min-microvolt = <950000>;
100                 regulator-max-microvolt = <1165000>;
101                 regulator-enable-ramp-delay = <500>;
102                 regulator-name = "vdd_gfx";
103                 /* Hack this on until the gpu driver is ready for it */
104                 regulator-always-on;
105         };
106 };
107
108 &pm8950_spmi_regulators {
109         vdd_s5-supply = <&vph_pwr>;
110
111         /* Cluster 0 supply */
112         pm8950_spmi_s5: s5 {
113                 /* Set .95V to prevent unstabilities until CPR for this SoC is done */
114                 /* regulator-min-microvolt = <790000>; */
115                 regulator-min-microvolt = <950000>;
116                 regulator-max-microvolt = <1165000>;
117                 regulator-name = "vdd_apc0";
118                 /* Set always on until the CPU PLL is done */
119                 regulator-always-on;
120                 regulator-boot-on;
121         };
122 };
123
124 &rpm_requests {
125         pm8950_regulators: regulators {
126                 compatible = "qcom,rpm-pm8950-regulators";
127
128                 vdd_s1-supply = <&vph_pwr>;
129                 vdd_s2-supply = <&vph_pwr>;
130                 vdd_s3-supply = <&vph_pwr>;
131                 vdd_s4-supply = <&vph_pwr>;
132                 vdd_s6-supply = <&vph_pwr>;
133                 vdd_l1_l19-supply = <&pm8950_s3>;
134                 vdd_l2_l23-supply = <&pm8950_s3>;
135                 vdd_l3-supply = <&pm8950_s3>;
136                 vdd_l5_l6_l7_l16-supply = <&pm8950_s4>;
137                 vdd_l8_l11_l12_l17_l22-supply = <&vph_pwr>;
138
139                 pm8950_s1: s1 {
140                         regulator-min-microvolt = <1000000>;
141                         regulator-max-microvolt = <1162500>;
142                 };
143
144                 pm8950_s3: s3 {
145                         regulator-min-microvolt = <1325000>;
146                         regulator-max-microvolt = <1325000>;
147                         regulator-always-on;
148                 };
149
150                 pm8950_s4: s4 {
151                         regulator-min-microvolt = <1800000>;
152                         regulator-max-microvolt = <1800000>;
153                         regulator-always-on;
154                 };
155
156                 pm8950_l1: l1 {
157                         regulator-min-microvolt = <900000>;
158                         regulator-max-microvolt = <1100000>;
159                 };
160
161                 pm8950_l2: l2 {
162                         regulator-min-microvolt = <1200000>;
163                         regulator-max-microvolt = <1200000>;
164                 };
165
166                 pm8950_l3: l3 {
167                         regulator-min-microvolt = <1000000>;
168                         regulator-max-microvolt = <1200000>;
169                 };
170
171                 pm8950_l5: l5 {
172                         regulator-min-microvolt = <1800000>;
173                         regulator-max-microvolt = <1800000>;
174                         regulator-system-load = <290000>;
175                         regulator-allow-set-load;
176                 };
177
178                 pm8950_l6: l6 {
179                         regulator-min-microvolt = <1800000>;
180                         regulator-max-microvolt = <1800000>;
181                 };
182
183                 pm8950_l7: l7 {
184                         regulator-min-microvolt = <1800000>;
185                         regulator-max-microvolt = <1800000>;
186                 };
187
188                 pm8950_l8: l8 {
189                         regulator-min-microvolt = <2900000>;
190                         regulator-max-microvolt = <2900000>;
191                         regulator-system-load = <130000>;
192                         regulator-allow-set-load;
193                 };
194
195                 pm8950_l9: l9 {
196                         regulator-min-microvolt = <2000000>;
197                         regulator-max-microvolt = <2400000>;
198                 };
199
200                 pm8950_l10: l10 {
201                         regulator-min-microvolt = <2500000>;
202                         regulator-max-microvolt = <2900000>;
203                 };
204
205                 pm8950_l11: l11 {
206                         regulator-min-microvolt = <2950000>;
207                         regulator-max-microvolt = <2950000>;
208                         regulator-system-load = <60000>;
209                         regulator-allow-set-load;
210                 };
211
212                 pm8950_l12: l12 {
213                         regulator-min-microvolt = <1800000>;
214                         regulator-max-microvolt = <2950000>;
215                         regulator-system-load = <100000>;
216                         regulator-allow-set-load;
217                 };
218
219                 pm8950_l13: l13 {
220                         regulator-min-microvolt = <3075000>;
221                         regulator-max-microvolt = <3075000>;
222                 };
223
224                 pm8950_l14: l14 {
225                         regulator-min-microvolt = <1800000>;
226                         regulator-max-microvolt = <3300000>;
227                 };
228
229                 pm8950_l15: l15 {
230                         regulator-min-microvolt = <1800000>;
231                         regulator-max-microvolt = <3300000>;
232                 };
233
234                 pm8950_l16: l16 {
235                         regulator-min-microvolt = <1800000>;
236                         regulator-max-microvolt = <1800000>;
237                 };
238
239                 pm8950_l17: l17 {
240                         regulator-min-microvolt = <2500000>;
241                         regulator-max-microvolt = <2900000>;
242                 };
243
244                 pm8950_l22: l22 {
245                         regulator-min-microvolt = <3000000>;
246                         regulator-max-microvolt = <3000000>;
247                 };
248
249                 pm8950_l23: l23 {
250                         regulator-min-microvolt = <1200000>;
251                         regulator-max-microvolt = <1200000>;
252                 };
253         };
254 };
255
256 &sdhc_1 {
257         /* Toshiba THGBMHG8C4LBAU7 (032G34) */
258         bus-width = <8>;
259         non-removable;
260         vmmc-supply = <&pm8950_l8>;
261         vqmmc-supply = <&pm8950_l5>;
262         status = "okay";
263 };
264
265 &sdhc_2 {
266         bus-width = <4>;
267         cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
268         vmmc-supply = <&pm8950_l11>;
269         vqmmc-supply = <&pm8950_l12>;
270         status = "okay";
271 };
272
273 &tlmm {
274         gpio-reserved-ranges = <0 4>;
275 };
276
277 &usb_hs_phy {
278         vdd-supply = <&usbphy_1p2>;
279         vdda1p8-supply = <&pm8950_l7>;
280         vdda3p3-supply = <&pm8950_l13>;
281         status = "okay";
282 };
283
284 &xo_board {
285         clock-frequency = <19200000>;
286 };