diff options
Diffstat (limited to 'packages/linux/linux-ezx-2.6.21')
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/ezx-kbd.patch | 139 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/ezx-mci.patch | 177 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/ezx-ts.patch | 399 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch | 224 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/patches/.mtn2git_empty | 0 | ||||
| -rwxr-xr-x | packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX | 51 | ||||
| -rwxr-xr-x | packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch | 135 | ||||
| -rwxr-xr-x | packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch | 40 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch | 40 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/defconfig-a1200 | 1103 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/defconfig-e2 | 1092 | ||||
| -rwxr-xr-x | packages/linux/linux-ezx-2.6.21/patches/defconfig-e6 | 1102 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/dmesg-a780.log | 299 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch | 40 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/ezx-enable-stuart.patch | 99 | ||||
| -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.4 | 2816 | ||||
| -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-x | packages/linux/linux-ezx-2.6.21/patches/series | 93 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch | 237 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/touchscreen-fix-r0.patch | 21 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/update_patches.sh | 16 | ||||
| -rw-r--r-- | packages/linux/linux-ezx-2.6.21/wyrm-ts.diff | 124 |
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) -+{ < |
