diff options
author | Greg Savin <43152568+SiFiveGregS@users.noreply.github.com> | 2019-03-28 16:39:46 -0700 |
---|---|---|
committer | Greg Savin <43152568+SiFiveGregS@users.noreply.github.com> | 2019-03-28 16:39:46 -0700 |
commit | af1d18f46f88fce4e5c76e964c3183e8004957d6 (patch) | |
tree | c9d3127bab7753bc26c434fe2fefd84b6a3a2e86 | |
parent | fc35fd25feab207ed50c8468a408ea17a93cf33a (diff) | |
download | riscv-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.c | 6 |
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; |