diff options
-rw-r--r-- | src/target/arm720t.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/target/arm720t.c b/src/target/arm720t.c index 3cbb653..ec1b323 100644 --- a/src/target/arm720t.c +++ b/src/target/arm720t.c @@ -112,31 +112,24 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c fields[0].tap = jtag_info->tap; fields[0].num_bits = 1; fields[0].out_value = &instruction_buf; - fields[0].in_value = NULL; - - fields[0].in_handler = NULL; - fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; fields[1].out_value = out_buf; - fields[1].in_value = NULL; + fields[1].in_handler = NULL; if (in) { - fields[1].in_handler = arm_jtag_buf_to_u32_flip; /* deprecated! invoke this from user code! */ - fields[1].in_handler_priv = in; + u8 tmp[4]; + fields[1].in_value = tmp; + jtag_add_dr_scan_now(2, fields, TAP_INVALID); + *in=flip_u32(le_to_h_u32(tmp), 32); } else { - fields[1].in_handler = NULL; - + jtag_add_dr_scan(2, fields, TAP_INVALID); } - - - - jtag_add_dr_scan(2, fields, TAP_INVALID); if (clock) jtag_add_runtest(0, TAP_INVALID); |