xref: /linux/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts (revision d8d2b1f81530988abe2e2bfaceec1c5d30b9a0b4)
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 <merckhung@gmail.com>
6 * Copyright (c) 2023, 2024 Jens Glathe <jens.glathe@oldschoolsolutions.biz>
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_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&gpi_dma0 {
569	status = "okay";
570};
571
572&gpi_dma1 {
573	status = "okay";
574};
575
576&gpi_dma2 {
577	status = "okay";
578};
579
580&gpu {
581	status = "okay";
582
583	zap-shader {
584		memory-region = <&gpu_mem>;
585		firmware-name = "qcom/sc8280xp/microsoft/blackrock/qcdxkmsuc8280.mbn";
586	};
587};
588
589&mdss0 {
590	status = "okay";
591};
592
593&mdss0_dp0 {
594	status = "okay";
595};
596
597&mdss0_dp0_out {
598	data-lanes = <0 1>;
599	remote-endpoint = <&usb_0_qmpphy_dp_in>;
600};
601
602&mdss0_dp1 {
603	status = "okay";
604};
605
606&mdss0_dp1_out {
607	data-lanes = <0 1>;
608	remote-endpoint = <&usb_1_qmpphy_dp_in>;
609};
610
611&mdss0_dp2 {
612	compatible = "qcom,sc8280xp-dp";
613
614	data-lanes = <0 1 2 3>;
615
616	status = "okay";
617};
618
619&mdss0_dp2_out {
620	remote-endpoint = <&dp1_connector_in>;
621};
622
623&mdss0_dp2_phy {
624	compatible = "qcom,sc8280xp-dp-phy";
625
626	vdda-phy-supply = <&vreg_l3b>;
627	vdda-pll-supply = <&vreg_l6b>;
628
629	status = "okay";
630};
631
632&pcie2a {
633	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
634	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
635
636	vddpe-3v3-supply = <&vreg_nvme>;
637
638	pinctrl-0 = <&pcie2a_default>;
639	pinctrl-names = "default";
640
641	status = "okay";
642};
643
644&pcie2a_phy {
645	vdda-phy-supply = <&vreg_l4d>;
646	vdda-pll-supply = <&vreg_l6d>;
647
648	status = "okay";
649};
650
651&pcie4 {
652	max-link-speed = <2>;
653
654	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
655	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
656
657	vddpe-3v3-supply = <&vreg_wlan>;
658
659	pinctrl-0 = <&pcie4_default>;
660	pinctrl-names = "default";
661
662	status = "okay";
663};
664
665&pcie4_port0 {
666	wifi@0 {
667		compatible = "pci17cb,1103";
668		reg = <0x10000 0x0 0x0 0x0 0x0>;
669
670		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
671		vddaon-supply = <&vreg_pmu_aon_0p8>;
672		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
673		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
674		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
675		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
676		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
677		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
678		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
679
680		qcom,calibration-variant = "MS_Volterra";
681	};
682};
683
684&pcie4_phy {
685	vdda-phy-supply = <&vreg_l4d>;
686	vdda-pll-supply = <&vreg_l6d>;
687
688	status = "okay";
689};
690
691&pmc8280c_lpg {
692	status = "okay";
693};
694
695&pmk8280_adc_tm {
696	status = "okay";
697
698	sys-therm@0 {
699		reg = <0>;
700		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
701		qcom,hw-settle-time-us = <200>;
702		qcom,avg-samples = <2>;
703		qcom,ratiometric;
704	};
705
706	sys-therm@1 {
707		reg = <1>;
708		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
709		qcom,hw-settle-time-us = <200>;
710		qcom,avg-samples = <2>;
711		qcom,ratiometric;
712	};
713
714	sys-therm@2 {
715		reg = <2>;
716		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
717		qcom,hw-settle-time-us = <200>;
718		qcom,avg-samples = <2>;
719		qcom,ratiometric;
720	};
721
722	sys-therm@3 {
723		reg = <3>;
724		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
725		qcom,hw-settle-time-us = <200>;
726		qcom,avg-samples = <2>;
727		qcom,ratiometric;
728	};
729
730	sys-therm@4 {
731		reg = <4>;
732		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
733		qcom,hw-settle-time-us = <200>;
734		qcom,avg-samples = <2>;
735		qcom,ratiometric;
736	};
737
738	sys-therm@5 {
739		reg = <5>;
740		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
741		qcom,hw-settle-time-us = <200>;
742		qcom,avg-samples = <2>;
743		qcom,ratiometric;
744	};
745
746	sys-therm@6 {
747		reg = <6>;
748		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
749		qcom,hw-settle-time-us = <200>;
750		qcom,avg-samples = <2>;
751		qcom,ratiometric;
752	};
753
754	sys-therm@7 {
755		reg = <7>;
756		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
757		qcom,hw-settle-time-us = <200>;
758		qcom,avg-samples = <2>;
759		qcom,ratiometric;
760	};
761};
762
763&pmk8280_pon_pwrkey {
764	status = "okay";
765};
766
767&pmk8280_pon_resin {
768	status = "okay";
769};
770
771&pmk8280_rtc {
772	nvmem-cells = <&rtc_offset>;
773	nvmem-cell-names = "offset";
774
775	status = "okay";
776};
777
778&pmk8280_sdam_6 {
779	status = "okay";
780
781	rtc_offset: rtc-offset@bc {
782		reg = <0xbc 0x4>;
783	};
784};
785
786&pmk8280_vadc {
787	channel@144 {
788		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
789		qcom,hw-settle-time = <200>;
790		qcom,ratiometric;
791		label = "sys_therm1";
792	};
793
794	channel@145 {
795		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
796		qcom,hw-settle-time = <200>;
797		qcom,ratiometric;
798		label = "sys_therm2";
799	};
800
801	channel@146 {
802		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
803		qcom,hw-settle-time = <200>;
804		qcom,ratiometric;
805		label = "sys_therm3";
806	};
807
808	channel@147 {
809		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
810		qcom,hw-settle-time = <200>;
811		qcom,ratiometric;
812		label = "sys_therm4";
813	};
814
815	channel@344 {
816		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
817		qcom,hw-settle-time = <200>;
818		qcom,ratiometric;
819		label = "sys_therm5";
820	};
821
822	channel@345 {
823		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
824		qcom,hw-settle-time = <200>;
825		qcom,ratiometric;
826		label = "sys_therm6";
827	};
828
829	channel@346 {
830		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
831		qcom,hw-settle-time = <200>;
832		qcom,ratiometric;
833		label = "sys_therm7";
834	};
835
836	channel@347 {
837		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
838		qcom,hw-settle-time = <200>;
839		qcom,ratiometric;
840		label = "sys_therm8";
841	};
842};
843
844&qup0 {
845	status = "okay";
846};
847
848&qup1 {
849	status = "okay";
850};
851
852&qup2 {
853	status = "okay";
854};
855
856&remoteproc_adsp {
857	firmware-name = "qcom/sc8280xp/microsoft/blackrock/qcadsp8280.mbn";
858
859	status = "okay";
860};
861
862&remoteproc_nsp0 {
863	firmware-name = "qcom/sc8280xp/microsoft/blackrock/qccdsp8280.mbn";
864
865	status = "okay";
866};
867
868&rxmacro {
869	status = "okay";
870};
871
872&sound {
873	compatible = "qcom,sc8280xp-sndcard";
874	model = "microsoft/blackrock";
875
876	wcd-playback-dai-link {
877		link-name = "WCD Playback";
878
879		cpu {
880			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
881		};
882
883		codec {
884			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
885		};
886
887		platform {
888			sound-dai = <&q6apm>;
889		};
890	};
891
892	wcd-capture-dai-link {
893		link-name = "WCD Capture";
894
895		cpu {
896			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
897		};
898
899		codec {
900			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
901		};
902
903		platform {
904			sound-dai = <&q6apm>;
905		};
906	};
907
908	wsa-dai-link {
909		link-name = "WSA Playback";
910
911		cpu {
912			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
913		};
914
915		codec {
916			sound-dai = <&swr0 0>, <&wsamacro 0>;
917		};
918
919		platform {
920			sound-dai = <&q6apm>;
921		};
922	};
923
924	va-dai-link {
925		link-name = "VA Capture";
926
927		cpu {
928			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
929		};
930
931		platform {
932			sound-dai = <&q6apm>;
933		};
934
935		codec {
936			sound-dai = <&vamacro 0>;
937		};
938	};
939};
940
941&swr0 {
942	status = "okay";
943};
944
945&swr1 {
946	status = "okay";
947
948	wcd_rx: wcd9380-rx@0,4 {
949		compatible = "sdw20217010d00";
950		reg = <0 4>;
951		qcom,rx-port-mapping = <1 2 3 4 5>;
952	};
953};
954
955&swr2 {
956	status = "okay";
957
958	wcd_tx: wcd9380-tx@0,3 {
959		compatible = "sdw20217010d00";
960		reg = <0 3>;
961		qcom,tx-port-mapping = <1 1 2 3>;
962	};
963};
964
965&txmacro {
966	status = "okay";
967};
968
969&uart2 {
970	pinctrl-0 = <&uart2_default>;
971	pinctrl-names = "default";
972
973	status = "okay";
974
975	bluetooth {
976		compatible = "qcom,wcn6855-bt";
977
978		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
979		vddaon-supply = <&vreg_pmu_aon_0p8>;
980		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
981		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
982		vddbtcmx-supply = <&vreg_pmu_btcmx_0p8>;
983		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
984		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
985		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
986
987		max-speed = <3200000>;
988	};
989};
990
991&usb_0 {
992	status = "okay";
993};
994
995&usb_0_dwc3 {
996	dr_mode = "host";
997};
998
999&usb_0_dwc3_hs {
1000	remote-endpoint = <&pmic_glink_con0_hs>;
1001};
1002
1003&usb_0_hsphy {
1004	vdda-pll-supply = <&vreg_l9d>;
1005	vdda18-supply = <&vreg_l1c>;
1006	vdda33-supply = <&vreg_l7d>;
1007
1008	status = "okay";
1009};
1010
1011&usb_0_qmpphy {
1012	vdda-phy-supply = <&vreg_l4d>;
1013	vdda-pll-supply = <&vreg_l9d>;
1014
1015	orientation-switch;
1016
1017	status = "okay";
1018};
1019
1020&usb_0_qmpphy_dp_in {
1021	remote-endpoint = <&mdss0_dp0_out>;
1022};
1023
1024&usb_0_qmpphy_out {
1025	remote-endpoint = <&pmic_glink_con0_ss>;
1026};
1027
1028&usb_1 {
1029	status = "okay";
1030};
1031
1032&usb_1_dwc3 {
1033	dr_mode = "host";
1034};
1035
1036&usb_1_dwc3_hs {
1037	remote-endpoint = <&pmic_glink_con1_hs>;
1038};
1039
1040&usb_1_hsphy {
1041	vdda-pll-supply = <&vreg_l4b>;
1042	vdda18-supply = <&vreg_l1c>;
1043	vdda33-supply = <&vreg_l13c>;
1044
1045	status = "okay";
1046};
1047
1048&usb_1_qmpphy {
1049	vdda-phy-supply = <&vreg_l3b>;
1050	vdda-pll-supply = <&vreg_l4b>;
1051
1052	orientation-switch;
1053
1054	status = "okay";
1055};
1056
1057&usb_1_qmpphy_dp_in {
1058	remote-endpoint = <&mdss0_dp1_out>;
1059};
1060
1061&usb_1_qmpphy_out {
1062	remote-endpoint = <&pmic_glink_con1_ss>;
1063};
1064
1065&usb_2 {
1066	pinctrl-0 = <&usb2_en_state>;
1067	pinctrl-names = "default";
1068
1069	status = "okay";
1070};
1071
1072&usb_2_dwc3 {
1073	phys = <&usb_2_hsphy0>, <&usb_2_qmpphy0>;
1074	phy-names = "usb2-0", "usb3-0";
1075};
1076
1077&usb_2_hsphy0 {
1078	vdda-pll-supply = <&vreg_l1b>;
1079	vdda18-supply = <&vreg_l1c>;
1080	vdda33-supply = <&vreg_l7d>;
1081
1082	status = "okay";
1083};
1084
1085&usb_2_qmpphy0 {
1086	vdda-phy-supply = <&vreg_l1b>;
1087	vdda-pll-supply = <&vreg_l4d>;
1088
1089	status = "okay";
1090};
1091
1092&vamacro {
1093	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
1094	pinctrl-names = "default";
1095
1096	vdd-micb-supply = <&vreg_s10b>;
1097
1098	qcom,dmic-sample-rate = <4800000>;
1099
1100	status = "okay";
1101};
1102
1103&wsamacro {
1104	status = "okay";
1105};
1106
1107&xo_board_clk {
1108	clock-frequency = <38400000>;
1109};
1110
1111/* PINCTRL */
1112
1113&lpass_tlmm {
1114	status = "okay";
1115};
1116
1117&pmc8280_1_gpios {
1118	misc_3p3_reg_en: misc-3p3-reg-en-state {
1119		pins = "gpio1";
1120		function = "normal";
1121	};
1122
1123	edp_bl_en: edp-bl-en-state {
1124		pins = "gpio8";
1125		function = "normal";
1126	};
1127
1128	edp_bl_reg_en: edp-bl-reg-en-state {
1129		pins = "gpio9";
1130		function = "normal";
1131	};
1132};
1133
1134&pmc8280_2_gpios {
1135	wwan_sw_en: wwan-sw-en-state {
1136		pins = "gpio1";
1137		function = "normal";
1138	};
1139};
1140
1141&pmc8280c_gpios {
1142	edp_bl_pwm: edp-bl-pwm-state {
1143		pins = "gpio8";
1144		function = "func1";
1145	};
1146};
1147
1148&pmr735a_gpios {
1149	hastings_reg_en: hastings-reg-en-state {
1150		pins = "gpio1";
1151		function = "normal";
1152	};
1153};
1154
1155&tlmm {
1156	bt_default: bt-default-state {
1157		hstp-bt-en-pins {
1158			pins = "gpio133";
1159			function = "gpio";
1160			drive-strength = <16>;
1161			bias-disable;
1162		};
1163
1164		hstp-sw-ctrl-pins {
1165			pins = "gpio132";
1166			function = "gpio";
1167			bias-pull-down;
1168		};
1169	};
1170
1171	nvme_reg_en: nvme-reg-en-state {
1172		pins = "gpio135";
1173		function = "gpio";
1174		drive-strength = <2>;
1175		bias-disable;
1176	};
1177
1178	pcie2a_default: pcie2a-default-state {
1179		clkreq-n-pins {
1180			pins = "gpio142";
1181			function = "pcie2a_clkreq";
1182			drive-strength = <2>;
1183			bias-pull-up;
1184		};
1185
1186		perst-n-pins {
1187			pins = "gpio143";
1188			function = "gpio";
1189			drive-strength = <2>;
1190			bias-disable;
1191		};
1192
1193		wake-n-pins {
1194			pins = "gpio145";
1195			function = "gpio";
1196			drive-strength = <2>;
1197			bias-pull-up;
1198		};
1199	};
1200
1201	pcie3a_default: pcie3a-default-state {
1202		clkreq-n-pins {
1203			pins = "gpio150";
1204			function = "pcie3a_clkreq";
1205			drive-strength = <2>;
1206			bias-pull-up;
1207		};
1208
1209		perst-n-pins {
1210			pins = "gpio151";
1211			function = "gpio";
1212			drive-strength = <2>;
1213			bias-disable;
1214		};
1215
1216		wake-n-pins {
1217			pins = "gpio148";
1218			function = "gpio";
1219			drive-strength = <2>;
1220			bias-pull-up;
1221		};
1222	};
1223
1224	pcie4_default: pcie4-default-state {
1225		clkreq-n-pins {
1226			pins = "gpio140";
1227			function = "pcie4_clkreq";
1228			drive-strength = <2>;
1229			bias-pull-up;
1230		};
1231
1232		perst-n-pins {
1233			pins = "gpio141";
1234			function = "gpio";
1235			drive-strength = <2>;
1236			bias-disable;
1237		};
1238
1239		wake-n-pins {
1240			pins = "gpio139";
1241			function = "gpio";
1242			drive-strength = <2>;
1243			bias-pull-up;
1244		};
1245	};
1246
1247	uart2_default: uart2-default-state {
1248		cts-pins {
1249			pins = "gpio121";
1250			function = "qup2";
1251			bias-bus-hold;
1252		};
1253
1254		rts-pins {
1255			pins = "gpio122";
1256			function = "qup2";
1257			drive-strength = <2>;
1258			bias-disable;
1259		};
1260
1261		rx-pins {
1262			pins = "gpio124";
1263			function = "qup2";
1264			bias-pull-up;
1265		};
1266
1267		tx-pins {
1268			pins = "gpio123";
1269			function = "qup2";
1270			drive-strength = <2>;
1271			bias-disable;
1272		};
1273	};
1274
1275	usb0_sbu_default: usb0-sbu-state {
1276		oe-n-pins {
1277			pins = "gpio101";
1278			function = "gpio";
1279			bias-disable;
1280			drive-strength = <16>;
1281			output-high;
1282		};
1283
1284		sel-pins {
1285			pins = "gpio164";
1286			function = "gpio";
1287			bias-disable;
1288			drive-strength = <16>;
1289		};
1290	};
1291
1292	usb1_sbu_default: usb1-sbu-state {
1293		oe-n-pins {
1294			pins = "gpio48";
1295			function = "gpio";
1296			bias-disable;
1297			drive-strength = <16>;
1298			output-high;
1299		};
1300
1301		sel-pins {
1302			pins = "gpio47";
1303			function = "gpio";
1304			bias-disable;
1305			drive-strength = <16>;
1306		};
1307	};
1308
1309	usb2_en_state: usb2-en-state {
1310		/* TS3USB221A USB2.0 mux select */
1311		pins = "gpio24";
1312		function = "gpio";
1313		drive-strength = <2>;
1314		bias-disable;
1315		output-low;
1316	};
1317
1318	wcd_default: wcd-default-state {
1319		reset-pins {
1320			pins = "gpio106";
1321			function = "gpio";
1322			bias-disable;
1323		};
1324	};
1325
1326	wlan_en: wlan-en-state {
1327		pins = "gpio134";
1328		function = "gpio";
1329		drive-strength = <8>;
1330		bias-pull-down;
1331	};
1332};
1333