Skip to content

Commit 54c1f63

Browse files
Alberto Panizzosaschahauer
authored andcommitted
mx31_3ds: Support the keypad situated in the personality board
Signed-off-by: Alberto Panizzo <[email protected]> Signed-off-by: Sascha Hauer <[email protected]>
1 parent b1e8995 commit 54c1f63

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

arch/arm/mach-mx3/mach-mx31_3ds.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <linux/spi/spi.h>
2929
#include <linux/regulator/machine.h>
3030
#include <linux/fsl_devices.h>
31+
#include <linux/input/matrix_keypad.h>
3132

3233
#include <mach/hardware.h>
3334
#include <asm/mach-types.h>
@@ -82,6 +83,35 @@ static int mx31_3ds_pins[] = {
8283
MX31_PIN_USBOTG_DIR__USBOTG_DIR,
8384
MX31_PIN_USBOTG_NXT__USBOTG_NXT,
8485
MX31_PIN_USBOTG_STP__USBOTG_STP,
86+
/*Keyboard*/
87+
MX31_PIN_KEY_ROW0_KEY_ROW0,
88+
MX31_PIN_KEY_ROW1_KEY_ROW1,
89+
MX31_PIN_KEY_ROW2_KEY_ROW2,
90+
MX31_PIN_KEY_COL0_KEY_COL0,
91+
MX31_PIN_KEY_COL1_KEY_COL1,
92+
MX31_PIN_KEY_COL2_KEY_COL2,
93+
MX31_PIN_KEY_COL3_KEY_COL3,
94+
};
95+
96+
/*
97+
* Matrix keyboard
98+
*/
99+
100+
static const uint32_t mx31_3ds_keymap[] = {
101+
KEY(0, 0, KEY_UP),
102+
KEY(0, 1, KEY_DOWN),
103+
KEY(1, 0, KEY_RIGHT),
104+
KEY(1, 1, KEY_LEFT),
105+
KEY(1, 2, KEY_ENTER),
106+
KEY(2, 0, KEY_F6),
107+
KEY(2, 1, KEY_F8),
108+
KEY(2, 2, KEY_F9),
109+
KEY(2, 3, KEY_F10),
110+
};
111+
112+
static struct matrix_keymap_data mx31_3ds_keymap_data = {
113+
.keymap = mx31_3ds_keymap,
114+
.keymap_size = ARRAY_SIZE(mx31_3ds_keymap),
85115
};
86116

87117
/* Regulators */
@@ -367,6 +397,8 @@ static void __init mxc_board_init(void)
367397
spi_register_board_info(mx31_3ds_spi_devs,
368398
ARRAY_SIZE(mx31_3ds_spi_devs));
369399

400+
mxc_register_device(&imx_kpp_device, &mx31_3ds_keymap_data);
401+
370402
mx31_3ds_usbotg_init();
371403
mxc_register_device(&mxc_otg_udc_device, &usbotg_pdata);
372404

0 commit comments

Comments
 (0)