// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2024 Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

#include "hamoa.dtsi"
#include "hamoa-pmics.dtsi"

/ {
	model = "Dell XPS 13 9345";
	compatible = "dell,xps13-9345", "qcom,x1e80100";
	chassis-type = "laptop";

	aliases {
		serial0 = &uart21;
		serial1 = &uart14;
	};

	gpio-keys {
		compatible = "gpio-keys";

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

		switch-lid {
			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_SW>;
			linux,code = <SW_LID>;
			wakeup-source;
			wakeup-event-action = <EV_ACT_DEASSERTED>;
		};
	};

	leds {
		compatible = "gpio-leds";

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

		led-camera-indicator {
			label = "white:camera-indicator";
			function = LED_FUNCTION_INDICATOR;
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "none";
			default-state = "off";
			/* Reuse as a panic indicator until we get a "camera on" trigger */
			panic-indicator;
		};
	};

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

		/* Right-side USB Type-C 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 = <&retimer_ss0_ss_out>;
					};
				};

				port@2 {
					reg = <2>;

					pmic_glink_ss0_con_sbu_in: endpoint {
						remote-endpoint = <&retimer_ss0_con_sbu_out>;
					};
				};
			};
		};

		/* Left-side USB Type-C 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 = <&retimer_ss1_ss_out>;
					};
				};

				port@2 {
					reg = <2>;

					pmic_glink_ss1_con_sbu_in: endpoint {
						remote-endpoint = <&retimer_ss1_con_sbu_out>;
					};
				};
			};
		};
	};

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

	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-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";

		regulator-boot-on;
	};

	vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_RTMR0_1P15";
		regulator-min-microvolt = <1150000>;
		regulator-max-microvolt = <1150000>;

		gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

		regulator-boot-on;
	};

	vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_RTMR0_1P8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

		gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

		regulator-boot-on;
	};

	vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
		compatible = "regulator-fixed";

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

		gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

		regulator-boot-on;
	};

	vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_RTMR1_1P15";
		regulator-min-microvolt = <1150000>;
		regulator-max-microvolt = <1150000>;

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

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

		regulator-boot-on;
	};

	vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_RTMR1_1P8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

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

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

		regulator-boot-on;
	};

	vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
		compatible = "regulator-fixed";

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

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

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

		regulator-boot-on;
	};

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

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

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

	vreg_wcn_0p95: regulator-wcn-0p95 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_WCN_0P95";
		regulator-min-microvolt = <950000>;
		regulator-max-microvolt = <950000>;

		vin-supply = <&vreg_wcn_3p3>;
	};

	vreg_wcn_1p9: regulator-wcn-1p9 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_WCN_1P9";
		regulator-min-microvolt = <1900000>;
		regulator-max-microvolt = <1900000>;

		vin-supply = <&vreg_wcn_3p3>;
	};

	vreg_wcn_3p3: regulator-wcn-3p3 {
		compatible = "regulator-fixed";

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

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

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

		regulator-boot-on;
	};

	wcn7850-pmu {
		compatible = "qcom,wcn7850-pmu";

		vdd-supply = <&vreg_wcn_0p95>;
		vddio-supply = <&vreg_l15b_1p8>;
		vddaon-supply = <&vreg_wcn_0p95>;
		vdddig-supply = <&vreg_wcn_0p95>;
		vddrfa1p2-supply = <&vreg_wcn_1p9>;
		vddrfa1p8-supply = <&vreg_wcn_1p9>;

		wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
		bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;

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

		regulators {
			vreg_pmu_rfa_cmn: ldo0 {
				regulator-name = "vreg_pmu_rfa_cmn";
			};

			vreg_pmu_aon_0p59: ldo1 {
				regulator-name = "vreg_pmu_aon_0p59";
			};

			vreg_pmu_wlcx_0p8: ldo2 {
				regulator-name = "vreg_pmu_wlcx_0p8";
			};

			vreg_pmu_wlmx_0p85: ldo3 {
				regulator-name = "vreg_pmu_wlmx_0p85";
			};

			vreg_pmu_btcmx_0p85: ldo4 {
				regulator-name = "vreg_pmu_btcmx_0p85";
			};

			vreg_pmu_rfa_0p8: ldo5 {
				regulator-name = "vreg_pmu_rfa_0p8";
			};

			vreg_pmu_rfa_1p2: ldo6 {
				regulator-name = "vreg_pmu_rfa_1p2";
			};

			vreg_pmu_rfa_1p8: ldo7 {
				regulator-name = "vreg_pmu_rfa_1p8";
			};

			vreg_pmu_pcie_0p9: ldo8 {
				regulator-name = "vreg_pmu_pcie_0p9";
			};

			vreg_pmu_pcie_1p8: ldo9 {
				regulator-name = "vreg_pmu_pcie_1p8";
			};
		};
	};
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm8550-rpmh-regulators";
		qcom,pmic-id = "b";
		vdd-bob1-supply = <&vreg_vph_pwr>;
		vdd-bob2-supply = <&vreg_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_l2b_3p0: ldo2 {
			regulator-name = "vreg_l2b_3p0";
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l6b_1p8: ldo6 {
			regulator-name = "vreg_l6b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2960000>;
			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_l9b_2p9: ldo9 {
			regulator-name = "vreg_l9b_2p9";
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <2960000>;
			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>;
			regulator-always-on;
		};

		vreg_l13b_3p0: ldo13 {
			regulator-name = "vreg_l13b_3p0";
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			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>;
			regulator-always-on;
		};

		vreg_l17b_2p5: ldo17 {
			regulator-name = "vreg_l17b_2p5";
			regulator-min-microvolt = <2504000>;
			regulator-max-microvolt = <2504000>;
			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>;

		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 = <880000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_0p9: ldo3 {
			regulator-name = "vreg_l3c_0p9";
			regulator-min-microvolt = <920000>;
			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 = <&vreg_vph_pwr>;

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

		vreg_l2d_0p9: ldo2 {
			regulator-name = "vreg_l2d_0p9";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <912000>;
			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 = <880000>;
			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 = <&vreg_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>;
		};
	};

	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 = <&vreg_vph_pwr>;
		vdd-s2-supply = <&vreg_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 = <880000>;
			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 = <&vreg_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_0p9: ldo1 {
			regulator-name = "vreg_l1j_0p9";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

&gpu {
	status = "okay";
};

&gpu_zap_shader {
	firmware-name = "qcom/x1e80100/dell/xps13-9345/qcdxkmsuc8380.mbn";
};

&i2c0 {
	clock-frequency = <400000>;
	status = "okay";

	keyboard@5 {
		compatible = "hid-over-i2c";
		reg = <0x5>;

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

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

		wakeup-source;
	};
};

&i2c3 {
	clock-frequency = <400000>;
	status = "okay";

	/* Right-side USB Type-C port */
	typec-mux@8 {
		compatible = "parade,ps8830";
		reg = <0x08>;

		clocks = <&rpmhcc RPMH_RF_CLK3>;

		vdd-supply = <&vreg_rtmr0_1p15>;
		vdd33-supply = <&vreg_rtmr0_3p3>;
		vdd33-cap-supply = <&vreg_rtmr0_3p3>;
		vddar-supply = <&vreg_rtmr0_1p15>;
		vddat-supply = <&vreg_rtmr0_1p15>;
		vddio-supply = <&vreg_rtmr0_1p8>;

		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;

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

		retimer-switch;
		orientation-switch;

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

			port@0 {
				reg = <0>;

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

			port@1 {
				reg = <1>;

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

			port@2 {
				reg = <2>;

				retimer_ss0_con_sbu_out: endpoint {
					remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
				};
			};
		};
	};
};

&i2c5 {
	clock-frequency = <100000>;
	status = "disabled";
	/* EC @0x3b */
};

&i2c7 {
	clock-frequency = <400000>;
	status = "okay";

	/* Left-side USB Type-C port */
	typec-mux@8 {
		compatible = "parade,ps8830";
		reg = <0x8>;

		clocks = <&rpmhcc RPMH_RF_CLK4>;

		vdd-supply = <&vreg_rtmr1_1p15>;
		vdd33-supply = <&vreg_rtmr1_3p3>;
		vdd33-cap-supply = <&vreg_rtmr1_3p3>;
		vddar-supply = <&vreg_rtmr1_1p15>;
		vddat-supply = <&vreg_rtmr1_1p15>;
		vddio-supply = <&vreg_rtmr1_1p8>;

		reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;

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

		retimer-switch;
		orientation-switch;

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

			port@0 {
				reg = <0>;

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

			port@1 {
				reg = <1>;

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

			port@2 {
				reg = <2>;

				retimer_ss1_con_sbu_out: endpoint {
					remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
				};
			};

		};
	};
};

&i2c8 {
	clock-frequency = <400000>;

	status = "okay";

	touchscreen@10 {
		compatible = "hid-over-i2c";
		reg = <0x10>;

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

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

&i2c9 {
	clock-frequency = <400000>;
	status = "okay";

	eusb6_repeater: redriver@4f {
		compatible = "nxp,ptn3222";
		reg = <0x4f>;
		#phy-cells = <0>;

		vdd3v3-supply = <&vreg_l13b_3p0>;
		vdd1v8-supply = <&vreg_l4b_1p8>;

		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;

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

&i2c17 {
	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;
	};
};

&iris {
	firmware-name = "qcom/x1e80100/dell/xps13-9345/qcvss8380.mbn";
	status = "okay";
};

&mdss {
	status = "okay";
};

&mdss_dp0 {
	status = "okay";
};

&mdss_dp0_out {
	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};

&mdss_dp1 {
	status = "okay";
};

&mdss_dp1_out {
	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};

&mdss_dp3 {
	/delete-property/ #sound-dai-cells;

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

	status = "okay";

	aux-bus {
		panel {
			compatible = "edp-panel";
			enable-gpios = <&tlmm 74 GPIO_ACTIVE_HIGH>;
			power-supply = <&vreg_edp_3p3>;

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

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

&mdss_dp3_out {
	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 {
	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 {
	reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;

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

		vddaon-supply = <&vreg_pmu_aon_0p59>;
		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
	};
};

&pcie6a {
	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";
};

&pcie6a_port0 {
	reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
};

&pm8550_gpios {
	rtmr0_default: rtmr0-reset-n-active-state {
		pins = "gpio10";
		function = "normal";
		power-source = <1>; /* 1.8V */
	};

	rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state {
		pins = "gpio11";
		function = "normal";
		power-source = <1>; /* 1.8V */
	};
};

&pmc8380_5_gpios {
	rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state {
		pins = "gpio8";
		function = "normal";
		power-source = <1>; /* 1.8V */
	};
};

&pm8550ve_9_gpios {
	rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
		pins = "gpio8";
		function = "normal";
		power-source = <1>; /* 1.8V */
	};
};

&qupv3_0 {
	status = "okay";
};

&qupv3_1 {
	status = "okay";
};

&qupv3_2 {
	status = "okay";
};

&remoteproc_adsp {
	firmware-name = "qcom/x1e80100/dell/xps13-9345/qcadsp8380.mbn",
			"qcom/x1e80100/dell/xps13-9345/adsp_dtbs.elf";

	status = "okay";
};

&remoteproc_cdsp {
	firmware-name = "qcom/x1e80100/dell/xps13-9345/qccdsp8380.mbn",
			"qcom/x1e80100/dell/xps13-9345/cdsp_dtbs.elf";

	status = "okay";
};

&smb2360_0 {
	status = "okay";
};

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

&smb2360_1 {
	status = "okay";
};

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

&tlmm {
	gpio-reserved-ranges = <44 4>,  /* SPI11 (TPM) */
			       <76 4>,  /* SPI19 (TZ Protected) */
			       <238 1>; /* UFS Reset */

	cam_indicator_en: cam-indicator-en-state {
		pins = "gpio110";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	edp_bl_en: edp-bl-en-state {
		pins = "gpio74";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

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

	eusb6_reset_n: eusb6-reset-n-state {
		pins = "gpio184";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	hall_int_n_default: hall-int-n-state {
		pins = "gpio92";
		function = "gpio";

		bias-disable;
	};

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

	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;
		};
	};

	rtmr1_1p15_reg_en: rtmr1-1p15-reg-en-state {
		pins = "gpio188";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	rtmr1_1p8_reg_en: rtmr1-1p8-reg-en-state {
		pins = "gpio175";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	rtmr1_3p3_reg_en: rtmr1-3p3-reg-en-state {
		pins = "gpio186";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	rtmr1_default: rtmr1-reset-n-active-state {
		pins = "gpio176";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	tpad_default: tpad-default-state {
		disable-pins {
			pins = "gpio38";
			function = "gpio";
			output-high;
		};

		int-n-pins {
			pins = "gpio3";
			function = "gpio";
			bias-pull-up;
		};

		reset-n-pins {
			pins = "gpio52";
			function = "gpio";
			bias-disable;
		};
	};

	ts0_default: ts0-default-state {
		disable-pins {
			pins = "gpio75";
			function = "gpio";
			output-high;
		};

		int-n-pins {
			pins = "gpio51";
			function = "gpio";
			bias-pull-up;
		};

		reset-n-pins {
			/* Technically should be High-Z input */
			pins = "gpio48";
			function = "gpio";
			output-low;
			drive-strength = <2>;
		};
	};

	wcn_sw_en: wcn-sw-en-state {
		pins = "gpio214";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	wcn_wlan_bt_en: wcn-wlan-bt-en-state {
		pins = "gpio116", "gpio117";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};
};

&uart14 {
	status = "okay";

	bluetooth {
		compatible = "qcom,wcn7850-bt";
		max-speed = <3200000>;

		vddaon-supply = <&vreg_pmu_aon_0p59>;
		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
	};
};

&uart21 {
	compatible = "qcom,geni-debug-uart";
	status = "okay";
};

&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_l2j_1p2>;
	vdda-pll-supply = <&vreg_l1j_0p9>;

	status = "okay";
};

&usb_1_ss0 {
	dr_mode = "host";

	status = "okay";
};

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

&usb_1_ss0_qmpphy_out {
	remote-endpoint = <&retimer_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_l2j_1p2>;
	vdda-pll-supply = <&vreg_l2d_0p9>;

	status = "okay";
};

&usb_1_ss1 {
	dr_mode = "host";

	status = "okay";
};

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

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

&usb_mp {
	status = "okay";
};

&usb_mp_hsphy0 {
	vdd-supply = <&vreg_l2e_0p8>;
	vdda12-supply = <&vreg_l3e_1p2>;

	status = "okay";
};

&usb_mp_hsphy1 {
	vdd-supply = <&vreg_l2e_0p8>;
	vdda12-supply = <&vreg_l3e_1p2>;

	phys = <&eusb6_repeater>;

	status = "okay";
};

&usb_mp_qmpphy0 {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l3c_0p9>;

	status = "okay";
};

&usb_mp_qmpphy1 {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l3c_0p9>;

	status = "okay";
};
