[Yaffs] [Yaffs-archive] NAND driver

Thomas Gleixner tglx@linutronix.de
Thu, 15 Apr 2004 21:53:33 +0200


--Boundary-00=_9gufA9nzQBEYfKY
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi all,

the NAND driver was reworked to support the new 2K page size chips.
There is support for autoplacement of OOB data built in now, as discussed some 
time ago,

Status:
	JFFS2 mounts on small / large chips (current JFFS2 CVS code)
	YAFFS mounts on small chips (Patch against current YAFFS CVS is attached)

Some TODO's remain, like optimization of non page aligned read access and 
support for the cached page programming, which is provided by the new Samsung 
chips. Most of this is already designed in, but not enabled yet as I wanted 
to have it working with the standard functionality first. This will happen in 
the next weeks.
And of course updating the nand html documentation.

So YAFFS2 can take off :)

This makes some small modifications to the board drivers neccecary. 
We need one additional buffer. The sizeof this buffer is oobsize * pages per 
block, e.g.
blocksize 16384
pagesize 512
= 32 pages per block
* 16 byte out of band data
= 512 byte buffer
The pointer must be set  _before_  calling nand_scan
The pointer for the data buffer, which was neccecary also before the change,
must be set now before calling nand_scan(), as nand_scan() contains a check 
for both pointers now.
Check the modifications in autcpu12.c for reference.

I want to say thanks to 
	Aleph One Ltd. and Toby Churchil Ltd. They supported this work
and
	llandre in Italy, who seems to be the only one in the universe who has a 
board with those new chips up and running. He did all the testing. 


Please check it out and help testing.

-- 
Thomas
________________________________________________________________________
"Free software" is a matter of liberty, not price. To understand the concept,
you should think of "free" as in "free speech,'' not as in "free beer".
________________________________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx@linutronix.de

--Boundary-00=_9gufA9nzQBEYfKY
Content-Type: text/x-diff;
  charset="us-ascii";
  name="yaffs.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="yaffs.diff"

Index: yaffs_mtdif.c
===================================================================
RCS file: /home/aleph1/cvs/yaffs/yaffs_mtdif.c,v
retrieving revision 1.9
diff -u -r1.9 yaffs_mtdif.c
--- yaffs_mtdif.c	8 Apr 2003 19:53:44 -0000	1.9
+++ yaffs_mtdif.c	14 Apr 2004 21:53:56 -0000
@@ -31,6 +31,7 @@
 
 struct nand_oobinfo yaffs_oobinfo = {
 	useecc: 1,
+	eccbytes: 6,
 	eccpos: {8, 9, 10, 13, 14, 15}
 };
 

--Boundary-00=_9gufA9nzQBEYfKY--


---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.