Merge commit '5548d54626a658b65f1f963cd5af54ddaf93fbf7' into sam-update

# Conflicts:
#	src/platforms/common/swdptap.c
This commit is contained in:
Jason Kotzin 2022-08-01 19:56:08 -07:00
commit 1612eacab2

View File

@ -55,7 +55,7 @@ static inline void swdptap_bit_out(bool val)
int adiv5_swdp_scan(void) int adiv5_swdp_scan(void)
{ {
uint8_t ack; uint32_t ack;
target_list_free(); target_list_free();
ADIv5_DP_t *dp = (void*)calloc(1, sizeof(*dp)); ADIv5_DP_t *dp = (void*)calloc(1, sizeof(*dp));
@ -133,9 +133,9 @@ static uint32_t adiv5_swdp_low_access(ADIv5_DP_t *dp, uint8_t RnW,
{ {
bool APnDP = addr & ADIV5_APnDP; bool APnDP = addr & ADIV5_APnDP;
addr &= 0xff; addr &= 0xff;
uint8_t request = 0x81; uint32_t request = 0x81;
uint32_t response = 0; uint32_t response = 0;
uint8_t ack; uint32_t ack;
platform_timeout timeout; platform_timeout timeout;
if(APnDP && dp->fault) return 0; if(APnDP && dp->fault) return 0;
@ -152,7 +152,7 @@ static uint32_t adiv5_swdp_low_access(ADIv5_DP_t *dp, uint8_t RnW,
do { do {
swdptap_seq_out(request, 8); swdptap_seq_out(request, 8);
ack = swdptap_seq_in(3); ack = swdptap_seq_in(3);
} while (!platform_timeout_is_expired(&timeout) && ack == SWDP_ACK_WAIT); } while (ack == SWDP_ACK_WAIT && !platform_timeout_is_expired(&timeout));
if (ack == SWDP_ACK_WAIT) if (ack == SWDP_ACK_WAIT)
raise_exception(EXCEPTION_TIMEOUT, "SWDP ACK timeout"); raise_exception(EXCEPTION_TIMEOUT, "SWDP ACK timeout");
@ -172,9 +172,6 @@ static uint32_t adiv5_swdp_low_access(ADIv5_DP_t *dp, uint8_t RnW,
swdptap_seq_out_parity(value, 32); swdptap_seq_out_parity(value, 32);
} }
/* REMOVE THIS */
swdptap_seq_out(0, 8);
return response; return response;
} }