|
From: <kc...@ma...> - 2008-12-13 07:26:14
|
Author: kc8apf
Date: 2008-12-13 07:25:50 +0100 (Sat, 13 Dec 2008)
New Revision: 1232
Modified:
trunk/src/flash/str9xpec.c
trunk/src/jtag/amt_jtagaccel.c
trunk/src/jtag/bitbang.c
trunk/src/jtag/bitq.c
trunk/src/jtag/ft2232.c
trunk/src/jtag/gw16012.c
trunk/src/jtag/jlink.c
trunk/src/jtag/jtag.c
trunk/src/jtag/jtag.h
trunk/src/jtag/usbprog.c
trunk/src/jtag/zy1000.c
trunk/src/pld/virtex2.c
trunk/src/target/arm11.c
trunk/src/target/arm11_dbgtap.c
trunk/src/target/arm720t.c
trunk/src/target/arm7_9_common.c
trunk/src/target/arm7tdmi.c
trunk/src/target/arm920t.c
trunk/src/target/arm926ejs.c
trunk/src/target/arm966e.c
trunk/src/target/arm9tdmi.c
trunk/src/target/cortex_swjdp.c
trunk/src/target/embeddedice.c
trunk/src/target/etb.c
trunk/src/target/etm.c
trunk/src/target/feroceon.c
trunk/src/target/mips_ejtag.c
trunk/src/target/mips_m4k.c
trunk/src/target/xscale.c
trunk/src/xsvf/xsvf.c
Log:
Change tap_state naming to be consistent with SVF documentation.
Courtesy of Dick Hollenbeck <di...@so...>
Modified: trunk/src/flash/str9xpec.c
===================================================================
--- trunk/src/flash/str9xpec.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/flash/str9xpec.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -145,7 +145,7 @@
scan_field_t field;
u8 status;
- if (str9xpec_set_instr(tap, ISC_NOOP, TAP_PI) != ERROR_OK)
+ if (str9xpec_set_instr(tap, ISC_NOOP, TAP_IRPAUSE) != ERROR_OK)
return ISC_STATUS_ERROR;
field.tap = tap;
@@ -158,7 +158,7 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
jtag_execute_queue();
LOG_DEBUG("status: 0x%2.2x", status);
@@ -181,7 +181,7 @@
return ERROR_OK;
/* enter isc mode */
- if (str9xpec_set_instr(tap, ISC_ENABLE, TAP_RTI) != ERROR_OK)
+ if (str9xpec_set_instr(tap, ISC_ENABLE, TAP_IDLE) != ERROR_OK)
return ERROR_TARGET_INVALID;
/* check ISC status */
@@ -207,7 +207,7 @@
if (!str9xpec_info->isc_enable)
return ERROR_OK;
- if (str9xpec_set_instr(tap, ISC_DISABLE, TAP_RTI) != ERROR_OK)
+ if (str9xpec_set_instr(tap, ISC_DISABLE, TAP_IDLE) != ERROR_OK)
return ERROR_TARGET_INVALID;
/* delay to handle aborts */
@@ -238,7 +238,7 @@
LOG_DEBUG("ISC_CONFIGURATION");
/* execute ISC_CONFIGURATION command */
- str9xpec_set_instr(tap, ISC_CONFIGURATION, TAP_PI);
+ str9xpec_set_instr(tap, ISC_CONFIGURATION, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 64;
@@ -250,7 +250,7 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
jtag_execute_queue();
status = str9xpec_isc_status(tap);
@@ -349,10 +349,10 @@
armv4_5 = bank->target->arch_info;
arm7_9 = armv4_5->arch_info;
jtag_info = &arm7_9->jtag_info;
-
+
str9xpec_info->tap = jtag_TapByAbsPosition( jtag_info->tap->abs_chain_position - 1);
str9xpec_info->isc_enable = 0;
-
+
str9xpec_build_block_list(bank);
/* clear option byte register */
@@ -390,7 +390,7 @@
}
/* execute ISC_BLANK_CHECK command */
- str9xpec_set_instr(tap, ISC_BLANK_CHECK, TAP_PI);
+ str9xpec_set_instr(tap, ISC_BLANK_CHECK, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 64;
@@ -402,7 +402,7 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
jtag_add_sleep(40000);
/* read blank check result */
@@ -416,7 +416,7 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_PI);
+ jtag_add_dr_scan(1, &field, TAP_IRPAUSE);
jtag_execute_queue();
status = str9xpec_isc_status(tap);
@@ -506,7 +506,7 @@
LOG_DEBUG("ISC_ERASE");
/* execute ISC_ERASE command */
- str9xpec_set_instr(tap, ISC_ERASE, TAP_PI);
+ str9xpec_set_instr(tap, ISC_ERASE, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 64;
@@ -518,7 +518,7 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
jtag_execute_queue();
jtag_add_sleep(10);
@@ -569,9 +569,9 @@
str9xpec_set_address(bank, 0x80);
/* execute ISC_PROGRAM command */
- str9xpec_set_instr(tap, ISC_PROGRAM_SECURITY, TAP_RTI);
+ str9xpec_set_instr(tap, ISC_PROGRAM_SECURITY, TAP_IDLE);
- str9xpec_set_instr(tap, ISC_NOOP, TAP_PI);
+ str9xpec_set_instr(tap, ISC_NOOP, TAP_IRPAUSE);
do {
field.tap = tap;
@@ -658,7 +658,7 @@
tap = str9xpec_info->tap;
/* set flash controller address */
- str9xpec_set_instr(tap, ISC_ADDRESS_SHIFT, TAP_PI);
+ str9xpec_set_instr(tap, ISC_ADDRESS_SHIFT, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 8;
@@ -747,7 +747,7 @@
while (dwords_remaining > 0)
{
- str9xpec_set_instr(tap, ISC_PROGRAM, TAP_PI);
+ str9xpec_set_instr(tap, ISC_PROGRAM, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 64;
@@ -759,12 +759,12 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
/* small delay before polling */
jtag_add_sleep(50);
- str9xpec_set_instr(tap, ISC_NOOP, TAP_PI);
+ str9xpec_set_instr(tap, ISC_NOOP, TAP_IRPAUSE);
do {
field.tap = tap;
@@ -807,7 +807,7 @@
bytes_written++;
}
- str9xpec_set_instr(tap, ISC_PROGRAM, TAP_PI);
+ str9xpec_set_instr(tap, ISC_PROGRAM, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 64;
@@ -819,12 +819,12 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
/* small delay before polling */
jtag_add_sleep(50);
- str9xpec_set_instr(tap, ISC_NOOP, TAP_PI);
+ str9xpec_set_instr(tap, ISC_NOOP, TAP_IRPAUSE);
do {
field.tap = tap;
@@ -889,7 +889,7 @@
buffer = calloc(CEIL(32, 8), 1);
- str9xpec_set_instr(tap, ISC_IDCODE, TAP_PI);
+ str9xpec_set_instr(tap, ISC_IDCODE, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 32;
@@ -901,7 +901,7 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
jtag_execute_queue();
idcode = buf_get_u32(buffer, 0, 32);
@@ -1014,7 +1014,7 @@
str9xpec_set_address(bank, 0x50);
/* execute ISC_PROGRAM command */
- str9xpec_set_instr(tap, ISC_PROGRAM, TAP_PI);
+ str9xpec_set_instr(tap, ISC_PROGRAM, TAP_IRPAUSE);
field.tap = tap;
field.num_bits = 64;
@@ -1026,12 +1026,12 @@
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, TAP_RTI);
+ jtag_add_dr_scan(1, &field, TAP_IDLE);
/* small delay before polling */
jtag_add_sleep(50);
- str9xpec_set_instr(tap, ISC_NOOP, TAP_PI);
+ str9xpec_set_instr(tap, ISC_NOOP, TAP_IRPAUSE);
do {
field.tap = tap;
@@ -1303,13 +1303,13 @@
}
/* enable turbo mode - TURBO-PROG-ENABLE */
- str9xpec_set_instr(tap2, 0xD, TAP_RTI);
+ str9xpec_set_instr(tap2, 0xD, TAP_IDLE);
if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval;
/* modify scan chain - str9 core has been removed */
tap1->enabled = 0;
-
+
return ERROR_OK;
}
@@ -1337,11 +1337,11 @@
if (tap == NULL)
return ERROR_FAIL;
-
+
/* exit turbo mode via TLR */
- str9xpec_set_instr(tap, ISC_NOOP, TAP_TLR);
+ str9xpec_set_instr(tap, ISC_NOOP, TAP_RESET);
jtag_execute_queue();
-
+
/* restore previous scan chain */
if (tap->next_tap) {
tap->next_tap->enabled = 1;
Modified: trunk/src/jtag/amt_jtagaccel.c
===================================================================
--- trunk/src/jtag/amt_jtagaccel.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/jtag/amt_jtagaccel.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -109,13 +109,13 @@
{{0x1f, 0x00}, {0x0c, 0x00}, {0x07, 0x00}, {0x97, 0x00}, {0x08, 0x00}, {0x00, 0x00}}, /* PI */
};
-jtag_interface_t amt_jtagaccel_interface =
+jtag_interface_t amt_jtagaccel_interface =
{
.name = "amt_jtagaccel",
-
+
.execute_queue = amt_jtagaccel_execute_queue,
- .speed = amt_jtagaccel_speed,
+ .speed = amt_jtagaccel_speed,
.register_commands = amt_jtagaccel_register_commands,
.init = amt_jtagaccel_init,
.quit = amt_jtagaccel_quit,
@@ -127,7 +127,7 @@
COMMAND_CONFIG, NULL);
register_command(cmd_ctx, NULL, "rtck", amt_jtagaccel_handle_rtck_command,
COMMAND_CONFIG, NULL);
-
+
return ERROR_OK;
}
@@ -142,7 +142,7 @@
aw_control_rst |= 0x1;
else if (srst == 0)
aw_control_rst &= ~0x1;
-
+
AMT_AW(aw_control_rst);
}
@@ -151,7 +151,7 @@
aw_control_baudrate &= 0xf0;
aw_control_baudrate |= speed & 0x0f;
AMT_AW(aw_control_baudrate);
-
+
return ERROR_OK;
}
@@ -170,11 +170,11 @@
{
int timeout = 4096;
u8 ar_status;
-
+
AMT_AR(ar_status);
while (((ar_status) & 0x80) && (timeout-- > 0))
AMT_AR(ar_status);
-
+
if (ar_status & 0x80)
{
LOG_ERROR("amt_jtagaccel timed out while waiting for end of scan, rtck was %s, last AR_STATUS: 0x%2.2x", (rtck_enabled) ? "enabled" : "disabled", ar_status);
@@ -186,15 +186,15 @@
{
u8 aw_scan_tms_5;
u8 tms_scan[2];
-
+
tms_scan[0] = amt_jtagaccel_tap_move[tap_move_map[cur_state]][tap_move_map[end_state]][0];
tms_scan[1] = amt_jtagaccel_tap_move[tap_move_map[cur_state]][tap_move_map[end_state]][1];
-
+
aw_scan_tms_5 = 0x40 | (tms_scan[0] & 0x1f);
AMT_AW(aw_scan_tms_5);
if (jtag_speed > 3 || rtck_enabled)
amt_wait_scan_busy();
-
+
if (tms_scan[0] & 0x80)
{
aw_scan_tms_5 = 0x40 | (tms_scan[1] & 0x1f);
@@ -202,7 +202,7 @@
if (jtag_speed > 3 || rtck_enabled)
amt_wait_scan_busy();
}
-
+
cur_state = end_state;
}
@@ -213,27 +213,27 @@
u8 aw_scan_tms_1to4;
enum tap_state saved_end_state = end_state;
-
+
/* only do a state_move when we're not already in RTI */
- if (cur_state != TAP_RTI)
+ if (cur_state != TAP_IDLE)
{
- amt_jtagaccel_end_state(TAP_RTI);
+ amt_jtagaccel_end_state(TAP_IDLE);
amt_jtagaccel_state_move();
}
-
+
while (num_cycles - i >= 5)
{
aw_scan_tms_5 = 0x40;
AMT_AW(aw_scan_tms_5);
i += 5;
}
-
+
if (num_cycles - i > 0)
{
aw_scan_tms_1to4 = 0x80 | ((num_cycles - i - 1) & 0x3) << 4;
AMT_AW(aw_scan_tms_1to4);
}
-
+
amt_jtagaccel_end_state(saved_end_state);
if (cur_state != end_state)
amt_jtagaccel_state_move();
@@ -251,9 +251,9 @@
u8 tms_scan[2];
if (ir_scan)
- amt_jtagaccel_end_state(TAP_SI);
+ amt_jtagaccel_end_state(TAP_IRSHIFT);
else
- amt_jtagaccel_end_state(TAP_SD);
+ amt_jtagaccel_end_state(TAP_DRSHIFT);
amt_jtagaccel_state_move();
amt_jtagaccel_end_state(saved_end_state);
@@ -263,7 +263,7 @@
{
aw_tdi_option = 0x30 | (((scan_size - 1) % 8) - 1);
AMT_AW(aw_tdi_option);
-
+
dw_tdi_scan = buf_get_u32(buffer, bit_count, (scan_size - 1) % 8) & 0xff;
AMT_DW(dw_tdi_scan);
if (jtag_speed > 3 || rtck_enabled)
@@ -275,11 +275,11 @@
dr_tdo = dr_tdo >> (8 - ((scan_size - 1) % 8));
buf_set_u32(buffer, bit_count, (scan_size - 1) % 8, dr_tdo);
}
-
+
bit_count += (scan_size - 1) % 8;
bits_left -= (scan_size - 1) % 8;
}
-
+
while (bits_left - 1 >= 8)
{
dw_tdi_scan = buf_get_u32(buffer, bit_count, 8) & 0xff;
@@ -292,11 +292,11 @@
AMT_DR(dr_tdo);
buf_set_u32(buffer, bit_count, 8, dr_tdo);
}
-
+
bit_count += 8;
bits_left -= 8;
}
-
+
tms_scan[0] = amt_jtagaccel_tap_move[tap_move_map[cur_state]][tap_move_map[end_state]][0];
tms_scan[1] = amt_jtagaccel_tap_move[tap_move_map[cur_state]][tap_move_map[end_state]][1];
aw_tms_scan = 0x40 | (tms_scan[0] & 0x1f) | (buf_get_u32(buffer, bit_count, 1) << 5);
@@ -310,7 +310,7 @@
dr_tdo = dr_tdo >> 7;
buf_set_u32(buffer, bit_count, 1, dr_tdo);
}
-
+
if (tms_scan[0] & 0x80)
{
aw_tms_scan = 0x40 | (tms_scan[1] & 0x1f);
@@ -328,12 +328,12 @@
enum scan_type type;
u8 *buffer;
int retval;
-
+
/* return ERROR_OK, unless a jtag_read_buffer returns a failed check
* that wasn't handled by a caller-provided error handler
- */
+ */
retval = ERROR_OK;
-
+
while (cmd)
{
switch (cmd->type)
@@ -351,7 +351,7 @@
#endif
if (cmd->cmd.reset->trst == 1)
{
- cur_state = TAP_TLR;
+ cur_state = TAP_RESET;
}
amt_jtagaccel_reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
break;
@@ -397,7 +397,7 @@
}
cmd = cmd->next;
}
-
+
return retval;
}
@@ -409,16 +409,16 @@
version.dwOSVersionInfoSize = sizeof version;
if (!GetVersionEx( &version )) {
- errno = EINVAL;
- return -1;
+ errno = EINVAL;
+ return -1;
}
if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
- return 0;
+ return 0;
h = CreateFile( "\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
if (h == INVALID_HANDLE_VALUE) {
- errno = ENODEV;
- return -1;
+ errno = ENODEV;
+ return -1;
}
CloseHandle( h );
@@ -437,7 +437,7 @@
u8 status_port;
#endif
u8 ar_status;
-
+
#if PARPORT_USE_PPDEV == 1
if (device_handle > 0)
{
@@ -447,7 +447,7 @@
snprintf(buffer, 256, "/dev/parport%d", amt_jtagaccel_port);
device_handle = open(buffer, O_RDWR);
-
+
if (device_handle < 0)
{
LOG_ERROR("cannot open device. check it exists and that user read and write rights are set");
@@ -468,7 +468,7 @@
LOG_ERROR(" cannot set compatible mode to device");
return ERROR_JTAG_INIT_FAILED;
}
-
+
control_port = 0x00;
i = ioctl(device_handle, PPWCONTROL, &control_port);
@@ -484,57 +484,57 @@
#if PARPORT_USE_GIVEIO == 1
if (amt_jtagaccel_get_giveio_access() != 0) {
-#else /* PARPORT_USE_GIVEIO */
+#else /* PARPORT_USE_GIVEIO */
if (ioperm(amt_jtagaccel_port, 5, 1) != 0) {
#endif /* PARPORT_USE_GIVEIO */
LOG_ERROR("missing privileges for direct i/o");
return ERROR_JTAG_INIT_FAILED;
}
-
+
/* prepare epp port */
/* clear timeout */
status_port = inb(amt_jtagaccel_port + 1);
outb(status_port | 0x1, amt_jtagaccel_port + 1);
-
+
/* reset epp port */
outb(0x00, amt_jtagaccel_port + 2);
outb(0x04, amt_jtagaccel_port + 2);
#endif
-
+
if (rtck_enabled)
- {
+ {
/* set RTCK enable bit */
aw_control_fsm |= 0x02;
}
-
+
/* enable JTAG port */
aw_control_fsm |= 0x04;
AMT_AW(aw_control_fsm);
-
+
amt_jtagaccel_speed(jtag_speed);
-
+
if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
aw_control_rst &= ~0x8;
else
aw_control_rst |= 0x8;
-
+
if (jtag_reset_config & RESET_SRST_PUSH_PULL)
aw_control_rst &= ~0x2;
else
aw_control_rst |= 0x2;
-
+
amt_jtagaccel_reset(0, 0);
-
+
/* read status register */
AMT_AR(ar_status);
LOG_DEBUG("AR_STATUS: 0x%2.2x", ar_status);
-
+
return ERROR_OK;
}
int amt_jtagaccel_quit(void)
{
-
+
return ERROR_OK;
}
@@ -568,6 +568,6 @@
rtck_enabled = 0;
}
}
-
+
return ERROR_OK;
}
Modified: trunk/src/jtag/bitbang.c
===================================================================
--- trunk/src/jtag/bitbang.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/jtag/bitbang.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -41,24 +41,24 @@
/* DANGER!!!! clock absolutely *MUST* be 0 in idle or reset won't work!
- *
+ *
* Set this to 1 and str912 reset halt will fail.
- *
+ *
* If someone can submit a patch with an explanation it will be greatly
* appreciated, but as far as I can tell () DCLK is generated upon
- * clk=0 in TAP_RTI. Good luck deducing that from the ARM documentation!
- * The ARM documentation uses the term "DCLK is asserted while in the TAP_RTI
+ * clk=0 in TAP_IDLE. Good luck deducing that from the ARM documentation!
+ * The ARM documentation uses the term "DCLK is asserted while in the TAP_IDLE
* state". With hardware there is no such thing as *while* in a state. There
* are only edges. So clk => 0 is in fact a very subtle state transition that
- * happens *while* in the TAP_RTI state. "#&"#&"#&"#&
- *
+ * happens *while* in the TAP_IDLE state. "#&"#&"#&"#&
+ *
* For "reset halt" the last thing that happens before srst is asserted
* is that the breakpoint is set up. If DCLK is not wiggled one last
* time before the reset, then the breakpoint is not set up and
* "reset halt" will fail to halt.
- *
+ *
*/
-#define CLOCK_IDLE() 0
+#define CLOCK_IDLE() 0
int bitbang_execute_queue(void);
@@ -76,10 +76,10 @@
}
void bitbang_state_move(void) {
-
+
int i=0, tms=0;
u8 tms_scan = TAP_MOVE(cur_state, end_state);
-
+
for (i = 0; i < 7; i++)
{
tms = (tms_scan >> i) & 1;
@@ -87,7 +87,7 @@
bitbang_interface->write(1, tms, 0);
}
bitbang_interface->write(CLOCK_IDLE(), tms, 0);
-
+
cur_state = end_state;
}
@@ -113,7 +113,7 @@
LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[state_count]]);
exit(-1);
}
-
+
bitbang_interface->write(0, tms, 0);
bitbang_interface->write(1, tms, 0);
@@ -121,7 +121,7 @@
state_count++;
num_states--;
}
-
+
bitbang_interface->write(CLOCK_IDLE(), tms, 0);
end_state = cur_state;
@@ -130,16 +130,16 @@
void bitbang_runtest(int num_cycles)
{
int i;
-
+
enum tap_state saved_end_state = end_state;
-
+
/* only do a state_move when we're not already in RTI */
- if (cur_state != TAP_RTI)
+ if (cur_state != TAP_IDLE)
{
- bitbang_end_state(TAP_RTI);
+ bitbang_end_state(TAP_IDLE);
bitbang_state_move();
}
-
+
/* execute num_cycles */
for (i = 0; i < num_cycles; i++)
{
@@ -147,7 +147,7 @@
bitbang_interface->write(1, 0, 0);
}
bitbang_interface->write(CLOCK_IDLE(), 0, 0);
-
+
/* finish in end_state */
bitbang_end_state(saved_end_state);
if (cur_state != end_state)
@@ -158,13 +158,13 @@
{
enum tap_state saved_end_state = end_state;
int bit_cnt;
-
- if (!((!ir_scan && (cur_state == TAP_SD)) || (ir_scan && (cur_state == TAP_SI))))
+
+ if (!((!ir_scan && (cur_state == TAP_DRSHIFT)) || (ir_scan && (cur_state == TAP_IRSHIFT))))
{
if (ir_scan)
- bitbang_end_state(TAP_SI);
+ bitbang_end_state(TAP_IRSHIFT);
else
- bitbang_end_state(TAP_SD);
+ bitbang_end_state(TAP_DRSHIFT);
bitbang_state_move();
bitbang_end_state(saved_end_state);
@@ -181,7 +181,7 @@
/* if we're just reading the scan, but don't care about the output
* default to outputting 'low', this also makes valgrind traces more readable,
* as it removes the dependency on an uninitialised value
- */
+ */
tdi=0;
if ((type != SCAN_IN) && (buffer[bytec] & bcval))
tdi=1;
@@ -192,7 +192,7 @@
val=bitbang_interface->read();
bitbang_interface->write(1, tms, tdi);
-
+
if (type != SCAN_OUT)
{
if (val)
@@ -201,21 +201,21 @@
buffer[bytec] &= ~bcval;
}
}
-
- /* TAP_SD & TAP_SI are illegal end states, so we always transition to the pause
+
+ /* TAP_DRSHIFT & TAP_IRSHIFT are illegal end states, so we always transition to the pause
* state which is a legal stable state from which statemove will work.
- *
- * Exit1 -> Pause
+ *
+ * Exit1 -> Pause
*/
bitbang_interface->write(0, 0, 0);
bitbang_interface->write(1, 0, 0);
bitbang_interface->write(CLOCK_IDLE(), 0, 0);
-
+
if (ir_scan)
- cur_state = TAP_PI;
+ cur_state = TAP_IRPAUSE;
else
- cur_state = TAP_PD;
-
+ cur_state = TAP_DRPAUSE;
+
if (cur_state != end_state)
bitbang_state_move();
}
@@ -227,18 +227,18 @@
enum scan_type type;
u8 *buffer;
int retval;
-
+
if (!bitbang_interface)
{
LOG_ERROR("BUG: Bitbang interface called, but not yet initialized");
exit(-1);
}
-
+
/* return ERROR_OK, unless a jtag_read_buffer returns a failed check
* that wasn't handled by a caller-provided error handler
- */
+ */
retval = ERROR_OK;
-
+
if(bitbang_interface->blink)
bitbang_interface->blink(1);
@@ -259,7 +259,7 @@
#endif
if ((cmd->cmd.reset->trst == 1) || (cmd->cmd.reset->srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))
{
- cur_state = TAP_TLR;
+ cur_state = TAP_RESET;
}
bitbang_interface->reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
break;
@@ -313,7 +313,7 @@
}
if(bitbang_interface->blink)
bitbang_interface->blink(0);
-
+
return retval;
}
Modified: trunk/src/jtag/bitq.c
===================================================================
--- trunk/src/jtag/bitq.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/jtag/bitq.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -195,7 +195,7 @@
int i;
/* only do a state_move when we're not already in RTI */
- if (cur_state != TAP_RTI) bitq_state_move(TAP_RTI);
+ if (cur_state != TAP_IDLE) bitq_state_move(TAP_IDLE);
/* execute num_cycles */
for (i = 0; i < num_cycles; i++)
@@ -240,8 +240,8 @@
if (pause) {
bitq_io(0,0,0);
- if (cur_state==TAP_SI) cur_state=TAP_PI;
- else if (cur_state==TAP_SD) cur_state=TAP_PD;
+ if (cur_state==TAP_IRSHIFT) cur_state=TAP_IRPAUSE;
+ else if (cur_state==TAP_DRSHIFT) cur_state=TAP_DRPAUSE;
}
}
@@ -250,8 +250,8 @@
{
int i;
- if (cmd->ir_scan) bitq_state_move(TAP_SI);
- else bitq_state_move(TAP_SD);
+ if (cmd->ir_scan) bitq_state_move(TAP_IRSHIFT);
+ else bitq_state_move(TAP_DRSHIFT);
for (i=0; i < cmd->num_fields-1; i++)
bitq_scan_field(&cmd->fields[i], 0);
@@ -285,7 +285,7 @@
#endif
if ((cmd->cmd.reset->trst == 1) || (cmd->cmd.reset->srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))
{
- cur_state = TAP_TLR;
+ cur_state = TAP_RESET;
}
bitq_interface->reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
if (bitq_interface->in_rdy()) bitq_in_proc();
Modified: trunk/src/jtag/ft2232.c
===================================================================
--- trunk/src/jtag/ft2232.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/jtag/ft2232.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -157,13 +157,13 @@
#define BUFFER_ADD ft2232_buffer[ft2232_buffer_size++]
#define BUFFER_READ ft2232_buffer[ft2232_read_pointer++]
-jtag_interface_t ft2232_interface =
+jtag_interface_t ft2232_interface =
{
.name = "ft2232",
.execute_queue = ft2232_execute_queue,
.speed = ft2232_speed,
.speed_div = ft2232_speed_div,
- .khz = ft2232_khz,
+ .khz = ft2232_khz,
.register_commands = ft2232_register_commands,
.init = ft2232_init,
.quit = ft2232_quit,
@@ -183,7 +183,7 @@
else
{
*bytes_written = dw_bytes_written;
- return ERROR_OK;
+ return ERROR_OK;
}
#elif BUILD_FT2232_LIBFTDI == 1
int retval;
@@ -196,7 +196,7 @@
else
{
*bytes_written = retval;
- return ERROR_OK;
+ return ERROR_OK;
}
#endif
}
@@ -211,20 +211,20 @@
while ((*bytes_read < size) && timeout--)
{
- if ((status = FT_Read(ftdih, buf + *bytes_read, size -
- *bytes_read, &dw_bytes_read)) != FT_OK)
+ if ((status = FT_Read(ftdih, buf + *bytes_read, size -
+ *bytes_read, &dw_bytes_read)) != FT_OK)
{
- *bytes_read = 0;
+ *bytes_read = 0;
LOG_ERROR("FT_Read returned: %lu", status);
return ERROR_JTAG_DEVICE_ERROR;
}
- *bytes_read += dw_bytes_read;
+ *bytes_read += dw_bytes_read;
}
#elif BUILD_FT2232_LIBFTDI == 1
int retval;
int timeout = 100;
*bytes_read = 0;
-
+
while ((*bytes_read < size) && timeout--)
{
if ((retval = ftdi_read_data(&ftdic, buf + *bytes_read, size - *bytes_read)) < 0)
@@ -242,7 +242,7 @@
LOG_ERROR("couldn't read the requested number of bytes from FT2232 device (%i < %i)", *bytes_read, size);
return ERROR_JTAG_DEVICE_ERROR;
}
-
+
return ERROR_OK;
}
@@ -255,7 +255,7 @@
buf[0] = 0x86; /* command "set divisor" */
buf[1] = speed & 0xff; /* valueL (0=6MHz, 1=3MHz, 2=2.0MHz, ...*/
buf[2] = (speed >> 8) & 0xff; /* valueH */
-
+
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((retval = ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
@@ -268,12 +268,12 @@
int ft2232_speed_div(int speed, int *khz)
{
- /* Take a look in the FT2232 manual,
+ /* Take a look in the FT2232 manual,
* AN2232C-01 Command Processor for
* MPSSE and MCU Host Bus. Chapter 3.8 */
-
+
*khz = 6000 / (1+speed);
-
+
return ERROR_OK;
}
@@ -284,35 +284,35 @@
LOG_ERROR("RCLK not supported");
return ERROR_FAIL;
}
- /* Take a look in the FT2232 manual,
+ /* Take a look in the FT2232 manual,
* AN2232C-01 Command Processor for
* MPSSE and MCU Host Bus. Chapter 3.8
- *
+ *
* We will calc here with a multiplier
* of 10 for better rounding later. */
-
+
/* Calc speed, (6000 / khz) - 1 */
/* Use 65000 for better rounding */
*jtag_speed = (60000 / khz) - 10;
-
+
/* Add 0.9 for rounding */
*jtag_speed += 9;
-
+
/* Calc real speed */
*jtag_speed = *jtag_speed / 10;
-
+
/* Check if speed is greater than 0 */
if (*jtag_speed < 0)
{
*jtag_speed = 0;
}
-
+
/* Check max value */
if (*jtag_speed > 0xFFFF)
{
*jtag_speed = 0xFFFF;
}
-
+
return ERROR_OK;
}
@@ -371,7 +371,7 @@
int i;
char line[256];
char *line_p = line;
-
+
for (i = 0; i < ft2232_buffer_size; i++)
{
line_p += snprintf(line_p, 256 - (line_p - line), "%2.2x ", ft2232_buffer[i]);
@@ -381,7 +381,7 @@
line_p = line;
}
}
-
+
if (line_p != line)
LOG_DEBUG("%s", line);
}
@@ -395,7 +395,7 @@
int retval;
u32 bytes_written;
u32 bytes_read;
-
+
#ifdef _DEBUG_USB_IO_
struct timeval start, inter, inter2, end;
struct timeval d_inter, d_inter2, d_end;
@@ -407,7 +407,7 @@
#endif
#ifdef _DEBUG_USB_IO_
- gettimeofday(&start, NULL);
+ gettimeofday(&start, NULL);
#endif
if ((retval = ft2232_write(ft2232_buffer, ft2232_buffer_size, &bytes_written)) != ERROR_OK)
@@ -415,28 +415,28 @@
LOG_ERROR("couldn't write MPSSE commands to FT2232");
return retval;
}
-
+
#ifdef _DEBUG_USB_IO_
- gettimeofday(&inter, NULL);
+ gettimeofday(&inter, NULL);
#endif
-
+
if (ft2232_expect_read)
{
int timeout = 100;
ft2232_buffer_size = 0;
-
+
#ifdef _DEBUG_USB_IO_
- gettimeofday(&inter2, NULL);
+ gettimeofday(&inter2, NULL);
#endif
-
+
if ((retval = ft2232_read(ft2232_buffer, ft2232_expect_read, &bytes_read)) != ERROR_OK)
{
LOG_ERROR("couldn't read from FT2232");
return retval;
}
-
+
#ifdef _DEBUG_USB_IO_
- gettimeofday(&end, NULL);
+ gettimeofday(&end, NULL);
timeval_subtract(&d_inter, &inter, &start);
timeval_subtract(&d_inter2, &inter2, &start);
@@ -444,14 +444,14 @@
LOG_INFO("inter: %i.%i, inter2: %i.%i end: %i.%i", d_inter.tv_sec, d_inter.tv_usec, d_inter2.tv_sec, d_inter2.tv_usec, d_end.tv_sec, d_end.tv_usec);
#endif
-
-
+
+
ft2232_buffer_size = bytes_read;
-
+
if (ft2232_expect_read != ft2232_buffer_size)
{
LOG_ERROR("ft2232_expect_read (%i) != ft2232_buffer_size (%i) (%i retries)", ft2232_expect_read, ft2232_buffer_size, 100 - timeout);
- ft2232_debug_dump_buffer();
+ ft2232_debug_dump_buffer();
exit(-1);
}
@@ -464,12 +464,12 @@
ft2232_expect_read = 0;
ft2232_read_pointer = 0;
-
+
/* return ERROR_OK, unless a jtag_read_buffer returns a failed check
* that wasn't handled by a caller-provided error handler
- */
+ */
retval = ERROR_OK;
-
+
cmd = first;
while (cmd != last)
{
@@ -492,7 +492,7 @@
}
cmd = cmd->next;
}
-
+
ft2232_buffer_size = 0;
return retval;
@@ -508,7 +508,7 @@
while (num_states)
{
int bit_count = 0;
-
+
int num_states_batch = num_states > 7 ? 7 : num_states;
tms_byte = 0x0;
@@ -516,7 +516,7 @@
BUFFER_ADD = 0x4b;
/* number of states remaining */
BUFFER_ADD = num_states_batch - 1;
-
+
while (num_states_batch--)
{
if (tap_transitions[cur_state].low == cmd->path[state_count])
@@ -533,10 +533,10 @@
state_count++;
num_states--;
}
-
+
BUFFER_ADD = tms_byte;
}
-
+
end_state = cur_state;
}
@@ -547,7 +547,7 @@
int cur_byte = 0;
int last_bit;
- if (!((!ir_scan && (cur_state == TAP_SD)) || (ir_scan && (cur_state == TAP_SI))))
+ if (!((!ir_scan && (cur_state == TAP_DRSHIFT)) || (ir_scan && (cur_state == TAP_IRSHIFT))))
{
/* command "Clock Data to TMS/CS Pin (no Read)" */
BUFFER_ADD = 0x4b;
@@ -556,17 +556,17 @@
/* TMS data bits */
if (ir_scan)
{
- BUFFER_ADD = TAP_MOVE(cur_state, TAP_SI);
- cur_state = TAP_SI;
+ BUFFER_ADD = TAP_MOVE(cur_state, TAP_IRSHIFT);
+ cur_state = TAP_IRSHIFT;
}
else
{
- BUFFER_ADD = TAP_MOVE(cur_state, TAP_SD);
- cur_state = TAP_SD;
+ BUFFER_ADD = TAP_MOVE(cur_state, TAP_DRSHIFT);
+ cur_state = TAP_DRSHIFT;
}
/* LOG_DEBUG("added TMS scan (no read)"); */
}
-
+
/* add command for complete bytes */
while (num_bytes > 1)
{
@@ -608,7 +608,7 @@
bits_left -= 8 * (thisrun_bytes);
}
}
-
+
/* the most signifcant bit is scanned during TAP movement */
if (type != SCAN_IN)
last_bit = (buffer[cur_byte] >> (bits_left - 1)) & 0x1;
@@ -641,8 +641,8 @@
BUFFER_ADD = buffer[cur_byte];
}
- if ((ir_scan && (end_state == TAP_SI)) ||
- (!ir_scan && (end_state == TAP_SD)))
+ if ((ir_scan && (end_state == TAP_IRSHIFT)) ||
+ (!ir_scan && (end_state == TAP_DRSHIFT)))
{
if (type == SCAN_IO)
{
@@ -698,24 +698,24 @@
u32 bytes_read;
int retval;
int thisrun_read = 0;
-
+
if (cmd->ir_scan)
{
LOG_ERROR("BUG: large IR scans are not supported");
exit(-1);
}
- if (cur_state != TAP_SD)
+ if (cur_state != TAP_DRSHIFT)
{
/* command "Clock Data to TMS/CS Pin (no Read)" */
BUFFER_ADD = 0x4b;
/* scan 7 bit */
BUFFER_ADD = 0x6;
/* TMS data bits */
- BUFFER_ADD = TAP_MOVE(cur_state, TAP_SD);
- cur_state = TAP_SD;
+ BUFFER_ADD = TAP_MOVE(cur_state, TAP_DRSHIFT);
+ cur_state = TAP_DRSHIFT;
}
-
+
if ((retval = ft2232_write(ft2232_buffer, ft2232_buffer_size, &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't write MPSSE commands to FT2232");
@@ -723,12 +723,12 @@
}
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", ft2232_buffer_size, bytes_written);
ft2232_buffer_size = 0;
-
+
/* add command for complete bytes */
while (num_bytes > 1)
{
int thisrun_bytes;
-
+
if (type == SCAN_IO)
{
/* Clock Data Bytes In and Out LSB First */
@@ -774,7 +774,7 @@
}
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", ft2232_buffer_size, bytes_written);
ft2232_buffer_size = 0;
-
+
if (type != SCAN_OUT)
{
if ((retval = ft2232_read(receive_pointer, thisrun_read, &bytes_read)) != ERROR_OK)
@@ -786,9 +786,9 @@
receive_pointer += bytes_read;
}
}
-
+
thisrun_read = 0;
-
+
/* the most signifcant bit is scanned during TAP movement */
if (type != SCAN_IN)
last_bit = (buffer[cur_byte] >> (bits_left - 1)) & 0x1;
@@ -819,12 +819,12 @@
BUFFER_ADD = bits_left - 2;
if (type != SCAN_IN)
BUFFER_ADD = buffer[cur_byte];
-
+
if (type != SCAN_OUT)
thisrun_read += 2;
}
- if (end_state == TAP_SD)
+ if (end_state == TAP_DRSHIFT)
{
if (type == SCAN_IO)
{
@@ -866,10 +866,10 @@
BUFFER_ADD = TAP_MOVE(cur_state, end_state) | (last_bit << 7);
cur_state = end_state;
}
-
+
if (type != SCAN_OUT)
thisrun_read += 1;
-
+
if ((retval = ft2232_write(ft2232_buffer, ft2232_buffer_size, &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't write MPSSE commands to FT2232");
@@ -877,7 +877,7 @@
}
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", ft2232_buffer_size, bytes_written);
ft2232_buffer_size = 0;
-
+
if (type != SCAN_OUT)
{
if ((retval = ft2232_read(receive_pointer, thisrun_read, &bytes_read)) != ERROR_OK)
@@ -888,7 +888,7 @@
LOG_DEBUG("thisrun_read: %i, bytes_read: %i", thisrun_read, bytes_read);
receive_pointer += bytes_read;
}
-
+
return ERROR_OK;
}
@@ -896,10 +896,10 @@
{
int predicted_size = 3;
int num_bytes = (scan_size - 1) / 8;
-
- if (cur_state != TAP_SD)
+
+ if (cur_state != TAP_DRSHIFT)
predicted_size += 3;
-
+
if (type == SCAN_IN) /* only from device to host */
{
/* complete bytes */
@@ -921,7 +921,7 @@
int ft2232_predict_scan_in(int scan_size, enum scan_type type)
{
int predicted_size = 0;
-
+
if (type != SCAN_OUT)
{
/* complete bytes */
@@ -931,7 +931,7 @@
/* last bit (from TMS scan) */
predicted_size += 1;
}
-
+
/* LOG_DEBUG("scan_size: %i, predicted_size: %i", scan_size, predicted_size); */
return predicted_size;
@@ -968,7 +968,7 @@
else
low_direction &= ~nSRSTnOE; /* switch to input pin (high-Z) */
}
-
+
/* command "set data bits low byte" */
BUFFER_ADD = 0x80;
BUFFER_ADD = low_output;
@@ -1007,7 +1007,7 @@
else
high_output |= nSRSTnOE;
}
-
+
/* command "set data bits high byte" */
BUFFER_ADD = 0x82;
BUFFER_ADD = high_output;
@@ -1052,7 +1052,7 @@
{
if (trst == 1)
{
- cur_state = TAP_TLR;
+ cur_state = TAP_RESET;
high_output &= ~nTRST;
}
else if (trst == 0)
@@ -1106,7 +1106,7 @@
void turtle_reset(int trst, int srst)
{
trst = trst;
-
+
if (srst == 1)
{
low_output |= nSRST;
@@ -1115,7 +1115,7 @@
{
low_output &= ~nSRST;
}
-
+
/* command "set data bits low byte" */
BUFFER_ADD = 0x80;
BUFFER_ADD = low_output;
@@ -1142,7 +1142,7 @@
{
high_output |= nSRST;
}
-
+
/* command "set data bits high byte" */
BUFFER_ADD = 0x82;
BUFFER_ADD = high_output;
@@ -1169,12 +1169,12 @@
{
low_output |= nSRST;
}
-
+
/* command "set data bits low byte" */
BUFFER_ADD = 0x80;
BUFFER_ADD = low_output;
BUFFER_ADD = low_direction;
-
+
/* command "set data bits high byte" */
BUFFER_ADD = 0x82;
BUFFER_ADD = high_output;
@@ -1193,15 +1193,15 @@
int predicted_size = 0;
int require_send = 0;
int retval;
-
+
/* return ERROR_OK, unless ft2232_send_and_recv reports a failed check
* that wasn't handled by a caller-provided error handler
- */
+ */
retval = ERROR_OK;
ft2232_buffer_size = 0;
ft2232_expect_read = 0;
-
+
/* blink, if the current layout has that feature */
if (layout->blink)
layout->blink();
@@ -1227,24 +1227,24 @@
if ((cmd->cmd.reset->trst == 1) || (cmd->cmd.reset->srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))
{
- cur_state = TAP_TLR;
+ cur_state = TAP_RESET;
}
layout->reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
require_send = 1;
-
-#ifdef _DEBUG_JTAG_IO_
+
+#ifdef _DEBUG_JTAG_IO_
LOG_DEBUG("trst: %i, srst: %i", cmd->cmd.reset->trst, cmd->cmd.reset->srst);
#endif
break;
case JTAG_RUNTEST:
/* only send the maximum buffer size that FT2232C can handle */
predicted_size = 0;
- if (cur_state != TAP_RTI)
+ if (cur_state != TAP_IDLE)
predicted_size += 3;
predicted_size += 3 * CEIL(cmd->cmd.runtest->num_cycles, 7);
- if ((cmd->cmd.runtest->end_state != -1) && (cmd->cmd.runtest->end_state != TAP_RTI))
+ if ((cmd->cmd.runtest->end_state != -1) && (cmd->cmd.runtest->end_state != TAP_IDLE))
predicted_size += 3;
- if ((cmd->cmd.runtest->end_state == -1) && (end_state != TAP_RTI))
+ if ((cmd->cmd.runtest->end_state == -1) && (end_state != TAP_IDLE))
predicted_size += 3;
if (ft2232_buffer_size + predicted_size + 1 > FT2232_BUFFER_SIZE)
{
@@ -1253,15 +1253,15 @@
require_send = 0;
first_unsent = cmd;
}
- if (cur_state != TAP_RTI)
+ if (cur_state != TAP_IDLE)
{
/* command "Clock Data to TMS/CS Pin (no Read)" */
BUFFER_ADD = 0x4b;
/* scan 7 bit */
BUFFER_ADD = 0x6;
/* TMS data bits */
- BUFFER_ADD = TAP_MOVE(cur_state, TAP_RTI);
- cur_state = TAP_RTI;
+ BUFFER_ADD = TAP_MOVE(cur_state, TAP_IDLE);
+ cur_state = TAP_IDLE;
require_send = 1;
}
i = cmd->cmd.runtest->num_cycles;
@@ -1273,7 +1273,7 @@
BUFFER_ADD = (i > 7) ? 6 : (i - 1);
/* TMS data bits */
BUFFER_ADD = 0x0;
- cur_state = TAP_RTI;
+ cur_state = TAP_IDLE;
i -= (i > 7) ? 7 : i;
/* LOG_DEBUG("added TMS scan (no read)"); */
}
@@ -1291,7 +1291,7 @@
/* LOG_DEBUG("added TMS scan (no read)"); */
}
require_send = 1;
-#ifdef _DEBUG_JTAG_IO_
+#ifdef _DEBUG_JTAG_IO_
LOG_DEBUG("runtest: %i, end in %i", cmd->cmd.runtest->num_cycles, end_state);
#endif
break;
@@ -1316,7 +1316,7 @@
/* LOG_DEBUG("added TMS scan (no read)"); */
cur_state = end_state;
require_send = 1;
-#ifdef _DEBUG_JTAG_IO_
+#ifdef _DEBUG_JTAG_IO_
LOG_DEBUG("statemove: %i", end_state);
#endif
break;
@@ -1332,7 +1332,7 @@
}
ft2232_add_pathmove(cmd->cmd.pathmove);
require_send = 1;
-#ifdef _DEBUG_JTAG_IO_
+#ifdef _DEBUG_JTAG_IO_
LOG_DEBUG("pathmove: %i states, end in %i", cmd->cmd.pathmove->num_states, cmd->cmd.pathmove->path[cmd->cmd.pathmove->num_states - 1]);
#endif
break;
@@ -1347,7 +1347,7 @@
if (first_unsent != cmd)
if (ft2232_send_and_recv(first_unsent, cmd) != ERROR_OK)
retval = ERROR_JTAG_QUEUE_FAILED;
-
+
/* current command */
if (cmd->cmd.scan->end_state != -1)
ft2232_end_state(cmd->cmd.scan->end_state);
@@ -1374,7 +1374,7 @@
require_send = 1;
if (buffer)
free(buffer);
-#ifdef _DEBUG_JTAG_IO_
+#ifdef _DEBUG_JTAG_IO_
LOG_DEBUG("%s scan, %i bit, end in %i", (cmd->cmd.scan->ir_scan) ? "IR" : "DR", scan_size, end_state);
#endif
break;
@@ -1383,7 +1383,7 @@
retval = ERROR_JTAG_QUEUE_FAILED;
first_unsent = cmd->next;
jtag_sleep(cmd->cmd.sleep->us);
-#ifdef _DEBUG_JTAG_IO_
+#ifdef _DEBUG_JTAG_IO_
LOG_DEBUG("sleep %i usec", cmd->cmd.sleep->us);
#endif
break;
@@ -1424,7 +1424,7 @@
LOG_WARNING("can't open by device description and serial number, giving precedence to serial");
ft2232_device_desc = NULL;
}
-
+
if (ft2232_device_desc)
{
openex_string = ft2232_device_desc;
@@ -1439,14 +1439,14 @@
{
LOG_ERROR("neither device description nor serial number specified");
LOG_ERROR("please add \"ft2232_device_desc <string>\" or \"ft2232_serial <string>\" to your .cfg file");
-
- return ERROR_JTAG_INIT_FAILED;
+
+ return ERROR_JTAG_INIT_FAILED;
}
if ((status = FT_OpenEx(openex_string, openex_flags, &ftdih)) != FT_OK)
{
DWORD num_devices;
-
+
if (more) {
LOG_WARNING("unable to open ftdi device (trying more): %lu", status);
*try_more = 1;
@@ -1471,7 +1471,7 @@
for (i = 0; i < num_devices; i++)
LOG_ERROR("%i: %s", i, desc_array[i]);
}
-
+
for (i = 0; i < num_devices; i++)
free(desc_array[i]);
free(desc_array);
@@ -1488,7 +1488,7 @@
LOG_ERROR("unable to set latency timer: %lu", status);
return ERROR_JTAG_INIT_FAILED;
}
-
+
if ((status = FT_GetLatencyTimer(ftdih, &latency_timer)) != FT_OK)
{
LOG_ERROR("unable to get latency timer: %lu", status);
@@ -1498,7 +1498,7 @@
{
LOG_DEBUG("current latency timer: %i", latency_timer);
}
-
+
if ((status = FT_SetTimeouts(ftdih, 5000, 5000)) != FT_OK)
{
LOG_ERROR("unable to set timeouts: %lu", status);
@@ -1568,7 +1568,7 @@
LOG_ERROR("unable to set latency timer");
return ERROR_JTAG_INIT_FAILED;
}
-
+
if (ftdi_get_latency_timer(&ftdic, &latency_timer) < 0)
{
LOG_ERROR("unable to get latency timer");
@@ -1603,13 +1603,13 @@
u32 bytes_written;
ft2232_layout_t *cur_layout = ft2232_layouts;
int i;
-
+
if ((ft2232_layout == NULL) || (ft2232_layout[0] == 0))
{
ft2232_layout = "usbjtag";
LOG_WARNING("No ft2232 layout specified, using default 'usbjtag'");
}
-
+
while (cur_layout->name)
{
if (strcmp(cur_layout->name, ft2232_layout) == 0)
@@ -1625,7 +1625,7 @@
LOG_ERROR("No matching layout found for %s", ft2232_layout);
return ERROR_JTAG_INIT_FAILED;
}
-
+
for (i = 0; 1; i++) {
/*
* "more indicates that there are more IDs to try, so we should
@@ -1645,7 +1645,7 @@
#elif BUILD_FT2232_LIBFTDI == 1
retval = ft2232_init_libftdi(ft2232_vid[i], ft2232_pid[i],
more, &try_more);
-#endif
+#endif
if (retval >= 0)
break;
if (!more || !try_more)
@@ -1671,7 +1671,7 @@
return ft2232_purge_ftd2xx();
#elif BUILD_FT2232_LIBFTDI == 1
return ft2232_purge_libftdi();
-#endif
+#endif
return ERROR_OK;
}
@@ -1680,10 +1680,10 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x08;
low_direction = 0x0b;
-
+
if (strcmp(ft2232_layout, "usbjtag") == 0)
{
nTRST = 0x10;
@@ -1710,9 +1710,9 @@
else
{
LOG_ERROR("BUG: usbjtag_init called for unknown layout '%s'", ft2232_layout);
- return ERROR_JTAG_INIT_FAILED;
+ return ERROR_JTAG_INIT_FAILED;
}
-
+
if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
{
low_direction &= ~nTRSTnOE; /* nTRST input */
@@ -1723,7 +1723,7 @@
low_direction |= nTRSTnOE; /* nTRST output */
low_output |= nTRST; /* nTRST = 1 */
}
-
+
if (jtag_reset_config & RESET_SRST_PUSH_PULL)
{
low_direction |= nSRSTnOE; /* nSRST output */
@@ -1734,16 +1734,16 @@
low_direction &= ~nSRSTnOE; /* nSRST input */
low_output &= ~nSRST; /* nSRST = 0 */
}
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, xRST high) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'USBJTAG' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'USBJTAG' layout");
return ERROR_JTAG_INIT_FAILED;
}
@@ -1754,19 +1754,19 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x08;
low_direction = 0x2b;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
}
@@ -1775,14 +1775,14 @@
nTRST = 0x08;
nTRSTnOE = 0x0; /* No output enable for TRST*/
nSRST = 0x04;
- nSRSTnOE = 0x0; /* No output enable for SRST*/
+ nSRSTnOE = 0x0; /* No output enable for SRST*/
}
else
{
LOG_ERROR("BUG: axm0432_jtag_init called for non axm0432 layout");
exit(-1);
}
-
+
high_output = 0x0;
high_direction = 0x0c;
@@ -1803,19 +1803,19 @@
{
high_output |= nSRST;
}
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output; /* value */
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'Dicarlo' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'Dicarlo' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -1823,22 +1823,22 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x08;
low_direction = 0x1b;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
if (strcmp(layout->name, "jtagkey") == 0)
{
nTRST = 0x01;
@@ -1859,7 +1859,7 @@
LOG_ERROR("BUG: jtagkey_init called for non jtagkey layout");
exit(-1);
}
-
+
high_output = 0x0;
high_direction = 0x0f;
@@ -1873,7 +1873,7 @@
high_output &= ~nTRSTnOE;
high_output |= nTRST;
}
-
+
if (jtag_reset_config & RESET_SRST_PUSH_PULL)
{
high_output &= ~nSRSTnOE;
@@ -1884,19 +1884,19 @@
high_output |= nSRSTnOE;
high_output &= ~nSRST;
}
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output; /* value */
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -1904,22 +1904,22 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x08;
low_direction = 0x1b;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
nTRST = 0x01;
nTRSTnOE = 0x4;
nSRST = 0x02;
@@ -1938,7 +1938,7 @@
high_output &= ~nTRSTnOE;
high_output |= nTRST;
}
-
+
if (jtag_reset_config & RESET_SRST_PUSH_PULL)
{
LOG_ERROR("can't set nSRST to push-pull on the Olimex ARM-USB-OCD");
@@ -1947,22 +1947,22 @@
{
high_output &= ~nSRST;
}
-
+
/* turn red LED on */
high_output |= 0x08;
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output; /* value */
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -1970,22 +1970,22 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x18;
low_direction = 0xfb;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE[12]=out, n[ST]srst=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'flyswatter' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'flyswatter' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
nTRST = 0x10;
nTRSTnOE = 0x0; /* not output enable for nTRST */
nSRST = 0x20;
@@ -1996,19 +1996,19 @@
/* turn red LED1 on, LED2 off */
high_output |= 0x08;
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output; /* value */
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'flyswatter' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'flyswatter' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -2016,39 +2016,39 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x08;
low_direction = 0x5b;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'turtelizer2' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'turtelizer2' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
nSRST = 0x40;
-
+
high_output = 0x00;
high_direction = 0x0C;
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'turtelizer2' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'turtelizer2' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -2056,42 +2056,42 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x08;
low_direction = 0x0b;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'comstick' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'comstick' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
nTRST = 0x01;
nTRSTnOE = 0x00; /* no output enable for nTRST */
nSRST = 0x02;
nSRSTnOE = 0x00; /* no output enable for nSRST */
-
+
high_output = 0x03;
high_direction = 0x03;
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'comstick' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'comstick' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -2099,42 +2099,42 @@
{
u8 buf[3];
u32 bytes_written;
-
+
low_output = 0x88;
low_direction = 0x8b;
-
+
/* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
nTRST = 0x01;
nTRSTnOE = 0x00; /* no output enable for nTRST */
nSRST = 0x80;
nSRSTnOE = 0x00; /* no output enable for nSRST */
-
+
high_output = 0x01;
high_direction = 0x03;
-
+
/* initialize high port */
buf[0] = 0x82; /* command "set data bits high byte" */
buf[1] = high_output;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
-
+
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
{
- LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
+ LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
return ERROR_JTAG_INIT_FAILED;
}
-
+
return ERROR_OK;
}
@@ -2153,7 +2153,7 @@
/* set port pin low */
high_output |= 0x08;
}
-
+
BUFFER_ADD = 0x82;
BUFFER_ADD = high_output;
BUFFER_ADD = high_direction;
@@ -2161,7 +2161,7 @@
void turtle_jtag_blink(void)
{
- /*
+ /*
* Turtelizer2 has two LEDs connected to ACBUS2 and ACBUS3
*/
if (high_output & 0x08)
@@ -2172,7 +2172,7 @@
{
high_output = 0x08;
}
-
+
BUFFER_ADD = 0x82;
BUFFER_ADD = high_output;
BUFFER_ADD = high_direction;
@@ -2186,9 +2186,9 @@
status = FT_Close(ftdih);
#elif BUILD_FT2232_LIBFTDI == 1
ftdi_disable_bitbang(&ftdic);
-
+
ftdi_usb_close(&ftdic);
-
+
ftdi_deinit(&ftdic);
#endif
@@ -2208,7 +2208,7 @@
{
LOG_ERROR("expected exactly one argument to ft2232_device_desc <description>");
}
-
+
return ERROR_OK;
}
@@ -2222,7 +2222,7 @@
{
LOG_ERROR("expected exactly one argument to ft2232_serial <serial-number>");
}
-
+
return ERROR_OK;
}
@@ -2276,6 +2276,6 @@
{
LOG_ERROR("expected exactly one argument to ft2232_latency <ms>");
}
-
+
return ERROR_OK;
}
Modified: trunk/src/jtag/gw16012.c
===================================================================
--- trunk/src/jtag/gw16012.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/jtag/gw16012.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -97,13 +97,13 @@
int gw16012_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
-jtag_interface_t gw16012_interface =
+jtag_interface_t gw16012_interface =
{
.name = "gw16012",
-
+
.execute_queue = gw16012_execute_queue,
- .speed = gw16012_speed,
+ .speed = gw16012_speed,
.register_commands = gw16012_register_commands,
.init = gw16012_init,
.quit = gw16012_quit,
@@ -113,7 +113,7 @@
{
register_command(cmd_ctx, NULL, "parport_port", gw16012_handle_parport_port_command,
COMMAND_CONFIG, NULL);
-
+
return ERROR_OK;
}
@@ -125,7 +125,7 @@
#ifdef _DEBUG_GW16012_IO_
LOG_DEBUG("%2.2x", value);
#endif
-
+
#if PARPORT_USE_PPDEV == 1
ioctl(device_handle, PPWDATA, &value);
#else
@@ -134,7 +134,7 @@
#else
outb(value, gw16012_port);
#endif
- #endif
+ #endif
}
void gw16012_control(u8 value)
@@ -209,15 +209,15 @@
{
int i=0, tms=0;
u8 tms_scan = TAP_MOVE(cur_state, end_state);
-
+
gw16012_control(0x0); /* single-bit mode */
-
+
for (i = 0; i < 7; i++)
{
tms = (tms_scan >> i) & 1;
gw16012_data(tms << 1); /* output next TMS bit */
}
-
+
cur_state = end_state;
}
@@ -243,12 +243,12 @@
LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[state_count]]);
exit(-1);
}
-
+
cur_state = cmd->path[state_count];
state_count++;
num_states--;
}
-
+
end_state = cur_state;
}
@@ -256,20 +256,20 @@
{
enum tap_state saved_end_state = end_state;
int i;
-
+
/* only do a state_move when we're not already in RTI */
- if (cur_state != TAP_RTI)
+ if (cur_state != TAP_IDLE)
{
- gw16012_end_state(TAP_RTI);
+ gw16012_end_state(TAP_IDLE);
gw16012_state_move();
}
-
+
for (i = 0; i < num_cycles; i++)
{
gw16012_control(0x0); /* single-bit mode */
gw16012_data(0x0); /* TMS cycle with TMS low */
}
-
+
gw16012_end_state(saved_end_state);
if (cur_state != end_state)
gw16012_state_move();
@@ -283,12 +283,12 @@
u8 scan_out, scan_in;
/* only if we're not already in the correct Shift state */
- if (!((!ir_scan && (cur_state == TAP_SD)) || (ir_scan && (cur_state == TAP_SI))))
+ if (!((!ir_scan && (cur_state == TAP_DRSHIFT)) || (ir_scan && (cur_state == TAP_IRSHIFT))))
{
if (ir_scan)
- gw16012_end_state(TAP_SI);
+ gw16012_end_state(TAP_IRSHIFT);
else
- gw16012_end_state(TAP_SD);
+ gw16012_end_state(TAP_DRSHIFT);
gw16012_state_move();
gw16012_end_state(saved_end_state);
@@ -302,20 +302,20 @@
bit_count += 7;
bits_left -= 7;
}
-
+
gw16012_control(0x0); /* single-bit mode */
while (bits_left-- > 0)
{
u8 tms = 0;
-
+
scan_out = buf_get_u32(buffer, bit_count, 1);
-
+
if (bits_left == 0) /* last bit */
{
- if ((ir_scan && (end_state == TAP_SI))
- || (!ir_scan && (end_state == TAP_SD)))
+ if ((ir_scan && (end_state == TAP_IRSHIFT))
+ || (!ir_scan && (end_state == TAP_DRSHIFT)))
{
- tms = 0;
+ tms = 0;
}
else
{
@@ -329,20 +329,20 @@
{
gw16012_input(&scan_in);
buf_set_u32(buffer, bit_count, 1, ((scan_in & 0x08) >> 3));
- }
+ }
bit_count++;
}
- if (!((ir_scan && (end_state == TAP_SI)) ||
- (!ir_scan && (end_state == TAP_SD))))
+ if (!((ir_scan && (end_state == TAP_IRSHIFT)) ||
+ (!ir_scan && (end_state == TAP_DRSHIFT))))
{
gw16012_data(0x0);
if (ir_scan)
- cur_state = TAP_PI;
+ cur_state = TAP_IRPAUSE;
else
- cur_state = TAP_PD;
-
+ cur_state = TAP_DRPAUSE;
+
if (cur_state != end_state)
gw16012_state_move();
}
@@ -355,12 +355,12 @@
enum scan_type type;
u8 *buffer;
int retval;
-
+
/* return ERROR_OK, unless a jtag_read_buffer returns a failed check
* that wasn't handled by a caller-provided error handler
- */
+ */
retval = ERROR_OK;
-
+
while (cmd)
{
switch (cmd->type)
@@ -378,7 +378,7 @@
#endif
if (cmd->cmd.reset->trst == 1)
{
- cur_state = TAP_TLR;
+ cur_state = TAP_RESET;
}
gw16012_reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
break;
@@ -410,7 +410,7 @@
scan_size = jtag_build_buffer(cmd->cmd.scan, &buffer);
type = jtag_scan_type(cmd->cmd.scan);
#ifdef _DEBUG_JTAG_IO_
- LOG_DEBUG("%s scan (%i) %i bit end in %i", (cmd->cmd.scan->ir_scan) ? "ir" : "dr",
+ LOG_DEBUG("%s scan (%i) %i bit end in %i", (cmd->cmd.scan->ir_scan) ? "ir" : "dr",
type, scan_size, cmd->cmd.scan->end_state);
#endif
gw16012_scan(cmd->cmd.scan->ir_scan, type, buffer, scan_size);
@@ -431,7 +431,7 @@
}
cmd = cmd->next;
}
-
+
return retval;
}
@@ -443,16 +443,16 @@
version.dwOSVersionInfoSize = sizeof version;
if (!GetVersionEx( &version )) {
- errno = EINVAL;
- return -1;
+ errno = EINVAL;
+ return -1;
}
if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
- return 0;
+ return 0;
h = CreateFile( "\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
if (h == INVALID_HANDLE_VALUE) {
- errno = ENODEV;
- return -1;
+ errno = ENODEV;
+ return -1;
}
CloseHandle( h );
@@ -468,7 +468,7 @@
int i = 0;
#endif
u8 status_port;
-
+
#if PARPORT_USE_PPDEV == 1
if (device_handle>0)
{
@@ -486,7 +486,7 @@
snprintf(buffer, 256, "/dev/parport%d", gw16012_port);
device_handle = open(buffer, O_WRONLY);
-#endif
+#endif
if (device_handle<0)
{
LOG_ERROR("cannot open device. check it exists and that user read and write rights are set");
@@ -525,7 +525,7 @@
gw16012_port = 0x378;
LOG_WARNING("No gw16012 port specified, using default '0x378' (LPT1)");
}
-
+
LOG_DEBUG("requesting privileges for parallel port 0x%lx...", (long unsigned)(gw16012_port) );
#if PARPORT_USE_GIVEIO == 1
if (gw16012_get_giveio_access() != 0)
@@ -545,19 +545,19 @@
outb(0x0, gw16012_port + 2);
#endif
#endif /* PARPORT_USE_PPDEV */
-
+
gw16012_input(&status_port);
gw16012_msb = (status_port & 0x80) ^ 0x80;
-
+
gw16012_speed(jtag_speed);
gw16012_reset(0, 0);
-
+
return ERROR_OK;
}
int gw16012_quit(void)
{
-
+
return ERROR_OK;
}
Modified: trunk/src/jtag/jlink.c
===================================================================
--- trunk/src/jtag/jlink.c 2008-12-12 22:14:21 UTC (rev 1231)
+++ trunk/src/jtag/jlink.c 2008-12-13 06:25:50 UTC (rev 1232)
@@ -146,92 +146,92 @@
int scan_size;
enum scan_type type;
u8 *buffer;
-
+
while (cmd != NULL)
{
switch (cmd->type)
{
case JTAG_END_STATE:
DEBUG_JTAG_IO("end_state: %i", cmd->cmd.end_state->end_state);
-
+
if (cmd->cmd.end_state->end_state != -1)
{
jlink_end_state(cmd->cmd.end_state->end_state);
}
break;
-
+
case JTAG_RUNTEST:
DEBUG_JTAG_IO( "runtest %i cycles, end in %i", cmd->cmd.runtest->num_cycles, \
cmd->cmd.runtest->end_state);
-
+
if (cmd->cmd.runtest->end_state != -1)
{
jlink_end_state(cmd->cmd.runtest->end_state);
}
jlink_runtest(cmd->cmd.runtest->num_cycles);
break;
-
+
case JTAG_STATEMOVE:
DEBUG_JTAG_IO("statemove end in %i", cmd->cmd.statemove->end_state);
-
+
if (cmd->cmd.statemove->end_state != -1)
{
jlink_end_state(cmd->cmd.statemove->end_state);
}
jlink_state_move();
break;
-
+
case JTAG_PATHMOVE:
DEBUG_JTAG_IO("pathmove: %i states, end in %i", \
cmd->cmd.pathmove->num_states, \
cmd->cmd.pathmove->path[cmd->cmd.pathmove->num_states - 1]);
-
+
jlink_path_move(cmd->cmd.pathmove->num_...
[truncated message content] |