Forum Topic - ETFS driver for : (2 Items)
   
ETFS driver for  
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
Re: ETFS driver for  
The PAGE_READ should return data for pare as well. So, do the PAGE_READ but only return the spare data to the upper 
layer.