diff options
Diffstat (limited to 'packages/linux/linux-ezx-2.6.24/patches/e680-kbd.patch')
-rw-r--r-- | packages/linux/linux-ezx-2.6.24/patches/e680-kbd.patch | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/packages/linux/linux-ezx-2.6.24/patches/e680-kbd.patch b/packages/linux/linux-ezx-2.6.24/patches/e680-kbd.patch deleted file mode 100644 index c313ec1452..0000000000 --- a/packages/linux/linux-ezx-2.6.24/patches/e680-kbd.patch +++ /dev/null @@ -1,93 +0,0 @@ -Index: linux-2.6.23/arch/arm/mach-pxa/ezx-e680.c -=================================================================== ---- linux-2.6.23.orig/arch/arm/mach-pxa/ezx-e680.c -+++ linux-2.6.23/arch/arm/mach-pxa/ezx-e680.c -@@ -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); -@@ -236,6 +239,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, -@@ -256,6 +311,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); |