// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, AngeloGioacchino Del Regno
 *                     <angelogioacchino.delregno@somainline.org>
 */

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "msm8998.dtsi"
#include "pm8005.dtsi"
#include "pm8998.dtsi"
#include "pmi8998.dtsi"

/ {
	model = "F(x)tec Pro1 (QX1000)";
	compatible = "fxtec,pro1", "qcom,msm8998";
	chassis-type = "handset";
	qcom,board-id = <0x02000b 0x10>;

	aliases {
		serial0 = &blsp2_uart1;
		serial1 = &blsp1_uart3;
	};

	/*
	 * Until we hook up type-c detection, we
	 * have to stick with this. But it works.
	 */
	extcon_usb: extcon-usb {
		compatible = "linux,extcon-usb-gpio";
		id-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
	};

	gpio-hall-sensors {
		compatible = "gpio-keys";
		label = "Hall sensors";
		pinctrl-names = "default";
		pinctrl-0 = <&hall_sensor1_default>;

		event-hall-sensor1 {
			label = "Keyboard Hall Sensor";
			gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
			debounce-interval = <15>;
			wakeup-source;
			linux,input-type = <EV_SW>;
			linux,code = <SW_KEYPAD_SLIDE>;
		};
	};

	gpio-kb-extra-keys {
		compatible = "gpio-keys";
		label = "Keyboard extra keys";
		pinctrl-names = "default";
		pinctrl-0 = <&gpio_kb_pins_extra>;

		key-home {
			label = "Home";
			gpios = <&tlmm 21 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_HOMEPAGE>;
			debounce-interval = <15>;
			linux,can-disable;
		};

		key-super-l {
			label = "Super Left";
			gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_FN>;
			debounce-interval = <15>;
			linux,can-disable;
		};

		key-super-r {
			label = "Super Right";
			gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_FN>;
			debounce-interval = <15>;
			linux,can-disable;
		};

		key-shift {
			label = "Shift";
			gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RIGHTSHIFT>;
			debounce-interval = <15>;
			linux,can-disable;
		};

		key-ctrl {
			label = "Ctrl";
			gpios = <&tlmm 128 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_LEFTCTRL>;
			debounce-interval = <15>;
			linux,can-disable;
		};

		key-alt {
			label = "Alt";
			gpios = <&tlmm 129 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_LEFTALT>;
			debounce-interval = <15>;
			linux,can-disable;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		label = "Side buttons";
		pinctrl-names = "default";
		pinctrl-0 = <&vol_up_pin_a>, <&cam_focus_pin_a>,
			    <&cam_snapshot_pin_a>;
		button-vol-up {
			label = "Volume Up";
			gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_VOLUMEUP>;
			wakeup-source;
			debounce-interval = <15>;
		};

		button-camera-snapshot {
			label = "Camera Snapshot";
			gpios = <&pm8998_gpios 7 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_CAMERA>;
			debounce-interval = <15>;
		};

		button-camera-focus {
			label = "Camera Focus";
			gpios = <&pm8998_gpios 8 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_CAMERA_FOCUS>;
			debounce-interval = <15>;
		};
	};

	keyboard-leds {
		compatible = "gpio-leds";

		led-0 {
			color = <LED_COLOR_ID_WHITE>;
			default-state = "off";
			function = LED_FUNCTION_KBD_BACKLIGHT;
			gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;
			label = "white:kbd_backlight";
			retain-state-suspended;
		};

		led-1 {
			color = <LED_COLOR_ID_YELLOW>;
			default-state = "off";
			function = LED_FUNCTION_CAPSLOCK;
			gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
			label = "yellow:capslock";
			linux,default-trigger = "kbd-capslock";
		};
	};

	reserved-memory {
		cont_splash_mem: memory@9d400000 {
			reg = <0x0 0x9d400000 0x0 0x2000000>;
			no-map;
		};

		zap_shader_region: memory@f6400000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0xf6400000 0x0 0x2000>;
			no-map;
		};

		ramoops@ffc00000 {
			compatible = "ramoops";
			reg = <0x0 0xffc00000 0x0 0x100000>;
			console-size = <0x60000>;
			ecc-size = <16>;
			ftrace-size = <0x10000>;
			pmsg-size = <0x20000>;
			record-size = <0x10000>;
		};
	};

	ts_vio_vreg: ts-vio-vreg {
		compatible = "regulator-fixed";
		regulator-name = "ts_vio_reg";
		startup-delay-us = <2>;
		enable-active-high;
		gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&ts_vio_default>;
		regulator-always-on;
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-always-on;
		regulator-boot-on;
	};
};

&blsp1_uart3 {
	status = "okay";

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

		vddio-supply = <&vreg_s4a_1p8>;
		vddxo-supply = <&vreg_l7a_1p8>;
		vddrf-supply = <&vreg_l17a_1p3>;
		vddch0-supply = <&vreg_l25a_3p3>;
		max-speed = <3200000>;
	};
};

&blsp1_uart3_on {
	rx-pins {
		/delete-property/ bias-disable;
		/*
		 * Configure a pull-up on 45 (RX). This is needed to
		 * avoid garbage data when the TX pin of the Bluetooth
		 * module is in tri-state (module powered off or not
		 * driving the signal yet).
		 */
		bias-pull-up;
	};

	cts-pins {
		/delete-property/ bias-disable;
		/*
		 * Configure a pull-down on 47 (CTS) to match the pull
		 * of the Bluetooth module.
		 */
		bias-pull-down;
	};
};

&blsp2_uart1 {
	status = "okay";
};

&blsp2_i2c1 {
	status = "okay";

	touchscreen@14 {
		compatible = "goodix,gt9286";
		reg = <0x14>;
		interrupt-parent = <&tlmm>;
		interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
		reset-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
		AVDD28-supply = <&vreg_l28_3p0>;
		VDDIO-supply = <&ts_vio_vreg>;
		pinctrl-names = "active";
		pinctrl-0 = <&ts_rst_n>, <&ts_int_n>;
	};
};

&etf {
	status = "okay";
};

&etm1 {
	status = "okay";
};

&etm2 {
	status = "okay";
};

&etm3 {
	status = "okay";
};

&etm4 {
	status = "okay";
};

&etm5 {
	status = "okay";
};

&etm6 {
	status = "okay";
};

&etm7 {
	status = "okay";
};

&etm8 {
	status = "okay";
};

&etr {
	status = "okay";
};

&funnel1 {
	status = "okay";
};

&funnel2 {
	status = "okay";
};

&funnel3 {
	status = "okay";
};

&funnel4 {
	/* FIXME: Figure out why clock late_initcall crashes the board with this enabled. */
};

&funnel5 {
	/* FIXME: Figure out why clock late_initcall crashes the board with this enabled. */
};

&pcie0 {
	status = "okay";
};

&pcie_phy {
	status = "okay";
};

&pm8005_regulators {
	vdd_s1-supply = <&vph_pwr>;

	pm8005_s1: s1 { /* VDD_GFX supply */
		regulator-min-microvolt = <524000>;
		regulator-max-microvolt = <1100000>;
		regulator-enable-ramp-delay = <500>;

		/* Hack until we rig up the gpu consumer */
		regulator-always-on;
	};
};

&pm8998_gpios {
	vol_up_pin_a: vol-up-active-state {
		pins = "gpio6";
		function = "normal";
		bias-pull-up;
		input-enable;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
	};

	cam_focus_pin_a: cam-focus-btn-active-state {
		pins = "gpio7";
		function = "normal";
		bias-pull-up;
		input-enable;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
	};

	cam_snapshot_pin_a: cam-snapshot-btn-active-state {
		pins = "gpio8";
		function = "normal";
		bias-pull-up;
		input-enable;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
	};
};

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

&qusb2phy {
	status = "okay";

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

&replicator1 {
	status = "okay";
};

&rpm_requests {
	regulators-0 {
		compatible = "qcom,rpm-pm8998-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_s13-supply = <&vph_pwr>;
		vdd_l1_l27-supply = <&vreg_s7a_1p025>;
		vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
		vdd_l3_l11-supply = <&vreg_s7a_1p025>;
		vdd_l4_l5-supply = <&vreg_s7a_1p025>;
		vdd_l6-supply = <&vreg_s5a_2p04>;
		vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
		vdd_l9-supply = <&vreg_bob>;
		vdd_l10_l23_l25-supply = <&vreg_bob>;
		vdd_l13_l19_l21-supply = <&vreg_bob>;
		vdd_l16_l28-supply = <&vreg_bob>;
		vdd_l18_l22-supply = <&vreg_bob>;
		vdd_l20_l24-supply = <&vreg_bob>;
		vdd_l26-supply = <&vreg_s3a_1p35>;
		vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;

		vreg_s3a_1p35: s3 {
			regulator-min-microvolt = <1352000>;
			regulator-max-microvolt = <1352000>;
		};

		vreg_s4a_1p8: s4 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-allow-set-load;
		};

		vreg_s5a_2p04: s5 {
			regulator-min-microvolt = <1904000>;
			regulator-max-microvolt = <2040000>;
		};

		vreg_s7a_1p025: s7 {
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <1028000>;
		};

		vreg_l1a_0p875: l1 {
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
		};

		vreg_l2a_1p2: l2 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
		};

		vreg_l3a_1p0: l3 {
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1000000>;
		};

		vreg_l5a_0p8: l5 {
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
		};

		vreg_l6a_1p8: l6 {
			regulator-min-microvolt = <1808000>;
			regulator-max-microvolt = <1808000>;
		};

		vreg_l7a_1p8: l7 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		vreg_l8a_1p2: l8 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
		};

		vreg_l9a_1p8: l9 {
			regulator-min-microvolt = <1808000>;
			regulator-max-microvolt = <2960000>;
		};

		vreg_l10a_1p8: l10 {
			regulator-min-microvolt = <1808000>;
			regulator-max-microvolt = <2960000>;
		};

		vreg_l11a_1p0: l11 {
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1000000>;
		};

		vreg_l12a_1p8: l12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		vreg_l13a_2p95: l13 {
			regulator-min-microvolt = <1808000>;
			regulator-max-microvolt = <2960000>;
		};

		vreg_l14a_1p88: l14 {
			regulator-min-microvolt = <1880000>;
			regulator-max-microvolt = <1880000>;
		};

		vreg_l15a_1p8: l15 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		vreg_l16a_2p7: l16 {
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2704000>;
		};

		vreg_l17a_1p3: l17 {
			regulator-min-microvolt = <1304000>;
			regulator-max-microvolt = <1304000>;
		};

		vreg_l18a_2p7: l18 {
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2704000>;
		};

		vreg_l19a_3p0: l19 {
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3008000>;
		};

		vreg_l20a_2p95: l20 {
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <2960000>;
			regulator-allow-set-load;
		};

		vreg_l21a_2p95: l21 {
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <2960000>;
			regulator-system-load = <800000>;
			regulator-allow-set-load;
		};

		vreg_l22a_2p85: l22 {
			regulator-min-microvolt = <2864000>;
			regulator-max-microvolt = <2864000>;
		};

		vreg_l23a_3p3: l23 {
			regulator-min-microvolt = <3312000>;
			regulator-max-microvolt = <3312000>;
		};

		vreg_l24a_3p075: l24 {
			regulator-min-microvolt = <3088000>;
			regulator-max-microvolt = <3088000>;
		};

		vreg_l25a_3p3: l25 {
			regulator-min-microvolt = <3104000>;
			regulator-max-microvolt = <3312000>;
		};

		vreg_l26a_1p2: l26 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-allow-set-load;
		};

		vreg_l28_3p0: l28 {
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3008000>;
		};

		vreg_lvs1a_1p8: lvs1 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		vreg_lvs2a_1p8: lvs2 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

	};

	regulators-1 {
		compatible = "qcom,rpm-pmi8998-regulators";

		vdd_bob-supply = <&vph_pwr>;

		vreg_bob: bob {
			regulator-min-microvolt = <3312000>;
			regulator-max-microvolt = <3600000>;
		};
	};
};

&remoteproc_adsp {
	status = "okay";
};

&remoteproc_mss {
	status = "okay";
};

&remoteproc_slpi {
	status = "okay";
};

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

	mdp_vsync_n: mdp-vsync-n-state {
		pins = "gpio10";
		function = "mdp_vsync_a";
		bias-pull-down;
		drive-strength = <2>;
	};

	gpio_kb_pins_extra: gpio-kb-pins-extra-state {
		pins = "gpio21", "gpio32", "gpio33", "gpio114",
		       "gpio128", "gpio129";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-up;
	};

	ts_vio_default: ts-vio-def-state {
		pins = "gpio81";
		function = "gpio";
		bias-disable;
		drive-strength = <2>;
	};

	ts_rst_n: ts-rst-n-state {
		pins = "gpio89";
		function = "gpio";
		bias-pull-up;
		drive-strength = <8>;
	};

	hall_sensor1_default: hall-sensor1-def-state {
		pins = "gpio124";
		function = "gpio";
		bias-disable;
		drive-strength = <2>;
	};

	ts_int_n: ts-int-n-state {
		pins = "gpio125";
		function = "gpio";
		bias-disable;
		drive-strength = <8>;
	};
};

&sdhc2 {
	status = "okay";
	cd-gpios = <&tlmm 95 GPIO_ACTIVE_LOW>;

	vmmc-supply = <&vreg_l21a_2p95>;
	vqmmc-supply = <&vreg_l13a_2p95>;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc2_on &sdc2_cd>;
	pinctrl-1 = <&sdc2_off &sdc2_cd>;
};

&stm {
	status = "okay";
};

&ufshc {
	status = "okay";
	vcc-supply = <&vreg_l20a_2p95>;
	vccq-supply = <&vreg_l26a_1p2>;
	vccq2-supply = <&vreg_s4a_1p8>;
	vdd-hba-supply = <&vreg_l26a_1p2>;
	vcc-max-microamp = <750000>;
	vccq-max-microamp = <560000>;
	vccq2-max-microamp = <750000>;
};

&ufsphy {
	status = "okay";
	vdda-phy-supply = <&vreg_l1a_0p875>;
	vdda-pll-supply = <&vreg_l2a_1p2>;
};

&usb3 {
	status = "okay";
};

&usb3_dwc3 {
	dr_mode = "peripheral";
	extcon = <&extcon_usb>;
};

&usb3phy {
	status = "okay";

	vdda-phy-supply = <&vreg_l1a_0p875>;
	vdda-pll-supply = <&vreg_l2a_1p2>;
};

/* GT9286 analog supply */
&vreg_l28_3p0 {
	regulator-min-microvolt = <2800000>;
	regulator-max-microvolt = <2800000>;
};

&wifi {
	status = "okay";

	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
};
