jtag_khz simulation

git-svn-id: svn://svn.berlios.de/openocd/trunk@1248 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2008-12-16 11:49:14 +00:00
parent 2a781c0346
commit f34248eb05
1 changed files with 38 additions and 5 deletions

View File

@ -30,18 +30,24 @@ int dummy_speed(int speed);
int dummy_register_commands(struct command_context_s *cmd_ctx); int dummy_register_commands(struct command_context_s *cmd_ctx);
int dummy_init(void); int dummy_init(void);
int dummy_quit(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. * where the target is unresponsive.
*/ */
jtag_interface_t dummy_interface = jtag_interface_t dummy_interface =
{ {
.name = "dummy", .name = "dummy",
.execute_queue = bitbang_execute_queue, .execute_queue = bitbang_execute_queue,
.speed = dummy_speed, .speed = dummy_speed,
.register_commands = dummy_register_commands, .register_commands = dummy_register_commands,
.khz = dummy_khz,
.speed_div = dummy_speed_div,
.init = dummy_init, .init = dummy_init,
.quit = dummy_quit, .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) int dummy_speed(int speed)
{ {
return ERROR_OK; return ERROR_OK;
@ -84,7 +117,7 @@ int dummy_register_commands(struct command_context_s *cmd_ctx)
int dummy_init(void) int dummy_init(void)
{ {
bitbang_interface = &dummy_bitbang; bitbang_interface = &dummy_bitbang;
return ERROR_OK; return ERROR_OK;
} }