diff options
| author | Kyungmin Park <kyungmin.park@samsung.com> | 2006-05-12 10:02:51 -0400 |
|---|---|---|
| committer | Jarkko Lavinen <lavinen@pentafluge.infradead.org> | 2006-05-12 10:35:48 -0400 |
| commit | 3cecf69ecde22199699c4f0e609dfed2a487b674 (patch) | |
| tree | dda3a1cdd96b211a747cd0967a1c231daf2d0a47 | |
| parent | 34c1060959b61a5bb2e97a88411446028cebfa7c (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>
| -rw-r--r-- | drivers/mtd/onenand/onenand_base.c | 6 |
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) { |
