diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-03-01 15:39:41 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-03-01 15:41:49 +0100 |
commit | b1c00e5a4e038068dce4512c5a2eb3735990b880 (patch) | |
tree | 636822117e7566d6c258cda3f9eba8bdb9f83921 /src | |
parent | 27401e4c80b137f599954ac521387b247002770c (diff) | |
download | openocd+libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.tar.gz openocd+libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.tar.bz2 openocd+libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.tar.xz openocd+libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.zip |
zy1000: faster jtag_add_ir_scan()
Faster and simpler.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/zy1000/zy1000.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c index 6465aaa7..c5bc0ffd 100644 --- a/src/jtag/zy1000/zy1000.c +++ b/src/jtag/zy1000/zy1000.c @@ -608,15 +608,9 @@ int interface_jtag_add_ir_scan(int num_fields, const struct scan_field *fields, if (!found) { /* if a device isn't listed, set it to BYPASS */ - uint8_t ones[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; - - struct scan_field tmp; - memset(&tmp, 0, sizeof(tmp)); - tmp.out_value = ones; - tmp.num_bits = scan_size; - scanFields(1, &tmp, TAP_IRSHIFT, pause); - /* update device information */ - buf_cpy(tmp.out_value, tap->cur_instr, scan_size); + assert(scan_size <= 32); + shiftValueInner(TAP_IRSHIFT, pause?TAP_IRPAUSE:TAP_IRSHIFT, scan_size, 0xffffffff); + tap->bypass = 1; } } |