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	};
143*176d54acSJohan Hovold
144*176d54acSJohan Hovold	vreg_wwan: regulator-wwan {
145*176d54acSJohan Hovold		compatible = "regulator-fixed";
146*176d54acSJohan Hovold
147*176d54acSJohan Hovold		regulator-name = "VCC3B_WAN";
148*176d54acSJohan Hovold		regulator-min-microvolt = <3300000>;
149*176d54acSJohan Hovold		regulator-max-microvolt = <3300000>;
150*176d54acSJohan Hovold
151*176d54acSJohan Hovold		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
152*176d54acSJohan Hovold		enable-active-high;
153*176d54acSJohan Hovold
154*176d54acSJohan Hovold		pinctrl-names = "default";
155*176d54acSJohan Hovold		pinctrl-0 = <&wwan_sw_en>;
156*176d54acSJohan Hovold
157*176d54acSJohan Hovold		regulator-boot-on;
158*176d54acSJohan Hovold	};
15932c23138SJohan Hovold};
16032c23138SJohan Hovold
16132c23138SJohan Hovold&apps_rsc {
16232c23138SJohan Hovold	pmc8280-1-rpmh-regulators {
16332c23138SJohan Hovold		compatible = "qcom,pm8350-rpmh-regulators";
16432c23138SJohan Hovold		qcom,pmic-id = "b";
16532c23138SJohan Hovold
16632c23138SJohan Hovold		vdd-l3-l5-supply = <&vreg_s11b>;
16732c23138SJohan Hovold
16832c23138SJohan Hovold		vreg_s11b: smps11 {
16932c23138SJohan Hovold			regulator-name = "vreg_s11b";
17032c23138SJohan Hovold			regulator-min-microvolt = <1272000>;
17132c23138SJohan Hovold			regulator-max-microvolt = <1272000>;
17232c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
17332c23138SJohan Hovold		};
17432c23138SJohan Hovold
17532c23138SJohan Hovold		vreg_l3b: ldo3 {
17632c23138SJohan Hovold			regulator-name = "vreg_l3b";
17732c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
17832c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
17932c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18032c23138SJohan Hovold			regulator-boot-on;
18132c23138SJohan Hovold		};
18232c23138SJohan Hovold
18332c23138SJohan Hovold		vreg_l4b: ldo4 {
18432c23138SJohan Hovold			regulator-name = "vreg_l4b";
18532c23138SJohan Hovold			regulator-min-microvolt = <912000>;
18632c23138SJohan Hovold			regulator-max-microvolt = <912000>;
18732c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18832c23138SJohan Hovold		};
18932c23138SJohan Hovold
19032c23138SJohan Hovold		vreg_l6b: ldo6 {
19132c23138SJohan Hovold			regulator-name = "vreg_l6b";
19232c23138SJohan Hovold			regulator-min-microvolt = <880000>;
19332c23138SJohan Hovold			regulator-max-microvolt = <880000>;
19432c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19532c23138SJohan Hovold			regulator-boot-on;
196b47fac7aSKonrad Dybcio			regulator-always-on;	/* FIXME: VDD_A_EDP_0_0P9 */
19732c23138SJohan Hovold		};
19832c23138SJohan Hovold	};
19932c23138SJohan Hovold
20032c23138SJohan Hovold	pmc8280c-rpmh-regulators {
20132c23138SJohan Hovold		compatible = "qcom,pm8350c-rpmh-regulators";
20232c23138SJohan Hovold		qcom,pmic-id = "c";
20332c23138SJohan Hovold
20432c23138SJohan Hovold		vreg_l1c: ldo1 {
20532c23138SJohan Hovold			regulator-name = "vreg_l1c";
20632c23138SJohan Hovold			regulator-min-microvolt = <1800000>;
20732c23138SJohan Hovold			regulator-max-microvolt = <1800000>;
20832c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20932c23138SJohan Hovold		};
21032c23138SJohan Hovold
21132c23138SJohan Hovold		vreg_l12c: ldo12 {
21232c23138SJohan Hovold			regulator-name = "vreg_l12c";
21332c23138SJohan Hovold			regulator-min-microvolt = <1800000>;
21432c23138SJohan Hovold			regulator-max-microvolt = <1800000>;
21532c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21632c23138SJohan Hovold		};
21732c23138SJohan Hovold
21832c23138SJohan Hovold		vreg_l13c: ldo13 {
21932c23138SJohan Hovold			regulator-name = "vreg_l13c";
22032c23138SJohan Hovold			regulator-min-microvolt = <3072000>;
22132c23138SJohan Hovold			regulator-max-microvolt = <3072000>;
22232c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22332c23138SJohan Hovold		};
22432c23138SJohan Hovold	};
22532c23138SJohan Hovold
22632c23138SJohan Hovold	pmc8280-2-rpmh-regulators {
22732c23138SJohan Hovold		compatible = "qcom,pm8350-rpmh-regulators";
22832c23138SJohan Hovold		qcom,pmic-id = "d";
22932c23138SJohan Hovold
23032c23138SJohan Hovold		vdd-l1-l4-supply = <&vreg_s11b>;
23132c23138SJohan Hovold
23232c23138SJohan Hovold		vreg_l3d: ldo3 {
23332c23138SJohan Hovold			regulator-name = "vreg_l3d";
23432c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
23532c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
23632c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23732c23138SJohan Hovold		};
23832c23138SJohan Hovold
23932c23138SJohan Hovold		vreg_l4d: ldo4 {
24032c23138SJohan Hovold			regulator-name = "vreg_l4d";
24132c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
24232c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
24332c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24432c23138SJohan Hovold		};
24532c23138SJohan Hovold
246b4bb952eSJohan Hovold		vreg_l6d: ldo6 {
247b4bb952eSJohan Hovold			regulator-name = "vreg_l6d";
248b4bb952eSJohan Hovold			regulator-min-microvolt = <880000>;
249b4bb952eSJohan Hovold			regulator-max-microvolt = <880000>;
250b4bb952eSJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
251b4bb952eSJohan Hovold		};
252b4bb952eSJohan Hovold
25332c23138SJohan Hovold		vreg_l7d: ldo7 {
25432c23138SJohan Hovold			regulator-name = "vreg_l7d";
25532c23138SJohan Hovold			regulator-min-microvolt = <3072000>;
25632c23138SJohan Hovold			regulator-max-microvolt = <3072000>;
25732c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25832c23138SJohan Hovold		};
25932c23138SJohan Hovold
26032c23138SJohan Hovold		vreg_l9d: ldo9 {
26132c23138SJohan Hovold			regulator-name = "vreg_l9d";
26232c23138SJohan Hovold			regulator-min-microvolt = <912000>;
26332c23138SJohan Hovold			regulator-max-microvolt = <912000>;
26432c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26532c23138SJohan Hovold		};
26632c23138SJohan Hovold	};
26732c23138SJohan Hovold};
26832c23138SJohan Hovold
269b4bb952eSJohan Hovold&pcie2a {
270b4bb952eSJohan Hovold	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
271b4bb952eSJohan Hovold	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
272b4bb952eSJohan Hovold
273b4bb952eSJohan Hovold	vddpe-3v3-supply = <&vreg_nvme>;
274b4bb952eSJohan Hovold
275b4bb952eSJohan Hovold	pinctrl-names = "default";
276b4bb952eSJohan Hovold	pinctrl-0 = <&pcie2a_default>;
277b4bb952eSJohan Hovold
278b4bb952eSJohan Hovold	status = "okay";
279b4bb952eSJohan Hovold};
280b4bb952eSJohan Hovold
281b4bb952eSJohan Hovold&pcie2a_phy {
282b4bb952eSJohan Hovold	vdda-phy-supply = <&vreg_l6d>;
283b4bb952eSJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
284b4bb952eSJohan Hovold
285b4bb952eSJohan Hovold	status = "okay";
286b4bb952eSJohan Hovold};
287b4bb952eSJohan Hovold
288*176d54acSJohan Hovold&pcie3a {
289*176d54acSJohan Hovold	perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
290*176d54acSJohan Hovold	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
291*176d54acSJohan Hovold
292*176d54acSJohan Hovold	vddpe-3v3-supply = <&vreg_wwan>;
293*176d54acSJohan Hovold
294*176d54acSJohan Hovold	pinctrl-names = "default";
295*176d54acSJohan Hovold	pinctrl-0 = <&pcie3a_default>;
296*176d54acSJohan Hovold
297*176d54acSJohan Hovold	status = "okay";
298*176d54acSJohan Hovold};
299*176d54acSJohan Hovold
300*176d54acSJohan Hovold&pcie3a_phy {
301*176d54acSJohan Hovold	vdda-phy-supply = <&vreg_l6d>;
302*176d54acSJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
303*176d54acSJohan Hovold
304*176d54acSJohan Hovold	status = "okay";
305*176d54acSJohan Hovold};
306*176d54acSJohan Hovold
30732c23138SJohan Hovold&pmc8280c_lpg {
30832c23138SJohan Hovold	status = "okay";
30932c23138SJohan Hovold};
31032c23138SJohan Hovold
3117c015134SManivannan Sadhasivam&pmk8280_adc_tm {
3127c015134SManivannan Sadhasivam	status = "okay";
3137c015134SManivannan Sadhasivam
3147c015134SManivannan Sadhasivam	sys-therm@0 {
3157c015134SManivannan Sadhasivam		reg = <0>;
3167c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
3177c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3187c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3197c015134SManivannan Sadhasivam		qcom,ratiometric;
3207c015134SManivannan Sadhasivam	};
3217c015134SManivannan Sadhasivam
3227c015134SManivannan Sadhasivam	sys-therm@1 {
3237c015134SManivannan Sadhasivam		reg = <1>;
3247c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
3257c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3267c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3277c015134SManivannan Sadhasivam		qcom,ratiometric;
3287c015134SManivannan Sadhasivam	};
3297c015134SManivannan Sadhasivam
3307c015134SManivannan Sadhasivam	sys-therm@2 {
3317c015134SManivannan Sadhasivam		reg = <2>;
3327c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
3337c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3347c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3357c015134SManivannan Sadhasivam		qcom,ratiometric;
3367c015134SManivannan Sadhasivam	};
3377c015134SManivannan Sadhasivam
3387c015134SManivannan Sadhasivam	sys-therm@3 {
3397c015134SManivannan Sadhasivam		reg = <3>;
3407c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
3417c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3427c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3437c015134SManivannan Sadhasivam		qcom,ratiometric;
3447c015134SManivannan Sadhasivam	};
3457c015134SManivannan Sadhasivam
3467c015134SManivannan Sadhasivam	sys-therm@4 {
3477c015134SManivannan Sadhasivam		reg = <4>;
3487c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
3497c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3507c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3517c015134SManivannan Sadhasivam		qcom,ratiometric;
3527c015134SManivannan Sadhasivam	};
3537c015134SManivannan Sadhasivam
3547c015134SManivannan Sadhasivam	sys-therm@5 {
3557c015134SManivannan Sadhasivam		reg = <5>;
3567c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
3577c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3587c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3597c015134SManivannan Sadhasivam		qcom,ratiometric;
3607c015134SManivannan Sadhasivam	};
3617c015134SManivannan Sadhasivam
3627c015134SManivannan Sadhasivam	sys-therm@6 {
3637c015134SManivannan Sadhasivam		reg = <6>;
3647c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
3657c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3667c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3677c015134SManivannan Sadhasivam		qcom,ratiometric;
3687c015134SManivannan Sadhasivam	};
3697c015134SManivannan Sadhasivam
3707c015134SManivannan Sadhasivam	sys-therm@7 {
3717c015134SManivannan Sadhasivam		reg = <7>;
3727c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
3737c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3747c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3757c015134SManivannan Sadhasivam		qcom,ratiometric;
3767c015134SManivannan Sadhasivam	};
3777c015134SManivannan Sadhasivam};
3787c015134SManivannan Sadhasivam
37932c23138SJohan Hovold&pmk8280_pon_pwrkey {
38032c23138SJohan Hovold	status = "okay";
38132c23138SJohan Hovold};
38232c23138SJohan Hovold
3837858c676SManivannan Sadhasivam&pmk8280_pon_resin {
3847858c676SManivannan Sadhasivam	status = "okay";
3857858c676SManivannan Sadhasivam};
3867858c676SManivannan Sadhasivam
3879a6b3042SManivannan Sadhasivam&pmk8280_vadc {
3889a6b3042SManivannan Sadhasivam	status = "okay";
3899a6b3042SManivannan Sadhasivam
3909a6b3042SManivannan Sadhasivam	pmic-die-temp@3 {
3919a6b3042SManivannan Sadhasivam		reg = <PMK8350_ADC7_DIE_TEMP>;
3929a6b3042SManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
3939a6b3042SManivannan Sadhasivam	};
3949a6b3042SManivannan Sadhasivam
3959a6b3042SManivannan Sadhasivam	xo-therm@44 {
3969a6b3042SManivannan Sadhasivam		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
3979a6b3042SManivannan Sadhasivam		qcom,hw-settle-time = <200>;
3989a6b3042SManivannan Sadhasivam		qcom,ratiometric;
3999a6b3042SManivannan Sadhasivam	};
4003375151aSManivannan Sadhasivam
4013375151aSManivannan Sadhasivam	pmic-die-temp@103 {
4023375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_DIE_TEMP(1)>;
4033375151aSManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4043375151aSManivannan Sadhasivam	};
4053375151aSManivannan Sadhasivam
4063375151aSManivannan Sadhasivam	sys-therm@144 {
4073375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
4083375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4093375151aSManivannan Sadhasivam		qcom,ratiometric;
4103375151aSManivannan Sadhasivam	};
4113375151aSManivannan Sadhasivam
4123375151aSManivannan Sadhasivam	sys-therm@145 {
4133375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
4143375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4153375151aSManivannan Sadhasivam		qcom,ratiometric;
4163375151aSManivannan Sadhasivam	};
4173375151aSManivannan Sadhasivam
4183375151aSManivannan Sadhasivam	sys-therm@146 {
4193375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
4203375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4213375151aSManivannan Sadhasivam		qcom,ratiometric;
4223375151aSManivannan Sadhasivam	};
4233375151aSManivannan Sadhasivam
4243375151aSManivannan Sadhasivam	sys-therm@147 {
4253375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
4263375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4273375151aSManivannan Sadhasivam		qcom,ratiometric;
4283375151aSManivannan Sadhasivam	};
4293375151aSManivannan Sadhasivam
4303375151aSManivannan Sadhasivam	pmic-die-temp@303 {
4313375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_DIE_TEMP(3)>;
4323375151aSManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4333375151aSManivannan Sadhasivam	};
4343375151aSManivannan Sadhasivam
4353375151aSManivannan Sadhasivam	sys-therm@344 {
4363375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
4373375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4383375151aSManivannan Sadhasivam		qcom,ratiometric;
4393375151aSManivannan Sadhasivam	};
4403375151aSManivannan Sadhasivam
4413375151aSManivannan Sadhasivam	sys-therm@345 {
4423375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
4433375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4443375151aSManivannan Sadhasivam		qcom,ratiometric;
4453375151aSManivannan Sadhasivam	};
4463375151aSManivannan Sadhasivam
4473375151aSManivannan Sadhasivam	sys-therm@346 {
4483375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
4493375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4503375151aSManivannan Sadhasivam		qcom,ratiometric;
4513375151aSManivannan Sadhasivam	};
4523375151aSManivannan Sadhasivam
4533375151aSManivannan Sadhasivam	sys-therm@347 {
4543375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
4553375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4563375151aSManivannan Sadhasivam		qcom,ratiometric;
4573375151aSManivannan Sadhasivam	};
4589d41cd17SManivannan Sadhasivam
4599d41cd17SManivannan Sadhasivam	pmic-die-temp@403 {
4609d41cd17SManivannan Sadhasivam		reg = <PMR735A_ADC7_DIE_TEMP>;
4619d41cd17SManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4629d41cd17SManivannan Sadhasivam	};
4639a6b3042SManivannan Sadhasivam};
4649a6b3042SManivannan Sadhasivam
46532c23138SJohan Hovold&qup0 {
46632c23138SJohan Hovold	status = "okay";
46732c23138SJohan Hovold};
46832c23138SJohan Hovold
46932c23138SJohan Hovold&qup0_i2c4 {
47032c23138SJohan Hovold	clock-frequency = <400000>;
47132c23138SJohan Hovold
47232c23138SJohan Hovold	pinctrl-names = "default";
47397cc7ab3SJohan Hovold	pinctrl-0 = <&qup0_i2c4_default>;
47432c23138SJohan Hovold
47532c23138SJohan Hovold	status = "okay";
47632c23138SJohan Hovold
47732c23138SJohan Hovold	/* FIXME: verify */
47832c23138SJohan Hovold	touchscreen@10 {
47932c23138SJohan Hovold		compatible = "hid-over-i2c";
48032c23138SJohan Hovold		reg = <0x10>;
48197cc7ab3SJohan Hovold
48232c23138SJohan Hovold		hid-descr-addr = <0x1>;
48332c23138SJohan Hovold		interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
48432c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
48597cc7ab3SJohan Hovold
48697cc7ab3SJohan Hovold		pinctrl-names = "default";
48797cc7ab3SJohan Hovold		pinctrl-0 = <&ts0_default>;
48832c23138SJohan Hovold	};
48932c23138SJohan Hovold};
49032c23138SJohan Hovold
49132c23138SJohan Hovold&qup1 {
49232c23138SJohan Hovold	status = "okay";
49332c23138SJohan Hovold};
49432c23138SJohan Hovold
49532c23138SJohan Hovold&qup2 {
49632c23138SJohan Hovold	status = "okay";
49732c23138SJohan Hovold};
49832c23138SJohan Hovold
49932c23138SJohan Hovold&qup2_i2c5 {
50032c23138SJohan Hovold	clock-frequency = <400000>;
50132c23138SJohan Hovold
50232c23138SJohan Hovold	pinctrl-names = "default";
50397cc7ab3SJohan Hovold	pinctrl-0 = <&qup2_i2c5_default>;
50432c23138SJohan Hovold
50532c23138SJohan Hovold	status = "okay";
50632c23138SJohan Hovold
507ca1ce720SJohan Hovold	touchpad@15 {
508ca1ce720SJohan Hovold		compatible = "hid-over-i2c";
509ca1ce720SJohan Hovold		reg = <0x15>;
510ca1ce720SJohan Hovold
511ca1ce720SJohan Hovold		hid-descr-addr = <0x1>;
512ca1ce720SJohan Hovold		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
513ca1ce720SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
514ca1ce720SJohan Hovold
515ca1ce720SJohan Hovold		pinctrl-names = "default";
516ca1ce720SJohan Hovold		pinctrl-0 = <&tpad_default>;
517ca1ce720SJohan Hovold
518ca1ce720SJohan Hovold		wakeup-source;
519ca1ce720SJohan Hovold
520ca1ce720SJohan Hovold		status = "disabled";
521ca1ce720SJohan Hovold	};
522ca1ce720SJohan Hovold
52332c23138SJohan Hovold	touchpad@2c {
52432c23138SJohan Hovold		compatible = "hid-over-i2c";
52532c23138SJohan Hovold		reg = <0x2c>;
52697cc7ab3SJohan Hovold
52732c23138SJohan Hovold		hid-descr-addr = <0x20>;
52832c23138SJohan Hovold		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
52932c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
53097cc7ab3SJohan Hovold
53197cc7ab3SJohan Hovold		pinctrl-names = "default";
53297cc7ab3SJohan Hovold		pinctrl-0 = <&tpad_default>;
53370934652SJohan Hovold
53470934652SJohan Hovold		wakeup-source;
53532c23138SJohan Hovold	};
53632c23138SJohan Hovold
53732c23138SJohan Hovold	keyboard@68 {
53832c23138SJohan Hovold		compatible = "hid-over-i2c";
53932c23138SJohan Hovold		reg = <0x68>;
54097cc7ab3SJohan Hovold
54132c23138SJohan Hovold		hid-descr-addr = <0x1>;
54232c23138SJohan Hovold		interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
54332c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
54497cc7ab3SJohan Hovold
54597cc7ab3SJohan Hovold		pinctrl-names = "default";
54697cc7ab3SJohan Hovold		pinctrl-0 = <&kybd_default>;
54770934652SJohan Hovold
54870934652SJohan Hovold		wakeup-source;
54932c23138SJohan Hovold	};
55032c23138SJohan Hovold};
55132c23138SJohan Hovold
55232c23138SJohan Hovold&remoteproc_adsp {
55329f894ecSManivannan Sadhasivam	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
55432c23138SJohan Hovold
55532c23138SJohan Hovold	status = "okay";
55632c23138SJohan Hovold};
55732c23138SJohan Hovold
55832c23138SJohan Hovold&remoteproc_nsp0 {
55929f894ecSManivannan Sadhasivam	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";
56032c23138SJohan Hovold
56132c23138SJohan Hovold	status = "okay";
56232c23138SJohan Hovold};
56332c23138SJohan Hovold
56432c23138SJohan Hovold&usb_0 {
56532c23138SJohan Hovold	status = "okay";
56632c23138SJohan Hovold};
56732c23138SJohan Hovold
56832c23138SJohan Hovold&usb_0_dwc3 {
56932c23138SJohan Hovold	/* TODO: Define USB-C connector properly */
57032c23138SJohan Hovold	dr_mode = "host";
57132c23138SJohan Hovold};
57232c23138SJohan Hovold
57332c23138SJohan Hovold&usb_0_hsphy {
57432c23138SJohan Hovold	vdda-pll-supply = <&vreg_l9d>;
57532c23138SJohan Hovold	vdda18-supply = <&vreg_l1c>;
57632c23138SJohan Hovold	vdda33-supply = <&vreg_l7d>;
57732c23138SJohan Hovold
57832c23138SJohan Hovold	status = "okay";
57932c23138SJohan Hovold};
58032c23138SJohan Hovold
58132c23138SJohan Hovold&usb_0_qmpphy {
58232c23138SJohan Hovold	vdda-phy-supply = <&vreg_l9d>;
58332c23138SJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
58432c23138SJohan Hovold
58532c23138SJohan Hovold	status = "okay";
58632c23138SJohan Hovold};
58732c23138SJohan Hovold
58832c23138SJohan Hovold&usb_1 {
58932c23138SJohan Hovold	status = "okay";
59032c23138SJohan Hovold};
59132c23138SJohan Hovold
59232c23138SJohan Hovold&usb_1_dwc3 {
59332c23138SJohan Hovold	/* TODO: Define USB-C connector properly */
59432c23138SJohan Hovold	dr_mode = "host";
59532c23138SJohan Hovold};
59632c23138SJohan Hovold
59732c23138SJohan Hovold&usb_1_hsphy {
59832c23138SJohan Hovold	vdda-pll-supply = <&vreg_l4b>;
59932c23138SJohan Hovold	vdda18-supply = <&vreg_l1c>;
60032c23138SJohan Hovold	vdda33-supply = <&vreg_l13c>;
60132c23138SJohan Hovold
60232c23138SJohan Hovold	status = "okay";
60332c23138SJohan Hovold};
60432c23138SJohan Hovold
60532c23138SJohan Hovold&usb_1_qmpphy {
60632c23138SJohan Hovold	vdda-phy-supply = <&vreg_l4b>;
60732c23138SJohan Hovold	vdda-pll-supply = <&vreg_l3b>;
60832c23138SJohan Hovold
60932c23138SJohan Hovold	status = "okay";
61032c23138SJohan Hovold};
61132c23138SJohan Hovold
61232c23138SJohan Hovold&xo_board_clk {
61332c23138SJohan Hovold	clock-frequency = <38400000>;
61432c23138SJohan Hovold};
61532c23138SJohan Hovold
61632c23138SJohan Hovold/* PINCTRL */
61732c23138SJohan Hovold
61832c23138SJohan Hovold&pmc8280_1_gpios {
61932c23138SJohan Hovold	edp_bl_en: edp-bl-en-state {
62032c23138SJohan Hovold		pins = "gpio8";
62132c23138SJohan Hovold		function = "normal";
62232c23138SJohan Hovold	};
62332c23138SJohan Hovold
62432c23138SJohan Hovold	edp_bl_reg_en: edp-bl-reg-en-state {
62532c23138SJohan Hovold		pins = "gpio9";
62632c23138SJohan Hovold		function = "normal";
62732c23138SJohan Hovold	};
62832c23138SJohan Hovold
62932c23138SJohan Hovold	misc_3p3_reg_en: misc-3p3-reg-en-state {
63032c23138SJohan Hovold		pins = "gpio1";
63132c23138SJohan Hovold		function = "normal";
63232c23138SJohan Hovold	};
63332c23138SJohan Hovold};
63432c23138SJohan Hovold
635*176d54acSJohan Hovold&pmc8280_2_gpios {
636*176d54acSJohan Hovold	wwan_sw_en: wwan-sw-en-state {
637*176d54acSJohan Hovold		pins = "gpio1";
638*176d54acSJohan Hovold		function = "normal";
639*176d54acSJohan Hovold	};
640*176d54acSJohan Hovold};
641*176d54acSJohan Hovold
64232c23138SJohan Hovold&pmc8280c_gpios {
64332c23138SJohan Hovold	edp_bl_pwm: edp-bl-pwm-state {
64432c23138SJohan Hovold		pins = "gpio8";
64532c23138SJohan Hovold		function = "func1";
64632c23138SJohan Hovold	};
64732c23138SJohan Hovold};
64832c23138SJohan Hovold
64932c23138SJohan Hovold&tlmm {
65032c23138SJohan Hovold	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
65132c23138SJohan Hovold
652a607fe5eSBjorn Andersson	hall_int_n_default: hall-int-n-state {
653a607fe5eSBjorn Andersson		pins = "gpio107";
654a607fe5eSBjorn Andersson		function = "gpio";
655a607fe5eSBjorn Andersson		input-enable;
656a607fe5eSBjorn Andersson		bias-disable;
657a607fe5eSBjorn Andersson	};
658a607fe5eSBjorn Andersson
65932c23138SJohan Hovold	kybd_default: kybd-default-state {
66091c4431bSKrzysztof Kozlowski		disable-pins {
66132c23138SJohan Hovold			pins = "gpio102";
66232c23138SJohan Hovold			function = "gpio";
66332c23138SJohan Hovold			output-low;
66432c23138SJohan Hovold		};
66532c23138SJohan Hovold
66691c4431bSKrzysztof Kozlowski		int-n-pins {
66732c23138SJohan Hovold			pins = "gpio104";
66832c23138SJohan Hovold			function = "gpio";
66932c23138SJohan Hovold			bias-disable;
67032c23138SJohan Hovold		};
67132c23138SJohan Hovold
67291c4431bSKrzysztof Kozlowski		reset-pins {
67332c23138SJohan Hovold			pins = "gpio105";
67432c23138SJohan Hovold			function = "gpio";
67532c23138SJohan Hovold			bias-disable;
67632c23138SJohan Hovold		};
67732c23138SJohan Hovold	};
67832c23138SJohan Hovold
679b4bb952eSJohan Hovold	nvme_reg_en: nvme-reg-en-state {
680b4bb952eSJohan Hovold		pins = "gpio135";
681b4bb952eSJohan Hovold		function = "gpio";
682b4bb952eSJohan Hovold		drive-strength = <2>;
683b4bb952eSJohan Hovold		bias-disable;
684b4bb952eSJohan Hovold	};
685b4bb952eSJohan Hovold
686b4bb952eSJohan Hovold	pcie2a_default: pcie2a-default-state {
687b4bb952eSJohan Hovold		clkreq-n-pins {
688b4bb952eSJohan Hovold			pins = "gpio142";
689b4bb952eSJohan Hovold			function = "pcie2a_clkreq";
690b4bb952eSJohan Hovold			drive-strength = <2>;
691b4bb952eSJohan Hovold			bias-pull-up;
692b4bb952eSJohan Hovold		};
693b4bb952eSJohan Hovold
694b4bb952eSJohan Hovold		perst-n-pins {
695b4bb952eSJohan Hovold			pins = "gpio143";
696b4bb952eSJohan Hovold			function = "gpio";
697b4bb952eSJohan Hovold			drive-strength = <2>;
698b4bb952eSJohan Hovold			bias-pull-down;
699b4bb952eSJohan Hovold		};
700b4bb952eSJohan Hovold
701b4bb952eSJohan Hovold		wake-n-pins {
702b4bb952eSJohan Hovold		       pins = "gpio145";
703b4bb952eSJohan Hovold		       function = "gpio";
704b4bb952eSJohan Hovold		       drive-strength = <2>;
705b4bb952eSJohan Hovold		       bias-pull-up;
706b4bb952eSJohan Hovold	       };
707b4bb952eSJohan Hovold	};
708b4bb952eSJohan Hovold
709*176d54acSJohan Hovold	pcie3a_default: pcie3a-default-state {
710*176d54acSJohan Hovold		clkreq-n-pins {
711*176d54acSJohan Hovold			pins = "gpio150";
712*176d54acSJohan Hovold			function = "pcie3a_clkreq";
713*176d54acSJohan Hovold			drive-strength = <2>;
714*176d54acSJohan Hovold			bias-pull-up;
715*176d54acSJohan Hovold		};
716*176d54acSJohan Hovold
717*176d54acSJohan Hovold		perst-n-pins {
718*176d54acSJohan Hovold			pins = "gpio151";
719*176d54acSJohan Hovold			function = "gpio";
720*176d54acSJohan Hovold			drive-strength = <2>;
721*176d54acSJohan Hovold			bias-pull-down;
722*176d54acSJohan Hovold		};
723*176d54acSJohan Hovold
724*176d54acSJohan Hovold		wake-n-pins {
725*176d54acSJohan Hovold			pins = "gpio148";
726*176d54acSJohan Hovold			function = "gpio";
727*176d54acSJohan Hovold			drive-strength = <2>;
728*176d54acSJohan Hovold			bias-pull-up;
729*176d54acSJohan Hovold		};
730*176d54acSJohan Hovold	};
731*176d54acSJohan Hovold
73232c23138SJohan Hovold	qup0_i2c4_default: qup0-i2c4-default-state {
73332c23138SJohan Hovold		pins = "gpio171", "gpio172";
73432c23138SJohan Hovold		function = "qup4";
73532c23138SJohan Hovold		bias-disable;
73632c23138SJohan Hovold		drive-strength = <16>;
73732c23138SJohan Hovold	};
73832c23138SJohan Hovold
73932c23138SJohan Hovold	qup2_i2c5_default: qup2-i2c5-default-state {
74032c23138SJohan Hovold		pins = "gpio81", "gpio82";
74132c23138SJohan Hovold		function = "qup21";
74232c23138SJohan Hovold		bias-disable;
74332c23138SJohan Hovold		drive-strength = <16>;
74432c23138SJohan Hovold	};
74532c23138SJohan Hovold
74632c23138SJohan Hovold	tpad_default: tpad-default-state {
74791c4431bSKrzysztof Kozlowski		int-n-pins {
74832c23138SJohan Hovold			pins = "gpio182";
74932c23138SJohan Hovold			function = "gpio";
75032c23138SJohan Hovold			bias-disable;
75132c23138SJohan Hovold		};
75232c23138SJohan Hovold	};
75332c23138SJohan Hovold
75432c23138SJohan Hovold	ts0_default: ts0-default-state {
75591c4431bSKrzysztof Kozlowski		int-n-pins {
75632c23138SJohan Hovold			pins = "gpio175";
75732c23138SJohan Hovold			function = "gpio";
758e11978deSJohan Hovold			bias-disable;
75932c23138SJohan Hovold		};
76032c23138SJohan Hovold
76191c4431bSKrzysztof Kozlowski		reset-n-pins {
76232c23138SJohan Hovold			pins = "gpio99";
76332c23138SJohan Hovold			function = "gpio";
76432c23138SJohan Hovold			output-high;
76532c23138SJohan Hovold			drive-strength = <16>;
76632c23138SJohan Hovold		};
76732c23138SJohan Hovold	};
76832c23138SJohan Hovold};
769