From: Mark A. Greer <[email protected]>

The existing NAND infrastructure allows the default main and
mirror bad block tables to be overridden in nand_default_bbt().
However, the davinci_nand driver does not support this.  So,
add fields to the davinci driver's platform data so platform
code can pass in their own bbt's and make the driver honor
those overrides.

Signed-off-by: Mark A. Greer <[email protected]>
---
This is required by the da830 evm (see following patch) which requires
different 'offs' and 'veroffs' values than the default.  This seemed
like the solution that fit best with the existing infratructure.  If
anyone has a better solution, please speak up.

 arch/arm/mach-davinci/include/mach/nand.h |    4 ++++
 drivers/mtd/nand/davinci_nand.c           |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-davinci/include/mach/nand.h 
b/arch/arm/mach-davinci/include/mach/nand.h
index b520c4b..b2ad809 100644
--- a/arch/arm/mach-davinci/include/mach/nand.h
+++ b/arch/arm/mach-davinci/include/mach/nand.h
@@ -79,6 +79,10 @@ struct davinci_nand_pdata {          /* platform_data */
 
        /* e.g. NAND_BUSWIDTH_16 or NAND_USE_FLASH_BBT */
        unsigned                options;
+
+       /* Main and mirror bbt descriptor overrides */
+       struct nand_bbt_descr   *bbt_td;
+       struct nand_bbt_descr   *bbt_md;
 };
 
 #endif /* __ARCH_ARM_DAVINCI_NAND_H */
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index 0bcfd49..31461d7 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -591,6 +591,8 @@ static int __init nand_davinci_probe(struct platform_device 
*pdev)
 
        /* options such as NAND_USE_FLASH_BBT or 16-bit widths */
        info->chip.options      = pdata->options;
+       info->chip.bbt_td       = pdata->bbt_td;
+       info->chip.bbt_md       = pdata->bbt_md;
 
        info->ioaddr            = (uint32_t __force) vaddr;
 
-- 
1.6.2.5.182.ga808d


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to