From fccb812f829e55940e26466c4cda8c25765d4f6c Mon Sep 17 00:00:00 2001 From: David Brownell Date: Tue, 5 Jan 2010 13:03:27 -0800 Subject: [PATCH] ARM: add #defines for JTAG ack codes JTAG has only two possible JTAG ack codes for APACC and DPACC register reads/writes. Define them, and remove empty "else" clause in the code which now uses those codes. Signed-off-by: David Brownell --- src/target/arm_adi_v5.c | 11 +++++------ src/target/arm_adi_v5.h | 4 ++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c index 9f260642..96accf3e 100644 --- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -249,12 +249,14 @@ int swjdp_transaction_endcheck(struct swjdp_common *swjdp) swjdp->ack = swjdp->ack & 0x7; - if (swjdp->ack != 2) + /* common code path avoids calling timeval_ms() */ + if (swjdp->ack != JTAG_ACK_OK_FAULT) { long long then = timeval_ms(); - while (swjdp->ack != 2) + + while (swjdp->ack != JTAG_ACK_OK_FAULT) { - if (swjdp->ack == 1) + if (swjdp->ack == JTAG_ACK_WAIT) { if ((timeval_ms()-then) > 1000) { @@ -280,9 +282,6 @@ int swjdp_transaction_endcheck(struct swjdp_common *swjdp) return retval; swjdp->ack = swjdp->ack & 0x7; } - } else - { - /* common code path avoids fn to timeval_ms() */ } /* Check for STICKYERR and STICKYORUN */ diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h index 4e1b1aa6..675a1736 100644 --- a/src/target/arm_adi_v5.h +++ b/src/target/arm_adi_v5.h @@ -38,6 +38,10 @@ #define JTAG_DP_APACC 0xB #define JTAG_DP_IDCODE 0xE +/* three-bit ACK values for DPACC and APACC reads */ +#define JTAG_ACK_OK_FAULT 0x2 +#define JTAG_ACK_WAIT 0x1 + #define DPAP_WRITE 0 #define DPAP_READ 1 -- 2.39.5