<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/include/linux/mtd/onenand.h, branch v2.6.24</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>[MTD] [OneNAND] 2X program support</title>
<updated>2007-06-30T07:24:57+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2007-06-30T04:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ee9745fcf214272b7cdd9d320d044cf433ee958e'/>
<id>ee9745fcf214272b7cdd9d320d044cf433ee958e</id>
<content type='text'>
The 2X Program is an extension of Program Operation.

Since the device is equipped with two DataRAMs, and two-plane NAND Flash 
memory array, these two component enables simultaneous program of 4KiB.
Plane1 has only even blocks such as block0, block2, block4 while Plane2 
has only odd blocks such as block1, block3, block5.
So MTD regards it as 4KiB page size and 256KiB block size

Now the following chips support it. (KFXXX16Q2M)
Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M,
Mux:   KFM2G16Q2M, KFN4G16Q2M,

And more recent chips

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 2X Program is an extension of Program Operation.

Since the device is equipped with two DataRAMs, and two-plane NAND Flash 
memory array, these two component enables simultaneous program of 4KiB.
Plane1 has only even blocks such as block0, block2, block4 while Plane2 
has only odd blocks such as block1, block3, block5.
So MTD regards it as 4KiB page size and 256KiB block size

Now the following chips support it. (KFXXX16Q2M)
Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M,
Mux:   KFM2G16Q2M, KFN4G16Q2M,

And more recent chips

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] [OneNAND] Classify the page data and oob buffer</title>
<updated>2007-03-09T08:08:09+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2007-03-09T01:08:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=470bc844361b238bcbe6a07ba47d51fca25f2742'/>
<id>470bc844361b238bcbe6a07ba47d51fca25f2742</id>
<content type='text'>
Classify the page data and oob buffer
and it prevents the memory fragementation (writesize + oobsize)

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Classify the page data and oob buffer
and it prevents the memory fragementation (writesize + oobsize)

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: Reduce internal BufferRAM operations</title>
<updated>2007-02-02T00:29:36+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2007-02-02T00:29:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=abf3c0f23df6686a984efc8fae7277fcdaffaa32'/>
<id>abf3c0f23df6686a984efc8fae7277fcdaffaa32</id>
<content type='text'>
It use blockpage instead of a pair (block, page). It can also cover a small chunk access. 0x00, 0x20, 0x40 and so on.

And in JFFS2 behavior, sometimes it reads two pages alternatively.
e.g., It first reads A page, B page and A page.
So we check another bufferram to find requested page.

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It use blockpage instead of a pair (block, page). It can also cover a small chunk access. 0x00, 0x20, 0x40 and so on.

And in JFFS2 behavior, sometimes it reads two pages alternatively.
e.g., It first reads A page, B page and A page.
So we check another bufferram to find requested page.

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: Remove unused fields</title>
<updated>2007-01-31T05:25:21+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2007-01-31T05:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9bfbc9b24f663b15149874a94a69ba89b3b7e44c'/>
<id>9bfbc9b24f663b15149874a94a69ba89b3b7e44c</id>
<content type='text'>
- Remove unused fields
- Fix typo

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Remove unused fields
- Fix typo

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: Update copyrights and code cleanup</title>
<updated>2007-01-18T02:10:57+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2007-01-18T02:10:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=75384b0d9c04dc2d48f45825f84a982eaf5c2f53'/>
<id>75384b0d9c04dc2d48f45825f84a982eaf5c2f53</id>
<content type='text'>
Update copyrights and code cleanup

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update copyrights and code cleanup

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: Reduce Double Density Package (DDP) operations</title>
<updated>2007-01-18T02:00:31+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2007-01-15T08:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=738d61f53781a9b677cb472cbd740aa74e7dcd6d'/>
<id>738d61f53781a9b677cb472cbd740aa74e7dcd6d</id>
<content type='text'>
- DDP code clean-up
- Reduce block &amp; bufferram operations in DDP

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- DDP code clean-up
- Reduce block &amp; bufferram operations in DDP

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: Implement read-while-load</title>
<updated>2007-01-10T12:58:42+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>ext-adrian.hunter@nokia.com</email>
</author>
<published>2007-01-04T07:51:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a8de85d557004d6d4e4cf79ecd6b97339b986fe9'/>
<id>a8de85d557004d6d4e4cf79ecd6b97339b986fe9</id>
<content type='text'>
Read-while-load enables higher performance read operations.

Signed-off-by: Adrian Hunter &lt;ext-adrian.hunter@nokia.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Read-while-load enables higher performance read operations.

Signed-off-by: Adrian Hunter &lt;ext-adrian.hunter@nokia.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: add subpage write support</title>
<updated>2007-01-10T12:35:00+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2006-12-22T07:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=60d84f9739a47d0ed8e19805d9056e39fba31c79'/>
<id>60d84f9739a47d0ed8e19805d9056e39fba31c79</id>
<content type='text'>
OneNAND supports up to 4 writes at one NAND page. Add support of this feature.

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OneNAND supports up to 4 writes at one NAND page. Add support of this feature.

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MTD] OneNAND: lock support</title>
<updated>2006-11-16T02:29:39+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2006-11-16T02:29:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=08f782b60a633cbd926ef5e49de303a752390719'/>
<id>08f782b60a633cbd926ef5e49de303a752390719</id>
<content type='text'>
Now you can use mtd lock inferface on OneNAND

The idea is from Nemakal, Vijaya, thanks

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now you can use mtd lock inferface on OneNAND

The idea is from Nemakal, Vijaya, thanks

Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MTD: OneNAND: interrupt based wait support</title>
<updated>2006-11-16T02:23:48+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kyungmin.park@samsung.com</email>
</author>
<published>2006-11-16T02:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2c22120fbd017d78ad2b6825ba573db3ef539bca'/>
<id>2c22120fbd017d78ad2b6825ba573db3ef539bca</id>
<content type='text'>
  We can use the two methods to wait.
  1. polling: read interrupt status register
  2. interrupt: use kernel ineterrupt mechanism

  To use interrupt method, you first connect onenand interrupt pin to your
platform and configure interrupt properly

Signed-off-by: Kyungmin Park &lt;kyungmin.park at samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  We can use the two methods to wait.
  1. polling: read interrupt status register
  2. interrupt: use kernel ineterrupt mechanism

  To use interrupt method, you first connect onenand interrupt pin to your
platform and configure interrupt properly

Signed-off-by: Kyungmin Park &lt;kyungmin.park at samsung.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
