// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
 */

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

#include "hamoa-pmics.dtsi"

/ {
	aliases {
		serial0 = &uart2;
		serial1 = &uart14;
	};

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

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

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

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

		/* Left-side bottom 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 top 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_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_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;
	};

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

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

	sound {
		compatible = "qcom,x1e80100-sndcard";
		model = "X1E80100-Microsoft-Surface-Pro-11";
		audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
				"SpkrRight IN", "WSA WSA_SPK2 OUT",
				"VA DMIC0", "vdd-micb",
				"VA DMIC1", "vdd-micb";

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

			codec {
				sound-dai = <&left_spkr>, <&right_spkr>,
					    <&swr0 0>, <&lpass_wsamacro 0>;
			};

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

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

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

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

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

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

	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 = <&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 = <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_l10b_1p8: ldo10 {
			regulator-name = "vreg_l10b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			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_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>;
		};

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

		vreg_l3c_0p8: ldo3 {
			regulator-name = "vreg_l3c_0p8";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <912000>;
			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 = <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 = <&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 = <&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 = <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 = <&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 = <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/microsoft/qcdxkmsuc8380.mbn";
};

&i2c0 {
	clock-frequency = <100000>;

	status = "okay";

	/* Something @39, @3e, @44 */
};

&i2c3 {
	clock-frequency = <400000>;

	status = "okay";

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

		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;

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

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

&i2c4 {
	clock-frequency = <400000>;

	status = "okay";

	/* Something @12, @14, @16, @18, @1a */
};

&i2c7 {
	clock-frequency = <400000>;

	status = "okay";

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

		reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;

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

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

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

&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_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 {
	compatible = "qcom,x1e80100-dp";
	/delete-property/ #sound-dai-cells;

	status = "okay";

	aux-bus {
		panel: panel {
			compatible = "edp-panel";
			enable-gpios = <&pmc8380_3_gpios 4 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>;
				};
			};
		};
	};

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

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

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

&pmc8380_3_gpios {
	edp_bl_en: edp-bl-en-state {
		pins = "gpio4";
		function = "normal";
		power-source = <1>; /* 1.8V */
		input-disable;
		output-enable;
	};
};

&pmc8380_5_gpios {
	rtmr0_1p15_reg_en: rtmr0-1p15-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/microsoft/Denali/qcadsp8380.mbn",
			"qcom/x1e80100/microsoft/Denali/adsp_dtb.mbn";

	status = "okay";
};

&remoteproc_cdsp {
	firmware-name = "qcom/x1e80100/microsoft/Denali/qccdsp8380.mbn",
			"qcom/x1e80100/microsoft/Denali/cdsp_dtb.mbn";

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

&smb2360_2 {
	status = "okay";
};

&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 Speaker */
	left_spkr: speaker@0,0 {
		compatible = "sdw20217020400";
		reg = <0 0>;
		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "SpkrLeft";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l12b_1p2>;
		qcom,port-mapping = <1 2 3 7 10 13>;
	};

	/* WSA8845, Right Speaker */
	right_spkr: speaker@0,1 {
		compatible = "sdw20217020400";
		reg = <0 1>;
		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "SpkrRight";
		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 = <44 4>, /* SPI (TPM) */
			       <238 1>; /* UFS Reset */

	hall_int_n_default: hall-int-n-state {
		pins = "gpio2";
		function = "gpio";
		bias-disable;
	};

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

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

	ssam_state: ssam-state-state {
		pins = "gpio91";
		function = "gpio";
		bias-disable;
	};

	wcn_wlan_bt_en: wcn-wlan-bt-en-state {
		pins = "gpio116", "gpio117";
		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 {
		perst-n-pins {
			pins = "gpio152";
			function = "gpio";
			drive-strength = <2>;
			bias-disable;
		};

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

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

	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_1p15_reg_en: rtmr1-1p15-reg-en-state {
		pins = "gpio188";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

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

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

&uart2 {
	status = "okay";

	embedded-controller {
		compatible = "microsoft,surface-sam";

		interrupts-extended = <&tlmm 91 IRQ_TYPE_EDGE_RISING>;

		current-speed = <4000000>;

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

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

&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_0p8>;

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