Commit b1b8d080 authored by Michael Srba's avatar Michael Srba Committed by Bjorn Andersson
Browse files

arm64: dts: msm8916-samsung-a2015: add tactile buttons and hall sensor



Add nodes for basic GPIO connected hardware to the Samsung A3/A5 common dtsi.
This includes the Volume UP button, the Home button, and the hall sensor used
to sense "smart cover" open state. Related to that, add a node for the Volume
DOWN button, which is handled by the pm8916 as is common with msm8916 devices.

Tested-by: Stephan Gerhold <stephan@gerhold.net> # a5u
Reviewed-by: default avatarStephan Gerhold <stephan@gerhold.net>
Signed-off-by: default avatarMichael Srba <Michael.Srba@seznam.cz>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 10e99d47
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
#include "msm8916.dtsi"
#include "pm8916.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
@@ -91,6 +92,44 @@
		etm@85f000 { status = "disabled"; };
	};

	gpio-keys {
		compatible = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&gpio_keys_default>;

		label = "GPIO Buttons";

		volume-up {
			label = "Volume Up";
			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
		};

		home {
			label = "Home";
			gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_HOMEPAGE>;
		};
	};

	gpio-hall-sensor {
		compatible = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&gpio_hall_sensor_default>;

		label = "GPIO Hall Effect Sensor";

		hall-sensor {
			label = "Hall Effect Sensor";
			gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_SW>;
			linux,code = <SW_LID>;
			linux,can-disable;
		};
	};

	i2c-muic {
		compatible = "i2c-gpio";
		sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
@@ -113,6 +152,30 @@
};

&msmgpio {
	gpio_keys_default: gpio_keys_default {
		pinmux {
			function = "gpio";
			pins = "gpio107", "gpio109";
		};
		pinconf {
			pins = "gpio107", "gpio109";
			drive-strength = <2>;
			bias-pull-up;
		};
	};

	gpio_hall_sensor_default: gpio_hall_sensor_default {
		pinmux {
			function = "gpio";
			pins = "gpio52";
		};
		pinconf {
			pins = "gpio52";
			drive-strength = <2>;
			bias-disable;
		};
	};

	muic_int_default: muic_int_default {
		pinmux {
			function = "gpio";
@@ -238,3 +301,16 @@
		regulator-max-microvolt = <2700000>;
	};
};

&spmi_bus {
	pm8916@0 {
		pon@800 {
			volume-down {
				compatible = "qcom,pm8941-resin";
				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
				bias-pull-up;
				linux,code = <KEY_VOLUMEDOWN>;
			};
		};
	};
};