xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/sc8280xp-microsoft-arcata.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1f6231a2eSJérôme de Bretagne// SPDX-License-Identifier: BSD-3-Clause
2f6231a2eSJérôme de Bretagne/*
3f6231a2eSJérôme de Bretagne * Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com>
4f6231a2eSJérôme de Bretagne */
5f6231a2eSJérôme de Bretagne
6f6231a2eSJérôme de Bretagne/dts-v1/;
7f6231a2eSJérôme de Bretagne
8f6231a2eSJérôme de Bretagne#include <dt-bindings/gpio/gpio.h>
9f6231a2eSJérôme de Bretagne#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10f6231a2eSJérôme de Bretagne
11f6231a2eSJérôme de Bretagne#include "sc8280xp.dtsi"
12f6231a2eSJérôme de Bretagne#include "sc8280xp-pmics.dtsi"
13f6231a2eSJérôme de Bretagne
14f6231a2eSJérôme de Bretagne/ {
15f6231a2eSJérôme de Bretagne	model = "Microsoft Surface Pro 9 5G";
16f6231a2eSJérôme de Bretagne	compatible = "microsoft,arcata", "qcom,sc8280xp";
17f6231a2eSJérôme de Bretagne
18f6231a2eSJérôme de Bretagne	aliases {
19f6231a2eSJérôme de Bretagne		serial0 = &uart18;
20f6231a2eSJérôme de Bretagne		serial1 = &uart2;
21f6231a2eSJérôme de Bretagne	};
22f6231a2eSJérôme de Bretagne
23f6231a2eSJérôme de Bretagne	wcd938x: audio-codec {
24f6231a2eSJérôme de Bretagne		compatible = "qcom,wcd9380-codec";
25f6231a2eSJérôme de Bretagne
26f6231a2eSJérôme de Bretagne		pinctrl-0 = <&wcd_default>;
27f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
28f6231a2eSJérôme de Bretagne
29f6231a2eSJérôme de Bretagne		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
30f6231a2eSJérôme de Bretagne
31f6231a2eSJérôme de Bretagne		vdd-buck-supply = <&vreg_s10b>;
32f6231a2eSJérôme de Bretagne		vdd-rxtx-supply = <&vreg_s10b>;
33f6231a2eSJérôme de Bretagne		vdd-io-supply = <&vreg_s10b>;
34f6231a2eSJérôme de Bretagne		vdd-mic-bias-supply = <&vreg_bob>;
35f6231a2eSJérôme de Bretagne
36f6231a2eSJérôme de Bretagne		qcom,micbias1-microvolt = <1800000>;
37f6231a2eSJérôme de Bretagne		qcom,micbias2-microvolt = <1800000>;
38f6231a2eSJérôme de Bretagne		qcom,micbias3-microvolt = <1800000>;
39f6231a2eSJérôme de Bretagne		qcom,micbias4-microvolt = <1800000>;
40f6231a2eSJérôme de Bretagne		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
41f6231a2eSJérôme de Bretagne		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
42f6231a2eSJérôme de Bretagne		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
43f6231a2eSJérôme de Bretagne		qcom,rx-device = <&wcd_rx>;
44f6231a2eSJérôme de Bretagne		qcom,tx-device = <&wcd_tx>;
45f6231a2eSJérôme de Bretagne
46f6231a2eSJérôme de Bretagne		#sound-dai-cells = <1>;
47f6231a2eSJérôme de Bretagne	};
48f6231a2eSJérôme de Bretagne
49f6231a2eSJérôme de Bretagne	pmic-glink {
50f6231a2eSJérôme de Bretagne		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
51f6231a2eSJérôme de Bretagne
52f6231a2eSJérôme de Bretagne		#address-cells = <1>;
53f6231a2eSJérôme de Bretagne		#size-cells = <0>;
54f6231a2eSJérôme de Bretagne
55f6231a2eSJérôme de Bretagne		/* Left-side top port */
56f6231a2eSJérôme de Bretagne		connector@0 {
57f6231a2eSJérôme de Bretagne			compatible = "usb-c-connector";
58f6231a2eSJérôme de Bretagne			reg = <0>;
59f6231a2eSJérôme de Bretagne			power-role = "dual";
60f6231a2eSJérôme de Bretagne			data-role = "dual";
61f6231a2eSJérôme de Bretagne
62f6231a2eSJérôme de Bretagne			ports {
63f6231a2eSJérôme de Bretagne				#address-cells = <1>;
64f6231a2eSJérôme de Bretagne				#size-cells = <0>;
65f6231a2eSJérôme de Bretagne
66f6231a2eSJérôme de Bretagne				port@0 {
67f6231a2eSJérôme de Bretagne					reg = <0>;
68f6231a2eSJérôme de Bretagne
69f6231a2eSJérôme de Bretagne					pmic_glink_con0_hs: endpoint {
70f6231a2eSJérôme de Bretagne						remote-endpoint = <&usb_0_dwc3_hs>;
71f6231a2eSJérôme de Bretagne					};
72f6231a2eSJérôme de Bretagne				};
73f6231a2eSJérôme de Bretagne
74f6231a2eSJérôme de Bretagne				port@1 {
75f6231a2eSJérôme de Bretagne					reg = <1>;
76f6231a2eSJérôme de Bretagne
77f6231a2eSJérôme de Bretagne					pmic_glink_con0_ss: endpoint {
78f6231a2eSJérôme de Bretagne						remote-endpoint = <&usb_0_qmpphy_out>;
79f6231a2eSJérôme de Bretagne					};
80f6231a2eSJérôme de Bretagne				};
81f6231a2eSJérôme de Bretagne
82f6231a2eSJérôme de Bretagne				port@2 {
83f6231a2eSJérôme de Bretagne					reg = <2>;
84f6231a2eSJérôme de Bretagne
85f6231a2eSJérôme de Bretagne					pmic_glink_con0_sbu: endpoint {
86f6231a2eSJérôme de Bretagne						remote-endpoint = <&usb0_sbu_mux>;
87f6231a2eSJérôme de Bretagne					};
88f6231a2eSJérôme de Bretagne				};
89f6231a2eSJérôme de Bretagne			};
90f6231a2eSJérôme de Bretagne		};
91f6231a2eSJérôme de Bretagne
92f6231a2eSJérôme de Bretagne		/* Left-side bottom port */
93f6231a2eSJérôme de Bretagne		connector@1 {
94f6231a2eSJérôme de Bretagne			compatible = "usb-c-connector";
95f6231a2eSJérôme de Bretagne			reg = <1>;
96f6231a2eSJérôme de Bretagne			power-role = "dual";
97f6231a2eSJérôme de Bretagne			data-role = "dual";
98f6231a2eSJérôme de Bretagne
99f6231a2eSJérôme de Bretagne			ports {
100f6231a2eSJérôme de Bretagne				#address-cells = <1>;
101f6231a2eSJérôme de Bretagne				#size-cells = <0>;
102f6231a2eSJérôme de Bretagne
103f6231a2eSJérôme de Bretagne				port@0 {
104f6231a2eSJérôme de Bretagne					reg = <0>;
105f6231a2eSJérôme de Bretagne
106f6231a2eSJérôme de Bretagne					pmic_glink_con1_hs: endpoint {
107f6231a2eSJérôme de Bretagne						remote-endpoint = <&usb_1_dwc3_hs>;
108f6231a2eSJérôme de Bretagne					};
109f6231a2eSJérôme de Bretagne				};
110f6231a2eSJérôme de Bretagne
111f6231a2eSJérôme de Bretagne				port@1 {
112f6231a2eSJérôme de Bretagne					reg = <1>;
113f6231a2eSJérôme de Bretagne
114f6231a2eSJérôme de Bretagne					pmic_glink_con1_ss: endpoint {
115f6231a2eSJérôme de Bretagne						remote-endpoint = <&usb_1_qmpphy_out>;
116f6231a2eSJérôme de Bretagne					};
117f6231a2eSJérôme de Bretagne				};
118f6231a2eSJérôme de Bretagne
119f6231a2eSJérôme de Bretagne				port@2 {
120f6231a2eSJérôme de Bretagne					reg = <2>;
121f6231a2eSJérôme de Bretagne
122f6231a2eSJérôme de Bretagne					pmic_glink_con1_sbu: endpoint {
123f6231a2eSJérôme de Bretagne						remote-endpoint = <&usb1_sbu_mux>;
124f6231a2eSJérôme de Bretagne					};
125f6231a2eSJérôme de Bretagne				};
126f6231a2eSJérôme de Bretagne			};
127f6231a2eSJérôme de Bretagne		};
128f6231a2eSJérôme de Bretagne	};
129f6231a2eSJérôme de Bretagne
130f6231a2eSJérôme de Bretagne	vreg_nvme: regulator-nvme {
131f6231a2eSJérôme de Bretagne		compatible = "regulator-fixed";
132f6231a2eSJérôme de Bretagne
133f6231a2eSJérôme de Bretagne		regulator-name = "VCC3_SSD";
134f6231a2eSJérôme de Bretagne		regulator-min-microvolt = <3300000>;
135f6231a2eSJérôme de Bretagne		regulator-max-microvolt = <3300000>;
136f6231a2eSJérôme de Bretagne
137f6231a2eSJérôme de Bretagne		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
138f6231a2eSJérôme de Bretagne		enable-active-high;
139f6231a2eSJérôme de Bretagne
140f6231a2eSJérôme de Bretagne		pinctrl-0 = <&nvme_reg_en>;
141f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
142f6231a2eSJérôme de Bretagne
143f6231a2eSJérôme de Bretagne		regulator-boot-on;
144f6231a2eSJérôme de Bretagne	};
145f6231a2eSJérôme de Bretagne
146f6231a2eSJérôme de Bretagne	vreg_vph_pwr: regulator-vph-pwr {
147f6231a2eSJérôme de Bretagne		compatible = "regulator-fixed";
148f6231a2eSJérôme de Bretagne
149f6231a2eSJérôme de Bretagne		regulator-name = "VPH_VCC3R9";
150f6231a2eSJérôme de Bretagne		regulator-min-microvolt = <3900000>;
151f6231a2eSJérôme de Bretagne		regulator-max-microvolt = <3900000>;
152f6231a2eSJérôme de Bretagne
153f6231a2eSJérôme de Bretagne		regulator-always-on;
154f6231a2eSJérôme de Bretagne	};
155f6231a2eSJérôme de Bretagne
156f6231a2eSJérôme de Bretagne	vreg_wlan: regulator-wlan {
157f6231a2eSJérôme de Bretagne		compatible = "regulator-fixed";
158f6231a2eSJérôme de Bretagne
159f6231a2eSJérôme de Bretagne		regulator-name = "VCC_WLAN_3R9";
160f6231a2eSJérôme de Bretagne		regulator-min-microvolt = <3900000>;
161f6231a2eSJérôme de Bretagne		regulator-max-microvolt = <3900000>;
162f6231a2eSJérôme de Bretagne
163f6231a2eSJérôme de Bretagne		gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
164f6231a2eSJérôme de Bretagne		enable-active-high;
165f6231a2eSJérôme de Bretagne
166f6231a2eSJérôme de Bretagne		pinctrl-0 = <&hastings_reg_en>;
167f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
168f6231a2eSJérôme de Bretagne
169f6231a2eSJérôme de Bretagne		regulator-boot-on;
170f6231a2eSJérôme de Bretagne	};
171f6231a2eSJérôme de Bretagne
172f6231a2eSJérôme de Bretagne	vreg_wwan: regulator-wwan {
173f6231a2eSJérôme de Bretagne		compatible = "regulator-fixed";
174f6231a2eSJérôme de Bretagne
175f6231a2eSJérôme de Bretagne		regulator-name = "VCC3B_WAN";
176f6231a2eSJérôme de Bretagne		regulator-min-microvolt = <3300000>;
177f6231a2eSJérôme de Bretagne		regulator-max-microvolt = <3300000>;
178f6231a2eSJérôme de Bretagne
179f6231a2eSJérôme de Bretagne		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
180f6231a2eSJérôme de Bretagne		enable-active-high;
181f6231a2eSJérôme de Bretagne
182f6231a2eSJérôme de Bretagne		pinctrl-0 = <&wwan_sw_en>;
183f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
184f6231a2eSJérôme de Bretagne
185f6231a2eSJérôme de Bretagne		regulator-boot-on;
186f6231a2eSJérôme de Bretagne	};
187f6231a2eSJérôme de Bretagne
188f6231a2eSJérôme de Bretagne	reserved-memory {
189f6231a2eSJérôme de Bretagne		gpu_mem: gpu-mem@8bf00000 {
190f6231a2eSJérôme de Bretagne			reg = <0 0x8bf00000 0 0x2000>;
191f6231a2eSJérôme de Bretagne			no-map;
192f6231a2eSJérôme de Bretagne		};
193f6231a2eSJérôme de Bretagne
194f6231a2eSJérôme de Bretagne		linux,cma {
195f6231a2eSJérôme de Bretagne			compatible = "shared-dma-pool";
196f6231a2eSJérôme de Bretagne			size = <0x0 0x8000000>;
197f6231a2eSJérôme de Bretagne			reusable;
198f6231a2eSJérôme de Bretagne			linux,cma-default;
199f6231a2eSJérôme de Bretagne		};
200f6231a2eSJérôme de Bretagne	};
201f6231a2eSJérôme de Bretagne
202f6231a2eSJérôme de Bretagne	thermal-zones {
203f6231a2eSJérôme de Bretagne		skin-temp-thermal {
204f6231a2eSJérôme de Bretagne			polling-delay-passive = <250>;
205f6231a2eSJérôme de Bretagne
206f6231a2eSJérôme de Bretagne			thermal-sensors = <&pmk8280_adc_tm 5>;
207f6231a2eSJérôme de Bretagne
208f6231a2eSJérôme de Bretagne			trips {
209f6231a2eSJérôme de Bretagne				skin_temp_alert0: trip-point0 {
210f6231a2eSJérôme de Bretagne					temperature = <55000>;
211f6231a2eSJérôme de Bretagne					hysteresis = <1000>;
212f6231a2eSJérôme de Bretagne					type = "passive";
213f6231a2eSJérôme de Bretagne				};
214f6231a2eSJérôme de Bretagne
215f6231a2eSJérôme de Bretagne				skin_temp_alert1: trip-point1 {
216f6231a2eSJérôme de Bretagne					temperature = <58000>;
217f6231a2eSJérôme de Bretagne					hysteresis = <1000>;
218f6231a2eSJérôme de Bretagne					type = "passive";
219f6231a2eSJérôme de Bretagne				};
220f6231a2eSJérôme de Bretagne
221f6231a2eSJérôme de Bretagne				skin-temp-crit {
222f6231a2eSJérôme de Bretagne					temperature = <73000>;
223f6231a2eSJérôme de Bretagne					hysteresis = <1000>;
224f6231a2eSJérôme de Bretagne					type = "critical";
225f6231a2eSJérôme de Bretagne				};
226f6231a2eSJérôme de Bretagne			};
227f6231a2eSJérôme de Bretagne
228f6231a2eSJérôme de Bretagne			cooling-maps {
229f6231a2eSJérôme de Bretagne				map0 {
230f6231a2eSJérôme de Bretagne					trip = <&skin_temp_alert0>;
231183c7c04SKrzysztof Kozlowski					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
232183c7c04SKrzysztof Kozlowski							 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
233183c7c04SKrzysztof Kozlowski							 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
234183c7c04SKrzysztof Kozlowski							 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
235f6231a2eSJérôme de Bretagne				};
236f6231a2eSJérôme de Bretagne
237f6231a2eSJérôme de Bretagne				map1 {
238f6231a2eSJérôme de Bretagne					trip = <&skin_temp_alert1>;
239183c7c04SKrzysztof Kozlowski					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
240183c7c04SKrzysztof Kozlowski							 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
241183c7c04SKrzysztof Kozlowski							 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
242183c7c04SKrzysztof Kozlowski							 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
243f6231a2eSJérôme de Bretagne				};
244f6231a2eSJérôme de Bretagne			};
245f6231a2eSJérôme de Bretagne		};
246f6231a2eSJérôme de Bretagne	};
247f6231a2eSJérôme de Bretagne
248f6231a2eSJérôme de Bretagne	usb0-sbu-mux {
249f6231a2eSJérôme de Bretagne		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
250f6231a2eSJérôme de Bretagne
251f6231a2eSJérôme de Bretagne		enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
252f6231a2eSJérôme de Bretagne		select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
253f6231a2eSJérôme de Bretagne
254f6231a2eSJérôme de Bretagne		pinctrl-0 = <&usb0_sbu_default>;
255f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
256f6231a2eSJérôme de Bretagne
257f6231a2eSJérôme de Bretagne		mode-switch;
258f6231a2eSJérôme de Bretagne		orientation-switch;
259f6231a2eSJérôme de Bretagne
260f6231a2eSJérôme de Bretagne		port {
261f6231a2eSJérôme de Bretagne			usb0_sbu_mux: endpoint {
262f6231a2eSJérôme de Bretagne				remote-endpoint = <&pmic_glink_con0_sbu>;
263f6231a2eSJérôme de Bretagne			};
264f6231a2eSJérôme de Bretagne		};
265f6231a2eSJérôme de Bretagne	};
266f6231a2eSJérôme de Bretagne
267f6231a2eSJérôme de Bretagne	usb1-sbu-mux {
268f6231a2eSJérôme de Bretagne		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
269f6231a2eSJérôme de Bretagne
270f6231a2eSJérôme de Bretagne		enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
271f6231a2eSJérôme de Bretagne		select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
272f6231a2eSJérôme de Bretagne
273f6231a2eSJérôme de Bretagne		pinctrl-0 = <&usb1_sbu_default>;
274f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
275f6231a2eSJérôme de Bretagne
276f6231a2eSJérôme de Bretagne		mode-switch;
277f6231a2eSJérôme de Bretagne		orientation-switch;
278f6231a2eSJérôme de Bretagne
279f6231a2eSJérôme de Bretagne		port {
280f6231a2eSJérôme de Bretagne			usb1_sbu_mux: endpoint {
281f6231a2eSJérôme de Bretagne				remote-endpoint = <&pmic_glink_con1_sbu>;
282f6231a2eSJérôme de Bretagne			};
283f6231a2eSJérôme de Bretagne		};
284f6231a2eSJérôme de Bretagne	};
285f6231a2eSJérôme de Bretagne};
286f6231a2eSJérôme de Bretagne
287f6231a2eSJérôme de Bretagne&apps_rsc {
288f6231a2eSJérôme de Bretagne	regulators-0 {
289f6231a2eSJérôme de Bretagne		compatible = "qcom,pm8350-rpmh-regulators";
290f6231a2eSJérôme de Bretagne		qcom,pmic-id = "b";
291f6231a2eSJérôme de Bretagne
292f6231a2eSJérôme de Bretagne		vdd-l1-l4-supply = <&vreg_s12b>;
293f6231a2eSJérôme de Bretagne		vdd-l2-l7-supply = <&vreg_bob>;
294f6231a2eSJérôme de Bretagne		vdd-l3-l5-supply = <&vreg_s11b>;
295f6231a2eSJérôme de Bretagne		vdd-l6-l9-l10-supply = <&vreg_s12b>;
296f6231a2eSJérôme de Bretagne		vdd-l8-supply = <&vreg_s12b>;
297f6231a2eSJérôme de Bretagne
298f6231a2eSJérôme de Bretagne		vreg_s10b: smps10 {
299f6231a2eSJérôme de Bretagne			regulator-name = "vreg_s10b";
300f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1800000>;
301f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1800000>;
302f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
303f6231a2eSJérôme de Bretagne			regulator-always-on;
304f6231a2eSJérôme de Bretagne		};
305f6231a2eSJérôme de Bretagne
306f6231a2eSJérôme de Bretagne		vreg_s11b: smps11 {
307f6231a2eSJérôme de Bretagne			regulator-name = "vreg_s11b";
308f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1272000>;
309f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1272000>;
310f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
311f6231a2eSJérôme de Bretagne			regulator-always-on;
312f6231a2eSJérôme de Bretagne		};
313f6231a2eSJérôme de Bretagne
314f6231a2eSJérôme de Bretagne		vreg_s12b: smps12 {
315f6231a2eSJérôme de Bretagne			regulator-name = "vreg_s12b";
316f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <984000>;
317f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <984000>;
318f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319f6231a2eSJérôme de Bretagne			regulator-always-on;
320f6231a2eSJérôme de Bretagne		};
321f6231a2eSJérôme de Bretagne
322f6231a2eSJérôme de Bretagne		vreg_l3b: ldo3 {
323f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l3b";
324f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1200000>;
325f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1200000>;
326f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
327f6231a2eSJérôme de Bretagne			regulator-boot-on;
328f6231a2eSJérôme de Bretagne		};
329f6231a2eSJérôme de Bretagne
330f6231a2eSJérôme de Bretagne		vreg_l4b: ldo4 {
331f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l4b";
332f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <912000>;
333f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <912000>;
334f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
335f6231a2eSJérôme de Bretagne		};
336f6231a2eSJérôme de Bretagne
337f6231a2eSJérôme de Bretagne		vreg_l6b: ldo6 {
338f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l6b";
339f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <880000>;
340f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <880000>;
341f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
342f6231a2eSJérôme de Bretagne			regulator-boot-on;
343f6231a2eSJérôme de Bretagne			regulator-always-on;	// FIXME: VDD_A_EDP_0_0P9
344f6231a2eSJérôme de Bretagne		};
345f6231a2eSJérôme de Bretagne	};
346f6231a2eSJérôme de Bretagne
347f6231a2eSJérôme de Bretagne	regulators-1 {
348f6231a2eSJérôme de Bretagne		compatible = "qcom,pm8350c-rpmh-regulators";
349f6231a2eSJérôme de Bretagne		qcom,pmic-id = "c";
350f6231a2eSJérôme de Bretagne
351f6231a2eSJérôme de Bretagne		vdd-bob-supply = <&vreg_vph_pwr>;
352f6231a2eSJérôme de Bretagne		vdd-l1-l12-supply = <&vreg_s1c>;
353f6231a2eSJérôme de Bretagne		vdd-l2-l8-supply = <&vreg_s1c>;
354f6231a2eSJérôme de Bretagne		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
355f6231a2eSJérôme de Bretagne		vdd-l6-l9-l11-supply = <&vreg_bob>;
356f6231a2eSJérôme de Bretagne		vdd-l10-supply = <&vreg_s11b>;
357f6231a2eSJérôme de Bretagne
358f6231a2eSJérôme de Bretagne		vreg_s1c: smps1 {
359f6231a2eSJérôme de Bretagne			regulator-name = "vreg_s1c";
360f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1880000>;
361f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1900000>;
362f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363f6231a2eSJérôme de Bretagne			regulator-always-on;
364f6231a2eSJérôme de Bretagne		};
365f6231a2eSJérôme de Bretagne
366f6231a2eSJérôme de Bretagne		vreg_l1c: ldo1 {
367f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l1c";
368f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1800000>;
369f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1800000>;
370f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
371f6231a2eSJérôme de Bretagne		};
372f6231a2eSJérôme de Bretagne
373f6231a2eSJérôme de Bretagne		vreg_l12c: ldo12 {
374f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l12c";
375f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1800000>;
376f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1800000>;
377f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
378f6231a2eSJérôme de Bretagne		};
379f6231a2eSJérôme de Bretagne
380f6231a2eSJérôme de Bretagne		vreg_l13c: ldo13 {
381f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l13c";
382f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <3072000>;
383f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <3072000>;
384f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
385f6231a2eSJérôme de Bretagne		};
386f6231a2eSJérôme de Bretagne
387f6231a2eSJérôme de Bretagne		vreg_bob: bob {
388f6231a2eSJérôme de Bretagne			regulator-name = "vreg_bob";
389f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <3008000>;
390f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <3960000>;
391f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
392f6231a2eSJérôme de Bretagne			regulator-always-on;
393f6231a2eSJérôme de Bretagne		};
394f6231a2eSJérôme de Bretagne	};
395f6231a2eSJérôme de Bretagne
396f6231a2eSJérôme de Bretagne	regulators-2 {
397f6231a2eSJérôme de Bretagne		compatible = "qcom,pm8350-rpmh-regulators";
398f6231a2eSJérôme de Bretagne		qcom,pmic-id = "d";
399f6231a2eSJérôme de Bretagne
400f6231a2eSJérôme de Bretagne		vdd-l1-l4-supply = <&vreg_s11b>;
401f6231a2eSJérôme de Bretagne		vdd-l2-l7-supply = <&vreg_bob>;
402f6231a2eSJérôme de Bretagne		vdd-l3-l5-supply = <&vreg_s11b>;
403f6231a2eSJérôme de Bretagne		vdd-l6-l9-l10-supply = <&vreg_s12b>;
404f6231a2eSJérôme de Bretagne		vdd-l8-supply = <&vreg_s12b>;
405f6231a2eSJérôme de Bretagne
406f6231a2eSJérôme de Bretagne		vreg_l3d: ldo3 {
407f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l3d";
408f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1200000>;
409f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1200000>;
410f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
411f6231a2eSJérôme de Bretagne		};
412f6231a2eSJérôme de Bretagne
413f6231a2eSJérôme de Bretagne		vreg_l4d: ldo4 {
414f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l4d";
415f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <1200000>;
416f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <1200000>;
417f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
418f6231a2eSJérôme de Bretagne		};
419f6231a2eSJérôme de Bretagne
420f6231a2eSJérôme de Bretagne		vreg_l6d: ldo6 {
421f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l6d";
422f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <880000>;
423f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <880000>;
424f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
425f6231a2eSJérôme de Bretagne		};
426f6231a2eSJérôme de Bretagne
427f6231a2eSJérôme de Bretagne		vreg_l7d: ldo7 {
428f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l7d";
429f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <3072000>;
430f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <3072000>;
431f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
432f6231a2eSJérôme de Bretagne		};
433f6231a2eSJérôme de Bretagne
434f6231a2eSJérôme de Bretagne		vreg_l9d: ldo9 {
435f6231a2eSJérôme de Bretagne			regulator-name = "vreg_l9d";
436f6231a2eSJérôme de Bretagne			regulator-min-microvolt = <912000>;
437f6231a2eSJérôme de Bretagne			regulator-max-microvolt = <912000>;
438f6231a2eSJérôme de Bretagne			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
439f6231a2eSJérôme de Bretagne		};
440f6231a2eSJérôme de Bretagne	};
441f6231a2eSJérôme de Bretagne};
442f6231a2eSJérôme de Bretagne
443f6231a2eSJérôme de Bretagne&dispcc0 {
444f6231a2eSJérôme de Bretagne	status = "okay";
445f6231a2eSJérôme de Bretagne};
446f6231a2eSJérôme de Bretagne
447f6231a2eSJérôme de Bretagne&dispcc1 {
448f6231a2eSJérôme de Bretagne	status = "okay";
449f6231a2eSJérôme de Bretagne};
450f6231a2eSJérôme de Bretagne
451f6231a2eSJérôme de Bretagne&gpu {
452f6231a2eSJérôme de Bretagne	status = "okay";
453f6231a2eSJérôme de Bretagne
454f6231a2eSJérôme de Bretagne	zap-shader {
455f6231a2eSJérôme de Bretagne		memory-region = <&gpu_mem>;
456f6231a2eSJérôme de Bretagne		firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcdxkmsuc8280.mbn";
457f6231a2eSJérôme de Bretagne	};
458f6231a2eSJérôme de Bretagne};
459f6231a2eSJérôme de Bretagne
460f6231a2eSJérôme de Bretagne&mdss0 {
461f6231a2eSJérôme de Bretagne	status = "okay";
462f6231a2eSJérôme de Bretagne};
463f6231a2eSJérôme de Bretagne
464f6231a2eSJérôme de Bretagne&mdss0_dp0 {
465f6231a2eSJérôme de Bretagne	status = "okay";
466f6231a2eSJérôme de Bretagne};
467f6231a2eSJérôme de Bretagne
468f6231a2eSJérôme de Bretagne&mdss0_dp0_out {
469f6231a2eSJérôme de Bretagne	data-lanes = <0 1>;
470f6231a2eSJérôme de Bretagne	remote-endpoint = <&usb_0_qmpphy_dp_in>;
471f6231a2eSJérôme de Bretagne};
472f6231a2eSJérôme de Bretagne
473f6231a2eSJérôme de Bretagne&mdss0_dp1 {
474f6231a2eSJérôme de Bretagne	status = "okay";
475f6231a2eSJérôme de Bretagne};
476f6231a2eSJérôme de Bretagne
477f6231a2eSJérôme de Bretagne&mdss0_dp1_out {
478f6231a2eSJérôme de Bretagne	data-lanes = <0 1>;
479f6231a2eSJérôme de Bretagne	remote-endpoint = <&usb_1_qmpphy_dp_in>;
480f6231a2eSJérôme de Bretagne};
481f6231a2eSJérôme de Bretagne
482f6231a2eSJérôme de Bretagne&pcie2a {
483f6231a2eSJérôme de Bretagne	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
484f6231a2eSJérôme de Bretagne	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
485f6231a2eSJérôme de Bretagne
486f6231a2eSJérôme de Bretagne	vddpe-3v3-supply = <&vreg_nvme>;
487f6231a2eSJérôme de Bretagne
488f6231a2eSJérôme de Bretagne	pinctrl-0 = <&pcie2a_default>;
489f6231a2eSJérôme de Bretagne	pinctrl-names = "default";
490f6231a2eSJérôme de Bretagne
491f6231a2eSJérôme de Bretagne	status = "okay";
492f6231a2eSJérôme de Bretagne};
493f6231a2eSJérôme de Bretagne
494f6231a2eSJérôme de Bretagne&pcie2a_phy {
495f6231a2eSJérôme de Bretagne	vdda-phy-supply = <&vreg_l6d>;
496f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l4d>;
497f6231a2eSJérôme de Bretagne
498f6231a2eSJérôme de Bretagne	status = "okay";
499f6231a2eSJérôme de Bretagne};
500f6231a2eSJérôme de Bretagne
501f6231a2eSJérôme de Bretagne&pcie3a {
502f6231a2eSJérôme de Bretagne	perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
503f6231a2eSJérôme de Bretagne	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
504f6231a2eSJérôme de Bretagne
505f6231a2eSJérôme de Bretagne	vddpe-3v3-supply = <&vreg_wwan>;
506f6231a2eSJérôme de Bretagne
507f6231a2eSJérôme de Bretagne	pinctrl-0 = <&pcie3a_default>;
508f6231a2eSJérôme de Bretagne	pinctrl-names = "default";
509f6231a2eSJérôme de Bretagne
510f6231a2eSJérôme de Bretagne	status = "okay";
511f6231a2eSJérôme de Bretagne};
512f6231a2eSJérôme de Bretagne
513f6231a2eSJérôme de Bretagne&pcie3a_phy {
514f6231a2eSJérôme de Bretagne	vdda-phy-supply = <&vreg_l6d>;
515f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l4d>;
516f6231a2eSJérôme de Bretagne
517f6231a2eSJérôme de Bretagne	status = "okay";
518f6231a2eSJérôme de Bretagne};
519f6231a2eSJérôme de Bretagne
520f6231a2eSJérôme de Bretagne&pcie4 {
521f6231a2eSJérôme de Bretagne	max-link-speed = <2>;
522f6231a2eSJérôme de Bretagne
523f6231a2eSJérôme de Bretagne	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
524f6231a2eSJérôme de Bretagne	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
525f6231a2eSJérôme de Bretagne
526f6231a2eSJérôme de Bretagne	vddpe-3v3-supply = <&vreg_wlan>;
527f6231a2eSJérôme de Bretagne
528f6231a2eSJérôme de Bretagne	pinctrl-0 = <&pcie4_default>;
529f6231a2eSJérôme de Bretagne	pinctrl-names = "default";
530f6231a2eSJérôme de Bretagne
531f6231a2eSJérôme de Bretagne	status = "okay";
532f6231a2eSJérôme de Bretagne};
533f6231a2eSJérôme de Bretagne
534f6231a2eSJérôme de Bretagne&pcie4_port0 {
535f6231a2eSJérôme de Bretagne	wifi@0 {
536f6231a2eSJérôme de Bretagne		compatible = "pci17cb,1103";
537f6231a2eSJérôme de Bretagne		reg = <0x10000 0x0 0x0 0x0 0x0>;
538f6231a2eSJérôme de Bretagne
539*d12ce84cSKrzysztof Kozlowski		qcom,calibration-variant = "MS_SP9_5G";
540f6231a2eSJérôme de Bretagne	};
541f6231a2eSJérôme de Bretagne};
542f6231a2eSJérôme de Bretagne
543f6231a2eSJérôme de Bretagne&pcie4_phy {
544f6231a2eSJérôme de Bretagne	vdda-phy-supply = <&vreg_l6d>;
545f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l4d>;
546f6231a2eSJérôme de Bretagne
547f6231a2eSJérôme de Bretagne	status = "okay";
548f6231a2eSJérôme de Bretagne};
549f6231a2eSJérôme de Bretagne
550f6231a2eSJérôme de Bretagne&pmk8280_pon_pwrkey {
551f6231a2eSJérôme de Bretagne	status = "okay";
552f6231a2eSJérôme de Bretagne};
553f6231a2eSJérôme de Bretagne
554f6231a2eSJérôme de Bretagne&pmk8280_pon_resin {
555f6231a2eSJérôme de Bretagne	status = "okay";
556f6231a2eSJérôme de Bretagne};
557f6231a2eSJérôme de Bretagne
558f6231a2eSJérôme de Bretagne&pmk8280_rtc {
559f6231a2eSJérôme de Bretagne	nvmem-cells = <&rtc_offset>;
560f6231a2eSJérôme de Bretagne	nvmem-cell-names = "offset";
561f6231a2eSJérôme de Bretagne
562f6231a2eSJérôme de Bretagne	status = "okay";
563f6231a2eSJérôme de Bretagne};
564f6231a2eSJérôme de Bretagne
565f6231a2eSJérôme de Bretagne&pmk8280_sdam_6 {
566f6231a2eSJérôme de Bretagne	status = "okay";
567f6231a2eSJérôme de Bretagne
568f6231a2eSJérôme de Bretagne	rtc_offset: rtc-offset@bc {
569f6231a2eSJérôme de Bretagne		reg = <0xbc 0x4>;
570f6231a2eSJérôme de Bretagne	};
571f6231a2eSJérôme de Bretagne};
572f6231a2eSJérôme de Bretagne
573f6231a2eSJérôme de Bretagne&qup0 {
574f6231a2eSJérôme de Bretagne	status = "okay";
575f6231a2eSJérôme de Bretagne};
576f6231a2eSJérôme de Bretagne
577f6231a2eSJérôme de Bretagne&qup1 {
578f6231a2eSJérôme de Bretagne	status = "okay";
579f6231a2eSJérôme de Bretagne};
580f6231a2eSJérôme de Bretagne
581f6231a2eSJérôme de Bretagne&qup2 {
582f6231a2eSJérôme de Bretagne	status = "okay";
583f6231a2eSJérôme de Bretagne};
584f6231a2eSJérôme de Bretagne
585f6231a2eSJérôme de Bretagne&remoteproc_adsp {
586f6231a2eSJérôme de Bretagne	firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcadsp8280.mbn";
587f6231a2eSJérôme de Bretagne
588f6231a2eSJérôme de Bretagne	status = "okay";
589f6231a2eSJérôme de Bretagne};
590f6231a2eSJérôme de Bretagne
591f6231a2eSJérôme de Bretagne&remoteproc_nsp0 {
592f6231a2eSJérôme de Bretagne	firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qccdsp8280.mbn";
593f6231a2eSJérôme de Bretagne
594f6231a2eSJérôme de Bretagne	status = "okay";
595f6231a2eSJérôme de Bretagne};
596f6231a2eSJérôme de Bretagne
597f6231a2eSJérôme de Bretagne&rxmacro {
598f6231a2eSJérôme de Bretagne	status = "okay";
599f6231a2eSJérôme de Bretagne};
600f6231a2eSJérôme de Bretagne
601f6231a2eSJérôme de Bretagne&sound {
602f6231a2eSJérôme de Bretagne	compatible = "qcom,sc8280xp-sndcard";
603f6231a2eSJérôme de Bretagne	model = "SC8280XP-MICROSOFT-SURFACE-PRO-9-5G";
604f6231a2eSJérôme de Bretagne	audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
605f6231a2eSJérôme de Bretagne			"SpkrRight IN", "WSA_SPK2 OUT",
606f6231a2eSJérôme de Bretagne			"IN1_HPHL", "HPHL_OUT",
607f6231a2eSJérôme de Bretagne			"IN2_HPHR", "HPHR_OUT",
608f6231a2eSJérôme de Bretagne			"AMIC2", "MIC BIAS2",
609f6231a2eSJérôme de Bretagne			"VA DMIC0", "MIC BIAS1",
610f6231a2eSJérôme de Bretagne			"VA DMIC1", "MIC BIAS1",
611f6231a2eSJérôme de Bretagne			"VA DMIC2", "MIC BIAS3",
612f6231a2eSJérôme de Bretagne			"VA DMIC0", "VA MIC BIAS1",
613f6231a2eSJérôme de Bretagne			"VA DMIC1", "VA MIC BIAS1",
614f6231a2eSJérôme de Bretagne			"VA DMIC2", "VA MIC BIAS3",
615f6231a2eSJérôme de Bretagne			"TX SWR_ADC1", "ADC2_OUTPUT";
616f6231a2eSJérôme de Bretagne
617f6231a2eSJérôme de Bretagne	wcd-playback-dai-link {
618f6231a2eSJérôme de Bretagne		link-name = "WCD Playback";
619f6231a2eSJérôme de Bretagne
620f6231a2eSJérôme de Bretagne		cpu {
621f6231a2eSJérôme de Bretagne			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
622f6231a2eSJérôme de Bretagne		};
623f6231a2eSJérôme de Bretagne
624f6231a2eSJérôme de Bretagne		codec {
625f6231a2eSJérôme de Bretagne			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
626f6231a2eSJérôme de Bretagne		};
627f6231a2eSJérôme de Bretagne
628f6231a2eSJérôme de Bretagne		platform {
629f6231a2eSJérôme de Bretagne			sound-dai = <&q6apm>;
630f6231a2eSJérôme de Bretagne		};
631f6231a2eSJérôme de Bretagne	};
632f6231a2eSJérôme de Bretagne
633f6231a2eSJérôme de Bretagne	wcd-capture-dai-link {
634f6231a2eSJérôme de Bretagne		link-name = "WCD Capture";
635f6231a2eSJérôme de Bretagne
636f6231a2eSJérôme de Bretagne		cpu {
637f6231a2eSJérôme de Bretagne			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
638f6231a2eSJérôme de Bretagne		};
639f6231a2eSJérôme de Bretagne
640f6231a2eSJérôme de Bretagne		codec {
641f6231a2eSJérôme de Bretagne			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
642f6231a2eSJérôme de Bretagne		};
643f6231a2eSJérôme de Bretagne
644f6231a2eSJérôme de Bretagne		platform {
645f6231a2eSJérôme de Bretagne			sound-dai = <&q6apm>;
646f6231a2eSJérôme de Bretagne		};
647f6231a2eSJérôme de Bretagne	};
648f6231a2eSJérôme de Bretagne
649f6231a2eSJérôme de Bretagne	wsa-dai-link {
650f6231a2eSJérôme de Bretagne		link-name = "WSA Playback";
651f6231a2eSJérôme de Bretagne
652f6231a2eSJérôme de Bretagne		cpu {
653f6231a2eSJérôme de Bretagne			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
654f6231a2eSJérôme de Bretagne		};
655f6231a2eSJérôme de Bretagne
656f6231a2eSJérôme de Bretagne		codec {
657f6231a2eSJérôme de Bretagne			sound-dai = <&swr0 0>, <&wsamacro 0>;
658f6231a2eSJérôme de Bretagne		};
659f6231a2eSJérôme de Bretagne
660f6231a2eSJérôme de Bretagne		platform {
661f6231a2eSJérôme de Bretagne			sound-dai = <&q6apm>;
662f6231a2eSJérôme de Bretagne		};
663f6231a2eSJérôme de Bretagne	};
664f6231a2eSJérôme de Bretagne
665f6231a2eSJérôme de Bretagne	va-dai-link {
666f6231a2eSJérôme de Bretagne		link-name = "VA Capture";
667f6231a2eSJérôme de Bretagne
668f6231a2eSJérôme de Bretagne		cpu {
669f6231a2eSJérôme de Bretagne			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
670f6231a2eSJérôme de Bretagne		};
671f6231a2eSJérôme de Bretagne
672f6231a2eSJérôme de Bretagne		platform {
673f6231a2eSJérôme de Bretagne			sound-dai = <&q6apm>;
674f6231a2eSJérôme de Bretagne		};
675f6231a2eSJérôme de Bretagne
676f6231a2eSJérôme de Bretagne		codec {
677f6231a2eSJérôme de Bretagne			sound-dai = <&vamacro 0>;
678f6231a2eSJérôme de Bretagne		};
679f6231a2eSJérôme de Bretagne	};
680f6231a2eSJérôme de Bretagne};
681f6231a2eSJérôme de Bretagne
682f6231a2eSJérôme de Bretagne&swr0 {
683f6231a2eSJérôme de Bretagne	status = "okay";
684f6231a2eSJérôme de Bretagne};
685f6231a2eSJérôme de Bretagne
686f6231a2eSJérôme de Bretagne&swr1 {
687f6231a2eSJérôme de Bretagne	status = "okay";
688f6231a2eSJérôme de Bretagne
689f6231a2eSJérôme de Bretagne	wcd_rx: codec@0,4 {
690f6231a2eSJérôme de Bretagne		compatible = "sdw20217010d00";
691f6231a2eSJérôme de Bretagne		reg = <0 4>;
692f6231a2eSJérôme de Bretagne		qcom,rx-port-mapping = <1 2 3 4 5>;
693f6231a2eSJérôme de Bretagne	};
694f6231a2eSJérôme de Bretagne};
695f6231a2eSJérôme de Bretagne
696f6231a2eSJérôme de Bretagne&swr2 {
697f6231a2eSJérôme de Bretagne	status = "okay";
698f6231a2eSJérôme de Bretagne
699f6231a2eSJérôme de Bretagne	wcd_tx: codec@0,3 {
700f6231a2eSJérôme de Bretagne		compatible = "sdw20217010d00";
701f6231a2eSJérôme de Bretagne		reg = <0 3>;
702f6231a2eSJérôme de Bretagne		qcom,tx-port-mapping = <1 1 2 3>;
703f6231a2eSJérôme de Bretagne	};
704f6231a2eSJérôme de Bretagne};
705f6231a2eSJérôme de Bretagne
706f6231a2eSJérôme de Bretagne&txmacro {
707f6231a2eSJérôme de Bretagne	status = "okay";
708f6231a2eSJérôme de Bretagne};
709f6231a2eSJérôme de Bretagne
710f6231a2eSJérôme de Bretagne&uart2 {
711f6231a2eSJérôme de Bretagne	pinctrl-0 = <&uart2_default>;
712f6231a2eSJérôme de Bretagne	pinctrl-names = "default";
713f6231a2eSJérôme de Bretagne
714f6231a2eSJérôme de Bretagne	status = "okay";
715f6231a2eSJérôme de Bretagne
716f6231a2eSJérôme de Bretagne	bluetooth {
717f6231a2eSJérôme de Bretagne		compatible = "qcom,wcn6855-bt";
718f6231a2eSJérôme de Bretagne
719f6231a2eSJérôme de Bretagne		vddio-supply = <&vreg_s10b>;
720f6231a2eSJérôme de Bretagne		vddbtcxmx-supply = <&vreg_s12b>;
721f6231a2eSJérôme de Bretagne		vddrfacmn-supply = <&vreg_s12b>;
722f6231a2eSJérôme de Bretagne		vddrfa0p8-supply = <&vreg_s12b>;
723f6231a2eSJérôme de Bretagne		vddrfa1p2-supply = <&vreg_s11b>;
724f6231a2eSJérôme de Bretagne		vddrfa1p7-supply = <&vreg_s1c>;
725f6231a2eSJérôme de Bretagne
726f6231a2eSJérôme de Bretagne		max-speed = <3200000>;
727f6231a2eSJérôme de Bretagne
728f6231a2eSJérôme de Bretagne		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
729f6231a2eSJérôme de Bretagne		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
730f6231a2eSJérôme de Bretagne
731f6231a2eSJérôme de Bretagne		pinctrl-0 = <&bt_default>;
732f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
733f6231a2eSJérôme de Bretagne	};
734f6231a2eSJérôme de Bretagne};
735f6231a2eSJérôme de Bretagne
736f6231a2eSJérôme de Bretagne&uart18 {
737f6231a2eSJérôme de Bretagne	status = "okay";
738f6231a2eSJérôme de Bretagne
739f6231a2eSJérôme de Bretagne	embedded-controller {
740f6231a2eSJérôme de Bretagne		compatible = "microsoft,surface-sam";
741f6231a2eSJérôme de Bretagne
742f6231a2eSJérôme de Bretagne		interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_RISING>;
743f6231a2eSJérôme de Bretagne
744f6231a2eSJérôme de Bretagne		current-speed = <4000000>;
745f6231a2eSJérôme de Bretagne
746f6231a2eSJérôme de Bretagne		pinctrl-0 = <&ssam_state>;
747f6231a2eSJérôme de Bretagne		pinctrl-names = "default";
748f6231a2eSJérôme de Bretagne	};
749f6231a2eSJérôme de Bretagne};
750f6231a2eSJérôme de Bretagne
751f6231a2eSJérôme de Bretagne&usb_0 {
752f6231a2eSJérôme de Bretagne	status = "okay";
753f6231a2eSJérôme de Bretagne};
754f6231a2eSJérôme de Bretagne
755f6231a2eSJérôme de Bretagne&usb_0_dwc3 {
756f6231a2eSJérôme de Bretagne	dr_mode = "host";
757f6231a2eSJérôme de Bretagne};
758f6231a2eSJérôme de Bretagne
759f6231a2eSJérôme de Bretagne&usb_0_dwc3_hs {
760f6231a2eSJérôme de Bretagne	remote-endpoint = <&pmic_glink_con0_hs>;
761f6231a2eSJérôme de Bretagne};
762f6231a2eSJérôme de Bretagne
763f6231a2eSJérôme de Bretagne&usb_0_hsphy {
764f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l9d>;
765f6231a2eSJérôme de Bretagne	vdda18-supply = <&vreg_l1c>;
766f6231a2eSJérôme de Bretagne	vdda33-supply = <&vreg_l7d>;
767f6231a2eSJérôme de Bretagne
768f6231a2eSJérôme de Bretagne	status = "okay";
769f6231a2eSJérôme de Bretagne};
770f6231a2eSJérôme de Bretagne
771f6231a2eSJérôme de Bretagne&usb_0_qmpphy {
772f6231a2eSJérôme de Bretagne	vdda-phy-supply = <&vreg_l9d>;
773f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l4d>;
774f6231a2eSJérôme de Bretagne
775f6231a2eSJérôme de Bretagne	orientation-switch;
776f6231a2eSJérôme de Bretagne
777f6231a2eSJérôme de Bretagne	status = "okay";
778f6231a2eSJérôme de Bretagne};
779f6231a2eSJérôme de Bretagne
780f6231a2eSJérôme de Bretagne&usb_0_qmpphy_dp_in {
781f6231a2eSJérôme de Bretagne	remote-endpoint = <&mdss0_dp0_out>;
782f6231a2eSJérôme de Bretagne};
783f6231a2eSJérôme de Bretagne
784f6231a2eSJérôme de Bretagne&usb_0_qmpphy_out {
785f6231a2eSJérôme de Bretagne	remote-endpoint = <&pmic_glink_con0_ss>;
786f6231a2eSJérôme de Bretagne};
787f6231a2eSJérôme de Bretagne
788f6231a2eSJérôme de Bretagne&usb_1 {
789f6231a2eSJérôme de Bretagne	status = "okay";
790f6231a2eSJérôme de Bretagne};
791f6231a2eSJérôme de Bretagne
792f6231a2eSJérôme de Bretagne&usb_1_dwc3 {
793f6231a2eSJérôme de Bretagne	dr_mode = "host";
794f6231a2eSJérôme de Bretagne};
795f6231a2eSJérôme de Bretagne
796f6231a2eSJérôme de Bretagne&usb_1_dwc3_hs {
797f6231a2eSJérôme de Bretagne	remote-endpoint = <&pmic_glink_con1_hs>;
798f6231a2eSJérôme de Bretagne};
799f6231a2eSJérôme de Bretagne
800f6231a2eSJérôme de Bretagne&usb_1_hsphy {
801f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l4b>;
802f6231a2eSJérôme de Bretagne	vdda18-supply = <&vreg_l1c>;
803f6231a2eSJérôme de Bretagne	vdda33-supply = <&vreg_l13c>;
804f6231a2eSJérôme de Bretagne
805f6231a2eSJérôme de Bretagne	status = "okay";
806f6231a2eSJérôme de Bretagne};
807f6231a2eSJérôme de Bretagne
808f6231a2eSJérôme de Bretagne&usb_1_qmpphy {
809f6231a2eSJérôme de Bretagne	vdda-phy-supply = <&vreg_l4b>;
810f6231a2eSJérôme de Bretagne	vdda-pll-supply = <&vreg_l3b>;
811f6231a2eSJérôme de Bretagne
812f6231a2eSJérôme de Bretagne	orientation-switch;
813f6231a2eSJérôme de Bretagne
814f6231a2eSJérôme de Bretagne	status = "okay";
815f6231a2eSJérôme de Bretagne};
816f6231a2eSJérôme de Bretagne
817f6231a2eSJérôme de Bretagne&usb_1_qmpphy_dp_in {
818f6231a2eSJérôme de Bretagne	remote-endpoint = <&mdss0_dp1_out>;
819f6231a2eSJérôme de Bretagne};
820f6231a2eSJérôme de Bretagne
821f6231a2eSJérôme de Bretagne&usb_1_qmpphy_out {
822f6231a2eSJérôme de Bretagne	remote-endpoint = <&pmic_glink_con1_ss>;
823f6231a2eSJérôme de Bretagne};
824f6231a2eSJérôme de Bretagne
825f6231a2eSJérôme de Bretagne&vamacro {
826f6231a2eSJérôme de Bretagne	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
827f6231a2eSJérôme de Bretagne	pinctrl-names = "default";
828f6231a2eSJérôme de Bretagne
829f6231a2eSJérôme de Bretagne	vdd-micb-supply = <&vreg_s10b>;
830f6231a2eSJérôme de Bretagne
831f6231a2eSJérôme de Bretagne	qcom,dmic-sample-rate = <4800000>;
832f6231a2eSJérôme de Bretagne
833f6231a2eSJérôme de Bretagne	status = "okay";
834f6231a2eSJérôme de Bretagne};
835f6231a2eSJérôme de Bretagne
836f6231a2eSJérôme de Bretagne&wsamacro {
837f6231a2eSJérôme de Bretagne	status = "okay";
838f6231a2eSJérôme de Bretagne};
839f6231a2eSJérôme de Bretagne
840f6231a2eSJérôme de Bretagne&xo_board_clk {
841f6231a2eSJérôme de Bretagne	clock-frequency = <38400000>;
842f6231a2eSJérôme de Bretagne};
843f6231a2eSJérôme de Bretagne
844f6231a2eSJérôme de Bretagne/* PINCTRL */
845f6231a2eSJérôme de Bretagne
846f6231a2eSJérôme de Bretagne&lpass_tlmm {
847f6231a2eSJérôme de Bretagne	status = "okay";
848f6231a2eSJérôme de Bretagne};
849f6231a2eSJérôme de Bretagne
850f6231a2eSJérôme de Bretagne&pmc8280_2_gpios {
851f6231a2eSJérôme de Bretagne	wwan_sw_en: wwan-sw-en-state {
852f6231a2eSJérôme de Bretagne		pins = "gpio1";
853f6231a2eSJérôme de Bretagne		function = "normal";
854f6231a2eSJérôme de Bretagne	};
855f6231a2eSJérôme de Bretagne};
856f6231a2eSJérôme de Bretagne
857f6231a2eSJérôme de Bretagne&pmr735a_gpios {
858f6231a2eSJérôme de Bretagne	hastings_reg_en: hastings-reg-en-state {
859f6231a2eSJérôme de Bretagne		pins = "gpio1";
860f6231a2eSJérôme de Bretagne		function = "normal";
861f6231a2eSJérôme de Bretagne	};
862f6231a2eSJérôme de Bretagne};
863f6231a2eSJérôme de Bretagne
864f6231a2eSJérôme de Bretagne&tlmm {
865f6231a2eSJérôme de Bretagne	bt_default: bt-default-state {
866f6231a2eSJérôme de Bretagne		hstp-bt-en-pins {
867f6231a2eSJérôme de Bretagne			pins = "gpio133";
868f6231a2eSJérôme de Bretagne			function = "gpio";
869f6231a2eSJérôme de Bretagne			drive-strength = <16>;
870f6231a2eSJérôme de Bretagne			bias-disable;
871f6231a2eSJérôme de Bretagne		};
872f6231a2eSJérôme de Bretagne
873f6231a2eSJérôme de Bretagne		hstp-sw-ctrl-pins {
874f6231a2eSJérôme de Bretagne			pins = "gpio132";
875f6231a2eSJérôme de Bretagne			function = "gpio";
876f6231a2eSJérôme de Bretagne			bias-pull-down;
877f6231a2eSJérôme de Bretagne		};
878f6231a2eSJérôme de Bretagne	};
879f6231a2eSJérôme de Bretagne
880f6231a2eSJérôme de Bretagne	nvme_reg_en: nvme-reg-en-state {
881f6231a2eSJérôme de Bretagne		pins = "gpio135";
882f6231a2eSJérôme de Bretagne		function = "gpio";
883f6231a2eSJérôme de Bretagne		drive-strength = <2>;
884f6231a2eSJérôme de Bretagne		bias-disable;
885f6231a2eSJérôme de Bretagne	};
886f6231a2eSJérôme de Bretagne
887f6231a2eSJérôme de Bretagne	pcie2a_default: pcie2a-default-state {
888f6231a2eSJérôme de Bretagne		clkreq-n-pins {
889f6231a2eSJérôme de Bretagne			pins = "gpio142";
890f6231a2eSJérôme de Bretagne			function = "pcie2a_clkreq";
891f6231a2eSJérôme de Bretagne			drive-strength = <2>;
892f6231a2eSJérôme de Bretagne			bias-pull-up;
893f6231a2eSJérôme de Bretagne		};
894f6231a2eSJérôme de Bretagne
895f6231a2eSJérôme de Bretagne		perst-n-pins {
896f6231a2eSJérôme de Bretagne			pins = "gpio143";
897f6231a2eSJérôme de Bretagne			function = "gpio";
898f6231a2eSJérôme de Bretagne			drive-strength = <2>;
899f6231a2eSJérôme de Bretagne			bias-disable;
900f6231a2eSJérôme de Bretagne		};
901f6231a2eSJérôme de Bretagne
902f6231a2eSJérôme de Bretagne		wake-n-pins {
903f6231a2eSJérôme de Bretagne			pins = "gpio145";
904f6231a2eSJérôme de Bretagne			function = "gpio";
905f6231a2eSJérôme de Bretagne			drive-strength = <2>;
906f6231a2eSJérôme de Bretagne			bias-pull-up;
907f6231a2eSJérôme de Bretagne	       };
908f6231a2eSJérôme de Bretagne	};
909f6231a2eSJérôme de Bretagne
910f6231a2eSJérôme de Bretagne	pcie3a_default: pcie3a-default-state {
911f6231a2eSJérôme de Bretagne		clkreq-n-pins {
912f6231a2eSJérôme de Bretagne			pins = "gpio150";
913f6231a2eSJérôme de Bretagne			function = "pcie3a_clkreq";
914f6231a2eSJérôme de Bretagne			drive-strength = <2>;
915f6231a2eSJérôme de Bretagne			bias-pull-up;
916f6231a2eSJérôme de Bretagne		};
917f6231a2eSJérôme de Bretagne
918f6231a2eSJérôme de Bretagne		perst-n-pins {
919f6231a2eSJérôme de Bretagne			pins = "gpio151";
920f6231a2eSJérôme de Bretagne			function = "gpio";
921f6231a2eSJérôme de Bretagne			drive-strength = <2>;
922f6231a2eSJérôme de Bretagne			bias-disable;
923f6231a2eSJérôme de Bretagne		};
924f6231a2eSJérôme de Bretagne
925f6231a2eSJérôme de Bretagne		wake-n-pins {
926f6231a2eSJérôme de Bretagne			pins = "gpio148";
927f6231a2eSJérôme de Bretagne			function = "gpio";
928f6231a2eSJérôme de Bretagne			drive-strength = <2>;
929f6231a2eSJérôme de Bretagne			bias-pull-up;
930f6231a2eSJérôme de Bretagne		};
931f6231a2eSJérôme de Bretagne	};
932f6231a2eSJérôme de Bretagne
933f6231a2eSJérôme de Bretagne	pcie4_default: pcie4-default-state {
934f6231a2eSJérôme de Bretagne		clkreq-n-pins {
935f6231a2eSJérôme de Bretagne			pins = "gpio140";
936f6231a2eSJérôme de Bretagne			function = "pcie4_clkreq";
937f6231a2eSJérôme de Bretagne			drive-strength = <2>;
938f6231a2eSJérôme de Bretagne			bias-pull-up;
939f6231a2eSJérôme de Bretagne		};
940f6231a2eSJérôme de Bretagne
941f6231a2eSJérôme de Bretagne		perst-n-pins {
942f6231a2eSJérôme de Bretagne			pins = "gpio141";
943f6231a2eSJérôme de Bretagne			function = "gpio";
944f6231a2eSJérôme de Bretagne			drive-strength = <2>;
945f6231a2eSJérôme de Bretagne			bias-disable;
946f6231a2eSJérôme de Bretagne		};
947f6231a2eSJérôme de Bretagne
948f6231a2eSJérôme de Bretagne		wake-n-pins {
949f6231a2eSJérôme de Bretagne			pins = "gpio139";
950f6231a2eSJérôme de Bretagne			function = "gpio";
951f6231a2eSJérôme de Bretagne			drive-strength = <2>;
952f6231a2eSJérôme de Bretagne			bias-pull-up;
953f6231a2eSJérôme de Bretagne		};
954f6231a2eSJérôme de Bretagne	};
955f6231a2eSJérôme de Bretagne
956f6231a2eSJérôme de Bretagne
957f6231a2eSJérôme de Bretagne	ssam_state: ssam-state-state {
958f6231a2eSJérôme de Bretagne		pins = "gpio85";
959f6231a2eSJérôme de Bretagne		function = "gpio";
960f6231a2eSJérôme de Bretagne		bias-disable;
961f6231a2eSJérôme de Bretagne	};
962f6231a2eSJérôme de Bretagne
963f6231a2eSJérôme de Bretagne	uart2_default: uart2-default-state {
964f6231a2eSJérôme de Bretagne		cts-pins {
965f6231a2eSJérôme de Bretagne			pins = "gpio121";
966f6231a2eSJérôme de Bretagne			function = "qup2";
967f6231a2eSJérôme de Bretagne			bias-bus-hold;
968f6231a2eSJérôme de Bretagne		};
969f6231a2eSJérôme de Bretagne
970f6231a2eSJérôme de Bretagne		rts-pins {
971f6231a2eSJérôme de Bretagne			pins = "gpio122";
972f6231a2eSJérôme de Bretagne			function = "qup2";
973f6231a2eSJérôme de Bretagne			drive-strength = <2>;
974f6231a2eSJérôme de Bretagne			bias-disable;
975f6231a2eSJérôme de Bretagne		};
976f6231a2eSJérôme de Bretagne
977f6231a2eSJérôme de Bretagne		rx-pins {
978f6231a2eSJérôme de Bretagne			pins = "gpio124";
979f6231a2eSJérôme de Bretagne			function = "qup2";
980f6231a2eSJérôme de Bretagne			bias-pull-up;
981f6231a2eSJérôme de Bretagne		};
982f6231a2eSJérôme de Bretagne
983f6231a2eSJérôme de Bretagne		tx-pins {
984f6231a2eSJérôme de Bretagne			pins = "gpio123";
985f6231a2eSJérôme de Bretagne			function = "qup2";
986f6231a2eSJérôme de Bretagne			drive-strength = <2>;
987f6231a2eSJérôme de Bretagne			bias-disable;
988f6231a2eSJérôme de Bretagne		};
989f6231a2eSJérôme de Bretagne	};
990f6231a2eSJérôme de Bretagne
991f6231a2eSJérôme de Bretagne	usb0_sbu_default: usb0-sbu-state {
992f6231a2eSJérôme de Bretagne		oe-n-pins {
993f6231a2eSJérôme de Bretagne			pins = "gpio101";
994f6231a2eSJérôme de Bretagne			function = "gpio";
995f6231a2eSJérôme de Bretagne			bias-disable;
996f6231a2eSJérôme de Bretagne			drive-strength = <16>;
997f6231a2eSJérôme de Bretagne			output-high;
998f6231a2eSJérôme de Bretagne		};
999f6231a2eSJérôme de Bretagne
1000f6231a2eSJérôme de Bretagne		sel-pins {
1001f6231a2eSJérôme de Bretagne			pins = "gpio164";
1002f6231a2eSJérôme de Bretagne			function = "gpio";
1003f6231a2eSJérôme de Bretagne			bias-disable;
1004f6231a2eSJérôme de Bretagne			drive-strength = <16>;
1005f6231a2eSJérôme de Bretagne		};
1006f6231a2eSJérôme de Bretagne	};
1007f6231a2eSJérôme de Bretagne
1008f6231a2eSJérôme de Bretagne	usb1_sbu_default: usb1-sbu-state {
1009f6231a2eSJérôme de Bretagne		oe-n-pins {
1010f6231a2eSJérôme de Bretagne			pins = "gpio48";
1011f6231a2eSJérôme de Bretagne			function = "gpio";
1012f6231a2eSJérôme de Bretagne			bias-disable;
1013f6231a2eSJérôme de Bretagne			drive-strength = <16>;
1014f6231a2eSJérôme de Bretagne			output-high;
1015f6231a2eSJérôme de Bretagne		};
1016f6231a2eSJérôme de Bretagne
1017f6231a2eSJérôme de Bretagne		sel-pins {
1018f6231a2eSJérôme de Bretagne			pins = "gpio47";
1019f6231a2eSJérôme de Bretagne			function = "gpio";
1020f6231a2eSJérôme de Bretagne			bias-disable;
1021f6231a2eSJérôme de Bretagne			drive-strength = <16>;
1022f6231a2eSJérôme de Bretagne		};
1023f6231a2eSJérôme de Bretagne	};
1024f6231a2eSJérôme de Bretagne
1025f6231a2eSJérôme de Bretagne	wcd_default: wcd-default-state {
1026f6231a2eSJérôme de Bretagne		reset-pins {
1027f6231a2eSJérôme de Bretagne			pins = "gpio106";
1028f6231a2eSJérôme de Bretagne			function = "gpio";
1029f6231a2eSJérôme de Bretagne			bias-disable;
1030f6231a2eSJérôme de Bretagne		};
1031f6231a2eSJérôme de Bretagne	};
1032f6231a2eSJérôme de Bretagne};
1033