diff options
| -rw-r--r-- | drivers/mtd/nand/davinci_nand.c | 23 | 
1 files changed, 16 insertions, 7 deletions
| diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index eabaf3e77..41a95685f 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -182,13 +182,7 @@ static int nand_davinci_correct_data(struct mtd_info *mtd, u_char *dat, u_char *  #ifdef CONFIG_SYS_NAND_4BIT_HW_ECC_OOBFIRST  static struct nand_ecclayout nand_davinci_4bit_layout_oobfirst = { -/* - * TI uses a different layout for 4K page deviecs. Since the - * eccpos filed can hold only a limited number of entries, adding - * support for 4K page will result in compilation warnings - * 4K Support will be added later - */ -#ifdef CONFIG_SYS_NAND_PAGE_2K +#if defined(CONFIG_SYS_NAND_PAGE_2K)  	.eccbytes = 40,  	.eccpos = {  		24, 25, 26, 27, 28, @@ -200,6 +194,21 @@ static struct nand_ecclayout nand_davinci_4bit_layout_oobfirst = {  	.oobfree = {  		{.offset = 2, .length = 22, },  	}, +#elif defined(CONFIG_SYS_NAND_PAGE_4K) +	.eccbytes = 80, +	.eccpos = { +		48, 49, 50, 51, 52, 53, 54, 55, 56, 57, +		58, 59, 60, 61, 62, 63,	64, 65, 66, 67, +		68, 69, 70, 71, 72, 73, 74, 75, 76, 77, +		78, 79,	80, 81, 82, 83,	84, 85, 86, 87, +		88, 89, 90, 91, 92, 93,	94, 95, 96, 97, +		98, 99, 100, 101, 102, 103, 104, 105, 106, 107, +		108, 109, 110, 111, 112, 113, 114, 115, 116, 117, +		118, 119, 120, 121, 122, 123, 124, 125, 126, 127, +		}, +	.oobfree = { +		{.offset = 2, .length = 46, }, +	},  #endif  }; |