diff options
Diffstat (limited to 'drivers/mtd')
| -rw-r--r-- | drivers/mtd/nand/davinci_nand.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index d8bb5d351..5b17d7be8 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -266,6 +266,17 @@ static int nand_davinci_correct_data(struct mtd_info *mtd, u_char *dat,  static struct nand_ecclayout nand_davinci_4bit_layout_oobfirst = {  #if defined(CONFIG_SYS_NAND_PAGE_2K)  	.eccbytes = 40, +#ifdef CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC +	.eccpos = { +		6,   7,  8,  9, 10,	11, 12, 13, 14, 15, +		22, 23, 24, 25, 26,	27, 28, 29, 30, 31, +		38, 39, 40, 41, 42,	43, 44, 45, 46, 47, +		54, 55, 56, 57, 58,	59, 60, 61, 62, 63, +	}, +	.oobfree = { +		{2, 4}, {16, 6}, {32, 6}, {48, 6}, +	}, +#else  	.eccpos = {  		24, 25, 26, 27, 28,  		29, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -276,6 +287,7 @@ static struct nand_ecclayout nand_davinci_4bit_layout_oobfirst = {  	.oobfree = {  		{.offset = 2, .length = 22, },  	}, +#endif	/* #ifdef CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC */  #elif defined(CONFIG_SYS_NAND_PAGE_4K)  	.eccbytes = 80,  	.eccpos = { |