// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

#include "x1e80100.dtsi"
#include "x1e80100-pmics.dtsi"

/ {
	model = "Lenovo Yoga Slim 7x";
	compatible = "lenovo,yoga-slim7x", "qcom,x1e80100";

	pmic-glink {
		compatible = "qcom,x1e80100-pmic-glink",
			     "qcom,sm8550-pmic-glink",
			     "qcom,pmic-glink";
		#address-cells = <1>;
		#size-cells = <0>;
		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
				    <&tlmm 123 GPIO_ACTIVE_HIGH>,
				    <&tlmm 125 GPIO_ACTIVE_HIGH>;

		/* Left-side rear port */
		connector@0 {
			compatible = "usb-c-connector";
			reg = <0>;
			power-role = "dual";
			data-role = "dual";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					pmic_glink_ss0_hs_in: endpoint {
						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
					};
				};

				port@1 {
					reg = <1>;

					pmic_glink_ss0_ss_in: endpoint {
						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
					};
				};
			};
		};

		/* Left-side front port */
		connector@1 {
			compatible = "usb-c-connector";
			reg = <1>;
			power-role = "dual";
			data-role = "dual";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					pmic_glink_ss1_hs_in: endpoint {
						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
					};
				};

				port@1 {
					reg = <1>;

					pmic_glink_ss1_ss_in: endpoint {
						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
					};
				};
			};
		};

		/* Right-side port */
		connector@2 {
			compatible = "usb-c-connector";
			reg = <2>;
			power-role = "dual";
			data-role = "dual";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					pmic_glink_ss2_hs_in: endpoint {
						remote-endpoint = <&usb_1_ss2_dwc3_hs>;
					};
				};

				port@1 {
					reg = <1>;

					pmic_glink_ss2_ss_in: endpoint {
						remote-endpoint = <&usb_1_ss2_qmpphy_out>;
					};
				};
			};
		};
	};

	reserved-memory {
		linux,cma {
			compatible = "shared-dma-pool";
			size = <0x0 0x8000000>;
			reusable;
			linux,cma-default;
		};
	};

	sound {
		compatible = "qcom,x1e80100-sndcard";
		model = "X1E80100-LENOVO-Yoga-Slim7x";
		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
				"TweeterRight IN", "WSA2 WSA_SPK2 OUT";

		wsa-dai-link {
			link-name = "WSA Playback";

			cpu {
				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
			};

			codec {
				sound-dai = <&left_woofer>, <&left_tweeter>,
					    <&swr0 0>, <&lpass_wsamacro 0>,
					    <&right_woofer>, <&right_tweeter>,
					    <&swr3 0>, <&lpass_wsa2macro 0>;
			};

			platform {
				sound-dai = <&q6apm>;
			};
		};

		va-dai-link {
			link-name = "VA Capture";

			cpu {
				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
			};

			codec {
				sound-dai = <&lpass_vamacro 0>;
			};

			platform {
				sound-dai = <&q6apm>;
			};
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";

		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;

		regulator-always-on;
		regulator-boot-on;
	};

	vreg_edp_3p3: regulator-edp-3p3 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_EDP_3P3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&edp_reg_en>;
		pinctrl-names = "default";

		regulator-always-on;
		regulator-boot-on;
	};

	vreg_nvme: regulator-nvme {
		compatible = "regulator-fixed";

		regulator-name = "VREG_NVME_3P3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&nvme_reg_en>;
		pinctrl-names = "default";
	};
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm8550-rpmh-regulators";
		qcom,pmic-id = "b";

		vdd-bob1-supply = <&vph_pwr>;
		vdd-bob2-supply = <&vph_pwr>;
		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
		vdd-l2-l13-l14-supply = <&vreg_bob1>;
		vdd-l5-l16-supply = <&vreg_bob1>;
		vdd-l6-l7-supply = <&vreg_bob2>;
		vdd-l8-l9-supply = <&vreg_bob1>;
		vdd-l12-supply = <&vreg_s5j_1p2>;
		vdd-l15-supply = <&vreg_s4c_1p8>;
		vdd-l17-supply = <&vreg_bob2>;

		vreg_bob1: bob1 {
			regulator-name = "vreg_bob1";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_bob2: bob2 {
			regulator-name = "vreg_bob2";
			regulator-min-microvolt = <2504000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1b_1p8: ldo1 {
			regulator-name = "vreg_l1b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2b_3p0: ldo2 {
			regulator-name = "vreg_l2b_3p0";
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3100000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8b_3p0: ldo8 {
			regulator-name = "vreg_l8b_3p0";
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12b_1p2: ldo12 {
			regulator-name = "vreg_l12b_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l14b_3p0: ldo14 {
			regulator-name = "vreg_l14b_3p0";
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15b_1p8: ldo15 {
			regulator-name = "vreg_l15b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

	};

	regulators-1 {
		compatible = "qcom,pm8550ve-rpmh-regulators";
		qcom,pmic-id = "c";

		vdd-l1-supply = <&vreg_s5j_1p2>;
		vdd-l2-supply = <&vreg_s1f_0p7>;
		vdd-l3-supply = <&vreg_s1f_0p7>;
		vdd-s4-supply = <&vph_pwr>;

		vreg_s4c_1p8: smps4 {
			regulator-name = "vreg_s4c_1p8";
			regulator-min-microvolt = <1856000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1c_1p2: ldo1 {
			regulator-name = "vreg_l1c_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2c_0p8: ldo2 {
			regulator-name = "vreg_l2c_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_0p8: ldo3 {
			regulator-name = "vreg_l3c_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-2 {
		compatible = "qcom,pmc8380-rpmh-regulators";
		qcom,pmic-id = "d";

		vdd-l1-supply = <&vreg_s1f_0p7>;
		vdd-l2-supply = <&vreg_s1f_0p7>;
		vdd-l3-supply = <&vreg_s4c_1p8>;
		vdd-s1-supply = <&vph_pwr>;

		vreg_l1d_0p8: ldo1 {
			regulator-name = "vreg_l1d_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2d_0p9: ldo2 {
			regulator-name = "vreg_l2d_0p9";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3d_1p8: ldo3 {
			regulator-name = "vreg_l3d_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-3 {
		compatible = "qcom,pmc8380-rpmh-regulators";
		qcom,pmic-id = "e";

		vdd-l2-supply = <&vreg_s1f_0p7>;
		vdd-l3-supply = <&vreg_s5j_1p2>;

		vreg_l2e_0p8: ldo2 {
			regulator-name = "vreg_l2e_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3e_1p2: ldo3 {
			regulator-name = "vreg_l3e_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-4 {
		compatible = "qcom,pmc8380-rpmh-regulators";
		qcom,pmic-id = "f";

		vdd-l1-supply = <&vreg_s5j_1p2>;
		vdd-l2-supply = <&vreg_s5j_1p2>;
		vdd-l3-supply = <&vreg_s5j_1p2>;
		vdd-s1-supply = <&vph_pwr>;

		vreg_s1f_0p7: smps1 {
			regulator-name = "vreg_s1f_0p7";
			regulator-min-microvolt = <700000>;
			regulator-max-microvolt = <1100000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1f_1p0: ldo1 {
			regulator-name = "vreg_l1f_1p0";
			regulator-min-microvolt = <1024000>;
			regulator-max-microvolt = <1024000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2f_1p0: ldo2 {
			regulator-name = "vreg_l2f_1p0";
			regulator-min-microvolt = <1024000>;
			regulator-max-microvolt = <1024000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3f_1p0: ldo3 {
			regulator-name = "vreg_l3f_1p0";
			regulator-min-microvolt = <1024000>;
			regulator-max-microvolt = <1024000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-6 {
		compatible = "qcom,pm8550ve-rpmh-regulators";
		qcom,pmic-id = "i";

		vdd-l1-supply = <&vreg_s4c_1p8>;
		vdd-l2-supply = <&vreg_s5j_1p2>;
		vdd-l3-supply = <&vreg_s1f_0p7>;
		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;

		vreg_s1i_0p9: smps1 {
			regulator-name = "vreg_s1i_0p9";
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s2i_1p0: smps2 {
			regulator-name = "vreg_s2i_1p0";
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1100000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1i_1p8: ldo1 {
			regulator-name = "vreg_l1i_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2i_1p2: ldo2 {
			regulator-name = "vreg_l2i_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3i_0p8: ldo3 {
			regulator-name = "vreg_l3i_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-7 {
		compatible = "qcom,pm8550ve-rpmh-regulators";
		qcom,pmic-id = "j";

		vdd-l1-supply = <&vreg_s1f_0p7>;
		vdd-l2-supply = <&vreg_s5j_1p2>;
		vdd-l3-supply = <&vreg_s1f_0p7>;
		vdd-s5-supply = <&vph_pwr>;

		vreg_s5j_1p2: smps5 {
			regulator-name = "vreg_s5j_1p2";
			regulator-min-microvolt = <1256000>;
			regulator-max-microvolt = <1304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1j_0p8: ldo1 {
			regulator-name = "vreg_l1j_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2j_1p2: ldo2 {
			regulator-name = "vreg_l2j_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3j_0p8: ldo3 {
			regulator-name = "vreg_l3j_0p8";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};
};

&gpu {
	status = "okay";

	zap-shader {
		firmware-name = "qcom/x1e80100/LENOVO/83ED/qcdxkmsuc8380.mbn";
	};
};

&i2c0 {
	clock-frequency = <400000>;

	status = "okay";

	touchpad@2c {
		compatible = "hid-over-i2c";
		reg = <0x2c>;

		hid-descr-addr = <0x20>;
		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&tpad_default>;
		pinctrl-names = "default";

		wakeup-source;
	};

	keyboard@3a {
		compatible = "hid-over-i2c";
		reg = <0x3a>;

		hid-descr-addr = <0x1>;
		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&kybd_default>;
		pinctrl-names = "default";

		wakeup-source;
	};
};

&i2c8 {
	clock-frequency = <400000>;

	status = "okay";

	touchscreen@14 {
		compatible = "hid-over-i2c";
		reg = <0x14>;

		hid-descr-addr = <0x1>;
		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&ts0_default>;
		pinctrl-names = "default";
	};
};

&lpass_tlmm {
	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
		pins = "gpio12";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
		output-low;
	};

	spkr_23_sd_n_active: spkr-23-sd-n-active-state {
		pins = "gpio13";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
		output-low;
	};
};

&lpass_vamacro {
	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
	pinctrl-names = "default";

	vdd-micb-supply = <&vreg_l1b_1p8>;
	qcom,dmic-sample-rate = <4800000>;
};

&mdss {
	status = "okay";
};

&mdss_dp3 {
	compatible = "qcom,x1e80100-dp";
	/delete-property/ #sound-dai-cells;

	status = "okay";

	aux-bus {
		panel {
			compatible = "edp-panel";
			power-supply = <&vreg_edp_3p3>;

			port {
				edp_panel_in: endpoint {
					remote-endpoint = <&mdss_dp3_out>;
				};
			};
		};
	};

	ports {
		port@1 {
			reg = <1>;

			mdss_dp3_out: endpoint {
				data-lanes = <0 1 2 3>;
				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;

				remote-endpoint = <&edp_panel_in>;
			};
		};
	};
};

&mdss_dp3_phy {
	vdda-phy-supply = <&vreg_l3j_0p8>;
	vdda-pll-supply = <&vreg_l2j_1p2>;

	status = "okay";
};

&pcie4 {
	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;

	pinctrl-0 = <&pcie4_default>;
	pinctrl-names = "default";

	status = "okay";
};

&pcie4_phy {
	vdda-phy-supply = <&vreg_l3i_0p8>;
	vdda-pll-supply = <&vreg_l3e_1p2>;

	status = "okay";
};

&pcie4_port0 {
	wifi@0 {
		compatible = "pci17cb,1107";
		reg = <0x10000 0x0 0x0 0x0 0x0>;

		qcom,ath12k-calibration-variant = "LES790";
	};
};

&pcie6a {
	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;

	vddpe-3v3-supply = <&vreg_nvme>;

	pinctrl-0 = <&pcie6a_default>;
	pinctrl-names = "default";

	status = "okay";
};

&pcie6a_phy {
	vdda-phy-supply = <&vreg_l1d_0p8>;
	vdda-pll-supply = <&vreg_l2j_1p2>;

	status = "okay";
};

&qupv3_0 {
	status = "okay";
};

&qupv3_1 {
	status = "okay";
};

&qupv3_2 {
	status = "okay";
};

&remoteproc_adsp {
	firmware-name = "qcom/x1e80100/LENOVO/83ED/qcadsp8380.mbn",
			"qcom/x1e80100/LENOVO/83ED/adsp_dtbs.elf";
	status = "okay";
};

&remoteproc_cdsp {
	firmware-name = "qcom/x1e80100/LENOVO/83ED/qccdsp8380.mbn",
			"qcom/x1e80100/LENOVO/83ED/cdsp_dtbs.elf";

	status = "okay";
};

&smb2360_0_eusb2_repeater {
	vdd18-supply = <&vreg_l3d_1p8>;
	vdd3-supply = <&vreg_l2b_3p0>;
};

&smb2360_1_eusb2_repeater {
	vdd18-supply = <&vreg_l3d_1p8>;
	vdd3-supply = <&vreg_l14b_3p0>;
};

&smb2360_2_eusb2_repeater {
	vdd18-supply = <&vreg_l3d_1p8>;
	vdd3-supply = <&vreg_l8b_3p0>;
};

&swr0 {
	status = "okay";

	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
	pinctrl-names = "default";

	/* WSA8845, Left Woofer */
	left_woofer: speaker@0,0 {
		compatible = "sdw20217020400";
		reg = <0 0>;
		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "WooferLeft";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l12b_1p2>;
		qcom,port-mapping = <1 2 3 7 10 13>;
	};

	/* WSA8845, Left Tweeter */
	left_tweeter: speaker@0,1 {
		compatible = "sdw20217020400";
		reg = <0 1>;
		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "TweeterLeft";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l12b_1p2>;
		qcom,port-mapping = <4 5 6 7 11 13>;
	};
};


&swr3 {
	status = "okay";

	pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
	pinctrl-names = "default";

	/* WSA8845, Right Woofer */
	right_woofer: speaker@0,0 {
		compatible = "sdw20217020400";
		reg = <0 0>;
		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "WooferRight";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l12b_1p2>;
		qcom,port-mapping = <1 2 3 7 10 13>;
	};

	/* WSA8845, Right Tweeter */
	right_tweeter: speaker@0,1 {
		compatible = "sdw20217020400";
		reg = <0 1>;
		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "TweeterRight";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l12b_1p2>;
		qcom,port-mapping = <4 5 6 7 11 13>;
	};
};

&tlmm {
	gpio-reserved-ranges = <34 2>, /* Unused */
			       <44 4>, /* SPI (TPM) */
			       <238 1>; /* UFS Reset */

	edp_reg_en: edp-reg-en-state {
		pins = "gpio70";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
	};

	kybd_default: kybd-default-state {
		pins = "gpio67";
		function = "gpio";
		bias-disable;
	};

	nvme_reg_en: nvme-reg-en-state {
		pins = "gpio18";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	pcie4_default: pcie4-default-state {
		clkreq-n-pins {
			pins = "gpio147";
			function = "pcie4_clk";
			drive-strength = <2>;
			bias-pull-up;
		};

		perst-n-pins {
			pins = "gpio146";
			function = "gpio";
			drive-strength = <2>;
			bias-disable;
		};

		wake-n-pins {
			pins = "gpio148";
			function = "gpio";
			drive-strength = <2>;
			bias-pull-up;
		};
	};

	pcie6a_default: pcie6a-default-state {
		clkreq-n-pins {
			pins = "gpio153";
			function = "pcie6a_clk";
			drive-strength = <2>;
			bias-pull-up;
		};

		perst-n-pins {
			pins = "gpio152";
			function = "gpio";
			drive-strength = <2>;
			bias-disable;
		};

		wake-n-pins {
			pins = "gpio154";
			function = "gpio";
			drive-strength = <2>;
			bias-pull-up;
		};
	};

	tpad_default: tpad-default-state {
		pins = "gpio3";
		function = "gpio";
		bias-disable;
	};

	ts0_default: ts0-default-state {
		int-n-pins {
			pins = "gpio51";
			function = "gpio";
			bias-disable;
		};

		reset-n-pins {
			pins = "gpio48";
			function = "gpio";
			output-high;
			drive-strength = <16>;
		};
	};

};

&usb_1_ss0_hsphy {
	vdd-supply = <&vreg_l3j_0p8>;
	vdda12-supply = <&vreg_l2j_1p2>;

	phys = <&smb2360_0_eusb2_repeater>;

	status = "okay";
};

&usb_1_ss0_qmpphy {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l1j_0p8>;

	orientation-switch;

	status = "okay";
};

&usb_1_ss0 {
	status = "okay";
};

&usb_1_ss0_dwc3 {
	dr_mode = "host";
};

&usb_1_ss0_dwc3_hs {
	remote-endpoint = <&pmic_glink_ss0_hs_in>;
};

&usb_1_ss0_qmpphy_out {
	remote-endpoint = <&pmic_glink_ss0_ss_in>;
};

&usb_1_ss1_hsphy {
	vdd-supply = <&vreg_l3j_0p8>;
	vdda12-supply = <&vreg_l2j_1p2>;

	phys = <&smb2360_1_eusb2_repeater>;

	status = "okay";
};

&usb_1_ss1_qmpphy {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l2d_0p9>;

	orientation-switch;

	status = "okay";
};

&usb_1_ss1 {
	status = "okay";
};

&usb_1_ss1_dwc3 {
	dr_mode = "host";
};

&usb_1_ss1_dwc3_hs {
	remote-endpoint = <&pmic_glink_ss1_hs_in>;
};

&usb_1_ss1_qmpphy_out {
	remote-endpoint = <&pmic_glink_ss1_ss_in>;
};

&usb_1_ss2_hsphy {
	vdd-supply = <&vreg_l3j_0p8>;
	vdda12-supply = <&vreg_l2j_1p2>;

	phys = <&smb2360_2_eusb2_repeater>;

	status = "okay";
};

&usb_1_ss2_qmpphy {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l2d_0p9>;

	status = "okay";
};

&usb_1_ss2 {
	status = "okay";
};

&usb_1_ss2_dwc3 {
	dr_mode = "host";
};

&usb_1_ss2_dwc3_hs {
	remote-endpoint = <&pmic_glink_ss2_hs_in>;
};

&usb_1_ss2_qmpphy_out {
	remote-endpoint = <&pmic_glink_ss2_ss_in>;
};
