summaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-05-08 08:46:28 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-05-08 08:46:28 +0000
commit4f19ef3cce5fe96114a6e444598d5b6571694e76 (patch)
tree2eddd24804adcaa6a24d2bfa78892ef8d4b6d380 /src/target
parentbf4da345ecb678a8f608a3380bf367d1e15b92c2 (diff)
downloadopenocd+libswd-4f19ef3cce5fe96114a6e444598d5b6571694e76.tar.gz
openocd+libswd-4f19ef3cce5fe96114a6e444598d5b6571694e76.tar.bz2
openocd+libswd-4f19ef3cce5fe96114a6e444598d5b6571694e76.tar.xz
openocd+libswd-4f19ef3cce5fe96114a6e444598d5b6571694e76.zip
pull up verify_capture_ir one level in api stack
git-svn-id: svn://svn.berlios.de/openocd/trunk@1669 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target')
-rw-r--r--src/target/arm_jtag.c17
-rw-r--r--src/target/arm_jtag.h6
2 files changed, 15 insertions, 8 deletions
diff --git a/src/target/arm_jtag.c b/src/target/arm_jtag.c
index 951967e8..1732aac7 100644
--- a/src/target/arm_jtag.c
+++ b/src/target/arm_jtag.c
@@ -36,7 +36,7 @@
#define _ARM_JTAG_SCAN_N_CHECK_
#endif
-int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, in_handler_t handler)
+int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, void *no_verify_capture)
{
jtag_tap_t *tap;
tap = jtag_info->tap;
@@ -52,13 +52,20 @@ int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, in_handler_t handl
field.num_bits = tap->ir_length;
field.out_value = t;
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
-
field.in_value = NULL;
+ field.in_handler = NULL;
- field.in_handler = handler; /* deprecated! move into calling code */
-
- jtag_add_ir_scan(1, &field, TAP_INVALID);
+ if (no_verify_capture==NULL)
+ {
+ jtag_add_ir_scan(1, &field, TAP_INVALID);
+ } else
+ {
+ /* FIX!!!! this is a kludge!!! arm926ejs.c should reimplement this arm_jtag_set_instr to
+ * have special verification code.
+ */
+ jtag_add_ir_scan_noverify(1, &field, TAP_INVALID);
+ }
}
return ERROR_OK;
diff --git a/src/target/arm_jtag.h b/src/target/arm_jtag.h
index da004fce..fff3e79e 100644
--- a/src/target/arm_jtag.h
+++ b/src/target/arm_jtag.h
@@ -29,15 +29,15 @@
typedef struct arm_jtag_s
{
jtag_tap_t *tap;
-
+
u32 scann_size;
u32 scann_instr;
u32 cur_scan_chain;
-
+
u32 intest_instr;
} arm_jtag_t;
-extern int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, in_handler_t handler);
+extern int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, void *verify_capture);
extern int arm_jtag_scann(arm_jtag_t *jtag_info, u32 new_scan_chain);
extern int arm_jtag_setup_connection(arm_jtag_t *jtag_info);