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

/dts-v1/;

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

/ {
	model = "Samsung Galaxy A3U (EUR)";
	compatible = "samsung,a3u-eur", "qcom,msm8916";
	chassis-type = "handset";

	reg_panel_vdd3: regulator-panel-vdd3 {
		compatible = "regulator-fixed";
		regulator-name = "panel_vdd3";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

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

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

	reg_touch_key: regulator-touch-key {
		compatible = "regulator-fixed";
		regulator-name = "touch_key";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;

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

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

	reg_key_led: regulator-key-led {
		compatible = "regulator-fixed";
		regulator-name = "key_led";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

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

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

&touchkey {
	vcc-supply = <&reg_touch_key>;
	vdd-supply = <&reg_key_led>;
};

&accelerometer {
	mount-matrix = "0", "1", "0",
		       "1", "0", "0",
		       "0", "0", "1";
};

&blsp_i2c5 {
	status = "okay";

	touchscreen@20 {
		compatible = "zinitix,bt541";

		reg = <0x20>;
		interrupt-parent = <&tlmm>;
		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;

		touchscreen-size-x = <540>;
		touchscreen-size-y = <960>;

		vcca-supply = <&reg_vdd_tsp_a>;
		vdd-supply = <&pm8916_l6>;

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

&clk_pwm {
	status = "okay";
};

&mdss_dsi0 {
	panel@0 {
		reg = <0>;

		compatible = "samsung,s6e88a0-ams452ef01";

		vdd3-supply = <&reg_panel_vdd3>;
		vci-supply = <&pm8916_l17>;
		reset-gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;

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

&mdss_dsi0_out {
	data-lanes = <0 1>;
	remote-endpoint = <&panel_in>;
};

&vibrator {
	status = "okay";
};

&wcnss {
	status = "okay";
};

&wcnss_iris {
	compatible = "qcom,wcn3620";
};

&tlmm {
	panel_vdd3_default: panel-vdd3-default-state {
		pins = "gpio9";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	tkey_en_default: tkey-en-default-state {
		pins = "gpio86";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	tkey_led_en_default: tkey-led-en-default-state {
		pins = "gpio60";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};
};