ARM: dts: exynos: Add support for the touch-sensitive buttons on Midas family

Add support for the capacitive touch-sensitive buttons of the
following smartphones:
- Samsung Galaxy SIII (I9300)
- Samsung Galaxy SIII 4G (I9305)
- Samsung Galaxy Note II (N7100)
- Samsung Galaxy Note II 4G (N7105)

The keycodes correspond to markings on the phone case.

Signed-off-by: Simon Shields <simon@lineageos.org>
[GNUtoo@cyberdimension.org: Fixed keycodes, modified commit message]
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
This commit is contained in:
Simon Shields 2019-11-12 16:53:23 +01:00 committed by Krzysztof Kozlowski
parent b6df5e2bc8
commit d4ec0cb050
3 changed files with 39 additions and 0 deletions

View File

@ -168,3 +168,8 @@ &s5c73m3 {
vdda-supply = <&ldo17_reg>;
status = "okay";
};
&touchkey_reg {
gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>;
status = "okay";
};

View File

@ -13,6 +13,7 @@
#include "exynos4412.dtsi"
#include "exynos4412-ppmu-common.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/maxim,max77686.h>
#include <dt-bindings/pinctrl/samsung.h>
@ -92,6 +93,15 @@ vcc18mhl: voltage-regulator-5 {
enable-active-high;
};
touchkey_reg: voltage-regulator-6 {
compatible = "regulator-fixed";
regulator-name = "LED_VDD_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
status = "disabled";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@ -197,6 +207,25 @@ max77693-fuel-gauge@36 {
};
};
i2c-gpio-4 {
compatible = "i2c-gpio";
sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-gpio,delay-us = <2>;
#address-cells = <1>;
#size-cells = <0>;
touchkey@20 {
compatible = "cypress,midas-touchkey";
reg = <0x20>;
vdd-supply = <&touchkey_reg>;
vcc-supply = <&ldo5_reg>;
interrupt-parent = <&gpj0>;
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
linux,keycodes = <KEY_BACK KEY_MENU>;
};
};
i2c-mhl {
compatible = "i2c-gpio";
gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;

View File

@ -73,3 +73,8 @@ &s5c73m3 {
vdda-supply = <&cam_vdda_reg>;
status = "okay";
};
&touchkey_reg {
gpio = <&gpm0 5 GPIO_ACTIVE_HIGH>;
status = "okay";
};