X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fcortex_a.c;h=45a877d36783b0b785bc871fc3edd2502bf34dbd;hp=8ec870b5d38e4a4aa907cadf81ad4642115cc1b6;hb=bf4cf766310768198cfa766467d47bdb180f9b27;hpb=332023fb23aefb30d20b0d7f48d12ed9facdba40 diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index 8ec870b5d3..45a877d367 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -2938,7 +2938,7 @@ static int cortex_a_examine_first(struct target *target) /* We do one extra read to ensure DAP is configured, * we call ahbap_debugport_init(swjdp) instead */ - retval = ahbap_debugport_init(swjdp); + retval = ahbap_debugport_init(swjdp, 0); if (retval != ERROR_OK) return retval; @@ -2978,7 +2978,7 @@ static int cortex_a_examine_first(struct target *target) return retval; } LOG_DEBUG("Detected core %" PRId32 " dbgbase: %08" PRIx32, - coreidx, armv7a->debug_base); + target->coreid, armv7a->debug_base); } else armv7a->debug_base = target->dbgbase; @@ -3119,30 +3119,24 @@ static int cortex_a_init_arch_info(struct target *target, struct cortex_a_common *cortex_a, struct jtag_tap *tap) { struct armv7a_common *armv7a = &cortex_a->armv7a_common; - struct adiv5_dap *dap = &armv7a->dap; - - armv7a->arm.dap = dap; /* Setup struct cortex_a_common */ cortex_a->common_magic = CORTEX_A_COMMON_MAGIC; + /* tap has no dap initialized */ if (!tap->dap) { - armv7a->arm.dap = dap; - /* Setup struct cortex_a_common */ + tap->dap = dap_init(); /* prepare JTAG information for the new target */ cortex_a->jtag_info.tap = tap; cortex_a->jtag_info.scann_size = 4; /* Leave (only) generic DAP stuff for debugport_init() */ - dap->jtag_info = &cortex_a->jtag_info; + tap->dap->jtag_info = &cortex_a->jtag_info; + } - /* Number of bits for tar autoincrement, impl. dep. at least 10 */ - dap->tar_autoincr_block = (1 << 10); - dap->memaccess_tck = 80; - tap->dap = dap; - } else - armv7a->arm.dap = tap->dap; + tap->dap->ap[dap_ap_get_select(tap->dap)].memaccess_tck = 80; + armv7a->arm.dap = tap->dap; cortex_a->fast_reg_read = 0;