From: Øyvind H. <go...@us...> - 2010-03-19 08:40:54
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 7f6bab0c4c36d7a64f933904e5add9bc6b36d78c (commit) via 15ff2aeca9b302419aed62fc3cc73dedacdd62cb (commit) via 1911c8ec8d286840c6a0d6a57c423072766d3386 (commit) via 729845238228f577bc3d6369d83667e5e2df1aee (commit) via 8ce828dd382c907db4c6bd38e5b54996e50327fd (commit) from 8d411d0d249dda7ceb951c4f8c8a509f4fd1dfb0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7f6bab0c4c36d7a64f933904e5add9bc6b36d78c Author: Ãyvind Harboe <oyv...@zy...> Date: Thu Mar 18 18:53:39 2010 +0100 jtag: retire jtag_get/set_end_state() Voila! This get rids of mysteries about what what state the TAP is in. Signed-off-by: Ãyvind Harboe <oyv...@zy...> diff --git a/src/jtag/core.c b/src/jtag/core.c index a09472a..65ca824 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -86,7 +86,6 @@ static struct jtag_tap *__jtag_all_taps = NULL; static unsigned jtag_num_taps = 0; static enum reset_types jtag_reset_config = RESET_NONE; -static tap_state_t cmd_queue_end_state = TAP_RESET; tap_state_t cmd_queue_cur_state = TAP_RESET; static bool jtag_verify_capture_ir = true; @@ -717,7 +716,6 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst) */ if (trst_with_tlr) { LOG_DEBUG("JTAG reset with TLR instead of TRST"); - jtag_set_end_state(TAP_RESET); jtag_add_tlr(); } else if (jtag_trst != new_trst) { @@ -743,24 +741,6 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst) } } -/* DEPRECATED! store such global state outside JTAG layer */ -void jtag_set_end_state(tap_state_t state) -{ - if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT)) - { - LOG_ERROR("BUG: TAP_DRSHIFT/IRSHIFT can't be end state. Calling code should use a larger scan field"); - } - - if (state != TAP_INVALID) - cmd_queue_end_state = state; -} - -/* DEPRECATED! store such global state outside JTAG layer */ -tap_state_t jtag_get_end_state(void) -{ - return cmd_queue_end_state; -} - void jtag_add_sleep(uint32_t us) { /// @todo Here, keep_alive() appears to be a layering violation!!! diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index a92c986..a6d16e9 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -550,26 +550,6 @@ void jtag_add_runtest(int num_cycles, tap_state_t endstate); */ void jtag_add_reset(int req_tlr_or_trst, int srst); - -/** - * DEPRECATED! store such global state outside JTAG layer - * - * Function jtag_set_end_state - * - * Set a global variable to \a state if \a state != TAP_INVALID. - * - */ -void jtag_set_end_state(tap_state_t state); - -/** - * DEPRECATED! store such global state outside JTAG layer - * - * Function jtag_get_end_state - * - * Return the value of the global variable for end state - */ -tap_state_t jtag_get_end_state(void); - void jtag_add_sleep(uint32_t us); int jtag_add_tms_seq(unsigned nbits, const uint8_t *seq, enum tap_state t); diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c index 93509de..b2833fa 100644 --- a/src/pld/virtex2.c +++ b/src/pld/virtex2.c @@ -141,7 +141,6 @@ static int virtex2_load(struct pld_device *pld_device, const char *filename) if ((retval = xilinx_read_bit_file(&bit_file, filename)) != ERROR_OK) return retval; - jtag_set_end_state(TAP_IDLE); virtex2_set_instr(virtex2_info->tap, 0xb); /* JPROG_B */ jtag_execute_queue(); jtag_add_sleep(1000); @@ -160,7 +159,6 @@ static int virtex2_load(struct pld_device *pld_device, const char *filename) jtag_add_tlr(); - jtag_set_end_state(TAP_IDLE); virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */ jtag_add_runtest(13, TAP_IDLE); virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */ diff --git a/src/target/adi_v5_jtag.c b/src/target/adi_v5_jtag.c index d59465b..0d795fb 100644 --- a/src/target/adi_v5_jtag.c +++ b/src/target/adi_v5_jtag.c @@ -87,7 +87,6 @@ int adi_jtag_dp_scan(struct adiv5_dap *dap, struct scan_field fields[2]; uint8_t out_addr_buf; - jtag_set_end_state(TAP_IDLE); arm_jtag_set_instr(jtag_info, instr, NULL, TAP_IDLE); /* Scan out a read or write operation using some DP or AP register. @@ -331,7 +330,6 @@ static int jtag_idcode_q_read(struct adiv5_dap *dap, struct scan_field fields[1]; /* This is a standard JTAG operation -- no DAP tweakage */ - jtag_set_end_state(TAP_IDLE); retval = arm_jtag_set_instr(jtag_info, JTAG_DP_IDCODE, NULL, TAP_IDLE); if (retval != ERROR_OK) return retval; diff --git a/src/target/arm720t.c b/src/target/arm720t.c index 6e72c7a..0093360 100644 --- a/src/target/arm720t.c +++ b/src/target/arm720t.c @@ -54,7 +54,6 @@ static int arm720t_scan_cp15(struct target *target, buf_set_u32(out_buf, 0, 32, flip_u32(out, 32)); - jtag_set_end_state(TAP_DRPAUSE); if ((retval = arm_jtag_scann(jtag_info, 0xf, TAP_DRPAUSE)) != ERROR_OK) { return retval; diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c index 4c8d83d..8f63f3c 100644 --- a/src/target/arm7_9_common.c +++ b/src/target/arm7_9_common.c @@ -687,7 +687,6 @@ int arm7_9_execute_sys_speed(struct target *target) struct reg *dbg_stat = &arm7_9->eice_cache->reg_list[EICE_DBG_STAT]; /* set RESTART instruction */ - jtag_set_end_state(TAP_IDLE); if (arm7_9->need_bypass_before_restart) { arm7_9->need_bypass_before_restart = 0; arm_jtag_set_instr(jtag_info, 0xf, NULL, TAP_IDLE); @@ -740,7 +739,6 @@ int arm7_9_execute_fast_sys_speed(struct target *target) struct reg *dbg_stat = &arm7_9->eice_cache->reg_list[EICE_DBG_STAT]; /* set RESTART instruction */ - jtag_set_end_state(TAP_IDLE); if (arm7_9->need_bypass_before_restart) { arm7_9->need_bypass_before_restart = 0; arm_jtag_set_instr(jtag_info, 0xf, NULL, TAP_IDLE); @@ -1743,7 +1741,6 @@ int arm7_9_restart_core(struct target *target) struct arm_jtag *jtag_info = &arm7_9->jtag_info; /* set RESTART instruction */ - jtag_set_end_state(TAP_IDLE); if (arm7_9->need_bypass_before_restart) { arm7_9->need_bypass_before_restart = 0; arm_jtag_set_instr(jtag_info, 0xf, NULL, TAP_IDLE); diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c index f145275..541adc8 100644 --- a/src/target/arm7tdmi.c +++ b/src/target/arm7tdmi.c @@ -56,8 +56,6 @@ static int arm7tdmi_examine_debug_reason(struct target *target) uint8_t databus[4]; uint8_t breakpoint; - jtag_set_end_state(TAP_DRPAUSE); - fields[0].num_bits = 1; fields[0].out_value = NULL; fields[0].in_value = &breakpoint; @@ -119,7 +117,6 @@ static __inline int arm7tdmi_clock_out_inner(struct arm_jtag *jtag_info, uint32_ static __inline int arm7tdmi_clock_out(struct arm_jtag *jtag_info, uint32_t out, uint32_t *deprecated, int breakpoint) { - jtag_set_end_state(TAP_DRPAUSE); arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_DRPAUSE); @@ -132,7 +129,6 @@ static int arm7tdmi_clock_data_in(struct arm_jtag *jtag_info, uint32_t *in) int retval = ERROR_OK; struct scan_field fields[2]; - jtag_set_end_state(TAP_DRPAUSE); if ((retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE)) != ERROR_OK) { return retval; @@ -217,7 +213,6 @@ static int arm7tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info, int retval = ERROR_OK; struct scan_field fields[2]; - jtag_set_end_state(TAP_DRPAUSE); if ((retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE)) != ERROR_OK) { return retval; diff --git a/src/target/arm920t.c b/src/target/arm920t.c index 2e7c72d..4916de1 100644 --- a/src/target/arm920t.c +++ b/src/target/arm920t.c @@ -91,7 +91,6 @@ static int arm920t_read_cp15_physical(struct target *target, jtag_info = &arm920t->arm7_9_common.jtag_info; - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(jtag_info, 0xf, TAP_IDLE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE); @@ -142,7 +141,6 @@ static int arm920t_write_cp15_physical(struct target *target, buf_set_u32(value_buf, 0, 32, value); - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(jtag_info, 0xf, TAP_IDLE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE); @@ -192,7 +190,6 @@ static int arm920t_execute_cp15(struct target *target, uint32_t cp15_opcode, jtag_info = &arm920t->arm7_9_common.jtag_info; - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(jtag_info, 0xf, TAP_IDLE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE); diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c index c45d984..ff18bae 100644 --- a/src/target/arm926ejs.c +++ b/src/target/arm926ejs.c @@ -63,7 +63,6 @@ static int arm926ejs_cp15_read(struct target *target, uint32_t op1, uint32_t op2 buf_set_u32(address_buf, 0, 14, address); - jtag_set_end_state(TAP_IDLE); if ((retval = arm_jtag_scann(jtag_info, 0xf, TAP_IDLE)) != ERROR_OK) { return retval; @@ -152,7 +151,6 @@ static int arm926ejs_cp15_write(struct target *target, uint32_t op1, uint32_t op buf_set_u32(address_buf, 0, 14, address); buf_set_u32(value_buf, 0, 32, value); - jtag_set_end_state(TAP_IDLE); if ((retval = arm_jtag_scann(jtag_info, 0xf, TAP_IDLE)) != ERROR_OK) { return retval; diff --git a/src/target/arm966e.c b/src/target/arm966e.c index c1e8058..b4207c8 100644 --- a/src/target/arm966e.c +++ b/src/target/arm966e.c @@ -84,7 +84,6 @@ static int arm966e_read_cp15(struct target *target, int reg_addr, uint32_t *valu uint8_t reg_addr_buf = reg_addr & 0x3f; uint8_t nr_w_buf = 0; - jtag_set_end_state(TAP_IDLE); if ((retval = arm_jtag_scann(jtag_info, 0xf, TAP_IDLE)) != ERROR_OK) { return retval; @@ -139,7 +138,6 @@ int arm966e_write_cp15(struct target *target, int reg_addr, uint32_t value) buf_set_u32(value_buf, 0, 32, value); - jtag_set_end_state(TAP_IDLE); if ((retval = arm_jtag_scann(jtag_info, 0xf, TAP_IDLE)) != ERROR_OK) { return retval; diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index 4f28599..744ee76 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -87,8 +87,6 @@ int arm9tdmi_examine_debug_reason(struct target *target) uint8_t instructionbus[4]; uint8_t debug_reason; - jtag_set_end_state(TAP_DRPAUSE); - fields[0].num_bits = 32; fields[0].out_value = NULL; fields[0].in_value = databus; @@ -154,7 +152,6 @@ int arm9tdmi_clock_out(struct arm_jtag *jtag_info, uint32_t instr, if (sysspeed) buf_set_u32(&sysspeed_buf, 2, 1, 1); - jtag_set_end_state(TAP_DRPAUSE); if ((retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE)) != ERROR_OK) { return retval; @@ -213,7 +210,6 @@ int arm9tdmi_clock_data_in(struct arm_jtag *jtag_info, uint32_t *in) int retval = ERROR_OK;; struct scan_field fields[3]; - jtag_set_end_state(TAP_DRPAUSE); if ((retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE)) != ERROR_OK) { return retval; @@ -280,7 +276,6 @@ int arm9tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info, int retval = ERROR_OK; struct scan_field fields[3]; - jtag_set_end_state(TAP_DRPAUSE); if ((retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE)) != ERROR_OK) { return retval; diff --git a/src/target/embeddedice.c b/src/target/embeddedice.c index 9272f66..59cd562 100644 --- a/src/target/embeddedice.c +++ b/src/target/embeddedice.c @@ -343,7 +343,6 @@ int embeddedice_read_reg_w_check(struct reg *reg, uint8_t field1_out[1]; uint8_t field2_out[1]; - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(ice_reg->jtag_info, 0x2, TAP_IDLE); arm_jtag_set_instr(ice_reg->jtag_info, ice_reg->jtag_info->intest_instr, NULL, TAP_IDLE); @@ -405,7 +404,6 @@ int embeddedice_receive(struct arm_jtag *jtag_info, uint32_t *data, uint32_t siz uint8_t field1_out[1]; uint8_t field2_out[1]; - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(jtag_info, 0x2, TAP_IDLE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE); @@ -490,7 +488,6 @@ void embeddedice_write_reg(struct reg *reg, uint32_t value) LOG_DEBUG("%i: 0x%8.8" PRIx32 "", ice_reg->addr, value); - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(ice_reg->jtag_info, 0x2, TAP_IDLE); arm_jtag_set_instr(ice_reg->jtag_info, ice_reg->jtag_info->intest_instr, NULL, TAP_IDLE); @@ -523,7 +520,6 @@ int embeddedice_send(struct arm_jtag *jtag_info, uint32_t *data, uint32_t size) uint8_t field1_out[1]; uint8_t field2_out[1]; - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(jtag_info, 0x2, TAP_IDLE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE); @@ -576,7 +572,6 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou else return ERROR_INVALID_ARGUMENTS; - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(jtag_info, 0x2, TAP_IDLE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE); diff --git a/src/target/etb.c b/src/target/etb.c index 96a6e0d..3280874 100644 --- a/src/target/etb.c +++ b/src/target/etb.c @@ -173,7 +173,6 @@ static int etb_read_ram(struct etb *etb, uint32_t *data, int num_frames) struct scan_field fields[3]; int i; - jtag_set_end_state(TAP_IDLE); etb_scann(etb, 0x0); etb_set_instr(etb, 0xc); @@ -227,7 +226,6 @@ static int etb_read_reg_w_check(struct reg *reg, LOG_DEBUG("%i", (int)(etb_reg->addr)); - jtag_set_end_state(TAP_IDLE); etb_scann(etb_reg->etb, 0x0); etb_set_instr(etb_reg->etb, 0xc); @@ -310,7 +308,6 @@ static int etb_write_reg(struct reg *reg, uint32_t value) LOG_DEBUG("%i: 0x%8.8" PRIx32 "", (int)(etb_reg->addr), value); - jtag_set_end_state(TAP_IDLE); etb_scann(etb_reg->etb, 0x0); etb_set_instr(etb_reg->etb, 0xc); diff --git a/src/target/etm.c b/src/target/etm.c index 3c25f4e..3850ced 100644 --- a/src/target/etm.c +++ b/src/target/etm.c @@ -504,7 +504,6 @@ static int etm_read_reg_w_check(struct reg *reg, LOG_DEBUG("%s (%u)", r->name, reg_addr); - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(etm_reg->jtag_info, 0x6, TAP_IDLE); arm_jtag_set_instr(etm_reg->jtag_info, etm_reg->jtag_info->intest_instr, NULL, TAP_IDLE); @@ -587,7 +586,6 @@ static int etm_write_reg(struct reg *reg, uint32_t value) LOG_DEBUG("%s (%u): 0x%8.8" PRIx32 "", r->name, reg_addr, value); - jtag_set_end_state(TAP_IDLE); arm_jtag_scann(etm_reg->jtag_info, 0x6, TAP_IDLE); arm_jtag_set_instr(etm_reg->jtag_info, etm_reg->jtag_info->intest_instr, NULL, TAP_IDLE); diff --git a/src/target/feroceon.c b/src/target/feroceon.c index 405c50c..efd3040 100644 --- a/src/target/feroceon.c +++ b/src/target/feroceon.c @@ -84,7 +84,6 @@ int feroceon_dummy_clock_out(struct arm_jtag *jtag_info, uint32_t instr) buf_set_u32(instr_buf, 0, 32, flip_u32(instr, 32)); - jtag_set_end_state(TAP_DRPAUSE); arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE); arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_DRPAUSE); diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c index d79c58d..37e1f09 100644 --- a/src/target/mips_ejtag.c +++ b/src/target/mips_ejtag.c @@ -56,8 +56,6 @@ int mips_ejtag_get_idcode(struct mips_ejtag *ejtag_info, uint32_t *idcode) { struct scan_field field; - jtag_set_end_state(TAP_IDLE); - mips_ejtag_set_instr(ejtag_info, EJTAG_INST_IDCODE); field.num_bits = 32; @@ -78,8 +76,6 @@ int mips_ejtag_get_impcode(struct mips_ejtag *ejtag_info, uint32_t *impcode) { struct scan_field field; - jtag_set_end_state(TAP_IDLE); - mips_ejtag_set_instr(ejtag_info, EJTAG_INST_IMPCODE); field.num_bits = 32; @@ -209,7 +205,6 @@ int mips_ejtag_config_step(struct mips_ejtag *ejtag_info, int enable_step) int mips_ejtag_enter_debug(struct mips_ejtag *ejtag_info) { uint32_t ejtag_ctrl; - jtag_set_end_state(TAP_IDLE); mips_ejtag_set_instr(ejtag_info, EJTAG_INST_CONTROL); /* set debug break bit */ diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 5919f5b..5604b6a 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -112,7 +112,6 @@ int mips_m4k_poll(struct target *target) uint32_t ejtag_ctrl = ejtag_info->ejtag_ctrl; /* read ejtag control reg */ - jtag_set_end_state(TAP_IDLE); mips_ejtag_set_instr(ejtag_info, EJTAG_INST_CONTROL); mips_ejtag_drscan_32(ejtag_info, &ejtag_ctrl); @@ -122,7 +121,6 @@ int mips_m4k_poll(struct target *target) { /* we have detected a reset, clear flag * otherwise ejtag will not work */ - jtag_set_end_state(TAP_IDLE); ejtag_ctrl = ejtag_info->ejtag_ctrl & ~EJTAG_CTRL_ROCC; mips_ejtag_set_instr(ejtag_info, EJTAG_INST_CONTROL); @@ -135,7 +133,6 @@ int mips_m4k_poll(struct target *target) { if ((target->state == TARGET_RUNNING) || (target->state == TARGET_RESET)) { - jtag_set_end_state(TAP_IDLE); mips_ejtag_set_instr(ejtag_info, EJTAG_INST_NORMALBOOT); target->state = TARGET_HALTED; @@ -227,12 +224,10 @@ int mips_m4k_assert_reset(struct target *target) if (target->reset_halt) { /* use hardware to catch reset */ - jtag_set_end_state(TAP_IDLE); mips_ejtag_set_instr(ejtag_info, EJTAG_INST_EJTAGBOOT); } else { - jtag_set_end_state(TAP_IDLE); mips_ejtag_set_instr(ejtag_info, EJTAG_INST_NORMALBOOT); } diff --git a/src/target/xscale.c b/src/target/xscale.c index f22513a..f0e2311 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -191,7 +191,6 @@ static int xscale_read_dcsr(struct target *target) uint8_t field2_check_value = 0x0; uint8_t field2_check_mask = 0x1; - jtag_set_end_state(TAP_DRPAUSE); xscale_jtag_set_instr(target->tap, XSCALE_SELDCSR << xscale->xscale_variant, TAP_DRPAUSE); @@ -235,8 +234,6 @@ static int xscale_read_dcsr(struct target *target) fields[1].out_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value; fields[1].in_value = NULL; - jtag_set_end_state(TAP_IDLE); - jtag_add_dr_scan(target->tap, 3, fields, TAP_DRPAUSE); /* DANGER!!! this must be here. It will make sure that the arguments @@ -286,7 +283,6 @@ static int xscale_receive(struct target *target, uint32_t *buffer, int num_words fields[2].check_value = &field2_check_value; fields[2].check_mask = &field2_check_mask; - jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, XSCALE_DBGTX << xscale->xscale_variant, TAP_IDLE); @@ -369,8 +365,6 @@ static int xscale_read_tx(struct target *target, int consume) uint8_t field2_check_value = 0x0; uint8_t field2_check_mask = 0x1; - jtag_set_end_state(TAP_IDLE); - xscale_jtag_set_instr(target->tap, XSCALE_DBGTX << xscale->xscale_variant, TAP_IDLE); @@ -466,8 +460,6 @@ static int xscale_write_rx(struct target *target) uint8_t field2_check_value = 0x0; uint8_t field2_check_mask = 0x1; - jtag_set_end_state(TAP_IDLE); - xscale_jtag_set_instr(target->tap, XSCALE_DBGRX << xscale->xscale_variant, TAP_IDLE); @@ -545,8 +537,6 @@ static int xscale_send(struct target *target, uint8_t *buffer, int count, int si int retval; int done_count = 0; - jtag_set_end_state(TAP_IDLE); - xscale_jtag_set_instr(target->tap, XSCALE_DBGRX << xscale->xscale_variant, TAP_IDLE); @@ -629,7 +619,6 @@ static int xscale_write_dcsr(struct target *target, int hold_rst, int ext_dbg_br if (ext_dbg_brk != -1) xscale->external_debug_break = ext_dbg_brk; - jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, XSCALE_SELDCSR << xscale->xscale_variant, TAP_IDLE); @@ -692,7 +681,6 @@ static int xscale_load_ic(struct target *target, uint32_t va, uint32_t buffer[8] LOG_DEBUG("loading miniIC at 0x%8.8" PRIx32 "", va); /* LDIC into IR */ - jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, XSCALE_LDIC << xscale->xscale_variant, TAP_IDLE); @@ -744,7 +732,6 @@ static int xscale_invalidate_ic_line(struct target *target, uint32_t va) uint8_t cmd; struct scan_field fields[2]; - jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, XSCALE_LDIC << xscale->xscale_variant, TAP_IDLE); @@ -1484,7 +1471,6 @@ static int xscale_assert_reset(struct target *target) /* select DCSR instruction (set endstate to R-T-I to ensure we don't * end up in T-L-R, which would reset JTAG */ - jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, XSCALE_SELDCSR << xscale->xscale_variant, TAP_IDLE); commit 15ff2aeca9b302419aed62fc3cc73dedacdd62cb Author: Ãyvind Harboe <oyv...@zy...> Date: Thu Mar 18 18:41:43 2010 +0100 jtag: remove jtag_get_end_state() usage Code inspection indicated what constant end states to use. Signed-off-by: Ãyvind Harboe <oyv...@zy...> diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c index 3ea23d4..d79c58d 100644 --- a/src/target/mips_ejtag.c +++ b/src/target/mips_ejtag.c @@ -46,7 +46,7 @@ int mips_ejtag_set_instr(struct mips_ejtag *ejtag_info, int new_instr) buf_set_u32(field.out_value, 0, field.num_bits, new_instr); field.in_value = NULL; - jtag_add_ir_scan(tap, &field, jtag_get_end_state()); + jtag_add_ir_scan(tap, &field, TAP_IDLE); } return ERROR_OK; @@ -112,7 +112,7 @@ int mips_ejtag_drscan_32(struct mips_ejtag *ejtag_info, uint32_t *data) buf_set_u32(field.out_value, 0, field.num_bits, *data); field.in_value = r; - jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); + jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); if ((retval = jtag_execute_queue()) != ERROR_OK) { @@ -143,7 +143,7 @@ int mips_ejtag_drscan_8(struct mips_ejtag *ejtag_info, uint32_t *data) buf_set_u32(field.out_value, 0, field.num_bits, *data); field.in_value = r; - jtag_add_dr_scan(tap, 1, &field, jtag_get_end_state()); + jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); if ((retval = jtag_execute_queue()) != ERROR_OK) { @@ -339,7 +339,7 @@ int mips_ejtag_fastdata_scan(struct mips_ejtag *ejtag_info, int write, uint32_t fields[1].in_value = (uint8_t *) data; } - jtag_add_dr_scan(tap, 2, fields, jtag_get_end_state()); + jtag_add_dr_scan(tap, 2, fields, TAP_IDLE); keep_alive(); return ERROR_OK; commit 1911c8ec8d286840c6a0d6a57c423072766d3386 Author: Ãyvind Harboe <oyv...@zy...> Date: Thu Mar 18 18:37:23 2010 +0100 jtag: get rid of unecessary jtag_get_end_state() By code inspection. Signed-off-by: Ãyvind Harboe <oyv...@zy...> diff --git a/src/target/xscale.c b/src/target/xscale.c index 55323ae..f22513a 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -158,7 +158,7 @@ static int xscale_verify_pointer(struct command_context *cmd_ctx, return ERROR_OK; } -static int xscale_jtag_set_instr(struct jtag_tap *tap, uint32_t new_instr) +static int xscale_jtag_set_instr(struct jtag_tap *tap, uint32_t new_instr, tap_state_t end_state) { if (tap == NULL) return ERROR_FAIL; @@ -173,7 +173,7 @@ static int xscale_jtag_set_instr(struct jtag_tap *tap, uint32_t new_instr) field.out_value = scratch; buf_set_u32(field.out_value, 0, field.num_bits, new_instr); - jtag_add_ir_scan(tap, &field, jtag_get_end_state()); + jtag_add_ir_scan(tap, &field, end_state); } return ERROR_OK; @@ -193,7 +193,8 @@ static int xscale_read_dcsr(struct target *target) jtag_set_end_state(TAP_DRPAUSE); xscale_jtag_set_instr(target->tap, - XSCALE_SELDCSR << xscale->xscale_variant); + XSCALE_SELDCSR << xscale->xscale_variant, + TAP_DRPAUSE); buf_set_u32(&field0, 1, 1, xscale->hold_rst); buf_set_u32(&field0, 2, 1, xscale->external_debug_break); @@ -287,7 +288,8 @@ static int xscale_receive(struct target *target, uint32_t *buffer, int num_words jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_DBGTX << xscale->xscale_variant); + XSCALE_DBGTX << xscale->xscale_variant, + TAP_IDLE); 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 */ @@ -370,7 +372,8 @@ static int xscale_read_tx(struct target *target, int consume) jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_DBGTX << xscale->xscale_variant); + XSCALE_DBGTX << xscale->xscale_variant, + TAP_IDLE); path[0] = TAP_DRSELECT; path[1] = TAP_DRCAPTURE; @@ -466,7 +469,8 @@ static int xscale_write_rx(struct target *target) jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_DBGRX << xscale->xscale_variant); + XSCALE_DBGRX << xscale->xscale_variant, + TAP_IDLE); memset(&fields, 0, sizeof fields); @@ -544,7 +548,8 @@ static int xscale_send(struct target *target, uint8_t *buffer, int count, int si jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_DBGRX << xscale->xscale_variant); + XSCALE_DBGRX << xscale->xscale_variant, + TAP_IDLE); bits[0]=3; t[0]=0; @@ -626,7 +631,8 @@ static int xscale_write_dcsr(struct target *target, int hold_rst, int ext_dbg_br jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_SELDCSR << xscale->xscale_variant); + XSCALE_SELDCSR << xscale->xscale_variant, + TAP_IDLE); buf_set_u32(&field0, 1, 1, xscale->hold_rst); buf_set_u32(&field0, 2, 1, xscale->external_debug_break); @@ -688,7 +694,8 @@ static int xscale_load_ic(struct target *target, uint32_t va, uint32_t buffer[8] /* LDIC into IR */ jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_LDIC << xscale->xscale_variant); + XSCALE_LDIC << xscale->xscale_variant, + TAP_IDLE); /* CMD is b011 to load a cacheline into the Mini ICache. * Loading into the main ICache is deprecated, and unused. @@ -739,7 +746,8 @@ static int xscale_invalidate_ic_line(struct target *target, uint32_t va) jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_LDIC << xscale->xscale_variant); + XSCALE_LDIC << xscale->xscale_variant, + TAP_IDLE); /* CMD for invalidate IC line b000, bits [6:4] b000 */ buf_set_u32(&cmd, 0, 6, 0x0); @@ -1478,7 +1486,8 @@ static int xscale_assert_reset(struct target *target) */ jtag_set_end_state(TAP_IDLE); xscale_jtag_set_instr(target->tap, - XSCALE_SELDCSR << xscale->xscale_variant); + XSCALE_SELDCSR << xscale->xscale_variant, + TAP_IDLE); /* set Hold reset, Halt mode and Trap Reset */ buf_set_u32(xscale->reg_cache->reg_list[XSCALE_DCSR].value, 30, 1, 0x1); @@ -1486,7 +1495,7 @@ static int xscale_assert_reset(struct target *target) xscale_write_dcsr(target, 1, 0); /* select BYPASS, because having DCSR selected caused problems on the PXA27x */ - xscale_jtag_set_instr(target->tap, ~0); + xscale_jtag_set_instr(target->tap, ~0, TAP_IDLE); jtag_execute_queue(); /* assert reset */ commit 729845238228f577bc3d6369d83667e5e2df1aee Author: Ãyvind Harboe <oyv...@zy...> Date: Thu Mar 18 18:34:34 2010 +0100 jtag: remove unecessary usage of jtag_get_end_state(). By code inspection. Signed-off-by: Ãyvind Harboe <oyv...@zy...> diff --git a/src/target/etb.c b/src/target/etb.c index 9971070..96a6e0d 100644 --- a/src/target/etb.c +++ b/src/target/etb.c @@ -60,7 +60,7 @@ static int etb_set_instr(struct etb *etb, uint32_t new_instr) field.in_value = NULL; - jtag_add_ir_scan(tap, &field, jtag_get_end_state()); + jtag_add_ir_scan(tap, &field, TAP_IDLE); free(field.out_value); } @@ -82,7 +82,7 @@ static int etb_scann(struct etb *etb, uint32_t new_scan_chain) /* select INTEST instruction */ etb_set_instr(etb, 0x2); - jtag_add_dr_scan(etb->tap, 1, &field, jtag_get_end_state()); + jtag_add_dr_scan(etb->tap, 1, &field, TAP_IDLE); etb->cur_scan_chain = new_scan_chain; commit 8ce828dd382c907db4c6bd38e5b54996e50327fd Author: Ãyvind Harboe <oyv...@zy...> Date: Thu Mar 18 18:31:58 2010 +0100 jtag: remove jtag_get_end_state()'s that should be unecessary By a bit of code inspection it seems like all of these instances of jtag_get_end_state() can be unambigously replaced by constants. Signed-off-by: Ãyvind Harboe <oyv...@zy...> diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c index 177d286..9b8b480 100644 --- a/src/jtag/zy1000/zy1000.c +++ b/src/jtag/zy1000/zy1000.c @@ -849,7 +849,7 @@ void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, uint8_t *buffer, } } else { - tap_state_t end_state = jtag_get_end_state(); + tap_state_t end_state = TAP_IDLE; tap_state_t shift_end_state; if (post_bits == 0) shift_end_state = end_state; diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c index 85c6816..4c8d83d 100644 --- a/src/target/arm7_9_common.c +++ b/src/target/arm7_9_common.c @@ -995,7 +995,7 @@ int arm7_9_assert_reset(struct target *target) * certain ARM9 cores (maybe more) - AT91SAM9260 * and STR9 */ - jtag_add_runtest(1, jtag_get_end_state()); + jtag_add_runtest(1, TAP_IDLE); } else { diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c index 25151ff..f145275 100644 --- a/src/target/arm7tdmi.c +++ b/src/target/arm7tdmi.c @@ -104,9 +104,9 @@ static __inline int arm7tdmi_clock_out_inner(struct arm_jtag *jtag_info, uint32_ 2, arm7tdmi_num_bits, values, - jtag_get_end_state()); + TAP_DRPAUSE); - jtag_add_runtest(0, jtag_get_end_state()); + jtag_add_runtest(0, TAP_DRPAUSE); return ERROR_OK; } diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index b4b6f04..4f28599 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -186,7 +186,7 @@ int arm9tdmi_clock_out(struct arm_jtag *jtag_info, uint32_t instr, jtag_add_dr_scan(jtag_info->tap, 3, fields, TAP_DRPAUSE); } - jtag_add_runtest(0, jtag_get_end_state()); + jtag_add_runtest(0, TAP_DRPAUSE); #ifdef _DEBUG_INSTRUCTION_EXECUTION_ { diff --git a/src/target/embeddedice.h b/src/target/embeddedice.h index cd48ce6..d278115 100644 --- a/src/target/embeddedice.h +++ b/src/target/embeddedice.h @@ -128,7 +128,7 @@ static __inline__ void embeddedice_write_reg_inner(struct jtag_tap *tap, int reg 2, embeddedice_num_bits, values, - jtag_get_end_state()); + TAP_IDLE); } void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, uint8_t *buffer, int little, int count); ----------------------------------------------------------------------- Summary of changes: src/jtag/core.c | 20 ------------------ src/jtag/jtag.h | 20 ------------------ src/jtag/zy1000/zy1000.c | 2 +- src/pld/virtex2.c | 2 - src/target/adi_v5_jtag.c | 2 - src/target/arm720t.c | 1 - src/target/arm7_9_common.c | 5 +--- src/target/arm7tdmi.c | 9 +------ src/target/arm920t.c | 3 -- src/target/arm926ejs.c | 2 - src/target/arm966e.c | 2 - src/target/arm9tdmi.c | 7 +----- src/target/embeddedice.c | 5 ---- src/target/embeddedice.h | 2 +- src/target/etb.c | 7 +---- src/target/etm.c | 2 - src/target/feroceon.c | 1 - src/target/mips_ejtag.c | 13 +++-------- src/target/mips_m4k.c | 5 ---- src/target/xscale.c | 47 +++++++++++++++++++------------------------ 20 files changed, 33 insertions(+), 124 deletions(-) hooks/post-receive -- Main OpenOCD repository |