X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fadi_v5_swd.c;h=d099f4e710021153b179c8bc4dcb0bb9d510010f;hp=eb181cb653a0862304c44829bef9a46d763e4b66;hb=420a692e0fae34a59eb3c33932362812e33f5583;hpb=380502d82074b799f10d9671c4fe0fe24eb93023 diff --git a/src/target/adi_v5_swd.c b/src/target/adi_v5_swd.c index eb181cb653..d099f4e710 100644 --- a/src/target/adi_v5_swd.c +++ b/src/target/adi_v5_swd.c @@ -211,7 +211,10 @@ static int swd_queue_dp_write(struct adiv5_dap *dap, unsigned reg, return retval; swd_finish_read(dap); - swd_queue_dp_bankselect(dap, reg); + if (reg == DP_SELECT) + dap->select = data & (DP_SELECT_APSEL | DP_SELECT_APBANK | DP_SELECT_DPBANK); + else + swd_queue_dp_bankselect(dap, reg); swd->write_reg(swd_cmd(false, false, reg), data, 0); return check_sync(dap);