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

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
......@@ -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 @@ wcnss@a21b000 {
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 @@ muic: sm5502@25 {
};
&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 @@ l18 {
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>;
};
};
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment