aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Savin <43152568+SiFiveGregS@users.noreply.github.com>2019-03-28 16:39:46 -0700
committerGreg Savin <43152568+SiFiveGregS@users.noreply.github.com>2019-03-28 16:39:46 -0700
commitaf1d18f46f88fce4e5c76e964c3183e8004957d6 (patch)
treec9d3127bab7753bc26c434fe2fefd84b6a3a2e86
parentfc35fd25feab207ed50c8468a408ea17a93cf33a (diff)
downloadriscv-openocd-af1d18f46f88fce4e5c76e964c3183e8004957d6.zip
riscv-openocd-af1d18f46f88fce4e5c76e964c3183e8004957d6.tar.gz
riscv-openocd-af1d18f46f88fce4e5c76e964c3183e8004957d6.tar.bz2
Fixed issue with IR width being handled incorrectly in BSCAN tunneled
scans.
-rw-r--r--src/jtag/drivers/ftdi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c
index 3d87293..39207c3 100644
--- a/src/jtag/drivers/ftdi.c
+++ b/src/jtag/drivers/ftdi.c
@@ -577,6 +577,12 @@ static void ftdi_execute_scan_via_bscan(struct jtag_command *cmd)
unsigned scan_size = 0;
struct scan_field *field;
int i;
+
+ if (cmd->cmd.scan->ir_scan && cmd->cmd.scan->num_fields == 1) {
+ cmd->cmd.scan->fields[0].num_bits = 5; /* need to override. This is a tunneled IR scan, not a scan of the BSCAN TAP's IR,
+ so the width is actually 5, by definition */
+ }
+
for (i = 0, field = cmd->cmd.scan->fields; i < cmd->cmd.scan->num_fields; i++, field++) {
scan_size += field->num_bits;