xref: /linux/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
4 * Copyright (c) 2025 Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
5 */
6
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/input/gpio-keys.h>
9#include <dt-bindings/input/input.h>
10#include <dt-bindings/leds/common.h>
11#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
12#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13
14#include "x1e80100-pmics.dtsi"
15
16/ {
17	model = "ASUS Zenbook A14";
18	chassis-type = "laptop";
19
20	aliases {
21		serial0 = &uart21;
22		serial1 = &uart14;
23	};
24
25	wcd938x: audio-codec {
26		compatible = "qcom,wcd9385-codec";
27
28		pinctrl-0 = <&wcd_default>;
29		pinctrl-names = "default";
30
31		qcom,micbias1-microvolt = <1800000>;
32		qcom,micbias2-microvolt = <1800000>;
33		qcom,micbias3-microvolt = <1800000>;
34		qcom,micbias4-microvolt = <1800000>;
35		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
36		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
37		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
38		qcom,rx-device = <&wcd_rx>;
39		qcom,tx-device = <&wcd_tx>;
40
41		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
42
43		vdd-buck-supply = <&vreg_l15b_1p8>;
44		vdd-rxtx-supply = <&vreg_l15b_1p8>;
45		vdd-io-supply = <&vreg_l15b_1p8>;
46		vdd-mic-bias-supply = <&vreg_bob1>;
47
48		#sound-dai-cells = <1>;
49	};
50
51	gpio-keys {
52		compatible = "gpio-keys";
53
54		pinctrl-0 = <&hall_int_n_default>;
55		pinctrl-names = "default";
56
57		switch-lid {
58			label = "lid";
59			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
60			linux,input-type = <EV_SW>;
61			linux,code = <SW_LID>;
62			wakeup-source;
63			wakeup-event-action = <EV_ACT_DEASSERTED>;
64		};
65	};
66
67	leds {
68		compatible = "gpio-leds";
69
70		pinctrl-0 = <&cam_indicator_en>;
71		pinctrl-names = "default";
72
73		led-camera-indicator {
74			label = "white:camera-indicator";
75			function = LED_FUNCTION_INDICATOR;
76			color = <LED_COLOR_ID_WHITE>;
77			gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
78			linux,default-trigger = "none";
79			default-state = "off";
80			/* Reuse as a panic indicator until we get a "camera on" trigger */
81			panic-indicator;
82		};
83	};
84
85	pmic-glink {
86		compatible = "qcom,x1e80100-pmic-glink",
87			     "qcom,sm8550-pmic-glink",
88			     "qcom,pmic-glink";
89		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
90				    <&tlmm 123 GPIO_ACTIVE_HIGH>;
91		#address-cells = <1>;
92		#size-cells = <0>;
93
94		/* Left-side display-adjacent port */
95		connector@0 {
96			compatible = "usb-c-connector";
97			reg = <0>;
98			power-role = "dual";
99			data-role = "dual";
100
101			ports {
102				#address-cells = <1>;
103				#size-cells = <0>;
104
105				port@0 {
106					reg = <0>;
107
108					pmic_glink_ss0_hs_in: endpoint {
109						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
110					};
111				};
112
113				port@1 {
114					reg = <1>;
115
116					pmic_glink_ss0_ss_in: endpoint {
117						remote-endpoint = <&retimer_ss0_ss_out>;
118					};
119				};
120
121				port@2 {
122					reg = <2>;
123
124					pmic_glink_ss0_con_sbu_in: endpoint {
125						remote-endpoint = <&retimer_ss0_con_sbu_out>;
126					};
127				};
128			};
129		};
130
131		/* Left-side user-adjacent port */
132		connector@1 {
133			compatible = "usb-c-connector";
134			reg = <1>;
135			power-role = "dual";
136			data-role = "dual";
137
138			ports {
139				#address-cells = <1>;
140				#size-cells = <0>;
141
142				port@0 {
143					reg = <0>;
144
145					pmic_glink_ss1_hs_in: endpoint {
146						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
147					};
148				};
149
150				port@1 {
151					reg = <1>;
152
153					pmic_glink_ss1_ss_in: endpoint {
154						remote-endpoint = <&retimer_ss1_ss_out>;
155					};
156				};
157
158				port@2 {
159					reg = <2>;
160
161					pmic_glink_ss1_con_sbu_in: endpoint {
162						remote-endpoint = <&retimer_ss1_con_sbu_out>;
163					};
164				};
165			};
166		};
167	};
168
169	reserved-memory {
170		linux,cma {
171			compatible = "shared-dma-pool";
172			size = <0x0 0x8000000>;
173			reusable;
174			linux,cma-default;
175		};
176	};
177
178	sound {
179		compatible = "qcom,x1e80100-sndcard";
180		model = "X1E80100-ASUS-Zenbook-A14";
181		audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
182				"SpkrRight IN", "WSA WSA_SPK2 OUT",
183				"IN1_HPHL", "HPHL_OUT",
184				"IN2_HPHR", "HPHR_OUT",
185				"AMIC2", "MIC BIAS2",
186				"VA DMIC0", "MIC BIAS1",
187				"VA DMIC1", "MIC BIAS1",
188				"VA DMIC0", "VA MIC BIAS1",
189				"VA DMIC1", "VA MIC BIAS1",
190				"TX SWR_INPUT1", "ADC2_OUTPUT";
191
192		va-dai-link {
193			link-name = "VA Capture";
194
195			codec {
196				sound-dai = <&lpass_vamacro 0>;
197			};
198
199			cpu {
200				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
201			};
202
203			platform {
204				sound-dai = <&q6apm>;
205			};
206		};
207
208		wcd-capture-dai-link {
209			link-name = "WCD Capture";
210
211			codec {
212				sound-dai = <&wcd938x 1>, <&swr2 1>,
213					    <&lpass_txmacro 0>;
214			};
215
216			cpu {
217				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
218			};
219
220			platform {
221				sound-dai = <&q6apm>;
222			};
223		};
224
225		wcd-playback-dai-link {
226			link-name = "WCD Playback";
227
228			codec {
229				sound-dai = <&wcd938x 0>, <&swr1 0>,
230					    <&lpass_rxmacro 0>;
231			};
232
233			cpu {
234				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
235			};
236
237			platform {
238				sound-dai = <&q6apm>;
239			};
240		};
241
242		wsa-dai-link {
243			link-name = "WSA Playback";
244
245			codec {
246				sound-dai = <&left_spkr>, <&right_spkr>,
247					    <&swr0 0>, <&lpass_wsamacro 0>;
248			};
249
250			cpu {
251				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
252			};
253
254			platform {
255				sound-dai = <&q6apm>;
256			};
257		};
258	};
259
260	vreg_edp_3p3: regulator-edp-3p3 {
261		compatible = "regulator-fixed";
262
263		regulator-name = "VREG_EDP_3P3";
264		regulator-min-microvolt = <3300000>;
265		regulator-max-microvolt = <3300000>;
266
267		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
268		enable-active-high;
269
270		pinctrl-0 = <&edp_reg_en>;
271		pinctrl-names = "default";
272
273		regulator-boot-on;
274	};
275
276	vreg_misc_3p3: regulator-misc-3p3 {
277		compatible = "regulator-fixed";
278
279		regulator-name = "VREG_MISC_3P3";
280		regulator-min-microvolt = <3300000>;
281		regulator-max-microvolt = <3300000>;
282
283		gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
284		enable-active-high;
285
286		pinctrl-0 = <&misc_3p3_reg_en>;
287		pinctrl-names = "default";
288
289		regulator-boot-on;
290		regulator-always-on;
291	};
292
293	vreg_nvme: regulator-nvme {
294		compatible = "regulator-fixed";
295
296		regulator-name = "VREG_NVME_3P3";
297		regulator-min-microvolt = <3300000>;
298		regulator-max-microvolt = <3300000>;
299
300		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
301		enable-active-high;
302
303		pinctrl-0 = <&nvme_reg_en>;
304		pinctrl-names = "default";
305
306		regulator-boot-on;
307	};
308
309	vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
310		compatible = "regulator-fixed";
311
312		regulator-name = "VREG_RTMR0_1P15";
313		regulator-min-microvolt = <1150000>;
314		regulator-max-microvolt = <1150000>;
315
316		gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
317		enable-active-high;
318
319		pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
320		pinctrl-names = "default";
321
322		regulator-boot-on;
323	};
324
325	vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
326		compatible = "regulator-fixed";
327
328		regulator-name = "VREG_RTMR0_1P8";
329		regulator-min-microvolt = <1800000>;
330		regulator-max-microvolt = <1800000>;
331
332		gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
333		enable-active-high;
334
335		pinctrl-0 = <&usb0_1p8_reg_en>;
336		pinctrl-names = "default";
337
338		regulator-boot-on;
339	};
340
341	vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
342		compatible = "regulator-fixed";
343
344		regulator-name = "VREG_RTMR0_3P3";
345		regulator-min-microvolt = <3300000>;
346		regulator-max-microvolt = <3300000>;
347
348		gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
349		enable-active-high;
350
351		pinctrl-0 = <&usb0_3p3_reg_en>;
352		pinctrl-names = "default";
353
354		regulator-boot-on;
355	};
356
357	vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
358		compatible = "regulator-fixed";
359
360		regulator-name = "VREG_RTMR1_1P15";
361		regulator-min-microvolt = <1150000>;
362		regulator-max-microvolt = <1150000>;
363
364		gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
365		enable-active-high;
366
367		pinctrl-0 = <&usb1_pwr_1p15_reg_en>;
368		pinctrl-names = "default";
369
370		regulator-boot-on;
371	};
372
373	vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
374		compatible = "regulator-fixed";
375
376		regulator-name = "VREG_RTMR1_1P8";
377		regulator-min-microvolt = <1800000>;
378		regulator-max-microvolt = <1800000>;
379
380		gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
381		enable-active-high;
382
383		pinctrl-0 = <&usb1_pwr_1p8_reg_en>;
384		pinctrl-names = "default";
385
386		regulator-boot-on;
387	};
388
389	vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
390		compatible = "regulator-fixed";
391
392		regulator-name = "VREG_RTMR1_3P3";
393		regulator-min-microvolt = <3300000>;
394		regulator-max-microvolt = <3300000>;
395
396		gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
397		enable-active-high;
398
399		pinctrl-0 = <&usb1_pwr_3p3_reg_en>;
400		pinctrl-names = "default";
401
402		regulator-boot-on;
403	};
404
405	vreg_vph_pwr: regulator-vph-pwr {
406		compatible = "regulator-fixed";
407
408		regulator-name = "vph_pwr";
409		regulator-min-microvolt = <3700000>;
410		regulator-max-microvolt = <3700000>;
411
412		regulator-always-on;
413		regulator-boot-on;
414	};
415
416	vreg_wcn_0p95: regulator-wcn-0p95 {
417		compatible = "regulator-fixed";
418
419		regulator-name = "VREG_WCN_0P95";
420		regulator-min-microvolt = <950000>;
421		regulator-max-microvolt = <950000>;
422
423		vin-supply = <&vreg_wcn_3p3>;
424	};
425
426	vreg_wcn_1p9: regulator-wcn-1p9 {
427		compatible = "regulator-fixed";
428
429		regulator-name = "VREG_WCN_1P9";
430		regulator-min-microvolt = <1900000>;
431		regulator-max-microvolt = <1900000>;
432
433		vin-supply = <&vreg_wcn_3p3>;
434	};
435
436	vreg_wcn_3p3: regulator-wcn-3p3 {
437		compatible = "regulator-fixed";
438
439		regulator-name = "VREG_WCN_3P3";
440		regulator-min-microvolt = <3300000>;
441		regulator-max-microvolt = <3300000>;
442
443		gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
444		enable-active-high;
445
446		pinctrl-0 = <&wcn_sw_en>;
447		pinctrl-names = "default";
448
449		regulator-boot-on;
450	};
451};
452
453&apps_rsc {
454	regulators-0 {
455		compatible = "qcom,pm8550-rpmh-regulators";
456		qcom,pmic-id = "b";
457
458		vdd-bob1-supply = <&vreg_vph_pwr>;
459		vdd-bob2-supply = <&vreg_vph_pwr>;
460		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
461		vdd-l2-l13-l14-supply = <&vreg_bob1>;
462		vdd-l5-l16-supply = <&vreg_bob1>;
463		vdd-l6-l7-supply = <&vreg_bob2>;
464		vdd-l8-l9-supply = <&vreg_bob1>;
465		vdd-l12-supply = <&vreg_s5j_1p2>;
466		vdd-l15-supply = <&vreg_s4c_1p8>;
467		vdd-l17-supply = <&vreg_bob2>;
468
469		vreg_bob1: bob1 {
470			regulator-name = "vreg_bob1";
471			regulator-min-microvolt = <3008000>;
472			regulator-max-microvolt = <3960000>;
473			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
474		};
475
476		vreg_bob2: bob2 {
477			regulator-name = "vreg_bob2";
478			regulator-min-microvolt = <2504000>;
479			regulator-max-microvolt = <3008000>;
480			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
481		};
482
483		vreg_l1b_1p8: ldo1 {
484			regulator-name = "vreg_l1b_1p8";
485			regulator-min-microvolt = <1800000>;
486			regulator-max-microvolt = <1800000>;
487			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
488		};
489
490		vreg_l2b_3p0: ldo2 {
491			regulator-name = "vreg_l2b_3p0";
492			regulator-min-microvolt = <3072000>;
493			regulator-max-microvolt = <3072000>;
494			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
495		};
496
497		vreg_l4b_1p8: ldo4 {
498			regulator-name = "vreg_l4b_1p8";
499			regulator-min-microvolt = <1800000>;
500			regulator-max-microvolt = <1800000>;
501			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
502		};
503
504		vreg_l6b_1p8: ldo6 {
505			regulator-name = "vreg_l6b_1p8";
506			regulator-min-microvolt = <1800000>;
507			regulator-max-microvolt = <2960000>;
508			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
509		};
510
511		vreg_l8b_3p0: ldo8 {
512			regulator-name = "vreg_l8b_3p0";
513			regulator-min-microvolt = <3072000>;
514			regulator-max-microvolt = <3072000>;
515			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
516		};
517
518		vreg_l9b_2p9: ldo9 {
519			regulator-name = "vreg_l9b_2p9";
520			regulator-min-microvolt = <2960000>;
521			regulator-max-microvolt = <2960000>;
522			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
523		};
524
525		vreg_l10b_1p8: ldo10 {
526			regulator-name = "vreg_l10b_1p8";
527			regulator-min-microvolt = <1800000>;
528			regulator-max-microvolt = <1800000>;
529			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
530		};
531
532		vreg_l12b_1p2: ldo12 {
533			regulator-name = "vreg_l12b_1p2";
534			regulator-min-microvolt = <1200000>;
535			regulator-max-microvolt = <1200000>;
536			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
537			regulator-always-on;
538		};
539
540		vreg_l13b_3p0: ldo13 {
541			regulator-name = "vreg_l13b_3p0";
542			regulator-min-microvolt = <3072000>;
543			regulator-max-microvolt = <3072000>;
544			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
545		};
546
547		vreg_l14b_3p0: ldo14 {
548			regulator-name = "vreg_l14b_3p0";
549			regulator-min-microvolt = <3072000>;
550			regulator-max-microvolt = <3072000>;
551			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
552		};
553
554		vreg_l15b_1p8: ldo15 {
555			regulator-name = "vreg_l15b_1p8";
556			regulator-min-microvolt = <1800000>;
557			regulator-max-microvolt = <1800000>;
558			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
559			regulator-always-on;
560		};
561
562		vreg_l17b_2p5: ldo17 {
563			regulator-name = "vreg_l17b_2p5";
564			regulator-min-microvolt = <2504000>;
565			regulator-max-microvolt = <2504000>;
566			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
567		};
568	};
569
570	regulators-1 {
571		compatible = "qcom,pm8550ve-rpmh-regulators";
572		qcom,pmic-id = "c";
573
574		vdd-l1-supply = <&vreg_s5j_1p2>;
575		vdd-l2-supply = <&vreg_s1f_0p7>;
576		vdd-l3-supply = <&vreg_s1f_0p7>;
577		vdd-s4-supply = <&vreg_vph_pwr>;
578
579		vreg_s4c_1p8: smps4 {
580			regulator-name = "vreg_s4c_1p8";
581			regulator-min-microvolt = <1856000>;
582			regulator-max-microvolt = <2000000>;
583			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
584		};
585
586		vreg_l1c_1p2: ldo1 {
587			regulator-name = "vreg_l1c_1p2";
588			regulator-min-microvolt = <1200000>;
589			regulator-max-microvolt = <1200000>;
590			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
591		};
592
593		vreg_l2c_0p8: ldo2 {
594			regulator-name = "vreg_l2c_0p8";
595			regulator-min-microvolt = <880000>;
596			regulator-max-microvolt = <880000>;
597			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
598		};
599
600		vreg_l3c_0p9: ldo3 {
601			regulator-name = "vreg_l3c_0p9";
602			regulator-min-microvolt = <912000>;
603			regulator-max-microvolt = <912000>;
604			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
605		};
606	};
607
608	regulators-2 {
609		compatible = "qcom,pmc8380-rpmh-regulators";
610		qcom,pmic-id = "d";
611
612		vdd-l1-supply = <&vreg_s1f_0p7>;
613		vdd-l2-supply = <&vreg_s1f_0p7>;
614		vdd-l3-supply = <&vreg_s4c_1p8>;
615		vdd-s1-supply = <&vreg_vph_pwr>;
616
617		vreg_l1d_0p8: ldo1 {
618			regulator-name = "vreg_l1d_0p8";
619			regulator-min-microvolt = <880000>;
620			regulator-max-microvolt = <880000>;
621			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
622		};
623
624		vreg_l2d_0p9: ldo2 {
625			regulator-name = "vreg_l2d_0p9";
626			regulator-min-microvolt = <912000>;
627			regulator-max-microvolt = <912000>;
628			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
629		};
630
631		vreg_l3d_1p8: ldo3 {
632			regulator-name = "vreg_l3d_1p8";
633			regulator-min-microvolt = <1800000>;
634			regulator-max-microvolt = <1800000>;
635			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
636		};
637	};
638
639	regulators-3 {
640		compatible = "qcom,pmc8380-rpmh-regulators";
641		qcom,pmic-id = "e";
642
643		vdd-l2-supply = <&vreg_s1f_0p7>;
644		vdd-l3-supply = <&vreg_s5j_1p2>;
645
646		vreg_l2e_0p8: ldo2 {
647			regulator-name = "vreg_l2e_0p8";
648			regulator-min-microvolt = <880000>;
649			regulator-max-microvolt = <880000>;
650			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
651		};
652
653		vreg_l3e_1p2: ldo3 {
654			regulator-name = "vreg_l3e_1p2";
655			regulator-min-microvolt = <1200000>;
656			regulator-max-microvolt = <1200000>;
657			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
658		};
659	};
660
661	regulators-4 {
662		compatible = "qcom,pmc8380-rpmh-regulators";
663		qcom,pmic-id = "f";
664
665		vdd-l1-supply = <&vreg_s5j_1p2>;
666		vdd-l2-supply = <&vreg_s5j_1p2>;
667		vdd-l3-supply = <&vreg_s5j_1p2>;
668		vdd-s1-supply = <&vreg_vph_pwr>;
669
670		vreg_s1f_0p7: smps1 {
671			regulator-name = "vreg_s1f_0p7";
672			regulator-min-microvolt = <700000>;
673			regulator-max-microvolt = <1100000>;
674			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
675		};
676	};
677
678	regulators-6 {
679		compatible = "qcom,pm8550ve-rpmh-regulators";
680		qcom,pmic-id = "i";
681
682		vdd-l1-supply = <&vreg_s4c_1p8>;
683		vdd-l2-supply = <&vreg_s5j_1p2>;
684		vdd-l3-supply = <&vreg_s1f_0p7>;
685		vdd-s1-supply = <&vreg_vph_pwr>;
686		vdd-s2-supply = <&vreg_vph_pwr>;
687
688		vreg_s1i_0p9: smps1 {
689			regulator-name = "vreg_s1i_0p9";
690			regulator-min-microvolt = <900000>;
691			regulator-max-microvolt = <920000>;
692			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
693		};
694
695		vreg_s2i_1p0: smps2 {
696			regulator-name = "vreg_s2i_1p0";
697			regulator-min-microvolt = <1000000>;
698			regulator-max-microvolt = <1100000>;
699			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
700		};
701
702		vreg_l1i_1p8: ldo1 {
703			regulator-name = "vreg_l1i_1p8";
704			regulator-min-microvolt = <1800000>;
705			regulator-max-microvolt = <1800000>;
706			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
707		};
708
709		vreg_l2i_1p2: ldo2 {
710			regulator-name = "vreg_l2i_1p2";
711			regulator-min-microvolt = <1200000>;
712			regulator-max-microvolt = <1200000>;
713			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
714		};
715
716		vreg_l3i_0p8: ldo3 {
717			regulator-name = "vreg_l3i_0p8";
718			regulator-min-microvolt = <880000>;
719			regulator-max-microvolt = <880000>;
720			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
721		};
722	};
723
724	regulators-7 {
725		compatible = "qcom,pm8550ve-rpmh-regulators";
726		qcom,pmic-id = "j";
727
728		vdd-l1-supply = <&vreg_s1f_0p7>;
729		vdd-l2-supply = <&vreg_s5j_1p2>;
730		vdd-l3-supply = <&vreg_s1f_0p7>;
731		vdd-s5-supply = <&vreg_vph_pwr>;
732
733		vreg_s5j_1p2: smps5 {
734			regulator-name = "vreg_s5j_1p2";
735			regulator-min-microvolt = <1256000>;
736			regulator-max-microvolt = <1304000>;
737			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
738		};
739
740		vreg_l1j_0p9: ldo1 {
741			regulator-name = "vreg_l1j_0p9";
742			regulator-min-microvolt = <912000>;
743			regulator-max-microvolt = <912000>;
744			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
745		};
746
747		vreg_l2j_1p2: ldo2 {
748			regulator-name = "vreg_l2j_1p2";
749			regulator-min-microvolt = <1256000>;
750			regulator-max-microvolt = <1256000>;
751			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
752		};
753
754		vreg_l3j_0p8: ldo3 {
755			regulator-name = "vreg_l3j_0p8";
756			regulator-min-microvolt = <880000>;
757			regulator-max-microvolt = <880000>;
758			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
759		};
760	};
761};
762
763&i2c0 {
764	clock-frequency = <400000>;
765
766	status = "okay";
767
768	/* ELAN, 04F3:3315 */
769	touchpad@15 {
770		compatible = "hid-over-i2c";
771		reg = <0x15>;
772
773		hid-descr-addr = <0x1>;
774		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
775
776		pinctrl-0 = <&tpad_default>;
777		pinctrl-names = "default";
778
779		wakeup-source;
780	};
781};
782
783&i2c3 {
784	clock-frequency = <400000>;
785
786	status = "okay";
787
788	/* Left-side display-adjacent port */
789	typec-mux@8 {
790		compatible = "parade,ps8833", "parade,ps8830";
791		reg = <0x08>;
792
793		clocks = <&rpmhcc RPMH_RF_CLK3>;
794
795		vdd-supply = <&vreg_rtmr0_1p15>;
796		vdd33-supply = <&vreg_rtmr0_3p3>;
797		vdd33-cap-supply = <&vreg_rtmr0_3p3>;
798		vddar-supply = <&vreg_rtmr0_1p15>;
799		vddat-supply = <&vreg_rtmr0_1p15>;
800		vddio-supply = <&vreg_rtmr0_1p8>;
801
802		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
803
804		pinctrl-0 = <&rtmr0_default>;
805		pinctrl-names = "default";
806
807		retimer-switch;
808		orientation-switch;
809
810		ports {
811			#address-cells = <1>;
812			#size-cells = <0>;
813
814			port@0 {
815				reg = <0>;
816
817				retimer_ss0_ss_out: endpoint {
818					remote-endpoint = <&pmic_glink_ss0_ss_in>;
819				};
820			};
821
822			port@1 {
823				reg = <1>;
824
825				retimer_ss0_ss_in: endpoint {
826					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
827				};
828			};
829
830			port@2 {
831				reg = <2>;
832
833				retimer_ss0_con_sbu_out: endpoint {
834					remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
835				};
836			};
837		};
838	};
839};
840
841&i2c4 {
842	clock-frequency = <400000>;
843
844	status = "okay";
845
846	/* ASUSTeK, 0B05:4543 */
847	hdtl@17 {
848		compatible = "hid-over-i2c";
849		reg = <0x17>;
850
851		hid-descr-addr = <0x1>;
852		interrupts-extended = <&tlmm 95 IRQ_TYPE_LEVEL_LOW>;
853
854		pinctrl-0 = <&hdtl_default>;
855		pinctrl-names = "default";
856
857		wakeup-source;
858	};
859};
860
861&i2c5 {
862	clock-frequency = <400000>;
863
864	status = "okay";
865
866	eusb6_repeater: redriver@4f {
867		compatible = "nxp,ptn3222";
868		reg = <0x4f>;
869		#phy-cells = <0>;
870
871		vdd3v3-supply = <&vreg_l13b_3p0>;
872		vdd1v8-supply = <&vreg_l4b_1p8>;
873
874		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
875
876		pinctrl-0 = <&eusb6_reset_n>;
877		pinctrl-names = "default";
878	};
879
880	/* EC @0x5b */
881};
882
883&i2c7 {
884	clock-frequency = <400000>;
885
886	status = "okay";
887
888	/* Left-side user-adjacent port */
889	typec-mux@8 {
890		compatible = "parade,ps8833", "parade,ps8830";
891		reg = <0x08>;
892
893		clocks = <&rpmhcc RPMH_RF_CLK4>;
894
895		vdd-supply = <&vreg_rtmr1_1p15>;
896		vdd33-supply = <&vreg_rtmr1_3p3>;
897		vdd33-cap-supply = <&vreg_rtmr1_3p3>;
898		vddar-supply = <&vreg_rtmr1_1p15>;
899		vddat-supply = <&vreg_rtmr1_1p15>;
900		vddio-supply = <&vreg_rtmr1_1p8>;
901
902		reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
903
904		pinctrl-0 = <&rtmr1_default>;
905		pinctrl-names = "default";
906
907		retimer-switch;
908		orientation-switch;
909
910		ports {
911			#address-cells = <1>;
912			#size-cells = <0>;
913
914			port@0 {
915				reg = <0>;
916
917				retimer_ss1_ss_out: endpoint {
918					remote-endpoint = <&pmic_glink_ss1_ss_in>;
919				};
920			};
921
922			port@1 {
923				reg = <1>;
924
925				retimer_ss1_ss_in: endpoint {
926					remote-endpoint = <&usb_1_ss1_qmpphy_out>;
927				};
928			};
929
930			port@2 {
931				reg = <2>;
932
933				retimer_ss1_con_sbu_out: endpoint {
934					remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
935				};
936			};
937		};
938	};
939};
940
941&i2c8 {
942	clock-frequency = <400000>;
943
944	status = "okay";
945
946	/* ASUSTeK, 0B05:0220 */
947	keyboard@15 {
948		compatible = "hid-over-i2c";
949		reg = <0x15>;
950
951		hid-descr-addr = <0x1>;
952		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
953
954		pinctrl-0 = <&kybd_default>;
955		pinctrl-names = "default";
956
957		wakeup-source;
958	};
959};
960
961&lpass_tlmm {
962	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
963		pins = "gpio12";
964		function = "gpio";
965		drive-strength = <16>;
966		bias-disable;
967		output-low;
968	};
969};
970
971&lpass_vamacro {
972	pinctrl-0 = <&dmic01_default>;
973	pinctrl-names = "default";
974
975	vdd-micb-supply = <&vreg_l1b_1p8>;
976	qcom,dmic-sample-rate = <4800000>;
977};
978
979&mdss {
980	status = "okay";
981};
982
983&mdss_dp0 {
984	status = "okay";
985};
986
987&mdss_dp0_out {
988	data-lanes = <0 1>;
989	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
990};
991
992&mdss_dp1 {
993	status = "okay";
994};
995
996&mdss_dp1_out {
997	data-lanes = <0 1>;
998	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
999};
1000
1001&mdss_dp3 {
1002	/delete-property/ #sound-dai-cells;
1003
1004	status = "okay";
1005
1006	aux-bus {
1007		panel {
1008			compatible = "edp-panel";
1009			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
1010			power-supply = <&vreg_edp_3p3>;
1011
1012			pinctrl-0 = <&edp_bl_en>;
1013			pinctrl-names = "default";
1014
1015			port {
1016				edp_panel_in: endpoint {
1017					remote-endpoint = <&mdss_dp3_out>;
1018				};
1019			};
1020		};
1021	};
1022
1023	ports {
1024		port@1 {
1025			reg = <1>;
1026
1027			mdss_dp3_out: endpoint {
1028				data-lanes = <0 1 2 3>;
1029				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
1030
1031				remote-endpoint = <&edp_panel_in>;
1032			};
1033		};
1034	};
1035};
1036
1037&mdss_dp3_phy {
1038	vdda-phy-supply = <&vreg_l3j_0p8>;
1039	vdda-pll-supply = <&vreg_l2j_1p2>;
1040
1041	status = "okay";
1042};
1043
1044&pcie4 {
1045	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
1046	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
1047
1048	pinctrl-0 = <&pcie4_default>;
1049	pinctrl-names = "default";
1050
1051	status = "okay";
1052};
1053
1054&pcie4_phy {
1055	vdda-phy-supply = <&vreg_l3i_0p8>;
1056	vdda-pll-supply = <&vreg_l3e_1p2>;
1057
1058	status = "okay";
1059};
1060
1061&pcie6a {
1062	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
1063	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
1064
1065	vddpe-3v3-supply = <&vreg_nvme>;
1066
1067	pinctrl-0 = <&pcie6a_default>;
1068	pinctrl-names = "default";
1069
1070	status = "okay";
1071};
1072
1073&pcie6a_phy {
1074	vdda-phy-supply = <&vreg_l1d_0p8>;
1075	vdda-pll-supply = <&vreg_l2j_1p2>;
1076
1077	status = "okay";
1078};
1079
1080&pm8550_gpios {
1081	rtmr0_default: rtmr0-reset-n-active-state {
1082		pins = "gpio10";
1083		function = "normal";
1084		power-source = <1>;
1085		bias-disable;
1086		input-disable;
1087		output-enable;
1088	};
1089
1090	usb0_3p3_reg_en: usb0-3p3-reg-en-state {
1091		pins = "gpio11";
1092		function = "normal";
1093		power-source = <1>;
1094		bias-disable;
1095		input-disable;
1096		output-enable;
1097	};
1098};
1099
1100&pm8550ve_8_gpios {
1101	misc_3p3_reg_en: misc-3p3-reg-en-state {
1102		pins = "gpio6";
1103		function = "normal";
1104		power-source = <1>;
1105		bias-disable;
1106		input-disable;
1107		output-enable;
1108		drive-push-pull;
1109		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
1110	};
1111};
1112
1113&pm8550ve_9_gpios {
1114	usb0_1p8_reg_en: usb0-1p8-reg-en-state {
1115		pins = "gpio8";
1116		function = "normal";
1117		power-source = <1>;
1118		bias-disable;
1119		input-disable;
1120		output-enable;
1121	};
1122};
1123
1124&pmc8380_3_gpios {
1125	edp_bl_en: edp-bl-en-state {
1126		pins = "gpio4";
1127		function = "normal";
1128		power-source = <1>;
1129		input-disable;
1130		output-enable;
1131	};
1132};
1133
1134&pmc8380_5_gpios {
1135	usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
1136		pins = "gpio8";
1137		function = "normal";
1138		power-source = <1>;
1139		bias-disable;
1140		input-disable;
1141		output-enable;
1142	};
1143};
1144
1145&qupv3_0 {
1146	status = "okay";
1147};
1148
1149&qupv3_1 {
1150	status = "okay";
1151};
1152
1153&qupv3_2 {
1154	status = "okay";
1155};
1156
1157&smb2360_0 {
1158	status = "okay";
1159};
1160
1161&smb2360_0_eusb2_repeater {
1162	vdd18-supply = <&vreg_l3d_1p8>;
1163	vdd3-supply = <&vreg_l2b_3p0>;
1164};
1165
1166&smb2360_1 {
1167	status = "okay";
1168};
1169
1170&smb2360_1_eusb2_repeater {
1171	vdd18-supply = <&vreg_l3d_1p8>;
1172	vdd3-supply = <&vreg_l14b_3p0>;
1173};
1174
1175&spi10 {
1176	status = "disabled";
1177
1178	/* Unknown device */
1179};
1180
1181&swr0 {
1182	status = "okay";
1183
1184	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
1185	pinctrl-names = "default";
1186
1187	/* WSA8845, Left Speaker */
1188	left_spkr: speaker@0,0 {
1189		compatible = "sdw20217020400";
1190		reg = <0 0>;
1191		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1192		#sound-dai-cells = <0>;
1193		sound-name-prefix = "SpkrLeft";
1194		vdd-1p8-supply = <&vreg_l15b_1p8>;
1195		vdd-io-supply = <&vreg_l12b_1p2>;
1196		qcom,port-mapping = <1 2 3 7 10 13>;
1197	};
1198
1199	/* WSA8845, Right Speaker */
1200	right_spkr: speaker@0,1 {
1201		compatible = "sdw20217020400";
1202		reg = <0 1>;
1203		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1204		#sound-dai-cells = <0>;
1205		sound-name-prefix = "SpkrRight";
1206		vdd-1p8-supply = <&vreg_l15b_1p8>;
1207		vdd-io-supply = <&vreg_l12b_1p2>;
1208		qcom,port-mapping = <4 5 6 7 11 13>;
1209	};
1210};
1211
1212&swr1 {
1213	status = "okay";
1214
1215	/* WCD9385 RX */
1216	wcd_rx: codec@0,4 {
1217		compatible = "sdw20217010d00";
1218		reg = <0 4>;
1219		qcom,rx-port-mapping = <1 2 3 4 5>;
1220	};
1221};
1222
1223&swr2 {
1224	status = "okay";
1225
1226	/* WCD9385 TX */
1227	wcd_tx: codec@0,3 {
1228		compatible = "sdw20217010d00";
1229		reg = <0 3>;
1230		qcom,tx-port-mapping = <2 2 3 4>;
1231	};
1232};
1233
1234&tlmm {
1235	gpio-reserved-ranges = <44 4>,  /* SPI11, TZ Protected */
1236			       <90 1>;	/* Unknown, TZ Protected */
1237
1238	cam_indicator_en: cam-indicator-en-state {
1239		pins = "gpio110";
1240		function = "gpio";
1241		drive-strength = <2>;
1242		bias-disable;
1243	};
1244
1245	edp_reg_en: edp-reg-en-state {
1246		pins = "gpio70";
1247		function = "gpio";
1248		drive-strength = <16>;
1249		bias-disable;
1250	};
1251
1252	eusb6_reset_n: eusb6-reset-n-state {
1253		pins = "gpio184";
1254		function = "gpio";
1255		drive-strength = <2>;
1256		bias-disable;
1257		output-low;
1258	};
1259
1260	hall_int_n_default: hall-int-n-state {
1261		pins = "gpio92";
1262		function = "gpio";
1263		bias-disable;
1264	};
1265
1266	hdtl_default: hdtl-default-state {
1267		pins = "gpio95";
1268		function = "gpio";
1269	};
1270
1271	kybd_default: kybd-default-state {
1272		pins = "gpio67";
1273		function = "gpio";
1274		bias-pull-up;
1275	};
1276
1277	nvme_reg_en: nvme-reg-en-state {
1278		pins = "gpio18";
1279		function = "gpio";
1280		drive-strength = <2>;
1281		bias-disable;
1282	};
1283
1284	pcie4_default: pcie4-default-state {
1285		clkreq-n-pins {
1286			pins = "gpio147";
1287			function = "pcie4_clk";
1288			drive-strength = <2>;
1289			bias-pull-up;
1290		};
1291
1292		perst-n-pins {
1293			pins = "gpio146";
1294			function = "gpio";
1295			drive-strength = <2>;
1296			bias-disable;
1297		};
1298
1299		wake-n-pins {
1300			pins = "gpio148";
1301			function = "gpio";
1302			drive-strength = <2>;
1303			bias-pull-up;
1304		};
1305	};
1306
1307	pcie6a_default: pcie6a-default-state {
1308		clkreq-n-pins {
1309			pins = "gpio153";
1310			function = "pcie6a_clk";
1311			drive-strength = <2>;
1312			bias-pull-up;
1313		};
1314
1315		perst-n-pins {
1316			pins = "gpio152";
1317			function = "gpio";
1318			drive-strength = <2>;
1319			bias-disable;
1320		};
1321
1322		wake-n-pins {
1323			pins = "gpio154";
1324			function = "gpio";
1325			drive-strength = <2>;
1326			bias-pull-up;
1327		};
1328	};
1329
1330	rtmr1_default: rtmr1-reset-n-active-state {
1331		pins = "gpio176";
1332		function = "gpio";
1333		drive-strength = <2>;
1334		bias-disable;
1335	};
1336
1337	tpad_default: tpad-default-state {
1338		pins = "gpio3";
1339		function = "gpio";
1340		bias-disable;
1341	};
1342
1343	usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
1344		pins = "gpio188";
1345		function = "gpio";
1346		drive-strength = <2>;
1347		bias-disable;
1348	};
1349
1350	usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
1351		pins = "gpio175";
1352		function = "gpio";
1353		drive-strength = <2>;
1354		bias-disable;
1355	};
1356
1357	usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
1358		pins = "gpio186";
1359		function = "gpio";
1360		drive-strength = <2>;
1361		bias-disable;
1362	};
1363
1364	wcd_default: wcd-reset-n-active-state {
1365		pins = "gpio191";
1366		function = "gpio";
1367		drive-strength = <16>;
1368		bias-disable;
1369		output-low;
1370	};
1371
1372	wcn_bt_en: wcn-bt-en-state {
1373		pins = "gpio116";
1374		function = "gpio";
1375		drive-strength = <16>;
1376		bias-disable;
1377	};
1378
1379	wcn_sw_en: wcn-sw-en-state {
1380		pins = "gpio214";
1381		function = "gpio";
1382		drive-strength = <2>;
1383		bias-disable;
1384	};
1385
1386	wcn_wlan_en: wcn-wlan-en-state {
1387		pins = "gpio117";
1388		function = "gpio";
1389		drive-strength = <8>;
1390		bias-disable;
1391	};
1392};
1393
1394&uart21 {
1395	compatible = "qcom,geni-debug-uart";
1396
1397	status = "okay";
1398};
1399
1400&usb_1_ss0_hsphy {
1401	vdd-supply = <&vreg_l3j_0p8>;
1402	vdda12-supply = <&vreg_l2j_1p2>;
1403
1404	phys = <&smb2360_0_eusb2_repeater>;
1405
1406	status = "okay";
1407};
1408
1409&usb_1_ss0_qmpphy {
1410	vdda-phy-supply = <&vreg_l2j_1p2>;
1411	vdda-pll-supply = <&vreg_l1j_0p9>;
1412
1413	status = "okay";
1414};
1415
1416&usb_1_ss0 {
1417	status = "okay";
1418};
1419
1420&usb_1_ss0_dwc3 {
1421	dr_mode = "host";
1422};
1423
1424&usb_1_ss0_dwc3_hs {
1425	remote-endpoint = <&pmic_glink_ss0_hs_in>;
1426};
1427
1428&usb_1_ss0_qmpphy_out {
1429	remote-endpoint = <&retimer_ss0_ss_in>;
1430};
1431
1432&usb_1_ss1_hsphy {
1433	vdd-supply = <&vreg_l3j_0p8>;
1434	vdda12-supply = <&vreg_l2j_1p2>;
1435
1436	phys = <&smb2360_1_eusb2_repeater>;
1437
1438	status = "okay";
1439};
1440
1441&usb_1_ss1_qmpphy {
1442	vdda-phy-supply = <&vreg_l2j_1p2>;
1443	vdda-pll-supply = <&vreg_l2d_0p9>;
1444
1445	status = "okay";
1446};
1447
1448&usb_1_ss1 {
1449	status = "okay";
1450};
1451
1452&usb_1_ss1_dwc3 {
1453	dr_mode = "host";
1454};
1455
1456&usb_1_ss1_dwc3_hs {
1457	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1458};
1459
1460&usb_1_ss1_qmpphy_out {
1461	remote-endpoint = <&retimer_ss1_ss_in>;
1462};
1463
1464&usb_mp {
1465	status = "okay";
1466};
1467
1468&usb_mp_hsphy0 {
1469	vdd-supply = <&vreg_l2e_0p8>;
1470	vdda12-supply = <&vreg_l3e_1p2>;
1471
1472	status = "okay";
1473};
1474
1475&usb_mp_hsphy1 {
1476	vdd-supply = <&vreg_l2e_0p8>;
1477	vdda12-supply = <&vreg_l3e_1p2>;
1478
1479	phys = <&eusb6_repeater>;
1480
1481	status = "okay";
1482};
1483
1484&usb_mp_qmpphy0 {
1485	vdda-phy-supply = <&vreg_l3e_1p2>;
1486	vdda-pll-supply = <&vreg_l3c_0p9>;
1487
1488	status = "okay";
1489};
1490
1491&usb_mp_qmpphy1 {
1492	vdda-phy-supply = <&vreg_l3e_1p2>;
1493	vdda-pll-supply = <&vreg_l3c_0p9>;
1494
1495	status = "okay";
1496};
1497