162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
462306a36Sopenharmony_ci * Copyright (c) 2020-2023, Linaro Limited
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/dts-v1/;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1062306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h>
1162306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1262306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1362306a36Sopenharmony_ci#include "sc8180x.dtsi"
1462306a36Sopenharmony_ci#include "sc8180x-pmics.dtsi"
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci/ {
1762306a36Sopenharmony_ci	model = "Lenovo Flex 5G";
1862306a36Sopenharmony_ci	compatible = "lenovo,flex-5g", "qcom,sc8180x";
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	aliases {
2162306a36Sopenharmony_ci		serial0 = &uart13;
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	backlight: backlight {
2562306a36Sopenharmony_ci		compatible = "pwm-backlight";
2662306a36Sopenharmony_ci		pwms = <&pmc8180c_lpg 4 1000000>;
2762306a36Sopenharmony_ci		enable-gpios = <&pmc8180c_gpios 8 GPIO_ACTIVE_HIGH>;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		pinctrl-0 = <&bl_pwm_default>;
3062306a36Sopenharmony_ci		pinctrl-names = "default";
3162306a36Sopenharmony_ci	};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	gpio-keys {
3462306a36Sopenharmony_ci		compatible = "gpio-keys";
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		pinctrl-0 = <&hall_int_active_state>;
3762306a36Sopenharmony_ci		pinctrl-names = "default";
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci		lid-switch {
4062306a36Sopenharmony_ci			gpios = <&tlmm 121 GPIO_ACTIVE_LOW>;
4162306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
4262306a36Sopenharmony_ci			linux,code = <SW_LID>;
4362306a36Sopenharmony_ci			wakeup-source;
4462306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_DEASSERTED>;
4562306a36Sopenharmony_ci		};
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	pmic-glink {
4962306a36Sopenharmony_ci		compatible = "qcom,sc8180x-pmic-glink", "qcom,pmic-glink";
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		#address-cells = <1>;
5262306a36Sopenharmony_ci		#size-cells = <0>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		connector@0 {
5562306a36Sopenharmony_ci			compatible = "usb-c-connector";
5662306a36Sopenharmony_ci			reg = <0>;
5762306a36Sopenharmony_ci			power-role = "dual";
5862306a36Sopenharmony_ci			data-role = "dual";
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci			ports {
6162306a36Sopenharmony_ci				#address-cells = <1>;
6262306a36Sopenharmony_ci				#size-cells = <0>;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci				port@0 {
6562306a36Sopenharmony_ci					reg = <0>;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci					pmic_glink_con0_hs: endpoint {
6862306a36Sopenharmony_ci						remote-endpoint = <&usb_prim_role_switch>;
6962306a36Sopenharmony_ci					};
7062306a36Sopenharmony_ci				};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci				port@1 {
7362306a36Sopenharmony_ci					reg = <1>;
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci					pmic_glink_con0_ss: endpoint {
7662306a36Sopenharmony_ci						remote-endpoint = <&usb_prim_qmpphy_out>;
7762306a36Sopenharmony_ci					};
7862306a36Sopenharmony_ci				};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci				port@2 {
8162306a36Sopenharmony_ci					reg = <2>;
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci					pmic_glink_con0_sbu: endpoint {
8462306a36Sopenharmony_ci						remote-endpoint = <&usbprim_sbu_mux>;
8562306a36Sopenharmony_ci					};
8662306a36Sopenharmony_ci				};
8762306a36Sopenharmony_ci			};
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci		connector@1 {
9162306a36Sopenharmony_ci			compatible = "usb-c-connector";
9262306a36Sopenharmony_ci			reg = <1>;
9362306a36Sopenharmony_ci			power-role = "dual";
9462306a36Sopenharmony_ci			data-role = "dual";
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci			ports {
9762306a36Sopenharmony_ci				#address-cells = <1>;
9862306a36Sopenharmony_ci				#size-cells = <0>;
9962306a36Sopenharmony_ci				port@0 {
10062306a36Sopenharmony_ci					reg = <0>;
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci					pmic_glink_con1_hs: endpoint {
10362306a36Sopenharmony_ci						remote-endpoint = <&usb_sec_role_switch>;
10462306a36Sopenharmony_ci					};
10562306a36Sopenharmony_ci				};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci				port@1 {
10862306a36Sopenharmony_ci					reg = <1>;
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci					pmic_glink_con1_ss: endpoint {
11162306a36Sopenharmony_ci						remote-endpoint = <&usb_sec_qmpphy_out>;
11262306a36Sopenharmony_ci					};
11362306a36Sopenharmony_ci				};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci				port@2 {
11662306a36Sopenharmony_ci					reg = <2>;
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci					pmic_glink_con1_sbu: endpoint {
11962306a36Sopenharmony_ci						remote-endpoint = <&usbsec_sbu_mux>;
12062306a36Sopenharmony_ci					};
12162306a36Sopenharmony_ci				};
12262306a36Sopenharmony_ci			};
12362306a36Sopenharmony_ci		};
12462306a36Sopenharmony_ci	};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci	reserved-memory {
12762306a36Sopenharmony_ci		rmtfs_mem: rmtfs-region@85500000 {
12862306a36Sopenharmony_ci			compatible = "qcom,rmtfs-mem";
12962306a36Sopenharmony_ci			reg = <0x0 0x85500000 0x0 0x200000>;
13062306a36Sopenharmony_ci			no-map;
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci			qcom,client-id = <1>;
13362306a36Sopenharmony_ci			qcom,vmid = <15>;
13462306a36Sopenharmony_ci		};
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci		wlan_mem: wlan-region@8bc00000 {
13762306a36Sopenharmony_ci			reg = <0x0 0x8bc00000 0x0 0x180000>;
13862306a36Sopenharmony_ci			no-map;
13962306a36Sopenharmony_ci		};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci		mpss_mem: mpss-region@8d800000 {
14262306a36Sopenharmony_ci			reg = <0x0 0x8d800000 0x0 0x3000000>;
14362306a36Sopenharmony_ci			no-map;
14462306a36Sopenharmony_ci		};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci		adsp_mem: adsp-region@90800000 {
14762306a36Sopenharmony_ci			reg = <0x0 0x90800000 0x0 0x1c00000>;
14862306a36Sopenharmony_ci			no-map;
14962306a36Sopenharmony_ci		};
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci		gpu_mem: gpu-region@98715000 {
15262306a36Sopenharmony_ci			reg = <0x0 0x98715000 0x0 0x2000>;
15362306a36Sopenharmony_ci			no-map;
15462306a36Sopenharmony_ci		};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci		cdsp_mem: cdsp-region@98900000 {
15762306a36Sopenharmony_ci			reg = <0x0 0x98900000 0x0 0x1400000>;
15862306a36Sopenharmony_ci			no-map;
15962306a36Sopenharmony_ci		};
16062306a36Sopenharmony_ci	};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	vph_pwr: vph-pwr-regulator {
16362306a36Sopenharmony_ci		compatible = "regulator-fixed";
16462306a36Sopenharmony_ci		regulator-name = "vph_pwr";
16562306a36Sopenharmony_ci		regulator-min-microvolt = <3700000>;
16662306a36Sopenharmony_ci		regulator-max-microvolt = <3700000>;
16762306a36Sopenharmony_ci	};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci	vreg_s4a_1p8: pm8150-s4-regulator {
17062306a36Sopenharmony_ci		compatible = "regulator-fixed";
17162306a36Sopenharmony_ci		regulator-name = "vreg_s4a_1p8";
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
17462306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci		regulator-always-on;
17762306a36Sopenharmony_ci		regulator-boot-on;
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci		vin-supply = <&vph_pwr>;
18062306a36Sopenharmony_ci	};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci	usbprim-sbu-mux {
18362306a36Sopenharmony_ci		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci		enable-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
18662306a36Sopenharmony_ci		select-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci		pinctrl-names = "default";
18962306a36Sopenharmony_ci		pinctrl-0 = <&usbprim_sbu_default>;
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci		mode-switch;
19262306a36Sopenharmony_ci		orientation-switch;
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		port {
19562306a36Sopenharmony_ci			usbprim_sbu_mux: endpoint {
19662306a36Sopenharmony_ci				remote-endpoint = <&pmic_glink_con0_sbu>;
19762306a36Sopenharmony_ci			};
19862306a36Sopenharmony_ci		};
19962306a36Sopenharmony_ci	};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	usbsec-sbu-mux {
20262306a36Sopenharmony_ci		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci		enable-gpios = <&tlmm 188 GPIO_ACTIVE_LOW>;
20562306a36Sopenharmony_ci		select-gpios = <&tlmm 187 GPIO_ACTIVE_HIGH>;
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci		pinctrl-names = "default";
20862306a36Sopenharmony_ci		pinctrl-0 = <&usbsec_sbu_default>;
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci		mode-switch;
21162306a36Sopenharmony_ci		orientation-switch;
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci		port {
21462306a36Sopenharmony_ci			usbsec_sbu_mux: endpoint {
21562306a36Sopenharmony_ci				remote-endpoint = <&pmic_glink_con1_sbu>;
21662306a36Sopenharmony_ci			};
21762306a36Sopenharmony_ci		};
21862306a36Sopenharmony_ci	};
21962306a36Sopenharmony_ci};
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci&apps_rsc {
22262306a36Sopenharmony_ci	regulators-0 {
22362306a36Sopenharmony_ci		compatible = "qcom,pmc8180-rpmh-regulators";
22462306a36Sopenharmony_ci		qcom,pmic-id = "a";
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci		vdd-s5-supply = <&vph_pwr>;
22762306a36Sopenharmony_ci		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci		vreg_s5a_2p0: smps5 {
23062306a36Sopenharmony_ci			regulator-min-microvolt = <2040000>;
23162306a36Sopenharmony_ci			regulator-max-microvolt = <2100000>;
23262306a36Sopenharmony_ci		};
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci		vreg_l7a_1p8: ldo7 {
23562306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
23662306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
23762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23862306a36Sopenharmony_ci		};
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci		vreg_l9a_1p3: ldo9 {
24162306a36Sopenharmony_ci			regulator-min-microvolt = <1296000>;
24262306a36Sopenharmony_ci			regulator-max-microvolt = <1304000>;
24362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24462306a36Sopenharmony_ci		};
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci		vreg_l12a_1p8: ldo12 {
24762306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
24862306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
24962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25062306a36Sopenharmony_ci		};
25162306a36Sopenharmony_ci	};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci	regulators-1 {
25462306a36Sopenharmony_ci		compatible = "qcom,pmc8180c-rpmh-regulators";
25562306a36Sopenharmony_ci		qcom,pmic-id = "c";
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci		vdd-s6-supply = <&vph_pwr>;
25862306a36Sopenharmony_ci		vdd-l2-l3-supply = <&vreg_s6c_1p35>;
25962306a36Sopenharmony_ci		vdd-bob-supply = <&vph_pwr>;
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci		vreg_s6c_1p35: smps6 {
26262306a36Sopenharmony_ci			regulator-min-microvolt = <1350000>;
26362306a36Sopenharmony_ci			regulator-max-microvolt = <1372000>;
26462306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26562306a36Sopenharmony_ci		};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci		vreg_l3c_1p2: ldo3 {
26862306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
26962306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
27062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
27162306a36Sopenharmony_ci		};
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci		vreg_l10c_3p3: ldo10 {
27462306a36Sopenharmony_ci			regulator-min-microvolt = <3000000>;
27562306a36Sopenharmony_ci			regulator-max-microvolt = <3312000>;
27662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
27762306a36Sopenharmony_ci		};
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ci		vreg_l11c_3p3: ldo11 {
28062306a36Sopenharmony_ci			regulator-min-microvolt = <3296000>;
28162306a36Sopenharmony_ci			regulator-max-microvolt = <3304000>;
28262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28362306a36Sopenharmony_ci		};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci		vreg_bob: bob {
28662306a36Sopenharmony_ci			regulator-min-microvolt = <3296000>;
28762306a36Sopenharmony_ci			regulator-max-microvolt = <3350000>;
28862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28962306a36Sopenharmony_ci		};
29062306a36Sopenharmony_ci	};
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ci	regulators-2 {
29362306a36Sopenharmony_ci		compatible = "qcom,pmc8180-rpmh-regulators";
29462306a36Sopenharmony_ci		qcom,pmic-id = "e";
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci		vdd-s4-supply = <&vph_pwr>;
29762306a36Sopenharmony_ci		vdd-s5-supply = <&vph_pwr>;
29862306a36Sopenharmony_ci		vdd-l2-l10-supply = <&vreg_bob>;
29962306a36Sopenharmony_ci		vdd-l3-l4-l5-l18-supply = <&vreg_s4e_0p98>;
30062306a36Sopenharmony_ci		vdd-l7-l12-l14-l15-supply = <&vreg_s5e_2p05>;
30162306a36Sopenharmony_ci		vdd-l13-l16-l17-supply = <&vreg_bob>;
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci		vreg_s4e_0p98: smps4 {
30462306a36Sopenharmony_ci			regulator-min-microvolt = <992000>;
30562306a36Sopenharmony_ci			regulator-max-microvolt = <992000>;
30662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
30762306a36Sopenharmony_ci		};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci		vreg_s5e_2p05: smps5 {
31062306a36Sopenharmony_ci			regulator-min-microvolt = <2040000>;
31162306a36Sopenharmony_ci			regulator-max-microvolt = <2040000>;
31262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
31362306a36Sopenharmony_ci		};
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci		vreg_l1e_0p75: ldo1 {
31662306a36Sopenharmony_ci			regulator-min-microvolt = <752000>;
31762306a36Sopenharmony_ci			regulator-max-microvolt = <752000>;
31862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
31962306a36Sopenharmony_ci		};
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci		vreg_l5e_0p88: ldo5 {
32262306a36Sopenharmony_ci			regulator-min-microvolt = <880000>;
32362306a36Sopenharmony_ci			regulator-max-microvolt = <880000>;
32462306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
32562306a36Sopenharmony_ci		};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci		vreg_l7e_1p8: ldo7 {
32862306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
32962306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
33062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
33162306a36Sopenharmony_ci		};
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci		vreg_l10e_2p9: ldo10 {
33462306a36Sopenharmony_ci			regulator-min-microvolt = <2904000>;
33562306a36Sopenharmony_ci			regulator-max-microvolt = <2904000>;
33662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
33762306a36Sopenharmony_ci		};
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ci		vreg_l16e_3p0: ldo16 {
34062306a36Sopenharmony_ci			regulator-min-microvolt = <3072000>;
34162306a36Sopenharmony_ci			regulator-max-microvolt = <3072000>;
34262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
34362306a36Sopenharmony_ci		};
34462306a36Sopenharmony_ci	};
34562306a36Sopenharmony_ci};
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci&gpu {
34862306a36Sopenharmony_ci	status = "okay";
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci	zap-shader {
35162306a36Sopenharmony_ci		memory-region = <&gpu_mem>;
35262306a36Sopenharmony_ci		firmware-name = "qcom/sc8180x/qcdxkmsuc8180.mbn";
35362306a36Sopenharmony_ci	};
35462306a36Sopenharmony_ci};
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ci&i2c1 {
35762306a36Sopenharmony_ci	clock-frequency = <100000>;
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci	pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>;
36062306a36Sopenharmony_ci	pinctrl-names = "default";
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci	status = "okay";
36362306a36Sopenharmony_ci
36462306a36Sopenharmony_ci	hid@10 {
36562306a36Sopenharmony_ci		compatible = "hid-over-i2c";
36662306a36Sopenharmony_ci		reg = <0x10>;
36762306a36Sopenharmony_ci		hid-descr-addr = <0x1>;
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci		interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
37062306a36Sopenharmony_ci	};
37162306a36Sopenharmony_ci};
37262306a36Sopenharmony_ci
37362306a36Sopenharmony_ci&i2c7 {
37462306a36Sopenharmony_ci	clock-frequency = <100000>;
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_ci	pinctrl-0 = <&i2c7_active>, <&i2c7_hid_active>;
37762306a36Sopenharmony_ci	pinctrl-names = "default";
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci	status = "okay";
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci	hid@5 {
38262306a36Sopenharmony_ci		compatible = "hid-over-i2c";
38362306a36Sopenharmony_ci		reg = <0x5>;
38462306a36Sopenharmony_ci		hid-descr-addr = <0x20>;
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>;
38762306a36Sopenharmony_ci	};
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci	hid@2c {
39062306a36Sopenharmony_ci		compatible = "hid-over-i2c";
39162306a36Sopenharmony_ci		reg = <0x2c>;
39262306a36Sopenharmony_ci		hid-descr-addr = <0x20>;
39362306a36Sopenharmony_ci
39462306a36Sopenharmony_ci		interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
39562306a36Sopenharmony_ci	};
39662306a36Sopenharmony_ci};
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci&mdss {
39962306a36Sopenharmony_ci	status = "okay";
40062306a36Sopenharmony_ci};
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ci&mdss_dp0 {
40362306a36Sopenharmony_ci	status = "okay";
40462306a36Sopenharmony_ci};
40562306a36Sopenharmony_ci
40662306a36Sopenharmony_ci&mdss_dp0_out {
40762306a36Sopenharmony_ci	data-lanes = <0 1>;
40862306a36Sopenharmony_ci	remote-endpoint = <&usb_prim_qmpphy_dp_in>;
40962306a36Sopenharmony_ci};
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci&mdss_dp1 {
41262306a36Sopenharmony_ci	status = "okay";
41362306a36Sopenharmony_ci};
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ci&mdss_dp1_out {
41662306a36Sopenharmony_ci	data-lanes = <0 1>;
41762306a36Sopenharmony_ci	remote-endpoint = <&usb_sec_qmpphy_dp_in>;
41862306a36Sopenharmony_ci};
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci&mdss_edp {
42162306a36Sopenharmony_ci	data-lanes = <0 1 2 3>;
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci	pinctrl-0 = <&edp_hpd_active>;
42462306a36Sopenharmony_ci	pinctrl-names = "default";
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci	status = "okay";
42762306a36Sopenharmony_ci
42862306a36Sopenharmony_ci	aux-bus {
42962306a36Sopenharmony_ci		panel {
43062306a36Sopenharmony_ci			compatible = "edp-panel";
43162306a36Sopenharmony_ci			no-hpd;
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ci			backlight = <&backlight>;
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci			port {
43662306a36Sopenharmony_ci				auo_b140han06_in: endpoint {
43762306a36Sopenharmony_ci					remote-endpoint = <&mdss_edp_out>;
43862306a36Sopenharmony_ci				};
43962306a36Sopenharmony_ci			};
44062306a36Sopenharmony_ci		};
44162306a36Sopenharmony_ci	};
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci	ports {
44462306a36Sopenharmony_ci		port@1 {
44562306a36Sopenharmony_ci			reg = <1>;
44662306a36Sopenharmony_ci			mdss_edp_out: endpoint {
44762306a36Sopenharmony_ci				remote-endpoint = <&auo_b140han06_in>;
44862306a36Sopenharmony_ci			};
44962306a36Sopenharmony_ci		};
45062306a36Sopenharmony_ci	};
45162306a36Sopenharmony_ci};
45262306a36Sopenharmony_ci
45362306a36Sopenharmony_ci&pcie3 {
45462306a36Sopenharmony_ci	perst-gpio = <&tlmm 178 GPIO_ACTIVE_LOW>;
45562306a36Sopenharmony_ci	wake-gpio = <&tlmm 180 GPIO_ACTIVE_HIGH>;
45662306a36Sopenharmony_ci	pinctrl-0 = <&pcie3_default_state>;
45762306a36Sopenharmony_ci	pinctrl-names = "default";
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ci	status = "okay";
46062306a36Sopenharmony_ci};
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci&pcie3_phy {
46362306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l5e_0p88>;
46462306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l3c_1p2>;
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci	status = "okay";
46762306a36Sopenharmony_ci};
46862306a36Sopenharmony_ci
46962306a36Sopenharmony_ci&pmc8180c_lpg {
47062306a36Sopenharmony_ci	status = "okay";
47162306a36Sopenharmony_ci};
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci&qupv3_id_0 {
47462306a36Sopenharmony_ci	status = "okay";
47562306a36Sopenharmony_ci};
47662306a36Sopenharmony_ci
47762306a36Sopenharmony_ci&qupv3_id_1 {
47862306a36Sopenharmony_ci	status = "okay";
47962306a36Sopenharmony_ci};
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ci&qupv3_id_2 {
48262306a36Sopenharmony_ci	status = "okay";
48362306a36Sopenharmony_ci};
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci&remoteproc_adsp {
48662306a36Sopenharmony_ci	memory-region = <&adsp_mem>;
48762306a36Sopenharmony_ci	firmware-name = "qcom/sc8180x/LENOVO/82AK/qcadsp8180.mbn";
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci	status = "okay";
49062306a36Sopenharmony_ci};
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci&remoteproc_cdsp {
49362306a36Sopenharmony_ci	memory-region = <&cdsp_mem>;
49462306a36Sopenharmony_ci	firmware-name = "qcom/sc8180x/LENOVO/82AK/qccdsp8180.mbn";
49562306a36Sopenharmony_ci
49662306a36Sopenharmony_ci	status = "okay";
49762306a36Sopenharmony_ci};
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci&remoteproc_mpss {
50062306a36Sopenharmony_ci	memory-region = <&mpss_mem>;
50162306a36Sopenharmony_ci	firmware-name = "qcom/sc8180x/LENOVO/82AK/qcmpss8180_nm.mbn";
50262306a36Sopenharmony_ci
50362306a36Sopenharmony_ci	status = "okay";
50462306a36Sopenharmony_ci};
50562306a36Sopenharmony_ci
50662306a36Sopenharmony_ci&uart13 {
50762306a36Sopenharmony_ci	pinctrl-0 = <&uart13_state>;
50862306a36Sopenharmony_ci	pinctrl-names = "default";
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci	status = "okay";
51162306a36Sopenharmony_ci
51262306a36Sopenharmony_ci	bluetooth {
51362306a36Sopenharmony_ci		compatible = "qcom,wcn3998-bt";
51462306a36Sopenharmony_ci
51562306a36Sopenharmony_ci		vddio-supply = <&vreg_s4a_1p8>;
51662306a36Sopenharmony_ci		vddxo-supply = <&vreg_l7a_1p8>;
51762306a36Sopenharmony_ci		vddrf-supply = <&vreg_l9a_1p3>;
51862306a36Sopenharmony_ci		vddch0-supply = <&vreg_l11c_3p3>;
51962306a36Sopenharmony_ci		max-speed = <3200000>;
52062306a36Sopenharmony_ci	};
52162306a36Sopenharmony_ci};
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci&ufs_mem_hc {
52462306a36Sopenharmony_ci	reset-gpios = <&tlmm 190 GPIO_ACTIVE_LOW>;
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci	vcc-supply = <&vreg_l10e_2p9>;
52762306a36Sopenharmony_ci	vcc-max-microamp = <155000>;
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	vccq2-supply = <&vreg_l7e_1p8>;
53062306a36Sopenharmony_ci	vccq2-max-microamp = <425000>;
53162306a36Sopenharmony_ci
53262306a36Sopenharmony_ci	status = "okay";
53362306a36Sopenharmony_ci};
53462306a36Sopenharmony_ci
53562306a36Sopenharmony_ci&ufs_mem_phy {
53662306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l5e_0p88>;
53762306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l3c_1p2>;
53862306a36Sopenharmony_ci
53962306a36Sopenharmony_ci	status = "okay";
54062306a36Sopenharmony_ci};
54162306a36Sopenharmony_ci
54262306a36Sopenharmony_ci&usb_prim_hsphy {
54362306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l5e_0p88>;
54462306a36Sopenharmony_ci	vdda18-supply = <&vreg_l12a_1p8>;
54562306a36Sopenharmony_ci	vdda33-supply = <&vreg_l16e_3p0>;
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_ci	status = "okay";
54862306a36Sopenharmony_ci};
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci&usb_prim_qmpphy {
55162306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l3c_1p2>;
55262306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l5e_0p88>;
55362306a36Sopenharmony_ci
55462306a36Sopenharmony_ci	orientation-switch;
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ci	status = "okay";
55762306a36Sopenharmony_ci};
55862306a36Sopenharmony_ci
55962306a36Sopenharmony_ci&usb_prim {
56062306a36Sopenharmony_ci	status = "okay";
56162306a36Sopenharmony_ci};
56262306a36Sopenharmony_ci
56362306a36Sopenharmony_ci&usb_prim_dwc3 {
56462306a36Sopenharmony_ci	dr_mode = "host";
56562306a36Sopenharmony_ci};
56662306a36Sopenharmony_ci
56762306a36Sopenharmony_ci&usb_prim_qmpphy_dp_in {
56862306a36Sopenharmony_ci	remote-endpoint = <&mdss_dp0_out>;
56962306a36Sopenharmony_ci};
57062306a36Sopenharmony_ci
57162306a36Sopenharmony_ci&usb_prim_qmpphy_out {
57262306a36Sopenharmony_ci	remote-endpoint = <&pmic_glink_con0_ss>;
57362306a36Sopenharmony_ci};
57462306a36Sopenharmony_ci
57562306a36Sopenharmony_ci&usb_prim_role_switch {
57662306a36Sopenharmony_ci	remote-endpoint = <&pmic_glink_con0_hs>;
57762306a36Sopenharmony_ci};
57862306a36Sopenharmony_ci
57962306a36Sopenharmony_ci&usb_sec_hsphy {
58062306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l5e_0p88>;
58162306a36Sopenharmony_ci	vdda18-supply = <&vreg_l12a_1p8>;
58262306a36Sopenharmony_ci	vdda33-supply = <&vreg_l16e_3p0>;
58362306a36Sopenharmony_ci
58462306a36Sopenharmony_ci	status = "okay";
58562306a36Sopenharmony_ci};
58662306a36Sopenharmony_ci
58762306a36Sopenharmony_ci&usb_sec_qmpphy {
58862306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l3c_1p2>;
58962306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l5e_0p88>;
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_ci	orientation-switch;
59262306a36Sopenharmony_ci
59362306a36Sopenharmony_ci	status = "okay";
59462306a36Sopenharmony_ci};
59562306a36Sopenharmony_ci
59662306a36Sopenharmony_ci&usb_sec_qmpphy_dp_in {
59762306a36Sopenharmony_ci	remote-endpoint = <&mdss_dp1_out>;
59862306a36Sopenharmony_ci};
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ci&usb_sec_qmpphy_out {
60162306a36Sopenharmony_ci	remote-endpoint = <&pmic_glink_con1_ss>;
60262306a36Sopenharmony_ci};
60362306a36Sopenharmony_ci
60462306a36Sopenharmony_ci&usb_sec_role_switch {
60562306a36Sopenharmony_ci	remote-endpoint = <&pmic_glink_con1_hs>;
60662306a36Sopenharmony_ci};
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ci&usb_sec {
60962306a36Sopenharmony_ci	status = "okay";
61062306a36Sopenharmony_ci};
61162306a36Sopenharmony_ci
61262306a36Sopenharmony_ci&usb_sec_dwc3 {
61362306a36Sopenharmony_ci	dr_mode = "host";
61462306a36Sopenharmony_ci};
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_ci&wifi {
61762306a36Sopenharmony_ci	memory-region = <&wlan_mem>;
61862306a36Sopenharmony_ci
61962306a36Sopenharmony_ci	vdd-0.8-cx-mx-supply = <&vreg_l1e_0p75>;
62062306a36Sopenharmony_ci	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
62162306a36Sopenharmony_ci	vdd-1.3-rfa-supply = <&vreg_l9a_1p3>;
62262306a36Sopenharmony_ci	vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;
62362306a36Sopenharmony_ci	vdd-3.3-ch1-supply = <&vreg_l10c_3p3>;
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ci	status = "okay";
62662306a36Sopenharmony_ci};
62762306a36Sopenharmony_ci
62862306a36Sopenharmony_ci&xo_board_clk {
62962306a36Sopenharmony_ci	clock-frequency = <38400000>;
63062306a36Sopenharmony_ci};
63162306a36Sopenharmony_ci
63262306a36Sopenharmony_ci/* PINCTRL */
63362306a36Sopenharmony_ci
63462306a36Sopenharmony_ci&pmc8180c_gpios {
63562306a36Sopenharmony_ci	bl_pwm_default: bl-pwm-default-state {
63662306a36Sopenharmony_ci		en-pins {
63762306a36Sopenharmony_ci			pins = "gpio8";
63862306a36Sopenharmony_ci			function = "normal";
63962306a36Sopenharmony_ci		};
64062306a36Sopenharmony_ci
64162306a36Sopenharmony_ci		pwm-pins {
64262306a36Sopenharmony_ci			pins = "gpio10";
64362306a36Sopenharmony_ci			function = "func1";
64462306a36Sopenharmony_ci		};
64562306a36Sopenharmony_ci	};
64662306a36Sopenharmony_ci};
64762306a36Sopenharmony_ci
64862306a36Sopenharmony_ci&tlmm {
64962306a36Sopenharmony_ci	gpio-reserved-ranges = <0 4>, <47 4>, <126 4>;
65062306a36Sopenharmony_ci
65162306a36Sopenharmony_ci	edp_hpd_active: epd-hpd-active-state {
65262306a36Sopenharmony_ci		pins = "gpio10";
65362306a36Sopenharmony_ci		function = "edp_hot";
65462306a36Sopenharmony_ci	};
65562306a36Sopenharmony_ci
65662306a36Sopenharmony_ci	hall_int_active_state: hall-int-active-state {
65762306a36Sopenharmony_ci		pins = "gpio121";
65862306a36Sopenharmony_ci		function = "gpio";
65962306a36Sopenharmony_ci
66062306a36Sopenharmony_ci		bias-disable;
66162306a36Sopenharmony_ci	};
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_ci	i2c1_active: i2c1-active-state {
66462306a36Sopenharmony_ci		pins = "gpio114", "gpio115";
66562306a36Sopenharmony_ci		function = "qup1";
66662306a36Sopenharmony_ci
66762306a36Sopenharmony_ci		bias-pull-up = <1>;
66862306a36Sopenharmony_ci		drive-strength = <2>;
66962306a36Sopenharmony_ci	};
67062306a36Sopenharmony_ci
67162306a36Sopenharmony_ci	i2c1_hid_active: i2c1-hid-active-state {
67262306a36Sopenharmony_ci		pins = "gpio122";
67362306a36Sopenharmony_ci		function = "gpio";
67462306a36Sopenharmony_ci
67562306a36Sopenharmony_ci		bias-pull-up;
67662306a36Sopenharmony_ci		drive-strength = <2>;
67762306a36Sopenharmony_ci	};
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_ci	i2c7_active: i2c7-active-state {
68062306a36Sopenharmony_ci		pins = "gpio98", "gpio99";
68162306a36Sopenharmony_ci		function = "qup7";
68262306a36Sopenharmony_ci
68362306a36Sopenharmony_ci		bias-pull-up;
68462306a36Sopenharmony_ci		drive-strength = <2>;
68562306a36Sopenharmony_ci	};
68662306a36Sopenharmony_ci
68762306a36Sopenharmony_ci	i2c7_hid_active: i2c7-hid-active-state {
68862306a36Sopenharmony_ci		pins = "gpio37", "gpio24";
68962306a36Sopenharmony_ci		function = "gpio";
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ci		bias-pull-up;
69262306a36Sopenharmony_ci		drive-strength = <2>;
69362306a36Sopenharmony_ci	};
69462306a36Sopenharmony_ci
69562306a36Sopenharmony_ci	pcie3_default_state: pcie3-default-state {
69662306a36Sopenharmony_ci		clkreq-pins {
69762306a36Sopenharmony_ci			pins = "gpio179";
69862306a36Sopenharmony_ci			function = "pci_e3";
69962306a36Sopenharmony_ci			bias-pull-up;
70062306a36Sopenharmony_ci		};
70162306a36Sopenharmony_ci
70262306a36Sopenharmony_ci		reset-n-pins {
70362306a36Sopenharmony_ci			pins = "gpio178";
70462306a36Sopenharmony_ci			function = "gpio";
70562306a36Sopenharmony_ci
70662306a36Sopenharmony_ci			drive-strength = <2>;
70762306a36Sopenharmony_ci			output-low;
70862306a36Sopenharmony_ci			bias-pull-down;
70962306a36Sopenharmony_ci		};
71062306a36Sopenharmony_ci
71162306a36Sopenharmony_ci		wake-n-pins {
71262306a36Sopenharmony_ci			pins = "gpio180";
71362306a36Sopenharmony_ci			function = "gpio";
71462306a36Sopenharmony_ci
71562306a36Sopenharmony_ci			drive-strength = <2>;
71662306a36Sopenharmony_ci			bias-pull-up;
71762306a36Sopenharmony_ci		};
71862306a36Sopenharmony_ci	};
71962306a36Sopenharmony_ci
72062306a36Sopenharmony_ci	usbprim_sbu_default: usbprim-sbu-state {
72162306a36Sopenharmony_ci		oe-n-pins {
72262306a36Sopenharmony_ci			pins = "gpio152";
72362306a36Sopenharmony_ci			function = "gpio";
72462306a36Sopenharmony_ci			bias-disable;
72562306a36Sopenharmony_ci			drive-strength = <16>;
72662306a36Sopenharmony_ci			output-high;
72762306a36Sopenharmony_ci		};
72862306a36Sopenharmony_ci
72962306a36Sopenharmony_ci		sel-pins {
73062306a36Sopenharmony_ci			pins = "gpio100";
73162306a36Sopenharmony_ci			function = "gpio";
73262306a36Sopenharmony_ci			bias-disable;
73362306a36Sopenharmony_ci			drive-strength = <16>;
73462306a36Sopenharmony_ci		};
73562306a36Sopenharmony_ci	};
73662306a36Sopenharmony_ci
73762306a36Sopenharmony_ci	usbsec_sbu_default: usbsec-sbu-state {
73862306a36Sopenharmony_ci		oe-n-pins {
73962306a36Sopenharmony_ci			pins = "gpio188";
74062306a36Sopenharmony_ci			function = "gpio";
74162306a36Sopenharmony_ci			bias-disable;
74262306a36Sopenharmony_ci			drive-strength = <16>;
74362306a36Sopenharmony_ci			output-high;
74462306a36Sopenharmony_ci		};
74562306a36Sopenharmony_ci
74662306a36Sopenharmony_ci		sel-pins {
74762306a36Sopenharmony_ci			pins = "gpio187";
74862306a36Sopenharmony_ci			function = "gpio";
74962306a36Sopenharmony_ci			bias-disable;
75062306a36Sopenharmony_ci			drive-strength = <16>;
75162306a36Sopenharmony_ci		};
75262306a36Sopenharmony_ci	};
75362306a36Sopenharmony_ci
75462306a36Sopenharmony_ci	uart13_state: uart13-state {
75562306a36Sopenharmony_ci		cts-pins {
75662306a36Sopenharmony_ci			pins = "gpio43";
75762306a36Sopenharmony_ci			function = "qup13";
75862306a36Sopenharmony_ci			bias-pull-down;
75962306a36Sopenharmony_ci		};
76062306a36Sopenharmony_ci
76162306a36Sopenharmony_ci		rts-tx-pins {
76262306a36Sopenharmony_ci			pins = "gpio44", "gpio45";
76362306a36Sopenharmony_ci			function = "qup13";
76462306a36Sopenharmony_ci			drive-strength = <2>;
76562306a36Sopenharmony_ci			bias-disable;
76662306a36Sopenharmony_ci		};
76762306a36Sopenharmony_ci
76862306a36Sopenharmony_ci		rx-pins {
76962306a36Sopenharmony_ci			pins = "gpio46";
77062306a36Sopenharmony_ci			function = "qup13";
77162306a36Sopenharmony_ci			bias-pull-up;
77262306a36Sopenharmony_ci		};
77362306a36Sopenharmony_ci	};
77462306a36Sopenharmony_ci};
775