diff options
author | Florian Fainelli <florian@openwrt.org> | 2007-05-29 17:28:06 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2007-05-29 17:28:06 +0000 |
commit | 0902c352c1340a1a2174dfe11e69b109fd6211c1 (patch) | |
tree | 48909106abf464113573fdb5276dd470d8cd03a1 /target/linux/adm5120-2.6/files/drivers/mtd | |
parent | 29579bec88e478904951cb567b967cd4417256b3 (diff) | |
download | upstream-0902c352c1340a1a2174dfe11e69b109fd6211c1.tar.gz upstream-0902c352c1340a1a2174dfe11e69b109fd6211c1.tar.bz2 upstream-0902c352c1340a1a2174dfe11e69b109fd6211c1.zip |
Add the rbmipsnand fix from #1778
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7388 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/adm5120-2.6/files/drivers/mtd')
-rw-r--r-- | target/linux/adm5120-2.6/files/drivers/mtd/nand/rbmipsnand.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/target/linux/adm5120-2.6/files/drivers/mtd/nand/rbmipsnand.c b/target/linux/adm5120-2.6/files/drivers/mtd/nand/rbmipsnand.c index caecd50659..c687dcdd27 100644 --- a/target/linux/adm5120-2.6/files/drivers/mtd/nand/rbmipsnand.c +++ b/target/linux/adm5120-2.6/files/drivers/mtd/nand/rbmipsnand.c @@ -66,7 +66,17 @@ static struct mtd_partition partition_info[] = { static struct mtd_info rmtd; static struct nand_chip rnand; - +/*========================================================================*/ +/* We need to use the OLD Yaffs-1 OOB layout, otherwise the RB bootloader */ +/* will not be able to find the kernel that we load. So set the oobinfo */ +/* when creating the partitions. */ +/*========================================================================*/ +static struct nand_ecclayout rb_ecclayout = { + .eccbytes = 6, + .eccpos = { 8, 9, 10, 13, 14, 15 }, + .oobavail = 9, + .oobfree = { { 0, 4 }, { 6, 2 }, { 11, 2 }, { 4, 1} } +}; static unsigned init_ok = 0; unsigned get_rbnand_block_size(void) { @@ -93,6 +103,7 @@ int __init rbmips_init(void) { return -ENXIO; } rnand.ecc.mode = NAND_ECC_SOFT; + rnand.ecc.layout = &rb_ecclayout; rnand.chip_delay = 25; rnand.options |= NAND_NO_AUTOINCR; rmtd.priv = &rnand; |