blob: 29289fa41b1344c002e31920ef2dd230eef1bc67 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/arm/qcom,ids.h>
9#include <dt-bindings/firmware/qcom,scm.h>
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12#include "sm7125.dtsi"
13#include "pm6150.dtsi"
14#include "pm6150l.dtsi"
15
16/delete-node/ &ipa_fw_mem;
17/delete-node/ &rmtfs_mem;
18
19/ {
20 chassis-type = "handset";
21
22 qcom,msm-id = <QCOM_ID_SM7125 0>;
23
24 chosen {
25 #address-cells = <2>;
26 #size-cells = <2>;
27 ranges;
28
29 framebuffer@9c000000 {
30 compatible = "simple-framebuffer";
31 reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
32 width = <1080>;
33 height = <2400>;
34 stride = <(1080 * 4)>;
35 format = "a8r8g8b8";
36 clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
37 };
38 };
39
40 gpio_keys: gpio-keys {
41 compatible = "gpio-keys";
42
43 key-vol-up {
44 label = "Volume Up";
45 linux,code = <KEY_VOLUMEUP>;
46 gpios = <&pm6150l_gpios 2 GPIO_ACTIVE_LOW>;
47 debounce-interval = <15>;
48 linux,can-disable;
49 wakeup-source;
50 };
51 };
52
53 reserved-memory {
54 mpss_mem: memory@86000000 {
55 reg = <0x0 0x86000000 0x0 0x8400000>;
56 no-map;
57 };
58
59 venus_mem: memory@8ee00000 {
60 reg = <0x0 0x8ee00000 0x0 0x500000>;
61 no-map;
62 };
63
64 cdsp_mem: memory@8f300000 {
65 reg = <0x0 0x8f300000 0x0 0x1e00000>;
66 no-map;
67 };
68
69 adsp_mem: memory@91100000 {
70 reg = <0x0 0x91100000 0x0 0x2800000>;
71 no-map;
72 };
73
74 wlan_mem: memory@93900000 {
75 reg = <0x0 0x93900000 0x0 0x200000>;
76 no-map;
77 };
78
79 ipa_fw_mem: memory@93b00000 {
80 reg = <0x0 0x93b00000 0x0 0x10000>;
81 no-map;
82 };
83
84 gpu_mem: memory@93b15000 {
85 reg = <0x0 0x93b15000 0x0 0x2000>;
86 no-map;
87 };
88
89 cont_splash_mem: memory@9c000000 {
90 reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
91 no-map;
92 };
93
94 pstore_mem: ramoops@9d800000 {
95 compatible = "ramoops";
96 reg = <0x0 0x9d800000 0x0 0x400000>;
97 record-size = <0x80000>;
98 pmsg-size = <0x200000>;
99 console-size = <0x100000>;
100 };
101
102 rmtfs_mem: memory@fa601000 {
103 compatible = "qcom,rmtfs-mem";
104 reg = <0x0 0xfa601000 0x0 0x200000>;
105 no-map;
106
107 qcom,client-id = <1>;
108 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
109 };
110 };
111};
112
113&apps_rsc {
114 regulators-0 {
115 compatible = "qcom,pm6150-rpmh-regulators";
116 qcom,pmic-id = "a";
117
118 vreg_s1a_1p1: smps1 {
119 regulator-min-microvolt = <1128000>;
120 regulator-max-microvolt = <1128000>;
121 };
122
123 vreg_s4a_1p0: smps4 {
124 regulator-min-microvolt = <824000>;
125 regulator-max-microvolt = <1120000>;
126 };
127
128 vreg_s5a_2p0: smps5 {
129 regulator-min-microvolt = <1744000>;
130 regulator-max-microvolt = <2040000>;
131 };
132
133 vreg_l1a_1p2: ldo1 {
134 regulator-min-microvolt = <1178000>;
135 regulator-max-microvolt = <1256000>;
136 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
137 };
138
139 vreg_l2a_1p0: ldo2 {
140 regulator-min-microvolt = <944000>;
141 regulator-max-microvolt = <1056000>;
142 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
143 };
144
145 vreg_l3a_1p0: ldo3 {
146 regulator-min-microvolt = <968000>;
147 regulator-max-microvolt = <1064000>;
148 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
149 };
150
151 vreg_l4a_0p88: ldo4 {
152 regulator-min-microvolt = <824000>;
153 regulator-max-microvolt = <928000>;
154 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600155 regulator-allow-set-load;
156 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
157 RPMH_REGULATOR_MODE_HPM>;
Tom Rini53633a82024-02-29 12:33:36 -0500158 };
159
160 vreg_l5a_2p7: ldo5 {
161 regulator-min-microvolt = <2496000>;
162 regulator-max-microvolt = <3000000>;
163 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
164 };
165
166 vreg_l6a_0p6: ldo6 {
167 regulator-min-microvolt = <568000>;
168 regulator-max-microvolt = <648000>;
169 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
170 };
171
172 vreg_l9a_0p664: ldo9 {
173 regulator-min-microvolt = <488000>;
174 regulator-max-microvolt = <800000>;
175 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
176 };
177
178 vreg_l10a_1p8: ldo10 {
179 regulator-min-microvolt = <1800000>;
180 regulator-max-microvolt = <1832000>;
181 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
182 };
183
184 vreg_l11a_1p8: ldo11 {
185 regulator-min-microvolt = <1696000>;
186 regulator-max-microvolt = <1904000>;
187 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
188 };
189
190 vreg_l12a_1p8: ldo12 {
191 regulator-min-microvolt = <1696000>;
192 regulator-max-microvolt = <1952000>;
193 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600194 regulator-allow-set-load;
195 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
196 RPMH_REGULATOR_MODE_HPM>;
Tom Rini53633a82024-02-29 12:33:36 -0500197 };
198
199 vreg_l13a_1p8: ldo13 {
200 regulator-min-microvolt = <1696000>;
201 regulator-max-microvolt = <1904000>;
202 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
203 };
204
205 vreg_l14a_1p8: ldo14 {
206 regulator-min-microvolt = <1728000>;
207 regulator-max-microvolt = <1832000>;
208 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
209 };
210
211 vreg_l15a_1p8: ldo15 {
212 regulator-min-microvolt = <1696000>;
213 regulator-max-microvolt = <1904000>;
214 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215 };
216
217 vreg_l16a_2p7: ldo16 {
218 regulator-min-microvolt = <2496000>;
219 regulator-max-microvolt = <3304000>;
220 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221 };
222
223 vreg_l17a_3p1: ldo17 {
224 regulator-min-microvolt = <2920000>;
225 regulator-max-microvolt = <3232000>;
226 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
227 };
228
229 vreg_l18a_3p0: ldo18 {
230 regulator-min-microvolt = <1696000>;
231 regulator-max-microvolt = <1904000>;
232 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233 };
234
235 vreg_l19a_3p0: ldo19 {
236 regulator-min-microvolt = <2696000>;
237 regulator-max-microvolt = <3304000>;
238 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600239 regulator-allow-set-load;
240 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
241 RPMH_REGULATOR_MODE_HPM>;
Tom Rini53633a82024-02-29 12:33:36 -0500242 };
243 };
244
245 regulators-1 {
246 compatible = "qcom,pm6150l-rpmh-regulators";
247 qcom,pmic-id = "c";
248
249 vreg_s8c_1p3: smps8 {
250 regulator-min-microvolt = <1120000>;
251 regulator-max-microvolt = <1408000>;
252 };
253
254 vreg_l1c_1p8: ldo1 {
255 regulator-min-microvolt = <1616000>;
256 regulator-max-microvolt = <1984000>;
257 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
258 };
259
260 vreg_l2c_1p3: ldo2 {
261 regulator-min-microvolt = <1168000>;
262 regulator-max-microvolt = <1304000>;
263 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
264 };
265
266 vreg_l3c_1p23: ldo3 {
267 regulator-min-microvolt = <1144000>;
268 regulator-max-microvolt = <1304000>;
269 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600270 regulator-allow-set-load;
271 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
272 RPMH_REGULATOR_MODE_HPM>;
Tom Rini53633a82024-02-29 12:33:36 -0500273 };
274
275 vreg_l4c_1p8: ldo4 {
276 regulator-min-microvolt = <1648000>;
277 regulator-max-microvolt = <3304000>;
278 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
279 };
280
281 vreg_l5c_1p8: ldo5 {
282 regulator-min-microvolt = <1648000>;
283 regulator-max-microvolt = <3304000>;
284 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
285 };
286
287 vreg_l6c_3p0: ldo6 {
288 regulator-min-microvolt = <1648000>;
289 regulator-max-microvolt = <3304000>;
290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291 };
292
293 vreg_l7c_3p0: ldo7 {
294 regulator-min-microvolt = <3000000>;
295 regulator-max-microvolt = <3312000>;
296 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
297 };
298
299 vreg_l8c_1p8: ldo8 {
300 regulator-min-microvolt = <1800000>;
301 regulator-max-microvolt = <1904000>;
302 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
303 };
304
305 vreg_l9c_2p9: ldo9 {
306 regulator-min-microvolt = <2952000>;
307 regulator-max-microvolt = <3304000>;
308 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
309 };
310
311 vreg_l10c_3p3: ldo10 {
312 regulator-min-microvolt = <3000000>;
313 regulator-max-microvolt = <3400000>;
314 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315 };
316
317 vreg_l11c_3p3: ldo11 {
318 regulator-min-microvolt = <3000000>;
319 regulator-max-microvolt = <3400000>;
320 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
321 };
322
323 vreg_bob: bob {
324 regulator-min-microvolt = <3008000>;
325 regulator-max-microvolt = <3960000>;
326 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
327 };
328 };
329};
330
331&dispcc {
332 /* HACK: disable until a panel driver is ready to retain simplefb */
333 status = "disabled";
334};
335
336&pm6150_resin {
337 linux,code = <KEY_VOLUMEDOWN>;
338 status = "okay";
339};
340
341&pm6150_rtc {
342 status = "okay";
343};
344
345&sdhc_2 {
346 cd-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
347 pinctrl-names = "default","sleep";
348 pinctrl-0 = <&sdc2_on>;
349 pinctrl-1 = <&sdc2_off>;
350 vmmc-supply = <&vreg_l9c_2p9>;
351 vqmmc-supply = <&vreg_l6c_3p0>;
352 status = "okay";
353};
354
355&tlmm {
356 gpio-reserved-ranges = <0 4>, <34 4>, <59 4>;
357
358 sdc2_on: sdc2-on-state {
359 clk-pins {
360 pins = "sdc2_clk";
361 bias-disable;
362 drive-strength = <16>;
363 };
364
365 cmd-pins {
366 pins = "sdc2_cmd";
367 bias-pull-up;
368 drive-strength = <10>;
369 };
370
371 data-pins {
372 pins = "sdc2_data";
373 bias-pull-up;
374 drive-strength = <10>;
375 };
376
377 sd-cd-pins {
378 pins = "gpio69";
379 function = "gpio";
380 bias-pull-up;
381 drive-strength = <2>;
382 };
383 };
384
385 sdc2_off: sdc2-off-state {
386 clk-pins {
387 pins = "sdc2_clk";
388 bias-disable;
389 drive-strength = <2>;
390 };
391
392 cmd-pins {
393 pins = "sdc2_cmd";
394 bias-pull-up;
395 drive-strength = <2>;
396 };
397
398 data-pins {
399 pins = "sdc2_data";
400 bias-pull-up;
401 drive-strength = <2>;
402 };
403
404 sd-cd-pins {
405 pins = "gpio69";
406 function = "gpio";
407 bias-pull-up;
408 drive-strength = <2>;
409 };
410 };
411};
412
Tom Rini6bb92fc2024-05-20 09:54:58 -0600413&ufs_mem_hc {
414 vcc-supply = <&vreg_l19a_3p0>;
415 vcc-max-microamp = <600000>;
416 vccq2-supply = <&vreg_l12a_1p8>;
417 vccq2-max-microamp = <600000>;
418 status = "okay";
419};
420
421&ufs_mem_phy {
422 vdda-phy-supply = <&vreg_l4a_0p88>;
423 vdda-pll-supply = <&vreg_l3c_1p23>;
424 status = "okay";
425};
426
Tom Rini53633a82024-02-29 12:33:36 -0500427&usb_1 {
428 qcom,select-utmi-as-pipe-clk;
429 status = "okay";
430};
431
432&usb_1_dwc3 {
433 dr_mode = "peripheral";
434 maximum-speed = "high-speed";
435 status = "okay";
436};
437
438&usb_1_hsphy {
439 vdd-supply = <&vreg_l4a_0p88>;
440 vdda-phy-dpdm-supply = <&vreg_l17a_3p1>;
441 vdda-pll-supply = <&vreg_l11a_1p8>;
442 status = "okay";
443};
444
445&usb_1_qmpphy {
446 vdda-phy-supply = <&vreg_l4a_0p88>;
447 vdda-pll-supply = <&vreg_l3c_1p23>;
448 status = "okay";
449};