[PATCH 04/13] qi-gta01-add-ui-debounce.patch
Andy Green
andy at openmoko.com
Mon Dec 1 02:16:00 CET 2008
Signed-off-by: Andy Green <andy at openmoko.com>
---
src/cpu/s3c2410/gta01.c | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/cpu/s3c2410/gta01.c b/src/cpu/s3c2410/gta01.c
index cb20a72..1b572d2 100644
--- a/src/cpu/s3c2410/gta01.c
+++ b/src/cpu/s3c2410/gta01.c
@@ -209,6 +209,32 @@ static void close_gta01(void)
(bb_s3c24xx.close)();
}
+static u8 get_ui_keys_gta02(void)
+{
+ u8 keys;
+ u8 ret;
+ static u8 old_keys = 0; /* previous state for debounce */
+ static u8 old_ret = 0; /* previous debounced output for edge detect */
+
+ /* GPF6 is AUX on GTA01, map to UI_ACTION_ADD_DEBUG, down = 1 */
+ keys = ! (rGPFDAT & (1 << 6));
+
+ if (keys == old_keys)
+ ret = keys;
+ else
+ ret = old_keys;
+
+ /* edge action */
+ if ((ret & 1) && !(old_ret & 1))
+ ret |= UI_ACTION_SKIPKERNEL;
+
+ old_keys = keys;
+ old_ret = ret;
+
+ return ret;
+}
+
+
/*
* API for bootloader on this machine
*/
@@ -224,6 +250,8 @@ const struct board_api board_api_gta01 = {
.port_init = port_init_gta01,
.putc = putc_gta01,
.close = close_gta01,
+ .get_ui_keys = get_ui_keys_gta02,
+
.commandline_board = "mtdparts=" \
"neo1973-nand:" \
"0x00040000(qi)," \
More information about the openmoko-kernel
mailing list