aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/openocd.texi2
-rw-r--r--src/jtag/core.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 1aaac584..323136f3 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -3369,7 +3369,7 @@ hardware to find these values.
option. When vendors put out multiple versions of a chip, or use the same
JTAG-level ID for several largely-compatible chips, it may be more practical
to ignore the version field than to update config files to handle all of
-the various chip IDs.
+the various chip IDs. The version field is defined as bit 28-31 of the IDCODE.
@item @code{-ircapture} @var{NUMBER}
@*The bit pattern loaded by the TAP into the JTAG shift register
on entry to the @sc{ircapture} state, such as 0x01.
diff --git a/src/jtag/core.c b/src/jtag/core.c
index 6de168e6..a36345b7 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -958,8 +958,8 @@ static bool jtag_examine_chain_match_tap(const struct jtag_tap *tap)
if (0 == tap->expected_ids_cnt && !idcode)
return true;
- /* optionally ignore the JTAG version field */
- uint32_t mask = tap->ignore_version ? ~(0xff << 24) : ~0;
+ /* optionally ignore the JTAG version field - bits 28-31 of IDCODE */
+ uint32_t mask = tap->ignore_version ? ~(0xf << 28) : ~0;
idcode &= mask;