diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/str9xpec.c | 90 | ||||
-rw-r--r-- | src/jtag/jtag.c | 12 | ||||
-rw-r--r-- | src/jtag/jtag.h | 4 | ||||
-rw-r--r-- | src/pld/virtex2.c | 21 | ||||
-rw-r--r-- | src/svf/svf.c | 12 | ||||
-rw-r--r-- | src/target/arm720t.c | 12 | ||||
-rw-r--r-- | src/target/arm7tdmi.c | 32 | ||||
-rw-r--r-- | src/target/arm920t.c | 72 | ||||
-rw-r--r-- | src/target/arm926ejs.c | 48 | ||||
-rw-r--r-- | src/target/arm966e.c | 36 | ||||
-rw-r--r-- | src/target/arm9tdmi.c | 68 | ||||
-rw-r--r-- | src/target/arm_adi_v5.c | 24 | ||||
-rw-r--r-- | src/target/arm_jtag.c | 6 | ||||
-rw-r--r-- | src/target/embeddedice.c | 72 | ||||
-rw-r--r-- | src/target/etb.c | 66 | ||||
-rw-r--r-- | src/target/etm.c | 36 | ||||
-rw-r--r-- | src/target/feroceon.c | 18 | ||||
-rw-r--r-- | src/target/mips_ejtag.c | 24 | ||||
-rw-r--r-- | src/target/xscale.c | 54 | ||||
-rw-r--r-- | src/xsvf/xsvf.c | 6 |
20 files changed, 354 insertions, 359 deletions
diff --git a/src/flash/str9xpec.c b/src/flash/str9xpec.c index c0c6dfff..c5e50bd8 100644 --- a/src/flash/str9xpec.c +++ b/src/flash/str9xpec.c @@ -127,10 +127,10 @@ int str9xpec_set_instr(jtag_tap_t *tap, u32 new_instr, tap_state_t end_state) buf_set_u32(field.out_value, 0, field.num_bits, new_instr); field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_ir_scan(1, &field, end_state); @@ -153,10 +153,10 @@ static u8 str9xpec_isc_status(jtag_tap_t *tap) field.out_value = NULL; field.in_value = &status; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); jtag_execute_queue(); @@ -245,10 +245,10 @@ static int str9xpec_read_config(struct flash_bank_s *bank) field.out_value = NULL; field.in_value = str9xpec_info->options; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); jtag_execute_queue(); @@ -397,10 +397,10 @@ static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last) field.out_value = buffer; field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); jtag_add_sleep(40000); @@ -411,10 +411,10 @@ static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last) field.out_value = NULL; field.in_value = buffer; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IRPAUSE); jtag_execute_queue(); @@ -513,10 +513,10 @@ static int str9xpec_erase_area(struct flash_bank_s *bank, int first, int last) field.out_value = buffer; field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); jtag_execute_queue(); @@ -579,10 +579,10 @@ static int str9xpec_lock_device(struct flash_bank_s *bank) field.out_value = NULL; field.in_value = &status; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, -1); jtag_execute_queue(); @@ -665,10 +665,10 @@ static int str9xpec_set_address(struct flash_bank_s *bank, u8 sector) field.out_value = §or; field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, -1); @@ -754,10 +754,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 field.out_value = (buffer + bytes_written); field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); @@ -772,10 +772,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 field.out_value = NULL; field.in_value = scanbuf; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, -1); jtag_execute_queue(); @@ -814,10 +814,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 field.out_value = last_dword; field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); @@ -832,10 +832,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 field.out_value = NULL; field.in_value = scanbuf; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, -1); jtag_execute_queue(); @@ -896,10 +896,10 @@ static int str9xpec_handle_part_id_command(struct command_context_s *cmd_ctx, ch field.out_value = NULL; field.in_value = buffer; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); jtag_execute_queue(); @@ -1021,10 +1021,10 @@ static int str9xpec_write_options(struct flash_bank_s *bank) field.out_value = str9xpec_info->options; field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_IDLE); @@ -1039,10 +1039,10 @@ static int str9xpec_write_options(struct flash_bank_s *bank) field.out_value = NULL; field.in_value = &status; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, -1); jtag_execute_queue(); diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index c665ba20..52882100 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -1486,10 +1486,10 @@ int jtag_examine_chain(void) field.out_value = idcode_buffer; field.in_value = idcode_buffer; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + for (i = 0; i < JTAG_MAX_CHAIN_SIZE; i++) { @@ -1664,10 +1664,10 @@ int jtag_validate_chain(void) field.out_value = ir_test; field.in_value = ir_test; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_plain_ir_scan(1, &field, TAP_RESET); jtag_execute_queue(); diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index 9bc3fe82..604692cd 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -275,8 +275,8 @@ typedef struct scan_field_s /* in_check_value/mask, in_handler_error_handler, in_handler_priv can be used by the in handler, otherwise they contain garbage */ u8* in_check_value; /* deprecated! only used from jtag_set_check_value. used to validate scan results */ u8* in_check_mask; /* deprecated! only used from jtag_set_check_value. check specified bits against check_value */ - in_handler_t in_handler; /* deprecated! DO NOT USE! process received buffer using this handler */ - void* in_handler_priv; /* additional information for the in_handler */ + in_handler_t in_handler; /* deprecated! SET TO NULL. DO NOT USE! process received buffer using this handler */ + void* in_handler_priv; /* deprecated! only used by obsolete in_handler implementations */ } scan_field_t; enum scan_type { diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c index cec4fe9d..f9043217 100644 --- a/src/pld/virtex2.c +++ b/src/pld/virtex2.c @@ -56,12 +56,12 @@ int virtex2_set_instr(jtag_tap_t *tap, u32 new_instr) field.num_bits = tap->ir_length; field.out_value = calloc(CEIL(field.num_bits, 8), 1); buf_set_u32(field.out_value, 0, field.num_bits, new_instr); - + field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_ir_scan(1, &field, TAP_IDLE); @@ -84,10 +84,7 @@ int virtex2_send_32(struct pld_device_s *pld_device, int num_words, u32 *words) scan_field.num_bits = num_words * 32; scan_field.out_value = values; scan_field.in_value = NULL; - scan_field.in_check_value = NULL; - scan_field.in_check_mask = NULL; scan_field.in_handler = NULL; - scan_field.in_handler_priv = NULL; for (i = 0; i < num_words; i++) buf_set_u32(values + 4 * i, 0, 32, flip_u32(*words++, 32)); @@ -117,8 +114,6 @@ int virtex2_receive_32(struct pld_device_s *pld_device, int num_words, u32 *word scan_field.num_bits = 32; scan_field.out_value = NULL; scan_field.in_value = NULL; - scan_field.in_check_value = NULL; - scan_field.in_check_mask = NULL; scan_field.in_handler = virtex2_jtag_buf_to_u32; /* deprecated! invoke this from user code! */ virtex2_set_instr(virtex2_info->tap, 0x4); /* CFG_OUT */ @@ -164,12 +159,12 @@ int virtex2_load(struct pld_device_s *pld_device, char *filename) scan_field_t field; field.tap = virtex2_info->tap; - + field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + if ((retval = xilinx_read_bit_file(&bit_file, filename)) != ERROR_OK) return retval; diff --git a/src/svf/svf.c b/src/svf/svf.c index 6c92c1e1..00e88361 100644 --- a/src/svf/svf.c +++ b/src/svf/svf.c @@ -977,10 +977,10 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str) field.out_value = &svf_tdi_buffer[svf_buffer_index]; field.in_value = &svf_tdi_buffer[svf_buffer_index]; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_plain_dr_scan(1, &field, svf_para.dr_end_state); svf_buffer_index += (i + 7) >> 3; @@ -1078,10 +1078,10 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str) field.out_value = &svf_tdi_buffer[svf_buffer_index]; field.in_value = &svf_tdi_buffer[svf_buffer_index]; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_plain_ir_scan(1, &field, svf_para.ir_end_state); svf_buffer_index += (i + 7) >> 3; diff --git a/src/target/arm720t.c b/src/target/arm720t.c index 60c4dec7..3cbb653f 100644 --- a/src/target/arm720t.c +++ b/src/target/arm720t.c @@ -114,10 +114,10 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c fields[0].out_value = &instruction_buf; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; @@ -131,10 +131,10 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c } else { fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + } - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + jtag_add_dr_scan(2, fields, TAP_INVALID); diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c index b0d9e85e..c9deb0ee 100644 --- a/src/target/arm7tdmi.c +++ b/src/target/arm7tdmi.c @@ -113,20 +113,20 @@ int arm7tdmi_examine_debug_reason(target_t *target) fields[0].out_value = NULL; fields[0].in_value = &breakpoint; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = arm7_9->jtag_info.tap; fields[1].num_bits = 32; fields[1].out_value = NULL; fields[1].in_value = databus; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK) { @@ -200,10 +200,10 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in) fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; @@ -212,8 +212,8 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in) fields[1].in_value = NULL; fields[1].in_handler = arm_jtag_buf_to_u32_flip; /* deprecated! invoke this from user code! */ fields[1].in_handler_priv = in; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + jtag_add_dr_scan(2, fields, TAP_INVALID); @@ -261,10 +261,10 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size, fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; @@ -284,8 +284,8 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size, break; } fields[1].in_handler_priv = in; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + jtag_add_dr_scan(2, fields, TAP_INVALID); diff --git a/src/target/arm920t.c b/src/target/arm920t.c index f07cee8d..455ee8c5 100644 --- a/src/target/arm920t.c +++ b/src/target/arm920t.c @@ -115,40 +115,40 @@ int arm920t_read_cp15_physical(target_t *target, int reg_addr, u32 *value) fields[0].out_value = &access_type_buf; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; fields[1].out_value = NULL; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 6; fields[2].out_value = ®_addr_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + fields[3].tap = jtag_info->tap; fields[3].num_bits = 1; fields[3].out_value = &nr_w_buf; fields[3].in_value = NULL; - fields[3].in_check_value = NULL; - fields[3].in_check_mask = NULL; + + fields[3].in_handler = NULL; - fields[3].in_handler_priv = NULL; + jtag_add_dr_scan(4, fields, TAP_INVALID); @@ -187,40 +187,40 @@ int arm920t_write_cp15_physical(target_t *target, int reg_addr, u32 value) fields[0].out_value = &access_type_buf; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; fields[1].out_value = value_buf; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 6; fields[2].out_value = ®_addr_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + fields[3].tap = jtag_info->tap; fields[3].num_bits = 1; fields[3].out_value = &nr_w_buf; fields[3].in_value = NULL; - fields[3].in_check_value = NULL; - fields[3].in_check_mask = NULL; + + fields[3].in_handler = NULL; - fields[3].in_handler_priv = NULL; + jtag_add_dr_scan(4, fields, TAP_INVALID); @@ -254,40 +254,40 @@ int arm920t_execute_cp15(target_t *target, u32 cp15_opcode, u32 arm_opcode) fields[0].out_value = &access_type_buf; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; fields[1].out_value = cp15_opcode_buf; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 6; fields[2].out_value = ®_addr_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + fields[3].tap = jtag_info->tap; fields[3].num_bits = 1; fields[3].out_value = &nr_w_buf; fields[3].in_value = NULL; - fields[3].in_check_value = NULL; - fields[3].in_check_mask = NULL; + + fields[3].in_handler = NULL; - fields[3].in_handler_priv = NULL; + jtag_add_dr_scan(4, fields, TAP_INVALID); diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c index fb0584b2..f26d2b9b 100644 --- a/src/target/arm926ejs.c +++ b/src/target/arm926ejs.c @@ -139,40 +139,40 @@ int arm926ejs_cp15_read(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u3 fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 1; fields[1].out_value = &access; fields[1].in_value = &access; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 14; fields[2].out_value = address_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + fields[3].tap = jtag_info->tap; fields[3].num_bits = 1; fields[3].out_value = &nr_w_buf; fields[3].in_value = NULL; - fields[3].in_check_value = NULL; - fields[3].in_check_mask = NULL; + + fields[3].in_handler = NULL; - fields[3].in_handler_priv = NULL; + jtag_add_dr_scan(4, fields, TAP_INVALID); @@ -229,40 +229,40 @@ int arm926ejs_cp15_write(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u fields[0].out_value = value_buf; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 1; fields[1].out_value = &access; fields[1].in_value = &access; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 14; fields[2].out_value = address_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + fields[3].tap = jtag_info->tap; fields[3].num_bits = 1; fields[3].out_value = &nr_w_buf; fields[3].in_value = NULL; - fields[3].in_check_value = NULL; - fields[3].in_check_mask = NULL; + + fields[3].in_handler = NULL; - fields[3].in_handler_priv = NULL; + jtag_add_dr_scan(4, fields, TAP_INVALID); /*TODO: add timeout*/ diff --git a/src/target/arm966e.c b/src/target/arm966e.c index 31211031..926aef68 100644 --- a/src/target/arm966e.c +++ b/src/target/arm966e.c @@ -189,30 +189,30 @@ int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value) fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 6; fields[1].out_value = ®_addr_buf; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 1; fields[2].out_value = &nr_w_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -257,30 +257,30 @@ int arm966e_write_cp15(target_t *target, int reg_addr, u32 value) fields[0].out_value = value_buf; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 6; fields[1].out_value = ®_addr_buf; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 1; fields[2].out_value = &nr_w_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index 7e30bc08..e8e1991c 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -130,30 +130,30 @@ int arm9tdmi_examine_debug_reason(target_t *target) fields[0].out_value = NULL; fields[0].in_value = databus; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = arm7_9->jtag_info.tap; fields[1].num_bits = 3; fields[1].out_value = NULL; fields[1].in_value = &debug_reason; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = arm7_9->jtag_info.tap; fields[2].num_bits = 32; fields[2].out_value = NULL; fields[2].in_value = instructionbus; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK) { @@ -226,30 +226,30 @@ int arm9tdmi_clock_out(arm_jtag_t *jtag_info, u32 instr, u32 out, u32 *in, int s else { fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + } - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[1].tap = jtag_info->tap; fields[1].num_bits = 3; fields[1].out_value = &sysspeed_buf; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 32; fields[2].out_value = instr_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -295,8 +295,8 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in) fields[0].in_value = NULL; fields[0].in_handler = arm_jtag_buf_to_u32; /* deprecated! invoke this from user code! */ fields[0].in_handler_priv = in; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[1].tap = jtag_info->tap; fields[1].num_bits = 3; @@ -304,19 +304,19 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = jtag_info->tap; fields[2].num_bits = 32; fields[2].out_value = NULL; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -378,8 +378,8 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size, break; } fields[0].in_handler_priv = in; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[1].tap = jtag_info->tap; fields[1].num_bits = 3; @@ -387,19 +387,19 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size, fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = jtag_info->tap; fields[2].num_bits = 32; fields[2].out_value = NULL; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c index db6b60d8..e9056993 100644 --- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -78,10 +78,10 @@ int adi_jtag_dp_scan(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u8 *o fields[0].out_value = &out_addr_buf; fields[0].in_value = ack; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; @@ -89,9 +89,9 @@ int adi_jtag_dp_scan(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u8 *o fields[1].in_value = invalue; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + jtag_add_dr_scan(2, fields, TAP_INVALID); @@ -114,10 +114,10 @@ int adi_jtag_dp_scan_u32(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u fields[0].out_value = &out_addr_buf; fields[0].in_value = ack; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 32; @@ -133,10 +133,10 @@ int adi_jtag_dp_scan_u32(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u else { fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + } - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + jtag_add_dr_scan(2, fields, TAP_INVALID); diff --git a/src/target/arm_jtag.c b/src/target/arm_jtag.c index c1dcd6fa..9911f446 100644 --- a/src/target/arm_jtag.c +++ b/src/target/arm_jtag.c @@ -54,10 +54,10 @@ int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, in_handler_t handl buf_set_u32(field.out_value, 0, field.num_bits, new_instr); field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = handler; - field.in_handler_priv = NULL; + jtag_add_ir_scan(1, &field, TAP_INVALID); } diff --git a/src/target/embeddedice.c b/src/target/embeddedice.c index c59a2ede..cfe4ed7c 100644 --- a/src/target/embeddedice.c +++ b/src/target/embeddedice.c @@ -253,10 +253,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) fields[0].out_value = reg->value; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = ice_reg->jtag_info->tap; fields[1].num_bits = 5; @@ -264,10 +264,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) buf_set_u32(fields[1].out_value, 0, 5, reg_addr); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = ice_reg->jtag_info->tap; fields[2].num_bits = 1; @@ -275,10 +275,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) buf_set_u32(fields[2].out_value, 0, 1, 0); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -315,10 +315,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size) fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 5; @@ -326,10 +326,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size) buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_DATA]); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 1; @@ -337,10 +337,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size) buf_set_u32(fields[2].out_value, 0, 1, 0); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -432,10 +432,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size) fields[0].out_value = field0_out; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 5; @@ -443,10 +443,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size) buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_DATA]); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 1; @@ -454,10 +454,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size) buf_set_u32(fields[2].out_value, 0, 1, 1); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + while (size > 0) { @@ -501,10 +501,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout) fields[0].out_value = NULL; fields[0].in_value = field0_in; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = jtag_info->tap; fields[1].num_bits = 5; @@ -512,10 +512,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout) buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_CTRL]); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 1; @@ -523,10 +523,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout) buf_set_u32(fields[2].out_value, 0, 1, 0); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); gettimeofday(&lap, NULL); diff --git a/src/target/etb.c b/src/target/etb.c index deecf141..f533bb6e 100644 --- a/src/target/etb.c +++ b/src/target/etb.c @@ -72,10 +72,10 @@ static int etb_set_instr(etb_t *etb, u32 new_instr) buf_set_u32(field.out_value, 0, field.num_bits, new_instr); field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_ir_scan(1, &field, TAP_INVALID); @@ -97,10 +97,10 @@ static int etb_scann(etb_t *etb, u32 new_scan_chain) buf_set_u32(field.out_value, 0, field.num_bits, new_scan_chain); field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + /* select INTEST instruction */ etb_set_instr(etb, 0x2); @@ -188,10 +188,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames) fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = etb->tap; fields[1].num_bits = 7; @@ -199,10 +199,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames) buf_set_u32(fields[1].out_value, 0, 7, 4); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = etb->tap; fields[2].num_bits = 1; @@ -210,10 +210,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames) buf_set_u32(fields[2].out_value, 0, 1, 0); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -259,10 +259,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) fields[0].out_value = reg->value; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = etb_reg->etb->tap; fields[1].num_bits = 7; @@ -270,10 +270,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) buf_set_u32(fields[1].out_value, 0, 7, reg_addr); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = etb_reg->etb->tap; fields[2].num_bits = 1; @@ -281,10 +281,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) buf_set_u32(fields[2].out_value, 0, 1, 0); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -356,10 +356,10 @@ int etb_write_reg(reg_t *reg, u32 value) buf_set_u32(fields[0].out_value, 0, 32, value); fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = etb_reg->etb->tap; fields[1].num_bits = 7; @@ -367,10 +367,10 @@ int etb_write_reg(reg_t *reg, u32 value) buf_set_u32(fields[1].out_value, 0, 7, reg_addr); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = etb_reg->etb->tap; fields[2].num_bits = 1; @@ -378,10 +378,10 @@ int etb_write_reg(reg_t *reg, u32 value) buf_set_u32(fields[2].out_value, 0, 1, 1); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); diff --git a/src/target/etm.c b/src/target/etm.c index ab368781..4acc041f 100644 --- a/src/target/etm.c +++ b/src/target/etm.c @@ -341,10 +341,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) fields[0].out_value = reg->value; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = etm_reg->jtag_info->tap; fields[1].num_bits = 7; @@ -352,10 +352,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) buf_set_u32(fields[1].out_value, 0, 7, reg_addr); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = etm_reg->jtag_info->tap; fields[2].num_bits = 1; @@ -363,10 +363,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask) buf_set_u32(fields[2].out_value, 0, 1, 0); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); @@ -433,10 +433,10 @@ int etm_write_reg(reg_t *reg, u32 value) buf_set_u32(fields[0].out_value, 0, 32, value); fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = etm_reg->jtag_info->tap; fields[1].num_bits = 7; @@ -444,10 +444,10 @@ int etm_write_reg(reg_t *reg, u32 value) buf_set_u32(fields[1].out_value, 0, 7, reg_addr); fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = etm_reg->jtag_info->tap; fields[2].num_bits = 1; @@ -455,10 +455,10 @@ int etm_write_reg(reg_t *reg, u32 value) buf_set_u32(fields[2].out_value, 0, 1, 1); fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); diff --git a/src/target/feroceon.c b/src/target/feroceon.c index 507bd695..abc44f5e 100644 --- a/src/target/feroceon.c +++ b/src/target/feroceon.c @@ -138,29 +138,29 @@ int feroceon_dummy_clock_out(arm_jtag_t *jtag_info, u32 instr) fields[0].in_value = NULL; fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + + fields[1].tap = jtag_info->tap; fields[1].num_bits = 3; fields[1].out_value = &sysspeed_buf; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + fields[2].tap = jtag_info->tap; fields[2].num_bits = 32; fields[2].out_value = instr_buf; fields[2].in_value = NULL; - fields[2].in_check_value = NULL; - fields[2].in_check_mask = NULL; + + fields[2].in_handler = NULL; - fields[2].in_handler_priv = NULL; + jtag_add_dr_scan(3, fields, TAP_INVALID); diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c index 5cd82abf..424105ee 100644 --- a/src/target/mips_ejtag.c +++ b/src/target/mips_ejtag.c @@ -51,10 +51,10 @@ int mips_ejtag_set_instr(mips_ejtag_t *ejtag_info, int new_instr, void *delete_m buf_set_u32(field.out_value, 0, field.num_bits, new_instr); field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_ir_scan(1, &field, TAP_INVALID); } @@ -74,10 +74,10 @@ int mips_ejtag_get_idcode(mips_ejtag_t *ejtag_info, u32 *idcode, in_handler_t ha field.out_value = NULL; field.in_value = (void*)idcode; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_INVALID); if (jtag_execute_queue() != ERROR_OK) @@ -101,10 +101,10 @@ int mips_ejtag_get_impcode(mips_ejtag_t *ejtag_info, u32 *impcode, in_handler_t field.out_value = NULL; field.in_value = (void*)impcode; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_INVALID); if (jtag_execute_queue() != ERROR_OK) @@ -132,10 +132,10 @@ int mips_ejtag_drscan_32(mips_ejtag_t *ejtag_info, u32 *data) buf_set_u32(field.out_value, 0, field.num_bits, *data); field.in_value = (u8*)data; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + jtag_add_dr_scan(1, &field, TAP_INVALID); if ((retval = jtag_execute_queue()) != ERROR_OK) diff --git a/src/target/xscale.c b/src/target/xscale.c index 3ec84373..1b44b9d9 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -271,9 +271,9 @@ int xscale_read_dcsr(target_t *target) fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -349,9 +349,9 @@ int xscale_receive(target_t *target, u32 *buffer, int num_words) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -468,9 +468,9 @@ int xscale_read_tx(target_t *target, int consume) fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_TX].value; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -564,9 +564,9 @@ int xscale_write_rx(target_t *target) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -739,9 +739,9 @@ int xscale_write_dcsr(target_t *target, int hold_rst, int ext_dbg_brk) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -807,20 +807,20 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8]) fields[0].out_value = &cmd; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = xscale->jtag_info.tap; fields[1].num_bits = 27; fields[1].out_value = packet; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + jtag_add_dr_scan(2, fields, TAP_INVALID); @@ -865,20 +865,20 @@ int xscale_invalidate_ic_line(target_t *target, u32 va) fields[0].out_value = &cmd; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = xscale->jtag_info.tap; fields[1].num_bits = 27; fields[1].out_value = packet; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + jtag_add_dr_scan(2, fields, TAP_INVALID); diff --git a/src/xsvf/xsvf.c b/src/xsvf/xsvf.c index 1baa1263..0e19b65c 100644 --- a/src/xsvf/xsvf.c +++ b/src/xsvf/xsvf.c @@ -707,10 +707,10 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha field.out_value = ir_buf; field.in_value = NULL; - field.in_check_value = NULL; - field.in_check_mask = NULL; + + field.in_handler = NULL; - field.in_handler_priv = NULL; + if (tap == NULL) jtag_add_plain_ir_scan(1, &field, my_end_state); |