linux-openzaurus-2.6.17: Sync with OE. Also add rootdelay=1 to kernel commandline for spitz

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@729 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2006-09-20 13:04:28 +00:00
parent 4fa2d11bb1
commit cdb95170a5
7 changed files with 363 additions and 82 deletions

View File

@ -1,42 +0,0 @@
The ident for Seagate 8GB microdrive is
"SEAGATE", "ST1"
hash 0x76dc4190, 0xcfba9599
manfid 0x0111, 0x0000
CF card:
product info: "SAMSUNG", "04/05/06", "", ""
manfid : 0x0000, 0x0000
function 4 (fixed disk)
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
drivers/ide/legacy/ide-cs.c | 1 +
1 file changed, 1 insertion(+)
Index: linux-2.6.16/drivers/ide/legacy/ide-cs.c
===================================================================
--- linux-2.6.16.orig/drivers/ide/legacy/ide-cs.c 2006-04-20 12:41:41.000000000 +0200
+++ linux-2.6.16/drivers/ide/legacy/ide-cs.c 2006-04-20 12:45:19.640621552 +0200
@@ -444,6 +444,8 @@
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
+ PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883), /* Seagate 8GB microdrive */
+ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),
PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
-------------------------------------------------------------------------
With pcmcia-cs -> pcmciautils change some cards which was working with
hostap driver now are bound into orinoco driver.
This patch made them bound into hostap like it was before.
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
// will add some here

View File

@ -1,31 +0,0 @@
The ident for Seagate 8GB microdrive is
"SEAGATE", "ST1"
hash 0x76dc4190, 0xcfba9599
manfid 0x0111, 0x0000
CF card:
product info: "SAMSUNG", "04/05/06", "", ""
manfid : 0x0000, 0x0000
function 4 (fixed disk)
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
drivers/ide/legacy/ide-cs.c | 1 +
1 file changed, 1 insertion(+)
Index: linux-2.6.17/drivers/ide/legacy/ide-cs.c
===================================================================
--- linux-2.6.17.orig/drivers/ide/legacy/ide-cs.c 2006-06-18 03:49:35.000000000 +0200
+++ linux-2.6.17/drivers/ide/legacy/ide-cs.c 2006-07-10 23:29:28.696446000 +0200
@@ -402,6 +402,9 @@
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
+ PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883), /* Seagate 8GB microdrive */
+ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),
+ PCMCIA_DEVICE_PROD_ID12("SMI VENDOR", "SMI PRODUCT", 0x30896c92, 0x703cc5f6),
PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),

View File

@ -0,0 +1,48 @@
From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
Few cards informations submitted by OpenZaurus users.
Seagate 8GB microdrive:
product info: "SEAGATE", "ST1"
manfid 0x0111, 0x0000
One CF card:
product info: "SAMSUNG", "04/05/06", "", ""
manfid : 0x0000, 0x0000
Ridata 8GB Pro 150X Compact Flash Card:
product info: "SMI VENDOR", "SMI PRODUCT", ""
manfid: 0x000a, 0x0000
product info: "M-Systems", "CF500", ""
manfid: 0x000a, 0x0000
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
---
Patch follow kernel version 2.6.17
Please Cc: me - I'm not subscribed to linux-pcmcia or linux-kernel
ide-cs.c | 4 ++++
1 file changed, 4 insertions(+)
Index: linux/drivers/ide/legacy/ide-cs.c
===================================================================
--- linux.orig/drivers/ide/legacy/ide-cs.c 2006-07-10 23:25:59.479162976 +0200
+++ linux/drivers/ide/legacy/ide-cs.c 2006-08-02 23:02:22.997684384 +0200
@@ -398,10 +398,14 @@
PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149),
PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDEII", 0x547e66dc, 0xb3662674),
PCMCIA_DEVICE_PROD_ID12("LOOKMEET", "CBIDE2 ", 0xe37be2b5, 0x8671043b),
+ PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF500", 0x7ed2ad87, 0x7a13045c),
PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79),
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
+ PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883),
+ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),
+ PCMCIA_DEVICE_PROD_ID12("SMI VENDOR", "SMI PRODUCT", 0x30896c92, 0x703cc5f6),
PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),

View File

@ -0,0 +1,88 @@
This patch should resolve problem when people get eth0 (orinoco_cs) instead of wlan0 (hostap_cs)
with their WiFi cards.
Patch will NEVER been accepted upstream.
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
Index: linux/drivers/net/wireless/orinoco_cs.c
===================================================================
--- linux.orig/drivers/net/wireless/orinoco_cs.c 2006-08-23 16:04:10.000000000 +0200
+++ linux/drivers/net/wireless/orinoco_cs.c 2006-08-23 16:17:43.000000000 +0200
@@ -453,33 +453,21 @@
"Pavel Roskin <proski@gnu.org>, et al)";
static struct pcmcia_device_id orinoco_cs_ids[] = {
- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
- PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */
- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */
PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */
PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */
PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */
PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */
- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
- PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
- PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */
PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */
- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */
- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */
PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5),
@@ -487,31 +475,25 @@
PCMCIA_DEVICE_PROD_ID123("AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863", 0xea569531, 0x4bcb9645, 0x355cb092),
PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f),
PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842),
- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e),
PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18),
PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
- PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b),
PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39),
PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae),
PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac),
- PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab),
PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916),
PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
- PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77),
PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf),
PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2),
PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
- PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395),
PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
@@ -529,10 +511,8 @@
PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757),
- PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a),
PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39),
- PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee),
PCMCIA_DEVICE_NULL,
};
MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);

View File

@ -0,0 +1,208 @@
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

View File

@ -28,7 +28,7 @@ KERNEL_IMAGETYPE_qemux86 = "bzImage"
CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2"
CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 rw"
CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw"
CMDLINE_OTHER = "dyntick=enable"
CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
@ -53,6 +53,7 @@ ENABLE_ELPP = ${@bb.data.getVar("OZ_KERNEL_ENABLE_ELPP",d,1) or "no"}
###############################################################
# module configs specific to this kernel
#
module_autoload_ohci-hcd_tosa = "ohci-hcd"
module_autoload_pxaficp_ir = "pxaficp_ir"
module_autoload_snd-pcm-oss = "snd-pcm-oss"
module_autoload_snd-soc-corgi_c7x0 = "snd-soc-corgi"
@ -201,3 +202,7 @@ do_deploy() {
do_deploy[dirs] = "${S}"
addtask deploy before do_package after do_install
# wlan-ng stuff need compiled kernel sources
do_rm_work() {
}

View File

@ -1,6 +1,6 @@
require linux-openzaurus.inc
PR = "r15"
PR = "r27"
# Handy URLs
# git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \
@ -25,10 +25,11 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
${RPSRC}/logo_rotate_fix-r1.patch;patch=1;status=merged \
${RPSRC}/collie_frontlight-r6.patch;patch=1;status=merged \
${RPSRC}/input_modalias_fix-r0.patch;patch=1;status=merged \
${RPSRC}/spectrumcs_fix-r0.patch;patch=1 \
file://00-hostap.patch;patch=1;status=merged \
file://10-pcnet.patch;patch=1;status=merged \
${RPSRC}/asoc-v0.11pre5-oz.patch;patch=1 \
${RPSRC}/asoc_fixes2-r2.patch;patch=1 \
${RPSRC}/alsa/asoc-v0.11.5.patch;patch=1 \
${RPSRC}/asoc_makefile-r0.patch;patch=1 \
${RPSRC}/hx2750_base-r27.patch;patch=1 \
${RPSRC}/hx2750_bl-r7.patch;patch=1 \
${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
@ -43,12 +44,13 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
${RPSRC}/usb_pxa27x_udc-r0.patch;patch=1 \
${RPSRC}/usb_add_epalloc-r1.patch;patch=1 \
${DOSRC}/kexec-arm-r3.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r0.patch;patch=1 \
${RPSRC}/poodle_pm-r1.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
${RPSRC}/poodle_pm-r3.patch;patch=1 \
${RPSRC}/pxafb_changeres-r0.patch;patch=1 \
${RPSRC}/poodle_audio-r1.patch;patch=1 \
${RPSRC}/poodle_audio-r4.patch;patch=1 \
${RPSRC}/pxa27x_overlay-r2.patch;patch=1 \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
file://hrw-pcmcia-ids-r3.patch;patch=1 \
file://hrw-pcmcia-ids-r4.patch;patch=1 \
${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
@ -59,6 +61,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.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://orinoco-remove-all-which-are-in-hostap-HACK.patch;patch=1;status=unmergable-hack \
file://squashfs3.0-2.6.15.patch;patch=1;status=external \
file://defconfig-c7x0 \
file://defconfig-ipaq-pxa270 \
@ -113,7 +116,9 @@ SRC_URI_append_tosa = "\
${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \
${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
${DOSRC}/wm9712-reset-loop-r1.patch;patch=1"
${DOSRC}/wm9712-reset-loop-r1.patch;patch=1 \
file://tosa-lcdnoise-r0.patch;patch=1 \
file://wm97xx-lcdnoise-r0.patch;patch=1 "
# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
S = "${WORKDIR}/linux-2.6.17"