[U-Boot-Users] [PATCH 2/7 v3] NAND_CMD_READOOB is not supported by all chips, read OOB with the page instead

Guennadi Liakhovetski lg at denx.de
Tue Aug 5 17:25:46 CEST 2008


On Tue, 5 Aug 2008, Scott Wood wrote:

> On Tue, Aug 05, 2008 at 03:08:04PM +0200, Guennadi Liakhovetski wrote:
> > It's a large-page device. And, as far as I understand the datasheet, to 
> > read data at arbitrary offset in a page, you first have to issue a READ 
> > PAGE (READ0) for _the_ _whole_ page, then you can use RANDOM DATA READ to 
> > read arbitrary data within this page. Whereas, the driver attempts to use 
> > READ0 to read the bad-block marker directly, which doesn't work with this 
> > chip. At least this is my understanding.
> 
> Are you saying that your NAND chip can't read the OOB by issuing READ0
> with the appropriate column address?  Which chip is this, and where can I
> find a manual?

At least, this is how I understood it, I might be wrong though:

http://download.micron.com/pdf/datasheets/flash/nand/2_4_8gb_nand_m49a.pdf

pages 21, 22.

> > > > @@ -150,8 +135,6 @@ static int nand_read_page(struct mtd_info *mtd, int block, int page, uchar *dst)
> > > >  	u_char *ecc_code;
> > > >  	u_char *oob_data;
> > > >  	int i;
> > > > -	int eccsize = CFG_NAND_ECCSIZE;
> > > > -	int eccbytes = CFG_NAND_ECCBYTES;
> > > 
> > > Any particular reason for this change?  It's more readable as is, IMHO.
> > 
> > Acually, it was to improve readability:-) First, this way you can easier 
> > grep.
> 
> Grep will find the initialization.
> 
> > Secondly, when I see an assignment to a _variable_, I expect, that this
> > variable's value can indeed _vary_. So, it makes extra work looking
> > through the code and verifying what other values this variable takes. 
> > Thus, at the very least I would add "const" to the definition. And, I
> > do think using constants directly makes it clearer...
> 
> It replaces a short lower-case name with a longer all-caps name that
> forces line breaks.  I'm fine with adding "const".

Ok...

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.

DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de




More information about the U-Boot mailing list