summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-03-12 16:01:30 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-03-12 16:01:30 +0000
commit45af9d83c90134ec929599bf4a05360e8bd1e8be (patch)
tree18e1bc3344ec897f2a701faccde8a08059b61de9
parent9bf8a4e48b9c84c0ccd4057537eab37b2be0a2a8 (diff)
downloadopenocd_libswd-45af9d83c90134ec929599bf4a05360e8bd1e8be.tar.gz
openocd_libswd-45af9d83c90134ec929599bf4a05360e8bd1e8be.tar.bz2
openocd_libswd-45af9d83c90134ec929599bf4a05360e8bd1e8be.tar.xz
openocd_libswd-45af9d83c90134ec929599bf4a05360e8bd1e8be.zip
The bitbang driver leaves the TCK 0 when in idle
git-svn-id: svn://svn.berlios.de/openocd/trunk@505 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/jtag/bitbang.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/jtag/bitbang.c b/src/jtag/bitbang.c
index b5ea8fe2..77d60ba1 100644
--- a/src/jtag/bitbang.c
+++ b/src/jtag/bitbang.c
@@ -41,6 +41,9 @@ bitbang_interface_t *bitbang_interface;
int bitbang_execute_queue(void);
+/* The bitbang driver leaves the TCK 0 when in idle */
+
+
void bitbang_end_state(enum tap_state state)
{
if (tap_move_map[state] != -1)
@@ -96,6 +99,7 @@ void bitbang_path_move(pathmove_command_t *cmd)
state_count++;
num_states--;
}
+ bitbang_interface->write(0, tms, 0);
end_state = cur_state;
}
@@ -125,6 +129,8 @@ void bitbang_runtest(int num_cycles)
bitbang_end_state(saved_end_state);
if (cur_state != end_state)
bitbang_state_move();
+ else
+ bitbang_interface->write(0, tms, 0);
}
void bitbang_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
@@ -178,6 +184,8 @@ void bitbang_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
if (cur_state != end_state)
bitbang_state_move();
+ else
+ bitbang_interface->write(0, tms, 0);
}
int bitbang_execute_queue(void)