From f34248eb05296babcf4e5f45258a1c7469c57367 Mon Sep 17 00:00:00 2001 From: oharboe Date: Tue, 16 Dec 2008 11:49:14 +0000 Subject: jtag_khz simulation git-svn-id: svn://svn.berlios.de/openocd/trunk@1248 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/dummy.c | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) (limited to 'src/jtag/dummy.c') diff --git a/src/jtag/dummy.c b/src/jtag/dummy.c index 0565edaf..f6ca87c2 100644 --- a/src/jtag/dummy.c +++ b/src/jtag/dummy.c @@ -30,18 +30,24 @@ int dummy_speed(int speed); int dummy_register_commands(struct command_context_s *cmd_ctx); int dummy_init(void); int dummy_quit(void); +static int dummy_khz(int khz, int *jtag_speed); +static int dummy_speed_div(int speed, int *khz); -/* The dummy driver is used to easily check the code path + +/* The dummy driver is used to easily check the code path * where the target is unresponsive. */ -jtag_interface_t dummy_interface = +jtag_interface_t dummy_interface = { .name = "dummy", - + .execute_queue = bitbang_execute_queue, - .speed = dummy_speed, + .speed = dummy_speed, .register_commands = dummy_register_commands, + .khz = dummy_khz, + .speed_div = dummy_speed_div, + .init = dummy_init, .quit = dummy_quit, }; @@ -72,6 +78,33 @@ void dummy_reset(int trst, int srst) { } +static int dummy_khz(int khz, int *jtag_speed) +{ + if (khz==0) + { + *jtag_speed=0; + } + else + { + *jtag_speed=64000/khz; + } + return ERROR_OK; +} + +static int dummy_speed_div(int speed, int *khz) +{ + if (speed==0) + { + *khz = 0; + } + else + { + *khz=64000/speed; + } + + return ERROR_OK; +} + int dummy_speed(int speed) { return ERROR_OK; @@ -84,7 +117,7 @@ int dummy_register_commands(struct command_context_s *cmd_ctx) int dummy_init(void) { - bitbang_interface = &dummy_bitbang; + bitbang_interface = &dummy_bitbang; return ERROR_OK; } -- cgit v1.2.3