Do not check ir capture if there is no IDCODE

git-svn-id: svn://svn.berlios.de/openocd/trunk@2812 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2009-10-07 11:03:01 +00:00
parent e4cc19521b
commit 53dea2f952
1 changed files with 15 additions and 12 deletions

View File

@ -1108,19 +1108,22 @@ static int jtag_validate_ircapture(void)
break;
}
/* Validate the two LSBs, which must be 01 per JTAG spec.
* REVISIT we might be able to verify some MSBs too, using
* ircapture/irmask attributes.
*/
val = buf_get_u32(ir_test, chain_pos, tap->ir_length);
if ((val & 0x3) != 1) {
LOG_ERROR("%s: IR capture error; saw 0x%0*x not 0x..1",
jtag_tap_name(tap),
(tap->ir_length + 7) / tap->ir_length,
val);
if (tap->hasidcode)
{
/* Validate the two LSBs, which must be 01 per JTAG spec.
* REVISIT we might be able to verify some MSBs too, using
* ircapture/irmask attributes.
*/
val = buf_get_u32(ir_test, chain_pos, tap->ir_length);
if ((val & 0x3) != 1) {
LOG_ERROR("%s: IR capture error; saw 0x%0*x not 0x..1",
jtag_tap_name(tap),
(tap->ir_length + 7) / tap->ir_length,
val);
retval = ERROR_JTAG_INIT_FAILED;
goto done;
retval = ERROR_JTAG_INIT_FAILED;
goto done;
}
}
LOG_DEBUG("%s: IR capture 0x%0*x", jtag_tap_name(tap),
(tap->ir_length + 7) / tap->ir_length, val);