aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/onenand/onenand_base.c
diff options
context:
space:
mode:
authorKyungmin Park <kyungmin.park@samsung.com>2006-05-12 10:02:51 -0400
committerJarkko Lavinen <lavinen@pentafluge.infradead.org>2006-05-12 10:35:48 -0400
commit3cecf69ecde22199699c4f0e609dfed2a487b674 (patch)
treedda3a1cdd96b211a747cd0967a1c231daf2d0a47 /drivers/mtd/onenand/onenand_base.c
parent34c1060959b61a5bb2e97a88411446028cebfa7c (diff)
OneNAND: Handle erase correctly in Double Density Package (DDP)
There's erase bug in DDP. We need to add DDP select in erase Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/mtd/onenand/onenand_base.c')
-rw-r--r--drivers/mtd/onenand/onenand_base.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 6b950ab8ea8d..7c7dc0ae5a19 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -234,6 +234,12 @@ static int onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, size_t le
234 /* Write 'DFS, FBA' of Flash */ 234 /* Write 'DFS, FBA' of Flash */
235 value = onenand_block_address(this, block); 235 value = onenand_block_address(this, block);
236 this->write_word(value, this->base + ONENAND_REG_START_ADDRESS1); 236 this->write_word(value, this->base + ONENAND_REG_START_ADDRESS1);
237
238 if (cmd == ONENAND_CMD_ERASE) {
239 /* Select DataRAM for DDP */
240 value = onenand_bufferram_address(this, block);
241 this->write_word(value, this->base + ONENAND_REG_START_ADDRESS2);
242 }
237 } 243 }
238 244
239 if (page != -1) { 245 if (page != -1) {