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	};
127*b4bb952eSJohan Hovold
128*b4bb952eSJohan Hovold	vreg_nvme: regulator-nvme {
129*b4bb952eSJohan Hovold		compatible = "regulator-fixed";
130*b4bb952eSJohan Hovold
131*b4bb952eSJohan Hovold		regulator-name = "VCC3_SSD";
132*b4bb952eSJohan Hovold		regulator-min-microvolt = <3300000>;
133*b4bb952eSJohan Hovold		regulator-max-microvolt = <3300000>;
134*b4bb952eSJohan Hovold
135*b4bb952eSJohan Hovold		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
136*b4bb952eSJohan Hovold		enable-active-high;
137*b4bb952eSJohan Hovold
138*b4bb952eSJohan Hovold		pinctrl-names = "default";
139*b4bb952eSJohan Hovold		pinctrl-0 = <&nvme_reg_en>;
140*b4bb952eSJohan Hovold
141*b4bb952eSJohan Hovold		regulator-boot-on;
142*b4bb952eSJohan Hovold	};
14332c23138SJohan Hovold};
14432c23138SJohan Hovold
14532c23138SJohan Hovold&apps_rsc {
14632c23138SJohan Hovold	pmc8280-1-rpmh-regulators {
14732c23138SJohan Hovold		compatible = "qcom,pm8350-rpmh-regulators";
14832c23138SJohan Hovold		qcom,pmic-id = "b";
14932c23138SJohan Hovold
15032c23138SJohan Hovold		vdd-l3-l5-supply = <&vreg_s11b>;
15132c23138SJohan Hovold
15232c23138SJohan Hovold		vreg_s11b: smps11 {
15332c23138SJohan Hovold			regulator-name = "vreg_s11b";
15432c23138SJohan Hovold			regulator-min-microvolt = <1272000>;
15532c23138SJohan Hovold			regulator-max-microvolt = <1272000>;
15632c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15732c23138SJohan Hovold		};
15832c23138SJohan Hovold
15932c23138SJohan Hovold		vreg_l3b: ldo3 {
16032c23138SJohan Hovold			regulator-name = "vreg_l3b";
16132c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
16232c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
16332c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16432c23138SJohan Hovold			regulator-boot-on;
16532c23138SJohan Hovold		};
16632c23138SJohan Hovold
16732c23138SJohan Hovold		vreg_l4b: ldo4 {
16832c23138SJohan Hovold			regulator-name = "vreg_l4b";
16932c23138SJohan Hovold			regulator-min-microvolt = <912000>;
17032c23138SJohan Hovold			regulator-max-microvolt = <912000>;
17132c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
17232c23138SJohan Hovold		};
17332c23138SJohan Hovold
17432c23138SJohan Hovold		vreg_l6b: ldo6 {
17532c23138SJohan Hovold			regulator-name = "vreg_l6b";
17632c23138SJohan Hovold			regulator-min-microvolt = <880000>;
17732c23138SJohan Hovold			regulator-max-microvolt = <880000>;
17832c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
17932c23138SJohan Hovold			regulator-boot-on;
180b47fac7aSKonrad Dybcio			regulator-always-on;	/* FIXME: VDD_A_EDP_0_0P9 */
18132c23138SJohan Hovold		};
18232c23138SJohan Hovold	};
18332c23138SJohan Hovold
18432c23138SJohan Hovold	pmc8280c-rpmh-regulators {
18532c23138SJohan Hovold		compatible = "qcom,pm8350c-rpmh-regulators";
18632c23138SJohan Hovold		qcom,pmic-id = "c";
18732c23138SJohan Hovold
18832c23138SJohan Hovold		vreg_l1c: ldo1 {
18932c23138SJohan Hovold			regulator-name = "vreg_l1c";
19032c23138SJohan Hovold			regulator-min-microvolt = <1800000>;
19132c23138SJohan Hovold			regulator-max-microvolt = <1800000>;
19232c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19332c23138SJohan Hovold		};
19432c23138SJohan Hovold
19532c23138SJohan Hovold		vreg_l12c: ldo12 {
19632c23138SJohan Hovold			regulator-name = "vreg_l12c";
19732c23138SJohan Hovold			regulator-min-microvolt = <1800000>;
19832c23138SJohan Hovold			regulator-max-microvolt = <1800000>;
19932c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20032c23138SJohan Hovold		};
20132c23138SJohan Hovold
20232c23138SJohan Hovold		vreg_l13c: ldo13 {
20332c23138SJohan Hovold			regulator-name = "vreg_l13c";
20432c23138SJohan Hovold			regulator-min-microvolt = <3072000>;
20532c23138SJohan Hovold			regulator-max-microvolt = <3072000>;
20632c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20732c23138SJohan Hovold		};
20832c23138SJohan Hovold	};
20932c23138SJohan Hovold
21032c23138SJohan Hovold	pmc8280-2-rpmh-regulators {
21132c23138SJohan Hovold		compatible = "qcom,pm8350-rpmh-regulators";
21232c23138SJohan Hovold		qcom,pmic-id = "d";
21332c23138SJohan Hovold
21432c23138SJohan Hovold		vdd-l1-l4-supply = <&vreg_s11b>;
21532c23138SJohan Hovold
21632c23138SJohan Hovold		vreg_l3d: ldo3 {
21732c23138SJohan Hovold			regulator-name = "vreg_l3d";
21832c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
21932c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
22032c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22132c23138SJohan Hovold		};
22232c23138SJohan Hovold
22332c23138SJohan Hovold		vreg_l4d: ldo4 {
22432c23138SJohan Hovold			regulator-name = "vreg_l4d";
22532c23138SJohan Hovold			regulator-min-microvolt = <1200000>;
22632c23138SJohan Hovold			regulator-max-microvolt = <1200000>;
22732c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22832c23138SJohan Hovold		};
22932c23138SJohan Hovold
230*b4bb952eSJohan Hovold		vreg_l6d: ldo6 {
231*b4bb952eSJohan Hovold			regulator-name = "vreg_l6d";
232*b4bb952eSJohan Hovold			regulator-min-microvolt = <880000>;
233*b4bb952eSJohan Hovold			regulator-max-microvolt = <880000>;
234*b4bb952eSJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235*b4bb952eSJohan Hovold		};
236*b4bb952eSJohan Hovold
23732c23138SJohan Hovold		vreg_l7d: ldo7 {
23832c23138SJohan Hovold			regulator-name = "vreg_l7d";
23932c23138SJohan Hovold			regulator-min-microvolt = <3072000>;
24032c23138SJohan Hovold			regulator-max-microvolt = <3072000>;
24132c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24232c23138SJohan Hovold		};
24332c23138SJohan Hovold
24432c23138SJohan Hovold		vreg_l9d: ldo9 {
24532c23138SJohan Hovold			regulator-name = "vreg_l9d";
24632c23138SJohan Hovold			regulator-min-microvolt = <912000>;
24732c23138SJohan Hovold			regulator-max-microvolt = <912000>;
24832c23138SJohan Hovold			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24932c23138SJohan Hovold		};
25032c23138SJohan Hovold	};
25132c23138SJohan Hovold};
25232c23138SJohan Hovold
253*b4bb952eSJohan Hovold&pcie2a {
254*b4bb952eSJohan Hovold	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
255*b4bb952eSJohan Hovold	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
256*b4bb952eSJohan Hovold
257*b4bb952eSJohan Hovold	vddpe-3v3-supply = <&vreg_nvme>;
258*b4bb952eSJohan Hovold
259*b4bb952eSJohan Hovold	pinctrl-names = "default";
260*b4bb952eSJohan Hovold	pinctrl-0 = <&pcie2a_default>;
261*b4bb952eSJohan Hovold
262*b4bb952eSJohan Hovold	status = "okay";
263*b4bb952eSJohan Hovold};
264*b4bb952eSJohan Hovold
265*b4bb952eSJohan Hovold&pcie2a_phy {
266*b4bb952eSJohan Hovold	vdda-phy-supply = <&vreg_l6d>;
267*b4bb952eSJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
268*b4bb952eSJohan Hovold
269*b4bb952eSJohan Hovold	status = "okay";
270*b4bb952eSJohan Hovold};
271*b4bb952eSJohan Hovold
27232c23138SJohan Hovold&pmc8280c_lpg {
27332c23138SJohan Hovold	status = "okay";
27432c23138SJohan Hovold};
27532c23138SJohan Hovold
2767c015134SManivannan Sadhasivam&pmk8280_adc_tm {
2777c015134SManivannan Sadhasivam	status = "okay";
2787c015134SManivannan Sadhasivam
2797c015134SManivannan Sadhasivam	sys-therm@0 {
2807c015134SManivannan Sadhasivam		reg = <0>;
2817c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
2827c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
2837c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
2847c015134SManivannan Sadhasivam		qcom,ratiometric;
2857c015134SManivannan Sadhasivam	};
2867c015134SManivannan Sadhasivam
2877c015134SManivannan Sadhasivam	sys-therm@1 {
2887c015134SManivannan Sadhasivam		reg = <1>;
2897c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
2907c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
2917c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
2927c015134SManivannan Sadhasivam		qcom,ratiometric;
2937c015134SManivannan Sadhasivam	};
2947c015134SManivannan Sadhasivam
2957c015134SManivannan Sadhasivam	sys-therm@2 {
2967c015134SManivannan Sadhasivam		reg = <2>;
2977c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
2987c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
2997c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3007c015134SManivannan Sadhasivam		qcom,ratiometric;
3017c015134SManivannan Sadhasivam	};
3027c015134SManivannan Sadhasivam
3037c015134SManivannan Sadhasivam	sys-therm@3 {
3047c015134SManivannan Sadhasivam		reg = <3>;
3057c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
3067c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3077c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3087c015134SManivannan Sadhasivam		qcom,ratiometric;
3097c015134SManivannan Sadhasivam	};
3107c015134SManivannan Sadhasivam
3117c015134SManivannan Sadhasivam	sys-therm@4 {
3127c015134SManivannan Sadhasivam		reg = <4>;
3137c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
3147c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3157c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3167c015134SManivannan Sadhasivam		qcom,ratiometric;
3177c015134SManivannan Sadhasivam	};
3187c015134SManivannan Sadhasivam
3197c015134SManivannan Sadhasivam	sys-therm@5 {
3207c015134SManivannan Sadhasivam		reg = <5>;
3217c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
3227c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3237c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3247c015134SManivannan Sadhasivam		qcom,ratiometric;
3257c015134SManivannan Sadhasivam	};
3267c015134SManivannan Sadhasivam
3277c015134SManivannan Sadhasivam	sys-therm@6 {
3287c015134SManivannan Sadhasivam		reg = <6>;
3297c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
3307c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3317c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3327c015134SManivannan Sadhasivam		qcom,ratiometric;
3337c015134SManivannan Sadhasivam	};
3347c015134SManivannan Sadhasivam
3357c015134SManivannan Sadhasivam	sys-therm@7 {
3367c015134SManivannan Sadhasivam		reg = <7>;
3377c015134SManivannan Sadhasivam		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
3387c015134SManivannan Sadhasivam		qcom,hw-settle-time-us = <200>;
3397c015134SManivannan Sadhasivam		qcom,avg-samples = <2>;
3407c015134SManivannan Sadhasivam		qcom,ratiometric;
3417c015134SManivannan Sadhasivam	};
3427c015134SManivannan Sadhasivam};
3437c015134SManivannan Sadhasivam
34432c23138SJohan Hovold&pmk8280_pon_pwrkey {
34532c23138SJohan Hovold	status = "okay";
34632c23138SJohan Hovold};
34732c23138SJohan Hovold
3487858c676SManivannan Sadhasivam&pmk8280_pon_resin {
3497858c676SManivannan Sadhasivam	status = "okay";
3507858c676SManivannan Sadhasivam};
3517858c676SManivannan Sadhasivam
3529a6b3042SManivannan Sadhasivam&pmk8280_vadc {
3539a6b3042SManivannan Sadhasivam	status = "okay";
3549a6b3042SManivannan Sadhasivam
3559a6b3042SManivannan Sadhasivam	pmic-die-temp@3 {
3569a6b3042SManivannan Sadhasivam		reg = <PMK8350_ADC7_DIE_TEMP>;
3579a6b3042SManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
3589a6b3042SManivannan Sadhasivam	};
3599a6b3042SManivannan Sadhasivam
3609a6b3042SManivannan Sadhasivam	xo-therm@44 {
3619a6b3042SManivannan Sadhasivam		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
3629a6b3042SManivannan Sadhasivam		qcom,hw-settle-time = <200>;
3639a6b3042SManivannan Sadhasivam		qcom,ratiometric;
3649a6b3042SManivannan Sadhasivam	};
3653375151aSManivannan Sadhasivam
3663375151aSManivannan Sadhasivam	pmic-die-temp@103 {
3673375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_DIE_TEMP(1)>;
3683375151aSManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
3693375151aSManivannan Sadhasivam	};
3703375151aSManivannan Sadhasivam
3713375151aSManivannan Sadhasivam	sys-therm@144 {
3723375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
3733375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
3743375151aSManivannan Sadhasivam		qcom,ratiometric;
3753375151aSManivannan Sadhasivam	};
3763375151aSManivannan Sadhasivam
3773375151aSManivannan Sadhasivam	sys-therm@145 {
3783375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
3793375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
3803375151aSManivannan Sadhasivam		qcom,ratiometric;
3813375151aSManivannan Sadhasivam	};
3823375151aSManivannan Sadhasivam
3833375151aSManivannan Sadhasivam	sys-therm@146 {
3843375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
3853375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
3863375151aSManivannan Sadhasivam		qcom,ratiometric;
3873375151aSManivannan Sadhasivam	};
3883375151aSManivannan Sadhasivam
3893375151aSManivannan Sadhasivam	sys-therm@147 {
3903375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
3913375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
3923375151aSManivannan Sadhasivam		qcom,ratiometric;
3933375151aSManivannan Sadhasivam	};
3943375151aSManivannan Sadhasivam
3953375151aSManivannan Sadhasivam	pmic-die-temp@303 {
3963375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_DIE_TEMP(3)>;
3973375151aSManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
3983375151aSManivannan Sadhasivam	};
3993375151aSManivannan Sadhasivam
4003375151aSManivannan Sadhasivam	sys-therm@344 {
4013375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
4023375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4033375151aSManivannan Sadhasivam		qcom,ratiometric;
4043375151aSManivannan Sadhasivam	};
4053375151aSManivannan Sadhasivam
4063375151aSManivannan Sadhasivam	sys-therm@345 {
4073375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
4083375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4093375151aSManivannan Sadhasivam		qcom,ratiometric;
4103375151aSManivannan Sadhasivam	};
4113375151aSManivannan Sadhasivam
4123375151aSManivannan Sadhasivam	sys-therm@346 {
4133375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
4143375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4153375151aSManivannan Sadhasivam		qcom,ratiometric;
4163375151aSManivannan Sadhasivam	};
4173375151aSManivannan Sadhasivam
4183375151aSManivannan Sadhasivam	sys-therm@347 {
4193375151aSManivannan Sadhasivam		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
4203375151aSManivannan Sadhasivam		qcom,hw-settle-time = <200>;
4213375151aSManivannan Sadhasivam		qcom,ratiometric;
4223375151aSManivannan Sadhasivam	};
4239d41cd17SManivannan Sadhasivam
4249d41cd17SManivannan Sadhasivam	pmic-die-temp@403 {
4259d41cd17SManivannan Sadhasivam		reg = <PMR735A_ADC7_DIE_TEMP>;
4269d41cd17SManivannan Sadhasivam		qcom,pre-scaling = <1 1>;
4279d41cd17SManivannan Sadhasivam	};
4289a6b3042SManivannan Sadhasivam};
4299a6b3042SManivannan Sadhasivam
43032c23138SJohan Hovold&qup0 {
43132c23138SJohan Hovold	status = "okay";
43232c23138SJohan Hovold};
43332c23138SJohan Hovold
43432c23138SJohan Hovold&qup0_i2c4 {
43532c23138SJohan Hovold	clock-frequency = <400000>;
43632c23138SJohan Hovold
43732c23138SJohan Hovold	pinctrl-names = "default";
43897cc7ab3SJohan Hovold	pinctrl-0 = <&qup0_i2c4_default>;
43932c23138SJohan Hovold
44032c23138SJohan Hovold	status = "okay";
44132c23138SJohan Hovold
44232c23138SJohan Hovold	/* FIXME: verify */
44332c23138SJohan Hovold	touchscreen@10 {
44432c23138SJohan Hovold		compatible = "hid-over-i2c";
44532c23138SJohan Hovold		reg = <0x10>;
44697cc7ab3SJohan Hovold
44732c23138SJohan Hovold		hid-descr-addr = <0x1>;
44832c23138SJohan Hovold		interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
44932c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
45097cc7ab3SJohan Hovold
45197cc7ab3SJohan Hovold		pinctrl-names = "default";
45297cc7ab3SJohan Hovold		pinctrl-0 = <&ts0_default>;
45332c23138SJohan Hovold	};
45432c23138SJohan Hovold};
45532c23138SJohan Hovold
45632c23138SJohan Hovold&qup1 {
45732c23138SJohan Hovold	status = "okay";
45832c23138SJohan Hovold};
45932c23138SJohan Hovold
46032c23138SJohan Hovold&qup2 {
46132c23138SJohan Hovold	status = "okay";
46232c23138SJohan Hovold};
46332c23138SJohan Hovold
46432c23138SJohan Hovold&qup2_i2c5 {
46532c23138SJohan Hovold	clock-frequency = <400000>;
46632c23138SJohan Hovold
46732c23138SJohan Hovold	pinctrl-names = "default";
46897cc7ab3SJohan Hovold	pinctrl-0 = <&qup2_i2c5_default>;
46932c23138SJohan Hovold
47032c23138SJohan Hovold	status = "okay";
47132c23138SJohan Hovold
472ca1ce720SJohan Hovold	touchpad@15 {
473ca1ce720SJohan Hovold		compatible = "hid-over-i2c";
474ca1ce720SJohan Hovold		reg = <0x15>;
475ca1ce720SJohan Hovold
476ca1ce720SJohan Hovold		hid-descr-addr = <0x1>;
477ca1ce720SJohan Hovold		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
478ca1ce720SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
479ca1ce720SJohan Hovold
480ca1ce720SJohan Hovold		pinctrl-names = "default";
481ca1ce720SJohan Hovold		pinctrl-0 = <&tpad_default>;
482ca1ce720SJohan Hovold
483ca1ce720SJohan Hovold		wakeup-source;
484ca1ce720SJohan Hovold
485ca1ce720SJohan Hovold		status = "disabled";
486ca1ce720SJohan Hovold	};
487ca1ce720SJohan Hovold
48832c23138SJohan Hovold	touchpad@2c {
48932c23138SJohan Hovold		compatible = "hid-over-i2c";
49032c23138SJohan Hovold		reg = <0x2c>;
49197cc7ab3SJohan Hovold
49232c23138SJohan Hovold		hid-descr-addr = <0x20>;
49332c23138SJohan Hovold		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
49432c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
49597cc7ab3SJohan Hovold
49697cc7ab3SJohan Hovold		pinctrl-names = "default";
49797cc7ab3SJohan Hovold		pinctrl-0 = <&tpad_default>;
49870934652SJohan Hovold
49970934652SJohan Hovold		wakeup-source;
50032c23138SJohan Hovold	};
50132c23138SJohan Hovold
50232c23138SJohan Hovold	keyboard@68 {
50332c23138SJohan Hovold		compatible = "hid-over-i2c";
50432c23138SJohan Hovold		reg = <0x68>;
50597cc7ab3SJohan Hovold
50632c23138SJohan Hovold		hid-descr-addr = <0x1>;
50732c23138SJohan Hovold		interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
50832c23138SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
50997cc7ab3SJohan Hovold
51097cc7ab3SJohan Hovold		pinctrl-names = "default";
51197cc7ab3SJohan Hovold		pinctrl-0 = <&kybd_default>;
51270934652SJohan Hovold
51370934652SJohan Hovold		wakeup-source;
51432c23138SJohan Hovold	};
51532c23138SJohan Hovold};
51632c23138SJohan Hovold
51732c23138SJohan Hovold&remoteproc_adsp {
51829f894ecSManivannan Sadhasivam	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
51932c23138SJohan Hovold
52032c23138SJohan Hovold	status = "okay";
52132c23138SJohan Hovold};
52232c23138SJohan Hovold
52332c23138SJohan Hovold&remoteproc_nsp0 {
52429f894ecSManivannan Sadhasivam	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";
52532c23138SJohan Hovold
52632c23138SJohan Hovold	status = "okay";
52732c23138SJohan Hovold};
52832c23138SJohan Hovold
52932c23138SJohan Hovold&usb_0 {
53032c23138SJohan Hovold	status = "okay";
53132c23138SJohan Hovold};
53232c23138SJohan Hovold
53332c23138SJohan Hovold&usb_0_dwc3 {
53432c23138SJohan Hovold	/* TODO: Define USB-C connector properly */
53532c23138SJohan Hovold	dr_mode = "host";
53632c23138SJohan Hovold};
53732c23138SJohan Hovold
53832c23138SJohan Hovold&usb_0_hsphy {
53932c23138SJohan Hovold	vdda-pll-supply = <&vreg_l9d>;
54032c23138SJohan Hovold	vdda18-supply = <&vreg_l1c>;
54132c23138SJohan Hovold	vdda33-supply = <&vreg_l7d>;
54232c23138SJohan Hovold
54332c23138SJohan Hovold	status = "okay";
54432c23138SJohan Hovold};
54532c23138SJohan Hovold
54632c23138SJohan Hovold&usb_0_qmpphy {
54732c23138SJohan Hovold	vdda-phy-supply = <&vreg_l9d>;
54832c23138SJohan Hovold	vdda-pll-supply = <&vreg_l4d>;
54932c23138SJohan Hovold
55032c23138SJohan Hovold	status = "okay";
55132c23138SJohan Hovold};
55232c23138SJohan Hovold
55332c23138SJohan Hovold&usb_1 {
55432c23138SJohan Hovold	status = "okay";
55532c23138SJohan Hovold};
55632c23138SJohan Hovold
55732c23138SJohan Hovold&usb_1_dwc3 {
55832c23138SJohan Hovold	/* TODO: Define USB-C connector properly */
55932c23138SJohan Hovold	dr_mode = "host";
56032c23138SJohan Hovold};
56132c23138SJohan Hovold
56232c23138SJohan Hovold&usb_1_hsphy {
56332c23138SJohan Hovold	vdda-pll-supply = <&vreg_l4b>;
56432c23138SJohan Hovold	vdda18-supply = <&vreg_l1c>;
56532c23138SJohan Hovold	vdda33-supply = <&vreg_l13c>;
56632c23138SJohan Hovold
56732c23138SJohan Hovold	status = "okay";
56832c23138SJohan Hovold};
56932c23138SJohan Hovold
57032c23138SJohan Hovold&usb_1_qmpphy {
57132c23138SJohan Hovold	vdda-phy-supply = <&vreg_l4b>;
57232c23138SJohan Hovold	vdda-pll-supply = <&vreg_l3b>;
57332c23138SJohan Hovold
57432c23138SJohan Hovold	status = "okay";
57532c23138SJohan Hovold};
57632c23138SJohan Hovold
57732c23138SJohan Hovold&xo_board_clk {
57832c23138SJohan Hovold	clock-frequency = <38400000>;
57932c23138SJohan Hovold};
58032c23138SJohan Hovold
58132c23138SJohan Hovold/* PINCTRL */
58232c23138SJohan Hovold
58332c23138SJohan Hovold&pmc8280_1_gpios {
58432c23138SJohan Hovold	edp_bl_en: edp-bl-en-state {
58532c23138SJohan Hovold		pins = "gpio8";
58632c23138SJohan Hovold		function = "normal";
58732c23138SJohan Hovold	};
58832c23138SJohan Hovold
58932c23138SJohan Hovold	edp_bl_reg_en: edp-bl-reg-en-state {
59032c23138SJohan Hovold		pins = "gpio9";
59132c23138SJohan Hovold		function = "normal";
59232c23138SJohan Hovold	};
59332c23138SJohan Hovold
59432c23138SJohan Hovold	misc_3p3_reg_en: misc-3p3-reg-en-state {
59532c23138SJohan Hovold		pins = "gpio1";
59632c23138SJohan Hovold		function = "normal";
59732c23138SJohan Hovold	};
59832c23138SJohan Hovold};
59932c23138SJohan Hovold
60032c23138SJohan Hovold&pmc8280c_gpios {
60132c23138SJohan Hovold	edp_bl_pwm: edp-bl-pwm-state {
60232c23138SJohan Hovold		pins = "gpio8";
60332c23138SJohan Hovold		function = "func1";
60432c23138SJohan Hovold	};
60532c23138SJohan Hovold};
60632c23138SJohan Hovold
60732c23138SJohan Hovold&tlmm {
60832c23138SJohan Hovold	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
60932c23138SJohan Hovold
610a607fe5eSBjorn Andersson	hall_int_n_default: hall-int-n-state {
611a607fe5eSBjorn Andersson		pins = "gpio107";
612a607fe5eSBjorn Andersson		function = "gpio";
613a607fe5eSBjorn Andersson		input-enable;
614a607fe5eSBjorn Andersson		bias-disable;
615a607fe5eSBjorn Andersson	};
616a607fe5eSBjorn Andersson
61732c23138SJohan Hovold	kybd_default: kybd-default-state {
61891c4431bSKrzysztof Kozlowski		disable-pins {
61932c23138SJohan Hovold			pins = "gpio102";
62032c23138SJohan Hovold			function = "gpio";
62132c23138SJohan Hovold			output-low;
62232c23138SJohan Hovold		};
62332c23138SJohan Hovold
62491c4431bSKrzysztof Kozlowski		int-n-pins {
62532c23138SJohan Hovold			pins = "gpio104";
62632c23138SJohan Hovold			function = "gpio";
62732c23138SJohan Hovold			bias-disable;
62832c23138SJohan Hovold		};
62932c23138SJohan Hovold
63091c4431bSKrzysztof Kozlowski		reset-pins {
63132c23138SJohan Hovold			pins = "gpio105";
63232c23138SJohan Hovold			function = "gpio";
63332c23138SJohan Hovold			bias-disable;
63432c23138SJohan Hovold		};
63532c23138SJohan Hovold	};
63632c23138SJohan Hovold
637*b4bb952eSJohan Hovold	nvme_reg_en: nvme-reg-en-state {
638*b4bb952eSJohan Hovold		pins = "gpio135";
639*b4bb952eSJohan Hovold		function = "gpio";
640*b4bb952eSJohan Hovold		drive-strength = <2>;
641*b4bb952eSJohan Hovold		bias-disable;
642*b4bb952eSJohan Hovold	};
643*b4bb952eSJohan Hovold
644*b4bb952eSJohan Hovold	pcie2a_default: pcie2a-default-state {
645*b4bb952eSJohan Hovold		clkreq-n-pins {
646*b4bb952eSJohan Hovold			pins = "gpio142";
647*b4bb952eSJohan Hovold			function = "pcie2a_clkreq";
648*b4bb952eSJohan Hovold			drive-strength = <2>;
649*b4bb952eSJohan Hovold			bias-pull-up;
650*b4bb952eSJohan Hovold		};
651*b4bb952eSJohan Hovold
652*b4bb952eSJohan Hovold		perst-n-pins {
653*b4bb952eSJohan Hovold			pins = "gpio143";
654*b4bb952eSJohan Hovold			function = "gpio";
655*b4bb952eSJohan Hovold			drive-strength = <2>;
656*b4bb952eSJohan Hovold			bias-pull-down;
657*b4bb952eSJohan Hovold		};
658*b4bb952eSJohan Hovold
659*b4bb952eSJohan Hovold		wake-n-pins {
660*b4bb952eSJohan Hovold		       pins = "gpio145";
661*b4bb952eSJohan Hovold		       function = "gpio";
662*b4bb952eSJohan Hovold		       drive-strength = <2>;
663*b4bb952eSJohan Hovold		       bias-pull-up;
664*b4bb952eSJohan Hovold	       };
665*b4bb952eSJohan Hovold	};
666*b4bb952eSJohan Hovold
66732c23138SJohan Hovold	qup0_i2c4_default: qup0-i2c4-default-state {
66832c23138SJohan Hovold		pins = "gpio171", "gpio172";
66932c23138SJohan Hovold		function = "qup4";
67032c23138SJohan Hovold		bias-disable;
67132c23138SJohan Hovold		drive-strength = <16>;
67232c23138SJohan Hovold	};
67332c23138SJohan Hovold
67432c23138SJohan Hovold	qup2_i2c5_default: qup2-i2c5-default-state {
67532c23138SJohan Hovold		pins = "gpio81", "gpio82";
67632c23138SJohan Hovold		function = "qup21";
67732c23138SJohan Hovold		bias-disable;
67832c23138SJohan Hovold		drive-strength = <16>;
67932c23138SJohan Hovold	};
68032c23138SJohan Hovold
68132c23138SJohan Hovold	tpad_default: tpad-default-state {
68291c4431bSKrzysztof Kozlowski		int-n-pins {
68332c23138SJohan Hovold			pins = "gpio182";
68432c23138SJohan Hovold			function = "gpio";
68532c23138SJohan Hovold			bias-disable;
68632c23138SJohan Hovold		};
68732c23138SJohan Hovold	};
68832c23138SJohan Hovold
68932c23138SJohan Hovold	ts0_default: ts0-default-state {
69091c4431bSKrzysztof Kozlowski		int-n-pins {
69132c23138SJohan Hovold			pins = "gpio175";
69232c23138SJohan Hovold			function = "gpio";
693e11978deSJohan Hovold			bias-disable;
69432c23138SJohan Hovold		};
69532c23138SJohan Hovold
69691c4431bSKrzysztof Kozlowski		reset-n-pins {
69732c23138SJohan Hovold			pins = "gpio99";
69832c23138SJohan Hovold			function = "gpio";
69932c23138SJohan Hovold			output-high;
70032c23138SJohan Hovold			drive-strength = <16>;
70132c23138SJohan Hovold		};
70232c23138SJohan Hovold	};
70332c23138SJohan Hovold};
704