[PATCH] OneNAND 2x program support

Kyungmin Park kmpark at infradead.org
Thu Apr 26 03:39:17 EDT 2007


> 
> Hi Kyungmin,
> 
> On Thu, 2007-04-26 at 11:16 +0900, Kyungmin Park wrote:
> > Here's new feature of OneNAND, 2X program.
> 
> Nice.
> 
> Am I right that in this mode we end up with a 4KiB page size?

Since 2x program use the same page in block even, and block odd such as block 0, block 1

In the previous one, the page is end up with 2KB

Note: (block, page)

(0, 0) (0, 1) (0, 2) ... (0, 63)
--------
2KB

But 2x mode it will be changed, (0, 0) (1, 0) is a pair.

(0, 0) (0, 1) (0, 2)
    |       |        |
   V      V      V
(1, 0) (1, 1) (1, 2)
--------
4KB

> 
> > Note: this features is supported with the recent OneNAND 
> chips. please don't try
> > to use previous chips.
> 
> It would be nice to note this in 'config 
> MTD_ONENAND_2X_PROGRAM' and to
> specify OneNAND revision starting from which it is safe to use this
> mode.

OK, I will add the chip number.

Actually there's no method to find a which feature are supported on this chip.
Now I try to find the features from density and process. It's just guess.

Now only 2 chips support this one. 4Gb and 2Gb (no DDP).

+	switch (density) {
+	case ONENAND_DEVICE_DENSITY_4Gb:
+		this->options |= ONENAND_HAS_2PLANE;
+
+	case ONENAND_DEVICE_DENSITY_2Gb:
+		/* 2Gb DDP don't have 2 plane */
+		if (!ONENAND_IS_DDP(this))
+			this->options |= ONENAND_HAS_2PLANE;

I will try to find a more fancy method.

Thank you,
Kyungmin Park





More information about the linux-mtd mailing list