Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
4 * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/arm/qcom,ids.h>
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
12#include <dt-bindings/iio/qcom,spmi-adc7-pm8350b.h>
13#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
14#include <dt-bindings/leds/common.h>
15#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
16#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
17#include <dt-bindings/sound/qcom,q6afe.h>
18#include <dt-bindings/sound/qcom,q6asm.h>
19
20#include "sm7325.dtsi"
21#include "pm7325.dtsi"
22#include "pm8350b.dtsi" /* PM7325B */
23#include "pm8350c.dtsi" /* PM7350C */
24#include "pmk8350.dtsi" /* PMK7325 */
25
26/delete-node/ &rmtfs_mem;
27
28/ {
29 model = "Nothing Phone (1)";
30 compatible = "nothing,spacewar", "qcom,sm7325";
31 chassis-type = "handset";
32
33 aliases {
34 bluetooth0 = &bluetooth;
35 serial0 = &uart5;
36 serial1 = &uart7;
37 wifi0 = &wifi;
38 };
39
40 chosen {
41 #address-cells = <2>;
42 #size-cells = <2>;
43 ranges;
44
45 stdout-path = "serial0:115200n8";
46
47 framebuffer0: framebuffer@e1000000 {
48 compatible = "simple-framebuffer";
49 reg = <0x0 0xe1000000 0x0 (1080 * 2400 * 4)>;
50 width = <1080>;
51 height = <2400>;
52 stride = <(1080 * 4)>;
53 format = "a8r8g8b8";
54
55 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
56 <&dispcc DISP_CC_MDSS_MDP_CLK>,
57 <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
58 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
59 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
60 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
61 power-domains = <&dispcc DISP_CC_MDSS_CORE_GDSC>;
62 };
63 };
64
65 gpio-keys {
66 compatible = "gpio-keys";
67
68 pinctrl-0 = <&kypd_volp_n>;
69 pinctrl-names = "default";
70
71 key-volume-up {
72 label = "Volume up";
73 gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
74 linux,code = <KEY_VOLUMEUP>;
75 };
76 };
77
78 pmic-glink {
79 compatible = "qcom,sm7325-pmic-glink",
80 "qcom,qcm6490-pmic-glink",
81 "qcom,pmic-glink";
82
83 #address-cells = <1>;
84 #size-cells = <0>;
85
86 orientation-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>;
87
88 connector@0 {
89 compatible = "usb-c-connector";
90 reg = <0>;
91 power-role = "dual";
92 data-role = "dual";
93
94 ports {
95 #address-cells = <1>;
96 #size-cells = <0>;
97
98 port@0 {
99 reg = <0>;
100
101 pmic_glink_hs_in: endpoint {
102 remote-endpoint = <&usb_1_dwc3_hs>;
103 };
104 };
105
106 port@1 {
107 reg = <1>;
108
109 pmic_glink_sbu: endpoint {
110 remote-endpoint = <&fsa4480_sbu_mux>;
111 };
112 };
113 };
114 };
115 };
116
117 reserved-memory {
118 #address-cells = <2>;
119 #size-cells = <2>;
120 ranges;
121
122 ramoops_mem: ramoops@83a00000 {
123 compatible = "ramoops";
124 reg = <0x0 0x83a00000 0x0 0x400000>;
125 pmsg-size = <0x200000>;
126 mem-type = <2>;
127 console-size = <0x200000>;
128 };
129
130 cdsp_mem: cdsp@88f00000 {
131 reg = <0x0 0x88f00000 0x0 0x1e00000>;
132 no-map;
133 };
134
135 removed_mem: removed@c0000000 {
136 reg = <0x0 0xc0000000 0x0 0x5100000>;
137 no-map;
138 };
139
140 cont_splash_mem: cont-splash@e1000000 {
141 reg = <0x0 0xe1000000 0x0 (1080 * 2400 * 4)>;
142 no-map;
143 };
144
145 rmtfs_mem: rmtfs@f8500000 {
146 compatible = "qcom,rmtfs-mem";
147 reg = <0x0 0xf8500000 0x0 0x600000>;
148 no-map;
149
150 qcom,client-id = <1>;
151 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>,
152 <QCOM_SCM_VMID_NAV>;
153 };
154 };
155
156 thermal-zones {
157 camera-thermal {
158 polling-delay-passive = <0>;
159 thermal-sensors = <&pmk8350_adc_tm 2>;
160
161 trips {
162 active-config0 {
163 temperature = <125000>;
164 hysteresis = <1000>;
165 type = "passive";
166 };
167 };
168 };
169
170 chg-skin-thermal {
171 polling-delay-passive = <0>;
172 thermal-sensors = <&pmk8350_adc_tm 6>;
173
174 trips {
175 active-config0 {
176 temperature = <125000>;
177 hysteresis = <1000>;
178 type = "passive";
179 };
180 };
181 };
182
183 conn-thermal {
184 polling-delay-passive = <0>;
185 thermal-sensors = <&pmk8350_adc_tm 5>;
186
187 trips {
188 active-config0 {
189 temperature = <125000>;
190 hysteresis = <1000>;
191 type = "passive";
192 };
193 };
194 };
195
196 quiet-thermal {
197 polling-delay-passive = <0>;
198 thermal-sensors = <&pmk8350_adc_tm 1>;
199
200 trips {
201 active-config0 {
202 temperature = <125000>;
203 hysteresis = <1000>;
204 type = "passive";
205 };
206 };
207 };
208
209 rear-cam-thermal {
210 polling-delay-passive = <0>;
211 thermal-sensors = <&pmk8350_adc_tm 4>;
212
213 trips {
214 active-config0 {
215 temperature = <125000>;
216 hysteresis = <1000>;
217 type = "passive";
218 };
219 };
220 };
221
222 sdm-skin-thermal {
223 polling-delay-passive = <0>;
224 thermal-sensors = <&pmk8350_adc_tm 3>;
225
226 trips {
227 active-config0 {
228 temperature = <125000>;
229 hysteresis = <1000>;
230 type = "passive";
231 };
232 };
233 };
234
235 xo-thermal {
236 polling-delay-passive = <0>;
237 thermal-sensors = <&pmk8350_adc_tm 0>;
238
239 trips {
240 active-config0 {
241 temperature = <125000>;
242 hysteresis = <1000>;
243 type = "passive";
244 };
245 };
246 };
247 };
248
249 vph_pwr: vph-pwr-regulator {
250 compatible = "regulator-fixed";
251 regulator-name = "vph_pwr";
252 regulator-min-microvolt = <3700000>;
253 regulator-max-microvolt = <3700000>;
254 };
255
256 // S2B is really ebi.lvl but it's there for supply map completeness sake.
257 vreg_s2b_0p7: smpa3-regulator {
258 compatible = "regulator-fixed";
259 regulator-name = "vreg_s2b_0p7";
260
261 regulator-min-microvolt = <65535>;
262 regulator-max-microvolt = <65535>;
263 regulator-always-on;
264 vin-supply = <&vph_pwr>;
265 };
266};
267
268&apps_rsc {
269 regulators-0 {
270 compatible = "qcom,pm7325-rpmh-regulators";
271 qcom,pmic-id = "b";
272
273 vdd-s1-supply = <&vph_pwr>;
274 vdd-s2-supply = <&vph_pwr>;
275 vdd-s7-supply = <&vph_pwr>;
276 vdd-s8-supply = <&vph_pwr>;
277
278 vdd-l1-l4-l12-l15-supply = <&vreg_s7b_0p952>;
279 vdd-l2-l7-supply = <&vreg_bob>;
280 vdd-l3-supply = <&vreg_s2b_0p7>;
281 vdd-l5-supply = <&vreg_s2b_0p7>;
282 vdd-l6-l9-l10-supply = <&vreg_s8b_1p256>;
283 vdd-l8-supply = <&vreg_s7b_0p952>;
284 vdd-l11-l17-l18-l19-supply = <&vreg_s1b_1p856>;
285 vdd-l13-supply = <&vreg_s7b_0p952>;
286 vdd-l14-l16-supply = <&vreg_s8b_1p256>;
287
288 /*
289 * S2, L4-L5 are ARCs:
290 * S2 - ebi.lvl,
291 * L4 - lmx.lvl,
292 * l5 - lcx.lvl.
293 *
294 * L10 are unused.
295 */
296
297 vdd19_pmu_rfa_i:
298 vreg_s1b_1p856: smps1 {
299 regulator-name = "vreg_s1b_1p856";
300 regulator-min-microvolt = <1840000>;
301 regulator-max-microvolt = <2040000>;
302 };
303
304 vdd_pmu_aon_i:
305 vdd09_pmu_rfa_i:
306 vdd095_mx_pmu:
307 vdd095_pmu_1:
308 vdd095_pmu_2:
309 vreg_s7b_0p952: smps7 {
310 regulator-name = "vreg_s7b_0p952";
311 regulator-min-microvolt = <535000>;
312 regulator-max-microvolt = <1120000>;
313 };
314
315 vdd13_pmu_rfa_i:
316 vreg_s8b_1p256: smps8 {
317 regulator-name = "vreg_s8b_1p256";
318 regulator-min-microvolt = <1200000>;
319 regulator-max-microvolt = <1500000>;
320 regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
321 };
322
323 vreg_l1b_0p912: ldo1 {
324 regulator-name = "vreg_l1b_0p912";
325 regulator-min-microvolt = <825000>;
326 regulator-max-microvolt = <925000>;
327 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
328 };
329
330 vdd_a_usbhs_3p1:
331 vreg_l2b_3p072: ldo2 {
332 regulator-name = "vreg_l2b_3p072";
333 regulator-min-microvolt = <2700000>;
334 regulator-max-microvolt = <3544000>;
335 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
336 };
337
338 vdd_io_ebi0_1:
339 vdd_io_ebi0_2:
340 vdd_io_ebi0_3:
341 vdd_io_ebi0_4:
342 vdd_io_ebi1_1:
343 vdd_io_ebi1_2:
344 vdd_io_ebi1_3:
345 vdd_io_ebi1_4:
346 vreg_l3b_0p6: ldo3 {
347 regulator-name = "vreg_l3b_0p6";
348 regulator-min-microvolt = <312000>;
349 regulator-max-microvolt = <910000>;
350 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
351 };
352
353 vdd_a_csi_01_1p2:
354 vdd_a_csi_23_1p2:
355 vdd_a_csi_4_1p2:
356 vdd_a_dsi_0_1p2:
357 vdd_a_qlink_0_1p2_ck:
358 vdd_a_qlink_1_1p2:
359 vdd_a_ufs_0_1p2:
360 vdd_vref_1p2_1:
361 vdd_vref_1p2_2:
362 vreg_l6b_1p2: ldo6 {
363 regulator-name = "vreg_l6b_1p2";
364 regulator-min-microvolt = <1140000>;
365 regulator-max-microvolt = <1260000>;
366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367 regulator-allow-set-load;
368 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
369 RPMH_REGULATOR_MODE_HPM>;
370 };
371
372 vreg_l7b_2p96: ldo7 {
373 regulator-name = "vreg_l7b_2p96";
374 regulator-min-microvolt = <2400000>;
375 regulator-max-microvolt = <3544000>;
376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377 regulator-allow-set-load;
378 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
379 RPMH_REGULATOR_MODE_HPM>;
380 };
381
382 vreg_l8b_0p904: ldo8 {
383 regulator-name = "vreg_l8b_0p904";
384 regulator-min-microvolt = <870000>;
385 regulator-max-microvolt = <970000>;
386 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
387 };
388
389 vdd_px10:
390 vreg_l9b_1p2: ldo9 {
391 regulator-name = "vreg_l9b_1p2";
392 regulator-min-microvolt = <1200000>;
393 regulator-max-microvolt = <1304000>;
394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
395 regulator-allow-set-load;
396 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
397 RPMH_REGULATOR_MODE_HPM>;
398 };
399
400 vddah_0:
401 vddah_1:
402 vddah_fbrx:
403 vddah_tx0:
404 vddah_tx0_1:
405 vddah_tx1:
406 vddah_tx1_1:
407 vreg_l11b_1p776: ldo11 {
408 regulator-name = "vreg_l11b_1p776";
409 regulator-min-microvolt = <1504000>;
410 regulator-max-microvolt = <2000000>;
411 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
412 };
413
414 vddal_dig0:
415 vddal_dig_1:
416 vddal_dig_2:
417 vddal_dig_xo:
418 vddal_gps_l1:
419 vddal_gps_l5:
420 vddal_icon:
421 vddal_rx:
422 vddal_rx0:
423 vddal_rx1:
424 vddal_rx2:
425 vddal_tx0:
426 vddal_tx0_1:
427 vddal_tx1:
428 vddal_tx1_2:
429 vreg_l12b_0p8: ldo12 {
430 regulator-name = "vreg_l12b_0p8";
431 regulator-min-microvolt = <751000>;
432 regulator-max-microvolt = <824000>;
433 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
434 };
435
436 vdd_cx1:
437 vdd_cx2:
438 vreg_l13b_0p8: ldo13 {
439 regulator-name = "vreg_l13b_0p8";
440 regulator-min-microvolt = <530000>;
441 regulator-max-microvolt = <824000>;
442 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
443 };
444
445 vdd_1p2:
446 vdd_lna:
447 vddam_fbrx:
448 vddam_rx_0:
449 vddam_rx_1:
450 vddam_rx0:
451 vddam_rx1:
452 vddam_rx2:
453 vddam_rxe_a:
454 vddam_rxe_b:
455 vddam_rxe_c:
456 vddam_rxe_d:
457 vddam_rxe_e:
458 vddam_tx0:
459 vddam_tx0_1:
460 vddam_tx1:
461 vddam_tx1_1:
462 vddam_xo:
463 vreg_l14b_1p2: ldo14 {
464 regulator-name = "vreg_l14b_1p2";
465 regulator-min-microvolt = <1080000>;
466 regulator-max-microvolt = <1304000>;
467 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
468 };
469
470 vdd_mx:
471 vddmx_tx:
472 vdd_phy:
473 vreg_l15b_0p88: ldo15 {
474 regulator-name = "vreg_l15b_0p88";
475 regulator-min-microvolt = <765000>;
476 regulator-max-microvolt = <1020000>;
477 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
478 };
479
480 vreg_l16b_1p2: ldo16 {
481 regulator-name = "vreg_l16b_1p2";
482 regulator-min-microvolt = <1100000>;
483 regulator-max-microvolt = <1300000>;
484 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
485 };
486
487 vdd_buck:
488 vreg_l17b_1p8: ldo17 {
489 regulator-name = "vreg_l17b_1p8";
490 regulator-min-microvolt = <1700000>;
491 regulator-max-microvolt = <1900000>;
492 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
493 };
494
495 vdd_px_wcd9385:
496 vdd_txrx:
497 vdd_px0:
498 vdd_px3:
499 vdd_px7:
500 vreg_l18b_1p8: ldo18 {
501 regulator-name = "vreg_l18b_1p8";
502 regulator-min-microvolt = <1800000>;
503 regulator-max-microvolt = <2000000>;
504 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
505 };
506
507 vdd_1p8:
508 vdd_px_sdr735:
509 vdd_pxm:
510 vddio_px_1:
511 vddio_px_2:
512 vddio_px_3:
513 vdd18_io:
514 vddpx_ts:
515 vddpx_wl4otp:
516 vreg_l19b_1p8: ldo19 {
517 regulator-name = "vreg_l19b_1p8";
518 regulator-min-microvolt = <1800000>;
519 regulator-max-microvolt = <2000000>;
520 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
521 };
522 };
523
524 regulators-1 {
525 compatible = "qcom,pm8350c-rpmh-regulators";
526 qcom,pmic-id = "c";
527
528 vdd-s1-supply = <&vph_pwr>;
529 vdd-s2-supply = <&vph_pwr>;
530 vdd-s5-supply = <&vph_pwr>;
531 vdd-s7-supply = <&vph_pwr>;
532 vdd-s9-supply = <&vph_pwr>;
533 vdd-s10-supply = <&vph_pwr>;
534
535 vdd-l1-l12-supply = <&vreg_s1b_1p856>;
536 vdd-l2-l8-supply = <&vreg_s1b_1p856>;
537 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
538 vdd-l6-l9-l11-supply = <&vreg_bob>;
539 vdd-l10-supply = <&vreg_s7b_0p952>;
540
541 vdd-bob-supply = <&vph_pwr>;
542
543 /*
544 * S2, S5, S7, S10 are ARCs:
545 * S2 - cx.lvl,
546 * S5 - mss.lvl,
547 * S7 - gfx.lvl,
548 * S10 - mx.lvl.
549 */
550
551 vdd22_wlbtpa_ch0:
552 vdd22_wlbtpa_ch1:
553 vdd22_wlbtppa_ch0:
554 vdd22_wlbtppa_ch1:
555 vdd22_wlpa5g_ch0:
556 vdd22_wlpa5g_ch1:
557 vdd22_wlppa5g_ch0:
558 vdd22_wlppa5g_ch1:
559 vreg_s1c_2p2: smps1 {
560 regulator-name = "vreg_s1c_2p2";
561 regulator-min-microvolt = <2190000>;
562 regulator-max-microvolt = <2210000>;
563 };
564
565 vdd_px1:
566 vreg_s9c_0p676: smps9 {
567 regulator-name = "vreg_s9c_0p676";
568 regulator-min-microvolt = <1010000>;
569 regulator-max-microvolt = <1170000>;
570 };
571
572 vdd_a_apc_cs_1p8:
573 vdd_a_cxo_1p8:
574 vdd_a_gfx_cs_1p8:
575 vdd_a_qrefs_1p8:
576 vdd_a_turing_q6_cs_1p8:
577 vdd_a_usbhs_1p8:
578 vdd_qfprom:
579 vreg_l1c_1p8: ldo1 {
580 regulator-name = "vreg_l1c_1p8";
581 regulator-min-microvolt = <1800000>;
582 regulator-max-microvolt = <1980000>;
583 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
584 };
585
586 vreg_l2c_1p8: ldo2 {
587 regulator-name = "vreg_l2c_1p8";
588 regulator-min-microvolt = <1620000>;
589 regulator-max-microvolt = <1980000>;
590 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
591 };
592
593 vdd_ts:
594 vreg_l3c_3p0: ldo3 {
595 regulator-name = "vreg_l3c_3p0";
596 regulator-min-microvolt = <2800000>;
597 regulator-max-microvolt = <3540000>;
598 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
599 };
600
601 vdd_px5:
602 vreg_l4c_1p8_3p0: ldo4 {
603 regulator-name = "vreg_l4c_1p8_3p0";
604 regulator-min-microvolt = <1620000>;
605 regulator-max-microvolt = <3300000>;
606 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
607 };
608
609 vdd_px6:
610 vreg_l5c_1p8_3p0: ldo5 {
611 regulator-name = "vreg_l5c_1p8_3p0";
612 regulator-min-microvolt = <1620000>;
613 regulator-max-microvolt = <3300000>;
614 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
615 };
616
617 vdd_px2:
618 vreg_l6c_2p96: ldo6 {
619 regulator-name = "vreg_l6c_2p96";
620 regulator-min-microvolt = <1650000>;
621 regulator-max-microvolt = <3544000>;
622 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
623 };
624
625 vdd_sensor_3p3:
626 vreg_l7c_3p0: ldo7 {
627 regulator-name = "vreg_l7c_3p0";
628 regulator-min-microvolt = <3000000>;
629 regulator-max-microvolt = <3544000>;
630 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
631 };
632
633 vdd_sensor_1p8:
634 vreg_l8c_1p8: ldo8 {
635 regulator-name = "vreg_l8c_1p8";
636 regulator-min-microvolt = <1620000>;
637 regulator-max-microvolt = <2000000>;
638 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
639 };
640
641 vreg_l9c_2p96: ldo9 {
642 regulator-name = "vreg_l9c_2p96";
643 regulator-min-microvolt = <2700000>;
644 regulator-max-microvolt = <3544000>;
645 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
646 };
647
648 vdd_a_csi_01_0p9:
649 vdd_a_csi_23_0p9:
650 vdd_a_csi_4_0p9:
651 vdd_a_dsi_0_0p9:
652 vdd_a_dsi_0_pll_0p9:
653 vdd_a_gnss_0p9:
654 vdd_a_qlink_0_0p9:
655 vdd_a_qlink_0_0p9_ck:
656 vdd_a_qlink_1_0p9:
657 vdd_a_qlink_1_0p9_ck:
658 vdd_a_qrefs_0p875_1:
659 vdd_a_qrefs_0p875_2:
660 vdd_a_qrefs_0p875_3:
661 vdd_a_qrefs_0p875_4:
662 vdd_a_qrefs_0p875_5:
663 vdd_a_qrefs_0p875_6:
664 vdd_a_qrefs_0p875_7:
665 vdd_a_qrefs_0p875_8:
666 vdd_a_qrefs_0p875_9:
667 vdd_a_ufs_0_core:
668 vdd_a_usbhs_core:
669 vdd_vref_0p9:
670 vreg_l10c_0p88: ldo10 {
671 regulator-name = "vreg_l10c_0p88";
672 regulator-min-microvolt = <720000>;
673 regulator-max-microvolt = <1050000>;
674 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
675 regulator-allow-set-load;
676 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
677 RPMH_REGULATOR_MODE_HPM>;
678 };
679
680 vdd_fm:
681 vdd_wlan_fem:
682 vreg_l11c_2p8: ldo11 {
683 regulator-name = "vreg_l11c_2p8";
684 regulator-min-microvolt = <2800000>;
685 regulator-max-microvolt = <3544000>;
686 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
687 };
688
689 vdd_io_oled:
690 vreg_l12c_1p8: ldo12 {
691 regulator-name = "vreg_l12c_1p8";
692 regulator-min-microvolt = <1650000>;
693 regulator-max-microvolt = <2000000>;
694 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
695 };
696
697 vdd_oled:
698 vreg_l13c_3p0: ldo13 {
699 regulator-name = "vreg_l13c_3p0";
700 regulator-min-microvolt = <2700000>;
701 regulator-max-microvolt = <3544000>;
702 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
703 };
704
705 vdd_flash:
706 vdd_mic_bias:
707 vreg_bob: bob {
708 regulator-name = "vreg_bob";
709 regulator-min-microvolt = <3008000>;
710 regulator-max-microvolt = <3960000>;
711 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
712 };
713 };
714};
715
716&cci0 {
717 status = "okay";
718};
719
720&cci0_i2c0 {
721 /* sony,imx471 (Front) */
722};
723
724&cci1 {
725 status = "okay";
726};
727
728&cci1_i2c0 {
729 /* samsung,s5kjn1 (Rear-aux UW) */
730};
731
732&cci1_i2c1 {
733 /* sony,imx766 (Rear Wide) */
734};
735
736&gcc {
737 protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
738 <GCC_MSS_CFG_AHB_CLK>,
739 <GCC_MSS_OFFLINE_AXI_CLK>,
740 <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
741 <GCC_MSS_Q6_MEMNOC_AXI_CLK>,
742 <GCC_MSS_SNOC_AXI_CLK>,
743 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
744 <GCC_QSPI_CORE_CLK>,
745 <GCC_QSPI_CORE_CLK_SRC>,
746 <GCC_SEC_CTRL_CLK_SRC>,
747 <GCC_WPSS_AHB_BDG_MST_CLK>,
748 <GCC_WPSS_AHB_CLK>,
749 <GCC_WPSS_RSCP_CLK>;
750};
751
752&gpi_dma0 {
753 status = "okay";
754};
755
756&gpi_dma1 {
757 status = "okay";
758};
759
760&gpu_zap_shader {
761 firmware-name = "qcom/sm7325/nothing/spacewar/a660_zap.mbn";
762};
763
764&i2c1 {
765 clock-frequency = <100000>;
766 status = "okay";
767
768 /* awinic,aw21018 (Glyph LED) @ 20 */
769
770 typec-mux@42 {
771 compatible = "fcs,fsa4480";
772 reg = <0x42>;
773
774 vcc-supply = <&vreg_bob>;
775
776 mode-switch;
777 orientation-switch;
778
779 port {
780 fsa4480_sbu_mux: endpoint {
781 remote-endpoint = <&pmic_glink_sbu>;
782 };
783 };
784 };
785};
786
787&i2c2 {
788 clock-frequency = <100000>;
789 status = "okay";
790
791 /* nxp,tfa9873 (EAR speaker codec) @ 34 */
792 /* nxp,tfa9873 (Main speaker codec) @ 35 */
793};
794
795&i2c9 {
796 clock-frequency = <1000000>;
797 status = "okay";
798
799 nfc@28 {
800 compatible = "nxp,pn553",
801 "nxp,nxp-nci-i2c";
802 reg = <0x28>;
803
804 interrupt-parent = <&tlmm>;
805 interrupts = <41 IRQ_TYPE_EDGE_RISING>;
806
807 enable-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
808 firmware-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
809
810 pinctrl-0 = <&nfc_en>,
811 <&nfc_clk_req>,
812 <&nfc_dwl_req>,
813 <&nfc_int_req>;
814 pinctrl-names = "default";
815 };
816};
817
818&ipa {
819 qcom,gsi-loader = "self";
820 memory-region = <&ipa_fw_mem>;
821 firmware-name = "qcom/sm7325/nothing/spacewar/ipa_fws.mbn";
822
823 status = "okay";
824};
825
826/* MDSS remains disabled until the panel driver is present. */
827&mdss_dsi {
828 vdda-supply = <&vdd_a_dsi_0_1p2>;
829
830 /* Visionox RM692E5 panel */
831};
832
833&mdss_dsi_phy {
834 vdds-supply = <&vdd_a_dsi_0_0p9>;
835};
836
837&pm7325_gpios {
838 gpio-line-names = "NC", /* GPIO_1 */
839 "PA_THERM3",
840 "PA_THERM4",
841 "NC",
842 "NC",
843 "KYPD_VOLP_N",
844 "NC",
845 "NC",
846 "NC",
847 "NC"; /* GPIO_10 */
848
849 kypd_volp_n: kypd-volp-n-state {
850 pins = "gpio6";
851 function = PMIC_GPIO_FUNC_NORMAL;
852 bias-pull-up;
853 input-enable;
854 power-source = <1>;
855 };
856};
857
858&pm8350c_flash {
859 status = "okay";
860
861 led-0 {
862 function = LED_FUNCTION_FLASH;
863 color = <LED_COLOR_ID_WHITE>;
864 led-sources = <1>, <4>;
865 led-max-microamp = <500000>;
866 flash-max-microamp = <1500000>;
867 flash-max-timeout-us = <1280000>;
868 };
869};
870
871&pmk8350_adc_tm {
872 status = "okay";
873
874 /* PMK8350 */
875 xo-therm@0 {
876 reg = <0>;
877 io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
878 qcom,ratiometric;
879 qcom,hw-settle-time-us = <200>;
880 };
881
882 /* PM7325 */
883 quiet-therm@1 {
884 reg = <1>;
885 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>;
886 qcom,ratiometric;
887 qcom,hw-settle-time-us = <200>;
888 };
889
890 cam-flash-therm@2 {
891 reg = <2>;
892 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>;
893 qcom,ratiometric;
894 qcom,hw-settle-time-us = <200>;
895 };
896
897 sdm-skin-therm@3 {
898 reg = <3>;
899 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>;
900 qcom,ratiometric;
901 qcom,hw-settle-time-us = <200>;
902 };
903
904 wide-rfc-therm@4 {
905 reg = <4>;
906 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>;
907 qcom,ratiometric;
908 qcom,hw-settle-time-us = <200>;
909 };
910
911 /* PM8350B */
912 usb-conn-therm@5 {
913 reg = <5>;
914 io-channels = <&pmk8350_vadc PM8350B_ADC7_AMUX_THM4_100K_PU>;
915 qcom,ratiometric;
916 qcom,hw-settle-time-us = <200>;
917 };
918
919 chg-skin-therm@6 {
920 reg = <6>;
921 io-channels = <&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>;
922 qcom,ratiometric;
923 qcom,hw-settle-time-us = <200>;
924 };
925};
926
927&pmk8350_rtc {
928 status = "okay";
929};
930
931&pmk8350_vadc {
932 /* PMK8350 */
933 channel@44 {
934 reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
935 qcom,ratiometric;
936 qcom,hw-settle-time = <200>;
937 qcom,pre-scaling = <1 1>;
938 label = "pmk8350_xo_therm";
939 };
940
941 /* PM7325 */
942 channel@144 {
943 reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
944 qcom,ratiometric;
945 qcom,hw-settle-time = <200>;
946 qcom,pre-scaling = <1 1>;
947 label = "pm7325_quiet_therm";
948 };
949
950 channel@145 {
951 reg = <PM7325_ADC7_AMUX_THM2_100K_PU>;
952 qcom,ratiometric;
953 qcom,hw-settle-time = <200>;
954 qcom,pre-scaling = <1 1>;
955 label = "pm7325_cam_flash_therm";
956 };
957
958 channel@146 {
959 reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
960 qcom,ratiometric;
961 qcom,hw-settle-time = <200>;
962 qcom,pre-scaling = <1 1>;
963 label = "pm7325_sdm_skin_therm";
964 };
965
966 channel@147 {
967 reg = <PM7325_ADC7_AMUX_THM4_100K_PU>;
968 qcom,ratiometric;
969 qcom,hw-settle-time = <200>;
970 qcom,pre-scaling = <1 1>;
971 label = "pm7325_wide_rfc_therm";
972 };
973
974 channel@14a {
975 reg = <PM7325_ADC7_GPIO1_100K_PU>;
976 qcom,ratiometric;
977 qcom,hw-settle-time = <200>;
978 qcom,pre-scaling = <1 1>;
979 label = "pm7325_pa3_therm";
980 };
981
982 channel@14b {
983 reg = <PM7325_ADC7_GPIO2_100K_PU>;
984 qcom,ratiometric;
985 qcom,hw-settle-time = <200>;
986 qcom,pre-scaling = <1 1>;
987 label = "pm7325_pa4_therm";
988 };
989
990 /* PM8350B */
991 channel@344 {
992 reg = <PM8350B_ADC7_AMUX_THM1_100K_PU>;
993 qcom,ratiometric;
994 qcom,hw-settle-time = <200>;
995 qcom,pre-scaling = <1 1>;
996 label = "pm8350b_batt_therm";
997 };
998
999 channel@347 {
1000 reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
1001 qcom,ratiometric;
1002 qcom,hw-settle-time = <200>;
1003 qcom,pre-scaling = <1 1>;
1004 label = "pm8350b_usb_conn_therm";
1005 };
1006
1007 channel@34b {
1008 reg = <PM8350B_ADC7_GPIO2_100K_PU>;
1009 qcom,ratiometric;
1010 qcom,hw-settle-time = <200>;
1011 qcom,pre-scaling = <1 1>;
1012 label = "pm8350b_chg_skin_therm";
1013 };
1014
1015 channel@34c {
1016 reg = <PM8350B_ADC7_GPIO3_100K_PU>;
1017 qcom,ratiometric;
1018 qcom,hw-settle-time = <200>;
1019 qcom,pre-scaling = <1 1>;
1020 label = "pm8350b_usb_therm2";
1021 };
1022};
1023
1024&pon_pwrkey {
1025 status = "okay";
1026};
1027
1028&pon_resin {
1029 linux,code = <KEY_VOLUMEDOWN>;
1030 status = "okay";
1031};
1032
1033&q6afedai {
1034 dai@16 {
1035 reg = <PRIMARY_MI2S_RX>;
1036 qcom,sd-lines = <1>;
1037 };
1038};
1039
1040&q6asmdai {
1041 dai@0 {
1042 reg = <0>;
1043 };
1044};
1045
1046&qfprom {
1047 vcc-supply = <&vdd_qfprom>;
1048};
1049
1050&qup_uart5_rx {
1051 drive-strength = <2>;
1052 bias-disable;
1053};
1054
1055&qup_uart5_tx {
1056 drive-strength = <2>;
1057 bias-disable;
1058};
1059
1060&qupv3_id_0 {
1061 status = "okay";
1062};
1063
1064&qupv3_id_1 {
1065 status = "okay";
1066};
1067
1068&remoteproc_adsp {
1069 firmware-name = "qcom/sm7325/nothing/spacewar/adsp.mbn";
1070 status = "okay";
1071};
1072
1073&remoteproc_cdsp {
1074 firmware-name = "qcom/sm7325/nothing/spacewar/cdsp.mbn";
1075 status = "okay";
1076};
1077
1078&remoteproc_mpss {
1079 firmware-name = "qcom/sm7325/nothing/spacewar/modem.mbn";
1080 status = "okay";
1081};
1082
1083&remoteproc_wpss {
1084 firmware-name = "qcom/sm7325/nothing/spacewar/wpss.mbn";
1085 status = "okay";
1086};
1087
1088&spi13 {
1089 status = "okay";
1090
1091 /* focaltech,ft3680 (Touchscreen) @ 0 */
1092};
1093
1094&tlmm {
1095 /* 56-59: Fingerprint reader (SPI) */
1096 gpio-reserved-ranges = <56 4>;
1097
1098 bt_uart_sleep_cts: bt-uart-sleep-cts-state {
1099 pins = "gpio28";
1100 function = "gpio";
1101 bias-bus-hold;
1102 };
1103
1104 bt_uart_sleep_rts: bt-uart-sleep-rts-state {
1105 pins = "gpio29";
1106 function = "gpio";
1107 bias-pull-down;
1108 };
1109
1110 bt_uart_sleep_txd: bt-uart-sleep-txd-state {
1111 pins = "gpio30";
1112 function = "gpio";
1113 bias-pull-up;
1114 };
1115
1116 bt_uart_sleep_rxd: bt-uart-sleep-rxd-state {
1117 pins = "gpio31";
1118 function = "gpio";
1119 bias-pull-up;
1120 };
1121
1122 nfc_en: nfc-en-state {
1123 pins = "gpio38";
1124 function = "gpio";
1125 drive-strength = <2>;
1126 bias-disable;
1127 };
1128
1129 nfc_clk_req: nfc-clk-req-state {
1130 pins = "gpio39";
1131 function = "gpio";
1132 drive-strength = <2>;
1133 bias-disable;
1134 };
1135
1136 nfc_dwl_req: nfc-dwl-req-state {
1137 pins = "gpio40";
1138 function = "gpio";
1139 drive-strength = <2>;
1140 bias-disable;
1141 };
1142
1143 nfc_int_req: nfc-int-req-state {
1144 pins = "gpio41";
1145 function = "gpio";
1146 drive-strength = <2>;
1147 bias-pull-down;
1148 };
1149
1150 hst_bt_en: hst-bt-en-state {
1151 pins = "gpio85";
1152 function = "gpio";
1153 output-low;
1154 bias-disable;
1155 };
1156
1157 hst_sw_ctrl: hst-sw-ctrl-state {
1158 pins = "gpio86";
1159 function = "gpio";
1160 bias-pull-down;
1161 };
1162};
1163
1164&uart5 {
1165 status = "okay";
1166};
1167
1168&uart7 {
1169 /delete-property/interrupts;
1170 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
1171 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
1172
1173 pinctrl-1 = <&bt_uart_sleep_cts>,
1174 <&bt_uart_sleep_rts>,
1175 <&bt_uart_sleep_txd>,
1176 <&bt_uart_sleep_rxd>;
1177 pinctrl-names = "default", "sleep";
1178
1179 status = "okay";
1180
1181 bluetooth: bluetooth {
1182 compatible = "qcom,wcn6750-bt";
1183
1184 pinctrl-0 = <&hst_bt_en>,
1185 <&hst_sw_ctrl>;
1186 pinctrl-names = "default";
1187
1188 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
1189 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
1190
1191 vddio-supply = <&vreg_l19b_1p8>;
1192 vddaon-supply = <&vreg_s7b_0p952>;
1193 vddbtcxmx-supply = <&vreg_s7b_0p952>;
1194 vddrfacmn-supply = <&vreg_s7b_0p952>;
1195 vddrfa0p8-supply = <&vreg_s7b_0p952>;
1196 vddrfa1p7-supply = <&vdd19_pmu_rfa_i>;
1197 vddrfa1p2-supply = <&vdd13_pmu_rfa_i>;
1198 vddrfa2p2-supply = <&vreg_s1c_2p2>;
1199 vddasd-supply = <&vreg_l11c_2p8>;
1200 max-speed = <3200000>;
1201
1202 qcom,local-bd-address-broken;
1203 };
1204};
1205
1206&ufs_mem_hc {
1207 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
1208
1209 vcc-supply = <&vreg_l7b_2p96>;
1210 vcc-max-microamp = <800000>;
1211 /*
1212 * Technically l9b enables an eLDO (supplied by s1b) which then powers
1213 * VCCQ2 of the UFS.
1214 */
1215 vccq-supply = <&vreg_l9b_1p2>;
1216 vccq-max-microamp = <900000>;
1217
1218 status = "okay";
1219};
1220
1221&ufs_mem_phy {
1222 vdda-phy-supply = <&vdd_a_ufs_0_core>;
1223 vdda-pll-supply = <&vdd_a_ufs_0_1p2>;
1224 status = "okay";
1225};
1226
1227&usb_1 {
1228 /* USB 2.0 only */
1229 qcom,select-utmi-as-pipe-clk;
1230 status = "okay";
1231};
1232
1233&usb_1_dwc3 {
1234 dr_mode = "otg";
1235 usb-role-switch;
1236 maximum-speed = "high-speed";
1237 /* Remove USB3 phy */
1238 phys = <&usb_1_hsphy>;
1239 phy-names = "usb2-phy";
1240};
1241
1242&usb_1_dwc3_hs {
1243 remote-endpoint = <&pmic_glink_hs_in>;
1244};
1245
1246&usb_1_hsphy {
1247 vdda-pll-supply = <&vdd_a_usbhs_core>;
1248 vdda18-supply = <&vdd_a_usbhs_1p8>;
1249 vdda33-supply = <&vdd_a_usbhs_3p1>;
1250 status = "okay";
1251};
1252
1253&venus {
1254 firmware-name = "qcom/sm7325/nothing/spacewar/vpu20_1v.mbn";
1255 status = "okay";
1256};
1257
1258&wifi {
1259 status = "okay";
1260};