From mboxrd@z Thu Jan 1 00:00:00 1970 From: lanmanck Date: Sat, 30 May 2009 11:09:03 +0800 (CST) Subject: [U-Boot] Reply:Re: hi,guys,about the nand flash driver In-Reply-To: <20090529193027.GA22067@b07421-ec1.am.freescale.net> References: <20090529193027.GA22067@b07421-ec1.am.freescale.net> <8741663.90171243572592561.JavaMail.coremail@bj163app88.163.com> Message-ID: <18836286.327601243652943261.JavaMail.coremail@bj163app31.163.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de hi scott: thank you for replying. because i am not familiar with the framework of uboot's nand driver ,do you think i should read all of the source code about the nand driver? BTW,i have not found the diretory "drivers/mtd/nand/fsl_elbc.c",is it the latest version? best regards. ?> -----????----- > ???: "Scott Wood" > ????: 2009?5?30? ??? > ???: lanmanck > ??: u-boot at lists.denx.de > ??: Re: [U-Boot] hi,guys,about the nand flash driver > > 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