summaryrefslogtreecommitdiff
path: root/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch')
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch93
1 files changed, 0 insertions, 93 deletions
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch
deleted file mode 100755
index ffd8bbb754..0000000000
--- a/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:07:33.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-07 11:10:47.000000000 -0300
-@@ -15,6 +15,7 @@
- #include <linux/fb.h>
- #include <linux/mmc/host.h>
- #include <linux/irq.h>
-+#include <linux/input.h>
-
- #include <asm/mach-types.h>
- #include <asm/mach/arch.h>
-@@ -23,11 +24,13 @@
- #include <asm/arch/ezx.h>
- #include <asm/arch/ezx-pcap.h>
- #include <asm/arch/mmc.h>
-+#include <asm/arch/kbd.h>
-
- #include "generic.h"
-
- extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
- extern void ezx_backlight_power(int);
-+extern void __init pxa_set_kbd_info(struct pxakbd_platform_data *);
-
- #ifdef CONFIG_EZX_PCAP
- extern int ezx_pcap_mmcsd_power(int);
-@@ -238,6 +241,58 @@
- .resource = e680_emu_resources,
- };
-
-+static unsigned char e680_keycode[] = {
-+ /* row 0 */
-+ KEY_UP, KEY_RIGHT, KEY_RESERVED, KEY_PHONE,
-+ /* row 1 */
-+ KEY_DOWN, KEY_LEFT, KEY_VOLUMEUP, KEY_VOLUMEDOWN,
-+ /* row 2 */
-+ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_KPENTER,
-+};
-+
-+static unsigned char e680_direct_keycode[] = {
-+ KEY_CAMERA,
-+ KEY_RESERVED,
-+ KEY_RESERVED,
-+ KEY_HOME,
-+ KEY_POWER,
-+ KEY_MENU,
-+};
-+
-+static int e680_kbd_init(void)
-+{
-+ pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, VR Key */
-+ pxa_gpio_mode(96 | GPIO_ALT_FN_1_IN); /* KP_DKIN<3>, GAME_A */
-+ pxa_gpio_mode(97 | GPIO_ALT_FN_1_IN); /* KP_DKIN<4>, power key */
-+ pxa_gpio_mode(98 | GPIO_ALT_FN_1_IN); /* KP_DKIN<5>, GAME_B */
-+ pxa_gpio_mode(100 | GPIO_ALT_FN_1_IN); /* KP_MKIN<0> */
-+ pxa_gpio_mode(101 | GPIO_ALT_FN_1_IN); /* KP_MKIN<1> */
-+ pxa_gpio_mode(102 | GPIO_ALT_FN_1_IN); /* KP_MKIN<2> */
-+ pxa_gpio_mode(103 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<0> */
-+ pxa_gpio_mode(104 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<1> */
-+ pxa_gpio_mode(105 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<2> */
-+ pxa_gpio_mode(106 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<3> */
-+ pxa_gpio_mode(GPIO_TC_MM_EN);
-+ GPDR(GPIO_TC_MM_EN) |= GPIO_bit(GPIO_TC_MM_EN);
-+ GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN);
-+ PGSR3 |= GPIO_bit(GPIO_TC_MM_EN);
-+ return 0;
-+}
-+
-+static struct pxakbd_platform_data e680_kbd_platform_data = {
-+ .init = &e680_kbd_init,
-+ .scan_interval = HZ/40,
-+ .matrix = {
-+ .keycode = e680_keycode,
-+ .cols = 4,
-+ .rows = 3,
-+ },
-+ .direct = {
-+ .keycode = e680_direct_keycode,
-+ .num = 6,
-+ },
-+};
-+
- static struct platform_device *devices[] __initdata = {
- &e680_pcap_device,
- &e680_emu_device,
-@@ -258,6 +313,7 @@
-
- set_pxa_fb_info(&e680_fb_info);
- pxa_set_mci_info(&e680_mci_platform_data);
-+ pxa_set_kbd_info(&e680_kbd_platform_data);
-
- /* clear EMU MUX1/MUX2 (low) to close the audio path to EMU */
- pxa_gpio_mode(GPIO_EMU_MUX1|GPIO_OUT);