1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2022, Linaro Limited
5 * Copyright (c) 2023, Merck Hung <[email protected]>
6 * Copyright (c) 2023, 2024 Jens Glathe <[email protected]>
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/input/gpio-keys.h>
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
16
17#include "sc8280xp.dtsi"
18#include "sc8280xp-pmics.dtsi"
19
20/ {
21	model = "Windows Dev Kit 2023";
22	compatible = "microsoft,blackrock", "qcom,sc8280xp";
23	chassis-type = "desktop";
24
25	aliases {
26		i2c4 = &i2c4;
27		i2c21 = &i2c21;
28		serial1 = &uart2;
29	};
30
31	wcd938x: audio-codec {
32		compatible = "qcom,wcd9380-codec";
33
34		pinctrl-0 = <&wcd_default>;
35		pinctrl-names = "default";
36
37		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
38
39		vdd-buck-supply = <&vreg_s10b>;
40		vdd-rxtx-supply = <&vreg_s10b>;
41		vdd-io-supply = <&vreg_s10b>;
42		vdd-mic-bias-supply = <&vreg_bob>;
43
44		qcom,micbias1-microvolt = <1800000>;
45		qcom,micbias2-microvolt = <1800000>;
46		qcom,micbias3-microvolt = <1800000>;
47		qcom,micbias4-microvolt = <1800000>;
48		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
49		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
50		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
51		qcom,rx-device = <&wcd_rx>;
52		qcom,tx-device = <&wcd_tx>;
53
54		#sound-dai-cells = <1>;
55	};
56
57	dp3_connector: connector {
58		compatible = "dp-connector";
59		label = "DP-3";
60		type = "mini";
61
62		dp-pwr-supply = <&vreg_misc_3p3>;
63
64		port {
65			dp1_connector_in: endpoint {
66				remote-endpoint = <&mdss0_dp2_phy_out>;
67			};
68		};
69	};
70
71	pmic-glink {
72		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
73
74		#address-cells = <1>;
75		#size-cells = <0>;
76		orientation-gpios = <&tlmm 166 GPIO_ACTIVE_HIGH>,
77				    <&tlmm 49 GPIO_ACTIVE_HIGH>;
78
79		/* Left-side rear port */
80		connector@0 {
81			compatible = "usb-c-connector";
82			reg = <0>;
83			power-role = "source";
84			data-role = "dual";
85
86			ports {
87				#address-cells = <1>;
88				#size-cells = <0>;
89
90				port@0 {
91					reg = <0>;
92
93					pmic_glink_con0_hs: endpoint {
94						remote-endpoint = <&usb_0_dwc3_hs>;
95					};
96				};
97
98				port@1 {
99					reg = <1>;
100
101					pmic_glink_con0_ss: endpoint {
102						remote-endpoint = <&usb_0_qmpphy_out>;
103					};
104				};
105
106				port@2 {
107					reg = <2>;
108
109					pmic_glink_con0_sbu: endpoint {
110						remote-endpoint = <&usb0_sbu_mux>;
111					};
112				};
113			};
114		};
115
116		/* Left-side front port */
117		connector@1 {
118			compatible = "usb-c-connector";
119			reg = <1>;
120			power-role = "source";
121			data-role = "dual";
122
123			ports {
124				#address-cells = <1>;
125				#size-cells = <0>;
126
127				port@0 {
128					reg = <0>;
129
130					pmic_glink_con1_hs: endpoint {
131						remote-endpoint = <&usb_1_dwc3_hs>;
132					};
133				};
134
135				port@1 {
136					reg = <1>;
137
138					pmic_glink_con1_ss: endpoint {
139						remote-endpoint = <&usb_1_qmpphy_out>;
140					};
141				};
142
143				port@2 {
144					reg = <2>;
145
146					pmic_glink_con1_sbu: endpoint {
147						remote-endpoint = <&usb1_sbu_mux>;
148					};
149				};
150			};
151		};
152	};
153
154	vreg_misc_3p3: regulator-misc-3p3 {
155		compatible = "regulator-fixed";
156
157		regulator-name = "VCC3B";
158		regulator-min-microvolt = <3300000>;
159		regulator-max-microvolt = <3300000>;
160
161		gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
162		enable-active-high;
163
164		pinctrl-0 = <&misc_3p3_reg_en>;
165		pinctrl-names = "default";
166
167		regulator-boot-on;
168		regulator-always-on;
169	};
170
171	vreg_nvme: regulator-nvme {
172		compatible = "regulator-fixed";
173
174		regulator-name = "VCC3_SSD";
175		regulator-min-microvolt = <3300000>;
176		regulator-max-microvolt = <3300000>;
177
178		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
179		enable-active-high;
180
181		pinctrl-0 = <&nvme_reg_en>;
182		pinctrl-names = "default";
183
184		regulator-boot-on;
185	};
186
187	vreg_vph_pwr: regulator-vph-pwr {
188		compatible = "regulator-fixed";
189
190		regulator-name = "VPH_VCC3R9";
191		regulator-min-microvolt = <3900000>;
192		regulator-max-microvolt = <3900000>;
193
194		regulator-always-on;
195	};
196
197	vreg_wlan: regulator-wlan {
198		compatible = "regulator-fixed";
199
200		regulator-name = "VCC_WLAN_3R9";
201		regulator-min-microvolt = <3900000>;
202		regulator-max-microvolt = <3900000>;
203
204		gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
205		enable-active-high;
206
207		pinctrl-0 = <&hastings_reg_en>;
208		pinctrl-names = "default";
209
210		regulator-boot-on;
211	};
212
213	vreg_wwan: regulator-wwan {
214		compatible = "regulator-fixed";
215
216		regulator-name = "VCC3B_WAN";
217		regulator-min-microvolt = <3300000>;
218		regulator-max-microvolt = <3300000>;
219
220		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
221		enable-active-high;
222
223		pinctrl-0 = <&wwan_sw_en>;
224		pinctrl-names = "default";
225
226		regulator-boot-on;
227	};
228
229	reserved-memory {
230		gpu_mem: gpu-mem@8bf00000 {
231			reg = <0 0x8bf00000 0 0x2000>;
232			no-map;
233		};
234
235		linux,cma {
236			compatible = "shared-dma-pool";
237			size = <0x0 0x8000000>;
238			reusable;
239			linux,cma-default;
240		};
241	};
242
243	usb0-sbu-mux {
244		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
245
246		enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
247		select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
248
249		pinctrl-0 = <&usb0_sbu_default>;
250		pinctrl-names = "default";
251
252		mode-switch;
253		orientation-switch;
254
255		port {
256			usb0_sbu_mux: endpoint {
257				remote-endpoint = <&pmic_glink_con0_sbu>;
258			};
259		};
260	};
261
262	usb1-sbu-mux {
263		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
264
265		enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
266		select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
267
268		pinctrl-0 = <&usb1_sbu_default>;
269		pinctrl-names = "default";
270
271		mode-switch;
272		orientation-switch;
273
274		port {
275			usb1_sbu_mux: endpoint {
276				remote-endpoint = <&pmic_glink_con1_sbu>;
277			};
278		};
279	};
280
281	wcn6855-pmu {
282		compatible = "qcom,wcn6855-pmu";
283
284		pinctrl-0 = <&bt_default>, <&wlan_en>;
285		pinctrl-names = "default";
286
287		wlan-enable-gpios = <&tlmm 134 GPIO_ACTIVE_HIGH>;
288		bt-enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
289		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
290
291		vddio-supply = <&vreg_s10b>;
292		vddaon-supply = <&vreg_s12b>;
293		vddpmu-supply = <&vreg_s12b>;
294		vddpmumx-supply = <&vreg_s12b>;
295		vddpmucx-supply = <&vreg_s12b>;
296		vddrfa0p95-supply = <&vreg_s12b>;
297		vddrfa1p3-supply = <&vreg_s11b>;
298		vddrfa1p9-supply = <&vreg_s1c>;
299		vddpcie1p3-supply = <&vreg_s11b>;
300		vddpcie1p9-supply = <&vreg_s1c>;
301
302		regulators {
303			vreg_pmu_rfa_cmn_0p8: ldo0 {
304				regulator-name = "vreg_pmu_rfa_cmn_0p8";
305			};
306
307			vreg_pmu_aon_0p8: ldo1 {
308				regulator-name = "vreg_pmu_aon_0p8";
309			};
310
311			vreg_pmu_wlcx_0p8: ldo2 {
312				regulator-name = "vreg_pmu_wlcx_0p8";
313			};
314
315			vreg_pmu_wlmx_0p8: ldo3 {
316				regulator-name = "vreg_pmu_wlmx_0p8";
317			};
318
319			vreg_pmu_btcmx_0p8: ldo4 {
320				regulator-name = "vreg_pmu_btcmx_0p8";
321			};
322
323			vreg_pmu_pcie_1p8: ldo5 {
324				regulator-name = "vreg_pmu_pcie_1p8";
325			};
326
327			vreg_pmu_pcie_0p9: ldo6 {
328				regulator-name = "vreg_pmu_pcie_0p9";
329			};
330
331			vreg_pmu_rfa_0p8: ldo7 {
332				regulator-name = "vreg_pmu_rfa_0p8";
333			};
334
335			vreg_pmu_rfa_1p2: ldo8 {
336				regulator-name = "vreg_pmu_rfa_1p2";
337			};
338
339			vreg_pmu_rfa_1p7: ldo9 {
340				regulator-name = "vreg_pmu_rfa_1p7";
341			};
342		};
343	};
344};
345
346&apps_rsc {
347	regulators-0 {
348		compatible = "qcom,pm8350-rpmh-regulators";
349		qcom,pmic-id = "b";
350
351		vdd-s10-supply = <&vreg_vph_pwr>;
352		vdd-s11-supply = <&vreg_vph_pwr>;
353		vdd-s12-supply = <&vreg_vph_pwr>;
354		vdd-l1-l4-supply = <&vreg_s12b>;
355		vdd-l2-l7-supply = <&vreg_bob>;
356		vdd-l3-l5-supply = <&vreg_s11b>;
357		vdd-l6-l9-l10-supply = <&vreg_s12b>;
358		vdd-l8-supply = <&vreg_s12b>;
359
360		vreg_s10b: smps10 {
361			regulator-name = "vreg_s10b";
362			regulator-min-microvolt = <1800000>;
363			regulator-max-microvolt = <1800000>;
364			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
365			regulator-always-on;
366		};
367
368		vreg_s11b: smps11 {
369			regulator-name = "vreg_s11b";
370			regulator-min-microvolt = <1272000>;
371			regulator-max-microvolt = <1272000>;
372			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
373		};
374
375		vreg_s12b: smps12 {
376			regulator-name = "vreg_s12b";
377			regulator-min-microvolt = <984000>;
378			regulator-max-microvolt = <984000>;
379			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
380		};
381
382		vreg_l1b: ldo1 {
383			regulator-name = "vreg_l1b";
384			regulator-min-microvolt = <912000>;
385			regulator-max-microvolt = <912000>;
386			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
387		};
388
389		vreg_l3b: ldo3 {
390			regulator-name = "vreg_l3b";
391			regulator-min-microvolt = <1200000>;
392			regulator-max-microvolt = <1200000>;
393			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
394			regulator-boot-on;
395		};
396
397		vreg_l4b: ldo4 {
398			regulator-name = "vreg_l4b";
399			regulator-min-microvolt = <912000>;
400			regulator-max-microvolt = <912000>;
401			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402		};
403
404		vreg_l6b: ldo6 {
405			regulator-name = "vreg_l6b";
406			regulator-min-microvolt = <880000>;
407			regulator-max-microvolt = <880000>;
408			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409			regulator-boot-on;
410		};
411	};
412
413	regulators-1 {
414		compatible = "qcom,pm8350c-rpmh-regulators";
415		qcom,pmic-id = "c";
416
417		vdd-bob-supply = <&vreg_vph_pwr>;
418		vdd-l1-l12-supply = <&vreg_s1c>;
419		vdd-l2-l8-supply = <&vreg_s1c>;
420		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
421		vdd-l6-l9-l11-supply = <&vreg_bob>;
422		vdd-l10-supply = <&vreg_s11b>;
423
424		vreg_s1c: smps1 {
425			regulator-name = "vreg_s1c";
426			regulator-min-microvolt = <1880000>;
427			regulator-max-microvolt = <1900000>;
428			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
429			regulator-always-on;
430		};
431
432		vreg_l1c: ldo1 {
433			regulator-name = "vreg_l1c";
434			regulator-min-microvolt = <1800000>;
435			regulator-max-microvolt = <1800000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438
439		vreg_l6c: ldo6 {
440			regulator-name = "vreg_l6c";
441			regulator-min-microvolt = <1800000>;
442			regulator-max-microvolt = <2960000>;
443			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444		};
445
446		vreg_l7c: ldo7 {
447			regulator-name = "vreg_l7c";
448			regulator-min-microvolt = <2504000>;
449			regulator-max-microvolt = <2504000>;
450			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451			regulator-allow-set-load;
452			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
453						   RPMH_REGULATOR_MODE_HPM>;
454		};
455
456		vreg_l8c: ldo8 {
457			regulator-name = "vreg_l8c";
458			regulator-min-microvolt = <1800000>;
459			regulator-max-microvolt = <1800000>;
460			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
461		};
462
463		vreg_l9c: ldo9 {
464			regulator-name = "vreg_l9c";
465			regulator-min-microvolt = <2960000>;
466			regulator-max-microvolt = <2960000>;
467			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
468		};
469
470		vreg_l12c: ldo12 {
471			regulator-name = "vreg_l12c";
472			regulator-min-microvolt = <1800000>;
473			regulator-max-microvolt = <1800000>;
474			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
475		};
476
477		vreg_l13c: ldo13 {
478			regulator-name = "vreg_l13c";
479			regulator-min-microvolt = <3072000>;
480			regulator-max-microvolt = <3072000>;
481			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
482		};
483
484		vreg_bob: bob {
485			regulator-name = "vreg_bob";
486			regulator-min-microvolt = <3008000>;
487			regulator-max-microvolt = <3960000>;
488			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
489			regulator-always-on;
490		};
491	};
492
493	regulators-2 {
494		compatible = "qcom,pm8350-rpmh-regulators";
495		qcom,pmic-id = "d";
496
497		vdd-l1-l4-supply = <&vreg_s11b>;
498		vdd-l2-l7-supply = <&vreg_bob>;
499		vdd-l3-l5-supply = <&vreg_s11b>;
500		vdd-l6-l9-l10-supply = <&vreg_s12b>;
501		vdd-l8-supply = <&vreg_s12b>;
502
503		vreg_l2d: ldo2 {
504			regulator-name = "vreg_l2d";
505			regulator-min-microvolt = <3072000>;
506			regulator-max-microvolt = <3072000>;
507			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
508		};
509
510		vreg_l3d: ldo3 {
511			regulator-name = "vreg_l3d";
512			regulator-min-microvolt = <1200000>;
513			regulator-max-microvolt = <1200000>;
514			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
515			regulator-allow-set-load;
516			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
517				 RPMH_REGULATOR_MODE_HPM>;
518		};
519
520		vreg_l4d: ldo4 {
521			regulator-name = "vreg_l4d";
522			regulator-min-microvolt = <1200000>;
523			regulator-max-microvolt = <1200000>;
524			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
525		};
526
527		vreg_l6d: ldo6 {
528			regulator-name = "vreg_l6d";
529			regulator-min-microvolt = <880000>;
530			regulator-max-microvolt = <880000>;
531			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
532		};
533
534		vreg_l7d: ldo7 {
535			regulator-name = "vreg_l7d";
536			regulator-min-microvolt = <3072000>;
537			regulator-max-microvolt = <3072000>;
538			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
539		};
540
541		vreg_l8d: ldo8 {
542			regulator-name = "vreg_l8d";
543			regulator-min-microvolt = <912000>;
544			regulator-max-microvolt = <912000>;
545			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
546		};
547
548		vreg_l9d: ldo9 {
549			regulator-name = "vreg_l9d";
550			regulator-min-microvolt = <912000>;
551			regulator-max-microvolt = <912000>;
552			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
553		};
554
555		vreg_l10d: ldo10 {
556			regulator-name = "vreg_l10d";
557			regulator-min-microvolt = <912000>;
558			regulator-max-microvolt = <912000>;
559			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
560		};
561	};
562};
563
564&dispcc0 {
565	status = "okay";
566};
567
568&gpu {
569	status = "okay";
570
571	zap-shader {
572		memory-region = <&gpu_mem>;
573		firmware-name = "qcom/sc8280xp/microsoft/blackrock/qcdxkmsuc8280.mbn";
574	};
575};
576
577&mdss0 {
578	status = "okay";
579};
580
581&mdss0_dp0 {
582	status = "okay";
583};
584
585&mdss0_dp0_out {
586	data-lanes = <0 1>;
587	remote-endpoint = <&usb_0_qmpphy_dp_in>;
588};
589
590&mdss0_dp1 {
591	status = "okay";
592};
593
594&mdss0_dp1_out {
595	data-lanes = <0 1>;
596	remote-endpoint = <&usb_1_qmpphy_dp_in>;
597};
598
599&mdss0_dp2 {
600	compatible = "qcom,sc8280xp-dp";
601
602	data-lanes = <0 1 2 3>;
603
604	status = "okay";
605
606	ports {
607		port@1 {
608			reg = <1>;
609			mdss0_dp2_phy_out: endpoint {
610				remote-endpoint = <&dp1_connector_in>;
611			};
612		};
613	};
614};
615
616&mdss0_dp2_phy {
617	compatible = "qcom,sc8280xp-dp-phy";
618
619	vdda-phy-supply = <&vreg_l3b>;
620	vdda-pll-supply = <&vreg_l6b>;
621
622	status = "okay";
623};
624
625&pcie2a {
626	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
627	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
628
629	vddpe-3v3-supply = <&vreg_nvme>;
630
631	pinctrl-0 = <&pcie2a_default>;
632	pinctrl-names = "default";
633
634	status = "okay";
635};
636
637&pcie2a_phy {
638	vdda-phy-supply = <&vreg_l4d>;
639	vdda-pll-supply = <&vreg_l6d>;
640
641	status = "okay";
642};
643
644&pcie4 {
645	max-link-speed = <2>;
646
647	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
648	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
649
650	vddpe-3v3-supply = <&vreg_wlan>;
651
652	pinctrl-0 = <&pcie4_default>;
653	pinctrl-names = "default";
654
655	status = "okay";
656};
657
658&pcie4_port0 {
659	wifi@0 {
660		compatible = "pci17cb,1103";
661		reg = <0x10000 0x0 0x0 0x0 0x0>;
662
663		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
664		vddaon-supply = <&vreg_pmu_aon_0p8>;
665		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
666		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
667		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
668		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
669		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
670		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
671		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
672
673		qcom,ath11k-calibration-variant = "MS_Volterra";
674	};
675};
676
677&pcie4_phy {
678	vdda-phy-supply = <&vreg_l4d>;
679	vdda-pll-supply = <&vreg_l6d>;
680
681	status = "okay";
682};
683
684&pmc8280c_lpg {
685	status = "okay";
686};
687
688&pmk8280_adc_tm {
689	status = "okay";
690
691	sys-therm@0 {
692		reg = <0>;
693		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
694		qcom,hw-settle-time-us = <200>;
695		qcom,avg-samples = <2>;
696		qcom,ratiometric;
697	};
698
699	sys-therm@1 {
700		reg = <1>;
701		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
702		qcom,hw-settle-time-us = <200>;
703		qcom,avg-samples = <2>;
704		qcom,ratiometric;
705	};
706
707	sys-therm@2 {
708		reg = <2>;
709		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
710		qcom,hw-settle-time-us = <200>;
711		qcom,avg-samples = <2>;
712		qcom,ratiometric;
713	};
714
715	sys-therm@3 {
716		reg = <3>;
717		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
718		qcom,hw-settle-time-us = <200>;
719		qcom,avg-samples = <2>;
720		qcom,ratiometric;
721	};
722
723	sys-therm@4 {
724		reg = <4>;
725		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
726		qcom,hw-settle-time-us = <200>;
727		qcom,avg-samples = <2>;
728		qcom,ratiometric;
729	};
730
731	sys-therm@5 {
732		reg = <5>;
733		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
734		qcom,hw-settle-time-us = <200>;
735		qcom,avg-samples = <2>;
736		qcom,ratiometric;
737	};
738
739	sys-therm@6 {
740		reg = <6>;
741		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
742		qcom,hw-settle-time-us = <200>;
743		qcom,avg-samples = <2>;
744		qcom,ratiometric;
745	};
746
747	sys-therm@7 {
748		reg = <7>;
749		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
750		qcom,hw-settle-time-us = <200>;
751		qcom,avg-samples = <2>;
752		qcom,ratiometric;
753	};
754};
755
756&pmk8280_pon_pwrkey {
757	status = "okay";
758};
759
760&pmk8280_pon_resin {
761	status = "okay";
762};
763
764&pmk8280_rtc {
765	nvmem-cells = <&rtc_offset>;
766	nvmem-cell-names = "offset";
767
768	status = "okay";
769};
770
771&pmk8280_sdam_6 {
772	status = "okay";
773
774	rtc_offset: rtc-offset@bc {
775		reg = <0xbc 0x4>;
776	};
777};
778
779&pmk8280_vadc {
780	channel@144 {
781		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
782		qcom,hw-settle-time = <200>;
783		qcom,ratiometric;
784		label = "sys_therm1";
785	};
786
787	channel@145 {
788		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
789		qcom,hw-settle-time = <200>;
790		qcom,ratiometric;
791		label = "sys_therm2";
792	};
793
794	channel@146 {
795		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
796		qcom,hw-settle-time = <200>;
797		qcom,ratiometric;
798		label = "sys_therm3";
799	};
800
801	channel@147 {
802		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
803		qcom,hw-settle-time = <200>;
804		qcom,ratiometric;
805		label = "sys_therm4";
806	};
807
808	channel@344 {
809		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
810		qcom,hw-settle-time = <200>;
811		qcom,ratiometric;
812		label = "sys_therm5";
813	};
814
815	channel@345 {
816		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
817		qcom,hw-settle-time = <200>;
818		qcom,ratiometric;
819		label = "sys_therm6";
820	};
821
822	channel@346 {
823		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
824		qcom,hw-settle-time = <200>;
825		qcom,ratiometric;
826		label = "sys_therm7";
827	};
828
829	channel@347 {
830		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
831		qcom,hw-settle-time = <200>;
832		qcom,ratiometric;
833		label = "sys_therm8";
834	};
835};
836
837&qup0 {
838	status = "okay";
839};
840
841&qup1 {
842	status = "okay";
843};
844
845&qup2 {
846	status = "okay";
847};
848
849&remoteproc_adsp {
850	firmware-name = "qcom/sc8280xp/microsoft/blackrock/qcadsp8280.mbn";
851
852	status = "okay";
853};
854
855&remoteproc_nsp0 {
856	firmware-name = "qcom/sc8280xp/microsoft/blackrock/qccdsp8280.mbn";
857
858	status = "okay";
859};
860
861&rxmacro {
862	status = "okay";
863};
864
865&sound {
866	compatible = "qcom,sc8280xp-sndcard";
867	model = "microsoft/blackrock";
868
869	wcd-playback-dai-link {
870		link-name = "WCD Playback";
871
872		cpu {
873			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
874		};
875
876		codec {
877			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
878		};
879
880		platform {
881			sound-dai = <&q6apm>;
882		};
883	};
884
885	wcd-capture-dai-link {
886		link-name = "WCD Capture";
887
888		cpu {
889			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
890		};
891
892		codec {
893			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
894		};
895
896		platform {
897			sound-dai = <&q6apm>;
898		};
899	};
900
901	wsa-dai-link {
902		link-name = "WSA Playback";
903
904		cpu {
905			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
906		};
907
908		codec {
909			sound-dai = <&swr0 0>, <&wsamacro 0>;
910		};
911
912		platform {
913			sound-dai = <&q6apm>;
914		};
915	};
916
917	va-dai-link {
918		link-name = "VA Capture";
919
920		cpu {
921			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
922		};
923
924		platform {
925			sound-dai = <&q6apm>;
926		};
927
928		codec {
929			sound-dai = <&vamacro 0>;
930		};
931	};
932};
933
934&swr0 {
935	status = "okay";
936};
937
938&swr1 {
939	status = "okay";
940
941	wcd_rx: wcd9380-rx@0,4 {
942		compatible = "sdw20217010d00";
943		reg = <0 4>;
944		qcom,rx-port-mapping = <1 2 3 4 5>;
945	};
946};
947
948&swr2 {
949	status = "okay";
950
951	wcd_tx: wcd9380-tx@0,3 {
952		compatible = "sdw20217010d00";
953		reg = <0 3>;
954		qcom,tx-port-mapping = <1 1 2 3>;
955	};
956};
957
958&txmacro {
959	status = "okay";
960};
961
962&uart2 {
963	pinctrl-0 = <&uart2_default>;
964	pinctrl-names = "default";
965
966	status = "okay";
967
968	bluetooth {
969		compatible = "qcom,wcn6855-bt";
970
971		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
972		vddaon-supply = <&vreg_pmu_aon_0p8>;
973		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
974		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
975		vddbtcmx-supply = <&vreg_pmu_btcmx_0p8>;
976		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
977		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
978		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
979
980		max-speed = <3200000>;
981	};
982};
983
984&usb_0 {
985	status = "okay";
986};
987
988&usb_0_dwc3 {
989	dr_mode = "host";
990};
991
992&usb_0_dwc3_hs {
993	remote-endpoint = <&pmic_glink_con0_hs>;
994};
995
996&usb_0_hsphy {
997	vdda-pll-supply = <&vreg_l9d>;
998	vdda18-supply = <&vreg_l1c>;
999	vdda33-supply = <&vreg_l7d>;
1000
1001	status = "okay";
1002};
1003
1004&usb_0_qmpphy {
1005	vdda-phy-supply = <&vreg_l4d>;
1006	vdda-pll-supply = <&vreg_l9d>;
1007
1008	orientation-switch;
1009
1010	status = "okay";
1011};
1012
1013&usb_0_qmpphy_dp_in {
1014	remote-endpoint = <&mdss0_dp0_out>;
1015};
1016
1017&usb_0_qmpphy_out {
1018	remote-endpoint = <&pmic_glink_con0_ss>;
1019};
1020
1021&usb_1 {
1022	status = "okay";
1023};
1024
1025&usb_1_dwc3 {
1026	dr_mode = "host";
1027};
1028
1029&usb_1_dwc3_hs {
1030	remote-endpoint = <&pmic_glink_con1_hs>;
1031};
1032
1033&usb_1_hsphy {
1034	vdda-pll-supply = <&vreg_l4b>;
1035	vdda18-supply = <&vreg_l1c>;
1036	vdda33-supply = <&vreg_l13c>;
1037
1038	status = "okay";
1039};
1040
1041&usb_1_qmpphy {
1042	vdda-phy-supply = <&vreg_l3b>;
1043	vdda-pll-supply = <&vreg_l4b>;
1044
1045	orientation-switch;
1046
1047	status = "okay";
1048};
1049
1050&usb_1_qmpphy_dp_in {
1051	remote-endpoint = <&mdss0_dp1_out>;
1052};
1053
1054&usb_1_qmpphy_out {
1055	remote-endpoint = <&pmic_glink_con1_ss>;
1056};
1057
1058&usb_2 {
1059	pinctrl-0 = <&usb2_en_state>;
1060	pinctrl-names = "default";
1061
1062	status = "okay";
1063};
1064
1065&usb_2_dwc3 {
1066	phys = <&usb_2_hsphy0>, <&usb_2_qmpphy0>;
1067	phy-names = "usb2-0", "usb3-0";
1068};
1069
1070&usb_2_hsphy0 {
1071	vdda-pll-supply = <&vreg_l1b>;
1072	vdda18-supply = <&vreg_l1c>;
1073	vdda33-supply = <&vreg_l7d>;
1074
1075	status = "okay";
1076};
1077
1078&usb_2_qmpphy0 {
1079	vdda-phy-supply = <&vreg_l1b>;
1080	vdda-pll-supply = <&vreg_l4d>;
1081
1082	status = "okay";
1083};
1084
1085&vamacro {
1086	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
1087	pinctrl-names = "default";
1088
1089	vdd-micb-supply = <&vreg_s10b>;
1090
1091	qcom,dmic-sample-rate = <4800000>;
1092
1093	status = "okay";
1094};
1095
1096&wsamacro {
1097	status = "okay";
1098};
1099
1100&xo_board_clk {
1101	clock-frequency = <38400000>;
1102};
1103
1104/* PINCTRL */
1105
1106&lpass_tlmm {
1107	status = "okay";
1108};
1109
1110&pmc8280_1_gpios {
1111	misc_3p3_reg_en: misc-3p3-reg-en-state {
1112		pins = "gpio1";
1113		function = "normal";
1114	};
1115
1116	edp_bl_en: edp-bl-en-state {
1117		pins = "gpio8";
1118		function = "normal";
1119	};
1120
1121	edp_bl_reg_en: edp-bl-reg-en-state {
1122		pins = "gpio9";
1123		function = "normal";
1124	};
1125};
1126
1127&pmc8280_2_gpios {
1128	wwan_sw_en: wwan-sw-en-state {
1129		pins = "gpio1";
1130		function = "normal";
1131	};
1132};
1133
1134&pmc8280c_gpios {
1135	edp_bl_pwm: edp-bl-pwm-state {
1136		pins = "gpio8";
1137		function = "func1";
1138	};
1139};
1140
1141&pmr735a_gpios {
1142	hastings_reg_en: hastings-reg-en-state {
1143		pins = "gpio1";
1144		function = "normal";
1145	};
1146};
1147
1148&tlmm {
1149	bt_default: bt-default-state {
1150		hstp-bt-en-pins {
1151			pins = "gpio133";
1152			function = "gpio";
1153			drive-strength = <16>;
1154			bias-disable;
1155		};
1156
1157		hstp-sw-ctrl-pins {
1158			pins = "gpio132";
1159			function = "gpio";
1160			bias-pull-down;
1161		};
1162	};
1163
1164	nvme_reg_en: nvme-reg-en-state {
1165		pins = "gpio135";
1166		function = "gpio";
1167		drive-strength = <2>;
1168		bias-disable;
1169	};
1170
1171	pcie2a_default: pcie2a-default-state {
1172		clkreq-n-pins {
1173			pins = "gpio142";
1174			function = "pcie2a_clkreq";
1175			drive-strength = <2>;
1176			bias-pull-up;
1177		};
1178
1179		perst-n-pins {
1180			pins = "gpio143";
1181			function = "gpio";
1182			drive-strength = <2>;
1183			bias-disable;
1184		};
1185
1186		wake-n-pins {
1187			pins = "gpio145";
1188			function = "gpio";
1189			drive-strength = <2>;
1190			bias-pull-up;
1191		};
1192	};
1193
1194	pcie3a_default: pcie3a-default-state {
1195		clkreq-n-pins {
1196			pins = "gpio150";
1197			function = "pcie3a_clkreq";
1198			drive-strength = <2>;
1199			bias-pull-up;
1200		};
1201
1202		perst-n-pins {
1203			pins = "gpio151";
1204			function = "gpio";
1205			drive-strength = <2>;
1206			bias-disable;
1207		};
1208
1209		wake-n-pins {
1210			pins = "gpio148";
1211			function = "gpio";
1212			drive-strength = <2>;
1213			bias-pull-up;
1214		};
1215	};
1216
1217	pcie4_default: pcie4-default-state {
1218		clkreq-n-pins {
1219			pins = "gpio140";
1220			function = "pcie4_clkreq";
1221			drive-strength = <2>;
1222			bias-pull-up;
1223		};
1224
1225		perst-n-pins {
1226			pins = "gpio141";
1227			function = "gpio";
1228			drive-strength = <2>;
1229			bias-disable;
1230		};
1231
1232		wake-n-pins {
1233			pins = "gpio139";
1234			function = "gpio";
1235			drive-strength = <2>;
1236			bias-pull-up;
1237		};
1238	};
1239
1240	uart2_default: uart2-default-state {
1241		cts-pins {
1242			pins = "gpio121";
1243			function = "qup2";
1244			bias-bus-hold;
1245		};
1246
1247		rts-pins {
1248			pins = "gpio122";
1249			function = "qup2";
1250			drive-strength = <2>;
1251			bias-disable;
1252		};
1253
1254		rx-pins {
1255			pins = "gpio124";
1256			function = "qup2";
1257			bias-pull-up;
1258		};
1259
1260		tx-pins {
1261			pins = "gpio123";
1262			function = "qup2";
1263			drive-strength = <2>;
1264			bias-disable;
1265		};
1266	};
1267
1268	usb0_sbu_default: usb0-sbu-state {
1269		oe-n-pins {
1270			pins = "gpio101";
1271			function = "gpio";
1272			bias-disable;
1273			drive-strength = <16>;
1274			output-high;
1275		};
1276
1277		sel-pins {
1278			pins = "gpio164";
1279			function = "gpio";
1280			bias-disable;
1281			drive-strength = <16>;
1282		};
1283	};
1284
1285	usb1_sbu_default: usb1-sbu-state {
1286		oe-n-pins {
1287			pins = "gpio48";
1288			function = "gpio";
1289			bias-disable;
1290			drive-strength = <16>;
1291			output-high;
1292		};
1293
1294		sel-pins {
1295			pins = "gpio47";
1296			function = "gpio";
1297			bias-disable;
1298			drive-strength = <16>;
1299		};
1300	};
1301
1302	usb2_en_state: usb2-en-state {
1303		/* TS3USB221A USB2.0 mux select */
1304		pins = "gpio24";
1305		function = "gpio";
1306		drive-strength = <2>;
1307		bias-disable;
1308		output-low;
1309	};
1310
1311	wcd_default: wcd-default-state {
1312		reset-pins {
1313			pins = "gpio106";
1314			function = "gpio";
1315			bias-disable;
1316		};
1317	};
1318
1319	wlan_en: wlan-en-state {
1320		pins = "gpio134";
1321		function = "gpio";
1322		drive-strength = <8>;
1323		bias-pull-down;
1324	};
1325};
1326