jtag: use correct tap -ignore-version mask

when -ignore-version is used we should mask of the upper 4bits not 8bits.

Change-Id: I9ffe24c2aeeb414677357a647609fdf018890194
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/473
Tested-by: jenkins
__archive__
Spencer Oliver 2012-02-21 10:13:21 +00:00 committed by Andreas Fritiofson
parent d431af34fe
commit 5793056d96
2 changed files with 3 additions and 3 deletions

View File

@ -3369,7 +3369,7 @@ hardware to find these values.
option. When vendors put out multiple versions of a chip, or use the same 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 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 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} @item @code{-ircapture} @var{NUMBER}
@*The bit pattern loaded by the TAP into the JTAG shift register @*The bit pattern loaded by the TAP into the JTAG shift register
on entry to the @sc{ircapture} state, such as 0x01. on entry to the @sc{ircapture} state, such as 0x01.

View File

@ -958,8 +958,8 @@ static bool jtag_examine_chain_match_tap(const struct jtag_tap *tap)
if (0 == tap->expected_ids_cnt && !idcode) if (0 == tap->expected_ids_cnt && !idcode)
return true; return true;
/* optionally ignore the JTAG version field */ /* optionally ignore the JTAG version field - bits 28-31 of IDCODE */
uint32_t mask = tap->ignore_version ? ~(0xff << 24) : ~0; uint32_t mask = tap->ignore_version ? ~(0xf << 28) : ~0;
idcode &= mask; idcode &= mask;