mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-09-12 20:58:58 +03:00
Add the rbmipsnand fix from #1778
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7388 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
60e97b82f7
commit
e85e700168
@ -66,7 +66,17 @@ static struct mtd_partition partition_info[] = {
|
|||||||
|
|
||||||
static struct mtd_info rmtd;
|
static struct mtd_info rmtd;
|
||||||
static struct nand_chip rnand;
|
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;
|
static unsigned init_ok = 0;
|
||||||
|
|
||||||
unsigned get_rbnand_block_size(void) {
|
unsigned get_rbnand_block_size(void) {
|
||||||
@ -93,6 +103,7 @@ int __init rbmips_init(void) {
|
|||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
rnand.ecc.mode = NAND_ECC_SOFT;
|
rnand.ecc.mode = NAND_ECC_SOFT;
|
||||||
|
rnand.ecc.layout = &rb_ecclayout;
|
||||||
rnand.chip_delay = 25;
|
rnand.chip_delay = 25;
|
||||||
rnand.options |= NAND_NO_AUTOINCR;
|
rnand.options |= NAND_NO_AUTOINCR;
|
||||||
rmtd.priv = &rnand;
|
rmtd.priv = &rnand;
|
||||||
|
Loading…
Reference in New Issue
Block a user