Skip to content

Commit

Permalink
ARM: dts: exynos: Add support for the touch-sensitive buttons on Mida…
Browse files Browse the repository at this point in the history
…s 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>
  • Loading branch information
Simon Shields authored and Krzysztof Kozlowski committed Nov 13, 2019
1 parent b6df5e2 commit d4ec0cb
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,8 @@
vdda-supply = <&ldo17_reg>;
status = "okay";
};

&touchkey_reg {
gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
29 changes: 29 additions & 0 deletions arch/arm/boot/dts/exynos4412-midas.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -92,6 +93,15 @@
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";
Expand Down Expand Up @@ -197,6 +207,25 @@
};
};

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>;
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/exynos4412-n710x.dts
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,8 @@
vdda-supply = <&cam_vdda_reg>;
status = "okay";
};

&touchkey_reg {
gpio = <&gpm0 5 GPIO_ACTIVE_HIGH>;
status = "okay";
};

0 comments on commit d4ec0cb

Please sign in to comment.