aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/lpc2000.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/flash/nor/lpc2000.c')
-rw-r--r--src/flash/nor/lpc2000.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/flash/nor/lpc2000.c b/src/flash/nor/lpc2000.c
index 12814aad..aadb9999 100644
--- a/src/flash/nor/lpc2000.c
+++ b/src/flash/nor/lpc2000.c
@@ -653,6 +653,10 @@ static int lpc2000_erase(struct flash_bank *bank, int first, int last)
if (retval != ERROR_OK)
return retval;
+ if (lpc2000_info->variant == lpc4300)
+ /* Init IAP Anyway */
+ lpc2000_iap_call(bank, iap_working_area, 49, param_table, result_table);
+
/* Prepare sectors */
int status_code = lpc2000_iap_call(bank, iap_working_area, 50, param_table, result_table);
switch (status_code) {
@@ -781,6 +785,10 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
uint32_t param_table[5] = {0};
uint32_t result_table[4];
+ if (lpc2000_info->variant == lpc4300)
+ /* Init IAP Anyway */
+ lpc2000_iap_call(bank, iap_working_area, 49, param_table, result_table);
+
while (bytes_remaining > 0) {
uint32_t thisrun_bytes;
if (bytes_remaining >= lpc2000_info->cmd51_max_buffer)