// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2022-2024 Jianhua Lu <lujianhua000@gmail.com>
 */

#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/usb/pd.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
#include "pm8150l.dtsi"
#include "pm8009.dtsi"

/*
 * Delete following upstream (sm8250.dtsi) reserved
 * memory mappings which are different on this device.
 */
/delete-node/ &adsp_mem;
/delete-node/ &cdsp_secure_heap;
/delete-node/ &slpi_mem;
/delete-node/ &spss_mem;
/delete-node/ &xbl_aop_mem;

/ {
	chassis-type = "tablet";

	/* required for bootloader to select correct board */
	qcom,msm-id = <QCOM_ID_SM8250 0x20001>; /* SM8250 v2.1 */
	qcom,board-id = <0x10008 0>;

	aliases {
		serial0 = &uart6;
	};

	chosen {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		framebuffer: framebuffer@9c000000 {
			compatible = "simple-framebuffer";
			reg = <0x0 0x9c000000 0x0 0x2300000>;
			width = <1600>;
			height = <2560>;
			stride = <(1600 * 4)>;
			format = "a8r8g8b8";
		};
	};

	battery_l: battery-l {
		compatible = "simple-battery";
		voltage-min-design-microvolt = <3870000>;
		energy-full-design-microwatt-hours = <16600000>;
		charge-full-design-microamp-hours = <4300000>;
	};

	battery_r: battery-r {
		compatible = "simple-battery";
		voltage-min-design-microvolt = <3870000>;
		energy-full-design-microwatt-hours = <16600000>;
		charge-full-design-microamp-hours = <4300000>;
	};

	bl_vddpos_5p5: bl-vddpos-regulator {
		compatible = "regulator-fixed";
		regulator-name = "bl_vddpos_5p5";
		regulator-min-microvolt = <5500000>;
		regulator-max-microvolt = <5500000>;
		regulator-enable-ramp-delay = <233>;
		gpio = <&tlmm 130 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-boot-on;
	};

	bl_vddneg_5p5: bl-vddneg-regulator {
		compatible = "regulator-fixed";
		regulator-name = "bl_vddneg_5p5";
		regulator-min-microvolt = <5500000>;
		regulator-max-microvolt = <5500000>;
		regulator-enable-ramp-delay = <233>;
		gpio = <&tlmm 131 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-boot-on;
	};

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

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

		key-vol-up {
			label = "Volume Up";
			gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
			debounce-interval = <15>;
			linux,can-disable;
			wakeup-source;
		};
	};

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

		pinctrl-names = "default";
		pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;

		vddaon-supply = <&vreg_s6a_0p95>;
		vddpmu-supply = <&vreg_s6a_0p95>;
		vddrfa0p95-supply = <&vreg_s6a_0p95>;
		vddrfa1p3-supply = <&vreg_s8c_1p35>;
		vddrfa1p9-supply = <&vreg_s5a_1p9>;
		vddpcie1p3-supply = <&vreg_s8c_1p35>;
		vddpcie1p9-supply = <&vreg_s5a_1p9>;
		vddio-supply = <&vreg_s4a_1p8>;

		wlan-enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
		bt-enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;

		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_1p7: ldo7 {
				regulator-name = "vreg_pmu_rfa_1p7";
			};

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

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

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;
	};

	/* S6c is really ebi.lvl but it's there for supply map completeness sake. */
	vreg_s6c_0p88: smpc6-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vreg_s6c_0p88";
		regulator-min-microvolt = <880000>;
		regulator-max-microvolt = <880000>;
		regulator-always-on;
		vin-supply = <&vph_pwr>;
	};

	reserved-memory {
		xbl_aop_mem: xbl-aop@80600000 {
			reg = <0x0 0x80600000 0x0 0x260000>;
			no-map;
		};

		slpi_mem: slpi@88c00000 {
			reg = <0x0 0x88c00000 0x0 0x2f00000>;
			no-map;
		};

		adsp_mem: adsp@8bb00000 {
			reg = <0x0 0x8bb00000 0x0 0x2500000>;
			no-map;
		};

		spss_mem: spss@8e000000 {
			reg = <0x0 0x8e000000 0x0 0x100000>;
			no-map;
		};

		cdsp_secure_heap: cdsp-secure-heap@8e100000 {
			reg = <0x0 0x8e100000 0x0 0x4600000>;
			no-map;
		};

		cont_splash_mem: cont-splash@9c000000 {
			reg = <0x0 0x9c000000 0x0 0x2300000>;
			no-map;
		};

		ramoops@b0000000 {
			compatible = "ramoops";
			reg = <0x0 0xb0000000 0x0 0x400000>;
			record-size = <0x1000>;
			console-size = <0x200000>;
			ecc-size = <16>;
			no-map;
		};
	};
};

&adsp {
	firmware-name = "qcom/sm8250/xiaomi/elish/adsp.mbn";
	status = "okay";
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm8150-rpmh-regulators";
		qcom,pmic-id = "a";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-s8-supply = <&vph_pwr>;
		vdd-s9-supply = <&vph_pwr>;
		vdd-s10-supply = <&vph_pwr>;
		vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
		vdd-l2-l10-supply = <&vreg_bob>;
		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
		vdd-l6-l9-supply = <&vreg_s8c_1p35>;
		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
		vdd-l13-l16-l17-supply = <&vreg_bob>;

		/* (S1+S2+S3) - cx.lvl (ARC) */

		vreg_s4a_1p8: smps4 {
			regulator-name = "vreg_s4a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s5a_1p9: smps5 {
			regulator-name = "vreg_s5a_1p9";
			regulator-min-microvolt = <1900000>;
			regulator-max-microvolt = <2040000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s6a_0p95: smps6 {
			regulator-name = "vreg_s6a_0p95";
			regulator-min-microvolt = <950000>;
			regulator-max-microvolt = <1128000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l3a_0p9: ldo3 {
			regulator-name = "vreg_l3a_0p9";
			regulator-min-microvolt = <928000>;
			regulator-max-microvolt = <932000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		/* L4 - lmx.lvl (ARC) */

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

		vreg_l6a_1p2: ldo6 {
			regulator-name = "vreg_l6a_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		/* L7 is unused. */

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

		/* L10 is unused, L11 - lcx.lvl (ARC) */

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

		/* L13 is unused. */

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

		/* L15 & L16 are unused. */

		vreg_l17a_3p0: ldo17 {
			regulator-name = "vreg_l17a_3p0";
			regulator-min-microvolt = <2496000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l18a_0p9: ldo18 {
			regulator-name = "vreg_l18a_0p9";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	/*
	 * Remaining regulators that are not yet supported:
	 * OLEDB: 4925000-8100000
	 * ab: 4600000-6100000
	 * ibb: 800000-5400000
	 */
	regulators-1 {
		compatible = "qcom,pm8150l-rpmh-regulators";
		qcom,pmic-id = "c";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-s8-supply = <&vph_pwr>;
		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
		vdd-l2-l3-supply = <&vreg_s8c_1p35>;
		vdd-l4-l5-l6-supply = <&vreg_bob>;
		vdd-l7-l11-supply = <&vreg_bob>;
		vdd-l9-l10-supply = <&vreg_bob>;
		vdd-bob-supply = <&vph_pwr>;

		vreg_bob: bob {
			regulator-name = "vreg_bob";
			regulator-min-microvolt = <3350000>;
			regulator-max-microvolt = <3960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
		};

		/*
		 * S1-S6 are ARCs:
		 * (S1+S2) - gfx.lvl,
		 * S3 - mx.lvl,
		 * (S4+S5) - mmcx.lvl,
		 * S6 - ebi.lvl
		 */

		vreg_s7c_0p35: smps7 {
			regulator-name = "vreg_s7c_0p35";
			regulator-min-microvolt = <348000>;
			regulator-max-microvolt = <1000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s8c_1p35: smps8 {
			regulator-name = "vreg_s8c_1p35";
			regulator-min-microvolt = <1350000>;
			regulator-max-microvolt = <1400000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		/* L2-4 are unused. */

		vreg_l5c_1p8: ldo5 {
			regulator-name = "vreg_l5c_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6c_2p9: ldo6 {
			regulator-name = "vreg_l6c_2p9";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7c_2p85: ldo7 {
			regulator-name = "vreg_l7c_2p85";
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l9c_2p9: ldo9 {
			regulator-name = "vreg_l9c_2p9";
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10c_3p3: ldo10 {
			regulator-name = "vreg_l10c_3p3";
			regulator-min-microvolt = <3296000>;
			regulator-max-microvolt = <3296000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11c_3p0: ldo11 {
			regulator-name = "vreg_l11c_3p0";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-2 {
		compatible = "qcom,pm8009-rpmh-regulators";
		qcom,pmic-id = "f";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vreg_bob>;
		vdd-l2-supply = <&vreg_s8c_1p35>;
		vdd-l5-l6-supply = <&vreg_bob>;
		vdd-l7-supply = <&vreg_s4a_1p8>;

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

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

		/* L1 is unused. */

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

		/* L3 & L4 are unused. */

		vreg_l5f_2p8: ldo5 {
			regulator-name = "vreg_l5f_2p85";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6f_2p8: ldo6 {
			regulator-name = "vreg_l6f_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

&cdsp {
	firmware-name = "qcom/sm8250/xiaomi/elish/cdsp.mbn";
	status = "okay";
};

&gmu {
	status = "okay";
};

&gpi_dma0 {
	status = "okay";
};

&gpi_dma1 {
	status = "okay";
};

&gpi_dma2 {
	status = "okay";
};

&gpu {
	status = "okay";
};

&gpu_zap_shader {
	firmware-name = "qcom/sm8250/xiaomi/elish/a650_zap.mbn";
};

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

	fuel-gauge@55 {
		compatible = "ti,bq27z561";
		reg = <0x55>;
		monitored-battery = <&battery_r>;
	};
};

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

	backlight: backlight@11 {
		compatible = "kinetic,ktz8866";
		reg = <0x11>;
		vddpos-supply = <&bl_vddpos_5p5>;
		vddneg-supply = <&bl_vddneg_5p5>;
		enable-gpios = <&tlmm 139 GPIO_ACTIVE_HIGH>;
		current-num-sinks = <5>;
		kinetic,current-ramp-delay-ms = <128>;
		kinetic,led-enable-ramp-delay-ms = <1>;
		kinetic,enable-lcd-bias;
	};
};

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

	fuel-gauge@55 {
		compatible = "ti,bq27z561";
		reg = <0x55>;
		monitored-battery = <&battery_l>;
	};
};

&mdss {
	status = "okay";
};

&mdss_dsi0 {
	vdda-supply = <&vreg_l9a_1p2>;
	qcom,dual-dsi-mode;
	qcom,sync-dual-dsi;
	qcom,master-dsi;
	status = "okay";

	display_panel: panel@0 {
		reg = <0>;
		vddio-supply = <&vreg_l14a_1p88>;
		reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
		backlight = <&backlight>;
		rotation = <90>;

		status = "disabled";

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

			port@0 {
				reg = <0>;

				panel_in_0: endpoint {
					remote-endpoint = <&mdss_dsi0_out>;
				};
			};

			port@1 {
				reg = <1>;

				panel_in_1: endpoint {
					remote-endpoint = <&mdss_dsi1_out>;
				};
			};
		};
	};
};

&mdss_dsi0_out {
	data-lanes = <0 1 2>;
	remote-endpoint = <&panel_in_0>;
};

&mdss_dsi0_phy {
	vdds-supply = <&vreg_l5a_0p88>;
	phy-type = <PHY_TYPE_CPHY>;
	status = "okay";
};

&mdss_dsi1 {
	vdda-supply = <&vreg_l9a_1p2>;
	qcom,dual-dsi-mode;
	qcom,sync-dual-dsi;
	/* DSI1 is slave, so use DSI0 clocks */
	assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
	status = "okay";
};

&mdss_dsi1_out {
	data-lanes = <0 1 2>;
	remote-endpoint = <&panel_in_1>;
};

&mdss_dsi1_phy {
	vdds-supply = <&vreg_l5a_0p88>;
	phy-type = <PHY_TYPE_CPHY>;
	status = "okay";
};

&pcie0 {
	status = "okay";
};

&pcie0_phy {
	vdda-phy-supply = <&vreg_l5a_0p88>;
	vdda-pll-supply = <&vreg_l9a_1p2>;
	status = "okay";
};

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

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

		qcom,calibration-variant = "Xiaomi_Pad_5Pro";
	};
};

&pm8150_gpios {
	vol_up_n: vol-up-n-state {
		pins = "gpio6";
		function = "normal";
		power-source = <1>;
		input-enable;
		bias-pull-up;
	};
};

&pm8150b_typec {
	vdd-pdphy-supply = <&vreg_l2a_3p1>;
	status = "okay";

	connector {
		compatible = "usb-c-connector";

		op-sink-microwatt = <10000000>;
		power-role = "dual";
		data-role = "dual";
		self-powered;

		vbus-supply = <&pm8150b_vbus>;

		source-pdos = <PDO_FIXED(5000, 3000,
					 PDO_FIXED_DUAL_ROLE |
					 PDO_FIXED_USB_COMM |
					 PDO_FIXED_DATA_SWAP)>;

		sink-pdos = <PDO_FIXED(5000, 3000,
				       PDO_FIXED_DUAL_ROLE |
				       PDO_FIXED_USB_COMM |
				       PDO_FIXED_DATA_SWAP)
				       PDO_VAR(5000, 12000, 5000)>;

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

			port@0 {
				reg = <0>;

				pm8150b_hs_in: endpoint {
					remote-endpoint = <&usb_1_dwc3_hs_out>;
				};
			};
		};
	};
};

&pm8150b_vbus {
	regulator-min-microamp = <500000>;
	regulator-max-microamp = <3000000>;
	status = "okay";
};

&pon {
	mode-bootloader = <0x2>;
	mode-recovery = <0x1>;
};

&pon_pwrkey {
	status = "okay";
};

&pon_resin {
	linux,code = <KEY_VOLUMEDOWN>;
	status = "okay";
};

&qupv3_id_0 {
	status = "okay";
};

&qupv3_id_1 {
	status = "okay";
};

&qupv3_id_2 {
	status = "okay";
};

&slpi {
	firmware-name = "qcom/sm8250/xiaomi/elish/slpi.mbn";
	status = "okay";
};

&tlmm {
	gpio-reserved-ranges = <40 4>;

	bt_en_state: bt-default-state {
		pins = "gpio21";
		function = "gpio";
		drive-strength = <16>;
		output-low;
		bias-pull-up;
	};

	wlan_en_state: wlan-default-state {
		pins = "gpio20";
		function = "gpio";
		drive-strength = <16>;
		output-low;
		bias-pull-up;
	};
};

&uart6 {
	status = "okay";

	bluetooth {
		compatible = "qcom,qca6390-bt";

		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
		vddaon-supply = <&vreg_pmu_aon_0p59>;
		vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
		vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
	};
};

&usb_1 {
	/* USB 2.0 only */
	qcom,select-utmi-as-pipe-clk;
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "otg";
	maximum-speed = "high-speed";
	/* Remove USB3 phy */
	phys = <&usb_1_hsphy>;
	phy-names = "usb2-phy";
	usb-role-switch;
};

&usb_1_hsphy {
	vdda-pll-supply = <&vreg_l5a_0p88>;
	vdda18-supply = <&vreg_l12a_1p8>;
	vdda33-supply = <&vreg_l2a_3p1>;
	status = "okay";
};

&usb_1_dwc3_hs_out {
	remote-endpoint = <&pm8150b_hs_in>;
};

&ufs_mem_hc {
	vcc-supply = <&vreg_l17a_3p0>;
	vcc-max-microamp = <800000>;
	vccq-supply = <&vreg_l6a_1p2>;
	vccq-max-microamp = <800000>;
	vccq2-supply = <&vreg_s4a_1p8>;
	vccq2-max-microamp = <800000>;
	status = "okay";
};

&ufs_mem_phy {
	vdda-phy-supply = <&vreg_l5a_0p88>;
	vdda-pll-supply = <&vreg_l9a_1p2>;
	status = "okay";
};

&venus {
	firmware-name = "qcom/sm8250/xiaomi/elish/venus.mbn";
	status = "okay";
};
