summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
diff options
context:
space:
mode:
authorBrian Kim <brian.kim@hardkernel.com>2017-09-12 13:57:54 +0200
committerKrzysztof Kozlowski <krzk@kernel.org>2017-09-18 20:35:44 +0200
commit227c23b5dee1c8cf8147a47b275af3e367a352b1 (patch)
tree330a681755dd805df64249667cad7b9bf532123c /arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
parentARM: dts: exynos: Remove the display-timing and delay from Rinato (diff)
downloadlinux-227c23b5dee1c8cf8147a47b275af3e367a352b1.tar.xz
linux-227c23b5dee1c8cf8147a47b275af3e367a352b1.zip
ARM: dts: exynos: Add power button for Odroid XU3/4
The power button (SW2) on Odroid XU3/4 is connected to the PWRON pin of the S2MPS11 PMIC. The S2MPS11 datasheet says that ONOB pin operates as 'PWRON key active low signal'. In fact, S2MPS11 PMIC acts as a 16ms debouce filter and signal inverter, thus effectively repeating PWRON (active high) to ONOB pin (active low). ONOB PMIC pin is then connected to XEINT3 SoC pin, so we get the state of the power button on the gpx0-3 GPIO. This patch adds device-tree bindings for the power button of Odroid XU3/4 boards. Signed-off-by: Brian Kim <brian.kim@hardkernel.com> [mszyprow: extended commit message, added comments and fixed minor issues in the dts] Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Anand Moon <linux.amoon@gmail.com> Tested-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Diffstat (limited to 'arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi')
-rw-r--r--arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
index 0418f20d9f5b..7d2b95c6970f 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
@@ -13,6 +13,7 @@
*/
#include <dt-bindings/clock/samsung,s2mps11.h>
+#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/samsung-i2s.h>
@@ -41,6 +42,27 @@
};
};
+ gpio_keys {
+ compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&power_key>;
+
+ power_key {
+ /*
+ * The power button (SW2) is connected to the PWRON
+ * pin (active high) of the S2MPS11 PMIC, which acts
+ * as a 16ms debouce filter and signal inverter with
+ * output on ONOB pin (active low). ONOB PMIC pin is
+ * then connected to XEINT3 SoC pin.
+ */
+ gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <0>;
+ wakeup-source;
+ };
+ };
+
emmc_pwrseq: pwrseq {
pinctrl-0 = <&emmc_nrst_pin>;
pinctrl-names = "default";
@@ -760,6 +782,13 @@
};
&pinctrl_0 {
+ power_key: power-key {
+ samsung,pins = "gpx0-3";
+ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+ };
+
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;