xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/x1e80100-microsoft-romulus.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
109d77be5SKonrad Dybcio// SPDX-License-Identifier: BSD-3-Clause
209d77be5SKonrad Dybcio/*
309d77be5SKonrad Dybcio * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
409d77be5SKonrad Dybcio */
509d77be5SKonrad Dybcio
609d77be5SKonrad Dybcio#include <dt-bindings/gpio/gpio.h>
786d40235SKonrad Dybcio#include <dt-bindings/input/gpio-keys.h>
886d40235SKonrad Dybcio#include <dt-bindings/input/input.h>
909d77be5SKonrad Dybcio#include <dt-bindings/leds/common.h>
1009d77be5SKonrad Dybcio#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1109d77be5SKonrad Dybcio
1209d77be5SKonrad Dybcio#include "x1e80100.dtsi"
1309d77be5SKonrad Dybcio#include "x1e80100-pmics.dtsi"
1409d77be5SKonrad Dybcio
1509d77be5SKonrad Dybcio/ {
1609d77be5SKonrad Dybcio	aliases {
1709d77be5SKonrad Dybcio		serial0 = &uart2;
1809d77be5SKonrad Dybcio		i2c0 = &i2c0;
1909d77be5SKonrad Dybcio		i2c3 = &i2c3;
2009d77be5SKonrad Dybcio		i2c4 = &i2c4;
2109d77be5SKonrad Dybcio		i2c5 = &i2c5;
2209d77be5SKonrad Dybcio		i2c7 = &i2c7;
2309d77be5SKonrad Dybcio	};
2409d77be5SKonrad Dybcio
25c1cd827bSKonrad Dybcio	wcd938x: audio-codec {
26c1cd827bSKonrad Dybcio		compatible = "qcom,wcd9385-codec";
27c1cd827bSKonrad Dybcio
28c1cd827bSKonrad Dybcio		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
29c1cd827bSKonrad Dybcio
30c1cd827bSKonrad Dybcio		qcom,micbias1-microvolt = <1800000>;
31c1cd827bSKonrad Dybcio		qcom,micbias2-microvolt = <1800000>;
32c1cd827bSKonrad Dybcio		qcom,micbias3-microvolt = <1800000>;
33c1cd827bSKonrad Dybcio		qcom,micbias4-microvolt = <1800000>;
34c1cd827bSKonrad Dybcio		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
35c1cd827bSKonrad Dybcio		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
36c1cd827bSKonrad Dybcio		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
37c1cd827bSKonrad Dybcio		qcom,rx-device = <&wcd_rx>;
38c1cd827bSKonrad Dybcio		qcom,tx-device = <&wcd_tx>;
39c1cd827bSKonrad Dybcio
40c1cd827bSKonrad Dybcio
41c1cd827bSKonrad Dybcio		vdd-buck-supply = <&vreg_l15b>;
42c1cd827bSKonrad Dybcio		vdd-rxtx-supply = <&vreg_l15b>;
43c1cd827bSKonrad Dybcio		vdd-io-supply = <&vreg_l15b>;
44c1cd827bSKonrad Dybcio		vdd-mic-bias-supply = <&vreg_bob1>;
45c1cd827bSKonrad Dybcio
46c1cd827bSKonrad Dybcio		pinctrl-0 = <&wcd_default>;
47c1cd827bSKonrad Dybcio		pinctrl-names = "default";
48c1cd827bSKonrad Dybcio
49c1cd827bSKonrad Dybcio		#sound-dai-cells = <1>;
50c1cd827bSKonrad Dybcio	};
51c1cd827bSKonrad Dybcio
5209d77be5SKonrad Dybcio	backlight: backlight {
5309d77be5SKonrad Dybcio		compatible = "pwm-backlight";
5409d77be5SKonrad Dybcio		pwms = <&pmk8550_pwm 0 5000000>;
5509d77be5SKonrad Dybcio		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
5609d77be5SKonrad Dybcio		/* TODO: power-supply? */
5709d77be5SKonrad Dybcio
5809d77be5SKonrad Dybcio		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
5909d77be5SKonrad Dybcio		pinctrl-names = "default";
6009d77be5SKonrad Dybcio	};
6109d77be5SKonrad Dybcio
6286d40235SKonrad Dybcio	gpio-keys {
6386d40235SKonrad Dybcio		compatible = "gpio-keys";
6486d40235SKonrad Dybcio
6586d40235SKonrad Dybcio		pinctrl-0 = <&hall_int_n_default>;
6686d40235SKonrad Dybcio		pinctrl-names = "default";
6786d40235SKonrad Dybcio
6886d40235SKonrad Dybcio		switch-lid {
6986d40235SKonrad Dybcio			gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
7086d40235SKonrad Dybcio			linux,input-type = <EV_SW>;
7186d40235SKonrad Dybcio			linux,code = <SW_LID>;
7286d40235SKonrad Dybcio			wakeup-source;
7386d40235SKonrad Dybcio			wakeup-event-action = <EV_ACT_DEASSERTED>;
7486d40235SKonrad Dybcio		};
7586d40235SKonrad Dybcio	};
7686d40235SKonrad Dybcio
7709d77be5SKonrad Dybcio	leds {
7809d77be5SKonrad Dybcio		compatible = "gpio-leds";
7909d77be5SKonrad Dybcio
8009d77be5SKonrad Dybcio		pinctrl-names = "default";
8109d77be5SKonrad Dybcio		pinctrl-0 = <&cam_indicator_en>;
8209d77be5SKonrad Dybcio
8309d77be5SKonrad Dybcio		led-camera-indicator {
8409d77be5SKonrad Dybcio			label = "white:camera-indicator";
8509d77be5SKonrad Dybcio			function = LED_FUNCTION_INDICATOR;
8609d77be5SKonrad Dybcio			color = <LED_COLOR_ID_WHITE>;
8709d77be5SKonrad Dybcio			gpios = <&tlmm 225 GPIO_ACTIVE_HIGH>;
8809d77be5SKonrad Dybcio			linux,default-trigger = "none";
8909d77be5SKonrad Dybcio			default-state = "off";
9009d77be5SKonrad Dybcio			/* Reuse as a panic indicator until we get a "camera on" trigger */
9109d77be5SKonrad Dybcio			panic-indicator;
9209d77be5SKonrad Dybcio		};
9309d77be5SKonrad Dybcio	};
9409d77be5SKonrad Dybcio
9509d77be5SKonrad Dybcio	pmic-glink {
9609d77be5SKonrad Dybcio		compatible = "qcom,x1e80100-pmic-glink",
9709d77be5SKonrad Dybcio			     "qcom,sm8550-pmic-glink",
9809d77be5SKonrad Dybcio			     "qcom,pmic-glink";
9909d77be5SKonrad Dybcio		#address-cells = <1>;
10009d77be5SKonrad Dybcio		#size-cells = <0>;
10109d77be5SKonrad Dybcio		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
10209d77be5SKonrad Dybcio				    <&tlmm 123 GPIO_ACTIVE_HIGH>;
10309d77be5SKonrad Dybcio
10409d77be5SKonrad Dybcio		/* Left-side rear port */
10509d77be5SKonrad Dybcio		connector@0 {
10609d77be5SKonrad Dybcio			compatible = "usb-c-connector";
10709d77be5SKonrad Dybcio			reg = <0>;
10809d77be5SKonrad Dybcio			power-role = "dual";
10909d77be5SKonrad Dybcio			data-role = "dual";
11009d77be5SKonrad Dybcio
11109d77be5SKonrad Dybcio			ports {
11209d77be5SKonrad Dybcio				#address-cells = <1>;
11309d77be5SKonrad Dybcio				#size-cells = <0>;
11409d77be5SKonrad Dybcio
11509d77be5SKonrad Dybcio				port@0 {
11609d77be5SKonrad Dybcio					reg = <0>;
11709d77be5SKonrad Dybcio
11809d77be5SKonrad Dybcio					pmic_glink_ss0_hs_in: endpoint {
11909d77be5SKonrad Dybcio						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
12009d77be5SKonrad Dybcio					};
12109d77be5SKonrad Dybcio				};
12209d77be5SKonrad Dybcio
12309d77be5SKonrad Dybcio				port@1 {
12409d77be5SKonrad Dybcio					reg = <1>;
12509d77be5SKonrad Dybcio
12609d77be5SKonrad Dybcio					pmic_glink_ss0_ss_in: endpoint {
127b16ee3d0SKonrad Dybcio						remote-endpoint = <&retimer_ss0_ss_out>;
128b16ee3d0SKonrad Dybcio					};
129b16ee3d0SKonrad Dybcio				};
130b16ee3d0SKonrad Dybcio
131b16ee3d0SKonrad Dybcio				port@2 {
132b16ee3d0SKonrad Dybcio					reg = <2>;
133b16ee3d0SKonrad Dybcio
134b16ee3d0SKonrad Dybcio					pmic_glink_ss0_con_sbu_in: endpoint {
135b16ee3d0SKonrad Dybcio						remote-endpoint = <&retimer_ss0_con_sbu_out>;
13609d77be5SKonrad Dybcio					};
13709d77be5SKonrad Dybcio				};
13809d77be5SKonrad Dybcio			};
13909d77be5SKonrad Dybcio		};
14009d77be5SKonrad Dybcio
14109d77be5SKonrad Dybcio		/* Left-side front port */
14209d77be5SKonrad Dybcio		connector@1 {
14309d77be5SKonrad Dybcio			compatible = "usb-c-connector";
14409d77be5SKonrad Dybcio			reg = <1>;
14509d77be5SKonrad Dybcio			power-role = "dual";
14609d77be5SKonrad Dybcio			data-role = "dual";
14709d77be5SKonrad Dybcio
14809d77be5SKonrad Dybcio			ports {
14909d77be5SKonrad Dybcio				#address-cells = <1>;
15009d77be5SKonrad Dybcio				#size-cells = <0>;
15109d77be5SKonrad Dybcio
15209d77be5SKonrad Dybcio				port@0 {
15309d77be5SKonrad Dybcio					reg = <0>;
15409d77be5SKonrad Dybcio
15509d77be5SKonrad Dybcio					pmic_glink_ss1_hs_in: endpoint {
15609d77be5SKonrad Dybcio						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
15709d77be5SKonrad Dybcio					};
15809d77be5SKonrad Dybcio				};
15909d77be5SKonrad Dybcio
16009d77be5SKonrad Dybcio				port@1 {
16109d77be5SKonrad Dybcio					reg = <1>;
16209d77be5SKonrad Dybcio
16309d77be5SKonrad Dybcio					pmic_glink_ss1_ss_in: endpoint {
164b16ee3d0SKonrad Dybcio						remote-endpoint = <&retimer_ss1_ss_out>;
165b16ee3d0SKonrad Dybcio					};
166b16ee3d0SKonrad Dybcio				};
167b16ee3d0SKonrad Dybcio
168b16ee3d0SKonrad Dybcio				port@2 {
169b16ee3d0SKonrad Dybcio					reg = <2>;
170b16ee3d0SKonrad Dybcio
171b16ee3d0SKonrad Dybcio					pmic_glink_ss1_con_sbu_in: endpoint {
172b16ee3d0SKonrad Dybcio						remote-endpoint = <&retimer_ss1_con_sbu_out>;
17309d77be5SKonrad Dybcio					};
17409d77be5SKonrad Dybcio				};
17509d77be5SKonrad Dybcio			};
17609d77be5SKonrad Dybcio		};
17709d77be5SKonrad Dybcio	};
17809d77be5SKonrad Dybcio
17909d77be5SKonrad Dybcio	reserved-memory {
18009d77be5SKonrad Dybcio		linux,cma {
18109d77be5SKonrad Dybcio			compatible = "shared-dma-pool";
18209d77be5SKonrad Dybcio			size = <0x0 0x8000000>;
18309d77be5SKonrad Dybcio			reusable;
18409d77be5SKonrad Dybcio			linux,cma-default;
18509d77be5SKonrad Dybcio		};
18609d77be5SKonrad Dybcio	};
18709d77be5SKonrad Dybcio
18809d77be5SKonrad Dybcio	vreg_edp_3p3: regulator-edp-3p3 {
18909d77be5SKonrad Dybcio		compatible = "regulator-fixed";
19009d77be5SKonrad Dybcio
19109d77be5SKonrad Dybcio		regulator-name = "VREG_EDP_3P3";
19209d77be5SKonrad Dybcio		regulator-min-microvolt = <3300000>;
19309d77be5SKonrad Dybcio		regulator-max-microvolt = <3300000>;
19409d77be5SKonrad Dybcio
19509d77be5SKonrad Dybcio		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
19609d77be5SKonrad Dybcio		enable-active-high;
19709d77be5SKonrad Dybcio
19809d77be5SKonrad Dybcio		pinctrl-0 = <&edp_reg_en>;
19909d77be5SKonrad Dybcio		pinctrl-names = "default";
20009d77be5SKonrad Dybcio
20109d77be5SKonrad Dybcio		regulator-boot-on;
20209d77be5SKonrad Dybcio	};
20309d77be5SKonrad Dybcio
204b16ee3d0SKonrad Dybcio	vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
205b16ee3d0SKonrad Dybcio		compatible = "regulator-fixed";
206b16ee3d0SKonrad Dybcio
207b16ee3d0SKonrad Dybcio		regulator-name = "VREG_RTMR0_1P15";
208b16ee3d0SKonrad Dybcio
209b16ee3d0SKonrad Dybcio		regulator-min-microvolt = <1150000>;
210b16ee3d0SKonrad Dybcio		regulator-max-microvolt = <1150000>;
211b16ee3d0SKonrad Dybcio
212b16ee3d0SKonrad Dybcio		gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
213b16ee3d0SKonrad Dybcio		enable-active-high;
214b16ee3d0SKonrad Dybcio
215b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr0_1p15_reg_en>;
216b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
217b16ee3d0SKonrad Dybcio
218b16ee3d0SKonrad Dybcio		regulator-boot-on;
219b16ee3d0SKonrad Dybcio	};
220b16ee3d0SKonrad Dybcio
221b16ee3d0SKonrad Dybcio	vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
222b16ee3d0SKonrad Dybcio		compatible = "regulator-fixed";
223b16ee3d0SKonrad Dybcio
224b16ee3d0SKonrad Dybcio		regulator-name = "VREG_RTMR0_1P8";
225b16ee3d0SKonrad Dybcio
226b16ee3d0SKonrad Dybcio		regulator-min-microvolt = <1800000>;
227b16ee3d0SKonrad Dybcio		regulator-max-microvolt = <1800000>;
228b16ee3d0SKonrad Dybcio
229b16ee3d0SKonrad Dybcio		gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
230b16ee3d0SKonrad Dybcio		enable-active-high;
231b16ee3d0SKonrad Dybcio
232b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr0_1p8_reg_en>;
233b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
234b16ee3d0SKonrad Dybcio
235b16ee3d0SKonrad Dybcio		regulator-boot-on;
236b16ee3d0SKonrad Dybcio	};
237b16ee3d0SKonrad Dybcio
238b16ee3d0SKonrad Dybcio	vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
239b16ee3d0SKonrad Dybcio		compatible = "regulator-fixed";
240b16ee3d0SKonrad Dybcio
241b16ee3d0SKonrad Dybcio		regulator-name = "VREG_RTMR0_3P3";
242b16ee3d0SKonrad Dybcio
243b16ee3d0SKonrad Dybcio		regulator-min-microvolt = <3300000>;
244b16ee3d0SKonrad Dybcio		regulator-max-microvolt = <3300000>;
245b16ee3d0SKonrad Dybcio
246b16ee3d0SKonrad Dybcio		gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
247b16ee3d0SKonrad Dybcio		enable-active-high;
248b16ee3d0SKonrad Dybcio
249b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr0_3p3_reg_en>;
250b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
251b16ee3d0SKonrad Dybcio
252b16ee3d0SKonrad Dybcio		regulator-boot-on;
253b16ee3d0SKonrad Dybcio	};
254b16ee3d0SKonrad Dybcio
255b16ee3d0SKonrad Dybcio	vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
256b16ee3d0SKonrad Dybcio		compatible = "regulator-fixed";
257b16ee3d0SKonrad Dybcio
258b16ee3d0SKonrad Dybcio		regulator-name = "VREG_RTMR1_1P15";
259b16ee3d0SKonrad Dybcio
260b16ee3d0SKonrad Dybcio		regulator-min-microvolt = <1150000>;
261b16ee3d0SKonrad Dybcio		regulator-max-microvolt = <1150000>;
262b16ee3d0SKonrad Dybcio
263b16ee3d0SKonrad Dybcio		gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
264b16ee3d0SKonrad Dybcio		enable-active-high;
265b16ee3d0SKonrad Dybcio
266b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr1_1p15_reg_en>;
267b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
268b16ee3d0SKonrad Dybcio
269b16ee3d0SKonrad Dybcio		regulator-boot-on;
270b16ee3d0SKonrad Dybcio	};
271b16ee3d0SKonrad Dybcio
272b16ee3d0SKonrad Dybcio	vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
273b16ee3d0SKonrad Dybcio		compatible = "regulator-fixed";
274b16ee3d0SKonrad Dybcio
275b16ee3d0SKonrad Dybcio		regulator-name = "VREG_RTMR1_1P8";
276b16ee3d0SKonrad Dybcio
277b16ee3d0SKonrad Dybcio		regulator-min-microvolt = <1800000>;
278b16ee3d0SKonrad Dybcio		regulator-max-microvolt = <1800000>;
279b16ee3d0SKonrad Dybcio
280b16ee3d0SKonrad Dybcio		gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
281b16ee3d0SKonrad Dybcio		enable-active-high;
282b16ee3d0SKonrad Dybcio
283b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr1_1p8_reg_en>;
284b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
285b16ee3d0SKonrad Dybcio
286b16ee3d0SKonrad Dybcio		regulator-boot-on;
287b16ee3d0SKonrad Dybcio	};
288b16ee3d0SKonrad Dybcio
289b16ee3d0SKonrad Dybcio	vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
290b16ee3d0SKonrad Dybcio		compatible = "regulator-fixed";
291b16ee3d0SKonrad Dybcio
292b16ee3d0SKonrad Dybcio		regulator-name = "VREG_RTMR1_3P3";
293b16ee3d0SKonrad Dybcio
294b16ee3d0SKonrad Dybcio		regulator-min-microvolt = <3300000>;
295b16ee3d0SKonrad Dybcio		regulator-max-microvolt = <3300000>;
296b16ee3d0SKonrad Dybcio
297b16ee3d0SKonrad Dybcio		gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
298b16ee3d0SKonrad Dybcio		enable-active-high;
299b16ee3d0SKonrad Dybcio
300b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr1_3p3_reg_en>;
301b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
302b16ee3d0SKonrad Dybcio
303b16ee3d0SKonrad Dybcio		regulator-boot-on;
304b16ee3d0SKonrad Dybcio	};
305b16ee3d0SKonrad Dybcio
306b16ee3d0SKonrad Dybcio
30709d77be5SKonrad Dybcio	vreg_nvme: regulator-nvme {
30809d77be5SKonrad Dybcio		compatible = "regulator-fixed";
30909d77be5SKonrad Dybcio
31009d77be5SKonrad Dybcio		regulator-name = "VREG_NVME_3P3";
31109d77be5SKonrad Dybcio		regulator-min-microvolt = <3300000>;
31209d77be5SKonrad Dybcio		regulator-max-microvolt = <3300000>;
31309d77be5SKonrad Dybcio
31409d77be5SKonrad Dybcio		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
31509d77be5SKonrad Dybcio		enable-active-high;
31609d77be5SKonrad Dybcio
31709d77be5SKonrad Dybcio		pinctrl-0 = <&nvme_reg_en>;
31809d77be5SKonrad Dybcio		pinctrl-names = "default";
3195462190bSJohan Hovold
3205462190bSJohan Hovold		regulator-boot-on;
32109d77be5SKonrad Dybcio	};
32287c1870bSJohan Hovold
32387c1870bSJohan Hovold	vph_pwr: regulator-vph-pwr {
32487c1870bSJohan Hovold		compatible = "regulator-fixed";
32587c1870bSJohan Hovold
32687c1870bSJohan Hovold		regulator-name = "vph_pwr";
32787c1870bSJohan Hovold		regulator-min-microvolt = <3700000>;
32887c1870bSJohan Hovold		regulator-max-microvolt = <3700000>;
32987c1870bSJohan Hovold
33087c1870bSJohan Hovold		regulator-always-on;
33187c1870bSJohan Hovold		regulator-boot-on;
33287c1870bSJohan Hovold	};
333c1cd827bSKonrad Dybcio
334c1cd827bSKonrad Dybcio	sound {
335c1cd827bSKonrad Dybcio		compatible = "qcom,x1e80100-sndcard";
336c1cd827bSKonrad Dybcio		model = "X1E80100-Romulus";
337c1cd827bSKonrad Dybcio		audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
338c1cd827bSKonrad Dybcio				"SpkrRight IN", "WSA WSA_SPK2 OUT",
339c1cd827bSKonrad Dybcio				"IN1_HPHL", "HPHL_OUT",
340c1cd827bSKonrad Dybcio				"IN2_HPHR", "HPHR_OUT",
341c1cd827bSKonrad Dybcio				"AMIC2", "MIC BIAS2",
342c1cd827bSKonrad Dybcio				"VA DMIC0", "MIC BIAS3",
343c1cd827bSKonrad Dybcio				"VA DMIC1", "MIC BIAS3",
344c1cd827bSKonrad Dybcio				"VA DMIC0", "VA MIC BIAS3",
345c1cd827bSKonrad Dybcio				"VA DMIC1", "VA MIC BIAS3",
346c1cd827bSKonrad Dybcio				"TX SWR_INPUT1", "ADC2_OUTPUT";
347c1cd827bSKonrad Dybcio
348c1cd827bSKonrad Dybcio		va-dai-link {
349c1cd827bSKonrad Dybcio			link-name = "VA Capture";
350c1cd827bSKonrad Dybcio
351c1cd827bSKonrad Dybcio			cpu {
352c1cd827bSKonrad Dybcio				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
353c1cd827bSKonrad Dybcio			};
354c1cd827bSKonrad Dybcio
355c1cd827bSKonrad Dybcio			codec {
356c1cd827bSKonrad Dybcio				sound-dai = <&lpass_vamacro 0>;
357c1cd827bSKonrad Dybcio			};
358c1cd827bSKonrad Dybcio
359c1cd827bSKonrad Dybcio			platform {
360c1cd827bSKonrad Dybcio				sound-dai = <&q6apm>;
361c1cd827bSKonrad Dybcio			};
362c1cd827bSKonrad Dybcio		};
363c1cd827bSKonrad Dybcio
364c1cd827bSKonrad Dybcio		wcd-capture-dai-link {
365c1cd827bSKonrad Dybcio			link-name = "WCD Capture";
366c1cd827bSKonrad Dybcio
367c1cd827bSKonrad Dybcio			cpu {
368c1cd827bSKonrad Dybcio				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
369c1cd827bSKonrad Dybcio			};
370c1cd827bSKonrad Dybcio
371c1cd827bSKonrad Dybcio			codec {
372c1cd827bSKonrad Dybcio				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
373c1cd827bSKonrad Dybcio			};
374c1cd827bSKonrad Dybcio
375c1cd827bSKonrad Dybcio			platform {
376c1cd827bSKonrad Dybcio				sound-dai = <&q6apm>;
377c1cd827bSKonrad Dybcio			};
378c1cd827bSKonrad Dybcio		};
379c1cd827bSKonrad Dybcio
380c1cd827bSKonrad Dybcio		wcd-playback-dai-link {
381c1cd827bSKonrad Dybcio			link-name = "WCD Playback";
382c1cd827bSKonrad Dybcio
383c1cd827bSKonrad Dybcio			cpu {
384c1cd827bSKonrad Dybcio				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
385c1cd827bSKonrad Dybcio			};
386c1cd827bSKonrad Dybcio
387c1cd827bSKonrad Dybcio			codec {
388c1cd827bSKonrad Dybcio				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
389c1cd827bSKonrad Dybcio			};
390c1cd827bSKonrad Dybcio
391c1cd827bSKonrad Dybcio			platform {
392c1cd827bSKonrad Dybcio				sound-dai = <&q6apm>;
393c1cd827bSKonrad Dybcio			};
394c1cd827bSKonrad Dybcio		};
395c1cd827bSKonrad Dybcio
396c1cd827bSKonrad Dybcio		wsa-dai-link {
397c1cd827bSKonrad Dybcio			link-name = "WSA Playback";
398c1cd827bSKonrad Dybcio
399c1cd827bSKonrad Dybcio			cpu {
400c1cd827bSKonrad Dybcio				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
401c1cd827bSKonrad Dybcio			};
402c1cd827bSKonrad Dybcio
403c1cd827bSKonrad Dybcio			codec {
404c1cd827bSKonrad Dybcio				sound-dai = <&left_spkr>, <&right_spkr>,
405c1cd827bSKonrad Dybcio					    <&swr0 0>, <&lpass_wsamacro 0>;
406c1cd827bSKonrad Dybcio			};
407c1cd827bSKonrad Dybcio
408c1cd827bSKonrad Dybcio			platform {
409c1cd827bSKonrad Dybcio				sound-dai = <&q6apm>;
410c1cd827bSKonrad Dybcio			};
411c1cd827bSKonrad Dybcio		};
412c1cd827bSKonrad Dybcio	};
41309d77be5SKonrad Dybcio};
41409d77be5SKonrad Dybcio
41509d77be5SKonrad Dybcio&apps_rsc {
41609d77be5SKonrad Dybcio	regulators-0 {
41709d77be5SKonrad Dybcio		compatible = "qcom,pm8550-rpmh-regulators";
41809d77be5SKonrad Dybcio		qcom,pmic-id = "b";
41909d77be5SKonrad Dybcio
42009d77be5SKonrad Dybcio		vdd-bob1-supply = <&vph_pwr>;
42109d77be5SKonrad Dybcio		vdd-bob2-supply = <&vph_pwr>;
42209d77be5SKonrad Dybcio		vdd-l1-l4-l10-supply = <&vreg_s4c>;
42309d77be5SKonrad Dybcio		vdd-l2-l13-l14-supply = <&vreg_bob1>;
42409d77be5SKonrad Dybcio		vdd-l5-l16-supply = <&vreg_bob1>;
42509d77be5SKonrad Dybcio		vdd-l6-l7-supply = <&vreg_bob2>;
42609d77be5SKonrad Dybcio		vdd-l8-l9-supply = <&vreg_bob1>;
42709d77be5SKonrad Dybcio		vdd-l12-supply = <&vreg_s5j>;
42809d77be5SKonrad Dybcio		vdd-l15-supply = <&vreg_s4c>;
42909d77be5SKonrad Dybcio		vdd-l17-supply = <&vreg_bob2>;
43009d77be5SKonrad Dybcio
43109d77be5SKonrad Dybcio		vreg_bob1: bob1 {
43209d77be5SKonrad Dybcio			regulator-name = "vreg_bob1";
43309d77be5SKonrad Dybcio			regulator-min-microvolt = <3008000>;
43409d77be5SKonrad Dybcio			regulator-max-microvolt = <3960000>;
43509d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
43609d77be5SKonrad Dybcio		};
43709d77be5SKonrad Dybcio
43809d77be5SKonrad Dybcio		vreg_bob2: bob2 {
43909d77be5SKonrad Dybcio			regulator-name = "vreg_bob2";
44009d77be5SKonrad Dybcio			regulator-min-microvolt = <2504000>;
44109d77be5SKonrad Dybcio			regulator-max-microvolt = <3008000>;
44209d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
44309d77be5SKonrad Dybcio		};
44409d77be5SKonrad Dybcio
44509d77be5SKonrad Dybcio		vreg_l1b: ldo1 {
44609d77be5SKonrad Dybcio			regulator-name = "vreg_l1b";
44709d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
44809d77be5SKonrad Dybcio			regulator-max-microvolt = <1800000>;
44909d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45009d77be5SKonrad Dybcio		};
45109d77be5SKonrad Dybcio
45209d77be5SKonrad Dybcio		vreg_l2b: ldo2 {
45309d77be5SKonrad Dybcio			regulator-name = "vreg_l2b";
45409d77be5SKonrad Dybcio			regulator-min-microvolt = <3072000>;
45509d77be5SKonrad Dybcio			regulator-max-microvolt = <3072000>;
45609d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45709d77be5SKonrad Dybcio		};
45809d77be5SKonrad Dybcio
45909d77be5SKonrad Dybcio		vreg_l4b: ldo4 {
46009d77be5SKonrad Dybcio			regulator-name = "vreg_l4b";
46109d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
46209d77be5SKonrad Dybcio			regulator-max-microvolt = <1800000>;
46309d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
46409d77be5SKonrad Dybcio		};
46509d77be5SKonrad Dybcio
46609d77be5SKonrad Dybcio		vreg_l5b: ldo5 {
46709d77be5SKonrad Dybcio			regulator-name = "vreg_l5b";
46809d77be5SKonrad Dybcio			regulator-min-microvolt = <3000000>;
46909d77be5SKonrad Dybcio			regulator-max-microvolt = <3000000>;
47009d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
47109d77be5SKonrad Dybcio		};
47209d77be5SKonrad Dybcio
47309d77be5SKonrad Dybcio		vreg_l6b: ldo6 {
47409d77be5SKonrad Dybcio			regulator-name = "vreg_l6b";
47509d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
47609d77be5SKonrad Dybcio			regulator-max-microvolt = <2960000>;
47709d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
47809d77be5SKonrad Dybcio		};
47909d77be5SKonrad Dybcio
48009d77be5SKonrad Dybcio		vreg_l7b: ldo7 {
48109d77be5SKonrad Dybcio			regulator-name = "vreg_l7b";
48209d77be5SKonrad Dybcio			regulator-min-microvolt = <2800000>;
48309d77be5SKonrad Dybcio			regulator-max-microvolt = <2800000>;
48409d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
48509d77be5SKonrad Dybcio		};
48609d77be5SKonrad Dybcio
48709d77be5SKonrad Dybcio		vreg_l8b: ldo8 {
48809d77be5SKonrad Dybcio			regulator-name = "vreg_l8b";
48909d77be5SKonrad Dybcio			regulator-min-microvolt = <3072000>;
49009d77be5SKonrad Dybcio			regulator-max-microvolt = <3072000>;
49109d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
49209d77be5SKonrad Dybcio		};
49309d77be5SKonrad Dybcio
49409d77be5SKonrad Dybcio		vreg_l9b: ldo9 {
49509d77be5SKonrad Dybcio			regulator-name = "vreg_l9b";
49609d77be5SKonrad Dybcio			regulator-min-microvolt = <2960000>;
49709d77be5SKonrad Dybcio			regulator-max-microvolt = <2960000>;
49809d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
49909d77be5SKonrad Dybcio		};
50009d77be5SKonrad Dybcio
50109d77be5SKonrad Dybcio		vreg_l10b: ldo10 {
50209d77be5SKonrad Dybcio			regulator-name = "vreg_l10b";
50309d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
50409d77be5SKonrad Dybcio			regulator-max-microvolt = <1800000>;
50509d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
50609d77be5SKonrad Dybcio		};
50709d77be5SKonrad Dybcio
50809d77be5SKonrad Dybcio		vreg_l12b: ldo12 {
50909d77be5SKonrad Dybcio			regulator-name = "vreg_l12b";
51009d77be5SKonrad Dybcio			regulator-min-microvolt = <1200000>;
51109d77be5SKonrad Dybcio			regulator-max-microvolt = <1200000>;
51209d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
5130783c8b3SKonrad Dybcio			regulator-always-on;
51409d77be5SKonrad Dybcio		};
51509d77be5SKonrad Dybcio
51609d77be5SKonrad Dybcio		vreg_l13b: ldo13 {
51709d77be5SKonrad Dybcio			regulator-name = "vreg_l13b";
51809d77be5SKonrad Dybcio			regulator-min-microvolt = <3072000>;
51909d77be5SKonrad Dybcio			regulator-max-microvolt = <3072000>;
52009d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
52109d77be5SKonrad Dybcio		};
52209d77be5SKonrad Dybcio
52309d77be5SKonrad Dybcio		vreg_l14b: ldo14 {
52409d77be5SKonrad Dybcio			regulator-name = "vreg_l14b";
52509d77be5SKonrad Dybcio			regulator-min-microvolt = <3072000>;
52609d77be5SKonrad Dybcio			regulator-max-microvolt = <3072000>;
52709d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
52809d77be5SKonrad Dybcio		};
52909d77be5SKonrad Dybcio
53009d77be5SKonrad Dybcio		vreg_l15b: ldo15 {
53109d77be5SKonrad Dybcio			regulator-name = "vreg_l15b";
53209d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
53309d77be5SKonrad Dybcio			regulator-max-microvolt = <1800000>;
53409d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
5350783c8b3SKonrad Dybcio			regulator-always-on;
53609d77be5SKonrad Dybcio		};
53709d77be5SKonrad Dybcio
53809d77be5SKonrad Dybcio		vreg_l16b: ldo16 {
53909d77be5SKonrad Dybcio			regulator-name = "vreg_l16b";
54009d77be5SKonrad Dybcio			regulator-min-microvolt = <2912000>;
54109d77be5SKonrad Dybcio			regulator-max-microvolt = <2912000>;
54209d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
54309d77be5SKonrad Dybcio		};
54409d77be5SKonrad Dybcio
54509d77be5SKonrad Dybcio		vreg_l17b: ldo17 {
54609d77be5SKonrad Dybcio			regulator-name = "vreg_l17b";
54709d77be5SKonrad Dybcio			regulator-min-microvolt = <2504000>;
54809d77be5SKonrad Dybcio			regulator-max-microvolt = <2504000>;
54909d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
55009d77be5SKonrad Dybcio		};
55109d77be5SKonrad Dybcio	};
55209d77be5SKonrad Dybcio
55309d77be5SKonrad Dybcio	regulators-1 {
55409d77be5SKonrad Dybcio		compatible = "qcom,pm8550ve-rpmh-regulators";
55509d77be5SKonrad Dybcio		qcom,pmic-id = "c";
55609d77be5SKonrad Dybcio
55709d77be5SKonrad Dybcio		vdd-l1-supply = <&vreg_s5j>;
55809d77be5SKonrad Dybcio		vdd-l2-supply = <&vreg_s1f>;
55909d77be5SKonrad Dybcio		vdd-l3-supply = <&vreg_s1f>;
56009d77be5SKonrad Dybcio		vdd-s4-supply = <&vph_pwr>;
56109d77be5SKonrad Dybcio
56209d77be5SKonrad Dybcio		vreg_s4c: smps4 {
56309d77be5SKonrad Dybcio			regulator-name = "vreg_s4c";
56409d77be5SKonrad Dybcio			regulator-min-microvolt = <1856000>;
56509d77be5SKonrad Dybcio			regulator-max-microvolt = <2000000>;
56609d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
56709d77be5SKonrad Dybcio		};
56809d77be5SKonrad Dybcio
56909d77be5SKonrad Dybcio		vreg_l1c: ldo1 {
57009d77be5SKonrad Dybcio			regulator-name = "vreg_l1c";
57109d77be5SKonrad Dybcio			regulator-min-microvolt = <1200000>;
57209d77be5SKonrad Dybcio			regulator-max-microvolt = <1200000>;
57309d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
57409d77be5SKonrad Dybcio		};
57509d77be5SKonrad Dybcio
57609d77be5SKonrad Dybcio		vreg_l2c: ldo2 {
57709d77be5SKonrad Dybcio			regulator-name = "vreg_l2c";
57809d77be5SKonrad Dybcio			regulator-min-microvolt = <880000>;
57909d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
58009d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
58109d77be5SKonrad Dybcio		};
58209d77be5SKonrad Dybcio
58309d77be5SKonrad Dybcio		vreg_l3c: ldo3 {
58409d77be5SKonrad Dybcio			regulator-name = "vreg_l3c";
58509d77be5SKonrad Dybcio			regulator-min-microvolt = <912000>;
58609d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
58709d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
58809d77be5SKonrad Dybcio		};
58909d77be5SKonrad Dybcio	};
59009d77be5SKonrad Dybcio
59109d77be5SKonrad Dybcio	regulators-2 {
59209d77be5SKonrad Dybcio		compatible = "qcom,pmc8380-rpmh-regulators";
59309d77be5SKonrad Dybcio		qcom,pmic-id = "d";
59409d77be5SKonrad Dybcio
59509d77be5SKonrad Dybcio		vdd-l1-supply = <&vreg_s1f>;
59609d77be5SKonrad Dybcio		vdd-l2-supply = <&vreg_s1f>;
59709d77be5SKonrad Dybcio		vdd-l3-supply = <&vreg_s4c>;
59809d77be5SKonrad Dybcio		vdd-s1-supply = <&vph_pwr>;
59909d77be5SKonrad Dybcio
60009d77be5SKonrad Dybcio		vreg_l1d: ldo1 {
60109d77be5SKonrad Dybcio			regulator-name = "vreg_l1d";
60209d77be5SKonrad Dybcio			regulator-min-microvolt = <880000>;
60309d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
60409d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
60509d77be5SKonrad Dybcio		};
60609d77be5SKonrad Dybcio
60709d77be5SKonrad Dybcio		vreg_l2d: ldo2 {
60809d77be5SKonrad Dybcio			regulator-name = "vreg_l2d";
60909d77be5SKonrad Dybcio			regulator-min-microvolt = <912000>;
61009d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
61109d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
61209d77be5SKonrad Dybcio		};
61309d77be5SKonrad Dybcio
61409d77be5SKonrad Dybcio		vreg_l3d: ldo3 {
61509d77be5SKonrad Dybcio			regulator-name = "vreg_l3d";
61609d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
61709d77be5SKonrad Dybcio			regulator-max-microvolt = <1800000>;
61809d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
61909d77be5SKonrad Dybcio		};
62009d77be5SKonrad Dybcio	};
62109d77be5SKonrad Dybcio
62209d77be5SKonrad Dybcio	regulators-3 {
62309d77be5SKonrad Dybcio		compatible = "qcom,pmc8380-rpmh-regulators";
62409d77be5SKonrad Dybcio		qcom,pmic-id = "e";
62509d77be5SKonrad Dybcio
62609d77be5SKonrad Dybcio		vdd-l2-supply = <&vreg_s1f>;
62709d77be5SKonrad Dybcio		vdd-l3-supply = <&vreg_s5j>;
62809d77be5SKonrad Dybcio
62909d77be5SKonrad Dybcio		vreg_l2e: ldo2 {
63009d77be5SKonrad Dybcio			regulator-name = "vreg_l2e";
63109d77be5SKonrad Dybcio			regulator-min-microvolt = <880000>;
63209d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
63309d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
63409d77be5SKonrad Dybcio		};
63509d77be5SKonrad Dybcio
63609d77be5SKonrad Dybcio		vreg_l3e: ldo3 {
63709d77be5SKonrad Dybcio			regulator-name = "vreg_l3e";
63809d77be5SKonrad Dybcio			regulator-min-microvolt = <1200000>;
63909d77be5SKonrad Dybcio			regulator-max-microvolt = <1200000>;
64009d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
64109d77be5SKonrad Dybcio		};
64209d77be5SKonrad Dybcio	};
64309d77be5SKonrad Dybcio
64409d77be5SKonrad Dybcio	regulators-4 {
64509d77be5SKonrad Dybcio		compatible = "qcom,pmc8380-rpmh-regulators";
64609d77be5SKonrad Dybcio		qcom,pmic-id = "f";
64709d77be5SKonrad Dybcio
64809d77be5SKonrad Dybcio		vdd-l1-supply = <&vreg_s5j>;
64909d77be5SKonrad Dybcio		vdd-l2-supply = <&vreg_s5j>;
65009d77be5SKonrad Dybcio		vdd-l3-supply = <&vreg_s5j>;
65109d77be5SKonrad Dybcio		vdd-s1-supply = <&vph_pwr>;
65209d77be5SKonrad Dybcio
65309d77be5SKonrad Dybcio		vreg_s1f: smps1 {
65409d77be5SKonrad Dybcio			regulator-name = "vreg_s1f";
65509d77be5SKonrad Dybcio			regulator-min-microvolt = <700000>;
65609d77be5SKonrad Dybcio			regulator-max-microvolt = <1100000>;
65709d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
65809d77be5SKonrad Dybcio		};
65909d77be5SKonrad Dybcio
66009d77be5SKonrad Dybcio		vreg_l1f: ldo1 {
66109d77be5SKonrad Dybcio			regulator-name = "vreg_l1f";
66209d77be5SKonrad Dybcio			regulator-min-microvolt = <1024000>;
66309d77be5SKonrad Dybcio			regulator-max-microvolt = <1024000>;
66409d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
66509d77be5SKonrad Dybcio		};
66609d77be5SKonrad Dybcio
66709d77be5SKonrad Dybcio		vreg_l2f: ldo2 {
66809d77be5SKonrad Dybcio			regulator-name = "vreg_l2f";
66909d77be5SKonrad Dybcio			regulator-min-microvolt = <1024000>;
67009d77be5SKonrad Dybcio			regulator-max-microvolt = <1024000>;
67109d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
67209d77be5SKonrad Dybcio		};
67309d77be5SKonrad Dybcio
67409d77be5SKonrad Dybcio		vreg_l3f: ldo3 {
67509d77be5SKonrad Dybcio			regulator-name = "vreg_l3f";
67609d77be5SKonrad Dybcio			regulator-min-microvolt = <1024000>;
67709d77be5SKonrad Dybcio			regulator-max-microvolt = <1024000>;
67809d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
67909d77be5SKonrad Dybcio		};
68009d77be5SKonrad Dybcio	};
68109d77be5SKonrad Dybcio
68209d77be5SKonrad Dybcio	regulators-6 {
68309d77be5SKonrad Dybcio		compatible = "qcom,pm8550ve-rpmh-regulators";
68409d77be5SKonrad Dybcio		qcom,pmic-id = "i";
68509d77be5SKonrad Dybcio
68609d77be5SKonrad Dybcio		vdd-l1-supply = <&vreg_s4c>;
68709d77be5SKonrad Dybcio		vdd-l2-supply = <&vreg_s5j>;
68809d77be5SKonrad Dybcio		vdd-l3-supply = <&vreg_s1f>;
68909d77be5SKonrad Dybcio		vdd-s1-supply = <&vph_pwr>;
69009d77be5SKonrad Dybcio		vdd-s2-supply = <&vph_pwr>;
69109d77be5SKonrad Dybcio
69209d77be5SKonrad Dybcio		vreg_s1i: smps1 {
69309d77be5SKonrad Dybcio			regulator-name = "vreg_s1i";
69409d77be5SKonrad Dybcio			regulator-min-microvolt = <900000>;
69509d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
69609d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
69709d77be5SKonrad Dybcio		};
69809d77be5SKonrad Dybcio
69909d77be5SKonrad Dybcio		vreg_s2i: smps2 {
70009d77be5SKonrad Dybcio			regulator-name = "vreg_s2i";
70109d77be5SKonrad Dybcio			regulator-min-microvolt = <1000000>;
70209d77be5SKonrad Dybcio			regulator-max-microvolt = <1100000>;
70309d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
70409d77be5SKonrad Dybcio		};
70509d77be5SKonrad Dybcio
70609d77be5SKonrad Dybcio		vreg_l1i: ldo1 {
70709d77be5SKonrad Dybcio			regulator-name = "vreg_l1i";
70809d77be5SKonrad Dybcio			regulator-min-microvolt = <1800000>;
70909d77be5SKonrad Dybcio			regulator-max-microvolt = <1800000>;
71009d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
71109d77be5SKonrad Dybcio		};
71209d77be5SKonrad Dybcio
71309d77be5SKonrad Dybcio		vreg_l2i: ldo2 {
71409d77be5SKonrad Dybcio			regulator-name = "vreg_l2i";
71509d77be5SKonrad Dybcio			regulator-min-microvolt = <1200000>;
71609d77be5SKonrad Dybcio			regulator-max-microvolt = <1200000>;
71709d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
71809d77be5SKonrad Dybcio		};
71909d77be5SKonrad Dybcio
72009d77be5SKonrad Dybcio		vreg_l3i: ldo3 {
72109d77be5SKonrad Dybcio			regulator-name = "vreg_l3i";
72209d77be5SKonrad Dybcio			regulator-min-microvolt = <880000>;
72309d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
72409d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
72509d77be5SKonrad Dybcio		};
72609d77be5SKonrad Dybcio	};
72709d77be5SKonrad Dybcio
72809d77be5SKonrad Dybcio	regulators-7 {
72909d77be5SKonrad Dybcio		compatible = "qcom,pm8550ve-rpmh-regulators";
73009d77be5SKonrad Dybcio		qcom,pmic-id = "j";
73109d77be5SKonrad Dybcio
73209d77be5SKonrad Dybcio		vdd-l1-supply = <&vreg_s1f>;
73309d77be5SKonrad Dybcio		vdd-l2-supply = <&vreg_s5j>;
73409d77be5SKonrad Dybcio		vdd-l3-supply = <&vreg_s1f>;
73509d77be5SKonrad Dybcio		vdd-s5-supply = <&vph_pwr>;
73609d77be5SKonrad Dybcio
73709d77be5SKonrad Dybcio		vreg_s5j: smps5 {
73809d77be5SKonrad Dybcio			regulator-name = "vreg_s5j";
73909d77be5SKonrad Dybcio			regulator-min-microvolt = <1256000>;
74009d77be5SKonrad Dybcio			regulator-max-microvolt = <1304000>;
74109d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
74209d77be5SKonrad Dybcio		};
74309d77be5SKonrad Dybcio
74409d77be5SKonrad Dybcio		vreg_l1j: ldo1 {
74509d77be5SKonrad Dybcio			regulator-name = "vreg_l1j";
74609d77be5SKonrad Dybcio			regulator-min-microvolt = <912000>;
74709d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
74809d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
74909d77be5SKonrad Dybcio		};
75009d77be5SKonrad Dybcio
75109d77be5SKonrad Dybcio		vreg_l2j: ldo2 {
75209d77be5SKonrad Dybcio			regulator-name = "vreg_l2j";
75309d77be5SKonrad Dybcio			regulator-min-microvolt = <1256000>;
75409d77be5SKonrad Dybcio			regulator-max-microvolt = <1256000>;
75509d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
75609d77be5SKonrad Dybcio		};
75709d77be5SKonrad Dybcio
75809d77be5SKonrad Dybcio		vreg_l3j: ldo3 {
75909d77be5SKonrad Dybcio			regulator-name = "vreg_l3j";
76009d77be5SKonrad Dybcio			regulator-min-microvolt = <880000>;
76109d77be5SKonrad Dybcio			regulator-max-microvolt = <920000>;
76209d77be5SKonrad Dybcio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
76309d77be5SKonrad Dybcio		};
76409d77be5SKonrad Dybcio	};
76509d77be5SKonrad Dybcio};
76609d77be5SKonrad Dybcio
76709d77be5SKonrad Dybcio&gpu {
76809d77be5SKonrad Dybcio	status = "okay";
76909d77be5SKonrad Dybcio
77009d77be5SKonrad Dybcio	zap-shader {
77109d77be5SKonrad Dybcio		memory-region = <&gpu_microcode_mem>;
77209d77be5SKonrad Dybcio		firmware-name = "qcom/x1e80100/microsoft/qcdxkmsuc8380.mbn";
77309d77be5SKonrad Dybcio	};
77409d77be5SKonrad Dybcio};
77509d77be5SKonrad Dybcio
77609d77be5SKonrad Dybcio&i2c0 {
77709d77be5SKonrad Dybcio	clock-frequency = <100000>;
77809d77be5SKonrad Dybcio
77909d77be5SKonrad Dybcio	status = "okay";
78009d77be5SKonrad Dybcio
78109d77be5SKonrad Dybcio	/* Something @39, @3e, @44 */
78209d77be5SKonrad Dybcio};
78309d77be5SKonrad Dybcio
78409d77be5SKonrad Dybcio&i2c3 {
78509d77be5SKonrad Dybcio	clock-frequency = <400000>;
78609d77be5SKonrad Dybcio
78709d77be5SKonrad Dybcio	status = "okay";
78809d77be5SKonrad Dybcio
789b16ee3d0SKonrad Dybcio	/* Left-side rear port */
790b16ee3d0SKonrad Dybcio	typec-mux@8 {
791b16ee3d0SKonrad Dybcio		compatible = "parade,ps8830";
792b16ee3d0SKonrad Dybcio		reg = <0x8>;
793b16ee3d0SKonrad Dybcio
794b16ee3d0SKonrad Dybcio		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
795b16ee3d0SKonrad Dybcio
796b16ee3d0SKonrad Dybcio		clocks = <&rpmhcc RPMH_RF_CLK3>;
797b16ee3d0SKonrad Dybcio
798b16ee3d0SKonrad Dybcio		vdd-supply = <&vreg_rtmr0_1p15>;
799b16ee3d0SKonrad Dybcio		vdd33-supply = <&vreg_rtmr0_3p3>;
800b16ee3d0SKonrad Dybcio		vdd33-cap-supply = <&vreg_rtmr0_3p3>;
801b16ee3d0SKonrad Dybcio		vddar-supply = <&vreg_rtmr0_1p15>;
802b16ee3d0SKonrad Dybcio		vddat-supply = <&vreg_rtmr0_1p15>;
803b16ee3d0SKonrad Dybcio		vddio-supply = <&vreg_rtmr0_1p8>;
804b16ee3d0SKonrad Dybcio
805b16ee3d0SKonrad Dybcio		pinctrl-0 = <&rtmr0_default>;
806b16ee3d0SKonrad Dybcio		pinctrl-names = "default";
807b16ee3d0SKonrad Dybcio
808b16ee3d0SKonrad Dybcio		retimer-switch;
809b16ee3d0SKonrad Dybcio		orientation-switch;
810b16ee3d0SKonrad Dybcio
811b16ee3d0SKonrad Dybcio		ports {
812b16ee3d0SKonrad Dybcio			#address-cells = <1>;
813b16ee3d0SKonrad Dybcio			#size-cells = <0>;
814b16ee3d0SKonrad Dybcio
815b16ee3d0SKonrad Dybcio			port@0 {
816b16ee3d0SKonrad Dybcio				reg = <0>;
817b16ee3d0SKonrad Dybcio
818b16ee3d0SKonrad Dybcio				retimer_ss0_ss_out: endpoint {
819b16ee3d0SKonrad Dybcio					remote-endpoint = <&pmic_glink_ss0_ss_in>;
820b16ee3d0SKonrad Dybcio				};
821b16ee3d0SKonrad Dybcio			};
822b16ee3d0SKonrad Dybcio
823b16ee3d0SKonrad Dybcio			port@1 {
824b16ee3d0SKonrad Dybcio				reg = <1>;
825b16ee3d0SKonrad Dybcio
826b16ee3d0SKonrad Dybcio				retimer_ss0_ss_in: endpoint {
827b16ee3d0SKonrad Dybcio					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
828b16ee3d0SKonrad Dybcio				};
829b16ee3d0SKonrad Dybcio			};
830b16ee3d0SKonrad Dybcio
831b16ee3d0SKonrad Dybcio			port@2 {
832b16ee3d0SKonrad Dybcio				reg = <2>;
833b16ee3d0SKonrad Dybcio
834b16ee3d0SKonrad Dybcio				retimer_ss0_con_sbu_out: endpoint {
835b16ee3d0SKonrad Dybcio					remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
836b16ee3d0SKonrad Dybcio				};
837b16ee3d0SKonrad Dybcio			};
838b16ee3d0SKonrad Dybcio		};
839b16ee3d0SKonrad Dybcio	};
840b16ee3d0SKonrad Dybcio
84109d77be5SKonrad Dybcio};
84209d77be5SKonrad Dybcio
84309d77be5SKonrad Dybcio&i2c4 {
84409d77be5SKonrad Dybcio	clock-frequency = <400000>;
84509d77be5SKonrad Dybcio
84609d77be5SKonrad Dybcio	status = "okay";
84709d77be5SKonrad Dybcio
84809d77be5SKonrad Dybcio	/* Something @18, @2c, @2e */
84909d77be5SKonrad Dybcio};
85009d77be5SKonrad Dybcio
85109d77be5SKonrad Dybcio&i2c5 {
85209d77be5SKonrad Dybcio	clock-frequency = <400000>;
85309d77be5SKonrad Dybcio
85409d77be5SKonrad Dybcio	status = "okay";
85509d77be5SKonrad Dybcio
856facead4cSKonrad Dybcio	ptn3222: redriver@4f {
857facead4cSKonrad Dybcio		compatible = "nxp,ptn3222";
858facead4cSKonrad Dybcio		reg = <0x4f>;
859facead4cSKonrad Dybcio
860facead4cSKonrad Dybcio		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
861facead4cSKonrad Dybcio
862facead4cSKonrad Dybcio		vdd3v3-supply = <&vreg_l13b>;
863facead4cSKonrad Dybcio		vdd1v8-supply = <&vreg_l4b>;
864facead4cSKonrad Dybcio
865facead4cSKonrad Dybcio		#phy-cells = <0>;
866facead4cSKonrad Dybcio	};
86709d77be5SKonrad Dybcio};
86809d77be5SKonrad Dybcio
86909d77be5SKonrad Dybcio&i2c7 {
87009d77be5SKonrad Dybcio	clock-frequency = <400000>;
87109d77be5SKonrad Dybcio
87209d77be5SKonrad Dybcio	status = "okay";
87309d77be5SKonrad Dybcio
874b16ee3d0SKonrad Dybcio	/* Left-side front port */
875b16ee3d0SKonrad Dybcio	typec-mux@8 {
876b16ee3d0SKonrad Dybcio		compatible = "parade,ps8830";
877b16ee3d0SKonrad Dybcio		reg = <0x8>;
878b16ee3d0SKonrad Dybcio
879b16ee3d0SKonrad Dybcio		reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
880b16ee3d0SKonrad Dybcio
881b16ee3d0SKonrad Dybcio		clocks = <&rpmhcc RPMH_RF_CLK4>;
882b16ee3d0SKonrad Dybcio
883b16ee3d0SKonrad Dybcio		vdd-supply = <&vreg_rtmr1_1p15>;
884b16ee3d0SKonrad Dybcio		vdd33-supply = <&vreg_rtmr1_3p3>;
885b16ee3d0SKonrad Dybcio		vdd33-cap-supply = <&vreg_rtmr1_3p3>;
886b16ee3d0SKonrad Dybcio		vddar-supply = <&vreg_rtmr1_1p15>;
887b16ee3d0SKonrad Dybcio		vddat-supply = <&vreg_rtmr1_1p15>;
888b16ee3d0SKonrad Dybcio		vddio-supply = <&vreg_rtmr1_1p8>;
889b16ee3d0SKonrad Dybcio
890b16ee3d0SKonrad Dybcio		retimer-switch;
891b16ee3d0SKonrad Dybcio		orientation-switch;
892b16ee3d0SKonrad Dybcio
893b16ee3d0SKonrad Dybcio		ports {
894b16ee3d0SKonrad Dybcio			#address-cells = <1>;
895b16ee3d0SKonrad Dybcio			#size-cells = <0>;
896b16ee3d0SKonrad Dybcio
897b16ee3d0SKonrad Dybcio			port@0 {
898b16ee3d0SKonrad Dybcio				reg = <0>;
899b16ee3d0SKonrad Dybcio
900b16ee3d0SKonrad Dybcio				retimer_ss1_ss_out: endpoint {
901b16ee3d0SKonrad Dybcio					remote-endpoint = <&pmic_glink_ss1_ss_in>;
902b16ee3d0SKonrad Dybcio				};
903b16ee3d0SKonrad Dybcio			};
904b16ee3d0SKonrad Dybcio
905b16ee3d0SKonrad Dybcio			port@1 {
906b16ee3d0SKonrad Dybcio				reg = <1>;
907b16ee3d0SKonrad Dybcio
908b16ee3d0SKonrad Dybcio				retimer_ss1_ss_in: endpoint {
909b16ee3d0SKonrad Dybcio					remote-endpoint = <&usb_1_ss1_qmpphy_out>;
910b16ee3d0SKonrad Dybcio				};
911b16ee3d0SKonrad Dybcio			};
912b16ee3d0SKonrad Dybcio
913b16ee3d0SKonrad Dybcio			port@2 {
914b16ee3d0SKonrad Dybcio				reg = <2>;
915b16ee3d0SKonrad Dybcio
916b16ee3d0SKonrad Dybcio				retimer_ss1_con_sbu_out: endpoint {
917b16ee3d0SKonrad Dybcio					remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
918b16ee3d0SKonrad Dybcio				};
919b16ee3d0SKonrad Dybcio			};
920b16ee3d0SKonrad Dybcio		};
921b16ee3d0SKonrad Dybcio	};
92209d77be5SKonrad Dybcio};
92309d77be5SKonrad Dybcio
924c1cd827bSKonrad Dybcio&lpass_tlmm {
925c1cd827bSKonrad Dybcio	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
926c1cd827bSKonrad Dybcio		pins = "gpio12";
927c1cd827bSKonrad Dybcio		function = "gpio";
928c1cd827bSKonrad Dybcio		drive-strength = <16>;
929c1cd827bSKonrad Dybcio		bias-disable;
930c1cd827bSKonrad Dybcio		output-low;
931c1cd827bSKonrad Dybcio	};
932c1cd827bSKonrad Dybcio};
933c1cd827bSKonrad Dybcio
934c1cd827bSKonrad Dybcio&lpass_vamacro {
935c1cd827bSKonrad Dybcio	qcom,dmic-sample-rate = <4800000>;
936c1cd827bSKonrad Dybcio
937c1cd827bSKonrad Dybcio	vdd-micb-supply = <&vreg_l1b>;
938c1cd827bSKonrad Dybcio
939c1cd827bSKonrad Dybcio	pinctrl-0 = <&dmic01_default>;
940c1cd827bSKonrad Dybcio	pinctrl-names = "default";
941c1cd827bSKonrad Dybcio};
942c1cd827bSKonrad Dybcio
94309d77be5SKonrad Dybcio&mdss {
94409d77be5SKonrad Dybcio	status = "okay";
94509d77be5SKonrad Dybcio};
94609d77be5SKonrad Dybcio
947*781621deSKonrad Dybcio&mdss_dp0 {
948*781621deSKonrad Dybcio	status = "okay";
949*781621deSKonrad Dybcio};
950*781621deSKonrad Dybcio
951*781621deSKonrad Dybcio&mdss_dp0_out {
952*781621deSKonrad Dybcio	data-lanes = <0 1>;
953*781621deSKonrad Dybcio	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
954*781621deSKonrad Dybcio};
955*781621deSKonrad Dybcio
956*781621deSKonrad Dybcio&mdss_dp1 {
957*781621deSKonrad Dybcio	status = "okay";
958*781621deSKonrad Dybcio};
959*781621deSKonrad Dybcio
960*781621deSKonrad Dybcio&mdss_dp1_out {
961*781621deSKonrad Dybcio	data-lanes = <0 1>;
962*781621deSKonrad Dybcio	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
963*781621deSKonrad Dybcio};
964*781621deSKonrad Dybcio
96509d77be5SKonrad Dybcio&mdss_dp3 {
96609d77be5SKonrad Dybcio	/delete-property/ #sound-dai-cells;
96709d77be5SKonrad Dybcio
96809d77be5SKonrad Dybcio	status = "okay";
96909d77be5SKonrad Dybcio
97009d77be5SKonrad Dybcio	aux-bus {
97109d77be5SKonrad Dybcio		panel {
97209d77be5SKonrad Dybcio			compatible = "edp-panel";
97309d77be5SKonrad Dybcio
97409d77be5SKonrad Dybcio			backlight = <&backlight>;
97509d77be5SKonrad Dybcio			power-supply = <&vreg_edp_3p3>;
97609d77be5SKonrad Dybcio
97709d77be5SKonrad Dybcio			port {
97809d77be5SKonrad Dybcio				edp_panel_in: endpoint {
97909d77be5SKonrad Dybcio					remote-endpoint = <&mdss_dp3_out>;
98009d77be5SKonrad Dybcio				};
98109d77be5SKonrad Dybcio			};
98209d77be5SKonrad Dybcio		};
98309d77be5SKonrad Dybcio	};
98409d77be5SKonrad Dybcio
98509d77be5SKonrad Dybcio	ports {
98609d77be5SKonrad Dybcio		port@1 {
98709d77be5SKonrad Dybcio			reg = <1>;
98809d77be5SKonrad Dybcio
98909d77be5SKonrad Dybcio			mdss_dp3_out: endpoint {
99009d77be5SKonrad Dybcio				data-lanes = <0 1 2 3>;
99109d77be5SKonrad Dybcio				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
99209d77be5SKonrad Dybcio
99309d77be5SKonrad Dybcio				remote-endpoint = <&edp_panel_in>;
99409d77be5SKonrad Dybcio			};
99509d77be5SKonrad Dybcio		};
99609d77be5SKonrad Dybcio	};
99709d77be5SKonrad Dybcio};
99809d77be5SKonrad Dybcio
99909d77be5SKonrad Dybcio&mdss_dp3_phy {
100009d77be5SKonrad Dybcio	vdda-phy-supply = <&vreg_l3j>;
100109d77be5SKonrad Dybcio	vdda-pll-supply = <&vreg_l2j>;
100209d77be5SKonrad Dybcio
100309d77be5SKonrad Dybcio	status = "okay";
100409d77be5SKonrad Dybcio};
100509d77be5SKonrad Dybcio
100642034d23SKonrad Dybcio&pcie3 {
100742034d23SKonrad Dybcio	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
100842034d23SKonrad Dybcio	wake-gpios = <&tlmm 145 GPIO_ACTIVE_HIGH>;
100942034d23SKonrad Dybcio
101042034d23SKonrad Dybcio	pinctrl-0 = <&pcie3_default>;
101142034d23SKonrad Dybcio	pinctrl-names = "default";
101242034d23SKonrad Dybcio
101342034d23SKonrad Dybcio	/* The RTS5261 chip on the other side only does Gen1x1 anyway */
101442034d23SKonrad Dybcio	max-link-speed = <1>;
101542034d23SKonrad Dybcio	status = "okay";
101642034d23SKonrad Dybcio};
101742034d23SKonrad Dybcio
101842034d23SKonrad Dybcio&pcie3_phy {
101942034d23SKonrad Dybcio	vdda-phy-supply = <&vreg_l3c>;
102042034d23SKonrad Dybcio	vdda-pll-supply = <&vreg_l3e>;
102142034d23SKonrad Dybcio
102242034d23SKonrad Dybcio	status = "okay";
102342034d23SKonrad Dybcio};
102442034d23SKonrad Dybcio
102509d77be5SKonrad Dybcio&pcie4 {
102609d77be5SKonrad Dybcio	status = "okay";
102709d77be5SKonrad Dybcio};
102809d77be5SKonrad Dybcio
102909d77be5SKonrad Dybcio&pcie4_phy {
103009d77be5SKonrad Dybcio	vdda-phy-supply = <&vreg_l3i>;
103109d77be5SKonrad Dybcio	vdda-pll-supply = <&vreg_l3e>;
103209d77be5SKonrad Dybcio
103309d77be5SKonrad Dybcio	status = "okay";
103409d77be5SKonrad Dybcio};
103509d77be5SKonrad Dybcio
103609d77be5SKonrad Dybcio&pcie6a {
103709d77be5SKonrad Dybcio	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
103809d77be5SKonrad Dybcio	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
103909d77be5SKonrad Dybcio
104009d77be5SKonrad Dybcio	vddpe-3v3-supply = <&vreg_nvme>;
104109d77be5SKonrad Dybcio
104209d77be5SKonrad Dybcio	pinctrl-0 = <&pcie6a_default>;
104309d77be5SKonrad Dybcio	pinctrl-names = "default";
104409d77be5SKonrad Dybcio
104509d77be5SKonrad Dybcio	status = "okay";
104609d77be5SKonrad Dybcio};
104709d77be5SKonrad Dybcio
104809d77be5SKonrad Dybcio&pcie6a_phy {
104909d77be5SKonrad Dybcio	vdda-phy-supply = <&vreg_l1d>;
105009d77be5SKonrad Dybcio	vdda-pll-supply = <&vreg_l2j>;
105109d77be5SKonrad Dybcio
105209d77be5SKonrad Dybcio	status = "okay";
105309d77be5SKonrad Dybcio};
105409d77be5SKonrad Dybcio
1055b16ee3d0SKonrad Dybcio&pm8550_gpios {
1056b16ee3d0SKonrad Dybcio	rtmr0_default: rtmr0-reset-n-active-state {
1057b16ee3d0SKonrad Dybcio		pins = "gpio10";
1058b16ee3d0SKonrad Dybcio		function = "normal";
1059b16ee3d0SKonrad Dybcio		power-source = <1>; /* 1.8V */
1060b16ee3d0SKonrad Dybcio	};
1061b16ee3d0SKonrad Dybcio
1062b16ee3d0SKonrad Dybcio	rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state {
1063b16ee3d0SKonrad Dybcio		pins = "gpio11";
1064b16ee3d0SKonrad Dybcio		function = "normal";
1065b16ee3d0SKonrad Dybcio		power-source = <1>; /* 1.8V */
1066b16ee3d0SKonrad Dybcio	};
1067b16ee3d0SKonrad Dybcio};
1068b16ee3d0SKonrad Dybcio
1069b16ee3d0SKonrad Dybcio&pm8550ve_9_gpios {
1070b16ee3d0SKonrad Dybcio	rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
1071b16ee3d0SKonrad Dybcio		pins = "gpio8";
1072b16ee3d0SKonrad Dybcio		function = "normal";
1073b16ee3d0SKonrad Dybcio		power-source = <1>; /* 1.8V */
1074b16ee3d0SKonrad Dybcio	};
1075b16ee3d0SKonrad Dybcio};
1076b16ee3d0SKonrad Dybcio
107709d77be5SKonrad Dybcio&pmc8380_3_gpios {
107809d77be5SKonrad Dybcio	edp_bl_en: edp-bl-en-state {
107909d77be5SKonrad Dybcio		pins = "gpio4";
108009d77be5SKonrad Dybcio		function = "normal";
108109d77be5SKonrad Dybcio		power-source = <1>; /* 1.8V */
108209d77be5SKonrad Dybcio		input-disable;
108309d77be5SKonrad Dybcio		output-enable;
108409d77be5SKonrad Dybcio	};
108509d77be5SKonrad Dybcio};
108609d77be5SKonrad Dybcio
1087b16ee3d0SKonrad Dybcio&pmc8380_5_gpios {
1088b16ee3d0SKonrad Dybcio	rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state {
1089b16ee3d0SKonrad Dybcio		pins = "gpio8";
1090b16ee3d0SKonrad Dybcio		function = "normal";
1091b16ee3d0SKonrad Dybcio		power-source = <1>; /* 1.8V */
1092b16ee3d0SKonrad Dybcio	};
1093b16ee3d0SKonrad Dybcio};
1094b16ee3d0SKonrad Dybcio
109509d77be5SKonrad Dybcio&pmk8550_pwm {
109609d77be5SKonrad Dybcio	status = "okay";
109709d77be5SKonrad Dybcio};
109809d77be5SKonrad Dybcio
109909d77be5SKonrad Dybcio&pmk8550_gpios {
110009d77be5SKonrad Dybcio	edp_bl_pwm: edp-bl-pwm-state {
110109d77be5SKonrad Dybcio		pins = "gpio5";
110209d77be5SKonrad Dybcio		function = "func3";
110309d77be5SKonrad Dybcio	};
110409d77be5SKonrad Dybcio};
110509d77be5SKonrad Dybcio
110609d77be5SKonrad Dybcio&qupv3_0 {
110709d77be5SKonrad Dybcio	status = "okay";
110809d77be5SKonrad Dybcio};
110909d77be5SKonrad Dybcio
111009d77be5SKonrad Dybcio&qupv3_1 {
111109d77be5SKonrad Dybcio	status = "okay";
111209d77be5SKonrad Dybcio};
111309d77be5SKonrad Dybcio
111409d77be5SKonrad Dybcio&qupv3_2 {
111509d77be5SKonrad Dybcio	status = "okay";
111609d77be5SKonrad Dybcio};
111709d77be5SKonrad Dybcio
111809d77be5SKonrad Dybcio&remoteproc_adsp {
111909d77be5SKonrad Dybcio	firmware-name = "qcom/x1e80100/microsoft/Romulus/qcadsp8380.mbn",
112098383306SJoel Stanley			"qcom/x1e80100/microsoft/Romulus/adsp_dtbs.elf";
112109d77be5SKonrad Dybcio
112209d77be5SKonrad Dybcio	status = "okay";
112309d77be5SKonrad Dybcio};
112409d77be5SKonrad Dybcio
112509d77be5SKonrad Dybcio&remoteproc_cdsp {
112609d77be5SKonrad Dybcio	firmware-name = "qcom/x1e80100/microsoft/Romulus/qccdsp8380.mbn",
112798383306SJoel Stanley			"qcom/x1e80100/microsoft/Romulus/cdsp_dtbs.elf";
112809d77be5SKonrad Dybcio
112909d77be5SKonrad Dybcio	status = "okay";
113009d77be5SKonrad Dybcio};
113109d77be5SKonrad Dybcio
1132d37e2646SStephan Gerhold&smb2360_0 {
1133d37e2646SStephan Gerhold	status = "okay";
1134d37e2646SStephan Gerhold};
1135d37e2646SStephan Gerhold
113609d77be5SKonrad Dybcio&smb2360_0_eusb2_repeater {
113709d77be5SKonrad Dybcio	vdd18-supply = <&vreg_l3d>;
113809d77be5SKonrad Dybcio	vdd3-supply = <&vreg_l2b>;
113909d77be5SKonrad Dybcio};
114009d77be5SKonrad Dybcio
1141d37e2646SStephan Gerhold&smb2360_1 {
1142d37e2646SStephan Gerhold	status = "okay";
1143d37e2646SStephan Gerhold};
1144d37e2646SStephan Gerhold
114509d77be5SKonrad Dybcio&smb2360_1_eusb2_repeater {
114609d77be5SKonrad Dybcio	vdd18-supply = <&vreg_l3d>;
114709d77be5SKonrad Dybcio	vdd3-supply = <&vreg_l14b>;
114809d77be5SKonrad Dybcio};
114909d77be5SKonrad Dybcio
1150facead4cSKonrad Dybcio&smb2360_2 {
1151facead4cSKonrad Dybcio	status = "okay";
1152facead4cSKonrad Dybcio};
1153facead4cSKonrad Dybcio
1154facead4cSKonrad Dybcio&smb2360_2_eusb2_repeater {
1155facead4cSKonrad Dybcio	vdd18-supply = <&vreg_l3d>;
1156facead4cSKonrad Dybcio	vdd3-supply = <&vreg_l8b>;
1157facead4cSKonrad Dybcio};
1158facead4cSKonrad Dybcio
1159c1cd827bSKonrad Dybcio&swr0 {
1160c1cd827bSKonrad Dybcio	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
1161c1cd827bSKonrad Dybcio	pinctrl-names = "default";
1162c1cd827bSKonrad Dybcio
1163c1cd827bSKonrad Dybcio	status = "okay";
1164c1cd827bSKonrad Dybcio
1165c1cd827bSKonrad Dybcio	/* WSA8845, Left speaker */
1166c1cd827bSKonrad Dybcio	left_spkr: speaker@0,0 {
1167c1cd827bSKonrad Dybcio		compatible = "sdw20217020400";
1168c1cd827bSKonrad Dybcio		reg = <0 0>;
1169c1cd827bSKonrad Dybcio		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1170c1cd827bSKonrad Dybcio		#sound-dai-cells = <0>;
1171c1cd827bSKonrad Dybcio		sound-name-prefix = "SpkrLeft";
1172c1cd827bSKonrad Dybcio		vdd-1p8-supply = <&vreg_l15b>;
1173c1cd827bSKonrad Dybcio		vdd-io-supply = <&vreg_l12b>;
1174c1cd827bSKonrad Dybcio		qcom,port-mapping = <1 2 3 7 10 13>;
1175c1cd827bSKonrad Dybcio	};
1176c1cd827bSKonrad Dybcio
1177c1cd827bSKonrad Dybcio	/* WSA8845, Right speaker */
1178c1cd827bSKonrad Dybcio	right_spkr: speaker@0,1 {
1179c1cd827bSKonrad Dybcio		compatible = "sdw20217020400";
1180c1cd827bSKonrad Dybcio		reg = <0 1>;
1181c1cd827bSKonrad Dybcio		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1182c1cd827bSKonrad Dybcio		#sound-dai-cells = <0>;
1183c1cd827bSKonrad Dybcio		sound-name-prefix = "SpkrRight";
1184c1cd827bSKonrad Dybcio		vdd-1p8-supply = <&vreg_l15b>;
1185c1cd827bSKonrad Dybcio		vdd-io-supply = <&vreg_l12b>;
1186c1cd827bSKonrad Dybcio		qcom,port-mapping = <4 5 6 7 11 13>;
1187c1cd827bSKonrad Dybcio	};
1188c1cd827bSKonrad Dybcio};
1189c1cd827bSKonrad Dybcio
1190c1cd827bSKonrad Dybcio&swr1 {
1191c1cd827bSKonrad Dybcio	status = "okay";
1192c1cd827bSKonrad Dybcio
1193c1cd827bSKonrad Dybcio	/* WCD9385 RX */
1194c1cd827bSKonrad Dybcio	wcd_rx: codec@0,4 {
1195c1cd827bSKonrad Dybcio		compatible = "sdw20217010d00";
1196c1cd827bSKonrad Dybcio		reg = <0 4>;
1197c1cd827bSKonrad Dybcio		qcom,rx-port-mapping = <1 2 3 4 5>;
1198c1cd827bSKonrad Dybcio	};
1199c1cd827bSKonrad Dybcio};
1200c1cd827bSKonrad Dybcio
1201c1cd827bSKonrad Dybcio&swr2 {
1202c1cd827bSKonrad Dybcio	status = "okay";
1203c1cd827bSKonrad Dybcio
1204c1cd827bSKonrad Dybcio	/* WCD9385 TX */
1205c1cd827bSKonrad Dybcio	wcd_tx: codec@0,3 {
1206c1cd827bSKonrad Dybcio		compatible = "sdw20217010d00";
1207c1cd827bSKonrad Dybcio		reg = <0 3>;
1208c1cd827bSKonrad Dybcio		qcom,tx-port-mapping = <2 2 3 4>;
1209c1cd827bSKonrad Dybcio	};
1210c1cd827bSKonrad Dybcio};
1211c1cd827bSKonrad Dybcio
121209d77be5SKonrad Dybcio&tlmm {
121309d77be5SKonrad Dybcio	gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
121409d77be5SKonrad Dybcio			       <238 1>; /* UFS Reset */
121509d77be5SKonrad Dybcio
121686d40235SKonrad Dybcio	hall_int_n_default: hall-int-n-state {
121786d40235SKonrad Dybcio		pins = "gpio2";
121886d40235SKonrad Dybcio		function = "gpio";
121986d40235SKonrad Dybcio		bias-disable;
122086d40235SKonrad Dybcio	};
122186d40235SKonrad Dybcio
122209d77be5SKonrad Dybcio	nvme_reg_en: nvme-reg-en-state {
122309d77be5SKonrad Dybcio		pins = "gpio18";
122409d77be5SKonrad Dybcio		function = "gpio";
122509d77be5SKonrad Dybcio		drive-strength = <2>;
122609d77be5SKonrad Dybcio		bias-disable;
122709d77be5SKonrad Dybcio	};
122809d77be5SKonrad Dybcio
122909d77be5SKonrad Dybcio	edp_reg_en: edp-reg-en-state {
123009d77be5SKonrad Dybcio		pins = "gpio70";
123109d77be5SKonrad Dybcio		function = "gpio";
123209d77be5SKonrad Dybcio		drive-strength = <16>;
123309d77be5SKonrad Dybcio		bias-disable;
123409d77be5SKonrad Dybcio	};
123509d77be5SKonrad Dybcio
123609d77be5SKonrad Dybcio	ssam_state: ssam-state-state {
123709d77be5SKonrad Dybcio		pins = "gpio91";
123809d77be5SKonrad Dybcio		function = "gpio";
123909d77be5SKonrad Dybcio		bias-disable;
124009d77be5SKonrad Dybcio	};
124109d77be5SKonrad Dybcio
124242034d23SKonrad Dybcio	pcie3_default: pcie3-default-state {
124342034d23SKonrad Dybcio		perst-n-pins {
124442034d23SKonrad Dybcio			pins = "gpio143";
124542034d23SKonrad Dybcio			function = "gpio";
124642034d23SKonrad Dybcio			drive-strength = <2>;
124742034d23SKonrad Dybcio			bias-disable;
124842034d23SKonrad Dybcio		};
124942034d23SKonrad Dybcio
125042034d23SKonrad Dybcio		clkreq-n-pins {
125142034d23SKonrad Dybcio			pins = "gpio144";
125242034d23SKonrad Dybcio			function = "pcie3_clk";
125342034d23SKonrad Dybcio			drive-strength = <2>;
125442034d23SKonrad Dybcio			bias-pull-up;
125542034d23SKonrad Dybcio		};
125642034d23SKonrad Dybcio
125742034d23SKonrad Dybcio		wake-n-pins {
125842034d23SKonrad Dybcio			pins = "gpio145";
125942034d23SKonrad Dybcio			function = "gpio";
126042034d23SKonrad Dybcio			drive-strength = <2>;
126142034d23SKonrad Dybcio			bias-pull-up;
126242034d23SKonrad Dybcio		};
126342034d23SKonrad Dybcio	};
126442034d23SKonrad Dybcio
126509d77be5SKonrad Dybcio	pcie6a_default: pcie6a-default-state {
126609d77be5SKonrad Dybcio		perst-n-pins {
126709d77be5SKonrad Dybcio			pins = "gpio152";
126809d77be5SKonrad Dybcio			function = "gpio";
126909d77be5SKonrad Dybcio			drive-strength = <2>;
127009d77be5SKonrad Dybcio			bias-disable;
127109d77be5SKonrad Dybcio		};
127209d77be5SKonrad Dybcio
127309d77be5SKonrad Dybcio		clkreq-n-pins {
127409d77be5SKonrad Dybcio			pins = "gpio153";
127509d77be5SKonrad Dybcio			function = "pcie6a_clk";
127609d77be5SKonrad Dybcio			drive-strength = <2>;
127709d77be5SKonrad Dybcio			bias-pull-up;
127809d77be5SKonrad Dybcio		};
127909d77be5SKonrad Dybcio
128009d77be5SKonrad Dybcio		wake-n-pins {
128109d77be5SKonrad Dybcio			pins = "gpio154";
128209d77be5SKonrad Dybcio			function = "gpio";
128309d77be5SKonrad Dybcio			drive-strength = <2>;
128409d77be5SKonrad Dybcio			bias-pull-up;
128509d77be5SKonrad Dybcio		};
128609d77be5SKonrad Dybcio	};
128709d77be5SKonrad Dybcio
1288b16ee3d0SKonrad Dybcio	rtmr1_1p8_reg_en: rtmr1-1p8-reg-en-state {
1289b16ee3d0SKonrad Dybcio		pins = "gpio175";
1290b16ee3d0SKonrad Dybcio		function = "gpio";
1291b16ee3d0SKonrad Dybcio		drive-strength = <2>;
1292b16ee3d0SKonrad Dybcio		bias-disable;
1293b16ee3d0SKonrad Dybcio	};
1294b16ee3d0SKonrad Dybcio
1295b16ee3d0SKonrad Dybcio	rtmr1_3p3_reg_en: rtmr1-3p3-reg-en-state {
1296b16ee3d0SKonrad Dybcio		pins = "gpio186";
1297b16ee3d0SKonrad Dybcio		function = "gpio";
1298b16ee3d0SKonrad Dybcio		drive-strength = <2>;
1299b16ee3d0SKonrad Dybcio		bias-disable;
1300b16ee3d0SKonrad Dybcio	};
1301b16ee3d0SKonrad Dybcio
1302b16ee3d0SKonrad Dybcio	rtmr1_1p15_reg_en: rtmr1-1p15-reg-en-state {
1303b16ee3d0SKonrad Dybcio		pins = "gpio188";
1304b16ee3d0SKonrad Dybcio		function = "gpio";
1305b16ee3d0SKonrad Dybcio		drive-strength = <2>;
1306b16ee3d0SKonrad Dybcio		bias-disable;
1307b16ee3d0SKonrad Dybcio	};
1308b16ee3d0SKonrad Dybcio
1309c1cd827bSKonrad Dybcio	wcd_default: wcd-reset-n-active-state {
1310c1cd827bSKonrad Dybcio		pins = "gpio191";
1311c1cd827bSKonrad Dybcio		function = "gpio";
1312c1cd827bSKonrad Dybcio		drive-strength = <16>;
1313c1cd827bSKonrad Dybcio		bias-disable;
1314c1cd827bSKonrad Dybcio		output-low;
1315c1cd827bSKonrad Dybcio	};
1316c1cd827bSKonrad Dybcio
131709d77be5SKonrad Dybcio	cam_indicator_en: cam-indicator-en-state {
131809d77be5SKonrad Dybcio		pins = "gpio225";
131909d77be5SKonrad Dybcio		function = "gpio";
132009d77be5SKonrad Dybcio		drive-strength = <2>;
132109d77be5SKonrad Dybcio		bias-disable;
132209d77be5SKonrad Dybcio	};
132309d77be5SKonrad Dybcio};
132409d77be5SKonrad Dybcio
132509d77be5SKonrad Dybcio&uart2 {
132609d77be5SKonrad Dybcio	status = "okay";
132709d77be5SKonrad Dybcio
132809d77be5SKonrad Dybcio	embedded-controller {
132909d77be5SKonrad Dybcio		compatible = "microsoft,surface-sam";
133009d77be5SKonrad Dybcio
133109d77be5SKonrad Dybcio		interrupts-extended = <&tlmm 91 IRQ_TYPE_EDGE_RISING>;
133209d77be5SKonrad Dybcio
133309d77be5SKonrad Dybcio		current-speed = <4000000>;
133409d77be5SKonrad Dybcio
133509d77be5SKonrad Dybcio		pinctrl-0 = <&ssam_state>;
133609d77be5SKonrad Dybcio		pinctrl-names = "default";
133709d77be5SKonrad Dybcio	};
133809d77be5SKonrad Dybcio};
133909d77be5SKonrad Dybcio
134009d77be5SKonrad Dybcio&usb_1_ss0_hsphy {
134109d77be5SKonrad Dybcio	vdd-supply = <&vreg_l3j>;
134209d77be5SKonrad Dybcio	vdda12-supply = <&vreg_l2j>;
134309d77be5SKonrad Dybcio
134409d77be5SKonrad Dybcio	phys = <&smb2360_0_eusb2_repeater>;
134509d77be5SKonrad Dybcio
134609d77be5SKonrad Dybcio	status = "okay";
134709d77be5SKonrad Dybcio};
134809d77be5SKonrad Dybcio
134909d77be5SKonrad Dybcio&usb_1_ss0_qmpphy {
1350c0562f51SStephan Gerhold	vdda-phy-supply = <&vreg_l2j>;
135109d77be5SKonrad Dybcio	vdda-pll-supply = <&vreg_l1j>;
135209d77be5SKonrad Dybcio
135309d77be5SKonrad Dybcio	status = "okay";
135409d77be5SKonrad Dybcio};
135509d77be5SKonrad Dybcio
135609d77be5SKonrad Dybcio&usb_1_ss0 {
135709d77be5SKonrad Dybcio	status = "okay";
135809d77be5SKonrad Dybcio};
135909d77be5SKonrad Dybcio
136009d77be5SKonrad Dybcio&usb_1_ss0_dwc3 {
136109d77be5SKonrad Dybcio	dr_mode = "host";
136209d77be5SKonrad Dybcio};
136309d77be5SKonrad Dybcio
136409d77be5SKonrad Dybcio&usb_1_ss0_dwc3_hs {
136509d77be5SKonrad Dybcio	remote-endpoint = <&pmic_glink_ss0_hs_in>;
136609d77be5SKonrad Dybcio};
136709d77be5SKonrad Dybcio
136809d77be5SKonrad Dybcio&usb_1_ss0_qmpphy_out {
1369b16ee3d0SKonrad Dybcio	remote-endpoint = <&retimer_ss0_ss_in>;
137009d77be5SKonrad Dybcio};
137109d77be5SKonrad Dybcio
137209d77be5SKonrad Dybcio&usb_1_ss1_hsphy {
137309d77be5SKonrad Dybcio	vdd-supply = <&vreg_l3j>;
137409d77be5SKonrad Dybcio	vdda12-supply = <&vreg_l2j>;
137509d77be5SKonrad Dybcio
137609d77be5SKonrad Dybcio	phys = <&smb2360_1_eusb2_repeater>;
137709d77be5SKonrad Dybcio
137809d77be5SKonrad Dybcio	status = "okay";
137909d77be5SKonrad Dybcio};
138009d77be5SKonrad Dybcio
138109d77be5SKonrad Dybcio&usb_1_ss1_qmpphy {
1382c0562f51SStephan Gerhold	vdda-phy-supply = <&vreg_l2j>;
138309d77be5SKonrad Dybcio	vdda-pll-supply = <&vreg_l2d>;
138409d77be5SKonrad Dybcio
138509d77be5SKonrad Dybcio	status = "okay";
138609d77be5SKonrad Dybcio};
138709d77be5SKonrad Dybcio
138809d77be5SKonrad Dybcio&usb_1_ss1 {
138909d77be5SKonrad Dybcio	status = "okay";
139009d77be5SKonrad Dybcio};
139109d77be5SKonrad Dybcio
139209d77be5SKonrad Dybcio&usb_1_ss1_dwc3 {
139309d77be5SKonrad Dybcio	dr_mode = "host";
139409d77be5SKonrad Dybcio};
139509d77be5SKonrad Dybcio
139609d77be5SKonrad Dybcio&usb_1_ss1_dwc3_hs {
139709d77be5SKonrad Dybcio	remote-endpoint = <&pmic_glink_ss1_hs_in>;
139809d77be5SKonrad Dybcio};
139909d77be5SKonrad Dybcio
140009d77be5SKonrad Dybcio&usb_1_ss1_qmpphy_out {
1401b16ee3d0SKonrad Dybcio	remote-endpoint = <&retimer_ss1_ss_in>;
140209d77be5SKonrad Dybcio};
1403facead4cSKonrad Dybcio
1404facead4cSKonrad Dybcio/* MP0 goes to the Surface Connector, MP1 goes to the USB-A port */
1405facead4cSKonrad Dybcio&usb_mp {
1406facead4cSKonrad Dybcio	status = "okay";
1407facead4cSKonrad Dybcio};
1408facead4cSKonrad Dybcio
1409facead4cSKonrad Dybcio&usb_mp_hsphy0 {
1410facead4cSKonrad Dybcio	vdd-supply = <&vreg_l2e>;
1411facead4cSKonrad Dybcio	vdda12-supply = <&vreg_l2j>;
1412facead4cSKonrad Dybcio
1413facead4cSKonrad Dybcio	phys = <&smb2360_2_eusb2_repeater>;
1414facead4cSKonrad Dybcio
1415facead4cSKonrad Dybcio	status = "okay";
1416facead4cSKonrad Dybcio};
1417facead4cSKonrad Dybcio
1418facead4cSKonrad Dybcio&usb_mp_hsphy1 {
1419facead4cSKonrad Dybcio	vdd-supply = <&vreg_l2e>;
1420facead4cSKonrad Dybcio	vdda12-supply = <&vreg_l2j>;
1421facead4cSKonrad Dybcio
1422facead4cSKonrad Dybcio	phys = <&ptn3222>;
1423facead4cSKonrad Dybcio
1424facead4cSKonrad Dybcio	status = "okay";
1425facead4cSKonrad Dybcio};
1426facead4cSKonrad Dybcio
1427facead4cSKonrad Dybcio&usb_mp_qmpphy0 {
1428facead4cSKonrad Dybcio	vdda-phy-supply = <&vreg_l3e>;
1429facead4cSKonrad Dybcio	vdda-pll-supply = <&vreg_l3c>;
1430facead4cSKonrad Dybcio
1431facead4cSKonrad Dybcio	status = "okay";
1432facead4cSKonrad Dybcio};
1433facead4cSKonrad Dybcio
1434facead4cSKonrad Dybcio&usb_mp_qmpphy1 {
1435facead4cSKonrad Dybcio	vdda-phy-supply = <&vreg_l3e>;
1436facead4cSKonrad Dybcio	vdda-pll-supply = <&vreg_l3c>;
1437facead4cSKonrad Dybcio
1438facead4cSKonrad Dybcio	status = "okay";
1439facead4cSKonrad Dybcio};
1440