/* Copyright (c) 2023, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&tlmm {
	fps_rst_active: fps_rst_active {
		/* active state */
		mux {
			pins = "gpio42";
			function = "gpio";
		};

		config {
			pins = "gpio42";
			drive-strength = <2>; /* 2 MA */
			bias-disable;
			output-low;
		};
	};

	fps_rst_suspend: fps_rst_suspend {
		/* sleep state */
		mux {
			pins = "gpio42";
			function = "gpio";
		};

		config {
			pins = "gpio42";
			drive-strength = <2>; /* 2 MA */
			bias-pull-down; /* pull down */
			output-high;
		};
	};

	fps_int_active: fps_int_active {
		/* active state */
		mux {
			pins = "gpio40";
			function = "gpio";
		};

		config {
			pins = "gpio40";
			drive-strength = <2>; /* 2 MA */
			bias-pull-down; /* pull down */
			input-enable;
		};
	};

	fps_int_suspend: fps_int_suspend {
		/* sleep state */
		mux {
			pins = "gpio40";
			function = "gpio";
		};

		config {
			pins = "gpio40";
			drive-strength = <2>; /* 2 MA */
			bias-pull-down; /* pull down */
			input-enable;
		};
	};
};

&L14B {
	regulator-max-microvolt = <3300000>;
	qcom,init-voltage = <3300000>;
	status = "ok";
};

&soc {
	qcom,qbt_handler {
		status = "disabled";
	};

	fpc: fpc_fpc1020 {
		compatible = "fpc,fpc1020";
		status = "ok";
		irq = <&tlmm 40 0>;
		rst = <&tlmm 42 0>;
		rgltr-ctrl-support;
		fp,vdd-supply = <&L14B>;
		fp,voltage-range = <3300000 3300000>;
		interrupt-parent = <&tlmm>;
		interrupts = <40 0>;
		interrupt-controller;
		pinctrl-names = "default", "suspend";
		pinctrl-0 = <&fps_int_active &fps_rst_active>;
		pinctrl-1 = < &fps_int_suspend &fps_rst_suspend>;
	};
};
