-- corrected embedded ice definitions

-- changed arm966e to use standard arm9_7 reset handling

git-svn-id: svn://svn.berlios.de/openocd/trunk@146 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
ntfreak 2007-05-10 14:42:23 +00:00
parent 054b091623
commit e8af4de0a7
6 changed files with 8 additions and 81 deletions

View File

@ -272,7 +272,7 @@ int ft2232_register_commands(struct command_context_s *cmd_ctx)
return ERROR_OK;
}
void ft2232_end_state(state)
void ft2232_end_state(enum tap_state state)
{
if (tap_move_map[state] != -1)
end_state = state;

View File

@ -372,7 +372,7 @@ int arm720t_soft_reset_halt(struct target_s *target)
target->type->halt(target);
}
while (buf_get_u32(dbg_stat->value, EICE_DBG_CONTROL_DBGACK, 1) == 0)
while (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{
embeddedice_read_reg(dbg_stat);
jtag_execute_queue();

View File

@ -785,7 +785,7 @@ int arm7_9_soft_reset_halt(struct target_s *target)
target->type->halt(target);
}
while (buf_get_u32(dbg_stat->value, EICE_DBG_CONTROL_DBGACK, 1) == 0)
while (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{
embeddedice_read_reg(dbg_stat);
jtag_execute_queue();

View File

@ -626,7 +626,7 @@ int arm920t_soft_reset_halt(struct target_s *target)
target->type->halt(target);
}
while (buf_get_u32(dbg_stat->value, EICE_DBG_CONTROL_DBGACK, 1) == 0)
while (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{
embeddedice_read_reg(dbg_stat);
jtag_execute_queue();

View File

@ -566,7 +566,7 @@ int arm926ejs_soft_reset_halt(struct target_s *target)
target->type->halt(target);
}
while (buf_get_u32(dbg_stat->value, EICE_DBG_CONTROL_DBGACK, 1) == 0)
while (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{
embeddedice_read_reg(dbg_stat);
jtag_execute_queue();

View File

@ -43,8 +43,6 @@
int arm966e_register_commands(struct command_context_s *cmd_ctx);
/* forward declarations */
int arm966e_deassert_reset(target_t *target);
int arm966e_assert_reset(target_t *target);
int arm966e_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int arm966e_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
int arm966e_quit(void);
@ -60,8 +58,8 @@ target_type_t arm966e_target =
.resume = arm7_9_resume,
.step = arm7_9_step,
.assert_reset = arm966e_assert_reset,
.deassert_reset = arm966e_deassert_reset,
.assert_reset = arm7_9_assert_reset,
.deassert_reset = arm7_9_deassert_reset,
.soft_reset_halt = arm7_9_soft_reset_halt,
.prepare_reset_halt = arm7_9_prepare_reset_halt,
@ -84,77 +82,6 @@ target_type_t arm966e_target =
.quit = arm966e_quit,
};
int arm966e_assert_reset(target_t *target)
{
int retval;
DEBUG("target->state: %s", target_state_strings[target->state]);
if (target->state == TARGET_HALTED || target->state == TARGET_UNKNOWN)
{
/* assert SRST and TRST */
/* system would get ouf sync if we didn't reset test-logic, too */
if ((retval = jtag_add_reset(1, 1)) != ERROR_OK)
{
if (retval == ERROR_JTAG_RESET_CANT_SRST)
{
WARNING("can't assert srst");
return retval;
}
else
{
ERROR("unknown error");
exit(-1);
}
}
jtag_add_sleep(5000);
if ((retval = jtag_add_reset(0, 1)) != ERROR_OK)
{
if (retval == ERROR_JTAG_RESET_WOULD_ASSERT_TRST)
{
WARNING("srst resets test logic, too");
retval = jtag_add_reset(1, 1);
}
}
}
else
{
if ((retval = jtag_add_reset(0, 1)) != ERROR_OK)
{
if (retval == ERROR_JTAG_RESET_WOULD_ASSERT_TRST)
{
WARNING("srst resets test logic, too");
retval = jtag_add_reset(1, 1);
}
if (retval == ERROR_JTAG_RESET_CANT_SRST)
{
WARNING("can't assert srst");
return retval;
}
else if (retval != ERROR_OK)
{
ERROR("unknown error");
exit(-1);
}
}
}
target->state = TARGET_RESET;
jtag_add_sleep(50000);
armv4_5_invalidate_core_regs(target);
return ERROR_OK;
}
int arm966e_deassert_reset(target_t *target)
{
arm7_9_deassert_reset( target );
return ERROR_OK;
}
int arm966e_init_target(struct command_context_s *cmd_ctx, struct target_s *target)
{
arm9tdmi_init_target(cmd_ctx, target);
@ -413,7 +340,7 @@ int arm966e_register_commands(struct command_context_s *cmd_ctx)
int retval;
command_t *arm966e_cmd;
retval = arm7_9_register_commands(cmd_ctx);
retval = arm9tdmi_register_commands(cmd_ctx);
arm966e_cmd = register_command(cmd_ctx, NULL, "arm966e", NULL, COMMAND_ANY, "arm966e specific commands");
register_command(cmd_ctx, arm966e_cmd, "cp15", arm966e_handle_cp15_command, COMMAND_EXEC, "display/modify cp15 register <num> [value]");