This is an automated email from Gerrit.

Lakshmi Bai R ([email protected]) just uploaded a new 
patch set to Gerrit, which you can find at http://openocd.zylin.com/6433

-- gerrit

commit 64c73a6c492f8e22d2a3385a2908ba5ad0945f67
Author: Raja Subramanian, Lakshmi Bai <[email protected]>
Date:   Thu Aug 12 20:30:57 2021 +0530

    Extended the support for 8 bit instructions.
    
    In the SoC Configuration, ARM DAP instructions are 8 bit wide.
    When OpenOCD is configured with IrLen as 8 Bits, it starts shifting
    out zeroes instead of ones in the higher nibble which resulted in sticky
    errors. As per the spec, the higher nibble should be 0xF. This change
    extends the support for both 4/8 Bits by added prefixing 0xF in the
    higher nibble. When IrLen is 4 Bits, OpenOCD will drop the higher
    nibble. Hence this change is compatible for both 4/8 Bits IrLen.
    
    Change-Id: I72221b5e6efaa2a2ccdcb70bb507a962cb44c29b
    Signed-off-by: Raja Subramanian, Lakshmi Bai 
<[email protected]>

diff --git a/src/target/adi_v5_jtag.c b/src/target/adi_v5_jtag.c
index 998c51c..dc78de2 100644
--- a/src/target/adi_v5_jtag.c
+++ b/src/target/adi_v5_jtag.c
@@ -43,10 +43,16 @@
 /*#define DEBUG_WAIT*/
 
 /* JTAG instructions/registers for JTAG-DP and SWJ-DP */
-#define JTAG_DP_ABORT          0x8
-#define JTAG_DP_DPACC          0xA
-#define JTAG_DP_APACC          0xB
-#define JTAG_DP_IDCODE         0xE
+/* ARM DAP can be 4 Bit/8Bit instruction.
+ * The below instruction table supports both 4/8 Bit
+ * Refer B3.3.1 from
+ * ARM Debug Interface Architecture Specification ADIv5.0 to ADIv5.2
+ * https://developer.arm.com/documentation/ihi0031/latest
+ */
+#define JTAG_DP_ABORT          0xF8
+#define JTAG_DP_DPACC          0xFA
+#define JTAG_DP_APACC          0xFB
+#define JTAG_DP_IDCODE         0xFE
 
 /* three-bit ACK values for DPACC and APACC reads */
 #define JTAG_ACK_OK_FAULT      0x2

-- 

Reply via email to