ARM: dts: add support for GPIO buttons for exynos4412-odroid
authorMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 15 Jul 2014 17:54:07 +0000 (02:54 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 15 Jul 2014 17:54:07 +0000 (02:54 +0900)
This patch adds support for simple GPIO-based button availabled on
Exynos4 based Odroid boards. All supported boards have POWER button,
which has been defined in exynos4412-odroid-common.dtsi. X/X2 boards
also have additional user-configurable button which has been mapped to
KEY_HOME. All defined keys have been marked as possible wakeup source.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
arch/arm/boot/dts/exynos4412-odroidx.dts

index ad2cb32..d1b33a8 100644 (file)
@@ -7,6 +7,7 @@
  * published by the Free Software Foundation.
 */
 
+#include <dt-bindings/input/input.h>
 #include "exynos4412.dtsi"
 
 / {
                reg = <0x0204F000 0x1000>;
        };
 
+       gpio_keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&gpio_power_key>;
+
+               power_key {
+                       interrupt-parent = <&gpx1>;
+                       interrupts = <3 0>;
+                       gpios = <&gpx1 3 1>;
+                       linux,code = <KEY_POWER>;
+                       label = "power key";
+                       debounce-interval = <10>;
+                       gpio-key,wakeup;
+               };
+       };
+
        mmc@12550000 {
                pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
                pinctrl-names = "default";
                status = "okay";
        };
 };
+
+&pinctrl_1 {
+       gpio_power_key: power_key {
+               samsung,pins = "gpx1-3";
+               samsung,pin-pud = <0>;
+       };
+};
index 8b453a3..cb1cfe7 100644 (file)
                status = "okay";
        };
 
+       gpio_keys {
+               pinctrl-0 = <&gpio_power_key &gpio_home_key>;
+
+               home_key {
+                       interrupt-parent = <&gpx2>;
+                       interrupts = <2 0>;
+                       gpios = <&gpx2 2 0>;
+                       linux,code = <KEY_HOME>;
+                       label = "home key";
+                       debounce-interval = <10>;
+                       gpio-key,wakeup;
+               };
+       };
+
        regulator_p3v3 {
                compatible = "regulator-fixed";
                regulator-name = "p3v3_en";
                status = "okay";
        };
 };
+
+&pinctrl_1 {
+       gpio_home_key: home_key {
+               samsung,pins = "gpx2-2";
+               samsung,pin-pud = <0>;
+       };
+};