X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fem357.c;h=b14e0323c7916e272f66c073a07351d3d930d8b9;hp=8f25a89b650a561a5d456bb53fbb5859019efd9d;hb=20113201df25475889a3cd9ee22c0397e4fae530;hpb=cbf4760e15d217c0a83e65f13bddfcbfad7d2fec diff --git a/src/flash/nor/em357.c b/src/flash/nor/em357.c index 8f25a89b65..b14e0323c7 100644 --- a/src/flash/nor/em357.c +++ b/src/flash/nor/em357.c @@ -19,9 +19,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H @@ -455,7 +453,7 @@ static int em357_protect(struct flash_bank *bank, int set, int first, int last) return em357_write_options(bank); } -static int em357_write_block(struct flash_bank *bank, uint8_t *buffer, +static int em357_write_block(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count) { struct target *target = bank->target; @@ -502,10 +500,9 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer, LOG_WARNING("no working area available, can't do block memory writes"); return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; } - ; retval = target_write_buffer(target, write_algorithm->address, - sizeof(em357_flash_write_code), (uint8_t *)em357_flash_write_code); + sizeof(em357_flash_write_code), em357_flash_write_code); if (retval != ERROR_OK) return retval; @@ -583,7 +580,7 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer, return retval; } -static int em357_write(struct flash_bank *bank, uint8_t *buffer, +static int em357_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count) { struct target *target = bank->target; @@ -705,6 +702,11 @@ static int em357_probe(struct flash_bank *bank) num_pages = 128; page_size = 2048; break; + case 0x80000: + /* 512k -- 256 2k pages */ + num_pages = 256; + page_size = 2048; + break; default: LOG_WARNING("No size specified for em357 flash driver, assuming 192k!"); num_pages = 96; @@ -939,4 +941,5 @@ struct flash_driver em357_flash = { .auto_probe = em357_auto_probe, .erase_check = default_flash_blank_check, .protect_check = em357_protect_check, + .free_driver_priv = default_flash_free_driver_priv, };