Re: No more software ECC in omap2.c NAND driver. Why?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/21/10 10:27 PM, Ghorai, Sukumar wrote:
>> -----Original Message-----
>> From: Grant Erickson [mailto:marathon96@xxxxxxxxx]
>> Sent: Monday, November 22, 2010 11:39 AM
>> To: Charles Manning
>> Cc: linux-omap@xxxxxxxxxxxxxxx; Grazvydas Ignotas; Ghorai, Sukumar
>> Subject: Re: No more software ECC in omap2.c NAND driver. Why?
>> 
>> On 11/21/10 1:01 PM, Charles Manning wrote:
>>> Just recompiling with the CONFIG_MTD_NAND_OMAP_HWECC define commented
>> out did
>>> not result in a working system. I suspect there is more tto the problem
>> than
>>> this.
>> 
>> FWIW, I had the exact same issues with my Mistral AM37x EVM board. I not
>> only had to remove/deassert CONFIG_MTD_NAND_OMAP_HWECC, but also had to
>> roll
>> back nand_base.c and nand_bbt.c back to their 2.6.32 versions (later ones
>> between .32 and .35 might have worked but I didn't bother trying) to be
>> able
>> to read, error-free and correctly, NAND that was erased and written with a
>> .32-era kernel.
>
> [Ghorai] are you trying again?
> How do you flush the FS (form u-boot or from kernel, nandwrite)? And let me
> know the test you are doing, to know the steps to reproduce in my platform -
> zoom/sdp.

The board (Mistral AM37x) NAND (Micron 256 MiB) was originally bootstrapped
over SD/MMC from u-boot using the following script:

    mmc init
    mw.b ${loadaddr} 0xff 0x40000
    nand erase 0 0x40000
    fatload mmc 0 ${loadaddr} mlo
    nandecc hw
    nand write.i ${loadaddr} 0 0x40000
    mw.b ${loadaddr} 0xff 0x180000
    nand erase 0x00040000 0x180000
    nand erase 0x001c0000 0x180000
    fatload mmc 0 ${loadaddr} u-boot.bin
    nandecc sw
    nand write.i ${loadaddr} 0x00040000 0x180000
    nand write.i ${loadaddr} 0x001c0000 0x180000
    mw.b ${loadaddr} 0xff 0x800000
    nand erase 0x00400000 0x800000
    nand erase 0x03a00000 0x800000
    fatload mmc 0 ${loadaddr} uImage
    nand write.i ${loadaddr} 0x00400000 0x800000
    nand write.i ${loadaddr} 0x03a00000 0x800000
    mw.b ${loadaddr} 0xff 0x2000000
    nand erase 0x00c00000 0x2000000
    nand erase 0x04200000 0x2000000
    fatload mmc 0 ${loadaddr} root.jff
    nand write.i ${loadaddr} 0x00c00000 0x2000000
    nand write.i ${loadaddr} 0x04200000 0x2000000

Following that, the board is updated, from Linux, using 'flash_eraseall -q'
and 'nandwrite -p -q' on all partitions, except that containing MLO.

Best,

Grant


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux