Make "-expected-id 0" suppress warnings; not unlike it used to do.

git-svn-id: svn://svn.berlios.de/openocd/trunk@2775 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
dbrownell 2009-09-29 18:26:18 +00:00
parent bde4a40422
commit 4297209ac9
2 changed files with 12 additions and 6 deletions

View File

@ -1253,7 +1253,7 @@ to source such a config file twice, with different
values for @code{CHIPNAME}, so values for @code{CHIPNAME}, so
it adds a different TAP each time. it adds a different TAP each time.
If there are one or more nonzero @option{-expected-id} values, If there are nonzero @option{-expected-id} values,
OpenOCD attempts to verify the actual tap id against those values. OpenOCD attempts to verify the actual tap id against those values.
It will issue error messages if there is mismatch, which It will issue error messages if there is mismatch, which
can help to pinpoint problems in OpenOCD configurations. can help to pinpoint problems in OpenOCD configurations.
@ -2373,11 +2373,13 @@ You may use @code{-enable} to highlight the default state
(the TAP is linked in). (the TAP is linked in).
@xref{Enabling and Disabling TAPs}. @xref{Enabling and Disabling TAPs}.
@item @code{-expected-id} @var{number} @item @code{-expected-id} @var{number}
@*A non-zero value represents the expected 32-bit IDCODE @*A non-zero @var{number} represents a 32-bit IDCODE
found when the JTAG chain is examined. which you expect to find when the scan chain is examined.
These codes are not required by all JTAG devices. These codes are not required by all JTAG devices.
@emph{Repeat the option} as many times as required if more than one @emph{Repeat the option} as many times as required if more than one
ID code could appear (for example, multiple versions). ID code could appear (for example, multiple versions).
Specify @var{number} as zero to suppress warnings about IDCODE
values that were found but not included in the list.
@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

@ -959,10 +959,14 @@ static bool jtag_examine_chain_match_tap(const struct jtag_tap_s *tap)
{ {
if (tap->idcode == tap->expected_ids[ii]) if (tap->idcode == tap->expected_ids[ii])
return true; return true;
/* treat "-expected-id 0" as a "don't-warn" wildcard */
if (0 == tap->expected_ids[ii])
return true;
} }
/* If none of the expected ids matched, log an error */ /* If none of the expected ids matched, warn */
jtag_examine_chain_display(LOG_LVL_ERROR, "UNEXPECTED", jtag_examine_chain_display(LOG_LVL_WARNING, "UNEXPECTED",
tap->dotted_name, tap->idcode); tap->dotted_name, tap->idcode);
for (ii = 0; ii < tap->expected_ids_cnt; ii++) for (ii = 0; ii < tap->expected_ids_cnt; ii++)
{ {
@ -1025,7 +1029,7 @@ static int jtag_examine_chain(void)
} }
tap->idcode = idcode; tap->idcode = idcode;
// ensure the TAP ID does matches what was expected /* ensure the TAP ID matches what was expected */
if (!jtag_examine_chain_match_tap(tap)) if (!jtag_examine_chain_match_tap(tap))
return ERROR_JTAG_INIT_FAILED; return ERROR_JTAG_INIT_FAILED;
} }