summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/openocd.texi14
-rw-r--r--src/jtag/tcl.c16
2 files changed, 15 insertions, 15 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 9d565231..cda5be38 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -2592,13 +2592,15 @@ debugging targets.)
Here's what the scan chain might look like for a chip more than one TAP:
@verbatim
- TapName Enabled IdCode Expected IrLen IrCap IrMask Instr
--- ------------------ ------- ---------- ---------- ----- ----- ------ -----
- 0 omap5912.dsp Y 0x03df1d81 0x03df1d81 38 0 0 0x...
- 1 omap5912.arm Y 0x0692602f 0x0692602f 4 0x1 0 0xc
- 2 omap5912.unknown Y 0x00000000 0x00000000 8 0 0 0xff
+ TapName Enabled IdCode Expected IrLen IrCap IrMask
+-- ------------------ ------- ---------- ---------- ----- ----- ------
+ 0 omap5912.dsp Y 0x03df1d81 0x03df1d81 38 0x01 0x03
+ 1 omap5912.arm Y 0x0692602f 0x0692602f 4 0x01 0x0f
+ 2 omap5912.unknown Y 0x00000000 0x00000000 8 0x01 0x03
@end verbatim
+OpenOCD can detect some of that information, but not all
+of it. @xref{Autoprobing}.
Unfortunately those TAPs can't always be autoconfigured,
because not all devices provide good support for that.
JTAG doesn't require supporting IDCODE instructions, and
@@ -2659,8 +2661,6 @@ The set of TAPs listed by this command is fixed by
exiting the OpenOCD configuration stage,
but systems with a JTAG router can
enable or disable TAPs dynamically.
-In addition to the enable/disable status, the contents of
-each TAP's instruction register can also change.
@end deffn
@c FIXME! "jtag cget" should be able to return all TAP
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index f4815c8e..00b1038e 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -1021,11 +1021,13 @@ COMMAND_HANDLER(handle_scan_chain_command)
char expected_id[12];
tap = jtag_all_taps();
- command_print(CMD_CTX, " TapName | Enabled | IdCode Expected IrLen IrCap IrMask Instr ");
- command_print(CMD_CTX, "---|--------------------|---------|------------|------------|------|------|------|---------");
+ command_print(CMD_CTX,
+" TapName Enabled IdCode Expected IrLen IrCap IrMask");
+ command_print(CMD_CTX,
+"-- ------------------- -------- ---------- ---------- ----- ----- ------");
while (tap) {
- uint32_t expected, expected_mask, cur_instr, ii;
+ uint32_t expected, expected_mask, ii;
snprintf(expected_id, sizeof expected_id, "0x%08x",
(unsigned)((tap->expected_ids_cnt > 0)
@@ -1036,10 +1038,9 @@ COMMAND_HANDLER(handle_scan_chain_command)
expected = buf_get_u32(tap->expected, 0, tap->ir_length);
expected_mask = buf_get_u32(tap->expected_mask, 0, tap->ir_length);
- cur_instr = buf_get_u32(tap->cur_instr, 0, tap->ir_length);
command_print(CMD_CTX,
- "%2d | %-18s | %c | 0x%08x | %s | 0x%02x | 0x%02x | 0x%02x | 0x%02x",
+ "%2d %-18s %c 0x%08x %s %5d 0x%02x 0x%02x",
tap->abs_chain_position,
tap->dotted_name,
tap->enabled ? 'Y' : 'n',
@@ -1047,8 +1048,7 @@ COMMAND_HANDLER(handle_scan_chain_command)
expected_id,
(unsigned int)(tap->ir_length),
(unsigned int)(expected),
- (unsigned int)(expected_mask),
- (unsigned int)(cur_instr));
+ (unsigned int)(expected_mask));
for (ii = 1; ii < tap->expected_ids_cnt; ii++) {
snprintf(expected_id, sizeof expected_id, "0x%08x",
@@ -1057,7 +1057,7 @@ COMMAND_HANDLER(handle_scan_chain_command)
expected_id[2] = '*';
command_print(CMD_CTX,
- " | | | | %s | | | | ",
+ " %s",
expected_id);
}