David,

I see the point you are trying to make.

Strictly speaking what I have done is correct. The issue is we need
A different U-Boot(which I am using with the appropriate layout and all the 
NAND driver enhancements that I submitted to linux-mtd which I ported to 
U-Boot) and also the kernel NAND driver changes.

Also the davinci git does not have all the stuff that you and I have have 
submitted to linux-mtd.

Afcourse it is in my branch.

I also see that in the DM355 board specific code you use NAND_ECC_HW_SYNDROME.

BTW you have access to the LSP 2.10 beta release. In the GA release we rectify 
the layout issues. The GA release NAND drivers are same as what we submitted 
many moons ago in March.

But even then there will be differences in the layout itself between the LSP 
2.10 GA release and what we have in place at the moment.

Thanks,
Sandeep

> -----Original Message-----
> From: David Brownell [mailto:[email protected]]
> Sent: Sunday, June 21, 2009 1:13 AM
> To: [email protected]
> Cc: Paulraj, Sandeep
> Subject: Re: [PATCH v2] DM365 EVM NAND Support
> 
> On Saturday 20 June 2009, [email protected] wrote:
> > +
> > +static struct davinci_nand_pdata davinci_nand_data = {
> > +       .mask_chipsel           = BIT(14),
> > +       .parts                  = davinci_nand_partitions,
> > +       .nr_parts               = ARRAY_SIZE(davinci_nand_partitions),
> > +       .ecc_mode               = NAND_ECC_HW,
> > +       .options                = NAND_USE_FLASH_BBT,
> > +};
> 
> You might want to make that NAND_ECC_HW_SYNDROME so that it's rejected
> on intialization, until some upgrade scheme is in place.
> 
> Otherwise, the NAND driver will notice all the nastiness about how
> the 2.6.18 kernel's NAND driver is clobbering manufacturer bad block
> markers, ignore the current bad block table, and mark a lot of good
> blocks as bad (just because e.g. YAFFS2 wrote the blocks) ... which
> will make u-boot-unhappy ... prevent rebooting into the LSP 2.10
> code on the flash chip ... repeat cycle ad nauseum.
> 
> 
> 
> NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V
> 8-bit)
> 2 NAND chips detected
> Bad block table not found for chip 0
> Bad block table not found for chip 1
> Bad block table not found for chip 0
> Bad block table not found for chip 1
> Scanning device for bad blocks
> Bad eraseblock 27 at 0x000000360000
> Bad eraseblock 28 at 0x000000380000
> Bad eraseblock 32 at 0x000000400000
> Bad eraseblock 33 at 0x000000420000
> Bad eraseblock 34 at 0x000000440000
> Bad eraseblock 35 at 0x000000460000
> Bad eraseblock 36 at 0x000000480000
> Bad eraseblock 37 at 0x0000004a0000
> Bad eraseblock 38 at 0x0000004c0000
> Bad eraseblock 39 at 0x0000004e0000
> Bad eraseblock 40 at 0x000000500000
> Bad eraseblock 41 at 0x000000520000
> Bad eraseblock 42 at 0x000000540000
> Bad eraseblock 43 at 0x000000560000
> Bad eraseblock 44 at 0x000000580000
> Bad eraseblock 45 at 0x0000005a0000
> Bad eraseblock 46 at 0x0000005c0000
> Bad eraseblock 47 at 0x0000005e0000
> Bad eraseblock 168 at 0x000001500000
> Bad eraseblock 191 at 0x0000017e0000
> Bad eraseblock 217 at 0x000001b20000
> Bad eraseblock 281 at 0x000002320000
> Bad eraseblock 292 at 0x000002480000
> Bad eraseblock 303 at 0x0000025e0000
> Bad eraseblock 304 at 0x000002600000
> Bad eraseblock 330 at 0x000002940000
> Bad eraseblock 385 at 0x000003020000
> Bad eraseblock 390 at 0x0000030c0000
> Bad eraseblock 391 at 0x0000030e0000
> Bad eraseblock 393 at 0x000003120000
> Bad eraseblock 394 at 0x000003140000
> Bad eraseblock 575 at 0x0000047e0000
> Bad eraseblock 840 at 0x000006900000
> Bad eraseblock 841 at 0x000006920000
> Bad eraseblock 842 at 0x000006940000
> Bad eraseblock 843 at 0x000006960000
> Bad eraseblock 844 at 0x000006980000
> Bad eraseblock 845 at 0x0000069a0000
> Bad eraseblock 863 at 0x000006be0000
> Bad eraseblock 869 at 0x000006ca0000
> Bad eraseblock 870 at 0x000006cc0000
> Bad eraseblock 871 at 0x000006ce0000
> Bad eraseblock 872 at 0x000006d00000
> Bad eraseblock 881 at 0x000006e20000
> Bad eraseblock 898 at 0x000007040000
> Bad eraseblock 902 at 0x0000070c0000
> Bad eraseblock 919 at 0x0000072e0000
> Bad eraseblock 935 at 0x0000074e0000
> Bad eraseblock 1018 at 0x000007f40000
> Bad eraseblock 1056 at 0x000008400000
> Bad eraseblock 1106 at 0x000008a40000
> Bad eraseblock 1159 at 0x0000090e0000
> Bad eraseblock 1172 at 0x000009280000
> Bad eraseblock 1288 at 0x00000a100000
> Bad eraseblock 1379 at 0x00000ac60000
> Bad eraseblock 1478 at 0x00000b8c0000
> Bad eraseblock 1485 at 0x00000b9a0000
> Bad eraseblock 1486 at 0x00000b9c0000
> Bad eraseblock 1487 at 0x00000b9e0000
> Bad eraseblock 1488 at 0x00000ba00000
> Bad eraseblock 1489 at 0x00000ba20000
> Bad eraseblock 1532 at 0x00000bf80000
> Bad eraseblock 1537 at 0x00000c020000
> Bad eraseblock 1539 at 0x00000c060000
> Bad eraseblock 1540 at 0x00000c080000
> Bad eraseblock 1541 at 0x00000c0a0000
> Bad eraseblock 1548 at 0x00000c180000
> Bad eraseblock 1552 at 0x00000c200000
> Bad eraseblock 1557 at 0x00000c2a0000
> Bad eraseblock 1559 at 0x00000c2e0000
> Bad eraseblock 1588 at 0x00000c680000
> Bad eraseblock 1589 at 0x00000c6a0000
> Bad eraseblock 1590 at 0x00000c6c0000
> Bad eraseblock 1591 at 0x00000c6e0000
> Bad eraseblock 1595 at 0x00000c760000
> Bad eraseblock 1718 at 0x00000d6c0000
> Bad eraseblock 1757 at 0x00000dba0000
> Bad eraseblock 1795 at 0x00000e060000
> Bad eraseblock 1830 at 0x00000e4c0000
> Bad eraseblock 1832 at 0x00000e500000
> Bad eraseblock 1843 at 0x00000e660000
> Bad eraseblock 2043 at 0x00000ff60000
> Bad eraseblock 3079 at 0x0000180e0000
> Bad eraseblock 3196 at 0x000018f80000
> Bad eraseblock 3343 at 0x00001a1e0000
> Bad eraseblock 7289 at 0x000038f20000
> Bad block table written to 0x00003ffe0000, version 0x01
> Bad block table written to 0x00003ffc0000, version 0x01
> Scanning device for bad blocks
> Bad eraseblock 8888 at 0x000045700000
> Bad eraseblock 9273 at 0x000048720000
> Bad eraseblock 10617 at 0x000052f20000
> Bad eraseblock 11631 at 0x00005ade0000
> Bad eraseblock 12898 at 0x000064c40000
> Bad eraseblock 13782 at 0x00006bac0000
> Bad eraseblock 14348 at 0x000070180000
> Bad eraseblock 14716 at 0x000072f80000
> Bad block table written to 0x00007ffe0000, version 0x01
> Bad block table written to 0x00007ffc0000, version 0x01
> Creating 5 MTD partitions on "davinci_nand.0":
> 0x000000000000-0x000000380000 : "bootloader"
> 0x000000380000-0x0000003c0000 : "params"
> 0x0000003c0000-0x0000007c0000 : "kernel"
> 0x0000007c0000-0x0000207c0000 : "filesystem1"
> 0x0000207c0000-0x000080000000 : "filesystem2"
> davinci_nand davinci_nand.0: controller rev. 2.3
> 

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

Reply via email to