else
{
/* Danger!!! if clk!=0 when in
- * idle in TAP_RTI, reset halt on str912 will fail.
+ * idle in TAP_IDLE, reset halt on str912 will fail.
*/
ZY1000_POKE(ZY1000_JTAG_BASE+0x10, 0x00000001);
}
if (trst||(srst&&(jtag_reset_config & RESET_SRST_PULLS_TRST)))
{
waitIdle();
- /* we're now in the TLR state until trst is deasserted */
- ZY1000_POKE(ZY1000_JTAG_BASE+0x20, TAP_TLR);
+ /* we're now in the RESET state until trst is deasserted */
+ ZY1000_POKE(ZY1000_JTAG_BASE+0x20, TAP_RESET);
} else
{
/* We'll get RCLK failure when we assert TRST, so clear any false positives here */
int loadFile(const char *fileName, void **data, int *len)
{
FILE * pFile;
- pFile = fopen (fileName,"rb");
+ pFile = fopen(fileName,"rb");
if (pFile==NULL)
{
LOG_ERROR("Can't open %s\n", fileName);
return ERROR_JTAG_DEVICE_ERROR;
}
- if (fseek (pFile, 0, SEEK_END)!=0)
- {
+ if (fseek(pFile, 0, SEEK_END)!=0)
+ {
LOG_ERROR("Can't open %s\n", fileName);
fclose(pFile);
return ERROR_JTAG_DEVICE_ERROR;
- }
- *len=ftell (pFile);
- if (*len==-1)
- {
+ }
+ *len=ftell(pFile);
+ if (*len==-1)
+ {
LOG_ERROR("Can't open %s\n", fileName);
fclose(pFile);
return ERROR_JTAG_DEVICE_ERROR;
- }
+ }
- if (fseek (pFile, 0, SEEK_SET)!=0)
- {
+ if (fseek(pFile, 0, SEEK_SET)!=0)
+ {
LOG_ERROR("Can't open %s\n", fileName);
fclose(pFile);
return ERROR_JTAG_DEVICE_ERROR;
- }
- *data=malloc(*len+1);
- if (*data==NULL)
- {
+ }
+ *data=malloc(*len+1);
+ if (*data==NULL)
+ {
LOG_ERROR("Can't open %s\n", fileName);
fclose(pFile);
return ERROR_JTAG_DEVICE_ERROR;
- }
+ }
- if (fread(*data, 1, *len, pFile)!=*len)
- {
+ if (fread(*data, 1, *len, pFile)!=*len)
+ {
fclose(pFile);
- free(*data);
+ free(*data);
LOG_ERROR("Can't open %s\n", fileName);
return ERROR_JTAG_DEVICE_ERROR;
- }
- fclose (pFile);
- *(((char *)(*data))+*len)=0; /* sentinel */
+ }
+ fclose(pFile);
+ *(((char *)(*data))+*len)=0; /* sentinel */
- return ERROR_OK;
+ return ERROR_OK;
#if 0
static void shiftValueInnerFlip(const enum tap_state state, const enum tap_state endState, int repeat, cyg_uint32 value)
{
- VERBOSE(LOG_INFO("shiftValueInner %s %s %d %08x (flipped)", tap_state_strings[state], tap_state_strings[endState], repeat, value));
+ VERBOSE(LOG_INFO("shiftValueInner %s %s %d %08x (flipped)", jtag_state_name(state), jtag_state_name(endState), repeat, value));
cyg_uint32 a,b;
a=state;
b=endState;
enum tap_state pause_state;
int l;
k=num_bits-j;
- pause_state=(shiftState==TAP_SD)?TAP_SD:TAP_SI;
+ pause_state=(shiftState==TAP_DRSHIFT)?TAP_DRSHIFT:TAP_IRSHIFT;
if (k>32)
{
k=32;
} else if (pause&&(i == num_fields-1))
{
/* this was the last to shift out this time */
- pause_state=(shiftState==TAP_SD)?TAP_PD:TAP_PI;
+ pause_state=(shiftState==TAP_DRSHIFT)?TAP_DRPAUSE:TAP_IRPAUSE;
}
// we have (num_bits+7)/8 bytes of bits to toggle out.
int r=fields[i].in_handler(inBuffer, fields[i].in_handler_priv, fields+i);
if (r!=ERROR_OK)
{
- /* this will cause jtag_execute_queue() to return an error */
+ /* this will cause jtag_execute_queue() to return an error */
jtag_error=r;
}
}
fields[j].in_check_mask = tap->expected_mask;
}
- scanFields(1, fields+j, TAP_SI, pause);
+ scanFields(1, fields+j, TAP_IRSHIFT, pause);
/* update device information */
buf_cpy(fields[j].out_value, tap->cur_instr, scan_size);
memset(&tmp, 0, sizeof(tmp));
tmp.out_value = ones;
tmp.num_bits = scan_size;
- scanFields(1, &tmp, TAP_SI, pause);
+ scanFields(1, &tmp, TAP_IRSHIFT, pause);
/* update device information */
buf_cpy(tmp.out_value, tap->cur_instr, scan_size);
tap->bypass = 1;
int interface_jtag_add_plain_ir_scan(int num_fields, scan_field_t *fields, enum tap_state state)
{
- scanFields(num_fields, fields, TAP_SI, 1);
+ scanFields(num_fields, fields, TAP_IRSHIFT, 1);
gotoEndState();
return ERROR_OK;
{
found = 1;
- scanFields(1, fields+j, TAP_SD, pause);
+ scanFields(1, fields+j, TAP_DRSHIFT, pause);
}
}
if (!found)
tmp.in_handler = NULL;
tmp.in_handler_priv = NULL;
- scanFields(1, &tmp, TAP_SD, pause);
+ scanFields(1, &tmp, TAP_DRSHIFT, pause);
}
else
{
int interface_jtag_add_plain_dr_scan(int num_fields, scan_field_t *fields, enum tap_state state)
{
- scanFields(num_fields, fields, TAP_SD, 1);
+ scanFields(num_fields, fields, TAP_DRSHIFT, 1);
gotoEndState();
return ERROR_OK;
}
int interface_jtag_add_tlr()
{
- setCurrentState(TAP_TLR);
+ setCurrentState(TAP_RESET);
return ERROR_OK;
}
int interface_jtag_add_runtest(int num_cycles, enum tap_state state)
{
/* num_cycles can be 0 */
- setCurrentState(TAP_RTI);
+ setCurrentState(TAP_IDLE);
/* execute num_cycles, 32 at the time. */
int i;
{
num=num_cycles-i;
}
- shiftValueInner(TAP_RTI, TAP_RTI, num, 0);
+ shiftValueInner(TAP_IDLE, TAP_IDLE, num, 0);
}
#if !TEST_MANUAL()
/* finish in end_state */
setCurrentState(state);
#else
- enum tap_state t=TAP_RTI;
+ enum tap_state t=TAP_IDLE;
/* test manual drive code on any target */
int tms;
u8 tms_scan = TAP_MOVE(t, state);
}
else
{
- LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[path[state_count]]);
+ LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(path[state_count)]);
exit(-1);
}
int i;
for (i = 0; i < count; i++)
{
- shiftValueInner(TAP_SD, TAP_SD, 32, fast_target_buffer_get_u32(buffer, 1));
- shiftValueInner(TAP_SD, end_state, 6, reg_addr|(1<<5));
+ shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, 32, fast_target_buffer_get_u32(buffer, 1));
+ shiftValueInner(TAP_DRSHIFT, end_state, 6, reg_addr|(1<<5));
buffer+=4;
}
} else
int i;
for (i = 0; i < count; i++)
{
- shiftValueInner(TAP_SD, TAP_SD, 32, fast_target_buffer_get_u32(buffer, 0));
- shiftValueInner(TAP_SD, end_state, 6, reg_addr|(1<<5));
+ shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, 32, fast_target_buffer_get_u32(buffer, 0));
+ shiftValueInner(TAP_DRSHIFT, end_state, 6, reg_addr|(1<<5));
buffer+=4;
}
}