132c23138SJohan Hovold// SPDX-License-Identifier: BSD-3-Clause
232c23138SJohan Hovold/*
332c23138SJohan Hovold * Copyright (c) 2021, The Linux Foundation. All rights reserved.
432c23138SJohan Hovold * Copyright (c) 2022, Linaro Limited
532c23138SJohan Hovold */
632c23138SJohan Hovold
732c23138SJohan Hovold/dts-v1/;
832c23138SJohan Hovold
932c23138SJohan Hovold#include <dt-bindings/gpio/gpio.h>
103375151aSManivannan Sadhasivam#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
119a6b3042SManivannan Sadhasivam#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
129d41cd17SManivannan Sadhasivam#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
13a607fe5eSBjorn Andersson#include <dt-bindings/input/gpio-keys.h>
14a607fe5eSBjorn Andersson#include <dt-bindings/input/input.h>
1532c23138SJohan Hovold#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1632c23138SJohan Hovold
1732c23138SJohan Hovold#include "sc8280xp.dtsi"
1832c23138SJohan Hovold#include "sc8280xp-pmics.dtsi"
1932c23138SJohan Hovold
2032c23138SJohan Hovold/ {
2132c23138SJohan Hovold	model = "Lenovo ThinkPad X13s";
2232c23138SJohan Hovold	compatible = "lenovo,thinkpad-x13s", "qcom,sc8280xp";
2332c23138SJohan Hovold
2432c23138SJohan Hovold	backlight {
2532c23138SJohan Hovold		compatible = "pwm-backlight";
2632c23138SJohan Hovold		pwms = <&pmc8280c_lpg 3 1000000>;
2732c23138SJohan Hovold		enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
2832c23138SJohan Hovold		power-supply = <&vreg_edp_bl>;
2932c23138SJohan Hovold
3032c23138SJohan Hovold		pinctrl-names = "default";
3132c23138SJohan Hovold		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
3232c23138SJohan Hovold	};
3332c23138SJohan Hovold
3431863c52SManivannan Sadhasivam	thermal-zones {
3531863c52SManivannan Sadhasivam		skin-temp-thermal {
3631863c52SManivannan Sadhasivam			polling-delay-passive = <250>;
3731863c52SManivannan Sadhasivam			polling-delay = <0>;
3831863c52SManivannan Sadhasivam			thermal-sensors = <&pmk8280_adc_tm 5>;
3931863c52SManivannan Sadhasivam
4031863c52SManivannan Sadhasivam			trips {
4131863c52SManivannan Sadhasivam				skin_temp_alert0: trip-point0 {
4231863c52SManivannan Sadhasivam					temperature = <55000>;
4331863c52SManivannan Sadhasivam					hysteresis = <1000>;
4431863c52SManivannan Sadhasivam					type = "passive";
4531863c52SManivannan Sadhasivam				};
4631863c52SManivannan Sadhasivam
4731863c52SManivannan Sadhasivam				skin_temp_alert1: trip-point1 {
4831863c52SManivannan Sadhasivam					temperature = <58000>;
4931863c52SManivannan Sadhasivam					hysteresis = <1000>;
5031863c52SManivannan Sadhasivam					type = "passive";
5131863c52SManivannan Sadhasivam				};
5231863c52SManivannan Sadhasivam
5331863c52SManivannan Sadhasivam				skin-temp-crit {
5431863c52SManivannan Sadhasivam					temperature = <73000>;
5531863c52SManivannan Sadhasivam					hysteresis = <1000>;
5631863c52SManivannan Sadhasivam					type = "critical";
5731863c52SManivannan Sadhasivam				};
5831863c52SManivannan Sadhasivam			};
5931863c52SManivannan Sadhasivam
6031863c52SManivannan Sadhasivam			cooling-maps {
6131863c52SManivannan Sadhasivam				map0 {
6231863c52SManivannan Sadhasivam					trip = <&skin_temp_alert0>;
6331863c52SManivannan Sadhasivam					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
6431863c52SManivannan Sadhasivam							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
6531863c52SManivannan Sadhasivam							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
6631863c52SManivannan Sadhasivam							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
6731863c52SManivannan Sadhasivam				};
6831863c52SManivannan Sadhasivam
6931863c52SManivannan Sadhasivam				map1 {
7031863c52SManivannan Sadhasivam					trip = <&skin_temp_alert1>;
7131863c52SManivannan Sadhasivam					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
7231863c52SManivannan Sadhasivam							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
7331863c52SManivannan Sadhasivam							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
7431863c52SManivannan Sadhasivam							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
7531863c52SManivannan Sadhasivam				};
7631863c52SManivannan Sadhasivam			};
7731863c52SManivannan Sadhasivam		};
7831863c52SManivannan Sadhasivam	};
7931863c52SManivannan Sadhasivam
80a607fe5eSBjorn Andersson	gpio-keys {
81a607fe5eSBjorn Andersson		compatible = "gpio-keys";
82a607fe5eSBjorn Andersson
83a607fe5eSBjorn Andersson		pinctrl-names = "default";
84a607fe5eSBjorn Andersson		pinctrl-0 = <&hall_int_n_default>;
85a607fe5eSBjorn Andersson
86a607fe5eSBjorn Andersson		switch-lid {
87a607fe5eSBjorn Andersson			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
88a607fe5eSBjorn Andersson			linux,input-type = <EV_SW>;
89a607fe5eSBjorn Andersson			linux,code = <SW_LID>;
90a607fe5eSBjorn Andersson			wakeup-source;
91a607fe5eSBjorn Andersson			wakeup-event-action = <EV_ACT_DEASSERTED>;
92a607fe5eSBjorn Andersson		};
93a607fe5eSBjorn Andersson	};
94a607fe5eSBjorn Andersson
9532c23138SJohan Hovold	vreg_edp_bl: regulator-edp-bl {
9632c23138SJohan Hovold		compatible = "regulator-fixed";
9732c23138SJohan Hovold
9832c23138SJohan Hovold		regulator-name = "VBL9";
9932c23138SJohan Hovold		regulator-min-microvolt = <3600000>;
10032c23138SJohan Hovold		regulator-max-microvolt = <3600000>;
10132c23138SJohan Hovold
10232c23138SJohan Hovold		gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
10332c23138SJohan Hovold		enable-active-high;
10432c23138SJohan Hovold
10532c23138SJohan Hovold		pinctrl-names = "default";
10632c23138SJohan Hovold		pinctrl-0 = <&edp_bl_reg_en>;
10732c23138SJohan Hovold
10832c23138SJohan Hovold		regulator-boot-on;
10932c23138SJohan Hovold	};
11032c23138SJohan Hovold
11132c23138SJohan Hovold	vreg_misc_3p3: regulator-misc-3p3 {
11232c23138SJohan Hovold		compatible = "regulator-fixed";
11332c23138SJohan Hovold
11432c23138SJohan Hovold		regulator-name = "VCC3B";
11532c23138SJohan Hovold		regulator-min-microvolt = <3300000>;
11632c23138SJohan Hovold		regulator-max-microvolt = <3300000>;
11732c23138SJohan Hovold
11832c23138SJohan Hovold		gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
11932c23138SJohan Hovold		enable-active-high;
12032c23138SJohan Hovold
12132c23138SJohan Hovold		pinctrl-names = "default";
12232c23138SJohan Hovold		pinctrl-0 = <&misc_3p3_reg_en>;
12332c23138SJohan Hovold
12432c23138SJohan Hovold		regulator-boot-on;
12532c23138SJohan Hovold		regulator-always-on;
12632c23138SJohan Hovold	};
127b4bb952eSJohan Hovold
128b4bb952eSJohan Hovold	vreg_nvme: regulator-nvme {
129b4bb952eSJohan Hovold		compatible = "regulator-fixed";
130b4bb952eSJohan Hovold
131b4bb952eSJohan Hovold		regulator-name = "VCC3_SSD";
132b4bb952eSJohan Hovold		regulator-min-microvolt = <3300000>;
133b4bb952eSJohan Hovold		regulator-max-microvolt = <3300000>;
134b4bb952eSJohan Hovold
135b4bb952eSJohan Hovold		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
136b4bb952eSJohan Hovold		enable-active-high;
137b4bb952eSJohan Hovold
138b4bb952eSJohan Hovold		pinctrl-names = "default";
139b4bb952eSJohan Hovold		pinctrl-0 = <&nvme_reg_en>;
140b4bb952eSJohan Hovold
141b4bb952eSJohan Hovold		regulator-boot-on;
142b4bb952eSJohan Hovold	};
143176d54acSJohan Hovold
144123b30a7SJohan Hovold	vreg_wlan: regulator-wlan {
145123b30a7SJohan Hovold		compatible = "regulator-fixed";
146123b30a7SJohan Hovold
147123b30a7SJohan Hovold		regulator-name = "VCC_WLAN_3R9";
148123b30a7SJohan Hovold		regulator-min-microvolt = <3900000>;
149123b30a7SJohan Hovold		regulator-max-microvolt = <3900000>;
150123b30a7SJohan Hovold
151123b30a7SJohan Hovold		gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
152123b30a7SJohan Hovold		enable-active-high;
153123b30a7SJohan Hovold
154123b30a7SJohan Hovold		pinctrl-names = "default";
155123b30a7SJohan Hovold		pinctrl-0 = <&hastings_reg_en>;
156123b30a7SJohan Hovold
157123b30a7SJohan Hovold		regulator-boot-on;
158123b30a7SJohan Hovold	};
159123b30a7SJohan Hovold
160176d54acSJohan Hovold	vreg_wwan: regulator-wwan {
161176d54acSJohan Hovold		compatible = "regulator-fixed";
162176d54acSJohan Hovold
163176d54acSJohan Hovold		regulator-name = "VCC3B_WAN";
164176d54acSJohan Hovold		regulator-min-microvolt = <3300000>;
165176d54acSJohan Hovold		regulator-max-microvolt = <3300000>;
166176d54acSJohan Hovold
167176d54acSJohan Hovold		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
168176d54acSJohan Hovold		enable-active-high;
169176d54acSJohan Hovold
170176d54acSJohan Hovold		pinctrl-names = "default";
171176d54acSJohan Hovold		pinctrl-0 = <&wwan_sw_en>;
172176d54acSJohan Hovold
173176d54acSJohan Hovold		regulator-boot-on;
174176d54acSJohan Hovold	};
175*f29077d8SSrinivas Kandagatla
176*f29077d8SSrinivas Kandagatla	vreg_vph_pwr: regulator-vph-pwr {
177*f29077d8SSrinivas Kandagatla		compatible = "regulator-fixed";
178*f29077d8SSrinivas Kandagatla		regulator-name = "VPH_VCC3R9";
179*f29077d8SSrinivas Kandagatla		regulator-min-microvolt = <3900000>;
180*f29077d8SSrinivas Kandagatla		regulator-max-microvolt = <3900000>;
181*f29077d8SSrinivas Kandagatla		regulator-always-on;
182*f29077d8SSrinivas Kandagatla	};
18332c23138SJohan Hovold};
18432c23138SJohan Hovold
18532c23138SJohan Hovold&apps_rsc {
18632c23138SJohan Hovold	pmc8280-1-rpmh-regulators {
18732c23138SJohan Hovold		compatible = "qcom,pm8350-rpmh-regulators";
18832c23138SJohan Hovold		qcom,pmic-id = "b";
18932c23138SJohan Hovold
19032c23138SJohan Hovold		vdd-l3-l5-supply = <&vreg_s11b>;
19132c23138SJohan Hovold
192*f29077d8SSrinivas Kandagatla		vreg_s10b: smps10 {
193*f29077d8SSrinivas Kandagatla			regulator-name = "vreg_s10b";
194*f29077d8SSrinivas Kandagatla			regulator-min-microvolt = <1800000>;
195*f29077d8SSrinivas Kandagatla			regulator-max-microvolt = <1800000>;
196*f29077d8SSrinivas Kandagatla			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
197*f29077d8SSrinivas Kandagatla		};
198*f29077d8SSrinivas Kandagatla
19932c23138SJohan Hovold		vreg_s11b: smps11 {
20032c23138SJohan Hovold			regulator-name = "vreg_s11b";
20132c23138SJohan Hovold			regulator-min-microvolt = <1272000>;
20232c23138SJohan Hovold			regulator-max-microvolt = <1272000>;
20332c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20432c23138SJohan Hovold		};
20532c23138SJohan Hovold
206*f29077d8SSrinivas Kandagatla		vreg_s12b: smps12 {
207*f29077d8SSrinivas Kandagatla			regulator-name = "vreg_s12b";
208*f29077d8SSrinivas Kandagatla			regulator-min-microvolt = <984000>;
209*f29077d8SSrinivas Kandagatla			regulator-max-microvolt = <984000>;
210*f29077d8SSrinivas Kandagatla			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
211*f29077d8SSrinivas Kandagatla		};
212*f29077d8SSrinivas Kandagatla
21332c23138SJohan Hovold		vreg_l3b: ldo3 {
21432c23138SJohan Hovold			regulator-name = "vreg_l3b";
21532c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
21632c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
21732c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21832c23138SJohan Hovold			regulator-boot-on;
21932c23138SJohan Hovold		};
22032c23138SJohan Hovold
22132c23138SJohan Hovold		vreg_l4b: ldo4 {
22232c23138SJohan Hovold			regulator-name = "vreg_l4b";
22332c23138SJohan Hovold			regulator-min-microvolt = <912000>;
22432c23138SJohan Hovold			regulator-max-microvolt = <912000>;
22532c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22632c23138SJohan Hovold		};
22732c23138SJohan Hovold
22832c23138SJohan Hovold		vreg_l6b: ldo6 {
22932c23138SJohan Hovold			regulator-name = "vreg_l6b";
23032c23138SJohan Hovold			regulator-min-microvolt = <880000>;
23132c23138SJohan Hovold			regulator-max-microvolt = <880000>;
23232c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23332c23138SJohan Hovold			regulator-boot-on;
234b47fac7aSKonrad Dybcio			regulator-always-on;	/* FIXME: VDD_A_EDP_0_0P9 */
23532c23138SJohan Hovold		};
23632c23138SJohan Hovold	};
23732c23138SJohan Hovold
23832c23138SJohan Hovold	pmc8280c-rpmh-regulators {
23932c23138SJohan Hovold		compatible = "qcom,pm8350c-rpmh-regulators";
24032c23138SJohan Hovold		qcom,pmic-id = "c";
241*f29077d8SSrinivas Kandagatla		vdd-bob-supply = <&vreg_vph_pwr>;
24232c23138SJohan Hovold
24332c23138SJohan Hovold		vreg_l1c: ldo1 {
24432c23138SJohan Hovold			regulator-name = "vreg_l1c";
24532c23138SJohan Hovold			regulator-min-microvolt = <1800000>;
24632c23138SJohan Hovold			regulator-max-microvolt = <1800000>;
24732c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24832c23138SJohan Hovold		};
24932c23138SJohan Hovold
25032c23138SJohan Hovold		vreg_l12c: ldo12 {
25132c23138SJohan Hovold			regulator-name = "vreg_l12c";
25232c23138SJohan Hovold			regulator-min-microvolt = <1800000>;
25332c23138SJohan Hovold			regulator-max-microvolt = <1800000>;
25432c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25532c23138SJohan Hovold		};
25632c23138SJohan Hovold
25732c23138SJohan Hovold		vreg_l13c: ldo13 {
25832c23138SJohan Hovold			regulator-name = "vreg_l13c";
25932c23138SJohan Hovold			regulator-min-microvolt = <3072000>;
26032c23138SJohan Hovold			regulator-max-microvolt = <3072000>;
26132c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26232c23138SJohan Hovold		};
263*f29077d8SSrinivas Kandagatla
264*f29077d8SSrinivas Kandagatla		vreg_bob: bob {
265*f29077d8SSrinivas Kandagatla			regulator-name = "vreg_bob";
266*f29077d8SSrinivas Kandagatla			regulator-min-microvolt = <3008000>;
267*f29077d8SSrinivas Kandagatla			regulator-max-microvolt = <3960000>;
268*f29077d8SSrinivas Kandagatla			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
269*f29077d8SSrinivas Kandagatla		};
27032c23138SJohan Hovold	};
27132c23138SJohan Hovold
27232c23138SJohan Hovold	pmc8280-2-rpmh-regulators {
27332c23138SJohan Hovold		compatible = "qcom,pm8350-rpmh-regulators";
27432c23138SJohan Hovold		qcom,pmic-id = "d";
27532c23138SJohan Hovold
27632c23138SJohan Hovold		vdd-l1-l4-supply = <&vreg_s11b>;
27732c23138SJohan Hovold
27832c23138SJohan Hovold		vreg_l3d: ldo3 {
27932c23138SJohan Hovold			regulator-name = "vreg_l3d";
28032c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
28132c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
28232c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28332c23138SJohan Hovold		};
28432c23138SJohan Hovold
28532c23138SJohan Hovold		vreg_l4d: ldo4 {
28632c23138SJohan Hovold			regulator-name = "vreg_l4d";
28732c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
28832c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
28932c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
29032c23138SJohan Hovold		};
29132c23138SJohan Hovold
292b4bb952eSJohan Hovold		vreg_l6d: ldo6 {
293b4bb952eSJohan Hovold			regulator-name = "vreg_l6d";
294b4bb952eSJohan Hovold			regulator-min-microvolt = <880000>;
295b4bb952eSJohan Hovold			regulator-max-microvolt = <880000>;
296b4bb952eSJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
297b4bb952eSJohan Hovold		};
298b4bb952eSJohan Hovold
29932c23138SJohan Hovold		vreg_l7d: ldo7 {
30032c23138SJohan Hovold			regulator-name = "vreg_l7d";
30132c23138SJohan Hovold			regulator-min-microvolt = <3072000>;
30232c23138SJohan Hovold			regulator-max-microvolt = <3072000>;
30332c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
30432c23138SJohan Hovold		};
30532c23138SJohan Hovold
30632c23138SJohan Hovold		vreg_l9d: ldo9 {
30732c23138SJohan Hovold			regulator-name = "vreg_l9d";
30832c23138SJohan Hovold			regulator-min-microvolt = <912000>;
30932c23138SJohan Hovold			regulator-max-microvolt = <912000>;
31032c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
31132c23138SJohan Hovold		};
31232c23138SJohan Hovold	};
31332c23138SJohan Hovold};
31432c23138SJohan Hovold
315b4bb952eSJohan Hovold&pcie2a {
316b4bb952eSJohan Hovold	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
317b4bb952eSJohan Hovold	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
318b4bb952eSJohan Hovold
319b4bb952eSJohan Hovold	vddpe-3v3-supply = <&vreg_nvme>;
320b4bb952eSJohan Hovold
321b4bb952eSJohan Hovold	pinctrl-names = "default";
322b4bb952eSJohan Hovold	pinctrl-0 = <&pcie2a_default>;
323b4bb952eSJohan Hovold
324b4bb952eSJohan Hovold	status = "okay";
325b4bb952eSJohan Hovold};
326b4bb952eSJohan Hovold
327b4bb952eSJohan Hovold&pcie2a_phy {
328b4bb952eSJohan Hovold	vdda-phy-supply = <&vreg_l6d>;
329b4bb952eSJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
330b4bb952eSJohan Hovold
331b4bb952eSJohan Hovold	status = "okay";
332b4bb952eSJohan Hovold};
333b4bb952eSJohan Hovold
334176d54acSJohan Hovold&pcie3a {
335176d54acSJohan Hovold	perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
336176d54acSJohan Hovold	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
337176d54acSJohan Hovold
338176d54acSJohan Hovold	vddpe-3v3-supply = <&vreg_wwan>;
339176d54acSJohan Hovold
340176d54acSJohan Hovold	pinctrl-names = "default";
341176d54acSJohan Hovold	pinctrl-0 = <&pcie3a_default>;
342176d54acSJohan Hovold
343176d54acSJohan Hovold	status = "okay";
344176d54acSJohan Hovold};
345176d54acSJohan Hovold
346176d54acSJohan Hovold&pcie3a_phy {
347176d54acSJohan Hovold	vdda-phy-supply = <&vreg_l6d>;
348176d54acSJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
349176d54acSJohan Hovold
350176d54acSJohan Hovold	status = "okay";
351176d54acSJohan Hovold};
352176d54acSJohan Hovold
353123b30a7SJohan Hovold&pcie4 {
354123b30a7SJohan Hovold	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
355123b30a7SJohan Hovold	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
356123b30a7SJohan Hovold
357123b30a7SJohan Hovold	vddpe-3v3-supply = <&vreg_wlan>;
358123b30a7SJohan Hovold
359123b30a7SJohan Hovold	pinctrl-names = "default";
360123b30a7SJohan Hovold	pinctrl-0 = <&pcie4_default>;
361123b30a7SJohan Hovold
362123b30a7SJohan Hovold	status = "okay";
363123b30a7SJohan Hovold};
364123b30a7SJohan Hovold
365123b30a7SJohan Hovold&pcie4_phy {
366123b30a7SJohan Hovold	vdda-phy-supply = <&vreg_l6d>;
367123b30a7SJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
368123b30a7SJohan Hovold
369123b30a7SJohan Hovold	status = "okay";
370123b30a7SJohan Hovold};
371123b30a7SJohan Hovold
37232c23138SJohan Hovold&pmc8280c_lpg {
37332c23138SJohan Hovold	status = "okay";
37432c23138SJohan Hovold};
37532c23138SJohan Hovold
3767c015134SManivannan Sadhasivam&pmk8280_adc_tm {
3777c015134SManivannan Sadhasivam	status = "okay";
3787c015134SManivannan Sadhasivam
3797c015134SManivannan Sadhasivam	sys-therm@0 {
3807c015134SManivannan Sadhasivam		reg = <0>;
3817c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
3827c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3837c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3847c015134SManivannan Sadhasivam		qcom,ratiometric;
3857c015134SManivannan Sadhasivam	};
3867c015134SManivannan Sadhasivam
3877c015134SManivannan Sadhasivam	sys-therm@1 {
3887c015134SManivannan Sadhasivam		reg = <1>;
3897c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
3907c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3917c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3927c015134SManivannan Sadhasivam		qcom,ratiometric;
3937c015134SManivannan Sadhasivam	};
3947c015134SManivannan Sadhasivam
3957c015134SManivannan Sadhasivam	sys-therm@2 {
3967c015134SManivannan Sadhasivam		reg = <2>;
3977c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
3987c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3997c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
4007c015134SManivannan Sadhasivam		qcom,ratiometric;
4017c015134SManivannan Sadhasivam	};
4027c015134SManivannan Sadhasivam
4037c015134SManivannan Sadhasivam	sys-therm@3 {
4047c015134SManivannan Sadhasivam		reg = <3>;
4057c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
4067c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
4077c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
4087c015134SManivannan Sadhasivam		qcom,ratiometric;
4097c015134SManivannan Sadhasivam	};
4107c015134SManivannan Sadhasivam
4117c015134SManivannan Sadhasivam	sys-therm@4 {
4127c015134SManivannan Sadhasivam		reg = <4>;
4137c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
4147c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
4157c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
4167c015134SManivannan Sadhasivam		qcom,ratiometric;
4177c015134SManivannan Sadhasivam	};
4187c015134SManivannan Sadhasivam
4197c015134SManivannan Sadhasivam	sys-therm@5 {
4207c015134SManivannan Sadhasivam		reg = <5>;
4217c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
4227c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
4237c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
4247c015134SManivannan Sadhasivam		qcom,ratiometric;
4257c015134SManivannan Sadhasivam	};
4267c015134SManivannan Sadhasivam
4277c015134SManivannan Sadhasivam	sys-therm@6 {
4287c015134SManivannan Sadhasivam		reg = <6>;
4297c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
4307c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
4317c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
4327c015134SManivannan Sadhasivam		qcom,ratiometric;
4337c015134SManivannan Sadhasivam	};
4347c015134SManivannan Sadhasivam
4357c015134SManivannan Sadhasivam	sys-therm@7 {
4367c015134SManivannan Sadhasivam		reg = <7>;
4377c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
4387c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
4397c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
4407c015134SManivannan Sadhasivam		qcom,ratiometric;
4417c015134SManivannan Sadhasivam	};
4427c015134SManivannan Sadhasivam};
4437c015134SManivannan Sadhasivam
44432c23138SJohan Hovold&pmk8280_pon_pwrkey {
44532c23138SJohan Hovold	status = "okay";
44632c23138SJohan Hovold};
44732c23138SJohan Hovold
4487858c676SManivannan Sadhasivam&pmk8280_pon_resin {
4497858c676SManivannan Sadhasivam	status = "okay";
4507858c676SManivannan Sadhasivam};
4517858c676SManivannan Sadhasivam
4529a6b3042SManivannan Sadhasivam&pmk8280_vadc {
4539a6b3042SManivannan Sadhasivam	status = "okay";
4549a6b3042SManivannan Sadhasivam
4559a6b3042SManivannan Sadhasivam	pmic-die-temp@3 {
4569a6b3042SManivannan Sadhasivam		reg = <PMK8350_ADC7_DIE_TEMP>;
4579a6b3042SManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4589a6b3042SManivannan Sadhasivam	};
4599a6b3042SManivannan Sadhasivam
4609a6b3042SManivannan Sadhasivam	xo-therm@44 {
4619a6b3042SManivannan Sadhasivam		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
4629a6b3042SManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4639a6b3042SManivannan Sadhasivam		qcom,ratiometric;
4649a6b3042SManivannan Sadhasivam	};
4653375151aSManivannan Sadhasivam
4663375151aSManivannan Sadhasivam	pmic-die-temp@103 {
4673375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_DIE_TEMP(1)>;
4683375151aSManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4693375151aSManivannan Sadhasivam	};
4703375151aSManivannan Sadhasivam
4713375151aSManivannan Sadhasivam	sys-therm@144 {
4723375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
4733375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4743375151aSManivannan Sadhasivam		qcom,ratiometric;
4753375151aSManivannan Sadhasivam	};
4763375151aSManivannan Sadhasivam
4773375151aSManivannan Sadhasivam	sys-therm@145 {
4783375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
4793375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4803375151aSManivannan Sadhasivam		qcom,ratiometric;
4813375151aSManivannan Sadhasivam	};
4823375151aSManivannan Sadhasivam
4833375151aSManivannan Sadhasivam	sys-therm@146 {
4843375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
4853375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4863375151aSManivannan Sadhasivam		qcom,ratiometric;
4873375151aSManivannan Sadhasivam	};
4883375151aSManivannan Sadhasivam
4893375151aSManivannan Sadhasivam	sys-therm@147 {
4903375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
4913375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4923375151aSManivannan Sadhasivam		qcom,ratiometric;
4933375151aSManivannan Sadhasivam	};
4943375151aSManivannan Sadhasivam
4953375151aSManivannan Sadhasivam	pmic-die-temp@303 {
4963375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_DIE_TEMP(3)>;
4973375151aSManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4983375151aSManivannan Sadhasivam	};
4993375151aSManivannan Sadhasivam
5003375151aSManivannan Sadhasivam	sys-therm@344 {
5013375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
5023375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
5033375151aSManivannan Sadhasivam		qcom,ratiometric;
5043375151aSManivannan Sadhasivam	};
5053375151aSManivannan Sadhasivam
5063375151aSManivannan Sadhasivam	sys-therm@345 {
5073375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
5083375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
5093375151aSManivannan Sadhasivam		qcom,ratiometric;
5103375151aSManivannan Sadhasivam	};
5113375151aSManivannan Sadhasivam
5123375151aSManivannan Sadhasivam	sys-therm@346 {
5133375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
5143375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
5153375151aSManivannan Sadhasivam		qcom,ratiometric;
5163375151aSManivannan Sadhasivam	};
5173375151aSManivannan Sadhasivam
5183375151aSManivannan Sadhasivam	sys-therm@347 {
5193375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
5203375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
5213375151aSManivannan Sadhasivam		qcom,ratiometric;
5223375151aSManivannan Sadhasivam	};
5239d41cd17SManivannan Sadhasivam
5249d41cd17SManivannan Sadhasivam	pmic-die-temp@403 {
5259d41cd17SManivannan Sadhasivam		reg = <PMR735A_ADC7_DIE_TEMP>;
5269d41cd17SManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
5279d41cd17SManivannan Sadhasivam	};
5289a6b3042SManivannan Sadhasivam};
5299a6b3042SManivannan Sadhasivam
53032c23138SJohan Hovold&qup0 {
53132c23138SJohan Hovold	status = "okay";
53232c23138SJohan Hovold};
53332c23138SJohan Hovold
53432c23138SJohan Hovold&qup0_i2c4 {
53532c23138SJohan Hovold	clock-frequency = <400000>;
53632c23138SJohan Hovold
53732c23138SJohan Hovold	pinctrl-names = "default";
53897cc7ab3SJohan Hovold	pinctrl-0 = <&qup0_i2c4_default>;
53932c23138SJohan Hovold
54032c23138SJohan Hovold	status = "okay";
54132c23138SJohan Hovold
54232c23138SJohan Hovold	/* FIXME: verify */
54332c23138SJohan Hovold	touchscreen@10 {
54432c23138SJohan Hovold		compatible = "hid-over-i2c";
54532c23138SJohan Hovold		reg = <0x10>;
54697cc7ab3SJohan Hovold
54732c23138SJohan Hovold		hid-descr-addr = <0x1>;
54832c23138SJohan Hovold		interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
54932c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
55097cc7ab3SJohan Hovold
55197cc7ab3SJohan Hovold		pinctrl-names = "default";
55297cc7ab3SJohan Hovold		pinctrl-0 = <&ts0_default>;
55332c23138SJohan Hovold	};
55432c23138SJohan Hovold};
55532c23138SJohan Hovold
55632c23138SJohan Hovold&qup1 {
55732c23138SJohan Hovold	status = "okay";
55832c23138SJohan Hovold};
55932c23138SJohan Hovold
56032c23138SJohan Hovold&qup2 {
56132c23138SJohan Hovold	status = "okay";
56232c23138SJohan Hovold};
56332c23138SJohan Hovold
56432c23138SJohan Hovold&qup2_i2c5 {
56532c23138SJohan Hovold	clock-frequency = <400000>;
56632c23138SJohan Hovold
56732c23138SJohan Hovold	pinctrl-names = "default";
56897cc7ab3SJohan Hovold	pinctrl-0 = <&qup2_i2c5_default>;
56932c23138SJohan Hovold
57032c23138SJohan Hovold	status = "okay";
57132c23138SJohan Hovold
572ca1ce720SJohan Hovold	touchpad@15 {
573ca1ce720SJohan Hovold		compatible = "hid-over-i2c";
574ca1ce720SJohan Hovold		reg = <0x15>;
575ca1ce720SJohan Hovold
576ca1ce720SJohan Hovold		hid-descr-addr = <0x1>;
577ca1ce720SJohan Hovold		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
578ca1ce720SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
579ca1ce720SJohan Hovold
580ca1ce720SJohan Hovold		pinctrl-names = "default";
581ca1ce720SJohan Hovold		pinctrl-0 = <&tpad_default>;
582ca1ce720SJohan Hovold
583ca1ce720SJohan Hovold		wakeup-source;
584ca1ce720SJohan Hovold
585ca1ce720SJohan Hovold		status = "disabled";
586ca1ce720SJohan Hovold	};
587ca1ce720SJohan Hovold
58832c23138SJohan Hovold	touchpad@2c {
58932c23138SJohan Hovold		compatible = "hid-over-i2c";
59032c23138SJohan Hovold		reg = <0x2c>;
59197cc7ab3SJohan Hovold
59232c23138SJohan Hovold		hid-descr-addr = <0x20>;
59332c23138SJohan Hovold		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
59432c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
59597cc7ab3SJohan Hovold
59697cc7ab3SJohan Hovold		pinctrl-names = "default";
59797cc7ab3SJohan Hovold		pinctrl-0 = <&tpad_default>;
59870934652SJohan Hovold
59970934652SJohan Hovold		wakeup-source;
60032c23138SJohan Hovold	};
60132c23138SJohan Hovold
60232c23138SJohan Hovold	keyboard@68 {
60332c23138SJohan Hovold		compatible = "hid-over-i2c";
60432c23138SJohan Hovold		reg = <0x68>;
60597cc7ab3SJohan Hovold
60632c23138SJohan Hovold		hid-descr-addr = <0x1>;
60732c23138SJohan Hovold		interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
60832c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
60997cc7ab3SJohan Hovold
61097cc7ab3SJohan Hovold		pinctrl-names = "default";
61197cc7ab3SJohan Hovold		pinctrl-0 = <&kybd_default>;
61270934652SJohan Hovold
61370934652SJohan Hovold		wakeup-source;
61432c23138SJohan Hovold	};
61532c23138SJohan Hovold};
61632c23138SJohan Hovold
61732c23138SJohan Hovold&remoteproc_adsp {
61829f894ecSManivannan Sadhasivam	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
61932c23138SJohan Hovold
62032c23138SJohan Hovold	status = "okay";
62132c23138SJohan Hovold};
62232c23138SJohan Hovold
62332c23138SJohan Hovold&remoteproc_nsp0 {
62429f894ecSManivannan Sadhasivam	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";
62532c23138SJohan Hovold
62632c23138SJohan Hovold	status = "okay";
62732c23138SJohan Hovold};
62832c23138SJohan Hovold
629*f29077d8SSrinivas Kandagatla&soc {
630*f29077d8SSrinivas Kandagatla	wcd938x: codec {
631*f29077d8SSrinivas Kandagatla		compatible = "qcom,wcd9380-codec";
632*f29077d8SSrinivas Kandagatla		pinctrl-names = "default";
633*f29077d8SSrinivas Kandagatla		pinctrl-0 = <&wcd_default>;
634*f29077d8SSrinivas Kandagatla		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
635*f29077d8SSrinivas Kandagatla		#sound-dai-cells = <1>;
636*f29077d8SSrinivas Kandagatla
637*f29077d8SSrinivas Kandagatla		vdd-buck-supply = <&vreg_s10b>;
638*f29077d8SSrinivas Kandagatla		vdd-rxtx-supply = <&vreg_s10b>;
639*f29077d8SSrinivas Kandagatla		vdd-io-supply = <&vreg_s10b>;
640*f29077d8SSrinivas Kandagatla		vdd-mic-bias-supply = <&vreg_bob>;
641*f29077d8SSrinivas Kandagatla		qcom,micbias1-microvolt = <1800000>;
642*f29077d8SSrinivas Kandagatla		qcom,micbias2-microvolt = <1800000>;
643*f29077d8SSrinivas Kandagatla		qcom,micbias3-microvolt = <1800000>;
644*f29077d8SSrinivas Kandagatla		qcom,micbias4-microvolt = <1800000>;
645*f29077d8SSrinivas Kandagatla		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
646*f29077d8SSrinivas Kandagatla		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
647*f29077d8SSrinivas Kandagatla		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
648*f29077d8SSrinivas Kandagatla		qcom,rx-device = <&wcd_rx>;
649*f29077d8SSrinivas Kandagatla		qcom,tx-device = <&wcd_tx>;
650*f29077d8SSrinivas Kandagatla	};
651*f29077d8SSrinivas Kandagatla};
652*f29077d8SSrinivas Kandagatla
653*f29077d8SSrinivas Kandagatla&sound {
654*f29077d8SSrinivas Kandagatla	compatible = "qcom,sc8280xp-sndcard";
655*f29077d8SSrinivas Kandagatla	model = "SC8280XP-LENOVO-X13S";
656*f29077d8SSrinivas Kandagatla	audio-routing =
657*f29077d8SSrinivas Kandagatla		"SpkrLeft IN", "WSA_SPK1 OUT",
658*f29077d8SSrinivas Kandagatla		"SpkrRight IN", "WSA_SPK2 OUT",
659*f29077d8SSrinivas Kandagatla		"IN1_HPHL", "HPHL_OUT",
660*f29077d8SSrinivas Kandagatla		"IN2_HPHR", "HPHR_OUT",
661*f29077d8SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
662*f29077d8SSrinivas Kandagatla		"VA DMIC0", "MIC BIAS1",
663*f29077d8SSrinivas Kandagatla		"VA DMIC1", "MIC BIAS1",
664*f29077d8SSrinivas Kandagatla		"VA DMIC2", "MIC BIAS3",
665*f29077d8SSrinivas Kandagatla		"TX DMIC0", "MIC BIAS1",
666*f29077d8SSrinivas Kandagatla		"TX DMIC1", "MIC BIAS2",
667*f29077d8SSrinivas Kandagatla		"TX DMIC2", "MIC BIAS3",
668*f29077d8SSrinivas Kandagatla		"TX SWR_ADC1", "ADC2_OUTPUT";
669*f29077d8SSrinivas Kandagatla
670*f29077d8SSrinivas Kandagatla	wcd-playback-dai-link {
671*f29077d8SSrinivas Kandagatla		link-name = "WCD Playback";
672*f29077d8SSrinivas Kandagatla		cpu {
673*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
674*f29077d8SSrinivas Kandagatla		};
675*f29077d8SSrinivas Kandagatla
676*f29077d8SSrinivas Kandagatla		codec {
677*f29077d8SSrinivas Kandagatla			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
678*f29077d8SSrinivas Kandagatla		};
679*f29077d8SSrinivas Kandagatla
680*f29077d8SSrinivas Kandagatla		platform {
681*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apm>;
682*f29077d8SSrinivas Kandagatla		};
683*f29077d8SSrinivas Kandagatla	};
684*f29077d8SSrinivas Kandagatla
685*f29077d8SSrinivas Kandagatla	wcd-capture-dai-link {
686*f29077d8SSrinivas Kandagatla		link-name = "WCD Capture";
687*f29077d8SSrinivas Kandagatla		cpu {
688*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
689*f29077d8SSrinivas Kandagatla		};
690*f29077d8SSrinivas Kandagatla
691*f29077d8SSrinivas Kandagatla		codec {
692*f29077d8SSrinivas Kandagatla			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
693*f29077d8SSrinivas Kandagatla		};
694*f29077d8SSrinivas Kandagatla
695*f29077d8SSrinivas Kandagatla		platform {
696*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apm>;
697*f29077d8SSrinivas Kandagatla		};
698*f29077d8SSrinivas Kandagatla	};
699*f29077d8SSrinivas Kandagatla
700*f29077d8SSrinivas Kandagatla	wsa-dai-link {
701*f29077d8SSrinivas Kandagatla		link-name = "WSA Playback";
702*f29077d8SSrinivas Kandagatla		cpu {
703*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
704*f29077d8SSrinivas Kandagatla		};
705*f29077d8SSrinivas Kandagatla
706*f29077d8SSrinivas Kandagatla		codec {
707*f29077d8SSrinivas Kandagatla			sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
708*f29077d8SSrinivas Kandagatla		};
709*f29077d8SSrinivas Kandagatla
710*f29077d8SSrinivas Kandagatla		platform {
711*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apm>;
712*f29077d8SSrinivas Kandagatla		};
713*f29077d8SSrinivas Kandagatla	};
714*f29077d8SSrinivas Kandagatla
715*f29077d8SSrinivas Kandagatla	va-dai-link {
716*f29077d8SSrinivas Kandagatla		link-name = "VA Capture";
717*f29077d8SSrinivas Kandagatla		cpu {
718*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
719*f29077d8SSrinivas Kandagatla		};
720*f29077d8SSrinivas Kandagatla
721*f29077d8SSrinivas Kandagatla		platform {
722*f29077d8SSrinivas Kandagatla			sound-dai = <&q6apm>;
723*f29077d8SSrinivas Kandagatla		};
724*f29077d8SSrinivas Kandagatla
725*f29077d8SSrinivas Kandagatla		codec {
726*f29077d8SSrinivas Kandagatla			sound-dai = <&vamacro 0>;
727*f29077d8SSrinivas Kandagatla		};
728*f29077d8SSrinivas Kandagatla	};
729*f29077d8SSrinivas Kandagatla};
730*f29077d8SSrinivas Kandagatla
731*f29077d8SSrinivas Kandagatla&swr0 {
732*f29077d8SSrinivas Kandagatla	left_spkr: wsa8830-left@0,1 {
733*f29077d8SSrinivas Kandagatla		compatible = "sdw10217020200";
734*f29077d8SSrinivas Kandagatla		reg = <0 1>;
735*f29077d8SSrinivas Kandagatla		pinctrl-names = "default";
736*f29077d8SSrinivas Kandagatla		pinctrl-0 = <&spkr_1_sd_n_default>;
737*f29077d8SSrinivas Kandagatla		powerdown-gpios = <&tlmm 178 GPIO_ACTIVE_LOW>;
738*f29077d8SSrinivas Kandagatla		#thermal-sensor-cells = <0>;
739*f29077d8SSrinivas Kandagatla		sound-name-prefix = "SpkrLeft";
740*f29077d8SSrinivas Kandagatla		#sound-dai-cells = <0>;
741*f29077d8SSrinivas Kandagatla		vdd-supply = <&vreg_s10b>;
742*f29077d8SSrinivas Kandagatla	};
743*f29077d8SSrinivas Kandagatla
744*f29077d8SSrinivas Kandagatla	right_spkr: wsa8830-right@0,2{
745*f29077d8SSrinivas Kandagatla		compatible = "sdw10217020200";
746*f29077d8SSrinivas Kandagatla		reg = <0 2>;
747*f29077d8SSrinivas Kandagatla		pinctrl-names = "default";
748*f29077d8SSrinivas Kandagatla		pinctrl-0 = <&spkr_2_sd_n_default>;
749*f29077d8SSrinivas Kandagatla		powerdown-gpios = <&tlmm 179 GPIO_ACTIVE_LOW>;
750*f29077d8SSrinivas Kandagatla		#thermal-sensor-cells = <0>;
751*f29077d8SSrinivas Kandagatla		sound-name-prefix = "SpkrRight";
752*f29077d8SSrinivas Kandagatla		#sound-dai-cells = <0>;
753*f29077d8SSrinivas Kandagatla		vdd-supply = <&vreg_s10b>;
754*f29077d8SSrinivas Kandagatla	};
755*f29077d8SSrinivas Kandagatla};
756*f29077d8SSrinivas Kandagatla
757*f29077d8SSrinivas Kandagatla&swr1 {
758*f29077d8SSrinivas Kandagatla	status = "okay";
759*f29077d8SSrinivas Kandagatla
760*f29077d8SSrinivas Kandagatla	wcd_rx: wcd9380-rx@0,4 {
761*f29077d8SSrinivas Kandagatla		compatible = "sdw20217010d00";
762*f29077d8SSrinivas Kandagatla		reg = <0 4>;
763*f29077d8SSrinivas Kandagatla		qcom,rx-port-mapping = <1 2 3 4 5>;
764*f29077d8SSrinivas Kandagatla	};
765*f29077d8SSrinivas Kandagatla};
766*f29077d8SSrinivas Kandagatla
767*f29077d8SSrinivas Kandagatla&swr2 {
768*f29077d8SSrinivas Kandagatla	status = "okay";
769*f29077d8SSrinivas Kandagatla
770*f29077d8SSrinivas Kandagatla	wcd_tx: wcd9380-tx@0,3 {
771*f29077d8SSrinivas Kandagatla		compatible = "sdw20217010d00";
772*f29077d8SSrinivas Kandagatla		reg = <0 3>;
773*f29077d8SSrinivas Kandagatla		qcom,tx-port-mapping = <1 1 2 3>;
774*f29077d8SSrinivas Kandagatla	};
775*f29077d8SSrinivas Kandagatla};
776*f29077d8SSrinivas Kandagatla
777*f29077d8SSrinivas Kandagatla&vamacro {
778*f29077d8SSrinivas Kandagatla	pinctrl-0 = <&dmic01_default>, <&dmic02_default>;
779*f29077d8SSrinivas Kandagatla	pinctrl-names = "default";
780*f29077d8SSrinivas Kandagatla	vdd-micb-supply = <&vreg_s10b>;
781*f29077d8SSrinivas Kandagatla	qcom,dmic-sample-rate = <600000>;
782*f29077d8SSrinivas Kandagatla};
783*f29077d8SSrinivas Kandagatla
78432c23138SJohan Hovold&usb_0 {
78532c23138SJohan Hovold	status = "okay";
78632c23138SJohan Hovold};
78732c23138SJohan Hovold
78832c23138SJohan Hovold&usb_0_dwc3 {
78932c23138SJohan Hovold	/* TODO: Define USB-C connector properly */
79032c23138SJohan Hovold	dr_mode = "host";
79132c23138SJohan Hovold};
79232c23138SJohan Hovold
79332c23138SJohan Hovold&usb_0_hsphy {
79432c23138SJohan Hovold	vdda-pll-supply = <&vreg_l9d>;
79532c23138SJohan Hovold	vdda18-supply = <&vreg_l1c>;
79632c23138SJohan Hovold	vdda33-supply = <&vreg_l7d>;
79732c23138SJohan Hovold
79832c23138SJohan Hovold	status = "okay";
79932c23138SJohan Hovold};
80032c23138SJohan Hovold
80132c23138SJohan Hovold&usb_0_qmpphy {
80232c23138SJohan Hovold	vdda-phy-supply = <&vreg_l9d>;
80332c23138SJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
80432c23138SJohan Hovold
80532c23138SJohan Hovold	status = "okay";
80632c23138SJohan Hovold};
80732c23138SJohan Hovold
80832c23138SJohan Hovold&usb_1 {
80932c23138SJohan Hovold	status = "okay";
81032c23138SJohan Hovold};
81132c23138SJohan Hovold
81232c23138SJohan Hovold&usb_1_dwc3 {
81332c23138SJohan Hovold	/* TODO: Define USB-C connector properly */
81432c23138SJohan Hovold	dr_mode = "host";
81532c23138SJohan Hovold};
81632c23138SJohan Hovold
81732c23138SJohan Hovold&usb_1_hsphy {
81832c23138SJohan Hovold	vdda-pll-supply = <&vreg_l4b>;
81932c23138SJohan Hovold	vdda18-supply = <&vreg_l1c>;
82032c23138SJohan Hovold	vdda33-supply = <&vreg_l13c>;
82132c23138SJohan Hovold
82232c23138SJohan Hovold	status = "okay";
82332c23138SJohan Hovold};
82432c23138SJohan Hovold
82532c23138SJohan Hovold&usb_1_qmpphy {
82632c23138SJohan Hovold	vdda-phy-supply = <&vreg_l4b>;
82732c23138SJohan Hovold	vdda-pll-supply = <&vreg_l3b>;
82832c23138SJohan Hovold
82932c23138SJohan Hovold	status = "okay";
83032c23138SJohan Hovold};
83132c23138SJohan Hovold
83232c23138SJohan Hovold&xo_board_clk {
83332c23138SJohan Hovold	clock-frequency = <38400000>;
83432c23138SJohan Hovold};
83532c23138SJohan Hovold
83632c23138SJohan Hovold/* PINCTRL */
83732c23138SJohan Hovold
83832c23138SJohan Hovold&pmc8280_1_gpios {
83932c23138SJohan Hovold	edp_bl_en: edp-bl-en-state {
84032c23138SJohan Hovold		pins = "gpio8";
84132c23138SJohan Hovold		function = "normal";
84232c23138SJohan Hovold	};
84332c23138SJohan Hovold
84432c23138SJohan Hovold	edp_bl_reg_en: edp-bl-reg-en-state {
84532c23138SJohan Hovold		pins = "gpio9";
84632c23138SJohan Hovold		function = "normal";
84732c23138SJohan Hovold	};
84832c23138SJohan Hovold
84932c23138SJohan Hovold	misc_3p3_reg_en: misc-3p3-reg-en-state {
85032c23138SJohan Hovold		pins = "gpio1";
85132c23138SJohan Hovold		function = "normal";
85232c23138SJohan Hovold	};
85332c23138SJohan Hovold};
85432c23138SJohan Hovold
855176d54acSJohan Hovold&pmc8280_2_gpios {
856176d54acSJohan Hovold	wwan_sw_en: wwan-sw-en-state {
857176d54acSJohan Hovold		pins = "gpio1";
858176d54acSJohan Hovold		function = "normal";
859176d54acSJohan Hovold	};
860176d54acSJohan Hovold};
861176d54acSJohan Hovold
86232c23138SJohan Hovold&pmc8280c_gpios {
86332c23138SJohan Hovold	edp_bl_pwm: edp-bl-pwm-state {
86432c23138SJohan Hovold		pins = "gpio8";
86532c23138SJohan Hovold		function = "func1";
86632c23138SJohan Hovold	};
86732c23138SJohan Hovold};
86832c23138SJohan Hovold
869123b30a7SJohan Hovold&pmr735a_gpios {
870123b30a7SJohan Hovold	hastings_reg_en: hastings-reg-en-state {
871123b30a7SJohan Hovold		pins = "gpio1";
872123b30a7SJohan Hovold		function = "normal";
873123b30a7SJohan Hovold	};
874123b30a7SJohan Hovold};
875123b30a7SJohan Hovold
87632c23138SJohan Hovold&tlmm {
87732c23138SJohan Hovold	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
87832c23138SJohan Hovold
879a607fe5eSBjorn Andersson	hall_int_n_default: hall-int-n-state {
880a607fe5eSBjorn Andersson		pins = "gpio107";
881a607fe5eSBjorn Andersson		function = "gpio";
882a607fe5eSBjorn Andersson		input-enable;
883a607fe5eSBjorn Andersson		bias-disable;
884a607fe5eSBjorn Andersson	};
885a607fe5eSBjorn Andersson
88632c23138SJohan Hovold	kybd_default: kybd-default-state {
88791c4431bSKrzysztof Kozlowski		disable-pins {
88832c23138SJohan Hovold			pins = "gpio102";
88932c23138SJohan Hovold			function = "gpio";
89032c23138SJohan Hovold			output-low;
89132c23138SJohan Hovold		};
89232c23138SJohan Hovold
89391c4431bSKrzysztof Kozlowski		int-n-pins {
89432c23138SJohan Hovold			pins = "gpio104";
89532c23138SJohan Hovold			function = "gpio";
89632c23138SJohan Hovold			bias-disable;
89732c23138SJohan Hovold		};
89832c23138SJohan Hovold
89991c4431bSKrzysztof Kozlowski		reset-pins {
90032c23138SJohan Hovold			pins = "gpio105";
90132c23138SJohan Hovold			function = "gpio";
90232c23138SJohan Hovold			bias-disable;
90332c23138SJohan Hovold		};
90432c23138SJohan Hovold	};
90532c23138SJohan Hovold
906b4bb952eSJohan Hovold	nvme_reg_en: nvme-reg-en-state {
907b4bb952eSJohan Hovold		pins = "gpio135";
908b4bb952eSJohan Hovold		function = "gpio";
909b4bb952eSJohan Hovold		drive-strength = <2>;
910b4bb952eSJohan Hovold		bias-disable;
911b4bb952eSJohan Hovold	};
912b4bb952eSJohan Hovold
913b4bb952eSJohan Hovold	pcie2a_default: pcie2a-default-state {
914b4bb952eSJohan Hovold		clkreq-n-pins {
915b4bb952eSJohan Hovold			pins = "gpio142";
916b4bb952eSJohan Hovold			function = "pcie2a_clkreq";
917b4bb952eSJohan Hovold			drive-strength = <2>;
918b4bb952eSJohan Hovold			bias-pull-up;
919b4bb952eSJohan Hovold		};
920b4bb952eSJohan Hovold
921b4bb952eSJohan Hovold		perst-n-pins {
922b4bb952eSJohan Hovold			pins = "gpio143";
923b4bb952eSJohan Hovold			function = "gpio";
924b4bb952eSJohan Hovold			drive-strength = <2>;
925b4bb952eSJohan Hovold			bias-pull-down;
926b4bb952eSJohan Hovold		};
927b4bb952eSJohan Hovold
928b4bb952eSJohan Hovold		wake-n-pins {
929b4bb952eSJohan Hovold		       pins = "gpio145";
930b4bb952eSJohan Hovold		       function = "gpio";
931b4bb952eSJohan Hovold		       drive-strength = <2>;
932b4bb952eSJohan Hovold		       bias-pull-up;
933b4bb952eSJohan Hovold	       };
934b4bb952eSJohan Hovold	};
935b4bb952eSJohan Hovold
936176d54acSJohan Hovold	pcie3a_default: pcie3a-default-state {
937176d54acSJohan Hovold		clkreq-n-pins {
938176d54acSJohan Hovold			pins = "gpio150";
939176d54acSJohan Hovold			function = "pcie3a_clkreq";
940176d54acSJohan Hovold			drive-strength = <2>;
941176d54acSJohan Hovold			bias-pull-up;
942176d54acSJohan Hovold		};
943176d54acSJohan Hovold
944176d54acSJohan Hovold		perst-n-pins {
945176d54acSJohan Hovold			pins = "gpio151";
946176d54acSJohan Hovold			function = "gpio";
947176d54acSJohan Hovold			drive-strength = <2>;
948176d54acSJohan Hovold			bias-pull-down;
949176d54acSJohan Hovold		};
950176d54acSJohan Hovold
951176d54acSJohan Hovold		wake-n-pins {
952176d54acSJohan Hovold			pins = "gpio148";
953176d54acSJohan Hovold			function = "gpio";
954176d54acSJohan Hovold			drive-strength = <2>;
955176d54acSJohan Hovold			bias-pull-up;
956176d54acSJohan Hovold		};
957176d54acSJohan Hovold	};
958176d54acSJohan Hovold
959123b30a7SJohan Hovold	pcie4_default: pcie4-default-state {
960123b30a7SJohan Hovold		clkreq-n-pins {
961123b30a7SJohan Hovold			pins = "gpio140";
962123b30a7SJohan Hovold			function = "pcie4_clkreq";
963123b30a7SJohan Hovold			drive-strength = <2>;
964123b30a7SJohan Hovold			bias-pull-up;
965123b30a7SJohan Hovold		};
966123b30a7SJohan Hovold
967123b30a7SJohan Hovold		perst-n-pins {
968123b30a7SJohan Hovold			pins = "gpio141";
969123b30a7SJohan Hovold			function = "gpio";
970123b30a7SJohan Hovold			drive-strength = <2>;
971123b30a7SJohan Hovold			bias-pull-down;
972123b30a7SJohan Hovold		};
973123b30a7SJohan Hovold
974123b30a7SJohan Hovold		wake-n-pins {
975123b30a7SJohan Hovold			pins = "gpio139";
976123b30a7SJohan Hovold			function = "gpio";
977123b30a7SJohan Hovold			drive-strength = <2>;
978123b30a7SJohan Hovold			bias-pull-up;
979123b30a7SJohan Hovold		};
980123b30a7SJohan Hovold	};
981123b30a7SJohan Hovold
98232c23138SJohan Hovold	qup0_i2c4_default: qup0-i2c4-default-state {
98332c23138SJohan Hovold		pins = "gpio171", "gpio172";
98432c23138SJohan Hovold		function = "qup4";
98532c23138SJohan Hovold		bias-disable;
98632c23138SJohan Hovold		drive-strength = <16>;
98732c23138SJohan Hovold	};
98832c23138SJohan Hovold
98932c23138SJohan Hovold	qup2_i2c5_default: qup2-i2c5-default-state {
99032c23138SJohan Hovold		pins = "gpio81", "gpio82";
99132c23138SJohan Hovold		function = "qup21";
99232c23138SJohan Hovold		bias-disable;
99332c23138SJohan Hovold		drive-strength = <16>;
99432c23138SJohan Hovold	};
99532c23138SJohan Hovold
996*f29077d8SSrinivas Kandagatla	spkr_1_sd_n_default: spkr-1-sd-n-default-state {
997*f29077d8SSrinivas Kandagatla		perst-n-pins {
998*f29077d8SSrinivas Kandagatla			pins = "gpio178";
999*f29077d8SSrinivas Kandagatla			function = "gpio";
1000*f29077d8SSrinivas Kandagatla			drive-strength = <16>;
1001*f29077d8SSrinivas Kandagatla			bias-disable;
1002*f29077d8SSrinivas Kandagatla			output-high;
1003*f29077d8SSrinivas Kandagatla		};
1004*f29077d8SSrinivas Kandagatla	};
1005*f29077d8SSrinivas Kandagatla
1006*f29077d8SSrinivas Kandagatla	spkr_2_sd_n_default: spkr-2-sd-n-default-state {
1007*f29077d8SSrinivas Kandagatla		perst-n-pins {
1008*f29077d8SSrinivas Kandagatla			pins = "gpio179";
1009*f29077d8SSrinivas Kandagatla			function = "gpio";
1010*f29077d8SSrinivas Kandagatla			drive-strength = <16>;
1011*f29077d8SSrinivas Kandagatla			bias-disable;
1012*f29077d8SSrinivas Kandagatla			output-high;
1013*f29077d8SSrinivas Kandagatla		};
1014*f29077d8SSrinivas Kandagatla	};
1015*f29077d8SSrinivas Kandagatla
101632c23138SJohan Hovold	tpad_default: tpad-default-state {
101791c4431bSKrzysztof Kozlowski		int-n-pins {
101832c23138SJohan Hovold			pins = "gpio182";
101932c23138SJohan Hovold			function = "gpio";
102032c23138SJohan Hovold			bias-disable;
102132c23138SJohan Hovold		};
102232c23138SJohan Hovold	};
102332c23138SJohan Hovold
102432c23138SJohan Hovold	ts0_default: ts0-default-state {
102591c4431bSKrzysztof Kozlowski		int-n-pins {
102632c23138SJohan Hovold			pins = "gpio175";
102732c23138SJohan Hovold			function = "gpio";
1028e11978deSJohan Hovold			bias-disable;
102932c23138SJohan Hovold		};
103032c23138SJohan Hovold
103191c4431bSKrzysztof Kozlowski		reset-n-pins {
103232c23138SJohan Hovold			pins = "gpio99";
103332c23138SJohan Hovold			function = "gpio";
103432c23138SJohan Hovold			output-high;
103532c23138SJohan Hovold			drive-strength = <16>;
103632c23138SJohan Hovold		};
103732c23138SJohan Hovold	};
1038*f29077d8SSrinivas Kandagatla
1039*f29077d8SSrinivas Kandagatla	wcd_default: wcd-default-state {
1040*f29077d8SSrinivas Kandagatla		reset-pins {
1041*f29077d8SSrinivas Kandagatla			pins = "gpio106";
1042*f29077d8SSrinivas Kandagatla			function = "gpio";
1043*f29077d8SSrinivas Kandagatla			bias-disable;
1044*f29077d8SSrinivas Kandagatla		};
1045*f29077d8SSrinivas Kandagatla	};
104632c23138SJohan Hovold};
1047