diff options
4 files changed, 74 insertions, 223 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch b/meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch new file mode 100644 index 000000000..b5439c62e --- /dev/null +++ b/meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch @@ -0,0 +1,17 @@ +Index: linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c +=================================================================== +--- linux-2.6.21.orig/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:45:39.000000000 +0100 ++++ linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:47:30.000000000 +0100 +@@ -2666,6 +2666,12 @@ + iface = netdev_priv(dev); + local = iface->local; + ++ if(dev->base_addr == 0) ++ { ++ printk(KERN_DEBUG "%s: IRQ before base_addr set\n", dev->name); ++ return IRQ_HANDLED; ++ } ++ + prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0); + + if (local->func->card_present && !local->func->card_present(local)) { diff --git a/meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch b/meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch new file mode 100644 index 000000000..222ad57be --- /dev/null +++ b/meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch @@ -0,0 +1,31 @@ +From: Marcin Juszkiewicz <openembedded@haerwu.biz> + +Linksys WCF11 submitted by Ångström user. + +"The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P", "RevA", +0xa5f472c2, 0x9c05598d, 0xc9049a39, 0x57a66194 +manfid: 0x0274, 0x3301 + +Signed-off-by: Marcin Juszkiewicz <openembedded@haerwu.biz> +Acked-by: Pavel Roskin <proski@gnu.org> + +--- + drivers/net/wireless/hostap/hostap_cs.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- linux-2.6.23.orig/drivers/net/wireless/hostap/hostap_cs.c ++++ linux-2.6.23/drivers/net/wireless/hostap/hostap_cs.c +@@ -887,10 +887,13 @@ static struct pcmcia_device_id hostap_cs + "Ver. 1.00", + 0x5cd01705, 0x4271660f, 0x9d08ee12), + PCMCIA_DEVICE_PROD_ID123( + "corega", "WL PCCL-11", "ISL37300P", + 0xa21501a, 0x59868926, 0xc9049a39), ++ PCMCIA_DEVICE_PROD_ID1234( ++ "The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P", ++ 0xa5f472c2, 0x9c05598d, 0xc9049a39), + PCMCIA_DEVICE_NULL + }; + MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids); + + diff --git a/meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch b/meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch deleted file mode 100644 index 191de3af2..000000000 --- a/meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch +++ /dev/null @@ -1,208 +0,0 @@ -Index: linux-tosa/drivers/input/touchscreen/wm9712.c -=================================================================== ---- linux-tosa.orig/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:36.008543280 +0100 -+++ linux-tosa/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:50.923275896 +0100 -@@ -1,7 +1,7 @@ - /* - * wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs. - * -- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC. -+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC. - * Author: Liam Girdwood - * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com - * Parts Copyright : Ian Molton <spyro@f2s.com> -@@ -13,6 +13,12 @@ - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * -+ * Revision history -+ * 4th Jul 2005 Initial version. -+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk> -+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing -+ * touchscreen interference. -+ * - */ - - #include <linux/module.h> -@@ -28,6 +34,10 @@ - #define WM9705_VERSION "0.60" - #define DEFAULT_PRESSURE 0xb0c0 - -+#define CCNT(a) asm volatile ("mrc p14, 0, %0, C1, C1, 0" : "=r"(a)) -+#define CCNT_ON() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1)) -+#define CCNT_OFF() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1)) -+ - /* - * Debug - */ -@@ -243,6 +253,36 @@ - return wm->dig[2] & WM9712_PDEN; - } - -+ -+#ifdef CONFIG_MACH_TOSA -+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait -+ * before sampling the Y axis of the touchscreen */ -+static inline void wm9712_lcd_sync_on(struct wm97xx* wm, int adcsel) { -+ unsigned long timer1 = 0, timer2 = 0, wait_time = 0; -+ if (adcsel == WM97XX_ADCSEL_Y) { -+ wait_time = wm97xx_calc_lcd_waittime(wm); -+ -+ CCNT_ON(); -+ -+ if (wait_time) { -+ /* wait for LCD rising edge */ -+ wm_machinfo->wait_hsync(); -+ /* get clock */ -+ CCNT(timer1); -+ CCNT(timer2); -+ -+ while ((timer2 - timer1) < wait_time) { -+ CCNT(timer2); -+ } -+ } -+ } -+} -+ -+static inline void wm9712_lcd_sync_off(void) { -+ CCNT_OFF(); -+} -+#endif -+ - /* - * Read a sample from the WM9712 adc in polling mode. - */ -@@ -260,6 +300,9 @@ - /* set up digitiser */ - if (adcsel & 0x8000) - adcsel = ((adcsel & 0x7fff) + 3) << 12; -+ #ifdef CONFIG_MACH_TOSA -+ wm9712_lcd_sync_on(wm, adcsel); -+ #endif - wm97xx_reg_write(wm, AC97_WM97XX_DIGITISER1, adcsel | WM97XX_POLL | WM97XX_DELAY(delay)); - - /* wait 3 AC97 time slots + delay for conversion */ -@@ -282,6 +325,10 @@ - - *sample = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD); - -+ #ifdef CONFIG_MACH_TOSA -+ wm9712_lcd_sync_off(); -+ #endif -+ - /* check we have correct sample */ - if ((*sample & WM97XX_ADCSEL_MASK) != adcsel) { - dbg ("adc wrong sample, read %x got %x", adcsel, -@@ -303,11 +350,12 @@ - static int wm9712_poll_touch(struct wm97xx* wm, struct wm97xx_data *data) - { - int rc; -- - if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_X, &data->x)) != RC_VALID) - return rc; -+ - if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_Y, &data->y)) != RC_VALID) - return rc; -+ - if (pil && !five_wire) { - if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_PRES, &data->p)) != RC_VALID) - return rc; -Index: linux-tosa/drivers/input/touchscreen/wm97xx-core.c -=================================================================== ---- linux-tosa.orig/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:36.008543280 +0100 -+++ linux-tosa/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:50.924275744 +0100 -@@ -2,7 +2,7 @@ - * wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712 - * and WM9713 AC97 Codecs. - * -- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC. -+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC. - * Author: Liam Girdwood - * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com - * Parts Copyright : Ian Molton <spyro@f2s.com> -@@ -67,6 +67,9 @@ - * GPIOs) and 2.6 power management. - * 29th Nov 2004 Added WM9713 support. - * 4th Jul 2005 Moved codec specific code out to seperate files. -+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk> -+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing -+ * touchscreen interference. - */ - - #include <linux/module.h> -@@ -94,6 +97,7 @@ - static DECLARE_MUTEX(gpio_sem); - static LIST_HEAD(wm97xx_misc_list); - static struct wm97xx* wm_codec = NULL; -+struct wm97xx_machinfo *wm_machinfo; - - /* - * WM97xx - enable/disable AUX ADC sysfs -@@ -832,6 +836,23 @@ - mdev->remove(wm_codec); - } - -+#ifdef CONFIG_MACH_TOSA -+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait -+ * before sampling the Y axis of the touchscreen */ -+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm) { -+ unsigned long hsync_time = wm_machinfo->get_hsync_time(); -+ return hsync_time; -+} -+ -+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo) { -+ wm_machinfo = machinfo; -+} -+ -+void wm97xx_unset_machinfo() { -+ wm_machinfo = NULL; -+} -+#endif -+ - static struct device_driver wm97xx_driver = { - .name = "ac97", - .bus = &ac97_bus_type, -@@ -861,6 +882,9 @@ - EXPORT_SYMBOL_GPL(wm97xx_reg_write); - EXPORT_SYMBOL_GPL(wm97xx_register_misc_dev); - EXPORT_SYMBOL_GPL(wm97xx_unregister_misc_dev); -+EXPORT_SYMBOL_GPL(wm97xx_calc_lcd_waittime); -+EXPORT_SYMBOL_GPL(wm97xx_set_machinfo); -+EXPORT_SYMBOL_GPL(wm97xx_unset_machinfo); - - module_init(wm97xx_init); - module_exit(wm97xx_exit); -Index: linux-tosa/include/linux/wm97xx.h -=================================================================== ---- linux-tosa.orig/include/linux/wm97xx.h 2006-08-29 16:52:36.008543280 +0100 -+++ linux-tosa/include/linux/wm97xx.h 2006-08-29 16:52:50.924275744 +0100 -@@ -207,6 +207,7 @@ - - struct wm97xx; - extern struct wm97xx_codec_drv wm97xx_codec; -+extern struct wm97xx_machinfo *wm_machinfo; - - /* - * Codec driver interface - allows mapping to WM9705/12/13 and newer codecs -@@ -253,6 +254,11 @@ - struct list_head list; - }; - -+struct wm97xx_machinfo { -+ unsigned long (*get_hsync_time)(void); -+ void (*wait_hsync)(void); -+}; -+ - int wm97xx_register_misc_dev(struct wm97xx_misc_dev* mdev); - void wm97xx_unregister_misc_dev(struct wm97xx_misc_dev* mdev); - -@@ -281,4 +287,9 @@ - int wm97xx_acc_startup(struct wm97xx* wm); - void wm97xx_acc_shutdown(struct wm97xx* wm); - -+ -+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm); -+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo); -+void wm97xx_unset_machinfo(void); -+ - #endif diff --git a/meta/packages/linux/linux-rp_2.6.23.bb b/meta/packages/linux/linux-rp_2.6.23.bb index 774e703c1..2614c80f8 100644 --- a/meta/packages/linux/linux-rp_2.6.23.bb +++ b/meta/packages/linux/linux-rp_2.6.23.bb @@ -1,9 +1,6 @@ require linux-rp.inc -PR = "r9" - -DEFAULT_PREFERENCE_qemuarm = "-1" -DEFAULT_PREFERENCE_qemux86 = "-1" +PR = "r20" # Handy URLs # git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 @@ -17,6 +14,7 @@ DEFAULT_PREFERENCE_qemux86 = "-1" # Patches submitted upstream are towards top of this list # Hacks should clearly named and at the bottom SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \ + file://hrw-add-wcf11-to-hostap.patch;patch=1;status=pending \ ${RPSRC}/lzo_jffs2-r3.patch;patch=1 \ ${RPSRC}/lzo_crypto-r2.patch;patch=1 \ ${RPSRC}/lzo_jffs2_lzomode-r1.patch;patch=1 \ @@ -42,6 +40,8 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \ ${RPSRC}/export_atags-r0.patch;patch=1 \ ${RPSRC}/pxa25x_suspend_fixes-r0.patch;patch=1 \ ${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \ + ${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \ + ${RPSRC}/locomo_led_fix-r0.patch;patch=1 \ file://w100fb-unused-var.patch;patch=1 \ file://hostap-monitor-mode.patch;patch=1 \ file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \ @@ -54,6 +54,7 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \ ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \ file://pxa-serial-hack.patch;patch=1;status=hack \ file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \ + file://connectplus-prevent-oops-HACK.patch;patch=1;status=hack \ file://squashfs3.0-2.6.15.patch;patch=1;status=external \ file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \ file://htcuni.patch;patch=1 \ @@ -74,7 +75,6 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \ # FIXMEs before made default # ${RPSRC}/mmcsd_no_scr_check-r1.patch;patch=1;status=hack - # Add this to enable pm debug code (useful with a serial lead) # ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1 @@ -97,27 +97,38 @@ SRC_URI_append_collie = "\ # ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \ " +SRC_URI_append_poodle = "\ + ${RPSRC}/poodle_serial_vcc-r0.patch;patch=1 \ +" + SRC_URI_append_tosa = "\ - ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \ ${CHSRC}/tmio-core-r4.patch;patch=1 \ file://tmio-tc6393-r8.patch;patch=1 \ - file://tmio-nand-r7.patch;patch=1 \ - file://tmio-ohci-r6.patch;patch=1 \ + file://tmio-nand-r8.patch;patch=1 \ ${CHSRC}/tmio-fb-r6.patch;patch=1 \ - file://tosa-keyboard-r18.patch;patch=1 \ + file://tmio-fb-r6-fix-r0.patch;patch=1 \ + file://tosa-keyboard-r19.patch;patch=1 \ ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \ + file://tosa-pxaac97-r6-fix-r0.patch;patch=1 \ ${DOSRC}/tosa-tmio-r6.patch;patch=1 \ - ${DOSRC}/tosa-power-r17.patch;patch=1 \ + file://tosa-power-r18.patch;patch=1 \ + file://tosa-power-r18-fix-r0.patch;patch=1 \ file://tosa-tmio-lcd-r10.patch;patch=1 \ - ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \ - ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \ + file://tosa-tmio-lcd-r10-fix-r0.patch;patch=1 \ + file://tosa-bluetooth-r8.patch;patch=1 \ + file://wm97xx-lg13-r0.patch;patch=1 \ + file://wm97xx-lg13-r0-fix-r0.patch;patch=1 \ file://wm9712-suspend-cold-res-r2.patch;patch=1 \ file://sharpsl-pm-postresume-r1.patch;patch=1 \ - ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \ - ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \ file://wm9712-reset-loop-r2.patch;patch=1 \ file://tosa-lcdnoise-r1.patch;patch=1 \ - file://wm97xx-lcdnoise-r0.patch;patch=1 " + file://tosa-lcdnoise-r1-fix-r0.patch;patch=1 \ + file://arm-dma-coherent.patch;patch=1 \ + file://usb-ohci-hooks-r3.patch;patch=1 \ + file://tmio-ohci-r9.patch;patch=1 \ + file://pxa2xx_udc_support_inverse_vbus.patch;patch=1 \ + file://tosa_udc_use_gpio_vbus.patch;patch=1 \ + " # ${DOSRC}/tosa-asoc-r1.patch;patch=1 " SRC_URI_append_htcuniversal ="\ |