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