Message ID | 20191007064528.6543-1-michael.srba@seznam.cz (mailing list archive) |
---|---|
State | Accepted |
Commit | b1b8d080f72808f88bdb3dd3c9b69b115b052f5b |
Headers | show |
Series | arm64: dts: msm8916-samsung-a2015: add tactile buttons and hall sensor | expand |
On Mon, Oct 07, 2019 at 08:45:28AM +0200, michael.srba@seznam.cz wrote: > From: Michael Srba <Michael.Srba@seznam.cz> > > 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@seznam.cz> Reviewed-by: Stephan Gerhold <stephan@gerhold.net> Tested-by: Stephan Gerhold <stephan@gerhold.net> # 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 >
On Sun 06 Oct 23:45 PDT 2019, michael.srba@seznam.cz wrote: > From: Michael Srba <Michael.Srba@seznam.cz> > > 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@seznam.cz> Applied with Stephan's acks Thanks, Bjorn > --- > .../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 >
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>; + }; + }; + }; +};