From 5e6a7c486b6542554e2599a5fdb031de76b95223 Mon Sep 17 00:00:00 2001 From: CTCaer Date: Sun, 16 Jan 2022 01:05:42 +0200 Subject: [PATCH] bdk: btn: enable HOME button as input --- bdk/soc/hw_init.c | 4 ++-- bdk/utils/btn.c | 5 +++++ bdk/utils/btn.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bdk/soc/hw_init.c b/bdk/soc/hw_init.c index 86345d7..1643876 100644 --- a/bdk/soc/hw_init.c +++ b/bdk/soc/hw_init.c @@ -138,8 +138,8 @@ static void _config_gpios(bool nx_hoag) gpio_output_enable(GPIO_PORT_X, GPIO_PIN_7, GPIO_OUTPUT_DISABLE); // Configure HOME as inputs. - // PINMUX_AUX(PINMUX_AUX_BUTTON_HOME) = PINMUX_INPUT_ENABLE | PINMUX_TRISTATE; - // gpio_config(GPIO_PORT_Y, GPIO_PIN_1, GPIO_MODE_GPIO); + PINMUX_AUX(PINMUX_AUX_BUTTON_HOME) = PINMUX_INPUT_ENABLE | PINMUX_TRISTATE; + gpio_config(GPIO_PORT_Y, GPIO_PIN_1, GPIO_MODE_GPIO); } static void _config_pmc_scratch() diff --git a/bdk/utils/btn.c b/bdk/utils/btn.c index cc36573..b06e1d5 100644 --- a/bdk/utils/btn.c +++ b/bdk/utils/btn.c @@ -44,6 +44,11 @@ u8 btn_read_vol() return res; } +u8 btn_read_home() +{ + return (!gpio_read(GPIO_PORT_Y, GPIO_PIN_1)) ? BTN_HOME : 0; +} + u8 btn_wait() { u8 res = 0, btn = btn_read(); diff --git a/bdk/utils/btn.h b/bdk/utils/btn.h index ac191fa..01f8fcb 100644 --- a/bdk/utils/btn.h +++ b/bdk/utils/btn.h @@ -23,10 +23,12 @@ #define BTN_POWER BIT(0) #define BTN_VOL_DOWN BIT(1) #define BTN_VOL_UP BIT(2) +#define BTN_HOME BIT(3) #define BTN_SINGLE BIT(7) u8 btn_read(); u8 btn_read_vol(); +u8 btn_read_home(); u8 btn_wait(); u8 btn_wait_timeout(u32 time_ms, u8 mask); u8 btn_wait_timeout_single(u32 time_ms, u8 mask);