xref: /linux/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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};
1261