On Mon, Oct 07, 2019 at 08:45:28AM +0200, michael.srba@xxxxxxxxx wrote: > From: Michael Srba <Michael.Srba@xxxxxxxxx> > > 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. > > Signed-off-by: Michael Srba <Michael.Srba@xxxxxxxxx> Reviewed-by: Stephan Gerhold <stephan@xxxxxxxxxxx> Tested-by: Stephan Gerhold <stephan@xxxxxxxxxxx> # a5u > --- > .../qcom/msm8916-samsung-a2015-common.dtsi | 76 +++++++++++++++++++ > 1 file changed, 76 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi > index 6fc0b80d1f90..bd1eb3eeca53 100644 > --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi > @@ -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>; > + }; > + }; > + }; > +}; > -- > 2.23.0 >