
On Fri, May 29, 2009 at 12:49:52PM +0800, lanmanck wrote:
hi: i am going to port uboot1.1.6 nand flash driver to my arm926ejs board.use /drivers/nand/nand.c. not nand_legacy.c . out cpu chip has a nand flash controller,the program flow is as below:
As Wolfgang pointed out, that is very old. Please use current code.
1、set address to controller's register 2、set command to controller's register 3、write controller's special register,so that the 2 steps above can execute. 4、wait for the steps above to be completed ,through another register. 5、now program the data. the problem is; i don't konw how to set struct nand_chip's func point because of the nand controller: xxx_hwcontrol(): the ale,cle cannot be controlled by program. IO_ADDRW:what's it? now i think i just need to write the fllowing functions: wirtebyte,readbyte,writebuf,readbuf,
That will not be sufficient. If your NAND controller does not fit in the cmd_ctrl model, then you'll have to override higher level functions such as cmdfunc -- see drivers/mtd/nand/fsl_elbc.c for an example.
Alternatively, you may want to override the higher level functions that call cmdfunc.
-Scott