xref: /linux/arch/arm64/boot/dts/qcom/x1e80100-honor-magicbook-art-14.dts (revision cbe8aadf1551f3f4a853f24b3b96d9f0eea49c53)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4 * Copyright (c) 2025 Kirill A. Korinsky <kirill@korins.ky>
5 * Copyright (c) 2025 Valentin Manea <valentin.manea@mrs.ro>
6 * Copyright (c) 2026 Konstantin Shabanov <mail@etehtsea.me>
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/gpio-keys.h>
13#include <dt-bindings/input/input.h>
14#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
15#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
16
17#include "hamoa.dtsi"
18#include "hamoa-pmics.dtsi"
19
20/ {
21	model = "HONOR MagicBook Art 14 Snapdragon";
22	compatible = "honor,magicbook-art-14-snapdragon", "qcom,x1e80100";
23	chassis-type = "laptop";
24
25	aliases {
26		serial0 = &uart21;
27		serial1 = &uart14;
28	};
29
30	gpio-keys {
31		compatible = "gpio-keys";
32
33		pinctrl-0 = <&hall_int_n_default>;
34		pinctrl-names = "default";
35
36		switch-lid {
37			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
38			linux,input-type = <EV_SW>;
39			linux,code = <SW_LID>;
40			wakeup-source;
41			wakeup-event-action = <EV_ACT_DEASSERTED>;
42		};
43	};
44
45	hdmi-bridge {
46		compatible = "realtek,rtd2171";
47
48		pinctrl-0 = <&hdmi_hpd_default>;
49		pinctrl-names = "default";
50
51		ports {
52			#address-cells = <1>;
53			#size-cells = <0>;
54
55			port@0 {
56				reg = <0>;
57
58				hdmi_bridge_dp_in: endpoint {
59					remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
60				};
61			};
62
63			port@1 {
64				reg = <1>;
65
66				hdmi_bridge_tmds_out: endpoint {
67					remote-endpoint = <&hdmi_con>;
68				};
69			};
70		};
71	};
72
73	hdmi-connector {
74		compatible = "hdmi-connector";
75		type = "a";
76
77		port {
78			hdmi_con: endpoint {
79				remote-endpoint = <&hdmi_bridge_tmds_out>;
80			};
81		};
82	};
83
84	pmic-glink {
85		compatible = "qcom,x1e80100-pmic-glink",
86			     "qcom,sm8550-pmic-glink",
87			     "qcom,pmic-glink";
88		#address-cells = <1>;
89		#size-cells = <0>;
90		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
91				    <&tlmm 123 GPIO_ACTIVE_HIGH>;
92
93		/* Left-side port, closer to the screen */
94		connector@0 {
95			compatible = "usb-c-connector";
96			reg = <0>;
97			power-role = "dual";
98			data-role = "dual";
99
100			ports {
101				#address-cells = <1>;
102				#size-cells = <0>;
103
104				port@0 {
105					reg = <0>;
106
107					pmic_glink_ss0_hs_in: endpoint {
108						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
109					};
110				};
111
112				port@1 {
113					reg = <1>;
114
115					pmic_glink_ss0_ss_in: endpoint {
116						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
117					};
118				};
119			};
120		};
121
122		/* Left-side port, farther from the screen */
123		connector@1 {
124			compatible = "usb-c-connector";
125			reg = <1>;
126			power-role = "dual";
127			data-role = "dual";
128
129			ports {
130				#address-cells = <1>;
131				#size-cells = <0>;
132
133				port@0 {
134					reg = <0>;
135
136					pmic_glink_ss1_hs_in: endpoint {
137						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
138					};
139				};
140
141				port@1 {
142					reg = <1>;
143
144					pmic_glink_ss1_ss_in: endpoint {
145						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
146					};
147				};
148			};
149		};
150	};
151
152	reserved-memory {
153		linux,cma {
154			compatible = "shared-dma-pool";
155			size = <0x0 0x8000000>;
156			reusable;
157			linux,cma-default;
158		};
159	};
160
161	sound {
162		compatible = "qcom,x1e80100-sndcard";
163		model = "X1E80100-HONOR-MagicBook-Art-14-Snapdragon";
164		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
165				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
166				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
167				"TweeterRight IN", "WSA2 WSA_SPK2 OUT",
168				"IN1_HPHL", "HPHL_OUT",
169				"IN2_HPHR", "HPHR_OUT",
170				"AMIC2", "MIC BIAS2",
171				"VA DMIC0", "MIC BIAS3",
172				"VA DMIC1", "MIC BIAS3",
173				"VA DMIC2", "MIC BIAS1",
174				"VA DMIC3", "MIC BIAS1",
175				"TX SWR_INPUT1", "ADC2_OUTPUT";
176
177		wcd-playback-dai-link {
178			link-name = "WCD Playback";
179
180			codec {
181				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
182			};
183
184			cpu {
185				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
186			};
187
188			platform {
189				sound-dai = <&q6apm>;
190			};
191		};
192
193		wcd-capture-dai-link {
194			link-name = "WCD Capture";
195
196			codec {
197				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
198			};
199
200			cpu {
201				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
202			};
203
204			platform {
205				sound-dai = <&q6apm>;
206			};
207		};
208
209		wsa-dai-link {
210			link-name = "WSA Playback";
211
212			codec {
213				sound-dai = <&left_woofer>, <&left_tweeter>,
214					    <&swr0 0>, <&lpass_wsamacro 0>,
215					    <&right_woofer>, <&right_tweeter>,
216					    <&swr3 0>, <&lpass_wsa2macro 0>;
217			};
218
219			cpu {
220				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
221			};
222
223			platform {
224				sound-dai = <&q6apm>;
225			};
226		};
227
228		va-dai-link {
229			link-name = "VA Capture";
230
231			codec {
232				sound-dai = <&lpass_vamacro 0>;
233			};
234
235			cpu {
236				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
237			};
238
239			platform {
240				sound-dai = <&q6apm>;
241			};
242		};
243	};
244
245	vreg_misc_3p3: regulator-misc-3p3 {
246		compatible = "regulator-fixed";
247
248		regulator-name = "VREG_MISC_3P3";
249		regulator-min-microvolt = <3300000>;
250		regulator-max-microvolt = <3300000>;
251
252		gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
253		enable-active-high;
254
255		pinctrl-0 = <&misc_3p3_reg_en>;
256		pinctrl-names = "default";
257
258		regulator-boot-on;
259		regulator-always-on;
260	};
261
262	vph_pwr: regulator-vph-pwr {
263		compatible = "regulator-fixed";
264
265		regulator-name = "vph_pwr";
266		regulator-min-microvolt = <3700000>;
267		regulator-max-microvolt = <3700000>;
268
269		regulator-always-on;
270		regulator-boot-on;
271	};
272
273	vreg_wcn_0p95: regulator-wcn-0p95 {
274		compatible = "regulator-fixed";
275
276		regulator-name = "VREG_WCN_0P95";
277		regulator-min-microvolt = <950000>;
278		regulator-max-microvolt = <950000>;
279
280		vin-supply = <&vreg_wcn_3p3>;
281	};
282
283	vreg_wcn_1p9: regulator-wcn-1p9 {
284		compatible = "regulator-fixed";
285
286		regulator-name = "VREG_WCN_1P9";
287		regulator-min-microvolt = <1900000>;
288		regulator-max-microvolt = <1900000>;
289
290		vin-supply = <&vreg_wcn_3p3>;
291	};
292
293	vreg_wcn_3p3: regulator-wcn-3p3 {
294		compatible = "regulator-fixed";
295
296		regulator-name = "VREG_WCN_3P3";
297		regulator-min-microvolt = <3300000>;
298		regulator-max-microvolt = <3300000>;
299
300		gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
301		enable-active-high;
302
303		pinctrl-0 = <&wcn_sw_en>;
304		pinctrl-names = "default";
305
306		regulator-boot-on;
307	};
308
309	wcd938x: audio-codec {
310		compatible = "qcom,wcd9385-codec";
311
312		pinctrl-0 = <&wcd_default>;
313		pinctrl-names = "default";
314
315		qcom,micbias1-microvolt = <1800000>;
316		qcom,micbias2-microvolt = <1800000>;
317		qcom,micbias3-microvolt = <1800000>;
318		qcom,micbias4-microvolt = <1800000>;
319		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
320		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
321		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
322		qcom,rx-device = <&wcd_rx>;
323		qcom,tx-device = <&wcd_tx>;
324
325		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
326
327		vdd-buck-supply = <&vreg_l15b_1p8>;
328		vdd-rxtx-supply = <&vreg_l15b_1p8>;
329		vdd-io-supply = <&vreg_l15b_1p8>;
330		vdd-mic-bias-supply = <&vreg_bob1>;
331
332		#sound-dai-cells = <1>;
333	};
334
335	wcn7850-pmu {
336		compatible = "qcom,wcn7850-pmu";
337
338		wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
339		bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
340
341		pinctrl-0 = <&wcn_wlan_bt_en>;
342		pinctrl-names = "default";
343
344		vdd-supply = <&vreg_wcn_0p95>;
345		vddio-supply = <&vreg_l15b_1p8>;
346		vddaon-supply = <&vreg_wcn_0p95>;
347		vdddig-supply = <&vreg_wcn_0p95>;
348		vddrfa1p2-supply = <&vreg_wcn_1p9>;
349		vddrfa1p8-supply = <&vreg_wcn_1p9>;
350
351		regulators {
352			vreg_pmu_rfa_cmn: ldo0 {
353				regulator-name = "vreg_pmu_rfa_cmn";
354			};
355
356			vreg_pmu_aon_0p59: ldo1 {
357				regulator-name = "vreg_pmu_aon_0p59";
358			};
359
360			vreg_pmu_wlcx_0p8: ldo2 {
361				regulator-name = "vreg_pmu_wlcx_0p8";
362			};
363
364			vreg_pmu_wlmx_0p85: ldo3 {
365				regulator-name = "vreg_pmu_wlmx_0p85";
366			};
367
368			vreg_pmu_btcmx_0p85: ldo4 {
369				regulator-name = "vreg_pmu_btcmx_0p85";
370			};
371
372			vreg_pmu_rfa_0p8: ldo5 {
373				regulator-name = "vreg_pmu_rfa_0p8";
374			};
375
376			vreg_pmu_rfa_1p2: ldo6 {
377				regulator-name = "vreg_pmu_rfa_1p2";
378			};
379
380			vreg_pmu_rfa_1p8: ldo7 {
381				regulator-name = "vreg_pmu_rfa_1p8";
382			};
383
384			vreg_pmu_pcie_0p9: ldo8 {
385				regulator-name = "vreg_pmu_pcie_0p9";
386			};
387
388			vreg_pmu_pcie_1p8: ldo9 {
389				regulator-name = "vreg_pmu_pcie_1p8";
390			};
391		};
392	};
393};
394
395&apps_rsc {
396	regulators-0 {
397		compatible = "qcom,pm8550-rpmh-regulators";
398		qcom,pmic-id = "b";
399
400		vdd-bob1-supply = <&vph_pwr>;
401		vdd-bob2-supply = <&vph_pwr>;
402		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
403		vdd-l2-l13-l14-supply = <&vreg_bob1>;
404		vdd-l5-l16-supply = <&vreg_bob1>;
405		vdd-l6-l7-supply = <&vreg_bob2>;
406		vdd-l8-l9-supply = <&vreg_bob1>;
407		vdd-l12-supply = <&vreg_s5j_1p2>;
408		vdd-l15-supply = <&vreg_s4c_1p8>;
409		vdd-l17-supply = <&vreg_bob2>;
410
411		vreg_bob1: bob1 {
412			regulator-name = "vreg_bob1";
413			regulator-min-microvolt = <3008000>;
414			regulator-max-microvolt = <3960000>;
415			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416		};
417
418		vreg_bob2: bob2 {
419			regulator-name = "vreg_bob2";
420			regulator-min-microvolt = <2504000>;
421			regulator-max-microvolt = <3008000>;
422			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423		};
424
425		vreg_l1b_1p8: ldo1 {
426			regulator-name = "vreg_l1b_1p8";
427			regulator-min-microvolt = <1800000>;
428			regulator-max-microvolt = <1800000>;
429			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430		};
431
432		vreg_l2b_3p0: ldo2 {
433			regulator-name = "vreg_l2b_3p0";
434			regulator-min-microvolt = <3072000>;
435			regulator-max-microvolt = <3100000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438
439		vreg_l4b_1p8: ldo4 {
440			regulator-name = "vreg_l4b_1p8";
441			regulator-min-microvolt = <1800000>;
442			regulator-max-microvolt = <1800000>;
443			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444		};
445
446		vreg_l5b_3p0: ldo5 {
447			regulator-name = "vreg_l5b_3p0";
448			regulator-min-microvolt = <3000000>;
449			regulator-max-microvolt = <3000000>;
450			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451		};
452
453		vreg_l6b_1p8: ldo6 {
454			regulator-name = "vreg_l6b_1p8";
455			regulator-min-microvolt = <1800000>;
456			regulator-max-microvolt = <2960000>;
457			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458		};
459
460		vreg_l7b_2p8: ldo7 {
461			regulator-name = "vreg_l7b_2p8";
462			regulator-min-microvolt = <2800000>;
463			regulator-max-microvolt = <2800000>;
464			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
465		};
466
467		vreg_l8b_3p0: ldo8 {
468			regulator-name = "vreg_l8b_3p0";
469			regulator-min-microvolt = <3072000>;
470			regulator-max-microvolt = <3072000>;
471			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
472		};
473
474		vreg_l9b_2p9: ldo9 {
475			regulator-name = "vreg_l9b_2p9";
476			regulator-min-microvolt = <2960000>;
477			regulator-max-microvolt = <2960000>;
478			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
479		};
480
481		vreg_l10b_1p8: ldo10 {
482			regulator-name = "vreg_l10b_1p8";
483			regulator-min-microvolt = <1800000>;
484			regulator-max-microvolt = <1800000>;
485			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
486		};
487
488		vreg_l12b_1p2: ldo12 {
489			regulator-name = "vreg_l12b_1p2";
490			regulator-min-microvolt = <1200000>;
491			regulator-max-microvolt = <1200000>;
492			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
493			regulator-always-on;
494		};
495
496		vreg_l13b_3p0: ldo13 {
497			regulator-name = "vreg_l13b_3p0";
498			regulator-min-microvolt = <3072000>;
499			regulator-max-microvolt = <3100000>;
500			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
501		};
502
503		vreg_l14b_3p0: ldo14 {
504			regulator-name = "vreg_l14b_3p0";
505			regulator-min-microvolt = <3072000>;
506			regulator-max-microvolt = <3072000>;
507			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
508		};
509
510		vreg_l15b_1p8: ldo15 {
511			regulator-name = "vreg_l15b_1p8";
512			regulator-min-microvolt = <1800000>;
513			regulator-max-microvolt = <1800000>;
514			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
515			regulator-always-on;
516		};
517
518		vreg_l16b_2p9: ldo16 {
519			regulator-name = "vreg_l16b_2p9";
520			regulator-min-microvolt = <2912000>;
521			regulator-max-microvolt = <2912000>;
522			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
523		};
524
525		vreg_l17b_2p5: ldo17 {
526			regulator-name = "vreg_l17b_2p5";
527			regulator-min-microvolt = <2504000>;
528			regulator-max-microvolt = <2504000>;
529			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
530		};
531	};
532
533	regulators-1 {
534		compatible = "qcom,pm8550ve-rpmh-regulators";
535		qcom,pmic-id = "c";
536
537		vdd-l1-supply = <&vreg_s5j_1p2>;
538		vdd-l2-supply = <&vreg_s1f_0p7>;
539		vdd-l3-supply = <&vreg_s1f_0p7>;
540		vdd-s4-supply = <&vph_pwr>;
541
542		vreg_s4c_1p8: smps4 {
543			regulator-name = "vreg_s4c_1p8";
544			regulator-min-microvolt = <1856000>;
545			regulator-max-microvolt = <2000000>;
546			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
547		};
548
549		vreg_l1c_1p2: ldo1 {
550			regulator-name = "vreg_l1c_1p2";
551			regulator-min-microvolt = <1200000>;
552			regulator-max-microvolt = <1200000>;
553			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
554		};
555
556		vreg_l2c_0p8: ldo2 {
557			regulator-name = "vreg_l2c_0p8";
558			regulator-min-microvolt = <880000>;
559			regulator-max-microvolt = <920000>;
560			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
561		};
562
563		vreg_l3c_0p8: ldo3 {
564			regulator-name = "vreg_l3c_0p8";
565			regulator-min-microvolt = <880000>;
566			regulator-max-microvolt = <920000>;
567			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
568		};
569	};
570
571	regulators-2 {
572		compatible = "qcom,pmc8380-rpmh-regulators";
573		qcom,pmic-id = "d";
574
575		vdd-l1-supply = <&vreg_s1f_0p7>;
576		vdd-l2-supply = <&vreg_s1f_0p7>;
577		vdd-l3-supply = <&vreg_s4c_1p8>;
578		vdd-s1-supply = <&vph_pwr>;
579
580		vreg_l1d_0p8: ldo1 {
581			regulator-name = "vreg_l1d_0p8";
582			regulator-min-microvolt = <880000>;
583			regulator-max-microvolt = <920000>;
584			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
585		};
586
587		vreg_l2d_0p9: ldo2 {
588			regulator-name = "vreg_l2d_0p9";
589			regulator-min-microvolt = <912000>;
590			regulator-max-microvolt = <920000>;
591			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
592		};
593
594		vreg_l3d_1p8: ldo3 {
595			regulator-name = "vreg_l3d_1p8";
596			regulator-min-microvolt = <1800000>;
597			regulator-max-microvolt = <1800000>;
598			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
599		};
600	};
601
602	regulators-3 {
603		compatible = "qcom,pmc8380-rpmh-regulators";
604		qcom,pmic-id = "e";
605
606		vdd-l2-supply = <&vreg_s1f_0p7>;
607		vdd-l3-supply = <&vreg_s5j_1p2>;
608
609		vreg_l2e_0p8: ldo2 {
610			regulator-name = "vreg_l2e_0p8";
611			regulator-min-microvolt = <880000>;
612			regulator-max-microvolt = <920000>;
613			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
614		};
615
616		vreg_l3e_1p2: ldo3 {
617			regulator-name = "vreg_l3e_1p2";
618			regulator-min-microvolt = <1200000>;
619			regulator-max-microvolt = <1200000>;
620			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
621		};
622	};
623
624	regulators-4 {
625		compatible = "qcom,pmc8380-rpmh-regulators";
626		qcom,pmic-id = "f";
627
628		vdd-l1-supply = <&vreg_s5j_1p2>;
629		vdd-l2-supply = <&vreg_s5j_1p2>;
630		vdd-l3-supply = <&vreg_s5j_1p2>;
631		vdd-s1-supply = <&vph_pwr>;
632
633		vreg_s1f_0p7: smps1 {
634			regulator-name = "vreg_s1f_0p7";
635			regulator-min-microvolt = <700000>;
636			regulator-max-microvolt = <1100000>;
637			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
638		};
639
640		vreg_l1f_1p0: ldo1 {
641			regulator-name = "vreg_l1f_1p0";
642			regulator-min-microvolt = <1024000>;
643			regulator-max-microvolt = <1024000>;
644			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
645		};
646
647		vreg_l2f_1p0: ldo2 {
648			regulator-name = "vreg_l2f_1p0";
649			regulator-min-microvolt = <1024000>;
650			regulator-max-microvolt = <1024000>;
651			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
652		};
653
654		vreg_l3f_1p0: ldo3 {
655			regulator-name = "vreg_l3f_1p0";
656			regulator-min-microvolt = <1024000>;
657			regulator-max-microvolt = <1024000>;
658			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
659		};
660	};
661
662	regulators-6 {
663		compatible = "qcom,pm8550ve-rpmh-regulators";
664		qcom,pmic-id = "i";
665
666		vdd-l1-supply = <&vreg_s4c_1p8>;
667		vdd-l2-supply = <&vreg_s5j_1p2>;
668		vdd-l3-supply = <&vreg_s1f_0p7>;
669		vdd-s1-supply = <&vph_pwr>;
670		vdd-s2-supply = <&vph_pwr>;
671
672		vreg_s1i_0p9: smps1 {
673			regulator-name = "vreg_s1i_0p9";
674			regulator-min-microvolt = <900000>;
675			regulator-max-microvolt = <920000>;
676			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
677		};
678
679		vreg_s2i_1p0: smps2 {
680			regulator-name = "vreg_s2i_1p0";
681			regulator-min-microvolt = <1000000>;
682			regulator-max-microvolt = <1100000>;
683			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
684		};
685
686		vreg_l1i_1p8: ldo1 {
687			regulator-name = "vreg_l1i_1p8";
688			regulator-min-microvolt = <1800000>;
689			regulator-max-microvolt = <1800000>;
690			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
691		};
692
693		vreg_l2i_1p2: ldo2 {
694			regulator-name = "vreg_l2i_1p2";
695			regulator-min-microvolt = <1200000>;
696			regulator-max-microvolt = <1200000>;
697			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
698		};
699
700		vreg_l3i_0p8: ldo3 {
701			regulator-name = "vreg_l3i_0p8";
702			regulator-min-microvolt = <880000>;
703			regulator-max-microvolt = <920000>;
704			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
705		};
706	};
707
708	regulators-7 {
709		compatible = "qcom,pm8550ve-rpmh-regulators";
710		qcom,pmic-id = "j";
711
712		vdd-l1-supply = <&vreg_s1f_0p7>;
713		vdd-l2-supply = <&vreg_s5j_1p2>;
714		vdd-l3-supply = <&vreg_s1f_0p7>;
715		vdd-s5-supply = <&vph_pwr>;
716
717		vreg_s5j_1p2: smps5 {
718			regulator-name = "vreg_s5j_1p2";
719			regulator-min-microvolt = <1256000>;
720			regulator-max-microvolt = <1304000>;
721			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
722		};
723
724		vreg_l1j_0p8: ldo1 {
725			regulator-name = "vreg_l1j_0p8";
726			regulator-min-microvolt = <880000>;
727			regulator-max-microvolt = <920000>;
728			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
729		};
730
731		vreg_l2j_1p2: ldo2 {
732			regulator-name = "vreg_l2j_1p2";
733			regulator-min-microvolt = <1256000>;
734			regulator-max-microvolt = <1256000>;
735			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
736		};
737
738		vreg_l3j_0p8: ldo3 {
739			regulator-name = "vreg_l3j_0p8";
740			regulator-min-microvolt = <880000>;
741			regulator-max-microvolt = <920000>;
742			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
743		};
744	};
745};
746
747&gpu {
748	status = "okay";
749
750	zap-shader {
751		firmware-name = "qcom/x1e80100/HONOR/MRO-XXX/qcdxkmsuc8380.mbn";
752	};
753};
754
755&i2c1 {
756	clock-frequency = <400000>;
757
758	status = "okay";
759
760	touchpad@5d {
761		compatible = "hid-over-i2c";
762		reg = <0x5d>;
763
764		hid-descr-addr = <0x1>;
765		interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
766
767		vdd-supply = <&vreg_misc_3p3>;
768		vddl-supply = <&vreg_l12b_1p2>;
769
770		pinctrl-0 = <&tpad_default>;
771		pinctrl-names = "default";
772
773		wakeup-source;
774	};
775};
776
777&i2c5 {
778	clock-frequency = <400000>;
779
780	status = "okay";
781
782	eusb5_repeater: redriver@43 {
783		compatible = "nxp,ptn3222";
784		reg = <0x43>;
785		#phy-cells = <0>;
786
787		vdd3v3-supply = <&vreg_l13b_3p0>;
788		vdd1v8-supply = <&vreg_l4b_1p8>;
789
790		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
791
792		pinctrl-0 = <&eusb5_reset_n>;
793		pinctrl-names = "default";
794	};
795
796	eusb6_repeater: redriver@4f {
797		compatible = "nxp,ptn3222";
798		reg = <0x4f>;
799		#phy-cells = <0>;
800
801		vdd3v3-supply = <&vreg_l13b_3p0>;
802		vdd1v8-supply = <&vreg_l4b_1p8>;
803
804		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
805
806		pinctrl-0 = <&eusb6_reset_n>;
807		pinctrl-names = "default";
808	};
809};
810
811&i2c8 {
812	clock-frequency = <400000>;
813
814	status = "okay";
815
816	touchscreen@38 {
817		compatible = "hid-over-i2c";
818		reg = <0x38>;
819
820		hid-descr-addr = <0x1>;
821		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
822
823		vdd-supply = <&vreg_misc_3p3>;
824
825		pinctrl-0 = <&ts0_default>;
826		pinctrl-names = "default";
827	};
828};
829
830&i2c9 {
831	clock-frequency = <400000>;
832
833	status = "okay";
834
835	keyboard@3a {
836		compatible = "hid-over-i2c";
837		reg = <0x3a>;
838
839		hid-descr-addr = <0x1>;
840		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
841
842		vdd-supply = <&vreg_misc_3p3>;
843		vddl-supply = <&vreg_l12b_1p2>;
844
845		pinctrl-0 = <&kybd_default>;
846		pinctrl-names = "default";
847
848		wakeup-source;
849	};
850};
851
852&iris {
853	firmware-name = "qcom/x1e80100/HONOR/MRO-XXX/qcvss8380.mbn";
854
855	status = "okay";
856};
857
858&lpass_tlmm {
859	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
860		pins = "gpio12";
861		function = "gpio";
862		drive-strength = <16>;
863		bias-disable;
864		output-low;
865	};
866
867	spkr_23_sd_n_active: spkr-23-sd-n-active-state {
868		pins = "gpio13";
869		function = "gpio";
870		drive-strength = <16>;
871		bias-disable;
872		output-low;
873	};
874};
875
876&lpass_vamacro {
877	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
878	pinctrl-names = "default";
879
880	vdd-micb-supply = <&vreg_l1b_1p8>;
881	qcom,dmic-sample-rate = <4800000>;
882};
883
884&mdss {
885	status = "okay";
886};
887
888&mdss_dp0 {
889	status = "okay";
890};
891
892&mdss_dp0_out {
893	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
894};
895
896&mdss_dp1 {
897	status = "okay";
898};
899
900&mdss_dp1_out {
901	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
902};
903
904&mdss_dp2 {
905	status = "okay";
906};
907
908&mdss_dp2_out {
909	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
910};
911
912&pcie4 {
913	pinctrl-0 = <&pcie4_default>;
914	pinctrl-names = "default";
915
916	status = "okay";
917};
918
919&pcie4_phy {
920	vdda-phy-supply = <&vreg_l3i_0p8>;
921	vdda-pll-supply = <&vreg_l3e_1p2>;
922
923	status = "okay";
924};
925
926&pcie4_port0 {
927	reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
928	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
929
930	wifi@0 {
931		compatible = "pci17cb,1107";
932		reg = <0x10000 0x0 0x0 0x0 0x0>;
933
934		vddaon-supply = <&vreg_pmu_aon_0p59>;
935		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
936		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
937		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
938		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
939		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
940		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
941		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
942		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
943	};
944};
945
946&pm8550ve_8_gpios {
947	misc_3p3_reg_en: misc-3p3-reg-en-state {
948		pins = "gpio6";
949		function = "normal";
950		bias-disable;
951		input-disable;
952		output-enable;
953		drive-push-pull;
954		power-source = <1>; /* 1.8 V */
955		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
956	};
957};
958
959&qupv3_0 {
960	status = "okay";
961};
962
963&qupv3_1 {
964	status = "okay";
965};
966
967&qupv3_2 {
968	status = "okay";
969};
970
971&remoteproc_adsp {
972	firmware-name = "qcom/x1e80100/HONOR/MRO-XXX/qcadsp8380.mbn",
973			"qcom/x1e80100/HONOR/MRO-XXX/adsp_dtbs.elf";
974
975	status = "okay";
976};
977
978&remoteproc_cdsp {
979	firmware-name = "qcom/x1e80100/HONOR/MRO-XXX/qccdsp8380.mbn",
980			"qcom/x1e80100/HONOR/MRO-XXX/cdsp_dtbs.elf";
981
982	status = "okay";
983};
984
985&swr0 {
986	status = "okay";
987
988	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
989	pinctrl-names = "default";
990
991	/* WSA8845, Left Woofer */
992	left_woofer: speaker@0,0 {
993		compatible = "sdw20217020400";
994		reg = <0 0>;
995		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
996		#sound-dai-cells = <0>;
997		sound-name-prefix = "WooferLeft";
998		vdd-1p8-supply = <&vreg_l15b_1p8>;
999		vdd-io-supply = <&vreg_l12b_1p2>;
1000		qcom,port-mapping = <1 2 3 7 10 13>;
1001	};
1002
1003	/* WSA8845, Left Tweeter */
1004	left_tweeter: speaker@0,1 {
1005		compatible = "sdw20217020400";
1006		reg = <0 1>;
1007		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1008		#sound-dai-cells = <0>;
1009		sound-name-prefix = "TweeterLeft";
1010		vdd-1p8-supply = <&vreg_l15b_1p8>;
1011		vdd-io-supply = <&vreg_l12b_1p2>;
1012		qcom,port-mapping = <4 5 6 7 11 13>;
1013	};
1014};
1015
1016&swr1 {
1017	status = "okay";
1018
1019	/* WCD9385 RX */
1020	wcd_rx: codec@0,4 {
1021		compatible = "sdw20217010d00";
1022		reg = <0 4>;
1023		qcom,rx-port-mapping = <1 2 3 4 5>;
1024	};
1025};
1026
1027&swr2 {
1028	status = "okay";
1029
1030	/* WCD9385 TX */
1031	wcd_tx: codec@0,3 {
1032		compatible = "sdw20217010d00";
1033		reg = <0 3>;
1034		qcom,tx-port-mapping = <2 2 3 4>;
1035	};
1036};
1037
1038&swr3 {
1039	pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
1040	pinctrl-names = "default";
1041
1042	status = "okay";
1043
1044	/* WSA8845, Right Woofer */
1045	right_woofer: speaker@0,0 {
1046		compatible = "sdw20217020400";
1047		reg = <0 0>;
1048		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
1049		#sound-dai-cells = <0>;
1050		sound-name-prefix = "WooferRight";
1051		vdd-1p8-supply = <&vreg_l15b_1p8>;
1052		vdd-io-supply = <&vreg_l12b_1p2>;
1053		qcom,port-mapping = <1 2 3 7 10 13>;
1054	};
1055
1056	/* WSA8845, Right Tweeter */
1057	right_tweeter: speaker@0,1 {
1058		compatible = "sdw20217020400";
1059		reg = <0 1>;
1060		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
1061		#sound-dai-cells = <0>;
1062		sound-name-prefix = "TweeterRight";
1063		vdd-1p8-supply = <&vreg_l15b_1p8>;
1064		vdd-io-supply = <&vreg_l12b_1p2>;
1065		qcom,port-mapping = <4 5 6 7 11 13>;
1066	};
1067};
1068
1069&tlmm {
1070	gpio-reserved-ranges = <34 2>, /* Unused */
1071			       <44 4>; /* SPI (TPM) */
1072
1073	tpad_default: tpad-default-state {
1074		pins = "gpio3";
1075		function = "gpio";
1076		bias-disable;
1077	};
1078
1079	eusb5_reset_n: eusb5-reset-n-state {
1080		pins = "gpio7";
1081		function = "gpio";
1082		drive-strength = <2>;
1083		bias-disable;
1084	};
1085
1086	ts0_default: ts0-default-state {
1087		reset-n-pins {
1088			pins = "gpio48";
1089			function = "gpio";
1090			drive-strength = <16>;
1091		};
1092
1093		int-n-pins {
1094			pins = "gpio51";
1095			function = "gpio";
1096			bias-disable;
1097		};
1098	};
1099
1100	kybd_default: kybd-default-state {
1101		pins = "gpio67";
1102		function = "gpio";
1103		bias-disable;
1104	};
1105
1106	hall_int_n_default: hall-int-n-state {
1107		pins = "gpio92";
1108		function = "gpio";
1109		bias-disable;
1110	};
1111
1112	wcn_wlan_bt_en: wcn-wlan-bt-en-state {
1113		pins = "gpio116", "gpio117";
1114		function = "gpio";
1115		drive-strength = <2>;
1116		bias-disable;
1117	};
1118
1119	hdmi_hpd_default: hdmi-hpd-default-state {
1120		pins = "gpio126";
1121		function = "usb2_dp";
1122		bias-disable;
1123	};
1124
1125	pcie4_default: pcie4-default-state {
1126		perst-n-pins {
1127			pins = "gpio146";
1128			function = "gpio";
1129			drive-strength = <2>;
1130			bias-disable;
1131		};
1132
1133		clkreq-n-pins {
1134			pins = "gpio147";
1135			function = "pcie4_clk";
1136			drive-strength = <2>;
1137			bias-pull-up;
1138		};
1139
1140		wake-n-pins {
1141			pins = "gpio148";
1142			function = "gpio";
1143			drive-strength = <2>;
1144			bias-pull-up;
1145		};
1146	};
1147
1148	eusb6_reset_n: eusb6-reset-n-state {
1149		pins = "gpio184";
1150		function = "gpio";
1151		drive-strength = <2>;
1152		bias-disable;
1153	};
1154
1155	wcd_default: wcd-reset-n-active-state {
1156		pins = "gpio191";
1157		function = "gpio";
1158		drive-strength = <16>;
1159		bias-disable;
1160	};
1161
1162	wcn_sw_en: wcn-sw-en-state {
1163		pins = "gpio214";
1164		function = "gpio";
1165		drive-strength = <2>;
1166		bias-disable;
1167	};
1168};
1169
1170&uart14 {
1171	status = "okay";
1172
1173	bluetooth {
1174		compatible = "qcom,wcn7850-bt";
1175		max-speed = <3200000>;
1176
1177		vddaon-supply = <&vreg_pmu_aon_0p59>;
1178		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
1179		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1180		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1181		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
1182		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1183		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
1184	};
1185};
1186
1187&uart21 {
1188	compatible = "qcom,geni-debug-uart";
1189
1190	status = "okay";
1191};
1192
1193&ufs_mem_hc {
1194	reset-gpios = <&tlmm 238 GPIO_ACTIVE_LOW>;
1195
1196	vcc-supply = <&vreg_l17b_2p5>;
1197	vcc-max-microamp = <600000>;
1198	vccq-supply = <&vreg_l2i_1p2>;
1199	vccq-max-microamp = <600000>;
1200
1201	status = "okay";
1202};
1203
1204&ufs_mem_phy {
1205	vdda-phy-supply = <&vreg_l3i_0p8>;
1206	vdda-pll-supply = <&vreg_l3e_1p2>;
1207
1208	status = "okay";
1209};
1210
1211&usb_1_ss0 {
1212	dr_mode = "host";
1213
1214	status = "okay";
1215};
1216
1217&usb_1_ss0_dwc3_hs {
1218	remote-endpoint = <&pmic_glink_ss0_hs_in>;
1219};
1220
1221&usb_1_ss0_hsphy {
1222	vdd-supply = <&vreg_l3j_0p8>;
1223	vdda12-supply = <&vreg_l2j_1p2>;
1224
1225	status = "okay";
1226};
1227
1228&usb_1_ss0_qmpphy {
1229	vdda-phy-supply = <&vreg_l2j_1p2>;
1230	vdda-pll-supply = <&vreg_l1j_0p8>;
1231
1232	status = "okay";
1233};
1234
1235&usb_1_ss0_qmpphy_out {
1236	remote-endpoint = <&pmic_glink_ss0_ss_in>;
1237};
1238
1239&usb_1_ss1 {
1240	dr_mode = "host";
1241
1242	status = "okay";
1243};
1244
1245&usb_1_ss1_dwc3_hs {
1246	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1247};
1248
1249&usb_1_ss1_hsphy {
1250	vdd-supply = <&vreg_l3j_0p8>;
1251	vdda12-supply = <&vreg_l2j_1p2>;
1252
1253	status = "okay";
1254};
1255
1256&usb_1_ss1_qmpphy {
1257	vdda-phy-supply = <&vreg_l2j_1p2>;
1258	vdda-pll-supply = <&vreg_l2d_0p9>;
1259
1260	status = "okay";
1261};
1262
1263&usb_1_ss1_qmpphy_out {
1264	remote-endpoint = <&pmic_glink_ss1_ss_in>;
1265};
1266
1267&usb_1_ss2_qmpphy {
1268	vdda-phy-supply = <&vreg_l2j_1p2>;
1269	vdda-pll-supply = <&vreg_l2d_0p9>;
1270
1271	/delete-property/ mode-switch;
1272	/delete-property/ orientation-switch;
1273
1274	status = "okay";
1275
1276	ports {
1277		port@0 {
1278			#address-cells = <1>;
1279			#size-cells = <0>;
1280
1281			/delete-node/ endpoint;
1282
1283			usb_1_ss2_qmpphy_out_dp: endpoint@0 {
1284				reg = <0>;
1285
1286				data-lanes = <3 2 1 0>;
1287				remote-endpoint = <&hdmi_bridge_dp_in>;
1288			};
1289		};
1290	};
1291};
1292
1293/* usb_2 is for camera, USB port on top of the screen */
1294&usb_2 {
1295	dr_mode = "host";
1296
1297	status = "okay";
1298};
1299
1300&usb_2_hsphy {
1301	vdd-supply = <&vreg_l3j_0p8>;
1302	vdda12-supply = <&vreg_l2j_1p2>;
1303	phys = <&eusb5_repeater>;
1304
1305	status = "okay";
1306};
1307
1308/* MP0 goes to the USB-A port (USB3) and FPC */
1309&usb_mp {
1310	status = "okay";
1311};
1312
1313&usb_mp_hsphy0 {
1314	vdd-supply = <&vreg_l2e_0p8>;
1315	vdda12-supply = <&vreg_l3e_1p2>;
1316
1317	status = "okay";
1318};
1319
1320&usb_mp_hsphy1 {
1321	vdd-supply = <&vreg_l2e_0p8>;
1322	vdda12-supply = <&vreg_l3e_1p2>;
1323
1324	phys = <&eusb6_repeater>;
1325
1326	status = "okay";
1327};
1328
1329&usb_mp_qmpphy0 {
1330	vdda-phy-supply = <&vreg_l3e_1p2>;
1331	vdda-pll-supply = <&vreg_l3c_0p8>;
1332
1333	status = "okay";
1334};
1335
1336&usb_mp_qmpphy1 {
1337	vdda-phy-supply = <&vreg_l3e_1p2>;
1338	vdda-pll-supply = <&vreg_l3c_0p8>;
1339
1340	status = "okay";
1341};
1342