On Wednesday 07 October 2009, Øyvind Harboe wrote: > Committed. > > Do not check ir capture if there is no IDCODE > > Fixes bogus warnings w/imx31/35
Actually we were expecting a patch which just makes this use the capture/mask values provided with TAP declaration, so this workaround may be short-lived. Thing is, TAPs without IDCODE support have no exemption from the constraint that the two LSBs be b01, and most of them conform. Plus, this is the only place which ignores those mask values when checking ircapture results. > ### Eclipse Workspace Patch 1.0 > #P openocd > Index: src/jtag/core.c > =================================================================== > --- src/jtag/core.c (revision 2805) > +++ src/jtag/core.c (working copy) > @@ -1108,19 +1108,22 @@ > 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); > > > -- _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development