Trivial (?) question about nand_command_[lp]()

Ricard Wanderlof ricard.wanderlof at axis.com
Mon Aug 22 04:19:17 PDT 2016


I'm having a close look at nand_base.c:nand_command(), and there's 
something I can't get my head around: According to the code, when the 
command to be sent is NAND_CMD_SEQIN (0x80), used for programming a page, 
first a read command (READ0, READ1 or READOOB depending on the column 
address) is sent to the flash, followed by the SEQIN proper. Are there 
flashes which require a read command to be sent (with no 
address or data bytes) immediately before Page Program?

A related issue is a difference versus nand_command_lp(). In the latter, 
NAND_NCE is set for every command towards the flash, which makes sense, as 
the chip enable should be active throughout the whole sequence. However, 
in nand_command(), NAND_NCE is only set when neither NAND_ALE nor NAND_CLE 
are set. Is this an older convention in the code that CE is implied for 
small-page flashes when ALE or CLE is set, but not for the large-page 
case?

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30



More information about the linux-mtd mailing list