jtag_get/set_end_state() is now deprecated. There were lots of places in the code where the end state was unintentionally modified. The big Q is whether there were any places where the intention was to modify the end state. 0.5 is a long way off, so we'll get a fair amount of testing. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>tags/v0.5.0-rc1
@@ -69,7 +69,7 @@ static uint8_t str9xpec_isc_status(struct jtag_tap *tap) | |||||
field.in_value = &status; | field.in_value = &status; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
LOG_DEBUG("status: 0x%2.2x", status); | LOG_DEBUG("status: 0x%2.2x", status); | ||||
@@ -156,7 +156,7 @@ static int str9xpec_read_config(struct flash_bank *bank) | |||||
field.in_value = str9xpec_info->options; | field.in_value = str9xpec_info->options; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
status = str9xpec_isc_status(tap); | status = str9xpec_isc_status(tap); | ||||
@@ -302,7 +302,7 @@ static int str9xpec_blank_check(struct flash_bank *bank, int first, int last) | |||||
field.out_value = buffer; | field.out_value = buffer; | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
jtag_add_sleep(40000); | jtag_add_sleep(40000); | ||||
/* read blank check result */ | /* read blank check result */ | ||||
@@ -406,7 +406,7 @@ static int str9xpec_erase_area(struct flash_bank *bank, int first, int last) | |||||
field.out_value = buffer; | field.out_value = buffer; | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
jtag_add_sleep(10); | jtag_add_sleep(10); | ||||
@@ -466,7 +466,7 @@ static int str9xpec_lock_device(struct flash_bank *bank) | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = &status; | field.in_value = &status; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
} while (!(status & ISC_STATUS_BUSY)); | } while (!(status & ISC_STATUS_BUSY)); | ||||
@@ -546,7 +546,7 @@ static int str9xpec_set_address(struct flash_bank *bank, uint8_t sector) | |||||
field.out_value = §or; | field.out_value = §or; | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IRPAUSE); | |||||
return ERROR_OK; | return ERROR_OK; | ||||
} | } | ||||
@@ -631,7 +631,7 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer, | |||||
field.out_value = (buffer + bytes_written); | field.out_value = (buffer + bytes_written); | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
/* small delay before polling */ | /* small delay before polling */ | ||||
jtag_add_sleep(50); | jtag_add_sleep(50); | ||||
@@ -643,7 +643,7 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer, | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = scanbuf; | field.in_value = scanbuf; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IRPAUSE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
status = buf_get_u32(scanbuf, 0, 8); | status = buf_get_u32(scanbuf, 0, 8); | ||||
@@ -679,7 +679,7 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer, | |||||
field.out_value = last_dword; | field.out_value = last_dword; | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
/* small delay before polling */ | /* small delay before polling */ | ||||
jtag_add_sleep(50); | jtag_add_sleep(50); | ||||
@@ -691,7 +691,7 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer, | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = scanbuf; | field.in_value = scanbuf; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IRPAUSE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
status = buf_get_u32(scanbuf, 0, 8); | status = buf_get_u32(scanbuf, 0, 8); | ||||
@@ -744,7 +744,7 @@ COMMAND_HANDLER(str9xpec_handle_part_id_command) | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = buffer; | field.in_value = buffer; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
idcode = buf_get_u32(buffer, 0, 32); | idcode = buf_get_u32(buffer, 0, 32); | ||||
@@ -860,7 +860,7 @@ static int str9xpec_write_options(struct flash_bank *bank) | |||||
field.out_value = str9xpec_info->options; | field.out_value = str9xpec_info->options; | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); | |||||
/* small delay before polling */ | /* small delay before polling */ | ||||
jtag_add_sleep(50); | jtag_add_sleep(50); | ||||
@@ -872,7 +872,7 @@ static int str9xpec_write_options(struct flash_bank *bank) | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = &status; | field.in_value = &status; | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_IRPAUSE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
} while (!(status & ISC_STATUS_BUSY)); | } while (!(status & ISC_STATUS_BUSY)); | ||||
@@ -743,7 +743,8 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst) | |||||
} | } | ||||
} | } | ||||
tap_state_t jtag_set_end_state(tap_state_t state) | |||||
/* DEPRECATED! store such global state outside JTAG layer */ | |||||
void jtag_set_end_state(tap_state_t state) | |||||
{ | { | ||||
if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT)) | if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT)) | ||||
{ | { | ||||
@@ -752,9 +753,9 @@ tap_state_t jtag_set_end_state(tap_state_t state) | |||||
if (state != TAP_INVALID) | if (state != TAP_INVALID) | ||||
cmd_queue_end_state = state; | cmd_queue_end_state = state; | ||||
return cmd_queue_end_state; | |||||
} | } | ||||
/* DEPRECATED! store such global state outside JTAG layer */ | |||||
tap_state_t jtag_get_end_state(void) | tap_state_t jtag_get_end_state(void) | ||||
{ | { | ||||
return cmd_queue_end_state; | return cmd_queue_end_state; | ||||
@@ -552,15 +552,18 @@ void jtag_add_reset(int req_tlr_or_trst, int srst); | |||||
/** | /** | ||||
* DEPRECATED! store such global state outside JTAG layer | |||||
* | |||||
* Function jtag_set_end_state | * Function jtag_set_end_state | ||||
* | * | ||||
* Set a global variable to \a state if \a state != TAP_INVALID. | * Set a global variable to \a state if \a state != TAP_INVALID. | ||||
* | * | ||||
* Return the value of the global variable. | |||||
*/ | */ | ||||
tap_state_t jtag_set_end_state(tap_state_t state); | |||||
void jtag_set_end_state(tap_state_t state); | |||||
/** | /** | ||||
* DEPRECATED! store such global state outside JTAG layer | |||||
* | |||||
* Function jtag_get_end_state | * Function jtag_get_end_state | ||||
* | * | ||||
* Return the value of the global variable for end state | * Return the value of the global variable for end state | ||||
@@ -40,7 +40,7 @@ static int virtex2_set_instr(struct jtag_tap *tap, uint32_t new_instr) | |||||
buf_set_u32(field.out_value, 0, field.num_bits, new_instr); | buf_set_u32(field.out_value, 0, field.num_bits, new_instr); | ||||
field.in_value = NULL; | field.in_value = NULL; | ||||
jtag_add_ir_scan(tap, &field, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_ir_scan(tap, &field, TAP_IDLE); | |||||
free(field.out_value); | free(field.out_value); | ||||
} | } | ||||
@@ -67,7 +67,7 @@ static int virtex2_send_32(struct pld_device *pld_device, | |||||
virtex2_set_instr(virtex2_info->tap, 0x5); /* CFG_IN */ | virtex2_set_instr(virtex2_info->tap, 0x5); /* CFG_IN */ | ||||
jtag_add_dr_scan(virtex2_info->tap, 1, &scan_field, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(virtex2_info->tap, 1, &scan_field, TAP_DRPAUSE); | |||||
free(values); | free(values); | ||||
@@ -96,7 +96,7 @@ static int virtex2_receive_32(struct pld_device *pld_device, | |||||
{ | { | ||||
scan_field.in_value = (uint8_t *)words; | scan_field.in_value = (uint8_t *)words; | ||||
jtag_add_dr_scan(virtex2_info->tap, 1, &scan_field, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(virtex2_info->tap, 1, &scan_field, TAP_DRPAUSE); | |||||
jtag_add_callback(virtexflip32, (jtag_callback_data_t)words); | jtag_add_callback(virtexflip32, (jtag_callback_data_t)words); | ||||
@@ -155,18 +155,18 @@ static int virtex2_load(struct pld_device *pld_device, const char *filename) | |||||
field.num_bits = bit_file.length * 8; | field.num_bits = bit_file.length * 8; | ||||
field.out_value = bit_file.data; | field.out_value = bit_file.data; | ||||
jtag_add_dr_scan(virtex2_info->tap, 1, &field, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(virtex2_info->tap, 1, &field, TAP_DRPAUSE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
jtag_add_tlr(); | jtag_add_tlr(); | ||||
jtag_set_end_state(TAP_IDLE); | jtag_set_end_state(TAP_IDLE); | ||||
virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */ | virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */ | ||||
jtag_add_runtest(13, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_runtest(13, TAP_IDLE); | |||||
virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ | virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ | ||||
virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ | virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ | ||||
virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */ | virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */ | ||||
jtag_add_runtest(13, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_runtest(13, TAP_IDLE); | |||||
virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ | virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ | ||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
@@ -107,7 +107,7 @@ int adi_jtag_dp_scan(struct adiv5_dap *swjdp, | |||||
fields[1].out_value = outvalue; | fields[1].out_value = outvalue; | ||||
fields[1].in_value = invalue; | fields[1].in_value = invalue; | ||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, TAP_IDLE); | |||||
/* Add specified number of tck clocks after starting memory bus | /* Add specified number of tck clocks after starting memory bus | ||||
* access, giving the hardware time to complete the access. | * access, giving the hardware time to complete the access. | ||||
@@ -119,7 +119,7 @@ int adi_jtag_dp_scan(struct adiv5_dap *swjdp, | |||||
|| ((reg_addr & 0xF0) == AP_REG_BD0)) | || ((reg_addr & 0xF0) == AP_REG_BD0)) | ||||
&& (swjdp->memaccess_tck != 0)) | && (swjdp->memaccess_tck != 0)) | ||||
jtag_add_runtest(swjdp->memaccess_tck, | jtag_add_runtest(swjdp->memaccess_tck, | ||||
jtag_set_end_state(TAP_IDLE)); | |||||
TAP_IDLE); | |||||
return jtag_get_error(); | return jtag_get_error(); | ||||
} | } | ||||
@@ -341,7 +341,7 @@ static int jtag_idcode_q_read(struct adiv5_dap *dap, | |||||
fields[0].out_value = NULL; | fields[0].out_value = NULL; | ||||
fields[0].in_value = (void *) data; | fields[0].in_value = (void *) data; | ||||
jtag_add_dr_scan(jtag_info->tap, 1, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 1, fields, TAP_IDLE); | |||||
retval = jtag_get_error(); | retval = jtag_get_error(); | ||||
if (retval != ERROR_OK) | if (retval != ERROR_OK) | ||||
return retval; | return retval; | ||||
@@ -482,7 +482,7 @@ int arm11_run_instr_data_to_core(struct arm11_common * arm11, uint32_t opcode, u | |||||
{ | { | ||||
Data = *data; | Data = *data; | ||||
arm11_add_dr_scan_vc(arm11->arm.target->tap, ARRAY_SIZE(chain5_fields), chain5_fields, jtag_set_end_state(TAP_IDLE)); | |||||
arm11_add_dr_scan_vc(arm11->arm.target->tap, ARRAY_SIZE(chain5_fields), chain5_fields, TAP_IDLE); | |||||
CHECK_RETVAL(jtag_execute_queue()); | CHECK_RETVAL(jtag_execute_queue()); | ||||
@@ -75,15 +75,15 @@ static int arm720t_scan_cp15(struct target *target, | |||||
if (in) | if (in) | ||||
{ | { | ||||
fields[1].in_value = (uint8_t *)in; | fields[1].in_value = (uint8_t *)in; | ||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, TAP_DRPAUSE); | |||||
jtag_add_callback(arm7flip32, (jtag_callback_data_t)in); | jtag_add_callback(arm7flip32, (jtag_callback_data_t)in); | ||||
} else | } else | ||||
{ | { | ||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, TAP_DRPAUSE); | |||||
} | } | ||||
if (clock) | if (clock) | ||||
jtag_add_runtest(0, jtag_get_end_state()); | |||||
jtag_add_runtest(0, TAP_DRPAUSE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
@@ -1750,7 +1750,7 @@ int arm7_9_restart_core(struct target *target) | |||||
} | } | ||||
arm_jtag_set_instr(jtag_info, 0x4, NULL); | arm_jtag_set_instr(jtag_info, 0x4, NULL); | ||||
jtag_add_runtest(1, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_runtest(1, TAP_IDLE); | |||||
return jtag_execute_queue(); | return jtag_execute_queue(); | ||||
} | } | ||||
@@ -72,7 +72,7 @@ static int arm7tdmi_examine_debug_reason(struct target *target) | |||||
} | } | ||||
arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL); | arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL); | ||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 2, fields, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 2, fields, TAP_DRPAUSE); | |||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
{ | { | ||||
return retval; | return retval; | ||||
@@ -83,7 +83,7 @@ static int arm7tdmi_examine_debug_reason(struct target *target) | |||||
fields[1].in_value = NULL; | fields[1].in_value = NULL; | ||||
fields[1].out_value = databus; | fields[1].out_value = databus; | ||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 2, fields, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 2, fields, TAP_DRPAUSE); | |||||
if (breakpoint & 1) | if (breakpoint & 1) | ||||
target->debug_reason = DBG_REASON_WATCHPOINT; | target->debug_reason = DBG_REASON_WATCHPOINT; | ||||
@@ -147,11 +147,11 @@ static int arm7tdmi_clock_data_in(struct arm_jtag *jtag_info, uint32_t *in) | |||||
fields[1].out_value = NULL; | fields[1].out_value = NULL; | ||||
fields[1].in_value = (uint8_t *)in; | fields[1].in_value = (uint8_t *)in; | ||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, TAP_DRPAUSE); | |||||
jtag_add_callback(arm7flip32, (jtag_callback_data_t)in); | jtag_add_callback(arm7flip32, (jtag_callback_data_t)in); | ||||
jtag_add_runtest(0, jtag_get_end_state()); | |||||
jtag_add_runtest(0, TAP_DRPAUSE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
@@ -232,11 +232,11 @@ static int arm7tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info, | |||||
fields[1].out_value = NULL; | fields[1].out_value = NULL; | ||||
jtag_alloc_in_value32(&fields[1]); | jtag_alloc_in_value32(&fields[1]); | ||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 2, fields, TAP_DRPAUSE); | |||||
jtag_add_callback4(arm7endianness, (jtag_callback_data_t)in, (jtag_callback_data_t)size, (jtag_callback_data_t)be, (jtag_callback_data_t)fields[1].in_value); | jtag_add_callback4(arm7endianness, (jtag_callback_data_t)in, (jtag_callback_data_t)size, (jtag_callback_data_t)be, (jtag_callback_data_t)fields[1].in_value); | ||||
jtag_add_runtest(0, jtag_get_end_state()); | |||||
jtag_add_runtest(0, TAP_DRPAUSE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
{ | { | ||||
@@ -111,11 +111,11 @@ static int arm920t_read_cp15_physical(struct target *target, | |||||
fields[3].out_value = &nr_w_buf; | fields[3].out_value = &nr_w_buf; | ||||
fields[3].in_value = NULL; | fields[3].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
fields[1].in_value = (uint8_t *)value; | fields[1].in_value = (uint8_t *)value; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); | jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); | ||||
@@ -162,7 +162,7 @@ static int arm920t_write_cp15_physical(struct target *target, | |||||
fields[3].out_value = &nr_w_buf; | fields[3].out_value = &nr_w_buf; | ||||
fields[3].in_value = NULL; | fields[3].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value); | LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value); | ||||
@@ -214,7 +214,7 @@ static int arm920t_execute_cp15(struct target *target, uint32_t cp15_opcode, | |||||
fields[3].out_value = &nr_w_buf; | fields[3].out_value = &nr_w_buf; | ||||
fields[3].in_value = NULL; | fields[3].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
arm9tdmi_clock_out(jtag_info, arm_opcode, 0, NULL, 0); | arm9tdmi_clock_out(jtag_info, arm_opcode, 0, NULL, 0); | ||||
arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 1); | arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 1); | ||||
@@ -86,7 +86,7 @@ static int arm926ejs_cp15_read(struct target *target, uint32_t op1, uint32_t op2 | |||||
fields[3].out_value = &nr_w_buf; | fields[3].out_value = &nr_w_buf; | ||||
fields[3].in_value = NULL; | fields[3].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
long long then = timeval_ms(); | long long then = timeval_ms(); | ||||
@@ -95,7 +95,7 @@ static int arm926ejs_cp15_read(struct target *target, uint32_t op1, uint32_t op2 | |||||
/* rescan with NOP, to wait for the access to complete */ | /* rescan with NOP, to wait for the access to complete */ | ||||
access = 0; | access = 0; | ||||
nr_w_buf = 0; | nr_w_buf = 0; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); | jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); | ||||
@@ -175,7 +175,7 @@ static int arm926ejs_cp15_write(struct target *target, uint32_t op1, uint32_t op | |||||
fields[3].out_value = &nr_w_buf; | fields[3].out_value = &nr_w_buf; | ||||
fields[3].in_value = NULL; | fields[3].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
long long then = timeval_ms(); | long long then = timeval_ms(); | ||||
@@ -184,7 +184,7 @@ static int arm926ejs_cp15_write(struct target *target, uint32_t op1, uint32_t op | |||||
/* rescan with NOP, to wait for the access to complete */ | /* rescan with NOP, to wait for the access to complete */ | ||||
access = 0; | access = 0; | ||||
nr_w_buf = 0; | nr_w_buf = 0; | ||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 4, fields, TAP_IDLE); | |||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
{ | { | ||||
return retval; | return retval; | ||||
@@ -106,11 +106,11 @@ static int arm966e_read_cp15(struct target *target, int reg_addr, uint32_t *valu | |||||
fields[2].out_value = &nr_w_buf; | fields[2].out_value = &nr_w_buf; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
fields[1].in_value = (uint8_t *)value; | fields[1].in_value = (uint8_t *)value; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); | jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); | ||||
@@ -158,7 +158,7 @@ int arm966e_write_cp15(struct target *target, int reg_addr, uint32_t value) | |||||
fields[2].out_value = &nr_w_buf; | fields[2].out_value = &nr_w_buf; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value); | LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value); | ||||
@@ -107,7 +107,7 @@ int arm9tdmi_examine_debug_reason(struct target *target) | |||||
} | } | ||||
arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL); | arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL); | ||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 3, fields, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 3, fields, TAP_DRPAUSE); | |||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
{ | { | ||||
return retval; | return retval; | ||||
@@ -120,7 +120,7 @@ int arm9tdmi_examine_debug_reason(struct target *target) | |||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
fields[2].out_value = instructionbus; | fields[2].out_value = instructionbus; | ||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 3, fields, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(arm7_9->jtag_info.tap, 3, fields, TAP_DRPAUSE); | |||||
if (debug_reason & 0x4) | if (debug_reason & 0x4) | ||||
if (debug_reason & 0x2) | if (debug_reason & 0x2) | ||||
@@ -177,13 +177,13 @@ int arm9tdmi_clock_out(struct arm_jtag *jtag_info, uint32_t instr, | |||||
if (in) | if (in) | ||||
{ | { | ||||
fields[0].in_value = (uint8_t *)in; | fields[0].in_value = (uint8_t *)in; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_DRPAUSE); | |||||
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in); | jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_DRPAUSE); | |||||
} | } | ||||
jtag_add_runtest(0, jtag_get_end_state()); | jtag_add_runtest(0, jtag_get_end_state()); | ||||
@@ -233,11 +233,11 @@ int arm9tdmi_clock_data_in(struct arm_jtag *jtag_info, uint32_t *in) | |||||
fields[2].out_value = NULL; | fields[2].out_value = NULL; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_DRPAUSE); | |||||
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in); | jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in); | ||||
jtag_add_runtest(0, jtag_get_end_state()); | |||||
jtag_add_runtest(0, TAP_DRPAUSE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
{ | { | ||||
@@ -300,11 +300,11 @@ int arm9tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info, | |||||
fields[2].out_value = NULL; | fields[2].out_value = NULL; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_DRPAUSE); | |||||
jtag_add_callback4(arm9endianness, (jtag_callback_data_t)in, (jtag_callback_data_t)size, (jtag_callback_data_t)be, (jtag_callback_data_t)fields[0].in_value); | jtag_add_callback4(arm9endianness, (jtag_callback_data_t)in, (jtag_callback_data_t)size, (jtag_callback_data_t)be, (jtag_callback_data_t)fields[0].in_value); | ||||
jtag_add_runtest(0, jtag_get_end_state()); | |||||
jtag_add_runtest(0, TAP_DRPAUSE); | |||||
#ifdef _DEBUG_INSTRUCTION_EXECUTION_ | #ifdef _DEBUG_INSTRUCTION_EXECUTION_ | ||||
{ | { | ||||
@@ -190,8 +190,7 @@ int mcu_write_ir(struct jtag_tap *tap, uint8_t *ir_in, uint8_t *ir_out, int ir_l | |||||
} | } | ||||
{ | { | ||||
jtag_add_plain_ir_scan(tap->ir_length, ir_out, ir_in, | |||||
jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_plain_ir_scan(tap->ir_length, ir_out, ir_in, TAP_IDLE); | |||||
} | } | ||||
return ERROR_OK; | return ERROR_OK; | ||||
@@ -206,7 +205,7 @@ int mcu_write_dr(struct jtag_tap *tap, uint8_t *dr_in, uint8_t *dr_out, int dr_l | |||||
} | } | ||||
{ | { | ||||
jtag_add_plain_dr_scan(dr_len, dr_out, dr_in, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_plain_dr_scan(dr_len, dr_out, dr_in, TAP_IDLE); | |||||
} | } | ||||
return ERROR_OK; | return ERROR_OK; | ||||
@@ -863,8 +863,7 @@ int dsp563xx_write_ir(struct jtag_tap *tap, uint8_t * ir_in, uint8_t * ir_out, | |||||
} | } | ||||
{ | { | ||||
jtag_add_plain_ir_scan(tap->ir_length, ir_out, ir_in, | |||||
jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_plain_ir_scan(tap->ir_length, ir_out, ir_in, TAP_IDLE); | |||||
} | } | ||||
return ERROR_OK; | return ERROR_OK; | ||||
@@ -880,8 +879,7 @@ int dsp563xx_write_dr(struct jtag_tap *tap, uint8_t * dr_in, uint8_t * dr_out, | |||||
} | } | ||||
{ | { | ||||
jtag_add_plain_dr_scan(dr_len, dr_out, dr_in, | |||||
jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_plain_dr_scan(dr_len, dr_out, dr_in, TAP_IDLE); | |||||
} | } | ||||
return ERROR_OK; | return ERROR_OK; | ||||
@@ -372,7 +372,7 @@ int embeddedice_read_reg_w_check(struct reg *reg, | |||||
fields[2].check_mask = NULL; | fields[2].check_mask = NULL; | ||||
/* traverse Update-DR, setting address for the next read */ | /* traverse Update-DR, setting address for the next read */ | ||||
jtag_add_dr_scan(ice_reg->jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(ice_reg->jtag_info->tap, 3, fields, TAP_IDLE); | |||||
/* bits 31:0 -- the data we're reading (and maybe checking) */ | /* bits 31:0 -- the data we're reading (and maybe checking) */ | ||||
fields[0].in_value = reg->value; | fields[0].in_value = reg->value; | ||||
@@ -386,7 +386,7 @@ int embeddedice_read_reg_w_check(struct reg *reg, | |||||
fields[1].out_value[0] = eice_regs[EICE_COMMS_CTRL].addr; | fields[1].out_value[0] = eice_regs[EICE_COMMS_CTRL].addr; | ||||
/* traverse Update-DR, reading but with no other side effects */ | /* traverse Update-DR, reading but with no other side effects */ | ||||
jtag_add_dr_scan_check(ice_reg->jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan_check(ice_reg->jtag_info->tap, 3, fields, TAP_IDLE); | |||||
return ERROR_OK; | return ERROR_OK; | ||||
} | } | ||||
@@ -423,7 +423,7 @@ int embeddedice_receive(struct arm_jtag *jtag_info, uint32_t *data, uint32_t siz | |||||
fields[2].out_value[0] = 0; | fields[2].out_value[0] = 0; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
while (size > 0) | while (size > 0) | ||||
{ | { | ||||
@@ -434,7 +434,7 @@ int embeddedice_receive(struct arm_jtag *jtag_info, uint32_t *data, uint32_t siz | |||||
fields[1].out_value[0] = eice_regs[EICE_COMMS_CTRL].addr; | fields[1].out_value[0] = eice_regs[EICE_COMMS_CTRL].addr; | ||||
fields[0].in_value = (uint8_t *)data; | fields[0].in_value = (uint8_t *)data; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)data); | jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)data); | ||||
data++; | data++; | ||||
@@ -545,7 +545,7 @@ int embeddedice_send(struct arm_jtag *jtag_info, uint32_t *data, uint32_t size) | |||||
while (size > 0) | while (size > 0) | ||||
{ | { | ||||
buf_set_u32(fields[0].out_value, 0, 32, *data); | buf_set_u32(fields[0].out_value, 0, 32, *data); | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
data++; | data++; | ||||
size--; | size--; | ||||
@@ -594,10 +594,10 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou | |||||
fields[2].out_value[0] = 0; | fields[2].out_value[0] = 0; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
gettimeofday(&lap, NULL); | gettimeofday(&lap, NULL); | ||||
do { | do { | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_IDLE); | |||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
return retval; | return retval; | ||||
@@ -191,7 +191,7 @@ static int etb_read_ram(struct etb *etb, uint32_t *data, int num_frames) | |||||
buf_set_u32(fields[2].out_value, 0, 1, 0); | buf_set_u32(fields[2].out_value, 0, 1, 0); | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(etb->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(etb->tap, 3, fields, TAP_IDLE); | |||||
for (i = 0; i < num_frames; i++) | for (i = 0; i < num_frames; i++) | ||||
{ | { | ||||
@@ -205,7 +205,7 @@ static int etb_read_ram(struct etb *etb, uint32_t *data, int num_frames) | |||||
buf_set_u32(fields[1].out_value, 0, 7, 0); | buf_set_u32(fields[1].out_value, 0, 7, 0); | ||||
fields[0].in_value = (uint8_t *)(data + i); | fields[0].in_value = (uint8_t *)(data + i); | ||||
jtag_add_dr_scan(etb->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(etb->tap, 3, fields, TAP_IDLE); | |||||
jtag_add_callback(etb_getbuf, (jtag_callback_data_t)(data + i)); | jtag_add_callback(etb_getbuf, (jtag_callback_data_t)(data + i)); | ||||
} | } | ||||
@@ -251,7 +251,7 @@ static int etb_read_reg_w_check(struct reg *reg, | |||||
fields[2].check_value = NULL; | fields[2].check_value = NULL; | ||||
fields[2].check_mask = NULL; | fields[2].check_mask = NULL; | ||||
jtag_add_dr_scan(etb_reg->etb->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(etb_reg->etb->tap, 3, fields, TAP_IDLE); | |||||
/* read the identification register in the second run, to make sure we | /* read the identification register in the second run, to make sure we | ||||
* don't read the ETB data register twice, skipping every second entry | * don't read the ETB data register twice, skipping every second entry | ||||
@@ -261,7 +261,7 @@ static int etb_read_reg_w_check(struct reg *reg, | |||||
fields[0].check_value = check_value; | fields[0].check_value = check_value; | ||||
fields[0].check_mask = check_mask; | fields[0].check_mask = check_mask; | ||||
jtag_add_dr_scan_check(etb_reg->etb->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan_check(etb_reg->etb->tap, 3, fields, TAP_IDLE); | |||||
free(fields[1].out_value); | free(fields[1].out_value); | ||||
free(fields[2].out_value); | free(fields[2].out_value); | ||||
@@ -528,13 +528,13 @@ static int etm_read_reg_w_check(struct reg *reg, | |||||
fields[2].check_value = NULL; | fields[2].check_value = NULL; | ||||
fields[2].check_mask = NULL; | fields[2].check_mask = NULL; | ||||
jtag_add_dr_scan(etm_reg->jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(etm_reg->jtag_info->tap, 3, fields, TAP_IDLE); | |||||
fields[0].in_value = reg->value; | fields[0].in_value = reg->value; | ||||
fields[0].check_value = check_value; | fields[0].check_value = check_value; | ||||
fields[0].check_mask = check_mask; | fields[0].check_mask = check_mask; | ||||
jtag_add_dr_scan_check(etm_reg->jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan_check(etm_reg->jtag_info->tap, 3, fields, TAP_IDLE); | |||||
free(fields[1].out_value); | free(fields[1].out_value); | ||||
free(fields[2].out_value); | free(fields[2].out_value); | ||||
@@ -609,7 +609,7 @@ static int etm_write_reg(struct reg *reg, uint32_t value) | |||||
buf_set_u32(fields[2].out_value, 0, 1, 1); | buf_set_u32(fields[2].out_value, 0, 1, 1); | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(etm_reg->jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(etm_reg->jtag_info->tap, 3, fields, TAP_IDLE); | |||||
return ERROR_OK; | return ERROR_OK; | ||||
} | } | ||||
@@ -101,9 +101,9 @@ int feroceon_dummy_clock_out(struct arm_jtag *jtag_info, uint32_t instr) | |||||
fields[2].out_value = instr_buf; | fields[2].out_value = instr_buf; | ||||
fields[2].in_value = NULL; | fields[2].in_value = NULL; | ||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_DRPAUSE); | |||||
/* no jtag_add_runtest(0, jtag_get_end_state()) here */ | |||||
/* no jtag_add_runtest(0, TAP_DRPAUSE) here */ | |||||
return ERROR_OK; | return ERROR_OK; | ||||
} | } | ||||
@@ -64,7 +64,7 @@ int mips_ejtag_get_idcode(struct mips_ejtag *ejtag_info, uint32_t *idcode) | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = (void*)idcode; | field.in_value = (void*)idcode; | ||||
jtag_add_dr_scan(ejtag_info->tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(ejtag_info->tap, 1, &field, TAP_IDLE); | |||||
if (jtag_execute_queue() != ERROR_OK) | if (jtag_execute_queue() != ERROR_OK) | ||||
{ | { | ||||
@@ -86,7 +86,7 @@ int mips_ejtag_get_impcode(struct mips_ejtag *ejtag_info, uint32_t *impcode) | |||||
field.out_value = NULL; | field.out_value = NULL; | ||||
field.in_value = (void*)impcode; | field.in_value = (void*)impcode; | ||||
jtag_add_dr_scan(ejtag_info->tap, 1, &field, jtag_get_end_state()); | |||||
jtag_add_dr_scan(ejtag_info->tap, 1, &field, TAP_IDLE); | |||||
if (jtag_execute_queue() != ERROR_OK) | if (jtag_execute_queue() != ERROR_OK) | ||||
{ | { | ||||
@@ -213,7 +213,7 @@ static int xscale_read_dcsr(struct target *target) | |||||
uint8_t tmp2; | uint8_t tmp2; | ||||
fields[2].in_value = &tmp2; | fields[2].in_value = &tmp2; | ||||
jtag_add_dr_scan(target->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(target->tap, 3, fields, TAP_DRPAUSE); | |||||
jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | ||||
jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | ||||
@@ -236,7 +236,7 @@ static int xscale_read_dcsr(struct target *target) | |||||
jtag_set_end_state(TAP_IDLE); | jtag_set_end_state(TAP_IDLE); | ||||
jtag_add_dr_scan(target->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(target->tap, 3, fields, TAP_DRPAUSE); | |||||
/* DANGER!!! this must be here. It will make sure that the arguments | /* DANGER!!! this must be here. It will make sure that the arguments | ||||
* to jtag_set_check_value() does not go out of scope! */ | * to jtag_set_check_value() does not go out of scope! */ | ||||
@@ -288,7 +288,7 @@ static int xscale_receive(struct target *target, uint32_t *buffer, int num_words | |||||
jtag_set_end_state(TAP_IDLE); | jtag_set_end_state(TAP_IDLE); | ||||
xscale_jtag_set_instr(target->tap, | xscale_jtag_set_instr(target->tap, | ||||
XSCALE_DBGTX << xscale->xscale_variant); | XSCALE_DBGTX << xscale->xscale_variant); | ||||
jtag_add_runtest(1, jtag_get_end_state()); /* ensures that we're in the TAP_IDLE state as the above could be a no-op */ | |||||
jtag_add_runtest(1, TAP_IDLE); /* ensures that we're in the TAP_IDLE state as the above could be a no-op */ | |||||
/* repeat until all words have been collected */ | /* repeat until all words have been collected */ | ||||
int attempts = 0; | int attempts = 0; | ||||
@@ -304,7 +304,7 @@ static int xscale_receive(struct target *target, uint32_t *buffer, int num_words | |||||
fields[1].in_value = (uint8_t *)(field1 + i); | fields[1].in_value = (uint8_t *)(field1 + i); | ||||
jtag_add_dr_scan_check(target->tap, 3, fields, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan_check(target->tap, 3, fields, TAP_IDLE); | |||||
jtag_add_callback(xscale_getbuf, (jtag_callback_data_t)(field1 + i)); | jtag_add_callback(xscale_getbuf, (jtag_callback_data_t)(field1 + i)); | ||||
@@ -411,7 +411,7 @@ static int xscale_read_tx(struct target *target, int consume) | |||||
jtag_add_pathmove(ARRAY_SIZE(noconsume_path), noconsume_path); | jtag_add_pathmove(ARRAY_SIZE(noconsume_path), noconsume_path); | ||||
} | } | ||||
jtag_add_dr_scan(target->tap, 3, fields, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(target->tap, 3, fields, TAP_IDLE); | |||||
jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | ||||
jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | ||||
@@ -489,7 +489,7 @@ static int xscale_write_rx(struct target *target) | |||||
LOG_DEBUG("polling RX"); | LOG_DEBUG("polling RX"); | ||||
for (;;) | for (;;) | ||||
{ | { | ||||
jtag_add_dr_scan(target->tap, 3, fields, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(target->tap, 3, fields, TAP_IDLE); | |||||
jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | ||||
jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | ||||
@@ -521,7 +521,7 @@ static int xscale_write_rx(struct target *target) | |||||
/* set rx_valid */ | /* set rx_valid */ | ||||
field2 = 0x1; | field2 = 0x1; | ||||
jtag_add_dr_scan(target->tap, 3, fields, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_dr_scan(target->tap, 3, fields, TAP_IDLE); | |||||
if ((retval = jtag_execute_queue()) != ERROR_OK) | if ((retval = jtag_execute_queue()) != ERROR_OK) | ||||
{ | { | ||||
@@ -585,7 +585,7 @@ static int xscale_send(struct target *target, uint8_t *buffer, int count, int si | |||||
3, | 3, | ||||
bits, | bits, | ||||
t, | t, | ||||
jtag_set_end_state(TAP_IDLE)); | |||||
TAP_IDLE); | |||||
buffer += size; | buffer += size; | ||||
} | } | ||||
@@ -646,7 +646,7 @@ static int xscale_write_dcsr(struct target *target, int hold_rst, int ext_dbg_br | |||||
uint8_t tmp2; | uint8_t tmp2; | ||||
fields[2].in_value = &tmp2; | fields[2].in_value = &tmp2; | ||||
jtag_add_dr_scan(target->tap, 3, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(target->tap, 3, fields, TAP_IDLE); | |||||
jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | jtag_check_value_mask(fields + 0, &field0_check_value, &field0_check_mask); | ||||
jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | jtag_check_value_mask(fields + 2, &field2_check_value, &field2_check_mask); | ||||
@@ -707,7 +707,7 @@ static int xscale_load_ic(struct target *target, uint32_t va, uint32_t buffer[8] | |||||
fields[1].num_bits = 27; | fields[1].num_bits = 27; | ||||
fields[1].out_value = packet; | fields[1].out_value = packet; | ||||
jtag_add_dr_scan(target->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(target->tap, 2, fields, TAP_IDLE); | |||||
/* rest of packet is a cacheline: 8 instructions, with parity */ | /* rest of packet is a cacheline: 8 instructions, with parity */ | ||||
fields[0].num_bits = 32; | fields[0].num_bits = 32; | ||||
@@ -724,7 +724,7 @@ static int xscale_load_ic(struct target *target, uint32_t va, uint32_t buffer[8] | |||||
memcpy(&value, packet, sizeof(uint32_t)); | memcpy(&value, packet, sizeof(uint32_t)); | ||||
cmd = parity(value); | cmd = parity(value); | ||||
jtag_add_dr_scan(target->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(target->tap, 2, fields, TAP_IDLE); | |||||
} | } | ||||
return jtag_execute_queue(); | return jtag_execute_queue(); | ||||
@@ -755,7 +755,7 @@ static int xscale_invalidate_ic_line(struct target *target, uint32_t va) | |||||
fields[1].num_bits = 27; | fields[1].num_bits = 27; | ||||
fields[1].out_value = packet; | fields[1].out_value = packet; | ||||
jtag_add_dr_scan(target->tap, 2, fields, jtag_get_end_state()); | |||||
jtag_add_dr_scan(target->tap, 2, fields, TAP_IDLE); | |||||
return ERROR_OK; | return ERROR_OK; | ||||
} | } | ||||
@@ -1556,7 +1556,7 @@ static int xscale_deassert_reset(struct target *target) | |||||
/* wait 300ms; 150 and 100ms were not enough */ | /* wait 300ms; 150 and 100ms were not enough */ | ||||
jtag_add_sleep(300*1000); | jtag_add_sleep(300*1000); | ||||
jtag_add_runtest(2030, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_runtest(2030, TAP_IDLE); | |||||
jtag_execute_queue(); | jtag_execute_queue(); | ||||
/* set Hold reset, Halt mode and Trap Reset */ | /* set Hold reset, Halt mode and Trap Reset */ | ||||
@@ -1613,7 +1613,7 @@ static int xscale_deassert_reset(struct target *target) | |||||
if (retval != ERROR_OK) | if (retval != ERROR_OK) | ||||
return retval; | return retval; | ||||
jtag_add_runtest(30, jtag_set_end_state(TAP_IDLE)); | |||||
jtag_add_runtest(30, TAP_IDLE); | |||||
jtag_add_sleep(100000); | jtag_add_sleep(100000); | ||||
@@ -482,9 +482,9 @@ COMMAND_HANDLER(handle_xsvf_command) | |||||
if (tap == NULL) | if (tap == NULL) | ||||
jtag_add_plain_dr_scan(field.num_bits, field.out_value, field.in_value, | jtag_add_plain_dr_scan(field.num_bits, field.out_value, field.in_value, | ||||
jtag_set_end_state(TAP_DRPAUSE)); | |||||
TAP_DRPAUSE); | |||||
else | else | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_DRPAUSE); | |||||
jtag_check_value_mask(&field, dr_in_buf, dr_in_mask); | jtag_check_value_mask(&field, dr_in_buf, dr_in_mask); | ||||
@@ -939,9 +939,9 @@ COMMAND_HANDLER(handle_xsvf_command) | |||||
if (tap == NULL) | if (tap == NULL) | ||||
jtag_add_plain_dr_scan(field.num_bits, field.out_value, field.in_value, | jtag_add_plain_dr_scan(field.num_bits, field.out_value, field.in_value, | ||||
jtag_set_end_state(TAP_DRPAUSE)); | |||||
TAP_DRPAUSE); | |||||
else | else | ||||
jtag_add_dr_scan(tap, 1, &field, jtag_set_end_state(TAP_DRPAUSE)); | |||||
jtag_add_dr_scan(tap, 1, &field, TAP_DRPAUSE); | |||||
jtag_check_value_mask(&field, dr_in_buf, dr_in_mask); | jtag_check_value_mask(&field, dr_in_buf, dr_in_mask); | ||||