// SPDX-License-Identifier: GPL-2.0-only

/dts-v1/;

#include "msm8916-samsung-gt5-common.dtsi"

/ {
	model = "Samsung Galaxy Tab A 9.7 (2015)";
	compatible = "samsung,gt510", "qcom,msm8916";
	chassis-type = "tablet";

	clk_pwm: pwm {
		compatible = "clk-pwm";
		#pwm-cells = <2>;

		clocks = <&gcc GCC_GP2_CLK>;

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

	reg_motor_vdd: regulator-motor-vdd {
		compatible = "regulator-fixed";
		regulator-name = "motor_vdd";
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;

		gpio = <&tlmm 76 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

	reg_tsp_1p8v: regulator-tsp-1p8v {
		compatible = "regulator-fixed";
		regulator-name = "tsp_1p8v";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

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

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

	reg_tsp_3p3v: regulator-tsp-3p3v {
		compatible = "regulator-fixed";
		regulator-name = "tsp_3p3v";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

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

	vibrator {
		compatible = "pwm-vibrator";

		pwms = <&clk_pwm 0 100000>;
		pwm-names = "enable";

		vcc-supply = <&reg_motor_vdd>;
	};
};

&blsp_i2c5 {
	status = "okay";

	touchscreen@4a {
		compatible = "atmel,maxtouch";
		reg = <0x4a>;
		interrupt-parent = <&tlmm>;
		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;

		vdd-supply = <&reg_tsp_1p8v>;
		vdda-supply = <&reg_tsp_3p3v>;

		reset-gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;

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

&tlmm {
	motor_en_default: motor-en-default-state {
		pins = "gpio76";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	motor_pwm_default: motor-pwm-default-state {
		pins = "gpio50";
		function = "gcc_gp2_clk_a";
	};

	tsp_en_default: tsp-en-default-state {
		pins = "gpio73";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	tsp_int_rst_default: tsp-int-rst-default-state {
		pins = "gpio13", "gpio114";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};
};