diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/jtag.c | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index ca4eb684..47d16fdf 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -1058,44 +1058,48 @@ static int jtag_examine_chain(void) tap->idcode = idcode; - if (tap->expected_ids_cnt > 0) { + if (0 == tap->expected_ids_cnt) + { + // @todo Enable LOG_INFO to ask for reports about unknown TAP IDs. +#if 0 + LOG_INFO("Uknown JTAG TAP ID: 0x%08x", tap->idcode) + LOG_INFO("Please report the chip name and reported ID code to the openocd project"); +#endif + tap = jtag_tap_next_enabled(tap); + continue; + } /* Loop over the expected identification codes and test for a match */ - u8 ii; - for (ii = 0; ii < tap->expected_ids_cnt; ii++) { - if( tap->idcode == tap->expected_ids[ii] ){ - break; - } + u8 ii; + for (ii = 0; ii < tap->expected_ids_cnt; ii++) { + if (tap->idcode == tap->expected_ids[ii]) { + break; } + } - /* If none of the expected ids matched, log an error */ - if (ii == tap->expected_ids_cnt) { - LOG_ERROR("JTAG tap: %s got: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", + /* If none of the expected ids matched, log an error */ + if (ii == tap->expected_ids_cnt) { + LOG_ERROR("JTAG tap: %s got: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", + tap->dotted_name, + idcode, + EXTRACT_MFG( tap->idcode ), + EXTRACT_PART( tap->idcode ), + EXTRACT_VER( tap->idcode ) ); + for (ii = 0; ii < tap->expected_ids_cnt; ii++) { + LOG_ERROR("JTAG tap: %s expected %hhu of %hhu: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", tap->dotted_name, - idcode, - EXTRACT_MFG( tap->idcode ), - EXTRACT_PART( tap->idcode ), - EXTRACT_VER( tap->idcode ) ); - for (ii = 0; ii < tap->expected_ids_cnt; ii++) { - LOG_ERROR("JTAG tap: %s expected %hhu of %hhu: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", - tap->dotted_name, - ii + 1, - tap->expected_ids_cnt, - tap->expected_ids[ii], - EXTRACT_MFG( tap->expected_ids[ii] ), - EXTRACT_PART( tap->expected_ids[ii] ), - EXTRACT_VER( tap->expected_ids[ii] ) ); - } - - return ERROR_JTAG_INIT_FAILED; - } else { - LOG_INFO("JTAG Tap/device matched"); + ii + 1, + tap->expected_ids_cnt, + tap->expected_ids[ii], + EXTRACT_MFG( tap->expected_ids[ii] ), + EXTRACT_PART( tap->expected_ids[ii] ), + EXTRACT_VER( tap->expected_ids[ii] ) ); } + + return ERROR_JTAG_INIT_FAILED; } else { -#if 0 - LOG_INFO("JTAG TAP ID: 0x%08x - Unknown - please report (A) chipname and (B) idcode to the openocd project", - tap->idcode); -#endif + LOG_INFO("JTAG Tap/device matched"); } + tap = jtag_tap_next_enabled(tap); } |