|
06/16/2009 12:02 PM
post31890
|
Hello,
I need to create a ETFS NAND flash driver for a device from Micron: http://www.micron.com/products/partdetail.aspx?part=
MT29F1G16ABBHC-ET, running on an i.MX31.
I took the BSP and copied the supplied ETFS driver, which is for a samsung device. I modified the source such that it
accepts the ID of the Micron device (0x2C 0xB1). When I start it, it feels lucky since it can read the device IDs from
the chip, etfsctl displays the correct size.
# etfsctl -d /dev/etfs1 -i
Device NAND2cb1
Blocks Clusters/Block Clustersize Totalsize
1024 32 4096 134217728
Pools
Clean Spare Filthy Inactive Xpool Cache
0 0 0 0 2048 64
Counts
Erase Avg Read Cache Write Mine Copy Defrag BadBlks
0 0 0 0 0 0 0 0 0
Errors
Ecc Chksum Device
0 0 0
Odd: I have /dev/etfs1 AND /dev/etfs2, seems to be mirrored somehow.
Anyway, when I try to format it, I get error messages from the function
devio_readtrans: readtrans BADBLK on cluster 0
Looking at the datasheet, it seems that this particular part doesn't understand the command 0x50 NANDCMD_SPAREREAD. How
do I need to re-write the function when I only have the standard PAGE_READ command (0x00) available?
Are there any general guidlines for ETFS driver programming available?
Thank you for your help.
-Albrecht
|
|
|
|
|