summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/cairo/cairo_git.bb2
-rw-r--r--packages/linux/linux-rp-2.6.16/hrw-pcmcia-ids-r5.patch31
-rw-r--r--packages/linux/linux-rp-2.6.17/asoc-v0.12.4_2.6.17.patch2
-rw-r--r--packages/linux/linux-rp-2.6.17/hrw-pcmcia-ids-r5.patch31
-rw-r--r--packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch44
-rw-r--r--packages/linux/linux-rp-2.6.17/wm9712-suspend-cold-res-r2.patch16
-rw-r--r--packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch31
-rw-r--r--packages/linux/linux-rp-2.6.18/hrw-pcmcia-ids-r5.patch31
-rw-r--r--packages/linux/linux-rp-2.6.18/tmio-nand-r7.patch593
-rw-r--r--packages/linux/linux-rp-2.6.18/tosa-tmio-lcd-r10.patch472
-rw-r--r--packages/linux/linux-rp-2.6.18/wm9712-reset-loop-r2.patch44
-rw-r--r--packages/linux/linux-rp-2.6.18/wm9712-suspend-cold-res-r2.patch16
-rw-r--r--packages/linux/linux-rp-2.6.19/.mtn2git_empty0
-rw-r--r--packages/linux/linux-rp-2.6.19/add-oz-release-string.patch28
-rw-r--r--packages/linux/linux-rp-2.6.19/connectplus-remove-ide-HACK.patch12
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-akita1572
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-c7x01608
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-collie1641
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-hx20001028
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-poodle1655
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-qemuarm1193
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-qemux861566
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-spitz1603
-rw-r--r--packages/linux/linux-rp-2.6.19/defconfig-tosa1608
-rw-r--r--packages/linux/linux-rp-2.6.19/hrw-pcmcia-ids-r5.patch63
-rw-r--r--packages/linux/linux-rp-2.6.19/pxa-serial-hack.patch80
-rw-r--r--packages/linux/linux-rp-2.6.19/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--packages/linux/linux-rp-2.6.19/sharpsl-pm-postresume-r1.patch30
-rw-r--r--packages/linux/linux-rp-2.6.19/squashfs3.0-2.6.15.patch4191
-rw-r--r--packages/linux/linux-rp-2.6.19/tmio-nand-r7.patch593
-rw-r--r--packages/linux/linux-rp-2.6.19/tmio-ohci-r6.patch929
-rw-r--r--packages/linux/linux-rp-2.6.19/tmio-tc6393-r8.patch800
-rw-r--r--packages/linux/linux-rp-2.6.19/tosa-keyboard-r18.patch515
-rw-r--r--packages/linux/linux-rp-2.6.19/tosa-lcdnoise-r1.patch157
-rw-r--r--packages/linux/linux-rp-2.6.19/tosa-tmio-lcd-r10.patch472
-rw-r--r--packages/linux/linux-rp-2.6.19/wm9712-reset-loop-r2.patch44
-rw-r--r--packages/linux/linux-rp-2.6.19/wm9712-suspend-cold-res-r2.patch16
-rw-r--r--packages/linux/linux-rp-2.6.19/wm97xx-lcdnoise-r0.patch208
-rw-r--r--packages/linux/linux-rp_2.6.16.bb2
-rw-r--r--packages/linux/linux-rp_2.6.17.bb7
-rw-r--r--packages/linux/linux-rp_2.6.18+git.bb6
-rw-r--r--packages/linux/linux-rp_2.6.18.bb13
-rw-r--r--packages/linux/linux-rp_2.6.19.bb108
-rw-r--r--packages/qte/qte-common_2.3.10.inc6
44 files changed, 23162 insertions, 60 deletions
diff --git a/packages/cairo/cairo_git.bb b/packages/cairo/cairo_git.bb
index 921e0320ca..71c65cdb9e 100644
--- a/packages/cairo/cairo_git.bb
+++ b/packages/cairo/cairo_git.bb
@@ -7,7 +7,7 @@ DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender"
DESCRIPTION = "Cairo graphics library"
LICENSE = "MPL LGPL"
-PV = "1.3.4+git${SRCDATE}"
+PV = "1.3.5+git${SRCDATE}"
SRC_URI = "git://git.cairographics.org/git/cairo;protocol=git \
"
diff --git a/packages/linux/linux-rp-2.6.16/hrw-pcmcia-ids-r5.patch b/packages/linux/linux-rp-2.6.16/hrw-pcmcia-ids-r5.patch
index b5a570d38c..df1f6b3378 100644
--- a/packages/linux/linux-rp-2.6.16/hrw-pcmcia-ids-r5.patch
+++ b/packages/linux/linux-rp-2.6.16/hrw-pcmcia-ids-r5.patch
@@ -22,19 +22,15 @@ Ridata 8GB Pro 150X Compact Flash Card:
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
----
-Patch follow kernel version 2.6.18
+ drivers/ide/legacy/ide-cs.c | 5 +++++
+ drivers/net/pcmcia/pcnet_cs.c | 2 ++
+ 2 files changed, 7 insertions(+)
-Please Cc: me - I'm not subscribed to linux-pcmcia or linux-kernel
-
- ide-cs.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-Index: linux-2.6/drivers/ide/legacy/ide-cs.c
+Index: linux-2.6.18/drivers/ide/legacy/ide-cs.c
===================================================================
---- linux-2.6.orig/drivers/ide/legacy/ide-cs.c 2006-08-23 11:02:37.958306000 +0200
-+++ linux-2.6/drivers/ide/legacy/ide-cs.c 2006-09-25 16:45:35.765780000 +0200
-@@ -398,12 +398,17 @@
+--- linux-2.6.18.orig/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:51.000000000 +0000
++++ linux-2.6.18/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:55.000000000 +0000
+@@ -398,12 +398,17 @@ static struct pcmcia_device_id ide_ids[]
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),
@@ -52,3 +48,16 @@ Index: linux-2.6/drivers/ide/legacy/ide-cs.c
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+Index: linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c
+===================================================================
+--- linux-2.6.18.orig/drivers/net/pcmcia/pcnet_cs.c 2006-09-20 04:42:06.000000000 +0100
++++ linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c 2006-12-06 00:57:27.000000000 +0000
+@@ -1770,6 +1770,8 @@ static struct pcmcia_device_id pcnet_ids
+ PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
+ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
+ 0xb4be14e3, 0x43ac239b, 0x0877b627),
++ PCMCIA_DEVICE_PROD_ID123("Ethernet", "CF Size PC Card", "1.0",exit
++ 0x00b2e941, 0x43ac239b, 0x0877b627),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
diff --git a/packages/linux/linux-rp-2.6.17/asoc-v0.12.4_2.6.17.patch b/packages/linux/linux-rp-2.6.17/asoc-v0.12.4_2.6.17.patch
index 7fa3822bba..4f9672299b 100644
--- a/packages/linux/linux-rp-2.6.17/asoc-v0.12.4_2.6.17.patch
+++ b/packages/linux/linux-rp-2.6.17/asoc-v0.12.4_2.6.17.patch
@@ -17065,7 +17065,7 @@ Index: linux-2.6-pxa-new/sound/soc/pxa/pxa2xx-ac97.c
+{
+ int ret;
+
-+ ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, IRQF_DISABLED, "AC97", NULL);
++ ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
+ if (ret < 0)
+ goto err;
+
diff --git a/packages/linux/linux-rp-2.6.17/hrw-pcmcia-ids-r5.patch b/packages/linux/linux-rp-2.6.17/hrw-pcmcia-ids-r5.patch
index b5a570d38c..df1f6b3378 100644
--- a/packages/linux/linux-rp-2.6.17/hrw-pcmcia-ids-r5.patch
+++ b/packages/linux/linux-rp-2.6.17/hrw-pcmcia-ids-r5.patch
@@ -22,19 +22,15 @@ Ridata 8GB Pro 150X Compact Flash Card:
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
----
-Patch follow kernel version 2.6.18
+ drivers/ide/legacy/ide-cs.c | 5 +++++
+ drivers/net/pcmcia/pcnet_cs.c | 2 ++
+ 2 files changed, 7 insertions(+)
-Please Cc: me - I'm not subscribed to linux-pcmcia or linux-kernel
-
- ide-cs.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-Index: linux-2.6/drivers/ide/legacy/ide-cs.c
+Index: linux-2.6.18/drivers/ide/legacy/ide-cs.c
===================================================================
---- linux-2.6.orig/drivers/ide/legacy/ide-cs.c 2006-08-23 11:02:37.958306000 +0200
-+++ linux-2.6/drivers/ide/legacy/ide-cs.c 2006-09-25 16:45:35.765780000 +0200
-@@ -398,12 +398,17 @@
+--- linux-2.6.18.orig/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:51.000000000 +0000
++++ linux-2.6.18/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:55.000000000 +0000
+@@ -398,12 +398,17 @@ static struct pcmcia_device_id ide_ids[]
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),
@@ -52,3 +48,16 @@ Index: linux-2.6/drivers/ide/legacy/ide-cs.c
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+Index: linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c
+===================================================================
+--- linux-2.6.18.orig/drivers/net/pcmcia/pcnet_cs.c 2006-09-20 04:42:06.000000000 +0100
++++ linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c 2006-12-06 00:57:27.000000000 +0000
+@@ -1770,6 +1770,8 @@ static struct pcmcia_device_id pcnet_ids
+ PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
+ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
+ 0xb4be14e3, 0x43ac239b, 0x0877b627),
++ PCMCIA_DEVICE_PROD_ID123("Ethernet", "CF Size PC Card", "1.0",exit
++ 0x00b2e941, 0x43ac239b, 0x0877b627),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
diff --git a/packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch b/packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch
new file mode 100644
index 0000000000..96919b6b02
--- /dev/null
+++ b/packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch
@@ -0,0 +1,44 @@
+ sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++----------
+ 1 file changed, 18 insertions(+), 10 deletions(-)
+
+Index: linux-2.6.18/sound/soc/codecs/wm9712.c
+===================================================================
+--- linux-2.6.18.orig/sound/soc/codecs/wm9712.c 2006-12-05 23:25:33.000000000 +0000
++++ linux-2.6.18/sound/soc/codecs/wm9712.c 2006-12-05 23:27:20.000000000 +0000
+@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_
+
+ static int wm9712_reset(struct snd_soc_codec *codec, int try_warm)
+ {
+- if (try_warm && soc_ac97_ops.warm_reset) {
+- soc_ac97_ops.warm_reset(codec->ac97);
+- if (!(ac97_read(codec, 0) & 0x8000))
+- return 1;
+- }
++ int retry = 3;
++
++ while (retry--)
++ {
++ if(try_warm && soc_ac97_ops.warm_reset) {
++ soc_ac97_ops.warm_reset(codec->ac97);
++ if(ac97_read(codec, 0) & 0x8000)
++ continue;
++ else
++ return 1;
++ }
+
+- soc_ac97_ops.reset(codec->ac97);
+- if (ac97_read(codec, 0) & 0x8000)
+- goto err;
+- return 0;
++ soc_ac97_ops.reset(codec->ac97);
++ if(ac97_read(codec, 0) & 0x8000)
++ continue;
++ else
++ return 0;
++
++ }
+
+-err:
+ printk(KERN_ERR "WM9712 AC97 reset failed\n");
+ return -EIO;
+ }
diff --git a/packages/linux/linux-rp-2.6.17/wm9712-suspend-cold-res-r2.patch b/packages/linux/linux-rp-2.6.17/wm9712-suspend-cold-res-r2.patch
new file mode 100644
index 0000000000..e91e54f963
--- /dev/null
+++ b/packages/linux/linux-rp-2.6.17/wm9712-suspend-cold-res-r2.patch
@@ -0,0 +1,16 @@
+ sound/soc/codecs/wm9712.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: linux-2.6.18/sound/soc/codecs/wm9712.c
+===================================================================
+--- linux-2.6.18.orig/sound/soc/codecs/wm9712.c 2006-12-05 23:19:53.000000000 +0000
++++ linux-2.6.18/sound/soc/codecs/wm9712.c 2006-12-05 23:22:04.000000000 +0000
+@@ -651,7 +651,7 @@ static int wm9712_soc_resume(struct plat
+ int i, ret;
+ u16 *cache = codec->reg_cache;
+
+- ret = wm9712_reset(codec, 1);
++ ret = wm9712_reset(codec, 0);
+ if (ret < 0){
+ printk(KERN_ERR "could not reset AC97 codec\n");
+ return ret;
diff --git a/packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch b/packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch
index b5a570d38c..df1f6b3378 100644
--- a/packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch
+++ b/packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch
@@ -22,19 +22,15 @@ Ridata 8GB Pro 150X Compact Flash Card:
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
----
-Patch follow kernel version 2.6.18
+ drivers/ide/legacy/ide-cs.c | 5 +++++
+ drivers/net/pcmcia/pcnet_cs.c | 2 ++
+ 2 files changed, 7 insertions(+)
-Please Cc: me - I'm not subscribed to linux-pcmcia or linux-kernel
-
- ide-cs.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-Index: linux-2.6/drivers/ide/legacy/ide-cs.c
+Index: linux-2.6.18/drivers/ide/legacy/ide-cs.c
===================================================================
---- linux-2.6.orig/drivers/ide/legacy/ide-cs.c 2006-08-23 11:02:37.958306000 +0200
-+++ linux-2.6/drivers/ide/legacy/ide-cs.c 2006-09-25 16:45:35.765780000 +0200
-@@ -398,12 +398,17 @@
+--- linux-2.6.18.orig/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:51.000000000 +0000
++++ linux-2.6.18/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:55.000000000 +0000
+@@ -398,12 +398,17 @@ static struct pcmcia_device_id ide_ids[]
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),
@@ -52,3 +48,16 @@ Index: linux-2.6/drivers/ide/legacy/ide-cs.c
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+Index: linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c
+===================================================================
+--- linux-2.6.18.orig/drivers/net/pcmcia/pcnet_cs.c 2006-09-20 04:42:06.000000000 +0100
++++ linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c 2006-12-06 00:57:27.000000000 +0000
+@@ -1770,6 +1770,8 @@ static struct pcmcia_device_id pcnet_ids
+ PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
+ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
+ 0xb4be14e3, 0x43ac239b, 0x0877b627),
++ PCMCIA_DEVICE_PROD_ID123("Ethernet", "CF Size PC Card", "1.0",exit
++ 0x00b2e941, 0x43ac239b, 0x0877b627),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
diff --git a/packages/linux/linux-rp-2.6.18/hrw-pcmcia-ids-r5.patch b/packages/linux/linux-rp-2.6.18/hrw-pcmcia-ids-r5.patch
index b5a570d38c..df1f6b3378 100644
--- a/packages/linux/linux-rp-2.6.18/hrw-pcmcia-ids-r5.patch
+++ b/packages/linux/linux-rp-2.6.18/hrw-pcmcia-ids-r5.patch
@@ -22,19 +22,15 @@ Ridata 8GB Pro 150X Compact Flash Card:
Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
----
-Patch follow kernel version 2.6.18
+ drivers/ide/legacy/ide-cs.c | 5 +++++
+ drivers/net/pcmcia/pcnet_cs.c | 2 ++
+ 2 files changed, 7 insertions(+)
-Please Cc: me - I'm not subscribed to linux-pcmcia or linux-kernel
-
- ide-cs.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-Index: linux-2.6/drivers/ide/legacy/ide-cs.c
+Index: linux-2.6.18/drivers/ide/legacy/ide-cs.c
===================================================================
---- linux-2.6.orig/drivers/ide/legacy/ide-cs.c 2006-08-23 11:02:37.958306000 +0200
-+++ linux-2.6/drivers/ide/legacy/ide-cs.c 2006-09-25 16:45:35.765780000 +0200
-@@ -398,12 +398,17 @@
+--- linux-2.6.18.orig/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:51.000000000 +0000
++++ linux-2.6.18/drivers/ide/legacy/ide-cs.c 2006-12-06 00:55:55.000000000 +0000
+@@ -398,12 +398,17 @@ static struct pcmcia_device_id ide_ids[]
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),
@@ -52,3 +48,16 @@ Index: linux-2.6/drivers/ide/legacy/ide-cs.c
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+Index: linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c
+===================================================================
+--- linux-2.6.18.orig/drivers/net/pcmcia/pcnet_cs.c 2006-09-20 04:42:06.000000000 +0100
++++ linux-2.6.18/drivers/net/pcmcia/pcnet_cs.c 2006-12-06 00:57:27.000000000 +0000
+@@ -1770,6 +1770,8 @@ static struct pcmcia_device_id pcnet_ids
+ PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
+ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
+ 0xb4be14e3, 0x43ac239b, 0x0877b627),
++ PCMCIA_DEVICE_PROD_ID123("Ethernet", "CF Size PC Card", "1.0",exit
++ 0x00b2e941, 0x43ac239b, 0x0877b627),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
diff --git a/packages/linux/linux-rp-2.6.18/tmio-nand-r7.patch b/packages/linux/linux-rp-2.6.18/tmio-nand-r7.patch
new file mode 100644
index 0000000000..b6ce56eea4
--- /dev/null
+++ b/packages/linux/linux-rp-2.6.18/tmio-nand-r7.patch
@@ -0,0 +1,593 @@
+ drivers/mtd/nand/Kconfig | 7
+ drivers/mtd/nand/Makefile | 1
+ drivers/mtd/nand/tmio.c | 554 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 562 insertions(+)
+
+Index: git/drivers/mtd/nand/tmio.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ git/drivers/mtd/nand/tmio.c 2006-11-07 23:31:12.000000000 +0000
+@@ -0,0 +1,554 @@
++/*
++ * A device driver for NAND flash connected to a Toshiba Mobile IO
++ * controller. This is known to work with the following variants:
++ * TC6393XB revision 3
++ *
++ * Maintainer: Chris Humbert <mahadri+mtd@drigon.com>
++ *
++ * Copyright (C) 2005 Chris Humbert
++ * Copyright (C) 2005 Dirk Opfer
++ * Copyright (C) 2004 SHARP
++ * Copyright (C) 2002 Lineo Japan, Inc.
++ * Copyright (C) Ian Molton and Sebastian Carlier
++ *
++ * Based on Sharp's NAND driver, sharp_sl_tc6393.c
++ *
++ * 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/module.h>
++#include <linux/types.h>
++#include <linux/delay.h>
++#include <linux/wait.h>
++#include <linux/ioport.h>
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/nand_ecc.h>
++#include <linux/mtd/partitions.h>
++#include <asm/io.h>
++#include <asm/hardware/tmio.h>
++
++#include <linux/interrupt.h>
++
++#define mtd_printk(level, mtd, format, arg...) \
++ printk (level "%s: " format, mtd->name, ## arg)
++#define mtd_warn(mtd, format, arg...) \
++ mtd_printk (KERN_WARNING, mtd, format, ## arg)
++
++/*--------------------------------------------------------------------------*/
++
++/* tmio_nfcr.mode Register Command List */
++#define FCR_MODE_DATA 0x94 // Data Data_Mode
++#define FCR_MODE_COMMAND 0x95 // Data Command_Mode
++#define FCR_MODE_ADDRESS 0x96 // Data Address_Mode
++
++#define FCR_MODE_HWECC_CALC 0xB4 // HW-ECC Data
++#define FCR_MODE_HWECC_RESULT 0xD4 // HW-ECC Calculation Result Read_Mode
++#define FCR_MODE_HWECC_RESET 0xF4 // HW-ECC Reset
++
++#define FCR_MODE_POWER_ON 0x0C // Power Supply ON to SSFDC card
++#define FCR_MODE_POWER_OFF 0x08 // Power Supply OFF to SSFDC card
++
++#define FCR_MODE_LED_OFF 0x00 // LED OFF
++#define FCR_MODE_LED_ON 0x04 // LED ON
++
++#define FCR_MODE_EJECT_ON 0x68 // Ejection Demand from Penguin is Advanced
++#define FCR_MODE_EJECT_OFF 0x08 // Ejection Demand from Penguin is Not Advanced
++
++#define FCR_MODE_LOCK 0x6C // Operates By Lock_Mode. Ejection Switch is Invalid
++#define FCR_MODE_UNLOCK 0x0C // Operates By UnLock_Mode.Ejection Switch is Effective
++
++#define FCR_MODE_CONTROLLER_ID 0x40 // Controller ID Read
++#define FCR_MODE_STANDBY 0x00 // SSFDC card Changes Standby State
++
++#define FCR_MODE_WE 0x80
++#define FCR_MODE_ECC1 0x40
++#define FCR_MODE_ECC0 0x20
++#define FCR_MODE_CE 0x10
++#define FCR_MODE_PCNT1 0x08
++#define FCR_MODE_PCNT0 0x04
++#define FCR_MODE_ALE 0x02
++#define FCR_MODE_CLE 0x01
++
++#define FCR_STATUS_BUSY 0x80
++
++/*
++ * NAND Flash Host Controller Configuration Register
++ */
++struct tmio_nfhccr {
++ u8 x00[4];
++ u16 command; /* 0x04 Command */
++ u8 x01[0x0a];
++ u16 base[2]; /* 0x10 NAND Flash Control Reg Base Addr*/
++ u8 x02[0x29];
++ u8 intp; /* 0x3d Interrupt Pin */
++ u8 x03[0x0a];
++ u8 inte; /* 0x48 Interrupt Enable */
++ u8 x04;
++ u8 ec; /* 0x4a Event Control */
++ u8 x05;
++ u8 icc; /* 0x4c Internal Clock Control */
++ u8 x06[0x0e];
++ u8 eccc; /* 0x5b ECC Control */
++ u8 x07[4];
++ u8 nftc; /* 0x60 NAND Flash Transaction Control */
++ u8 nfm; /* 0x61 NAND Flash Monitor */
++ u8 nfpsc; /* 0x62 NAND Flash Power Supply Control */
++ u8 nfdc; /* 0x63 NAND Flash Detect Control */
++ u8 x08[0x9c];
++} __attribute__ ((packed));
++
++/*
++ * NAND Flash Control Register
++ */
++struct tmio_nfcr {
++union {
++ u8 u8; /* 0x00 Data Register */
++ u16 u16;
++ u32 u32;
++} __attribute__ ((packed));
++ u8 mode; /* 0x04 Mode Register */
++ u8 status; /* 0x05 Status Register */
++ u8 isr; /* 0x06 Interrupt Status Register */
++ u8 imr; /* 0x07 Interrupt Mask Register */
++} __attribute__ ((packed));
++
++struct tmio_nand {
++ struct mtd_info mtd;
++ struct nand_chip chip;
++
++ struct tmio_nfhccr __iomem * ccr;
++ struct tmio_nfcr __iomem * fcr;
++
++ unsigned int irq;
++
++ /* for tmio_nand_read_byte */
++ u8 read;
++ unsigned read_good:1;
++};
++
++#define mtd_to_tmio(m) container_of(m, struct tmio_nand, mtd)
++
++/*--------------------------------------------------------------------------*/
++
++static void tmio_nand_hwcontrol(struct mtd_info *mtd, int cmd,
++ unsigned int ctrl)
++{
++ struct tmio_nand *tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem *fcr = tmio->fcr;
++ struct nand_chip *chip = mtd->priv;
++
++ if (ctrl & NAND_CTRL_CHANGE) {
++ u8 mode;
++
++ if (ctrl & NAND_NCE) {
++ mode = FCR_MODE_DATA;
++
++ if (ctrl & NAND_CLE)
++ mode |= FCR_MODE_CLE;
++ else
++ mode &= ~FCR_MODE_CLE;
++
++ if (ctrl & NAND_ALE)
++ mode |= FCR_MODE_ALE;
++ else
++ mode &= ~FCR_MODE_ALE;
++ } else {
++ mode = FCR_MODE_STANDBY;
++ }
++
++ iowrite8 (mode, &fcr->mode);
++ tmio->read_good = 0;
++ }
++
++ if (cmd != NAND_CMD_NONE)
++ writeb(cmd, chip->IO_ADDR_W);
++}
++
++static int tmio_nand_dev_ready (struct mtd_info* mtd)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++
++ return !(ioread8 (&fcr->status) & FCR_STATUS_BUSY);
++}
++
++static irqreturn_t tmio_irq (int irq, void *__tmio)
++{
++ struct tmio_nand* tmio = __tmio;
++ struct nand_chip* this = &tmio->chip;
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++
++ /* disable RDYREQ interrupt */
++ iowrite8 (0x00, &fcr->imr);
++
++ if (unlikely (!waitqueue_active (&this->controller->wq)))
++ printk (KERN_WARNING TMIO_NAME_NAND ": spurious interrupt\n");
++
++ wake_up (&this->controller->wq);
++ return IRQ_HANDLED;
++}
++
++/*
++ * The TMIO core has a RDYREQ interrupt on the posedge of #SMRB.
++ * This interrupt is normally disabled, but for long operations like
++ * erase and write, we enable it to wake us up. The irq handler
++ * disables the interrupt.
++ */
++static int
++tmio_nand_wait (struct mtd_info *mtd, struct nand_chip *this)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++ long timeout;
++
++ /* enable RDYREQ interrupt */
++ iowrite8 (0x0f, &fcr->isr);
++ iowrite8 (0x81, &fcr->imr);
++
++ timeout = wait_event_timeout (this->controller->wq, tmio_nand_dev_ready (mtd),
++ msecs_to_jiffies (this->state == FL_ERASING ? 400 : 20));
++
++ if (unlikely (!tmio_nand_dev_ready (mtd))) {
++ iowrite8 (0x00, &fcr->imr);
++ mtd_warn (mtd, "still busy with %s after %d ms\n",
++ this->state == FL_ERASING ? "erase" : "program",
++ this->state == FL_ERASING ? 400 : 20);
++
++ } else if (unlikely (!timeout)) {
++ iowrite8 (0x00, &fcr->imr);
++ mtd_warn (mtd, "timeout waiting for interrupt\n");
++ }
++
++ this->cmdfunc (mtd, NAND_CMD_STATUS, -1, -1);
++ return this->read_byte (mtd);
++}
++
++/*
++ * The TMIO controller combines two 8-bit data bytes into one 16-bit
++ * word. This function separates them so nand_base.c works as expected,
++ * especially its NAND_CMD_READID routines.
++ *
++ * To prevent stale data from being read, tmio_nand_hwcontrol() clears
++ * tmio->read_good.
++ */
++static u_char tmio_nand_read_byte (struct mtd_info *mtd)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++ unsigned int data;
++
++ if (tmio->read_good--)
++ return tmio->read;
++
++ data = ioread16 (&fcr->u16);
++ tmio->read = data >> 8;
++ return data;
++}
++
++/*
++ * The TMIO controller converts an 8-bit NAND interface to a 16-bit
++ * bus interface, so all data reads and writes must be 16-bit wide.
++ * Thus, we implement 16-bit versions of the read, write, and verify
++ * buffer functions.
++ */
++static void
++tmio_nand_write_buf (struct mtd_info *mtd, const u_char *buf, int len)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++
++ iowrite16_rep (&fcr->u16, buf, len >> 1);
++}
++
++static void tmio_nand_read_buf (struct mtd_info *mtd, u_char *buf, int len)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++
++ ioread16_rep (&fcr->u16, buf, len >> 1);
++}
++
++static int
++tmio_nand_verify_buf (struct mtd_info *mtd, const u_char *buf, int len)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++ u16* p = (u16*) buf;
++
++ for (len >>= 1; len; len--)
++ if (*(p++) != ioread16 (&fcr->u16))
++ return -EFAULT;
++ return 0;
++}
++
++static void tmio_nand_enable_hwecc (struct mtd_info* mtd, int mode)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++
++ iowrite8 (FCR_MODE_HWECC_RESET, &fcr->mode);
++ ioread8 (&fcr->u8); /* dummy read */
++ iowrite8 (FCR_MODE_HWECC_CALC, &fcr->mode);
++}
++
++static int tmio_nand_calculate_ecc (struct mtd_info* mtd, const u_char* dat,
++ u_char* ecc_code)
++{
++ struct tmio_nand* tmio = mtd_to_tmio (mtd);
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;
++ unsigned int ecc;
++
++ iowrite8 (FCR_MODE_HWECC_RESULT, &fcr->mode);
++
++ ecc = ioread16 (&fcr->u16);
++ ecc_code[1] = ecc; // 000-255 LP7-0
++ ecc_code[0] = ecc >> 8; // 000-255 LP15-8
++ ecc = ioread16 (&fcr->u16);
++ ecc_code[2] = ecc; // 000-255 CP5-0,11b
++ ecc_code[4] = ecc >> 8; // 256-511 LP7-0
++ ecc = ioread16 (&fcr->u16);
++ ecc_code[3] = ecc; // 256-511 LP15-8
++ ecc_code[5] = ecc >> 8; // 256-511 CP5-0,11b
++
++ iowrite8 (FCR_MODE_DATA, &fcr->mode);
++ return 0;
++}
++
++static void tmio_hw_init (struct device *dev, struct tmio_nand *tmio)
++{
++ struct resource* nfcr = tmio_resource_control (dev);
++ struct tmio_device* tdev = dev_to_tdev (dev);
++ struct tmio_nfhccr __iomem * ccr = tmio->ccr;
++ struct tmio_nfcr __iomem * fcr = tmio->fcr;