// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2020, Yassine Oudjana <y.oudjana@protonmail.com>
 */

/dts-v1/;

#include "msm8996.dtsi"
#include "pm8994.dtsi"
#include "pmi8994.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>

/ {
	clocks {
		compatible = "simple-bus";

		divclk1_cdc: divclk1 {
			compatible = "gpio-gate-clock";
			clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
			#clock-cells = <0>;
			enable-gpios = <&pm8994_gpios 15 GPIO_ACTIVE_HIGH>;

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

		divclk4: divclk4 {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <32768>;
			clock-output-names = "divclk4";

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

	gpio_keys {
		compatible = "gpio-keys";

		vol_up {
			label = "Volume Up";
			gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
			wakeup-source;
			debounce-interval = <15>;
		};

		dome {
			label = "Home";
			gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_HOME>;
			wakeup-source;
			debounce-interval = <15>;
		};
	};

	reserved-memory {
		memory@88800000 {
			reg = <0x0 0x88800000 0x0 0x1400000>;
			no-map;
		};

		/* This platform has all PIL regions offset by 0x1400000 */
		/delete-node/ mpss@88800000;
		mpss_region: mpss@89c00000 {
			reg = <0x0 0x89c00000 0x0 0x6200000>;
			no-map;
		};

		/delete-node/ adsp@8ea00000;
		adsp_region: adsp@8ea00000 {
			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
			no-map;
		};

		/delete-node/ slpi@90b00000;
		slpi_region: slpi@91900000 {
			reg = <0x0 0x91900000 0x0 0xa00000>;
			no-map;
		};

		/delete-node/ gpu@8f200000;
		zap_shader_region: gpu@92300000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x92300000 0x0 0x2000>;
			no-map;
		};

		/delete-node/ venus@91000000;
		venus_region: venus@90400000 {
			reg = <0x0 0x92400000 0x0 0x500000>;
			no-map;
		};

		ramoops@92900000 {
			compatible = "ramoops";
			reg = <0x0 0x92900000 0x0 0x100000>;
			no-map;

			record-size = <0x8000>;
			console-size = <0x80000>;
			ftrace-size = <0x20000>;
			pmsg-size = <0x40000>;
		};

		/delete-node/ rmtfs@86700000;
		rmtfs@f6c00000 {
			compatible = "qcom,rmtfs-mem";
			reg = <0 0xf6c00000 0 0x200000>;
			no-map;

			qcom,client-id = <1>;
			qcom,vmid = <15>;
		};

		/delete-node/ mba@91500000;
		mba_region: mba@f6f00000 {
			reg = <0x0 0xf6f00000 0x0 0x100000>;
			no-map;
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3800000>;
		regulator-max-microvolt = <3800000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_3v2_tp: vdd-3v2-tp {
		compatible = "regulator-fixed";
		regulator-name = "vdd_3v2_tp";
		regulator-min-microvolt = <3200000>;
		regulator-max-microvolt = <3200000>;
		startup-delay-us = <4000>;
		vin-supply = <&vph_pwr>;

		gpio = <&tlmm 73 0>;
		enable-active-high;
	};

	vdd_3v3: rome-vreg {
		compatible = "regulator-fixed";
		regulator-name = "vdd_3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <4000>;
		vin-supply = <&vph_pwr_bbyp>;

		gpio = <&pm8994_gpios 9 0>;
		enable-active-high;
		pinctrl-names = "default";
		pinctrl-0 = <&rome_enable_default>;

		/* Required by QCA6174a - vddpe-3v3 */
		regulator-always-on;
	};

	/* WL_EN pin defined as a fixed regulator */
	wlan_en: wlan-en-1-8v {
		compatible = "regulator-fixed";
		regulator-name = "wlan-en-regulator";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

		gpio = <&pm8994_gpios 8 0>;
		/* WLAN card specific delay */
		startup-delay-us = <70000>;
		enable-active-high;
		pinctrl-names = "default";
		pinctrl-0 = <&wlan_en_default>;
	};
};

&adsp_pil {
	status = "okay";
};

&blsp2_i2c2 {
	status = "okay";
	label = "NFC_I2C";
	clock-frequency = <400000>;

	nfc: pn548@28 {
		compatible = "nxp,nxp-nci-i2c";

		reg = <0x28>;

		interrupt-parent = <&tlmm>;
		interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;

		enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
		firmware-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;

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

&blsp2_i2c3 {
	status = "okay";
	label = "TYPEC_I2C";

	typec: tusb320@47 {
		compatible = "ti,tusb320";
		reg = <0x47>;
		interrupt-parent = <&tlmm>;
		interrupts = <63 IRQ_TYPE_EDGE_RISING>;
	};
};

&blsp2_i2c6 {
	status = "okay";
	label = "MSM_TS_I2C";
};

&blsp1_uart2 {
	status = "okay";
	label = "QCA_UART";

	bluetooth: qca6174a {
		compatible = "qcom,qca6174-bt";

		enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
		clocks = <&divclk4>;
	};
};

&dsi0 {
	status = "okay";

	vdd-supply = <&vreg_l2a_1p25>;
	vddio-supply = <&vreg_l14a_1p8>;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&mdss_dsi_default &mdss_te_default>;
	pinctrl-1 = <&mdss_dsi_sleep &mdss_te_sleep>;
};

&dsi0_out {
	status = "okay";

	data-lanes = <0 1 2 3>;
};

&dsi0_phy {
	status = "okay";

	vcca-supply = <&vreg_l28a_0p925>;
};

&gpu {
	status = "okay";
};

&mdss {
	status = "okay";
};

&mmcc {
	vdd-gfx-supply = <&vdd_gfx>;
};

&pcie0 {
	status = "okay";

	/* Supplied by vdd_3v3, but choose wlan_en to drive enable pin high */
	vddpe-3v3-supply = <&wlan_en>;
	vdda-supply = <&vreg_l28a_0p925>;

	perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
	wake-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
};

&pcie_phy {
	status = "okay";

	vdda-phy-supply = <&vreg_l28a_0p925>;
	vdda-pll-supply = <&vreg_l12a_1p8>;
};

&pm8994_resin {
	status = "okay";

	linux,code = <KEY_VOLUMEDOWN>;
};

&usb3 {
	status = "okay";
	extcon = <&typec>;

	qcom,select-utmi-as-pipe-clk;

	dwc3@6a00000 {
		extcon = <&typec>;

		/* usb3-phy is not used on this device */
		phys = <&hsusb_phy1>;
		phy-names = "usb2-phy";

		maximum-speed = "high-speed";
		snps,is-utmi-l1-suspend;
		snps,usb2-gadget-lpm-disable;
		snps,hird-threshold = /bits/ 8 <0>;
	};
};

&hsusb_phy1 {
	status = "okay";
	extcon = <&typec>;

	vdda-pll-supply = <&vreg_l12a_1p8>;
	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
};

&ufshc {
	status = "okay";

	vcc-supply = <&vreg_l20a_2p95>;
	vccq-supply = <&vreg_l25a_1p2>;
	vccq2-supply = <&vreg_s4a_1p8>;

	vcc-max-microamp = <600000>;
	vccq-max-microamp = <450000>;
	vccq2-max-microamp = <450000>;
};

&ufsphy {
	status = "okay";

	vdda-phy-supply = <&vreg_l28a_0p925>;
	vdda-pll-supply = <&vreg_l12a_1p8>;

	vdda-phy-max-microamp = <18380>;
	vdda-pll-max-microamp = <9440>;

	vddp-ref-clk-supply = <&vreg_l25a_1p2>;
	vddp-ref-clk-max-microamp = <100>;
	vddp-ref-clk-always-on;
};

&venus {
	status = "okay";
};

&wcd9335 {
	clock-names = "mclk", "slimbus";
	clocks = <&divclk1_cdc>,
		 <&rpmcc RPM_SMD_BB_CLK1>;

	vdd-buck-supply = <&vreg_s4a_1p8>;
	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
	vdd-rx-supply = <&vreg_s4a_1p8>;
	vdd-tx-supply = <&vreg_s4a_1p8>;
	vdd-vbat-supply = <&vph_pwr>;
	vdd-micbias-supply = <&vph_pwr_bbyp>;
	vdd-io-supply = <&vreg_s4a_1p8>;
};

&rpm_requests {
	pm8994-regulators {
		compatible = "qcom,rpm-pm8994-regulators";

		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_s11-supply = <&vph_pwr>;
		vdd_s12-supply = <&vph_pwr>;
		vdd_l1-supply = <&vreg_s1b_1p025>;
		vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
		vdd_l3_l11-supply = <&vreg_s3a_1p3>;
		vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
		vdd_l5_l7-supply = <&vreg_s5a_2p15>;
		vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
		vdd_l8_l16_l30-supply = <&vph_pwr>;
		vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
		vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
		vdd_l14_l15-supply = <&vreg_s5a_2p15>;
		vdd_l17_l29-supply = <&vph_pwr_bbyp>;
		vdd_l20_l21-supply = <&vph_pwr_bbyp>;
		vdd_l25-supply = <&vreg_s3a_1p3>;
		vdd_lvs1_2-supply = <&vreg_s4a_1p8>;

		vreg_s3a_1p3: s3 {
			regulator-name = "vreg_s3a_1p3";
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1300000>;

			/* Required by QCA6174a - vdd-core */
			regulator-always-on;
		};
		vreg_s4a_1p8: s4 {
			regulator-name = "vreg_s4a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-allow-set-load;

			/* Required by QCA6174a - vddio */
			regulator-always-on;
		};
		vreg_s5a_2p15: s5 {
			regulator-name = "vreg_s5a_2p15";
			regulator-min-microvolt = <2150000>;
			regulator-max-microvolt = <2150000>;
		};
		vreg_s7a_0p8: s7 {
			regulator-name = "vreg_s7a_0p8";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
		};
		vreg_l1a_1p0: l1 {
			regulator-name = "vreg_l1a_1p0";
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1000000>;
		};
		vreg_l2a_1p25: l2 {
			regulator-name = "vreg_l2a_1p25";
			regulator-min-microvolt = <1250000>;
			regulator-max-microvolt = <1250000>;
		};
		vreg_l4a_1p225: l4 {
			regulator-name = "vreg_l4a_1p225";
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
		};
		vreg_l6a_1p8: l6 {
			regulator-name = "vreg_l6a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_l8a_1p8: l8 {
			regulator-name = "vreg_l8a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_l9a_1p8: l9 {
			regulator-name = "vreg_l9a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_l10a_1p8: l10 {
			regulator-name = "vreg_l10a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_l12a_1p8: l12 {
			regulator-name = "vreg_l12a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-allow-set-load;
		};
		vreg_l13a_2p95: l13 {
			regulator-name = "vreg_l13a_2p95";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
		};
		vreg_l14a_1p8: l14 {
			regulator-name = "vreg_l14a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_l15a_1p8: l15 {
			regulator-name = "vreg_l15a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_l16a_2p7: l16 {
			regulator-name = "vreg_l16a_2p7";
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
		};
		vreg_l19a_3p3: l19 {
			regulator-name = "vreg_l19a_3p3";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
		};
		vreg_l20a_2p95: l20 {
			regulator-name = "vreg_l20a_2p95";
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			regulator-allow-set-load;
		};
		vreg_l21a_2p95: l21 {
			regulator-name = "vreg_l21a_2p95";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
		vreg_l23a_2p8: l23 {
			regulator-name = "vreg_l23a_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
		};
		vreg_l24a_3p075: l24 {
			regulator-name = "vreg_l24a_3p075";
			regulator-min-microvolt = <3075000>;
			regulator-max-microvolt = <3075000>;
		};
		vreg_l25a_1p2: l25 {
			regulator-name = "vreg_l25a_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-allow-set-load;
		};
		vreg_l27a_1p2: l27 {
			regulator-name = "vreg_l27a_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
		};
		vreg_l28a_0p925: l28 {
			regulator-name = "vreg_l28a_0p925";
			regulator-min-microvolt = <925000>;
			regulator-max-microvolt = <925000>;
			regulator-allow-set-load;
		};
		vreg_l30a_1p8: l30 {
			regulator-name = "vreg_l30a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;

			/* Required by QCA6174a - vddio-xtal */
			regulator-always-on;
		};
		vreg_l32a_1p8: l32 {
			regulator-name = "vreg_l32a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_lvs1a_1p8: lvs1 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
		vreg_lvs2a_1p8: lvs2 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
	};

	pmi8994-regulators {
		compatible = "qcom,rpm-pmi8994-regulators";

		vdd_s1-supply = <&vph_pwr>;
		vdd_s2-supply = <&vph_pwr>;
		vdd_s3-supply = <&vph_pwr>;
		vdd_bst_byp-supply = <&vph_pwr>;

		vreg_s1b_1p025: s1 {
			regulator-name = "vreg_s1b_1p025";
			regulator-min-microvolt = <1025000>;
			regulator-max-microvolt = <1025000>;
		};

		vph_pwr_bbyp: boost-bypass {
			regulator-name = "vph_pwr_bbyp";
			regulator-min-microvolt = <3150000>;
			regulator-max-microvolt = <3600000>;
		};
	};
};

&pm8994_spmi_regulators {
	qcom,saw-reg = <&saw3>;
	s8 {
		qcom,saw-slave;
	};
	s9 {
		qcom,saw-slave;
	};
	s10 {
		qcom,saw-slave;
	};
	vreg_apc_0p8: s11 {
		qcom,saw-leader;
		regulator-name = "vreg_apc_0p8";
		regulator-min-microvolt = <470000>;
		regulator-max-microvolt = <1140000>;
		regulator-max-step-microvolt = <150000>;
		regulator-always-on;
	};
};

&pmi8994_spmi_regulators {
	vdd_gfx: s2 {
		regulator-name = "vdd_gfx";
		regulator-min-microvolt = <400000>;
		regulator-max-microvolt = <1015000>;
		regulator-enable-ramp-delay = <500>;
	};
};

&pm8994_gpios {
	wlan_en_default: wlan-en-default {
		pins = "gpio8";
		function = PMIC_GPIO_FUNC_NORMAL;
		output-low;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
		power-source = <PM8994_GPIO_S4>;
		bias-disable;
	};

	rome_enable_default: rome-enable-default {
		pins = "gpio9";
		function = PMIC_GPIO_FUNC_NORMAL;
		output-high;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
		power-source = <PM8994_GPIO_VPH>;
	};

	divclk1_default: divclk1_default {
		pins = "gpio15";
		function = PMIC_GPIO_FUNC_FUNC1;
		bias-disable;
		power-source = <PM8994_GPIO_S4>;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
	};

	divclk4_pin_a: divclk4 {
		pins = "gpio18";
		function = PMIC_GPIO_FUNC_FUNC2;
		bias-disable;
		power-source = <PM8994_GPIO_S4>;
	};
};

&tlmm {
	mdss_dsi_default: mdss_dsi_default {
		pins = "gpio8";
		function = "gpio";
		drive-strength = <8>;
		bias-disable;
	};

	mdss_dsi_sleep: mdss_dsi_sleep {
		pins = "gpio8";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-down;
	};

	mdss_te_default: mdss_te_default {
		pins = "gpio10";
		function = "mdp_vsync";
		drive-strength = <2>;
		bias-pull-down;
	};

	mdss_te_sleep: mdss_te_sleep {
		pins = "gpio10";
		function = "mdp_vsync";
		drive-strength = <2>;
		bias-pull-down;
	};

	nfc_default: nfc_default {
		pins = "gpio12", "gpio21";
		function = "gpio";
		drive-strength = <16>;
		bias-pull-up;
	};
};
