flash/at91sam4: run probe just once
Reread registers in sam4_GetInfo() Change-Id: I3b023b3e642a9c052b5c41673d196317f7e7f2e3 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/4609 Tested-by: jenkins Reviewed-by: Erwin Oegema <blablaechthema@hotmail.com> Reviewed-by: Svetoslav Enchev <svetoslav.enchev@gmail.com>
This commit is contained in:
parent
6060545458
commit
e537e807f6
|
@ -2376,6 +2376,11 @@ static int sam4_GetInfo(struct sam4_chip *pChip)
|
||||||
{
|
{
|
||||||
const struct sam4_reg_list *pReg;
|
const struct sam4_reg_list *pReg;
|
||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
r = sam4_ReadAllRegs(pChip);
|
||||||
|
if (r != ERROR_OK)
|
||||||
|
return r;
|
||||||
|
|
||||||
pReg = &(sam4_all_regs[0]);
|
pReg = &(sam4_all_regs[0]);
|
||||||
while (pReg->name) {
|
while (pReg->name) {
|
||||||
|
@ -2581,14 +2586,14 @@ static int sam4_GetDetails(struct sam4_bank_private *pPrivate)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _sam4_probe(struct flash_bank *bank, int noise)
|
static int sam4_probe(struct flash_bank *bank)
|
||||||
{
|
{
|
||||||
unsigned x;
|
unsigned x;
|
||||||
int r;
|
int r;
|
||||||
struct sam4_bank_private *pPrivate;
|
struct sam4_bank_private *pPrivate;
|
||||||
|
|
||||||
|
|
||||||
LOG_DEBUG("Begin: Bank: %d, Noise: %d", bank->bank_number, noise);
|
LOG_DEBUG("Begin: Bank: %d", bank->bank_number);
|
||||||
if (bank->target->state != TARGET_HALTED) {
|
if (bank->target->state != TARGET_HALTED) {
|
||||||
LOG_ERROR("Target not halted");
|
LOG_ERROR("Target not halted");
|
||||||
return ERROR_TARGET_NOT_HALTED;
|
return ERROR_TARGET_NOT_HALTED;
|
||||||
|
@ -2655,14 +2660,15 @@ static int _sam4_probe(struct flash_bank *bank, int noise)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sam4_probe(struct flash_bank *bank)
|
|
||||||
{
|
|
||||||
return _sam4_probe(bank, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int sam4_auto_probe(struct flash_bank *bank)
|
static int sam4_auto_probe(struct flash_bank *bank)
|
||||||
{
|
{
|
||||||
return _sam4_probe(bank, 0);
|
struct sam4_bank_private *pPrivate;
|
||||||
|
|
||||||
|
pPrivate = get_sam4_bank_private(bank);
|
||||||
|
if (pPrivate && pPrivate->probed)
|
||||||
|
return ERROR_OK;
|
||||||
|
|
||||||
|
return sam4_probe(bank);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sam4_erase(struct flash_bank *bank, int first, int last)
|
static int sam4_erase(struct flash_bank *bank, int first, int last)
|
||||||
|
|
Loading…
Reference in New Issue