X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Farm_adi_v5.c;h=0ca0ecc64f1798ff6e497c5caf202758aee04fb5;hp=ba8e380158da1f70d3157534502e43e5b8f5eecb;hb=88e9d0f4087a95febd9a3fcd65e65f1d478afb6b;hpb=1e6970dafdccfec388d1a816c2019f9c6b26e338 diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c index ba8e380158..0ca0ecc64f 100644 --- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -671,14 +671,16 @@ int dap_syssec_kinetis_mdmap(struct adiv5_dap *dap) * it's important that the device is out of * reset here */ - retval = dap_queue_ap_read(dap, MDM_REG_STAT, &val); - if (retval != ERROR_OK) - return retval; - dap_run(dap); + do { + retval = dap_queue_ap_read(dap, MDM_REG_STAT, &val); + if (retval != ERROR_OK) + return retval; + dap_run(dap); - LOG_DEBUG("MDM_REG_STAT %08" PRIX32, val); + LOG_DEBUG("MDM_REG_STAT %08" PRIX32, val); + } while (!(val & MDM_STAT_FREADY)); - if ((val & (MDM_STAT_SYSSEC|MDM_STAT_FREADY)) != (MDM_STAT_FREADY)) { + if ((val & MDM_STAT_SYSSEC)) { LOG_DEBUG("MDMAP: system is secured, masserase needed"); if (!(val & MDM_STAT_FMEEN))