In FLASHD_ErasePages AT91C_EFC_FCMD_EPA is used to erase sectors.
According to the datasheet FARG[15:2] defines the page from which
the erase will start.This page must be modulo 4, 8, 16 or 32
according to the number of pages to erase. FARG[1:0] defines the
number of pages to be erased. Previously (firstpage << 2) was used
to conform to this, seems it should not be shifted... Changed it
to (firstPage) | erasePages.
Change-Id: I791cc7fc4faf056623ad5a6c7e860315306098a1
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
Reviewed-on: http://openocd.zylin.com/830
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
break;
}
+ /* AT91C_EFC_FCMD_EPA
+ * According to the datasheet FARG[15:2] defines the page from which
+ * the erase will start.This page must be modulo 4, 8, 16 or 32
+ * according to the number of pages to erase. FARG[1:0] defines the
+ * number of pages to be erased. Previously (firstpage << 2) was used
+ * to conform to this, seems it should not be shifted...
+ */
return EFC_PerformCommand(pPrivate,
/* send Erase Page */
AT91C_EFC_FCMD_EPA,
- (firstPage << 2) | erasePages,
+ (firstPage) | erasePages,
status);
}