Thread (4 messages) 4 messages, 4 authors, 2010-09-03

Re: [PATCH 5/5] ARM: pxa168: aspenite: add board support for keypad

From: Mark F. Brown <hidden>
Date: 2010-09-03 04:50:33
Also in: linux-arm-kernel, lkml

Possibly related (same subject, not in this thread)

On Tue, Aug 31, 2010 at 1:00 AM, Haojian Zhuang
[off-list ref] wrote:
On Thu, Aug 26, 2010 at 5:18 PM, Mark F. Brown [off-list ref] wrote:
quoted
Signed-off-by: Mark F. Brown <redacted>
---
 arch/arm/mach-mmp/aspenite.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 9e1bd6b..1b788c5 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -24,6 +24,8 @@
 #include <mach/pxa168.h>
 #include <mach/gpio.h>
 #include <video/pxa168fb.h>
+#include <linux/input.h>
+#include <plat/pxa27x_keypad.h>

 #include "common.h"
@@ -97,6 +99,13 @@ static unsigned long common_pin_config[] __initdata = {
       GPIO81_LCD_DD21,
       GPIO82_LCD_DD22,
       GPIO83_LCD_DD23,
+
+       /* Keypad */
+       GPIO109_KP_MKIN1,
+       GPIO110_KP_MKIN0,
+       GPIO111_KP_MKOUT7,
+       GPIO112_KP_MKOUT6,
+       GPIO121_KP_MKIN4,
 };

 static struct smc91x_platdata smc91x_info = {
@@ -193,6 +202,23 @@ struct pxa168fb_mach_info aspenite_lcd_info = {
       .invert_pixclock        = 0,
 };

+static unsigned int aspenite_matrix_key_map[] = {
+       KEY(0, 6, KEY_UP),      /* SW 4 */
+       KEY(0, 7, KEY_DOWN),    /* SW 5 */
+       KEY(1, 6, KEY_LEFT),    /* SW 6 */
+       KEY(1, 7, KEY_RIGHT),   /* SW 7 */
+       KEY(4, 6, KEY_ENTER),   /* SW 8 */
+       KEY(4, 7, KEY_ESC),     /* SW 9 */
+};
+
+static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = {
+       .matrix_key_rows        = 8,
+       .matrix_key_cols        = 8,
It seems that maxium columns is 5, not 8.
quoted
+       .matrix_key_map         = aspenite_matrix_key_map,
+       .matrix_key_map_size    = ARRAY_SIZE(aspenite_matrix_key_map),
+       .debounce_interval      = 30,
+};
+
 static void __init common_init(void)
 {
       mfp_config(ARRAY_AND_SIZE(common_pin_config));
@@ -203,6 +229,7 @@ static void __init common_init(void)
       pxa168_add_ssp(1);
       pxa168_add_nand(&aspenite_nand_info);
       pxa168_add_fb(&aspenite_lcd_info);
+       pxa168_add_keypad(&aspenite_keypad_info);

       /* off-chip devices */
       platform_device_register(&smc91x_device);
--
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
The maximum keypad columns are 8 and the maximum keypad rows are 5 for
Aspenite. I will correct that in my patch resubmission!

Regards,
-- Mark
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help