diff options
Diffstat (limited to 'packages/linux/linux-ezx-2.6.23/patches/a780-kbd.patch')
-rw-r--r-- | packages/linux/linux-ezx-2.6.23/patches/a780-kbd.patch | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/packages/linux/linux-ezx-2.6.23/patches/a780-kbd.patch b/packages/linux/linux-ezx-2.6.23/patches/a780-kbd.patch deleted file mode 100644 index df60384b9c..0000000000 --- a/packages/linux/linux-ezx-2.6.23/patches/a780-kbd.patch +++ /dev/null @@ -1,90 +0,0 @@ -Index: linux-2.6.23/arch/arm/mach-pxa/ezx-a780.c -=================================================================== ---- linux-2.6.23.orig/arch/arm/mach-pxa/ezx-a780.c 2007-10-23 19:36:54.000000000 +0200 -+++ linux-2.6.23/arch/arm/mach-pxa/ezx-a780.c 2007-10-23 19:37:43.000000000 +0200 -@@ -17,6 +17,7 @@ - #include <linux/mmc/host.h> - #include <linux/irq.h> - #include <linux/log2.h> -+#include <linux/input.h> - - #include <asm/mach-types.h> - #include <asm/mach/arch.h> -@@ -25,11 +26,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,55 @@ - .resource = a780_emu_resources, - }; - -+static unsigned char a780_keycode[] = { -+ /* row 0 */ -+ KEY_PHONE, KEY_MENU, KEY_CANCEL, KEY_PAGEUP, KEY_UP, -+ /* row 1 */ -+ KEY_KP1, KEY_KP2, KEY_KP3, KEY_ENTER, KEY_KPENTER, /*center joypad */ -+ /* row 2 */ -+ KEY_KP4, KEY_KP5, KEY_KP6, KEY_RECORD, KEY_LEFT, -+ /* row 3 */ -+ KEY_KP7, KEY_KP8, KEY_KP9, KEY_HOME, KEY_RIGHT, -+ /* row 4 */ -+ KEY_KPASTERISK, KEY_KP0, KEY_KPDOT, KEY_PAGEDOWN, KEY_DOWN, -+}; -+ -+static unsigned char a780_direct_keycode[] = { -+ KEY_CAMERA, -+}; -+ -+static int a780_kbd_init(void) -+{ -+ pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, voice_rec */ -+ pxa_gpio_mode(97 | GPIO_ALT_FN_3_IN); /* KP_MKIN<3> */ -+ pxa_gpio_mode(98 | GPIO_ALT_FN_3_IN); /* KP_MKIN<4> */ -+ 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(107 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<4> */ -+ PKWR = 0xec400; -+ PGSR3 |= 0xf80; -+ return 0; -+} -+ -+static struct pxakbd_platform_data a780_kbd_platform_data = { -+ .init = &a780_kbd_init, -+ .scan_interval = HZ/40, -+ .matrix = { -+ .keycode = a780_keycode, -+ .cols = 5, -+ .rows = 5, -+ }, -+ .direct = { -+ .keycode = a780_direct_keycode, -+ .num = 1, -+ }, -+}; -+ - static struct platform_device *devices[] __initdata = { - &a780_pcap_device, - &a780_emu_device, -@@ -256,6 +308,7 @@ - - set_pxa_fb_info(&a780_fb_info); - pxa_set_mci_info(&a780_mci_platform_data); -+ pxa_set_kbd_info(&a780_kbd_platform_data); - - /* clear EMU MUX1/MUX2 (low) to close the audio path to EMU */ - pxa_gpio_mode(GPIO_EMU_MUX1|GPIO_OUT); |