#include "jtag.h"
#include "interface.h"
-#include "transport.h"
+#include <transport/transport.h>
#ifdef HAVE_STRINGS_H
#include <strings.h>
cmd_queue_cur_state = state;
}
-void jtag_alloc_in_value32(struct scan_field *field)
-{
- interface_jtag_alloc_in_value32(field);
-}
-
void jtag_add_ir_scan_noverify(struct jtag_tap *active, const struct scan_field *in_fields,
tap_state_t state)
{
jtag_add_ir_scan_noverify(active, in_fields, state);
}
+/* If fields->in_value is filled out, then the captured IR value will be checked */
void jtag_add_ir_scan(struct jtag_tap *active, struct scan_field *in_fields, tap_state_t state)
{
assert(state != TAP_RESET);
static void jtag_add_scan_check(struct jtag_tap *active, void (*jtag_add_scan)(struct jtag_tap *active, int in_num_fields, const struct scan_field *in_fields, tap_state_t state),
int in_num_fields, struct scan_field *in_fields, tap_state_t state)
{
- for (int i = 0; i < in_num_fields; i++)
- {
- struct scan_field *field = &in_fields[i];
- field->allocated = 0;
- field->modified = 0;
- if (field->check_value || field->in_value)
- continue;
- interface_jtag_add_scan_check_alloc(field);
- field->modified = 1;
- }
-
jtag_add_scan(active, in_num_fields, in_fields, state);
for (int i = 0; i < in_num_fields; i++)
(jtag_callback_data_t)in_fields[i].check_mask,
(jtag_callback_data_t)in_fields[i].num_bits);
}
- if (in_fields[i].allocated)
- {
- free(in_fields[i].in_value);
- }
- if (in_fields[i].modified)
- {
- in_fields[i].in_value = NULL;
- }
}
}
int requested_khz = jtag_get_speed_khz();
int actual_khz = requested_khz;
- int jtag_speed_var;
+ int jtag_speed_var = 0;
retval = jtag_get_speed(&jtag_speed_var);
if (retval != ERROR_OK)
return retval;
int jtag_get_speed_readable(int *khz)
{
- int jtag_speed_var;
+ int jtag_speed_var = 0;
int retval = jtag_get_speed(&jtag_speed_var);
if (retval != ERROR_OK)
return retval;