static const char *jtag_event_strings[] =
{
- [JTAG_TRST_ASSERTED] = "JTAG controller reset (TLR or TRST)",
+ [JTAG_TRST_ASSERTED] = "TAP reset",
[JTAG_TAP_EVENT_ENABLE] = "TAP enabled",
- [JTAG_TAP_EVENT_POST_RESET] = "post reset",
+ [JTAG_TAP_EVENT_POST_RESET] = "TAP post reset",
[JTAG_TAP_EVENT_DISABLE] = "TAP disabled",
};
{
jtag_tap_t *tap = priv;
- LOG_DEBUG("TAP %s event %s", tap->dotted_name,
- jtag_event_strings[event]);
-
if (event == JTAG_TRST_ASSERTED)
{
tap->enabled = !tap->disabled_after_reset;
for (ii = 0; ii < tap->expected_ids_cnt; ii++)
{
if (tap->idcode == tap->expected_ids[ii])
- break;
+ return true;
}
/* If none of the expected ids matched, log an error */
- if (ii != tap->expected_ids_cnt)
- {
- LOG_DEBUG("JTAG Tap/device matched");
- return true;
- }
jtag_examine_chain_display(LOG_LVL_ERROR, "got",
tap->dotted_name, tap->idcode);
for (ii = 0; ii < tap->expected_ids_cnt; ii++)
if ((idcode & 1) == 0)
{
/* LSB must not be 0, this indicates a device in bypass */
- LOG_WARNING("Tap/Device does not have IDCODE");
+ LOG_WARNING("TAP %s does not have IDCODE",
+ tap->dotted_name);
idcode = 0;
tap->hasidcode = false;
}
jtag_examine_chain_display(LOG_LVL_INFO, "tap/device found",
- tap ? tap->dotted_name : "(not-named)",
- idcode);
+ tap->dotted_name, idcode);
bit_count += 32;
}
device_count++;
- if (!tap)
- continue;
-
tap->idcode = idcode;
// ensure the TAP ID does matches what was expected
static void jtag_tap_handle_event(jtag_tap_t *tap, enum jtag_event e)
{
jtag_tap_event_action_t * jteap;
- int done;
- jteap = tap->event_action;
-
- done = 0;
- while (jteap) {
+ for (jteap = tap->event_action; jteap != NULL; jteap = jteap->next) {
if (jteap->event == e) {
- done = 1;
LOG_DEBUG("JTAG tap: %s event: %d (%s) action: %s\n",
tap->dotted_name,
e,
break;
}
}
-
- jteap = jteap->next;
- }
-
- if (!done) {
- LOG_DEBUG("event %d %s - no action",
- e,
- Jim_Nvp_value2name_simple(nvp_jtag_tap_event, e)->name);
}
}
void target_handle_event(target_t *target, enum target_event e)
{
target_event_action_t *teap;
- int done;
- teap = target->event_action;
-
- done = 0;
- while (teap) {
+ for (teap = target->event_action; teap != NULL; teap = teap->next) {
if (teap->event == e) {
- done = 1;
LOG_DEBUG("target: (%d) %s (%s) event: %d (%s) action: %s",
target->target_number,
target->cmd_name,
Jim_PrintErrorMessage(interp);
}
}
- teap = teap->next;
- }
- if (!done) {
- LOG_DEBUG("event: %d %s - no action",
- e,
- Jim_Nvp_value2name_simple(nvp_target_event, e)->name);
}
}