xref: /linux/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
131eff589SAbel Vesa// SPDX-License-Identifier: BSD-3-Clause
231eff589SAbel Vesa/*
331eff589SAbel Vesa * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
431eff589SAbel Vesa * Copyright (c) 2024, Linaro Limited
531eff589SAbel Vesa */
631eff589SAbel Vesa
731eff589SAbel Vesa/dts-v1/;
831eff589SAbel Vesa
931eff589SAbel Vesa#include <dt-bindings/gpio/gpio.h>
1031eff589SAbel Vesa#include <dt-bindings/input/gpio-keys.h>
1131eff589SAbel Vesa#include <dt-bindings/input/input.h>
1255e52d05SJohan Hovold#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
1331eff589SAbel Vesa#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1431eff589SAbel Vesa
1531eff589SAbel Vesa#include "x1e80100.dtsi"
1631eff589SAbel Vesa#include "x1e80100-pmics.dtsi"
1731eff589SAbel Vesa
1831eff589SAbel Vesa/ {
1931eff589SAbel Vesa	model = "Lenovo ThinkPad T14s Gen 6";
2031eff589SAbel Vesa	compatible = "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100";
2131eff589SAbel Vesa	chassis-type = "laptop";
2231eff589SAbel Vesa
2331eff589SAbel Vesa	wcd938x: audio-codec {
2431eff589SAbel Vesa		compatible = "qcom,wcd9385-codec";
2531eff589SAbel Vesa
2631eff589SAbel Vesa		pinctrl-0 = <&wcd_default>;
2731eff589SAbel Vesa		pinctrl-names = "default";
2831eff589SAbel Vesa
2931eff589SAbel Vesa		qcom,micbias1-microvolt = <1800000>;
3031eff589SAbel Vesa		qcom,micbias2-microvolt = <1800000>;
3131eff589SAbel Vesa		qcom,micbias3-microvolt = <1800000>;
3231eff589SAbel Vesa		qcom,micbias4-microvolt = <1800000>;
3331eff589SAbel Vesa		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
3431eff589SAbel Vesa		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
3531eff589SAbel Vesa		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
3631eff589SAbel Vesa		qcom,rx-device = <&wcd_rx>;
3731eff589SAbel Vesa		qcom,tx-device = <&wcd_tx>;
3831eff589SAbel Vesa
3931eff589SAbel Vesa		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
40*5603525eSSrinivas Kandagatla		mux-controls = <&us_euro_mux_ctrl>;
4131eff589SAbel Vesa
4231eff589SAbel Vesa		vdd-buck-supply = <&vreg_l15b_1p8>;
4331eff589SAbel Vesa		vdd-rxtx-supply = <&vreg_l15b_1p8>;
4431eff589SAbel Vesa		vdd-io-supply = <&vreg_l15b_1p8>;
4531eff589SAbel Vesa		vdd-mic-bias-supply = <&vreg_bob1>;
4631eff589SAbel Vesa
4731eff589SAbel Vesa		#sound-dai-cells = <1>;
4831eff589SAbel Vesa	};
4931eff589SAbel Vesa
5031eff589SAbel Vesa	gpio-keys {
5131eff589SAbel Vesa		compatible = "gpio-keys";
5231eff589SAbel Vesa
5331eff589SAbel Vesa		pinctrl-0 = <&hall_int_n_default>;
5431eff589SAbel Vesa		pinctrl-names = "default";
5531eff589SAbel Vesa
5631eff589SAbel Vesa		switch-lid {
5731eff589SAbel Vesa			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
5831eff589SAbel Vesa			linux,input-type = <EV_SW>;
5931eff589SAbel Vesa			linux,code = <SW_LID>;
6031eff589SAbel Vesa			wakeup-source;
6131eff589SAbel Vesa			wakeup-event-action = <EV_ACT_DEASSERTED>;
6231eff589SAbel Vesa		};
6331eff589SAbel Vesa	};
6431eff589SAbel Vesa
6531eff589SAbel Vesa	pmic-glink {
6631eff589SAbel Vesa		compatible = "qcom,x1e80100-pmic-glink",
6731eff589SAbel Vesa			     "qcom,sm8550-pmic-glink",
6831eff589SAbel Vesa			     "qcom,pmic-glink";
6931eff589SAbel Vesa		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
7031eff589SAbel Vesa				    <&tlmm 123 GPIO_ACTIVE_HIGH>;
7131eff589SAbel Vesa		#address-cells = <1>;
7231eff589SAbel Vesa		#size-cells = <0>;
7331eff589SAbel Vesa
7431eff589SAbel Vesa		/* Display-adjacent port */
7531eff589SAbel Vesa		connector@0 {
7631eff589SAbel Vesa			compatible = "usb-c-connector";
7731eff589SAbel Vesa			reg = <0>;
7831eff589SAbel Vesa			power-role = "dual";
7931eff589SAbel Vesa			data-role = "dual";
8031eff589SAbel Vesa
8131eff589SAbel Vesa			ports {
8231eff589SAbel Vesa				#address-cells = <1>;
8331eff589SAbel Vesa				#size-cells = <0>;
8431eff589SAbel Vesa
8531eff589SAbel Vesa				port@0 {
8631eff589SAbel Vesa					reg = <0>;
8731eff589SAbel Vesa
8831eff589SAbel Vesa					pmic_glink_ss0_hs_in: endpoint {
8931eff589SAbel Vesa						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
9031eff589SAbel Vesa					};
9131eff589SAbel Vesa				};
9231eff589SAbel Vesa
9331eff589SAbel Vesa				port@1 {
9431eff589SAbel Vesa					reg = <1>;
9531eff589SAbel Vesa
9631eff589SAbel Vesa					pmic_glink_ss0_ss_in: endpoint {
9731eff589SAbel Vesa						remote-endpoint = <&retimer_ss0_ss_out>;
9831eff589SAbel Vesa					};
9931eff589SAbel Vesa				};
10031eff589SAbel Vesa
10131eff589SAbel Vesa				port@2 {
10231eff589SAbel Vesa					reg = <2>;
10331eff589SAbel Vesa
10431eff589SAbel Vesa					pmic_glink_ss0_con_sbu_in: endpoint {
10531eff589SAbel Vesa						remote-endpoint = <&retimer_ss0_con_sbu_out>;
10631eff589SAbel Vesa					};
10731eff589SAbel Vesa				};
10831eff589SAbel Vesa			};
10931eff589SAbel Vesa		};
11031eff589SAbel Vesa
11131eff589SAbel Vesa		/* User-adjacent port */
11231eff589SAbel Vesa		connector@1 {
11331eff589SAbel Vesa			compatible = "usb-c-connector";
11431eff589SAbel Vesa			reg = <1>;
11531eff589SAbel Vesa			power-role = "dual";
11631eff589SAbel Vesa			data-role = "dual";
11731eff589SAbel Vesa
11831eff589SAbel Vesa			ports {
11931eff589SAbel Vesa				#address-cells = <1>;
12031eff589SAbel Vesa				#size-cells = <0>;
12131eff589SAbel Vesa
12231eff589SAbel Vesa				port@0 {
12331eff589SAbel Vesa					reg = <0>;
12431eff589SAbel Vesa
12531eff589SAbel Vesa					pmic_glink_ss1_hs_in: endpoint {
12631eff589SAbel Vesa						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
12731eff589SAbel Vesa					};
12831eff589SAbel Vesa				};
12931eff589SAbel Vesa
13031eff589SAbel Vesa				port@1 {
13131eff589SAbel Vesa					reg = <1>;
13231eff589SAbel Vesa
13331eff589SAbel Vesa					pmic_glink_ss1_ss_in: endpoint {
13431eff589SAbel Vesa						remote-endpoint = <&retimer_ss1_ss_out>;
13531eff589SAbel Vesa					};
13631eff589SAbel Vesa				};
13731eff589SAbel Vesa
13831eff589SAbel Vesa				port@2 {
13931eff589SAbel Vesa					reg = <2>;
14031eff589SAbel Vesa
14131eff589SAbel Vesa					pmic_glink_ss1_con_sbu_in: endpoint {
14231eff589SAbel Vesa						remote-endpoint = <&retimer_ss1_con_sbu_out>;
14331eff589SAbel Vesa					};
14431eff589SAbel Vesa				};
14531eff589SAbel Vesa			};
14631eff589SAbel Vesa		};
14731eff589SAbel Vesa	};
14831eff589SAbel Vesa
149*5603525eSSrinivas Kandagatla	/* two muxes together support CTIA and OMTP switching */
150*5603525eSSrinivas Kandagatla	us_euro_mux_ctrl: mux-controller {
151*5603525eSSrinivas Kandagatla		compatible = "gpio-mux";
152*5603525eSSrinivas Kandagatla		pinctrl-0 = <&us_euro_hs_sel>;
153*5603525eSSrinivas Kandagatla		pinctrl-names = "default";
154*5603525eSSrinivas Kandagatla		mux-supply = <&vreg_l16b_2p5>;
155*5603525eSSrinivas Kandagatla		#mux-control-cells = <0>;
156*5603525eSSrinivas Kandagatla		mux-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
157*5603525eSSrinivas Kandagatla	};
158*5603525eSSrinivas Kandagatla
15931eff589SAbel Vesa	reserved-memory {
16031eff589SAbel Vesa		linux,cma {
16131eff589SAbel Vesa			compatible = "shared-dma-pool";
16231eff589SAbel Vesa			size = <0x0 0x8000000>;
16331eff589SAbel Vesa			reusable;
16431eff589SAbel Vesa			linux,cma-default;
16531eff589SAbel Vesa		};
16631eff589SAbel Vesa	};
16731eff589SAbel Vesa
16831eff589SAbel Vesa	vreg_edp_3p3: regulator-edp-3p3 {
16931eff589SAbel Vesa		compatible = "regulator-fixed";
17031eff589SAbel Vesa
17131eff589SAbel Vesa		regulator-name = "VREG_EDP_3P3";
17231eff589SAbel Vesa		regulator-min-microvolt = <3300000>;
17331eff589SAbel Vesa		regulator-max-microvolt = <3300000>;
17431eff589SAbel Vesa
17531eff589SAbel Vesa		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
17631eff589SAbel Vesa		enable-active-high;
17731eff589SAbel Vesa
17831eff589SAbel Vesa		pinctrl-0 = <&edp_reg_en>;
17931eff589SAbel Vesa		pinctrl-names = "default";
18031eff589SAbel Vesa
18131eff589SAbel Vesa		regulator-boot-on;
18231eff589SAbel Vesa	};
18331eff589SAbel Vesa
18455e52d05SJohan Hovold	vreg_misc_3p3: regulator-misc-3p3 {
18555e52d05SJohan Hovold		compatible = "regulator-fixed";
18655e52d05SJohan Hovold
18755e52d05SJohan Hovold		regulator-name = "VCC3B";
18855e52d05SJohan Hovold		regulator-min-microvolt = <3300000>;
18955e52d05SJohan Hovold		regulator-max-microvolt = <3300000>;
19055e52d05SJohan Hovold
19155e52d05SJohan Hovold		gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
19255e52d05SJohan Hovold		enable-active-high;
19355e52d05SJohan Hovold
19455e52d05SJohan Hovold		pinctrl-0 = <&misc_3p3_reg_en>;
19555e52d05SJohan Hovold		pinctrl-names = "default";
19655e52d05SJohan Hovold
19755e52d05SJohan Hovold		regulator-boot-on;
19855e52d05SJohan Hovold		regulator-always-on;
19955e52d05SJohan Hovold	};
20055e52d05SJohan Hovold
20131eff589SAbel Vesa	vreg_nvme: regulator-nvme {
20231eff589SAbel Vesa		compatible = "regulator-fixed";
20331eff589SAbel Vesa
20431eff589SAbel Vesa		regulator-name = "VREG_NVME_3P3";
20531eff589SAbel Vesa		regulator-min-microvolt = <3300000>;
20631eff589SAbel Vesa		regulator-max-microvolt = <3300000>;
20731eff589SAbel Vesa
20831eff589SAbel Vesa		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
20931eff589SAbel Vesa		enable-active-high;
21031eff589SAbel Vesa
21131eff589SAbel Vesa		pinctrl-0 = <&nvme_reg_en>;
21231eff589SAbel Vesa		pinctrl-names = "default";
21331eff589SAbel Vesa
21431eff589SAbel Vesa		regulator-boot-on;
21531eff589SAbel Vesa	};
21631eff589SAbel Vesa
21731eff589SAbel Vesa	vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
21831eff589SAbel Vesa		compatible = "regulator-fixed";
21931eff589SAbel Vesa
22031eff589SAbel Vesa		regulator-name = "VREG_RTMR0_1P15";
22131eff589SAbel Vesa		regulator-min-microvolt = <1150000>;
22231eff589SAbel Vesa		regulator-max-microvolt = <1150000>;
22331eff589SAbel Vesa
22431eff589SAbel Vesa		gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
22531eff589SAbel Vesa		enable-active-high;
22631eff589SAbel Vesa
22731eff589SAbel Vesa		pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
22831eff589SAbel Vesa		pinctrl-names = "default";
22931eff589SAbel Vesa
23031eff589SAbel Vesa		regulator-boot-on;
23131eff589SAbel Vesa	};
23231eff589SAbel Vesa
23331eff589SAbel Vesa	vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
23431eff589SAbel Vesa		compatible = "regulator-fixed";
23531eff589SAbel Vesa
23631eff589SAbel Vesa		regulator-name = "VREG_RTMR0_1P8";
23731eff589SAbel Vesa		regulator-min-microvolt = <1800000>;
23831eff589SAbel Vesa		regulator-max-microvolt = <1800000>;
23931eff589SAbel Vesa
24031eff589SAbel Vesa		gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
24131eff589SAbel Vesa		enable-active-high;
24231eff589SAbel Vesa
24331eff589SAbel Vesa		pinctrl-0 = <&usb0_1p8_reg_en>;
24431eff589SAbel Vesa		pinctrl-names = "default";
24531eff589SAbel Vesa
24631eff589SAbel Vesa		regulator-boot-on;
24731eff589SAbel Vesa	};
24831eff589SAbel Vesa
24931eff589SAbel Vesa	vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
25031eff589SAbel Vesa		compatible = "regulator-fixed";
25131eff589SAbel Vesa
25231eff589SAbel Vesa		regulator-name = "VREG_RTMR0_3P3";
25331eff589SAbel Vesa		regulator-min-microvolt = <3300000>;
25431eff589SAbel Vesa		regulator-max-microvolt = <3300000>;
25531eff589SAbel Vesa
25631eff589SAbel Vesa		gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
25731eff589SAbel Vesa		enable-active-high;
25831eff589SAbel Vesa
25931eff589SAbel Vesa		pinctrl-0 = <&usb0_3p3_reg_en>;
26031eff589SAbel Vesa		pinctrl-names = "default";
26131eff589SAbel Vesa
26231eff589SAbel Vesa		regulator-boot-on;
26331eff589SAbel Vesa	};
26431eff589SAbel Vesa
26531eff589SAbel Vesa	vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
26631eff589SAbel Vesa		compatible = "regulator-fixed";
26731eff589SAbel Vesa
26831eff589SAbel Vesa		regulator-name = "VREG_RTMR1_1P15";
26931eff589SAbel Vesa		regulator-min-microvolt = <1150000>;
27031eff589SAbel Vesa		regulator-max-microvolt = <1150000>;
27131eff589SAbel Vesa
27231eff589SAbel Vesa		gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
27331eff589SAbel Vesa		enable-active-high;
27431eff589SAbel Vesa
27531eff589SAbel Vesa		pinctrl-0 = <&usb1_pwr_1p15_reg_en>;
27631eff589SAbel Vesa		pinctrl-names = "default";
27731eff589SAbel Vesa
27831eff589SAbel Vesa		regulator-boot-on;
27931eff589SAbel Vesa	};
28031eff589SAbel Vesa
28131eff589SAbel Vesa	vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
28231eff589SAbel Vesa		compatible = "regulator-fixed";
28331eff589SAbel Vesa
28431eff589SAbel Vesa		regulator-name = "VREG_RTMR1_1P8";
28531eff589SAbel Vesa		regulator-min-microvolt = <1800000>;
28631eff589SAbel Vesa		regulator-max-microvolt = <1800000>;
28731eff589SAbel Vesa
28831eff589SAbel Vesa		gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
28931eff589SAbel Vesa		enable-active-high;
29031eff589SAbel Vesa
29131eff589SAbel Vesa		pinctrl-0 = <&usb1_pwr_1p8_reg_en>;
29231eff589SAbel Vesa		pinctrl-names = "default";
29331eff589SAbel Vesa
29431eff589SAbel Vesa		regulator-boot-on;
29531eff589SAbel Vesa	};
29631eff589SAbel Vesa
29731eff589SAbel Vesa	vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
29831eff589SAbel Vesa		compatible = "regulator-fixed";
29931eff589SAbel Vesa
30031eff589SAbel Vesa		regulator-name = "VREG_RTMR1_3P3";
30131eff589SAbel Vesa		regulator-min-microvolt = <3300000>;
30231eff589SAbel Vesa		regulator-max-microvolt = <3300000>;
30331eff589SAbel Vesa
30431eff589SAbel Vesa		gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
30531eff589SAbel Vesa		enable-active-high;
30631eff589SAbel Vesa
30731eff589SAbel Vesa		pinctrl-0 = <&usb1_pwr_3p3_reg_en>;
30831eff589SAbel Vesa		pinctrl-names = "default";
30931eff589SAbel Vesa
31031eff589SAbel Vesa		regulator-boot-on;
31131eff589SAbel Vesa	};
31231eff589SAbel Vesa
31331eff589SAbel Vesa	vph_pwr: regulator-vph-pwr {
31431eff589SAbel Vesa		compatible = "regulator-fixed";
31531eff589SAbel Vesa
31631eff589SAbel Vesa		regulator-name = "vph_pwr";
31731eff589SAbel Vesa		regulator-min-microvolt = <3700000>;
31831eff589SAbel Vesa		regulator-max-microvolt = <3700000>;
31931eff589SAbel Vesa
32031eff589SAbel Vesa		regulator-always-on;
32131eff589SAbel Vesa		regulator-boot-on;
32231eff589SAbel Vesa	};
32331eff589SAbel Vesa
32403026046SJohan Hovold	vreg_wwan: regulator-wwan {
32503026046SJohan Hovold		compatible = "regulator-fixed";
32603026046SJohan Hovold
32703026046SJohan Hovold		regulator-name = "VCC3B_WAN_RCM";
32803026046SJohan Hovold		regulator-min-microvolt = <3300000>;
32903026046SJohan Hovold		regulator-max-microvolt = <3300000>;
33003026046SJohan Hovold
33103026046SJohan Hovold		gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>;
33203026046SJohan Hovold		enable-active-high;
33303026046SJohan Hovold
33403026046SJohan Hovold		pinctrl-0 = <&wwan_sw_en>;
33503026046SJohan Hovold		pinctrl-names = "default";
33603026046SJohan Hovold
33703026046SJohan Hovold		regulator-boot-on;
33803026046SJohan Hovold	};
33903026046SJohan Hovold
34031eff589SAbel Vesa	sound {
34131eff589SAbel Vesa		compatible = "qcom,x1e80100-sndcard";
34231eff589SAbel Vesa		model = "X1E80100-LENOVO-Thinkpad-T14s";
34331eff589SAbel Vesa		audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
34431eff589SAbel Vesa				"SpkrRight IN", "WSA WSA_SPK2 OUT",
34531eff589SAbel Vesa				"IN1_HPHL", "HPHL_OUT",
34631eff589SAbel Vesa				"IN2_HPHR", "HPHR_OUT",
34731eff589SAbel Vesa				"AMIC2", "MIC BIAS2",
34831eff589SAbel Vesa				"VA DMIC0", "MIC BIAS1",
34931eff589SAbel Vesa				"VA DMIC1", "MIC BIAS1",
35031eff589SAbel Vesa				"VA DMIC0", "VA MIC BIAS1",
35131eff589SAbel Vesa				"VA DMIC1", "VA MIC BIAS1",
35231eff589SAbel Vesa				"TX SWR_INPUT1", "ADC2_OUTPUT";
35331eff589SAbel Vesa
35431eff589SAbel Vesa		wcd-playback-dai-link {
35531eff589SAbel Vesa			link-name = "WCD Playback";
35631eff589SAbel Vesa
35731eff589SAbel Vesa			cpu {
35831eff589SAbel Vesa				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
35931eff589SAbel Vesa			};
36031eff589SAbel Vesa
36131eff589SAbel Vesa			codec {
36231eff589SAbel Vesa				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
36331eff589SAbel Vesa			};
36431eff589SAbel Vesa
36531eff589SAbel Vesa			platform {
36631eff589SAbel Vesa				sound-dai = <&q6apm>;
36731eff589SAbel Vesa			};
36831eff589SAbel Vesa		};
36931eff589SAbel Vesa
37031eff589SAbel Vesa		wcd-capture-dai-link {
37131eff589SAbel Vesa			link-name = "WCD Capture";
37231eff589SAbel Vesa
37331eff589SAbel Vesa			cpu {
37431eff589SAbel Vesa				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
37531eff589SAbel Vesa			};
37631eff589SAbel Vesa
37731eff589SAbel Vesa			codec {
37831eff589SAbel Vesa				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
37931eff589SAbel Vesa			};
38031eff589SAbel Vesa
38131eff589SAbel Vesa			platform {
38231eff589SAbel Vesa				sound-dai = <&q6apm>;
38331eff589SAbel Vesa			};
38431eff589SAbel Vesa		};
38531eff589SAbel Vesa
38631eff589SAbel Vesa		wsa-dai-link {
38731eff589SAbel Vesa			link-name = "WSA Playback";
38831eff589SAbel Vesa
38931eff589SAbel Vesa			cpu {
39031eff589SAbel Vesa				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
39131eff589SAbel Vesa			};
39231eff589SAbel Vesa
39331eff589SAbel Vesa			codec {
39431eff589SAbel Vesa				sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
39531eff589SAbel Vesa			};
39631eff589SAbel Vesa
39731eff589SAbel Vesa			platform {
39831eff589SAbel Vesa				sound-dai = <&q6apm>;
39931eff589SAbel Vesa			};
40031eff589SAbel Vesa		};
40131eff589SAbel Vesa
40231eff589SAbel Vesa		va-dai-link {
40331eff589SAbel Vesa			link-name = "VA Capture";
40431eff589SAbel Vesa
40531eff589SAbel Vesa			cpu {
40631eff589SAbel Vesa				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
40731eff589SAbel Vesa			};
40831eff589SAbel Vesa
40931eff589SAbel Vesa			codec {
41031eff589SAbel Vesa				sound-dai = <&lpass_vamacro 0>;
41131eff589SAbel Vesa			};
41231eff589SAbel Vesa
41331eff589SAbel Vesa			platform {
41431eff589SAbel Vesa				sound-dai = <&q6apm>;
41531eff589SAbel Vesa			};
41631eff589SAbel Vesa		};
41731eff589SAbel Vesa	};
41831eff589SAbel Vesa};
41931eff589SAbel Vesa
42031eff589SAbel Vesa&apps_rsc {
42131eff589SAbel Vesa	regulators-0 {
42231eff589SAbel Vesa		compatible = "qcom,pm8550-rpmh-regulators";
42331eff589SAbel Vesa		qcom,pmic-id = "b";
42431eff589SAbel Vesa
42531eff589SAbel Vesa		vdd-bob1-supply = <&vph_pwr>;
42631eff589SAbel Vesa		vdd-bob2-supply = <&vph_pwr>;
42731eff589SAbel Vesa		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
42831eff589SAbel Vesa		vdd-l2-l13-l14-supply = <&vreg_bob1>;
42931eff589SAbel Vesa		vdd-l5-l16-supply = <&vreg_bob1>;
43031eff589SAbel Vesa		vdd-l6-l7-supply = <&vreg_bob2>;
43131eff589SAbel Vesa		vdd-l8-l9-supply = <&vreg_bob1>;
43231eff589SAbel Vesa		vdd-l12-supply = <&vreg_s5j_1p2>;
43331eff589SAbel Vesa		vdd-l15-supply = <&vreg_s4c_1p8>;
43431eff589SAbel Vesa		vdd-l17-supply = <&vreg_bob2>;
43531eff589SAbel Vesa
43631eff589SAbel Vesa		vreg_bob1: bob1 {
43731eff589SAbel Vesa			regulator-name = "vreg_bob1";
43831eff589SAbel Vesa			regulator-min-microvolt = <3008000>;
43931eff589SAbel Vesa			regulator-max-microvolt = <3960000>;
44031eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
44131eff589SAbel Vesa		};
44231eff589SAbel Vesa
44331eff589SAbel Vesa		vreg_bob2: bob2 {
44431eff589SAbel Vesa			regulator-name = "vreg_bob2";
44531eff589SAbel Vesa			regulator-min-microvolt = <2504000>;
44631eff589SAbel Vesa			regulator-max-microvolt = <3008000>;
44731eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
44831eff589SAbel Vesa		};
44931eff589SAbel Vesa
45031eff589SAbel Vesa		vreg_l1b_1p8: ldo1 {
45131eff589SAbel Vesa			regulator-name = "vreg_l1b_1p8";
45231eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
45331eff589SAbel Vesa			regulator-max-microvolt = <1800000>;
45431eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45531eff589SAbel Vesa		};
45631eff589SAbel Vesa
45731eff589SAbel Vesa		vreg_l2b_3p0: ldo2 {
45831eff589SAbel Vesa			regulator-name = "vreg_l2b_3p0";
45931eff589SAbel Vesa			regulator-min-microvolt = <3072000>;
46031eff589SAbel Vesa			regulator-max-microvolt = <3072000>;
46131eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
46231eff589SAbel Vesa		};
46331eff589SAbel Vesa
46431eff589SAbel Vesa		vreg_l4b_1p8: ldo4 {
46531eff589SAbel Vesa			regulator-name = "vreg_l4b_1p8";
46631eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
46731eff589SAbel Vesa			regulator-max-microvolt = <1800000>;
46831eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
46931eff589SAbel Vesa		};
47031eff589SAbel Vesa
47131eff589SAbel Vesa		vreg_l6b_1p8: ldo6 {
47231eff589SAbel Vesa			regulator-name = "vreg_l6b_1p8";
47331eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
47431eff589SAbel Vesa			regulator-max-microvolt = <2960000>;
47531eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
47631eff589SAbel Vesa		};
47731eff589SAbel Vesa
47831eff589SAbel Vesa		vreg_l8b_3p0: ldo8 {
47931eff589SAbel Vesa			regulator-name = "vreg_l8b_3p0";
48031eff589SAbel Vesa			regulator-min-microvolt = <3072000>;
48131eff589SAbel Vesa			regulator-max-microvolt = <3072000>;
48231eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
48331eff589SAbel Vesa		};
48431eff589SAbel Vesa
48531eff589SAbel Vesa		vreg_l9b_2p9: ldo9 {
48631eff589SAbel Vesa			regulator-name = "vreg_l9b_2p9";
48731eff589SAbel Vesa			regulator-min-microvolt = <2960000>;
48831eff589SAbel Vesa			regulator-max-microvolt = <2960000>;
48931eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
49031eff589SAbel Vesa		};
49131eff589SAbel Vesa
49231eff589SAbel Vesa		vreg_l10b_1p8: ldo10 {
49331eff589SAbel Vesa			regulator-name = "vreg_l10b_1p8";
49431eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
49531eff589SAbel Vesa			regulator-max-microvolt = <1800000>;
49631eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
49731eff589SAbel Vesa		};
49831eff589SAbel Vesa
49931eff589SAbel Vesa		vreg_l12b_1p2: ldo12 {
50031eff589SAbel Vesa			regulator-name = "vreg_l12b_1p2";
50131eff589SAbel Vesa			regulator-min-microvolt = <1200000>;
50231eff589SAbel Vesa			regulator-max-microvolt = <1200000>;
50331eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
504673fa129SJohan Hovold			regulator-always-on;
50531eff589SAbel Vesa		};
50631eff589SAbel Vesa
50731eff589SAbel Vesa		vreg_l13b_3p0: ldo13 {
50831eff589SAbel Vesa			regulator-name = "vreg_l13b_3p0";
50931eff589SAbel Vesa			regulator-min-microvolt = <3072000>;
51031eff589SAbel Vesa			regulator-max-microvolt = <3072000>;
51131eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
51231eff589SAbel Vesa		};
51331eff589SAbel Vesa
51431eff589SAbel Vesa		vreg_l14b_3p0: ldo14 {
51531eff589SAbel Vesa			regulator-name = "vreg_l14b_3p0";
51631eff589SAbel Vesa			regulator-min-microvolt = <3072000>;
51731eff589SAbel Vesa			regulator-max-microvolt = <3072000>;
51831eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
51931eff589SAbel Vesa		};
52031eff589SAbel Vesa
52131eff589SAbel Vesa		vreg_l15b_1p8: ldo15 {
52231eff589SAbel Vesa			regulator-name = "vreg_l15b_1p8";
52331eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
52431eff589SAbel Vesa			regulator-max-microvolt = <1800000>;
52531eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
526673fa129SJohan Hovold			regulator-always-on;
52731eff589SAbel Vesa		};
52831eff589SAbel Vesa
529*5603525eSSrinivas Kandagatla		vreg_l16b_2p5: ldo16 {
530*5603525eSSrinivas Kandagatla			regulator-name = "vreg_l16b_2p5";
531*5603525eSSrinivas Kandagatla			regulator-min-microvolt = <2504000>;
532*5603525eSSrinivas Kandagatla			regulator-max-microvolt = <2504000>;
533*5603525eSSrinivas Kandagatla			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
534*5603525eSSrinivas Kandagatla		};
535*5603525eSSrinivas Kandagatla
53631eff589SAbel Vesa		vreg_l17b_2p5: ldo17 {
53731eff589SAbel Vesa			regulator-name = "vreg_l17b_2p5";
53831eff589SAbel Vesa			regulator-min-microvolt = <2504000>;
53931eff589SAbel Vesa			regulator-max-microvolt = <2504000>;
54031eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
54131eff589SAbel Vesa		};
54231eff589SAbel Vesa	};
54331eff589SAbel Vesa
54431eff589SAbel Vesa	regulators-1 {
54531eff589SAbel Vesa		compatible = "qcom,pm8550ve-rpmh-regulators";
54631eff589SAbel Vesa		qcom,pmic-id = "c";
54731eff589SAbel Vesa
54831eff589SAbel Vesa		vdd-l1-supply = <&vreg_s5j_1p2>;
54931eff589SAbel Vesa		vdd-l2-supply = <&vreg_s1f_0p7>;
55031eff589SAbel Vesa		vdd-l3-supply = <&vreg_s1f_0p7>;
55131eff589SAbel Vesa		vdd-s4-supply = <&vph_pwr>;
55231eff589SAbel Vesa
55331eff589SAbel Vesa		vreg_s4c_1p8: smps4 {
55431eff589SAbel Vesa			regulator-name = "vreg_s4c_1p8";
55531eff589SAbel Vesa			regulator-min-microvolt = <1856000>;
55631eff589SAbel Vesa			regulator-max-microvolt = <2000000>;
55731eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
55831eff589SAbel Vesa		};
55931eff589SAbel Vesa
56031eff589SAbel Vesa		vreg_l1c_1p2: ldo1 {
56131eff589SAbel Vesa			regulator-name = "vreg_l1c_1p2";
56231eff589SAbel Vesa			regulator-min-microvolt = <1200000>;
56331eff589SAbel Vesa			regulator-max-microvolt = <1200000>;
56431eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
56531eff589SAbel Vesa		};
56631eff589SAbel Vesa
56731eff589SAbel Vesa		vreg_l2c_0p8: ldo2 {
56831eff589SAbel Vesa			regulator-name = "vreg_l2c_0p8";
56931eff589SAbel Vesa			regulator-min-microvolt = <880000>;
57031eff589SAbel Vesa			regulator-max-microvolt = <880000>;
57131eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
57231eff589SAbel Vesa		};
57331eff589SAbel Vesa
57431eff589SAbel Vesa		vreg_l3c_0p8: ldo3 {
57531eff589SAbel Vesa			regulator-name = "vreg_l3c_0p8";
57631eff589SAbel Vesa			regulator-min-microvolt = <912000>;
57731eff589SAbel Vesa			regulator-max-microvolt = <912000>;
57831eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
57931eff589SAbel Vesa		};
58031eff589SAbel Vesa	};
58131eff589SAbel Vesa
58231eff589SAbel Vesa	regulators-2 {
58331eff589SAbel Vesa		compatible = "qcom,pmc8380-rpmh-regulators";
58431eff589SAbel Vesa		qcom,pmic-id = "d";
58531eff589SAbel Vesa
58631eff589SAbel Vesa		vdd-l1-supply = <&vreg_s1f_0p7>;
58731eff589SAbel Vesa		vdd-l2-supply = <&vreg_s1f_0p7>;
58831eff589SAbel Vesa		vdd-l3-supply = <&vreg_s4c_1p8>;
58931eff589SAbel Vesa		vdd-s1-supply = <&vph_pwr>;
59031eff589SAbel Vesa
59131eff589SAbel Vesa		vreg_l1d_0p8: ldo1 {
59231eff589SAbel Vesa			regulator-name = "vreg_l1d_0p8";
59331eff589SAbel Vesa			regulator-min-microvolt = <880000>;
59431eff589SAbel Vesa			regulator-max-microvolt = <880000>;
59531eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
59631eff589SAbel Vesa		};
59731eff589SAbel Vesa
59831eff589SAbel Vesa		vreg_l2d_0p9: ldo2 {
59931eff589SAbel Vesa			regulator-name = "vreg_l2d_0p9";
60031eff589SAbel Vesa			regulator-min-microvolt = <912000>;
60131eff589SAbel Vesa			regulator-max-microvolt = <912000>;
60231eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
60331eff589SAbel Vesa		};
60431eff589SAbel Vesa
60531eff589SAbel Vesa		vreg_l3d_1p8: ldo3 {
60631eff589SAbel Vesa			regulator-name = "vreg_l3d_1p8";
60731eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
60831eff589SAbel Vesa			regulator-max-microvolt = <1800000>;
60931eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
61031eff589SAbel Vesa		};
61131eff589SAbel Vesa	};
61231eff589SAbel Vesa
61331eff589SAbel Vesa	regulators-3 {
61431eff589SAbel Vesa		compatible = "qcom,pmc8380-rpmh-regulators";
61531eff589SAbel Vesa		qcom,pmic-id = "e";
61631eff589SAbel Vesa
61731eff589SAbel Vesa		vdd-l2-supply = <&vreg_s1f_0p7>;
61831eff589SAbel Vesa		vdd-l3-supply = <&vreg_s5j_1p2>;
61931eff589SAbel Vesa
62031eff589SAbel Vesa		vreg_l2e_0p8: ldo2 {
62131eff589SAbel Vesa			regulator-name = "vreg_l2e_0p8";
62231eff589SAbel Vesa			regulator-min-microvolt = <880000>;
62331eff589SAbel Vesa			regulator-max-microvolt = <880000>;
62431eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
62531eff589SAbel Vesa		};
62631eff589SAbel Vesa
62731eff589SAbel Vesa		vreg_l3e_1p2: ldo3 {
62831eff589SAbel Vesa			regulator-name = "vreg_l3e_1p2";
62931eff589SAbel Vesa			regulator-min-microvolt = <1200000>;
63031eff589SAbel Vesa			regulator-max-microvolt = <1200000>;
63131eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
63231eff589SAbel Vesa		};
63331eff589SAbel Vesa	};
63431eff589SAbel Vesa
63531eff589SAbel Vesa	regulators-4 {
63631eff589SAbel Vesa		compatible = "qcom,pmc8380-rpmh-regulators";
63731eff589SAbel Vesa		qcom,pmic-id = "f";
63831eff589SAbel Vesa
63931eff589SAbel Vesa		vdd-l1-supply = <&vreg_s5j_1p2>;
64031eff589SAbel Vesa		vdd-l2-supply = <&vreg_s5j_1p2>;
64131eff589SAbel Vesa		vdd-l3-supply = <&vreg_s5j_1p2>;
64231eff589SAbel Vesa		vdd-s1-supply = <&vph_pwr>;
64331eff589SAbel Vesa
64431eff589SAbel Vesa		vreg_s1f_0p7: smps1 {
64531eff589SAbel Vesa			regulator-name = "vreg_s1f_0p7";
64631eff589SAbel Vesa			regulator-min-microvolt = <700000>;
64731eff589SAbel Vesa			regulator-max-microvolt = <1100000>;
64831eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
64931eff589SAbel Vesa		};
65031eff589SAbel Vesa	};
65131eff589SAbel Vesa
65231eff589SAbel Vesa	regulators-6 {
65331eff589SAbel Vesa		compatible = "qcom,pm8550ve-rpmh-regulators";
65431eff589SAbel Vesa		qcom,pmic-id = "i";
65531eff589SAbel Vesa
65631eff589SAbel Vesa		vdd-l1-supply = <&vreg_s4c_1p8>;
65731eff589SAbel Vesa		vdd-l2-supply = <&vreg_s5j_1p2>;
65831eff589SAbel Vesa		vdd-l3-supply = <&vreg_s1f_0p7>;
65931eff589SAbel Vesa		vdd-s1-supply = <&vph_pwr>;
66031eff589SAbel Vesa		vdd-s2-supply = <&vph_pwr>;
66131eff589SAbel Vesa
66231eff589SAbel Vesa		vreg_l1i_1p8: ldo1 {
66331eff589SAbel Vesa			regulator-name = "vreg_l1i_1p8";
66431eff589SAbel Vesa			regulator-min-microvolt = <1800000>;
66531eff589SAbel Vesa			regulator-max-microvolt = <1800000>;
66631eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
66731eff589SAbel Vesa		};
66831eff589SAbel Vesa
66931eff589SAbel Vesa		vreg_l2i_1p2: ldo2 {
67031eff589SAbel Vesa			regulator-name = "vreg_l2i_1p2";
67131eff589SAbel Vesa			regulator-min-microvolt = <1200000>;
67231eff589SAbel Vesa			regulator-max-microvolt = <1200000>;
67331eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
67431eff589SAbel Vesa		};
67531eff589SAbel Vesa
67631eff589SAbel Vesa		vreg_l3i_0p8: ldo3 {
67731eff589SAbel Vesa			regulator-name = "vreg_l3i_0p8";
67831eff589SAbel Vesa			regulator-min-microvolt = <880000>;
67931eff589SAbel Vesa			regulator-max-microvolt = <880000>;
68031eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
68131eff589SAbel Vesa		};
68231eff589SAbel Vesa	};
68331eff589SAbel Vesa
68431eff589SAbel Vesa	regulators-7 {
68531eff589SAbel Vesa		compatible = "qcom,pm8550ve-rpmh-regulators";
68631eff589SAbel Vesa		qcom,pmic-id = "j";
68731eff589SAbel Vesa
68831eff589SAbel Vesa		vdd-l1-supply = <&vreg_s1f_0p7>;
68931eff589SAbel Vesa		vdd-l2-supply = <&vreg_s5j_1p2>;
69031eff589SAbel Vesa		vdd-l3-supply = <&vreg_s1f_0p7>;
69131eff589SAbel Vesa		vdd-s5-supply = <&vph_pwr>;
69231eff589SAbel Vesa
69331eff589SAbel Vesa		vreg_s5j_1p2: smps5 {
69431eff589SAbel Vesa			regulator-name = "vreg_s5j_1p2";
69531eff589SAbel Vesa			regulator-min-microvolt = <1256000>;
69631eff589SAbel Vesa			regulator-max-microvolt = <1304000>;
69731eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
69831eff589SAbel Vesa		};
69931eff589SAbel Vesa
70031eff589SAbel Vesa		vreg_l1j_0p8: ldo1 {
70131eff589SAbel Vesa			regulator-name = "vreg_l1j_0p8";
70231eff589SAbel Vesa			regulator-min-microvolt = <912000>;
70331eff589SAbel Vesa			regulator-max-microvolt = <912000>;
70431eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
70531eff589SAbel Vesa		};
70631eff589SAbel Vesa
70731eff589SAbel Vesa		vreg_l2j_1p2: ldo2 {
70831eff589SAbel Vesa			regulator-name = "vreg_l2j_1p2";
70931eff589SAbel Vesa			regulator-min-microvolt = <1256000>;
71031eff589SAbel Vesa			regulator-max-microvolt = <1256000>;
71131eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
71231eff589SAbel Vesa		};
71331eff589SAbel Vesa
71431eff589SAbel Vesa		vreg_l3j_0p8: ldo3 {
71531eff589SAbel Vesa			regulator-name = "vreg_l3j_0p8";
71631eff589SAbel Vesa			regulator-min-microvolt = <880000>;
71731eff589SAbel Vesa			regulator-max-microvolt = <880000>;
71831eff589SAbel Vesa			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
71931eff589SAbel Vesa		};
72031eff589SAbel Vesa	};
72131eff589SAbel Vesa};
72231eff589SAbel Vesa
72331eff589SAbel Vesa&gpu {
72431eff589SAbel Vesa	status = "okay";
72531eff589SAbel Vesa
72631eff589SAbel Vesa	zap-shader {
72731eff589SAbel Vesa		firmware-name = "qcom/x1e80100/LENOVO/21N1/qcdxkmsuc8380.mbn";
72831eff589SAbel Vesa	};
72931eff589SAbel Vesa};
73031eff589SAbel Vesa
73131eff589SAbel Vesa&i2c0 {
73231eff589SAbel Vesa	clock-frequency = <400000>;
73331eff589SAbel Vesa
73431eff589SAbel Vesa	pinctrl-0 = <&qup_i2c0_data_clk>, <&tpad_default>;
73531eff589SAbel Vesa	pinctrl-names = "default";
73631eff589SAbel Vesa
73731eff589SAbel Vesa	status = "okay";
73831eff589SAbel Vesa
73931eff589SAbel Vesa	/* ELAN06E2 or ELAN06E3 */
74031eff589SAbel Vesa	touchpad@15 {
74131eff589SAbel Vesa		compatible = "hid-over-i2c";
74231eff589SAbel Vesa		reg = <0x15>;
74331eff589SAbel Vesa
74431eff589SAbel Vesa		hid-descr-addr = <0x1>;
74531eff589SAbel Vesa		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
74631eff589SAbel Vesa
74755e52d05SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
74855e52d05SJohan Hovold		vddl-supply = <&vreg_l12b_1p2>;
74955e52d05SJohan Hovold
75031eff589SAbel Vesa		wakeup-source;
75131eff589SAbel Vesa	};
75231eff589SAbel Vesa
75331eff589SAbel Vesa	/* SYNA8022 or SYNA8024 */
75431eff589SAbel Vesa	touchpad@2c {
75531eff589SAbel Vesa		compatible = "hid-over-i2c";
75631eff589SAbel Vesa		reg = <0x2c>;
75731eff589SAbel Vesa
75831eff589SAbel Vesa		hid-descr-addr = <0x20>;
75931eff589SAbel Vesa		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
76031eff589SAbel Vesa
76155e52d05SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
76255e52d05SJohan Hovold		vddl-supply = <&vreg_l12b_1p2>;
76355e52d05SJohan Hovold
76431eff589SAbel Vesa		wakeup-source;
76531eff589SAbel Vesa	};
76631eff589SAbel Vesa
76731eff589SAbel Vesa	/* ELAN06F1 or SYNA06F2 */
76831eff589SAbel Vesa	keyboard@3a {
76931eff589SAbel Vesa		compatible = "hid-over-i2c";
77031eff589SAbel Vesa		reg = <0x3a>;
77131eff589SAbel Vesa
77231eff589SAbel Vesa		hid-descr-addr = <0x1>;
77331eff589SAbel Vesa		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
77431eff589SAbel Vesa
77555e52d05SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
77655e52d05SJohan Hovold		vddl-supply = <&vreg_l15b_1p8>;
77755e52d05SJohan Hovold
77831eff589SAbel Vesa		pinctrl-0 = <&kybd_default>;
77931eff589SAbel Vesa		pinctrl-names = "default";
78031eff589SAbel Vesa
78131eff589SAbel Vesa		wakeup-source;
78231eff589SAbel Vesa	};
78331eff589SAbel Vesa};
78431eff589SAbel Vesa
78531eff589SAbel Vesa&i2c3 {
78631eff589SAbel Vesa	clock-frequency = <400000>;
78731eff589SAbel Vesa
78831eff589SAbel Vesa	status = "okay";
78931eff589SAbel Vesa
79031eff589SAbel Vesa	typec-mux@8 {
79131eff589SAbel Vesa		compatible = "parade,ps8830";
79231eff589SAbel Vesa		reg = <0x08>;
79331eff589SAbel Vesa
79431eff589SAbel Vesa		clocks = <&rpmhcc RPMH_RF_CLK3>;
79531eff589SAbel Vesa
79631eff589SAbel Vesa		vdd-supply = <&vreg_rtmr0_1p15>;
79731eff589SAbel Vesa		vdd33-supply = <&vreg_rtmr0_3p3>;
79831eff589SAbel Vesa		vdd33-cap-supply = <&vreg_rtmr0_3p3>;
79931eff589SAbel Vesa		vddar-supply = <&vreg_rtmr0_1p15>;
80031eff589SAbel Vesa		vddat-supply = <&vreg_rtmr0_1p15>;
80131eff589SAbel Vesa		vddio-supply = <&vreg_rtmr0_1p8>;
80231eff589SAbel Vesa
80331eff589SAbel Vesa		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
80431eff589SAbel Vesa
80531eff589SAbel Vesa		pinctrl-0 = <&rtmr0_default>;
80631eff589SAbel Vesa		pinctrl-names = "default";
80731eff589SAbel Vesa
80831eff589SAbel Vesa		orientation-switch;
80931eff589SAbel Vesa		retimer-switch;
81031eff589SAbel Vesa
81131eff589SAbel Vesa		ports {
81231eff589SAbel Vesa			#address-cells = <1>;
81331eff589SAbel Vesa			#size-cells = <0>;
81431eff589SAbel Vesa
81531eff589SAbel Vesa			port@0 {
81631eff589SAbel Vesa				reg = <0>;
81731eff589SAbel Vesa
81831eff589SAbel Vesa				retimer_ss0_ss_out: endpoint {
81931eff589SAbel Vesa					remote-endpoint = <&pmic_glink_ss0_ss_in>;
82031eff589SAbel Vesa				};
82131eff589SAbel Vesa			};
82231eff589SAbel Vesa
82331eff589SAbel Vesa			port@1 {
82431eff589SAbel Vesa				reg = <1>;
82531eff589SAbel Vesa
82631eff589SAbel Vesa				retimer_ss0_ss_in: endpoint {
82731eff589SAbel Vesa					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
82831eff589SAbel Vesa				};
82931eff589SAbel Vesa			};
83031eff589SAbel Vesa
83131eff589SAbel Vesa			port@2 {
83231eff589SAbel Vesa				reg = <2>;
83331eff589SAbel Vesa
83431eff589SAbel Vesa				retimer_ss0_con_sbu_out: endpoint {
83531eff589SAbel Vesa					remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
83631eff589SAbel Vesa				};
83731eff589SAbel Vesa			};
83831eff589SAbel Vesa		};
83931eff589SAbel Vesa	};
84031eff589SAbel Vesa};
84131eff589SAbel Vesa
84231eff589SAbel Vesa&i2c5 {
84331eff589SAbel Vesa	clock-frequency = <400000>;
84431eff589SAbel Vesa
84531eff589SAbel Vesa	status = "okay";
84631eff589SAbel Vesa
84731eff589SAbel Vesa	eusb5_repeater: redriver@43 {
84831eff589SAbel Vesa		compatible = "nxp,ptn3222";
84931eff589SAbel Vesa		reg = <0x43>;
85031eff589SAbel Vesa		#phy-cells = <0>;
85131eff589SAbel Vesa
85231eff589SAbel Vesa		vdd3v3-supply = <&vreg_l13b_3p0>;
85331eff589SAbel Vesa		vdd1v8-supply = <&vreg_l4b_1p8>;
85431eff589SAbel Vesa
85531eff589SAbel Vesa		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
85631eff589SAbel Vesa
85731eff589SAbel Vesa		pinctrl-0 = <&eusb5_reset_n>;
85831eff589SAbel Vesa		pinctrl-names = "default";
85931eff589SAbel Vesa	};
86031eff589SAbel Vesa
86131eff589SAbel Vesa	eusb3_repeater: redriver@47 {
86231eff589SAbel Vesa		compatible = "nxp,ptn3222";
86331eff589SAbel Vesa		reg = <0x47>;
86431eff589SAbel Vesa		#phy-cells = <0>;
86531eff589SAbel Vesa
86631eff589SAbel Vesa		vdd3v3-supply = <&vreg_l13b_3p0>;
86731eff589SAbel Vesa		vdd1v8-supply = <&vreg_l4b_1p8>;
86831eff589SAbel Vesa
86931eff589SAbel Vesa		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
87031eff589SAbel Vesa
87131eff589SAbel Vesa		pinctrl-0 = <&eusb3_reset_n>;
87231eff589SAbel Vesa		pinctrl-names = "default";
87331eff589SAbel Vesa	};
87431eff589SAbel Vesa
87531eff589SAbel Vesa	eusb6_repeater: redriver@4f {
87631eff589SAbel Vesa		compatible = "nxp,ptn3222";
87731eff589SAbel Vesa		reg = <0x4f>;
87831eff589SAbel Vesa		#phy-cells = <0>;
87931eff589SAbel Vesa
88031eff589SAbel Vesa		vdd3v3-supply = <&vreg_l13b_3p0>;
88131eff589SAbel Vesa		vdd1v8-supply = <&vreg_l4b_1p8>;
88231eff589SAbel Vesa
88331eff589SAbel Vesa		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
88431eff589SAbel Vesa
88531eff589SAbel Vesa		pinctrl-0 = <&eusb6_reset_n>;
88631eff589SAbel Vesa		pinctrl-names = "default";
88731eff589SAbel Vesa	};
88831eff589SAbel Vesa};
88931eff589SAbel Vesa
89031eff589SAbel Vesa&i2c7 {
89131eff589SAbel Vesa	clock-frequency = <400000>;
89231eff589SAbel Vesa
89331eff589SAbel Vesa	status = "okay";
89431eff589SAbel Vesa
89531eff589SAbel Vesa	typec-mux@8 {
89631eff589SAbel Vesa		compatible = "parade,ps8830";
89731eff589SAbel Vesa		reg = <0x8>;
89831eff589SAbel Vesa
89931eff589SAbel Vesa		clocks = <&rpmhcc RPMH_RF_CLK4>;
90031eff589SAbel Vesa
90131eff589SAbel Vesa		vdd-supply = <&vreg_rtmr1_1p15>;
90231eff589SAbel Vesa		vdd33-supply = <&vreg_rtmr1_3p3>;
90331eff589SAbel Vesa		vdd33-cap-supply = <&vreg_rtmr1_3p3>;
90431eff589SAbel Vesa		vddar-supply = <&vreg_rtmr1_1p15>;
90531eff589SAbel Vesa		vddat-supply = <&vreg_rtmr1_1p15>;
90631eff589SAbel Vesa		vddio-supply = <&vreg_rtmr1_1p8>;
90731eff589SAbel Vesa
90831eff589SAbel Vesa		reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
90931eff589SAbel Vesa
91031eff589SAbel Vesa		pinctrl-0 = <&rtmr1_default>;
91131eff589SAbel Vesa		pinctrl-names = "default";
91231eff589SAbel Vesa
91331eff589SAbel Vesa		retimer-switch;
91431eff589SAbel Vesa		orientation-switch;
91531eff589SAbel Vesa
91631eff589SAbel Vesa		ports {
91731eff589SAbel Vesa			#address-cells = <1>;
91831eff589SAbel Vesa			#size-cells = <0>;
91931eff589SAbel Vesa
92031eff589SAbel Vesa			port@0 {
92131eff589SAbel Vesa				reg = <0>;
92231eff589SAbel Vesa
92331eff589SAbel Vesa				retimer_ss1_ss_out: endpoint {
92431eff589SAbel Vesa					remote-endpoint = <&pmic_glink_ss1_ss_in>;
92531eff589SAbel Vesa				};
92631eff589SAbel Vesa			};
92731eff589SAbel Vesa
92831eff589SAbel Vesa			port@1 {
92931eff589SAbel Vesa				reg = <1>;
93031eff589SAbel Vesa
93131eff589SAbel Vesa				retimer_ss1_ss_in: endpoint {
93231eff589SAbel Vesa					remote-endpoint = <&usb_1_ss1_qmpphy_out>;
93331eff589SAbel Vesa				};
93431eff589SAbel Vesa			};
93531eff589SAbel Vesa
93631eff589SAbel Vesa			port@2 {
93731eff589SAbel Vesa				reg = <2>;
93831eff589SAbel Vesa
93931eff589SAbel Vesa				retimer_ss1_con_sbu_out: endpoint {
94031eff589SAbel Vesa					remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
94131eff589SAbel Vesa				};
94231eff589SAbel Vesa			};
94331eff589SAbel Vesa		};
94431eff589SAbel Vesa	};
94531eff589SAbel Vesa};
94631eff589SAbel Vesa
94731eff589SAbel Vesa&i2c8 {
94831eff589SAbel Vesa	clock-frequency = <400000>;
94931eff589SAbel Vesa
95031eff589SAbel Vesa	status = "okay";
95131eff589SAbel Vesa
95231eff589SAbel Vesa	/* ILIT2911 or GTCH1563 */
95331eff589SAbel Vesa	touchscreen@10 {
95431eff589SAbel Vesa		compatible = "hid-over-i2c";
95531eff589SAbel Vesa		reg = <0x10>;
95631eff589SAbel Vesa
95731eff589SAbel Vesa		hid-descr-addr = <0x1>;
95831eff589SAbel Vesa		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
95931eff589SAbel Vesa
96055e52d05SJohan Hovold		vdd-supply = <&vreg_misc_3p3>;
96155e52d05SJohan Hovold		vddl-supply = <&vreg_l15b_1p8>;
96255e52d05SJohan Hovold
96331eff589SAbel Vesa		pinctrl-0 = <&ts0_default>;
96431eff589SAbel Vesa		pinctrl-names = "default";
96531eff589SAbel Vesa	};
96631eff589SAbel Vesa
96731eff589SAbel Vesa	/* TODO: second-sourced touchscreen @ 0x41 */
96831eff589SAbel Vesa};
96931eff589SAbel Vesa
97031eff589SAbel Vesa&lpass_tlmm {
97131eff589SAbel Vesa	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
97231eff589SAbel Vesa		pins = "gpio12";
97331eff589SAbel Vesa		function = "gpio";
97431eff589SAbel Vesa		drive-strength = <16>;
97531eff589SAbel Vesa		bias-disable;
97631eff589SAbel Vesa		output-low;
97731eff589SAbel Vesa	};
97831eff589SAbel Vesa};
97931eff589SAbel Vesa
98031eff589SAbel Vesa&lpass_vamacro {
98131eff589SAbel Vesa	pinctrl-0 = <&dmic01_default>;
98231eff589SAbel Vesa	pinctrl-names = "default";
98331eff589SAbel Vesa
98431eff589SAbel Vesa	vdd-micb-supply = <&vreg_l1b_1p8>;
98531eff589SAbel Vesa	qcom,dmic-sample-rate = <4800000>;
98631eff589SAbel Vesa};
98731eff589SAbel Vesa
98831eff589SAbel Vesa&mdss {
98931eff589SAbel Vesa	status = "okay";
99031eff589SAbel Vesa};
99131eff589SAbel Vesa
99231eff589SAbel Vesa&mdss_dp0 {
99331eff589SAbel Vesa	status = "okay";
99431eff589SAbel Vesa};
99531eff589SAbel Vesa
99631eff589SAbel Vesa&mdss_dp0_out {
99731eff589SAbel Vesa	data-lanes = <0 1>;
99831eff589SAbel Vesa};
99931eff589SAbel Vesa
100031eff589SAbel Vesa&mdss_dp1 {
100131eff589SAbel Vesa	status = "okay";
100231eff589SAbel Vesa};
100331eff589SAbel Vesa
100431eff589SAbel Vesa&mdss_dp1_out {
100531eff589SAbel Vesa	data-lanes = <0 1>;
100631eff589SAbel Vesa};
100731eff589SAbel Vesa
100831eff589SAbel Vesa&mdss_dp3 {
100931eff589SAbel Vesa	/delete-property/ #sound-dai-cells;
101031eff589SAbel Vesa
101131eff589SAbel Vesa	status = "okay";
101231eff589SAbel Vesa
101331eff589SAbel Vesa	aux-bus {
101431eff589SAbel Vesa		panel: panel {
101531eff589SAbel Vesa			compatible = "edp-panel";
101631eff589SAbel Vesa			power-supply = <&vreg_edp_3p3>;
101731eff589SAbel Vesa
101831eff589SAbel Vesa			port {
101931eff589SAbel Vesa				edp_panel_in: endpoint {
102031eff589SAbel Vesa					remote-endpoint = <&mdss_dp3_out>;
102131eff589SAbel Vesa				};
102231eff589SAbel Vesa			};
102331eff589SAbel Vesa		};
102431eff589SAbel Vesa	};
102531eff589SAbel Vesa
102631eff589SAbel Vesa	ports {
102731eff589SAbel Vesa		port@1 {
102831eff589SAbel Vesa			reg = <1>;
102931eff589SAbel Vesa
103031eff589SAbel Vesa			mdss_dp3_out: endpoint {
103131eff589SAbel Vesa				data-lanes = <0 1 2 3>;
103231eff589SAbel Vesa				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
103331eff589SAbel Vesa
103431eff589SAbel Vesa				remote-endpoint = <&edp_panel_in>;
103531eff589SAbel Vesa			};
103631eff589SAbel Vesa		};
103731eff589SAbel Vesa	};
103831eff589SAbel Vesa};
103931eff589SAbel Vesa
104031eff589SAbel Vesa&mdss_dp3_phy {
104131eff589SAbel Vesa	vdda-phy-supply = <&vreg_l3j_0p8>;
104231eff589SAbel Vesa	vdda-pll-supply = <&vreg_l2j_1p2>;
104331eff589SAbel Vesa
104431eff589SAbel Vesa	status = "okay";
104531eff589SAbel Vesa};
104631eff589SAbel Vesa
104731eff589SAbel Vesa&pcie4 {
104831eff589SAbel Vesa	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
104931eff589SAbel Vesa	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
105031eff589SAbel Vesa
105131eff589SAbel Vesa	pinctrl-0 = <&pcie4_default>;
105231eff589SAbel Vesa	pinctrl-names = "default";
105331eff589SAbel Vesa
105431eff589SAbel Vesa	status = "okay";
105531eff589SAbel Vesa};
105631eff589SAbel Vesa
105731eff589SAbel Vesa&pcie4_phy {
105831eff589SAbel Vesa	vdda-phy-supply = <&vreg_l3i_0p8>;
105931eff589SAbel Vesa	vdda-pll-supply = <&vreg_l3e_1p2>;
106031eff589SAbel Vesa
106131eff589SAbel Vesa	status = "okay";
106231eff589SAbel Vesa};
106331eff589SAbel Vesa
106403026046SJohan Hovold&pcie5 {
106503026046SJohan Hovold	perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
106603026046SJohan Hovold	wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
106703026046SJohan Hovold
106803026046SJohan Hovold	vddpe-3v3-supply = <&vreg_wwan>;
106903026046SJohan Hovold
107003026046SJohan Hovold	pinctrl-0 = <&pcie5_default>;
107103026046SJohan Hovold	pinctrl-names = "default";
107203026046SJohan Hovold
107303026046SJohan Hovold	status = "okay";
107403026046SJohan Hovold};
107503026046SJohan Hovold
107603026046SJohan Hovold&pcie5_phy {
107703026046SJohan Hovold	vdda-phy-supply = <&vreg_l3i_0p8>;
107803026046SJohan Hovold	vdda-pll-supply = <&vreg_l3e_1p2>;
107903026046SJohan Hovold
108003026046SJohan Hovold	status = "okay";
108103026046SJohan Hovold};
108203026046SJohan Hovold
108331eff589SAbel Vesa&pcie6a {
108431eff589SAbel Vesa	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
108531eff589SAbel Vesa	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
108631eff589SAbel Vesa
108731eff589SAbel Vesa	vddpe-3v3-supply = <&vreg_nvme>;
108831eff589SAbel Vesa
108931eff589SAbel Vesa	pinctrl-0 = <&pcie6a_default>;
109031eff589SAbel Vesa	pinctrl-names = "default";
109131eff589SAbel Vesa
109231eff589SAbel Vesa	status = "okay";
109331eff589SAbel Vesa};
109431eff589SAbel Vesa
109531eff589SAbel Vesa&pcie6a_phy {
109631eff589SAbel Vesa	vdda-phy-supply = <&vreg_l1d_0p8>;
109731eff589SAbel Vesa	vdda-pll-supply = <&vreg_l2j_1p2>;
109831eff589SAbel Vesa
109931eff589SAbel Vesa	status = "okay";
110031eff589SAbel Vesa};
110131eff589SAbel Vesa
110231eff589SAbel Vesa&pm8550_gpios {
110331eff589SAbel Vesa	rtmr0_default: rtmr0-reset-n-active-state {
110431eff589SAbel Vesa		pins = "gpio10";
110531eff589SAbel Vesa		function = "normal";
110631eff589SAbel Vesa		power-source = <1>; /* 1.8V */
110731eff589SAbel Vesa		bias-disable;
110831eff589SAbel Vesa		input-disable;
110931eff589SAbel Vesa		output-enable;
111031eff589SAbel Vesa	};
111131eff589SAbel Vesa
111231eff589SAbel Vesa	usb0_3p3_reg_en: usb0-3p3-reg-en-state {
111331eff589SAbel Vesa		pins = "gpio11";
111431eff589SAbel Vesa		function = "normal";
111531eff589SAbel Vesa		power-source = <1>; /* 1.8V */
111631eff589SAbel Vesa		bias-disable;
111731eff589SAbel Vesa		input-disable;
111831eff589SAbel Vesa		output-enable;
111931eff589SAbel Vesa	};
112031eff589SAbel Vesa};
112131eff589SAbel Vesa
112255e52d05SJohan Hovold&pm8550ve_8_gpios {
112355e52d05SJohan Hovold	misc_3p3_reg_en: misc-3p3-reg-en-state {
112455e52d05SJohan Hovold		pins = "gpio6";
112555e52d05SJohan Hovold		function = "normal";
112655e52d05SJohan Hovold		bias-disable;
112755e52d05SJohan Hovold		drive-push-pull;
112855e52d05SJohan Hovold		input-disable;
112955e52d05SJohan Hovold		output-enable;
113055e52d05SJohan Hovold		power-source = <1>; /* 1.8 V */
113155e52d05SJohan Hovold		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
113255e52d05SJohan Hovold	};
113355e52d05SJohan Hovold};
113455e52d05SJohan Hovold
113531eff589SAbel Vesa&pm8550ve_9_gpios {
113631eff589SAbel Vesa	usb0_1p8_reg_en: usb0-1p8-reg-en-state {
113731eff589SAbel Vesa		pins = "gpio8";
113831eff589SAbel Vesa		function = "normal";
113931eff589SAbel Vesa		power-source = <1>; /* 1.8V */
114031eff589SAbel Vesa		bias-disable;
114131eff589SAbel Vesa		input-disable;
114231eff589SAbel Vesa		output-enable;
114331eff589SAbel Vesa	};
114431eff589SAbel Vesa};
114531eff589SAbel Vesa
114631eff589SAbel Vesa&pmc8380_3_gpios {
114731eff589SAbel Vesa	edp_bl_en: edp-bl-en-state {
114831eff589SAbel Vesa		pins = "gpio4";
114931eff589SAbel Vesa		function = "normal";
115031eff589SAbel Vesa		power-source = <1>;
115131eff589SAbel Vesa		input-disable;
115231eff589SAbel Vesa		output-enable;
115331eff589SAbel Vesa	};
115431eff589SAbel Vesa};
115531eff589SAbel Vesa
115631eff589SAbel Vesa&pmc8380_5_gpios {
115731eff589SAbel Vesa	usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
115831eff589SAbel Vesa		pins = "gpio8";
115931eff589SAbel Vesa		function = "normal";
116031eff589SAbel Vesa		power-source = <1>; /* 1.8V */
116131eff589SAbel Vesa		bias-disable;
116231eff589SAbel Vesa		input-disable;
116331eff589SAbel Vesa		output-enable;
116431eff589SAbel Vesa	};
116531eff589SAbel Vesa};
116631eff589SAbel Vesa
116731eff589SAbel Vesa&qupv3_0 {
116831eff589SAbel Vesa	status = "okay";
116931eff589SAbel Vesa};
117031eff589SAbel Vesa
117131eff589SAbel Vesa&qupv3_1 {
117231eff589SAbel Vesa	status = "okay";
117331eff589SAbel Vesa};
117431eff589SAbel Vesa
117531eff589SAbel Vesa&qupv3_2 {
117631eff589SAbel Vesa	status = "okay";
117731eff589SAbel Vesa};
117831eff589SAbel Vesa
117931eff589SAbel Vesa&remoteproc_adsp {
118031eff589SAbel Vesa	firmware-name = "qcom/x1e80100/LENOVO/21N1/qcadsp8380.mbn",
118131eff589SAbel Vesa			"qcom/x1e80100/LENOVO/21N1/adsp_dtbs.elf";
118231eff589SAbel Vesa
118331eff589SAbel Vesa	status = "okay";
118431eff589SAbel Vesa};
118531eff589SAbel Vesa
118631eff589SAbel Vesa&remoteproc_cdsp {
118731eff589SAbel Vesa	firmware-name = "qcom/x1e80100/LENOVO/21N1/qccdsp8380.mbn",
118831eff589SAbel Vesa			"qcom/x1e80100/LENOVO/21N1/cdsp_dtbs.elf";
118931eff589SAbel Vesa
119031eff589SAbel Vesa	status = "okay";
119131eff589SAbel Vesa};
119231eff589SAbel Vesa
119331eff589SAbel Vesa&smb2360_0 {
119431eff589SAbel Vesa	status = "okay";
119531eff589SAbel Vesa};
119631eff589SAbel Vesa
119731eff589SAbel Vesa&smb2360_0_eusb2_repeater {
119831eff589SAbel Vesa	vdd18-supply = <&vreg_l3d_1p8>;
119931eff589SAbel Vesa	vdd3-supply = <&vreg_l2b_3p0>;
120031eff589SAbel Vesa};
120131eff589SAbel Vesa
120231eff589SAbel Vesa&smb2360_1 {
120331eff589SAbel Vesa	status = "okay";
120431eff589SAbel Vesa};
120531eff589SAbel Vesa
120631eff589SAbel Vesa&smb2360_1_eusb2_repeater {
120731eff589SAbel Vesa	vdd18-supply = <&vreg_l3d_1p8>;
120831eff589SAbel Vesa	vdd3-supply = <&vreg_l14b_3p0>;
120931eff589SAbel Vesa};
121031eff589SAbel Vesa
121131eff589SAbel Vesa&swr0 {
121231eff589SAbel Vesa	status = "okay";
121331eff589SAbel Vesa
121431eff589SAbel Vesa	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
121531eff589SAbel Vesa	pinctrl-names = "default";
121631eff589SAbel Vesa
121731eff589SAbel Vesa	/* WSA8845, Left Speaker */
121831eff589SAbel Vesa	left_spkr: speaker@0,0 {
121931eff589SAbel Vesa		compatible = "sdw20217020400";
122031eff589SAbel Vesa		reg = <0 0>;
122131eff589SAbel Vesa		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
122231eff589SAbel Vesa		#sound-dai-cells = <0>;
122331eff589SAbel Vesa		sound-name-prefix = "SpkrLeft";
122431eff589SAbel Vesa		vdd-1p8-supply = <&vreg_l15b_1p8>;
122531eff589SAbel Vesa		vdd-io-supply = <&vreg_l12b_1p2>;
122631eff589SAbel Vesa		qcom,port-mapping = <1 2 3 7 10 13>;
122731eff589SAbel Vesa	};
122831eff589SAbel Vesa
122931eff589SAbel Vesa	/* WSA8845, Right Speaker */
123031eff589SAbel Vesa	right_spkr: speaker@0,1 {
123131eff589SAbel Vesa		compatible = "sdw20217020400";
123231eff589SAbel Vesa		reg = <0 1>;
123331eff589SAbel Vesa		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
123431eff589SAbel Vesa		#sound-dai-cells = <0>;
123531eff589SAbel Vesa		sound-name-prefix = "SpkrRight";
123631eff589SAbel Vesa		vdd-1p8-supply = <&vreg_l15b_1p8>;
123731eff589SAbel Vesa		vdd-io-supply = <&vreg_l12b_1p2>;
123831eff589SAbel Vesa		qcom,port-mapping = <4 5 6 7 11 13>;
123931eff589SAbel Vesa	};
124031eff589SAbel Vesa};
124131eff589SAbel Vesa
124231eff589SAbel Vesa&swr1 {
124331eff589SAbel Vesa	status = "okay";
124431eff589SAbel Vesa
124531eff589SAbel Vesa	/* WCD9385 RX */
124631eff589SAbel Vesa	wcd_rx: codec@0,4 {
124731eff589SAbel Vesa		compatible = "sdw20217010d00";
124831eff589SAbel Vesa		reg = <0 4>;
124931eff589SAbel Vesa		qcom,rx-port-mapping = <1 2 3 4 5>;
125031eff589SAbel Vesa	};
125131eff589SAbel Vesa};
125231eff589SAbel Vesa
125331eff589SAbel Vesa&swr2 {
125431eff589SAbel Vesa	status = "okay";
125531eff589SAbel Vesa
125631eff589SAbel Vesa	/* WCD9385 TX */
125731eff589SAbel Vesa	wcd_tx: codec@0,3 {
125831eff589SAbel Vesa		compatible = "sdw20217010d00";
125931eff589SAbel Vesa		reg = <0 3>;
126031eff589SAbel Vesa		qcom,tx-port-mapping = <2 2 3 4>;
126131eff589SAbel Vesa	};
126231eff589SAbel Vesa};
126331eff589SAbel Vesa
126431eff589SAbel Vesa&tlmm {
126531eff589SAbel Vesa	gpio-reserved-ranges = <34 2>, /* Unused */
126631eff589SAbel Vesa			       <44 4>, /* SPI (TPM) */
126731eff589SAbel Vesa			       <72 2>, /* Secure EC I2C connection (?) */
126831eff589SAbel Vesa			       <238 1>; /* UFS Reset */
126931eff589SAbel Vesa
127031eff589SAbel Vesa	eusb3_reset_n: eusb3-reset-n-state {
127131eff589SAbel Vesa		pins = "gpio6";
127231eff589SAbel Vesa		function = "gpio";
127331eff589SAbel Vesa		drive-strength = <2>;
127431eff589SAbel Vesa		bias-disable;
127531eff589SAbel Vesa		output-low;
127631eff589SAbel Vesa	};
127731eff589SAbel Vesa
127831eff589SAbel Vesa	eusb5_reset_n: eusb5-reset-n-state {
127931eff589SAbel Vesa		pins = "gpio7";
128031eff589SAbel Vesa		function = "gpio";
128131eff589SAbel Vesa		drive-strength = <2>;
128231eff589SAbel Vesa		bias-disable;
128331eff589SAbel Vesa		output-low;
128431eff589SAbel Vesa	};
128531eff589SAbel Vesa
128631eff589SAbel Vesa	eusb6_reset_n: eusb6-reset-n-state {
128731eff589SAbel Vesa		pins = "gpio184";
128831eff589SAbel Vesa		function = "gpio";
128931eff589SAbel Vesa		drive-strength = <2>;
129031eff589SAbel Vesa		bias-disable;
129131eff589SAbel Vesa		output-low;
129231eff589SAbel Vesa	};
129331eff589SAbel Vesa
129431eff589SAbel Vesa	tpad_default: tpad-default-state {
129531eff589SAbel Vesa		pins = "gpio3";
129631eff589SAbel Vesa		function = "gpio";
129731eff589SAbel Vesa		bias-pull-up;
129831eff589SAbel Vesa	};
129931eff589SAbel Vesa
130031eff589SAbel Vesa	nvme_reg_en: nvme-reg-en-state {
130131eff589SAbel Vesa		pins = "gpio18";
130231eff589SAbel Vesa		function = "gpio";
130331eff589SAbel Vesa		drive-strength = <2>;
130431eff589SAbel Vesa		bias-disable;
130531eff589SAbel Vesa	};
130631eff589SAbel Vesa
130731eff589SAbel Vesa	ts0_default: ts0-default-state {
130831eff589SAbel Vesa		reset-n-pins {
130931eff589SAbel Vesa			pins = "gpio48";
131031eff589SAbel Vesa			function = "gpio";
131131eff589SAbel Vesa			output-high;
131231eff589SAbel Vesa			drive-strength = <16>;
131331eff589SAbel Vesa		};
131431eff589SAbel Vesa
131531eff589SAbel Vesa		int-n-pins {
131631eff589SAbel Vesa			pins = "gpio51";
131731eff589SAbel Vesa			function = "gpio";
131831eff589SAbel Vesa			bias-disable;
131931eff589SAbel Vesa		};
132031eff589SAbel Vesa	};
132131eff589SAbel Vesa
132231eff589SAbel Vesa	kybd_default: kybd-default-state {
132331eff589SAbel Vesa		pins = "gpio67";
132431eff589SAbel Vesa		function = "gpio";
132531eff589SAbel Vesa		bias-disable;
132631eff589SAbel Vesa	};
132731eff589SAbel Vesa
132831eff589SAbel Vesa	edp_reg_en: edp-reg-en-state {
132931eff589SAbel Vesa		pins = "gpio70";
133031eff589SAbel Vesa		function = "gpio";
133131eff589SAbel Vesa		drive-strength = <16>;
133231eff589SAbel Vesa		bias-disable;
133331eff589SAbel Vesa	};
133431eff589SAbel Vesa
133531eff589SAbel Vesa	hall_int_n_default: hall-int-n-state {
133631eff589SAbel Vesa		pins = "gpio92";
133731eff589SAbel Vesa		function = "gpio";
133831eff589SAbel Vesa		bias-disable;
133931eff589SAbel Vesa	};
134031eff589SAbel Vesa
134131eff589SAbel Vesa	pcie4_default: pcie4-default-state {
134231eff589SAbel Vesa		clkreq-n-pins {
134331eff589SAbel Vesa			pins = "gpio147";
134431eff589SAbel Vesa			function = "pcie4_clk";
134531eff589SAbel Vesa			drive-strength = <2>;
134631eff589SAbel Vesa			bias-pull-up;
134731eff589SAbel Vesa		};
134831eff589SAbel Vesa
134931eff589SAbel Vesa		perst-n-pins {
135031eff589SAbel Vesa			pins = "gpio146";
135131eff589SAbel Vesa			function = "gpio";
135231eff589SAbel Vesa			drive-strength = <2>;
135331eff589SAbel Vesa			bias-disable;
135431eff589SAbel Vesa		};
135531eff589SAbel Vesa
135631eff589SAbel Vesa		wake-n-pins {
135731eff589SAbel Vesa			pins = "gpio148";
135831eff589SAbel Vesa			function = "gpio";
135931eff589SAbel Vesa			drive-strength = <2>;
136031eff589SAbel Vesa			bias-pull-up;
136131eff589SAbel Vesa		};
136231eff589SAbel Vesa	};
136331eff589SAbel Vesa
136403026046SJohan Hovold	pcie5_default: pcie5-default-state {
136503026046SJohan Hovold		clkreq-n-pins {
136603026046SJohan Hovold			pins = "gpio150";
136703026046SJohan Hovold			function = "pcie5_clk";
136803026046SJohan Hovold			drive-strength = <2>;
136903026046SJohan Hovold			bias-pull-up;
137003026046SJohan Hovold		};
137103026046SJohan Hovold
137203026046SJohan Hovold		perst-n-pins {
137303026046SJohan Hovold			pins = "gpio149";
137403026046SJohan Hovold			function = "gpio";
137503026046SJohan Hovold			drive-strength = <2>;
137603026046SJohan Hovold			bias-disable;
137703026046SJohan Hovold		};
137803026046SJohan Hovold
137903026046SJohan Hovold		wake-n-pins {
138003026046SJohan Hovold			pins = "gpio151";
138103026046SJohan Hovold			function = "gpio";
138203026046SJohan Hovold			drive-strength = <2>;
138303026046SJohan Hovold			bias-pull-up;
138403026046SJohan Hovold		};
138503026046SJohan Hovold	};
138603026046SJohan Hovold
138731eff589SAbel Vesa	pcie6a_default: pcie6a-default-state {
138831eff589SAbel Vesa		clkreq-n-pins {
138931eff589SAbel Vesa			pins = "gpio153";
139031eff589SAbel Vesa			function = "pcie6a_clk";
139131eff589SAbel Vesa			drive-strength = <2>;
139231eff589SAbel Vesa			bias-pull-up;
139331eff589SAbel Vesa		};
139431eff589SAbel Vesa
139531eff589SAbel Vesa		perst-n-pins {
139631eff589SAbel Vesa			pins = "gpio152";
139731eff589SAbel Vesa			function = "gpio";
139831eff589SAbel Vesa			drive-strength = <2>;
139931eff589SAbel Vesa			bias-disable;
140031eff589SAbel Vesa		};
140131eff589SAbel Vesa
140231eff589SAbel Vesa		wake-n-pins {
140331eff589SAbel Vesa			pins = "gpio154";
140431eff589SAbel Vesa			function = "gpio";
140531eff589SAbel Vesa			drive-strength = <2>;
140631eff589SAbel Vesa			bias-pull-up;
140731eff589SAbel Vesa		};
140831eff589SAbel Vesa	};
140931eff589SAbel Vesa
141031eff589SAbel Vesa	rtmr1_default: rtmr1-reset-n-active-state {
141131eff589SAbel Vesa		pins = "gpio176";
141231eff589SAbel Vesa		function = "gpio";
141331eff589SAbel Vesa		drive-strength = <2>;
141431eff589SAbel Vesa		bias-disable;
141531eff589SAbel Vesa	};
141631eff589SAbel Vesa
1417*5603525eSSrinivas Kandagatla	us_euro_hs_sel: us-euro-hs-sel-state {
1418*5603525eSSrinivas Kandagatla		pins = "gpio68";
1419*5603525eSSrinivas Kandagatla		function = "gpio";
1420*5603525eSSrinivas Kandagatla		bias-pull-down;
1421*5603525eSSrinivas Kandagatla		drive-strength = <2>;
1422*5603525eSSrinivas Kandagatla	};
1423*5603525eSSrinivas Kandagatla
142431eff589SAbel Vesa	usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
142531eff589SAbel Vesa		pins = "gpio188";
142631eff589SAbel Vesa		function = "gpio";
142731eff589SAbel Vesa		drive-strength = <2>;
142831eff589SAbel Vesa		bias-disable;
142931eff589SAbel Vesa	};
143031eff589SAbel Vesa
143131eff589SAbel Vesa	usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
143231eff589SAbel Vesa		pins = "gpio175";
143331eff589SAbel Vesa		function = "gpio";
143431eff589SAbel Vesa		drive-strength = <2>;
143531eff589SAbel Vesa		bias-disable;
143631eff589SAbel Vesa	};
143731eff589SAbel Vesa
143831eff589SAbel Vesa	usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
143931eff589SAbel Vesa		pins = "gpio186";
144031eff589SAbel Vesa		function = "gpio";
144131eff589SAbel Vesa		drive-strength = <2>;
144231eff589SAbel Vesa		bias-disable;
144331eff589SAbel Vesa	};
144431eff589SAbel Vesa
144531eff589SAbel Vesa	wcd_default: wcd-reset-n-active-state {
144631eff589SAbel Vesa		pins = "gpio191";
144731eff589SAbel Vesa		function = "gpio";
144831eff589SAbel Vesa		drive-strength = <16>;
144931eff589SAbel Vesa		bias-disable;
145031eff589SAbel Vesa		output-low;
145131eff589SAbel Vesa	};
145203026046SJohan Hovold
145303026046SJohan Hovold	wwan_sw_en: wwan-sw-en-state {
145403026046SJohan Hovold		pins = "gpio221";
145503026046SJohan Hovold		function = "gpio";
145603026046SJohan Hovold		drive-strength = <4>;
145703026046SJohan Hovold		bias-disable;
145803026046SJohan Hovold	};
145931eff589SAbel Vesa};
146031eff589SAbel Vesa
146131eff589SAbel Vesa&usb_1_ss0_hsphy {
146231eff589SAbel Vesa	vdd-supply = <&vreg_l3j_0p8>;
146331eff589SAbel Vesa	vdda12-supply = <&vreg_l2j_1p2>;
146431eff589SAbel Vesa
146531eff589SAbel Vesa	phys = <&smb2360_0_eusb2_repeater>;
146631eff589SAbel Vesa
146731eff589SAbel Vesa	status = "okay";
146831eff589SAbel Vesa};
146931eff589SAbel Vesa
147031eff589SAbel Vesa&usb_1_ss0_qmpphy {
147131eff589SAbel Vesa	vdda-phy-supply = <&vreg_l2j_1p2>;
147231eff589SAbel Vesa	vdda-pll-supply = <&vreg_l1j_0p8>;
147331eff589SAbel Vesa
147431eff589SAbel Vesa	status = "okay";
147531eff589SAbel Vesa};
147631eff589SAbel Vesa
147731eff589SAbel Vesa&usb_1_ss0 {
147831eff589SAbel Vesa	status = "okay";
147931eff589SAbel Vesa};
148031eff589SAbel Vesa
148131eff589SAbel Vesa&usb_1_ss0_dwc3 {
148231eff589SAbel Vesa	dr_mode = "host";
148331eff589SAbel Vesa};
148431eff589SAbel Vesa
148531eff589SAbel Vesa&usb_1_ss0_dwc3_hs {
148631eff589SAbel Vesa	remote-endpoint = <&pmic_glink_ss0_hs_in>;
148731eff589SAbel Vesa};
148831eff589SAbel Vesa
148931eff589SAbel Vesa&usb_1_ss0_qmpphy_out {
149031eff589SAbel Vesa	remote-endpoint = <&retimer_ss0_ss_in>;
149131eff589SAbel Vesa};
149231eff589SAbel Vesa
149331eff589SAbel Vesa&usb_1_ss1_hsphy {
149431eff589SAbel Vesa	vdd-supply = <&vreg_l3j_0p8>;
149531eff589SAbel Vesa	vdda12-supply = <&vreg_l2j_1p2>;
149631eff589SAbel Vesa
149731eff589SAbel Vesa	phys = <&smb2360_1_eusb2_repeater>;
149831eff589SAbel Vesa
149931eff589SAbel Vesa	status = "okay";
150031eff589SAbel Vesa};
150131eff589SAbel Vesa
150231eff589SAbel Vesa&usb_1_ss1_qmpphy {
150331eff589SAbel Vesa	vdda-phy-supply = <&vreg_l2j_1p2>;
150431eff589SAbel Vesa	vdda-pll-supply = <&vreg_l2d_0p9>;
150531eff589SAbel Vesa
150631eff589SAbel Vesa	status = "okay";
150731eff589SAbel Vesa};
150831eff589SAbel Vesa
150931eff589SAbel Vesa&usb_1_ss1 {
151031eff589SAbel Vesa	status = "okay";
151131eff589SAbel Vesa};
151231eff589SAbel Vesa
151331eff589SAbel Vesa&usb_1_ss1_dwc3 {
151431eff589SAbel Vesa	dr_mode = "host";
151531eff589SAbel Vesa};
151631eff589SAbel Vesa
151731eff589SAbel Vesa&usb_1_ss1_dwc3_hs {
151831eff589SAbel Vesa	remote-endpoint = <&pmic_glink_ss1_hs_in>;
151931eff589SAbel Vesa};
152031eff589SAbel Vesa
152131eff589SAbel Vesa&usb_1_ss1_qmpphy_out {
152231eff589SAbel Vesa	remote-endpoint = <&retimer_ss1_ss_in>;
152331eff589SAbel Vesa};
152431eff589SAbel Vesa
152531eff589SAbel Vesa&usb_2 {
152631eff589SAbel Vesa	status = "okay";
152731eff589SAbel Vesa};
152831eff589SAbel Vesa
152931eff589SAbel Vesa&usb_2_dwc3 {
153031eff589SAbel Vesa	dr_mode = "host";
153131eff589SAbel Vesa};
153231eff589SAbel Vesa
153331eff589SAbel Vesa&usb_2_hsphy {
153431eff589SAbel Vesa	vdd-supply = <&vreg_l2e_0p8>;
153531eff589SAbel Vesa	vdda12-supply = <&vreg_l3e_1p2>;
153631eff589SAbel Vesa
153731eff589SAbel Vesa	phys = <&eusb5_repeater>;
153831eff589SAbel Vesa
153931eff589SAbel Vesa	status = "okay";
154031eff589SAbel Vesa};
154131eff589SAbel Vesa
154231eff589SAbel Vesa&usb_mp {
154331eff589SAbel Vesa	status = "okay";
154431eff589SAbel Vesa};
154531eff589SAbel Vesa
154631eff589SAbel Vesa&usb_mp_hsphy0 {
154731eff589SAbel Vesa	vdd-supply = <&vreg_l2e_0p8>;
154831eff589SAbel Vesa	vdda12-supply = <&vreg_l3e_1p2>;
154931eff589SAbel Vesa
155031eff589SAbel Vesa	phys = <&eusb6_repeater>;
155131eff589SAbel Vesa
155231eff589SAbel Vesa	status = "okay";
155331eff589SAbel Vesa};
155431eff589SAbel Vesa
155531eff589SAbel Vesa&usb_mp_hsphy1 {
155631eff589SAbel Vesa	vdd-supply = <&vreg_l2e_0p8>;
155731eff589SAbel Vesa	vdda12-supply = <&vreg_l3e_1p2>;
155831eff589SAbel Vesa
155931eff589SAbel Vesa	phys = <&eusb3_repeater>;
156031eff589SAbel Vesa
156131eff589SAbel Vesa	status = "okay";
156231eff589SAbel Vesa};
156331eff589SAbel Vesa
156431eff589SAbel Vesa&usb_mp_qmpphy0 {
156531eff589SAbel Vesa	vdda-phy-supply = <&vreg_l3e_1p2>;
156631eff589SAbel Vesa	vdda-pll-supply = <&vreg_l3c_0p8>;
156731eff589SAbel Vesa
156831eff589SAbel Vesa	status = "okay";
156931eff589SAbel Vesa};
157031eff589SAbel Vesa
157131eff589SAbel Vesa&usb_mp_qmpphy1 {
157231eff589SAbel Vesa	vdda-phy-supply = <&vreg_l3e_1p2>;
157331eff589SAbel Vesa	vdda-pll-supply = <&vreg_l3c_0p8>;
157431eff589SAbel Vesa
157531eff589SAbel Vesa	status = "okay";
157631eff589SAbel Vesa};
1577