]> git.gag.com Git - fw/openocd/blobdiff - src/target/adi_v5_jtag.c
arm_debug: Support multiple APs per DAP and remove DAP from armv7* structs
[fw/openocd] / src / target / adi_v5_jtag.c
index c4ed98a705988635ad2a53e6d650f4517f347414..4c0f040788999b8efe073f56e6f7371614c2afba 100644 (file)
@@ -117,8 +117,8 @@ static int adi_jtag_dp_scan(struct adiv5_dap *dap,
        if ((instr == JTAG_DP_APACC)
                        && ((reg_addr == MEM_AP_REG_DRW)
                                || ((reg_addr & 0xF0) == MEM_AP_REG_BD0))
-                       && (dap->memaccess_tck != 0))
-               jtag_add_runtest(dap->memaccess_tck,
+                       && (dap->ap[dap_ap_get_select(dap)].memaccess_tck != 0))
+               jtag_add_runtest(dap->ap[dap_ap_get_select(dap)].memaccess_tck,
                                TAP_IDLE);
 
        return ERROR_OK;
@@ -280,14 +280,14 @@ static int jtagdp_transaction_endcheck(struct adiv5_dap *dap)
                         * MEM-AP access; but not if autoincrementing.
                         * *Real* CSW and TAR values are always shown.
                         */
-                       if (dap->ap_tar_value != (uint32_t) -1)
+                       if (dap->ap[dap_ap_get_select(dap)].tar_value != (uint32_t) -1)
                                LOG_DEBUG("MEM-AP Cached values: "
                                        "ap_bank 0x%" PRIx32
                                        ", ap_csw 0x%" PRIx32
                                        ", ap_tar 0x%" PRIx32,
                                        dap->ap_bank_value,
-                                       dap->ap_csw_value,
-                                       dap->ap_tar_value);
+                                       dap->ap[dap_ap_get_select(dap)].csw_value,
+                                       dap->ap[dap_ap_get_select(dap)].tar_value);
 
                        if (ctrlstat & SSTICKYORUN)
                                LOG_ERROR("JTAG-DP OVERRUN - check clock, "