Update to EFL 1.0-beta release
[qi-bootmenu-system.git] / sources / patches / qi-bootloader-gta01-load-NAND-kernel-upon-AUX-press.patch
blobfc42ffe1ac970bd623024a4761ddebabc6ef2fb0
1 From ef00a82485f393ee0c4bcfe5db3659002c50d162 Mon Sep 17 00:00:00 2001
2 From: Marc Andre Tanner <mat@brain-dump.org>
3 Date: Wed, 2 Dec 2009 01:30:57 +0100
4 Subject: [PATCH 3/3] gta01: load NAND kernel upon AUX press
6 Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
7 ---
8 src/cpu/s3c2410/gta01.c | 14 +++++++++++---
9 1 files changed, 11 insertions(+), 3 deletions(-)
11 diff --git a/src/cpu/s3c2410/gta01.c b/src/cpu/s3c2410/gta01.c
12 index 4686fa2..242c46f 100644
13 --- a/src/cpu/s3c2410/gta01.c
14 +++ b/src/cpu/s3c2410/gta01.c
15 @@ -218,18 +218,24 @@ static u8 get_ui_keys_gta01(void)
16 u8 ret = 0;
17 static u8 old_keys = 0; /* previous state for debounce */
18 static u8 older_keys = 0; /* previous debounced output for edge detect */
19 + static u8 kernel_ui = 0;
21 /* GPF6 is AUX on GTA01, map to UI_ACTION_SKIPKERNEL, down = 0 */
22 keys = ! (rGPFDAT & (1 << 6));
24 /* edge action */
25 - if ((old_keys & 1) && !(older_keys & 1))
26 - ret |= UI_ACTION_SKIPKERNEL;
27 + if ((old_keys & 1) && !(older_keys & 1)) {
28 + /* only generate 1 skip event if a bootmenu kernel is configured
29 + * otherwise we would probably end up skipping the ui kernel too */
30 + if (!board_api_gta01.kernel_ui || !kernel_ui)
31 + ret |= UI_ACTION_SKIPKERNEL;
32 + kernel_ui = UI_ACTION_UI_KERNEL;
33 + }
35 older_keys = old_keys;
36 old_keys = keys;
38 - return ret;
39 + return ret | kernel_ui;
42 static u8 get_ui_debug_gta01(void)
43 @@ -309,4 +315,6 @@ const struct board_api board_api_gta01 = {
44 "root=/dev/mtdblock4 ",
47 + /* boot NAND kernel on AUX press */
48 + .kernel_ui = 3,
50 --
51 1.6.5