Nicolas Pitre nico at cam.org This at least should make the "nand info" command a little more useful.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1443 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
9a6c3cc87f
commit
3f427b90e0
|
@ -689,6 +689,8 @@ int nand_erase(struct nand_device_s *device, int first_block, int last_block)
|
||||||
LOG_ERROR("erase operation didn't pass, status: 0x%2.2x", status);
|
LOG_ERROR("erase operation didn't pass, status: 0x%2.2x", status);
|
||||||
return ERROR_NAND_OPERATION_FAILED;
|
return ERROR_NAND_OPERATION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
device->blocks[i].is_erased = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
|
@ -770,9 +772,15 @@ int nand_write_plain(struct nand_device_s *device, u32 address, u8 *data, u32 da
|
||||||
|
|
||||||
int nand_write_page(struct nand_device_s *device, u32 page, u8 *data, u32 data_size, u8 *oob, u32 oob_size)
|
int nand_write_page(struct nand_device_s *device, u32 page, u8 *data, u32 data_size, u8 *oob, u32 oob_size)
|
||||||
{
|
{
|
||||||
|
u32 block;
|
||||||
|
|
||||||
if (!device->device)
|
if (!device->device)
|
||||||
return ERROR_NAND_DEVICE_NOT_PROBED;
|
return ERROR_NAND_DEVICE_NOT_PROBED;
|
||||||
|
|
||||||
|
block = page / (device->erase_size / device->page_size);
|
||||||
|
if (device->blocks[block].is_erased == 1)
|
||||||
|
device->blocks[block].is_erased = 0;
|
||||||
|
|
||||||
if (device->use_raw || device->controller->write_page == NULL)
|
if (device->use_raw || device->controller->write_page == NULL)
|
||||||
return nand_write_page_raw(device, page, data, data_size, oob, oob_size);
|
return nand_write_page_raw(device, page, data, data_size, oob, oob_size);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue