summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/board
diff options
context:
space:
mode:
authorSteve Markgraf <steve@steve-m.de>2013-01-03 23:14:45 +0100
committerSylvain Munaut <tnt@246tNt.com>2013-01-05 18:40:39 +0100
commit0da82b96b7fbb94eb246dc2774aada4e59cffa14 (patch)
treee28c8d616085c637a8518feaffebd0fb486771c3 /src/target/firmware/board
parent21bc3b8db014b5579eb9dd960feb87f24ea1e857 (diff)
fw: keypad driver overhaul, support for different keymaps
Now the Pirelli DP-L10 keymap is supported. Signed-off-by: Steve Markgraf <steve@steve-m.de>
Diffstat (limited to 'src/target/firmware/board')
-rw-r--r--src/target/firmware/board/compal/keymap.h27
-rw-r--r--src/target/firmware/board/compal_e86/init.c3
-rwxr-xr-xsrc/target/firmware/board/compal_e88/init.c3
-rw-r--r--src/target/firmware/board/compal_e99/init.c3
-rw-r--r--src/target/firmware/board/gta0x/init.c3
-rw-r--r--src/target/firmware/board/pirelli_dpl10/init.c3
-rw-r--r--src/target/firmware/board/pirelli_dpl10/keymap.h28
-rw-r--r--src/target/firmware/board/se_j100/init.c3
8 files changed, 67 insertions, 6 deletions
diff --git a/src/target/firmware/board/compal/keymap.h b/src/target/firmware/board/compal/keymap.h
new file mode 100644
index 00000000..ce8f9c24
--- /dev/null
+++ b/src/target/firmware/board/compal/keymap.h
@@ -0,0 +1,27 @@
+/* keymap for the Compal C1xx phones */
+
+static const uint8_t keymap[] = {
+ [KEY_0] = 13,
+ [KEY_1] = 15,
+ [KEY_2] = 10,
+ [KEY_3] = 5,
+ [KEY_4] = 16,
+ [KEY_5] = 11,
+ [KEY_6] = 6,
+ [KEY_7] = 17,
+ [KEY_8] = 12,
+ [KEY_9] = 7,
+ [KEY_STAR] = 18,
+ [KEY_HASH] = 8,
+ [KEY_MENU] = 14,
+ [KEY_LEFT_SB] = 19,
+ [KEY_RIGHT_SB] = 9,
+ [KEY_UP] = 1,
+ [KEY_DOWN] = 2,
+ [KEY_LEFT] = 3,
+ [KEY_RIGHT] = 4,
+ [KEY_OK] = 0,
+ [KEY_POWER] = 24,
+ [KEY_MINUS] = 30, /* not existent */
+ [KEY_PLUS] = 31, /* not existent */
+};
diff --git a/src/target/firmware/board/compal_e86/init.c b/src/target/firmware/board/compal_e86/init.c
index 336eb43b..fed9f85a 100644
--- a/src/target/firmware/board/compal_e86/init.c
+++ b/src/target/firmware/board/compal_e86/init.c
@@ -47,6 +47,7 @@
#include <rf/trf6151.h>
#include <fb/framebuffer.h>
+#include "../compal/keymap.h"
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -138,7 +139,7 @@ void board_init(int with_irq)
bl_level(0);
/* Initialize keypad driver */
- keypad_init(with_irq);
+ keypad_init(keymap, with_irq);
/* Initialize ABB driver (uses SPI) */
twl3025_init();
diff --git a/src/target/firmware/board/compal_e88/init.c b/src/target/firmware/board/compal_e88/init.c
index 21a23a16..04ae4588 100755
--- a/src/target/firmware/board/compal_e88/init.c
+++ b/src/target/firmware/board/compal_e88/init.c
@@ -46,6 +46,7 @@
#include <rf/trf6151.h>
#include <fb/framebuffer.h>
#include <battery/compal_e88.h>
+#include "../compal/keymap.h"
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -134,7 +135,7 @@ void board_init(int with_irq)
bl_level(50);
/* Initialize keypad driver */
- keypad_init(with_irq);
+ keypad_init(keymap, with_irq);
/* Initialize ABB driver (uses SPI) */
twl3025_init();
diff --git a/src/target/firmware/board/compal_e99/init.c b/src/target/firmware/board/compal_e99/init.c
index cb8d3217..7cc3c67d 100644
--- a/src/target/firmware/board/compal_e99/init.c
+++ b/src/target/firmware/board/compal_e99/init.c
@@ -47,6 +47,7 @@
#include <rf/trf6151.h>
#include <fb/framebuffer.h>
+#include "../compal/keymap.h"
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -139,7 +140,7 @@ void board_init(int with_irq)
fb_init();
/* Initialize keypad driver */
- keypad_init(with_irq);
+ keypad_init(keymap, with_irq);
/* Initialize ABB driver (uses SPI) */
twl3025_init();
diff --git a/src/target/firmware/board/gta0x/init.c b/src/target/firmware/board/gta0x/init.c
index 8b907e3c..4f49e802 100644
--- a/src/target/firmware/board/gta0x/init.c
+++ b/src/target/firmware/board/gta0x/init.c
@@ -44,6 +44,7 @@
#include <abb/twl3025.h>
#include <rf/trf6151.h>
+#include "../compal/keymap.h"
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -130,7 +131,7 @@ void board_init(int with_irq)
bl_level(50);
/* Initialize keypad driver */
- keypad_init(with_irq);
+ keypad_init(keymap, with_irq);
/* Initialize ABB driver (uses SPI) */
twl3025_init();
diff --git a/src/target/firmware/board/pirelli_dpl10/init.c b/src/target/firmware/board/pirelli_dpl10/init.c
index d822b80c..ea62f090 100644
--- a/src/target/firmware/board/pirelli_dpl10/init.c
+++ b/src/target/firmware/board/pirelli_dpl10/init.c
@@ -47,6 +47,7 @@
#include <rf/trf6151.h>
#include <fb/framebuffer.h>
+#include "keymap.h"
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -142,7 +143,7 @@ void board_init(int with_irq)
fb_init();
/* Initialize keypad driver */
- keypad_init(with_irq);
+ keypad_init(keymap, with_irq);
/* Initialize ABB driver (uses SPI) */
twl3025_init();
diff --git a/src/target/firmware/board/pirelli_dpl10/keymap.h b/src/target/firmware/board/pirelli_dpl10/keymap.h
new file mode 100644
index 00000000..b85621bd
--- /dev/null
+++ b/src/target/firmware/board/pirelli_dpl10/keymap.h
@@ -0,0 +1,28 @@
+/* keymap for the Pirelli DP-L10 */
+
+static const uint8_t keymap[] = {
+ [KEY_0] = 18,
+ [KEY_1] = 4,
+ [KEY_2] = 3,
+ [KEY_3] = 2,
+ [KEY_4] = 9,
+ [KEY_5] = 8,
+ [KEY_6] = 7,
+ [KEY_7] = 14,
+ [KEY_8] = 13,
+ [KEY_9] = 12,
+ [KEY_STAR] = 19,
+ [KEY_HASH] = 17,
+ [KEY_MENU] = 0,
+ [KEY_LEFT_SB] = 1,
+ [KEY_RIGHT_SB] = 6,
+ [KEY_UP] = 15,
+ [KEY_DOWN] = 16,
+ [KEY_LEFT] = 5,
+ [KEY_RIGHT] = 10,
+ [KEY_OK] = 11,
+/* power button is not connected, we use the camera button instead */
+ [KEY_POWER] = 23,
+ [KEY_MINUS] = 22,
+ [KEY_PLUS] = 21,
+};
diff --git a/src/target/firmware/board/se_j100/init.c b/src/target/firmware/board/se_j100/init.c
index 402684b0..0ae477a4 100644
--- a/src/target/firmware/board/se_j100/init.c
+++ b/src/target/firmware/board/se_j100/init.c
@@ -47,6 +47,7 @@
#include <rf/trf6151.h>
#include <fb/framebuffer.h>
+#include "../compal/keymap.h"
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -138,7 +139,7 @@ void board_init(int with_irq)
bl_level(50);
/* Initialize keypad driver */
- keypad_init(with_irq);
+ keypad_init(keymap, with_irq);
/* Initialize ABB driver (uses SPI) */
twl3025_init();