From 2c3c066ea0264281b60295fca160b6ea8eda4ef1 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 11 Jan 2021 18:14:07 +0100 Subject: [PATCH] Add GPIO power button support for ODROID-N2 (#1161) (#1165) --- Documentation/boards/hardkernel/odroid-n2.md | 4 ++ .../board/hardkernel/odroid-n2/kernel.config | 3 ++ ...-meson-g12b-add-power-button-support.patch | 42 +++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-meson-g12b-add-power-button-support.patch diff --git a/Documentation/boards/hardkernel/odroid-n2.md b/Documentation/boards/hardkernel/odroid-n2.md index 16316d8a0..bdb6551a1 100644 --- a/Documentation/boards/hardkernel/odroid-n2.md +++ b/Documentation/boards/hardkernel/odroid-n2.md @@ -12,3 +12,7 @@ eg. `console=ttyAML0,115200n8 console=tty0` ## GPIO Refer to [the odroid wiki](https://wiki.odroid.com/odroid-n2/hardware/expansion_connectors). +At this point not all functionality is supported by the upstream kernel used +by Home Assistant OS. + +The GPIO on pin 11 is used as a low active power button input. diff --git a/buildroot-external/board/hardkernel/odroid-n2/kernel.config b/buildroot-external/board/hardkernel/odroid-n2/kernel.config index f99021fe2..68d32637d 100644 --- a/buildroot-external/board/hardkernel/odroid-n2/kernel.config +++ b/buildroot-external/board/hardkernel/odroid-n2/kernel.config @@ -1 +1,4 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y + +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=y diff --git a/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-meson-g12b-add-power-button-support.patch b/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-meson-g12b-add-power-button-support.patch new file mode 100644 index 000000000..dfefe7169 --- /dev/null +++ b/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-meson-g12b-add-power-button-support.patch @@ -0,0 +1,42 @@ +From 83ec133319bc8b04fad2bec65ffe95246c600520 Mon Sep 17 00:00:00 2001 +Message-Id: <83ec133319bc8b04fad2bec65ffe95246c600520.1610380198.git.stefan@agner.ch> +In-Reply-To: <9d2a2b44e67b0ef49e534c097e8b5e3e1173b033.1610380198.git.stefan@agner.ch> +References: <9d2a2b44e67b0ef49e534c097e8b5e3e1173b033.1610380198.git.stefan@agner.ch> +From: Stefan Agner +Date: Mon, 11 Jan 2021 11:20:48 +0100 +Subject: [PATCH 08/10] arm64: dts: meson: g12b: add power button support + +Add power button support on J2 pin 11 (GPIOX_3 on the SoC side). The +GPIO is low active, e.g. when connecting with pin 9 (GND) a power +button press is triggered. + +Signed-off-by: Stefan Agner +--- + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +index 445d90d25aa3..ddc7ad9a7d8d 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -39,6 +39,17 @@ emmc_pwrseq: emmc-pwrseq { + reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; + }; + ++ gpio-keys-polled { ++ compatible = "gpio-keys-polled"; ++ poll-interval = <100>; ++ ++ power-button { ++ label = "power"; ++ linux,code = ; ++ gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ + leds { + compatible = "gpio-leds"; + +-- +2.30.0 +