// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
 */

/dts-v1/;

#include "msm8996.dtsi"
#include "msm8996-xiaomi-common.dtsi"
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/sound/qcom,wcd9335.h>
#include <dt-bindings/input/ti-drv260x.h>

/ {
	model = "Xiaomi Mi 5";
	compatible = "xiaomi,gemini", "qcom,msm8996";
	chassis-type = "handset";
	qcom,msm-id = <246 0x30001>;
	qcom,pmic-id = <0x20009 0x2000a 0x00 0x00>;
	qcom,board-id = <31 0>;

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

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

&adsp_pil {
	firmware-name = "qcom/msm8996/gemini/adsp.mbn";
};

&blsp2_i2c3 {
	haptics: drv2604@5a {
		compatible = "ti,drv2604";
		reg = <0x5a>;
		enable-gpio = <&tlmm 93 0x00>;
		mode = <DRV260X_LRA_MODE>;
		library-sel = <DRV260X_LIB_LRA>;
		pinctrl-names = "default","sleep";
		pinctrl-0 = <&vibrator_default>;
		pinctrl-1 = <&vibrator_sleep>;
	};

	lp5562@30 {
		compatible = "ti,lp5562";
		reg = <0x30>;
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpio = <&pm8994_gpios 7 1>;
		clock-mode = /bits/8 <2>;
		label = "button-backlight";

		led@0 {
			reg = <0>;
			chan-name = "button-backlight";
			led-cur = /bits/ 8 <0x32>;
			max-cur = /bits/ 8 <0xC8>;
		};

		led@1 {
			reg = <0>;
			chan-name = "button-backlight1";
			led-cur = /bits/ 8 <0x32>;
			max-cur = /bits/ 8 <0xC8>;
		};
	};
};

&blsp2_i2c6 {
	synaptics@20 {
		compatible = "syna,rmi4-i2c";
		reg = <0x20>;
		#address-cells = <1>;
		#size-cells = <0>;
		interrupt-parent = <&tlmm>;
		interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
		vdda-supply = <&vreg_l6a_1p8>;
		vdd-supply = <&vdd_3v2_tp>;
		reset-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;

		pinctrl-names = "default", "sleep";
		pinctrl-0 = <&touchscreen_default>;
		pinctrl-1 = <&touchscreen_sleep>;
	};

};

&dsi0 {
	status = "okay";

	vdd-supply = <&vreg_l2a_1p25>;
	vdda-supply = <&vreg_l19a_3p3>;
	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>;

	panel: panel@0 {
		compatible = "jdi,fhd-r63452";
		reg = <0>;
		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
		backlight = <&pmi8994_wled>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&dsi0_out>;
			};
		};
	};
};

&dsi0_out {
	remote-endpoint = <&panel_in>;
};

&gpu {
	zap-shader {
		firmware-name = "qcom/msm8996/gemini/a530_zap.mbn";
	};
};

&pmi8994_wled {
	status = "okay";
};

&mss_pil {
	firmware-name = "qcom/msm8996/gemini/mba.mbn",
			"qcom/msm8996/gemini/modem.mbn";
};

&q6asmdai {
	dai@0 {
		reg = <0>;
	};

	dai@1 {
		reg = <1>;
	};

	dai@2 {
		reg = <2>;
	};
};

&slpi_pil {
	firmware-name = "qcom/msm8996/gemini/slpi.mbn";
};

&sound {
	compatible = "qcom,apq8096-sndcard";
	model = "gemini";
	audio-routing = "RX_BIAS", "MCLK",
		"MM_DL1",  "MultiMedia1 Playback",
		"MM_DL2",  "MultiMedia2 Playback",
		"MultiMedia3 Capture", "MM_UL3";

	mm1-dai-link {
		link-name = "MultiMedia1";
		cpu {
			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
		};
	};

	mm2-dai-link {
		link-name = "MultiMedia2";
		cpu {
			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
		};
	};

	mm3-dai-link {
		link-name = "MultiMedia3";
		cpu {
			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
		};
	};

	slim-dai-link {
		link-name = "SLIM Playback";
		cpu {
			sound-dai = <&q6afedai SLIMBUS_6_RX>;
		};

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

		codec {
			sound-dai = <&wcd9335 AIF4_PB>;
		};
	};

	slimcap-dai-link {
		link-name = "SLIM Capture";
		cpu {
			sound-dai = <&q6afedai SLIMBUS_0_TX>;
		};

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

		codec {
			sound-dai = <&wcd9335 AIF1_CAP>;
		};
	};
};

&venus {
	firmware-name = "qcom/msm8996/gemini/venus.mbn";
};

&rpm_requests {
	regulators-0 {
		vreg_l17a_2p8: l17 {
			regulator-name = "vreg_l17a_2p8";
			regulator-min-microvolt = <2500000>;
			regulator-max-microvolt = <2500000>;
		};
		vreg_l29a_2p7: l29 {
			regulator-name = "vreg_l29a_2p7";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
		};
	};
};

&pm8994_gpios {
	gpio-line-names =
		"NC",			/* GPIO_1  */
		"VOL_UP_N",		/* GPIO_2  */
		"SPKR_ID",		/* GPIO_3  */
		"PWM_HAPTICS",		/* GPIO_4  */
		"INFARED_DRV",		/* GPIO_5  */
		"NC",			/* GPIO_6  */
		"KEYPAD_LED_EN",	/* GPIO_7  */
		"WL_EN",		/* GPIO_8  */
		"3P3_ENABLE",		/* GPIO_9  */
		"FP_ID",		/* GPIO_10 */
		"NC",			/* GPIO_11 */
		"NC",			/* GPIO_12 */
		"NC",			/* GPIO_13 */
		"NC",			/* GPIO_14 */
		"DIVCLK1_CDC",		/* GPIO_15 */
		"DIVCLK2_HAPTICS",	/* GPIO_16 */
		"NC",			/* GPIO_17 */
		"32KHz_CLK_IN",		/* GPIO_18 */
		"BT_EN",		/* GPIO_19 */
		"PMIC_SLB",		/* GPIO_20 */
		"UIM_BATT_ALARM",	/* GPIO_21 */
		"NC";			/* GPIO_22 */

	divclk2_pin_a: divclk2-state {
		pins = "gpio16";
		function = PMIC_GPIO_FUNC_FUNC2;
		bias-disable;
		power-source = <PM8994_GPIO_S4>;
	};
};

&pm8994_mpps {
	gpio-line-names =
		"NC",			/* MPP_1 */
		"CCI_TIMER1",		/* MPP_2 */
		"PMIC_SLB",		/* MPP_3 */
		"EXT_FET_WLED_PWR_EN_N",/* MPP_4 */
		"NC",			/* MPP_5 */
		"NC",			/* MPP_6 */
		"NC",			/* MPP_7 */
		"NC";			/* MPP_8 */
};

&pmi8994_gpios {
	gpio-line-names =
		"NC",			/* GPIO_1  */
		"SPKR_PA_RST",		/* GPIO_2  */
		"NC",			/* GPIO_3  */
		"NC",			/* GPIO_4  */
		"NC",			/* GPIO_5  */
		"NC",			/* GPIO_6  */
		"NC",			/* GPIO_7  */
		"NC",			/* GPIO_8  */
		"NC",			/* GPIO_9  */
		"NC";			/* GPIO_10 */
};

&tlmm {
	gpio-line-names =
		"ESE_SPI_MOSI",		/* GPIO_0   */
		"ESE_SPI_MISO",		/* GPIO_1   */
		"ERR_INT_N",		/* GPIO_2   */
		"ESE_SPI_CLK",		/* GPIO_3   */
		"MSM_UART_TX",		/* GPIO_4   */
		"MSM_UART_RX",		/* GPIO_5   */
		"NFC_I2C_SDA",		/* GPIO_6   */
		"NFC_I2C_SCL",		/* GPIO_7   */
		"LCD0_RESET_N",		/* GPIO_8   */
		"NFC_IRQ",		/* GPIO_9   */
		"LCD_TE",		/* GPIO_10  */
		"LCD_ID_DET1",		/* GPIO_11  */
		"NFC_DISABLE",		/* GPIO_12  */
		"CAM_MCLK0",		/* GPIO_13  */
		"NC",			/* GPIO_14  */
		"CAM_MCLK2",		/* GPIO_15  */
		"ESE_PWR_REQ",		/* GPIO_16  */
		"CCI_I2C_SDA0",		/* GPIO_17  */
		"CCI_I2C_SCL0",		/* GPIO_18  */
		"CCI_I2C_SDA1",		/* GPIO_19  */
		"CCI_I2C_SCL1",		/* GPIO_20  */
		"NFC_DWL_REQ",		/* GPIO_21  */
		"CCI_TIMER1",		/* GPIO_22  */
		"WEBCAM1_RESET_N",	/* GPIO_23  */
		"ESE_IRQ",		/* GPIO_24  */
		"NC",			/* GPIO_25  */
		"WEBCAM1_STANDBY",	/* GPIO_26  */
		"NC",			/* GPIO_27  */
		"NC",			/* GPIO_28  */
		"NC",			/* GPIO_29  */
		"CAM1_RST_N",		/* GPIO_30  */
		"NC",			/* GPIO_31  */
		"NC",			/* GPIO_32  */
		"NC",			/* GPIO_33  */
		"FP_DOME_SW",		/* GPIO_34  */
		"PCI_E0_RST_N",		/* GPIO_35  */
		"PCI_E0_CLKREQ_N",	/* GPIO_36  */
		"PCI_E0_WAKE",		/* GPIO_37  */
		"FM_INT_N",		/* GPIO_38  */
		"FM_RESET_N",		/* GPIO_39  */
		"NC",			/* GPIO_40  */
		"QCA_UART_TXD",		/* GPIO_41  */
		"QCA_UART_RXD",		/* GPIO_42  */
		"QCA_UART_CTS",		/* GPIO_43  */
		"QCA_UART_RTS",		/* GPIO_44  */
		"MAWC_UART_TX",		/* GPIO_45  */
		"MAWC_UART_RX",		/* GPIO_46  */
		"NC",			/* GPIO_47  */
		"NC",			/* GPIO_48  */
		"AUDIO_SWITCH_EN",	/* GPIO_49  */
		"FP_SPI_RST",		/* GPIO_50  */
		"TYPEC_I2C_SDA",	/* GPIO_51  */
		"TYPEC_I2C_SCL",	/* GPIO_52  */
		"CODEC_INT2_N",		/* GPIO_53  */
		"CODEC_INT1_N",		/* GPIO_54  */
		"APPS_I2C7_SDA",	/* GPIO_55  */
		"APPS_I2C7_SCL",	/* GPIO_56  */
		"FORCE_USB_BOOT",	/* GPIO_57  */
		"SPKR_I2S_BCK",		/* GPIO_58  */
		"SPKR_I2S_WS",		/* GPIO_59  */
		"SPKR_I2S_DOUT",	/* GPIO_60  */
		"SPKR_I2S_DIN",		/* GPIO_61  */
		"ESE_RSTN",		/* GPIO_62  */
		"TYPEC_INT",		/* GPIO_63  */
		"CODEC_RESET_N",	/* GPIO_64  */
		"PCM_CLK",		/* GPIO_65  */
		"PCM_SYNC",		/* GPIO_66  */
		"PCM_DIN",		/* GPIO_67  */
		"PCM_DOUT",		/* GPIO_68  */
		"HIFI_CLK",		/* GPIO_69  */
		"SLIMBUS_CLK",		/* GPIO_70  */
		"SLIMBUS_DATA0",	/* GPIO_71  */
		"SLIMBUS_DATA1",	/* GPIO_72  */
		"LDO_5V_IN_EN",		/* GPIO_73  */
		"NC",			/* GPIO_74  */
		"FM_I2S_CLK",		/* GPIO_75  */
		"FM_I2S_SYNC",		/* GPIO_76  */
		"FM_I2S_DATA",		/* GPIO_77  */
		"FM_STATUS",		/* GPIO_78  */
		"NC",			/* GPIO_79  */
		"SENSOR_RESET_N",	/* GPIO_80  */
		"FP_SPI_MOSI",		/* GPIO_81  */
		"FP_SPI_MISO",		/* GPIO_82  */
		"FP_SPI_CS_N",		/* GPIO_83  */
		"FP_SPI_CLK",		/* GPIO_84  */
		"NC",			/* GPIO_85  */
		"CAM_VDD_1P05_EN",	/* GPIO_86  */
		"MSM_TS_I2C_SDA",	/* GPIO_87  */
		"MSM_TS_I2C_SCL",	/* GPIO_88  */
		"TS_RESOUT_N",		/* GPIO_89  */
		"ESE_SPI_CS_N",		/* GPIO_90  */
		"NC",			/* GPIO_91  */
		"NC",			/* GPIO_92  */
		"HAPTICS_EN",		/* GPIO_93  */
		"NC",			/* GPIO_94  */
		"NC",			/* GPIO_95  */
		"NC",			/* GPIO_96  */
		"NC",			/* GPIO_97  */
		"GRFC_1",		/* GPIO_98  */
		"NC",			/* GPIO_99  */
		"GRFC_3",		/* GPIO_100 */
		"GRFC_4",		/* GPIO_101 */
		"NC",			/* GPIO_102 */
		"NC",			/* GPIO_103 */
		"GRFC_7",		/* GPIO_104 */
		"UIM2_DATA",		/* GPIO_105 */
		"UIM2_CLK",		/* GPIO_106 */
		"UIM2_RESET",		/* GPIO_107 */
		"UIM2_PRESENT",		/* GPIO_108 */
		"UIM1_DATA",		/* GPIO_109 */
		"UIM1_CLK",		/* GPIO_110 */
		"UIM1_RESET",		/* GPIO_111 */
		"UIM1_PRESENT",		/* GPIO_112 */
		"UIM_BATT_ALARM",	/* GPIO_113 */
		"GRFC_8",		/* GPIO_114 */
		"GRFC_9",		/* GPIO_115 */
		"TX_GTR_THRES",		/* GPIO_116 */
		"ACCEL_INT",		/* GPIO_117 */
		"GYRO_INT",		/* GPIO_118 */
		"COMPASS_INT",		/* GPIO_119 */
		"PROXIMITY_INT_N",	/* GPIO_120 */
		"FP_IRQ",		/* GPIO_121 */
		"NC",			/* GPIO_122 */
		"HALL_INTR2",		/* GPIO_123 */
		"HALL_INTR1",		/* GPIO_124 */
		"TS_INT_N",		/* GPIO_125 */
		"NC",			/* GPIO_126 */
		"GRFC_11",		/* GPIO_127 */
		"NC",			/* GPIO_128 */
		"EXT_GPS_LNA_EN",	/* GPIO_129 */
		"NC",			/* GPIO_130 */
		"NC",			/* GPIO_131 */
		"NC",			/* GPIO_132 */
		"GRFC_14",		/* GPIO_133 */
		"GSM_TX2_PHASE_D",	/* GPIO_134 */
		"NC",			/* GPIO_135 */
		"NC",			/* GPIO_136 */
		"RFFE3_DATA",		/* GPIO_137 */
		"RFFE3_CLK",		/* GPIO_138 */
		"NC",			/* GPIO_139 */
		"NC",			/* GPIO_140 */
		"RFFE5_DATA",		/* GPIO_141 */
		"RFFE5_CLK",		/* GPIO_142 */
		"NC",			/* GPIO_143 */
		"COEX_UART_TX",		/* GPIO_144 */
		"COEX_UART_RX",		/* GPIO_145 */
		"RFFE2_DATA",		/* GPIO_146 */
		"RFFE2_CLK",		/* GPIO_147 */
		"RFFE1_DATA",		/* GPIO_148 */
		"RFFE1_CLK";		/* GPIO_149 */

	touchscreen_default: touchscreen-default-state {
		pins = "gpio89", "gpio125";
		function = "gpio";
		drive-strength = <10>;
		bias-pull-up;
	};

	touchscreen_sleep: touchscreen-sleep-state {
		pins = "gpio89", "gpio125";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	vibrator_default: vibrator-default-state {
		pins = "gpio93";
		function = "gpio";
		drive-strength = <8>;
		bias-pull-up;
	};

	vibrator_sleep: vibrator-sleep-state {
		pins = "gpio93";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};
};
