summaryrefslogtreecommitdiff
path: root/packages/linux/linux-ezx-2.6.21
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-ezx-2.6.21')
-rw-r--r--packages/linux/linux-ezx-2.6.21/ezx-kbd.patch139
-rw-r--r--packages/linux/linux-ezx-2.6.21/ezx-mci.patch177
-rw-r--r--packages/linux/linux-ezx-2.6.21/ezx-ts.patch399
-rw-r--r--packages/linux/linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch224
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/.mtn2git_empty0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX51
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch135
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch40
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch (renamed from packages/linux/linux-ezx-2.6.21/a780-flip.patch)7
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch (renamed from packages/linux/linux-ezx-2.6.21/a780-kbd.patch)8
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch (renamed from packages/linux/linux-ezx-2.6.21/a780-leds.patch)17
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch (renamed from packages/linux/linux-ezx-2.6.21/a780-mci.patch)20
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a780-ts.patch40
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/a780-vibrator.patch (renamed from packages/linux/linux-ezx-2.6.21/a780-vibrator.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/asoc-pxa-ssp.patch (renamed from packages/linux/linux-ezx-2.6.21/asoc-pxa-ssp.patch)0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/defconfig-a12001103
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/defconfig-a780 (renamed from packages/linux/linux-ezx-2.6.21/defconfig-a780)109
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/defconfig-e21092
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/defconfig-e61102
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/defconfig-e680 (renamed from packages/linux/linux-ezx-2.6.21/defconfig-e680)116
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/dmesg-a780.log299
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch (renamed from packages/linux/linux-ezx-2.6.21/e680-kbd.patch)8
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch (renamed from packages/linux/linux-ezx-2.6.21/e680-leds.patch)17
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch (renamed from packages/linux/linux-ezx-2.6.21/e680-locksw.patch)7
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch (renamed from packages/linux/linux-ezx-2.6.21/e680-mci.patch)20
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-ts.patch40
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-backlight.patch)18
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-bp.patch)31
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-core.patch)234
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-emu.patch)24
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-enable-stuart.patch99
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-mtd-map.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-mtd-map.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-pcap.patch)122
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-pm.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/ezx-serial-bug-workaround.patch (renamed from packages/linux/linux-ezx-2.6.21/ezx-serial-bug-workaround.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-fix-init-errorpath.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-fix-init-errorpath.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-fix-makefile.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-fix-makefile.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-fix-tty-driver.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-fix-tty-driver.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-fix.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-fix.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-ifdef-ezx-features.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-ifdef-ezx-features.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-linux-2.6.21-fix.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-linux-2.6.21-fix.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-remove-flipbuffers.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-remove-flipbuffers.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-remove-get_halted_bit.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-remove-get_halted_bit.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux-remove-usbh_finished_resume.patch (renamed from packages/linux/linux-ezx-2.6.21/mux-remove-usbh_finished_resume.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux_cli.patch (renamed from packages/linux/linux-ezx-2.6.21/mux_cli.patch)0
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/mux_debug.patch (renamed from packages/linux/linux-ezx-2.6.21/mux_debug.patch)0
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/patch-2.6.21.42816
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/pcap-ts.patch (renamed from packages/linux/linux-ezx-2.6.21/pcap-ts.patch)58
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/pxa-kbd.patch (renamed from packages/linux/linux-ezx-2.6.21/pxa-kbd.patch)58
-rwxr-xr-x[-rw-r--r--]packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-support.2.patch (renamed from packages/linux/linux-ezx-2.6.21/pxa27x-udc-support.2.patch)0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/series93
-rw-r--r--packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch237
-rw-r--r--packages/linux/linux-ezx-2.6.21/touchscreen-fix-r0.patch21
-rw-r--r--packages/linux/linux-ezx-2.6.21/update_patches.sh16
-rw-r--r--packages/linux/linux-ezx-2.6.21/wyrm-ts.diff124
55 files changed, 7454 insertions, 1667 deletions
diff --git a/packages/linux/linux-ezx-2.6.21/ezx-kbd.patch b/packages/linux/linux-ezx-2.6.21/ezx-kbd.patch
deleted file mode 100644
index 7c020a2d96..0000000000
--- a/packages/linux/linux-ezx-2.6.21/ezx-kbd.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx-kbd.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-kbd.c 2007-04-30 20:33:19.000000000 -0300
-@@ -0,0 +1,109 @@
-+#include <linux/input.h>
-+#include <asm/arch/kbd.h>
-+#include <asm/arch/pxa-regs.h>
-+
-+extern void __init pxa_set_kbd_info(struct pxakbd_platform_data *);
-+
-+#if defined(CONFIG_PXA_EZX_E680)
-+static unsigned char ezx_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 ezx_direct_keycode[] = {
-+ KEY_CAMERA,
-+ KEYPAD_RESERVED,
-+ KEYPAD_RESERVED,
-+ KEYPAD_HOME,
-+ KEY_POWER,
-+ KEYPAD_MENU,
-+};
-+#elif defined(CONFIG_PXA_EZX_A780)
-+static unsigned char ezx_keycode[] = {
-+ /* row 0 */
-+ KEY_KPENTER, 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_PAGEDOWN, KEY_PHONE,
-+ /* row 3 */
-+ KEY_KP7, KEY_KP8, KEY_KP9, KEY_PHONE, KEY_LEFT,
-+ /* row 4 */
-+ KEY_KPASTERISK, KEY_KP0, KEY_KPDOT, KEY_PAGEDOWN, KEY_DOWN,
-+};
-+static unsigned char ezx_direct_keycode[] = {
-+ KEY_CAMERA,
-+};
-+#else
-+#error "no EZX subarchitecture defined"
-+#endif
-+
-+static int ezx_kbd_init(void)
-+{
-+#if defined(CONFIG_PXA_EZX_E680)
-+ 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);
-+#elif defined(CONFIG_PXA_EZX_A780)
-+ 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> */
-+#endif
-+ return 0;
-+}
-+
-+static struct pxakbd_platform_data ezx_kbd_platform_data = {
-+ .init = &ezx_kbd_init,
-+ .scan_interval = HZ/40,
-+ .matrix = {
-+ .keycode = ezx_keycode,
-+#if defined(CONFIG_PXA_EZX_E680)
-+ .cols = 4,
-+ .rows = 3,
-+#elif defined(CONFIG_PXA_EZX_A780)
-+ .cols = 5,
-+ .rows = 5,
-+#endif
-+ },
-+ .direct = {
-+ .keycode = ezx_direct_keycode,
-+#if defined(CONFIG_PXA_EZX_E680)
-+ .num = 6,
-+#elif defined(CONFIG_PXA_EZX_A780)
-+ .num = 1,
-+#endif
-+ },
-+};
-+
-+
-+int __init __ezx_kbd_init (void)
-+{
-+ pxa_set_kbd_info(&ezx_kbd_platform_data);
-+ return 0;
-+}
-+
-+arch_initcall(__ezx_kbd_init);
-Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-04-30 20:09:21.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-04-30 20:09:34.000000000 -0300
-@@ -18,7 +18,7 @@
- obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
- obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
- obj-$(CONFIG_MACH_TOSA) += tosa.o
--obj-$(CONFIG_PXA_EZX) += ezx.o ezx_lcd.o ezx_ssp.o ezx-pcap.o ezx-mci.o
-+obj-$(CONFIG_PXA_EZX) += ezx.o ezx_lcd.o ezx_ssp.o ezx-pcap.o ezx-mci.o ezx-kbd.o
- obj-$(CONFIG_PXA_EZX_EMU) += ezx-emu.o
-
- # Support for blinky lights
-Index: linux-2.6.21/drivers/input/keyboard/pxakbd.c
-===================================================================
---- linux-2.6.21.orig/drivers/input/keyboard/pxakbd.c 2007-04-30 20:47:29.000000000 -0300
-+++ linux-2.6.21/drivers/input/keyboard/pxakbd.c 2007-04-30 20:49:32.000000000 -0300
-@@ -213,6 +213,7 @@
- if (!input_dev)
- goto out_pxa;
-
-+ spin_lock_init(&pxakbd->lock);
- pxakbd->irq = platform_get_irq(pdev, 0);
- r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!r || pxakbd->irq == NO_IRQ) {
diff --git a/packages/linux/linux-ezx-2.6.21/ezx-mci.patch b/packages/linux/linux-ezx-2.6.21/ezx-mci.patch
deleted file mode 100644
index d16693e3e4..0000000000
--- a/packages/linux/linux-ezx-2.6.21/ezx-mci.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-mci.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.20.7/arch/arm/mach-pxa/ezx-mci.c 2007-04-20 01:10:13.000000000 -0300
-@@ -0,0 +1,159 @@
-+/*
-+ * linux/arch/arm/mach-ezx/a780.c
-+ *
-+ * Support for the Motorola Ezx A780 Development Platform.
-+ *
-+ * Author: Zhuang Xiaofan
-+ * Created: Nov 25, 2003
-+ * Copyright: Motorola Inc.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <linux/mmc/host.h>
-+#include <linux/irq.h>
-+#include <asm/irq.h>
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/ezx-pcap.h>
-+#include <asm/arch/mmc.h>
-+#include <asm/arch/hardware.h>
-+
-+extern int ezx_pcap_mmcsd_power(int);
-+extern void ezx_pcap_mmcsd_voltage(u_int32_t);
-+
-+static struct pxamci_platform_data ezx_mci_platform_data;
-+
-+static int ezx_mci_init(struct device *dev,
-+ irqreturn_t (*ezx_detect_int)(int, void *),
-+ void *data)
-+{
-+ int err;
-+ printk("%s entered\n", __FUNCTION__);
-+
-+ /* Setup GPIO for PXA27x MMC/SD controller */
-+ pxa_gpio_mode(GPIO32_MMCCLK_MD);
-+ pxa_gpio_mode(GPIO112_MMCCMD_MD);
-+ pxa_gpio_mode(GPIO92_MMCDAT0_MD);
-+ pxa_gpio_mode(GPIO109_MMCDAT1_MD);
-+ pxa_gpio_mode(GPIO110_MMCDAT2_MD);
-+ pxa_gpio_mode(GPIO111_MMCDAT3_MD);
-+
-+ ezx_pcap_mmcsd_power(1);
-+
-+ ezx_mci_platform_data.detect_delay = msecs_to_jiffies(250);
-+
-+ err = request_irq(0x49, ezx_detect_int, SA_INTERRUPT,
-+ "MMC card detect", data);
-+ if (err) {
-+ printk(KERN_ERR "ezx_mci_detect: MMC/SD: can't request "
-+ "MMC card detect IRQ\n");
-+ return -1;
-+ }
-+
-+ set_irq_type(0x0b, IRQT_BOTHEDGE);
-+
-+ return 0;
-+}
-+
-+static int ezx_mci_get_ro(struct device *dev)
-+{
-+ printk("%s entered\n", __FUNCTION__);
-+#if defined(CONFIG_PXA_EZX_E680)
-+ /* this is only e680, i guess */
-+ // return GPIO_is_high(96+4);
-+ return (GPLR3 & 0x800);
-+#else
-+ return 0;
-+#endif
-+}
-+
-+#if defined(CONFIG_PXA_EZX_A780)
-+static u_int8_t mmc_voltage[] = {
-+ [MMC_VDD_160] = 5,
-+ [MMC_VDD_170] = 5,
-+ [MMC_VDD_180] = 6,
-+ [MMC_VDD_190] = 6,
-+ [MMC_VDD_200] = 7,
-+ [MMC_VDD_210] = 7,
-+ [MMC_VDD_220] = 8,
-+ [MMC_VDD_230] = 8,
-+ [MMC_VDD_240] = 9,
-+ [MMC_VDD_250] = 9,
-+ [MMC_VDD_260] = 10,
-+ [MMC_VDD_270] = 10,
-+ [MMC_VDD_280] = 11,
-+ [MMC_VDD_290] = 11,
-+ [MMC_VDD_300] = 12,
-+ [MMC_VDD_310] = 12,
-+ [MMC_VDD_320] = 13,
-+ [MMC_VDD_330] = 13,
-+ [MMC_VDD_340] = 14,
-+ [MMC_VDD_350] = 14,
-+ [MMC_VDD_360] = 15,
-+};
-+#elif defined(CONFIG_PXA_EZX_E680)
-+static u_int8_t mmc_voltage[] = {
-+ [MMC_VDD_160] = 3,
-+ [MMC_VDD_170] = 3,
-+ [MMC_VDD_180] = 3,
-+ [MMC_VDD_190] = 3,
-+ [MMC_VDD_200] = 3,
-+ [MMC_VDD_210] = 3,
-+ [MMC_VDD_220] = 3,
-+ [MMC_VDD_230] = 3,
-+ [MMC_VDD_240] = 3,
-+ [MMC_VDD_250] = 3,
-+ [MMC_VDD_260] = 3,
-+ [MMC_VDD_270] = 3,
-+ [MMC_VDD_280] = 3,
-+ [MMC_VDD_290] = 3,
-+ [MMC_VDD_300] = 3,
-+ [MMC_VDD_310] = 3,
-+ [MMC_VDD_320] = 3,
-+ [MMC_VDD_330] = 3,
-+ [MMC_VDD_340] = 3,
-+ [MMC_VDD_350] = 3,
-+ [MMC_VDD_360] = 3,
-+};
-+#endif
-+
-+static void ezx_mci_setpower(struct device *dev, unsigned int vdd)
-+{
-+ printk("%s(vdd=%u) entered\n", __FUNCTION__, vdd);
-+ if (vdd <= MMC_VDD_360)
-+ ezx_pcap_mmcsd_voltage(mmc_voltage[vdd]);
-+
-+ ezx_pcap_mmcsd_power(1);
-+}
-+
-+static void ezx_mci_exit(struct device *dev, void *data)
-+{
-+ printk("%s entered\n", __FUNCTION__);
-+ ezx_pcap_mmcsd_power(0);
-+ free_irq(0x49, data);
-+}
-+
-+static struct pxamci_platform_data ezx_mci_platform_data = {
-+#if defined(CONFIG_PXA_EZX_E680)
-+ .ocr_mask = MMC_VDD_27_28,
-+#elif defined(CONFIG_PXA_EZX_A780)
-+ .ocr_mask = MMC_VDD_160_165|MMC_VDD_18_19|MMC_VDD_20_21
-+ |MMC_VDD_22_23|MMC_VDD_24_25|MMC_VDD_26_27
-+ |MMC_VDD_28_29|MMC_VDD_30_31|MMC_VDD_32_33
-+ |MMC_VDD_34_35|MMC_VDD_35_36,
-+#endif
-+ .init = ezx_mci_init,
-+ .get_ro = ezx_mci_get_ro,
-+ .setpower = ezx_mci_setpower,
-+ .exit = ezx_mci_exit,
-+};
-+
-+int __init __ezx_mci_init (void)
-+{
-+ pxa_set_mci_info(&ezx_mci_platform_data);
-+ return 0;
-+}
-+
-+arch_initcall(__ezx_mci_init);
-Index: linux-2.6.20.7/arch/arm/mach-pxa/Makefile
-===================================================================
---- linux-2.6.20.7.orig/arch/arm/mach-pxa/Makefile 2007-04-21 02:56:16.000000000 -0300
-+++ linux-2.6.20.7/arch/arm/mach-pxa/Makefile 2007-04-21 03:00:03.000000000 -0300
-@@ -18,7 +18,7 @@
- obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
- obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
- obj-$(CONFIG_MACH_TOSA) += tosa.o
--obj-$(CONFIG_PXA_EZX) += ezx.o ezx_lcd.o ezx_ssp.o ezx-pcap.o
-+obj-$(CONFIG_PXA_EZX) += ezx.o ezx_lcd.o ezx_ssp.o ezx-pcap.o ezx-mci.o
-
- # Support for blinky lights
- led-y := leds.o
diff --git a/packages/linux/linux-ezx-2.6.21/ezx-ts.patch b/packages/linux/linux-ezx-2.6.21/ezx-ts.patch
deleted file mode 100644
index 1dd88efd6e..0000000000
--- a/packages/linux/linux-ezx-2.6.21/ezx-ts.patch
+++ /dev/null
@@ -1,399 +0,0 @@
-Index: linux-2.6.21/drivers/input/touchscreen/Kconfig
-===================================================================
---- linux-2.6.21.orig/drivers/input/touchscreen/Kconfig 2007-04-26 05:08:32.000000000 +0200
-+++ linux-2.6.21/drivers/input/touchscreen/Kconfig 2007-04-26 23:27:05.000000000 +0200
-@@ -164,4 +164,16 @@
- To compile this driver as a module, choose M here: the
- module will be called ucb1400_ts.
-
-+config TOUCHSCREEN_PCAP
-+ tristate "Motorola PCAP touchscreen"
-+ depends on PXA_EZX_PCAP
-+ help
-+ Say Y here if you have a Motorola EZX (E680, A780) telephone
-+ and want to support the built-in touchscreen.
-+
-+ If unsure, say N.
-+
-+ To compile this driver as a module, choose M here: the
-+ module will be called hp680_ts_input.
-+
- endif
-Index: linux-2.6.21/drivers/input/touchscreen/Makefile
-===================================================================
---- linux-2.6.21.orig/drivers/input/touchscreen/Makefile 2007-04-26 05:08:32.000000000 +0200
-+++ linux-2.6.21/drivers/input/touchscreen/Makefile 2007-04-26 23:27:52.000000000 +0200
-@@ -16,3 +16,4 @@
- obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
- obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o
- obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o
-+obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o
-Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-04-26 23:27:05.000000000 +0200
-@@ -0,0 +1,364 @@
-+/*
-+ * pcap_ts.c - Touchscreen driver for Motorola PCAP2 based touchscreen as found
-+ * in the EZX phone platform.
-+ *
-+ * Copyright (C) 2006 Harald Welte <laforge@openezx.org>
-+ *
-+ * Based on information found in the original Motorola 2.4.x ezx-ts.c driver.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * TODO:
-+ * split this in a hardirq handler and a tasklet/bh
-+ * suspend/resume support
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/fs.h>
-+#include <linux/string.h>
-+#include <linux/pm.h>
-+#include <linux/timer.h>
-+#include <linux/config.h>
-+#include <linux/interrupt.h>
-+#include <linux/platform_device.h>
-+#include <linux/input.h>
-+
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/pxa-regs.h>
-+
-+#include "../../misc/ezx/ssp_pcap.h"
-+
-+#if 1
-+#define DEBUGP(x, args ...) printk(KERN_DEBUG "%s: " x, __FUNCTION__, ## args)
-+#else
-+#define DEBUGP(x, args ...)
-+#endif
-+
-+#define PRESSURE 1
-+#define COORDINATE 2
-+
-+struct pcap_ts {
-+ int irq_xy;
-+ int irq_touch;
-+ struct input_dev *input;
-+ struct timer_list timer;
-+
-+ u_int16_t x, y;
-+ u_int16_t pressure, pressure_last;
-+
-+ u_int8_t read_state;
-+};
-+
-+#define X_AXIS_MIN 0
-+#define X_AXIS_MAX 1023
-+
-+#define Y_AXIS_MAX X_AXIS_MAX
-+#define Y_AXIS_MIN X_AXIS_MIN
-+
-+#define PRESSURE_MAX X_AXIS_MAX
-+#define PRESSURE_MIN X_AXIS_MIN
-+
-+static int pcap_ts_mode(u_int32_t mode)
-+{
-+ int ret;
-+
-+ u_int32_t tmp;
-+
-+ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ tmp &= ~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK;
-+ tmp |= mode;
-+ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp);
-+
-+ DEBUGP("set ts mode ");
-+ if (mode == PCAP_TS_POSITION_XY_MEASUREMENT)
-+ DEBUGP("COORD\n");
-+ else if (mode == PCAP_TS_PRESSURE_MEASUREMENT)
-+ DEBUGP("PRESS\n");
-+ else if (mode == PCAP_TS_STANDBY_MODE)
-+ DEBUGP("STANDBY\n");
-+ else
-+ printk("UNKNOWN\n");
-+
-+ return ret;
-+}
-+
-+/* issue a XY read command to the ADC of PCAP2. Well get an ADCDONE2 interrupt
-+ * once the result of the conversion is available */
-+static int pcap_ts_start_xy_read(struct pcap_ts *pcap_ts)
-+{
-+ int ret;
-+ u_int32_t tmp;
-+ DEBUGP("start xy read in mode %s\n",
-+ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS");
-+
-+ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ tmp &= SSP_PCAP_ADC_START_VALUE_SET_MASK;
-+ tmp |= SSP_PCAP_ADC_START_VALUE;
-+
-+ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC2_ASC, 1);
-+
-+ return ret;
-+}
-+
-+/* read the XY result from the ADC of PCAP2 */
-+static int pcap_ts_get_xy_value(struct pcap_ts *pcap_ts)
-+{
-+ int ret;
-+ u_int32_t tmp;
-+
-+ DEBUGP("get xy value in mode %s\n",
-+ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS");
-+
-+ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC2_REGISTER, &tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ if (tmp & 0x00400000)
-+ return -EIO;
-+
-+ if (pcap_ts->read_state == COORDINATE) {
-+ pcap_ts->x = (tmp & SSP_PCAP_ADD1_VALUE_MASK);
-+ pcap_ts->y = (tmp & SSP_PCAP_ADD2_VALUE_MASK)
-+ >>SSP_PCAP_ADD2_VALUE_SHIFT;
-+ } else {
-+ pcap_ts->pressure_last = pcap_ts->pressure;
-+ pcap_ts->pressure = (tmp & SSP_PCAP_ADD2_VALUE_MASK)
-+ >>SSP_PCAP_ADD2_VALUE_SHIFT;
-+ }
-+
-+ return 0;
-+}
-+
-+/* PCAP2 interrupts us when ADC conversion result is available */
-+static irqreturn_t pcap_ts_irq_xy(int irq, void *dev_id, struct pt_regs *regs)
-+{
<