jtag: remove useless forward declarations
Removes some more useless forward declarations from a few JTAG drivers. Moves interface and bit-bang structure defitions below their callbacks.
This commit is contained in:
parent
c46c2d77e6
commit
b58239e4c0
|
@ -55,14 +55,6 @@
|
||||||
static uint8_t usb_in_buffer[ARMJTAGEW_IN_BUFFER_SIZE];
|
static uint8_t usb_in_buffer[ARMJTAGEW_IN_BUFFER_SIZE];
|
||||||
static uint8_t usb_out_buffer[ARMJTAGEW_OUT_BUFFER_SIZE];
|
static uint8_t usb_out_buffer[ARMJTAGEW_OUT_BUFFER_SIZE];
|
||||||
|
|
||||||
/* External interface functions */
|
|
||||||
static int armjtagew_execute_queue(void);
|
|
||||||
static int armjtagew_speed(int speed);
|
|
||||||
static int armjtagew_khz(int khz, int *jtag_speed);
|
|
||||||
static int armjtagew_register_commands(struct command_context *cmd_ctx);
|
|
||||||
static int armjtagew_init(void);
|
|
||||||
static int armjtagew_quit(void);
|
|
||||||
|
|
||||||
/* Queue command functions */
|
/* Queue command functions */
|
||||||
static void armjtagew_end_state(tap_state_t state);
|
static void armjtagew_end_state(tap_state_t state);
|
||||||
static void armjtagew_state_move(void);
|
static void armjtagew_state_move(void);
|
||||||
|
@ -105,18 +97,6 @@ static struct armjtagew* armjtagew_handle;
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* External interface implementation */
|
/* External interface implementation */
|
||||||
|
|
||||||
struct jtag_interface armjtagew_interface =
|
|
||||||
{
|
|
||||||
.name = "arm-jtag-ew",
|
|
||||||
.execute_queue = armjtagew_execute_queue,
|
|
||||||
.speed = armjtagew_speed,
|
|
||||||
.khz = armjtagew_khz,
|
|
||||||
.register_commands = armjtagew_register_commands,
|
|
||||||
.init = armjtagew_init,
|
|
||||||
.quit = armjtagew_quit
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static int armjtagew_execute_queue(void)
|
static int armjtagew_execute_queue(void)
|
||||||
{
|
{
|
||||||
struct jtag_command *cmd = jtag_command_queue;
|
struct jtag_command *cmd = jtag_command_queue;
|
||||||
|
@ -529,6 +509,16 @@ static int armjtagew_register_commands(struct command_context *cmd_ctx)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct jtag_interface armjtagew_interface = {
|
||||||
|
.name = "arm-jtag-ew",
|
||||||
|
.execute_queue = &armjtagew_execute_queue,
|
||||||
|
.speed = &armjtagew_speed,
|
||||||
|
.khz = &armjtagew_khz,
|
||||||
|
.register_commands = &armjtagew_register_commands,
|
||||||
|
.init = &armjtagew_init,
|
||||||
|
.quit = &armjtagew_quit,
|
||||||
|
};
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* ARM-JTAG-EW tap functions */
|
/* ARM-JTAG-EW tap functions */
|
||||||
|
|
||||||
|
|
|
@ -35,45 +35,6 @@ static int clock_count; /* count clocks in any stable state, only stable
|
||||||
static uint32_t dummy_data;
|
static uint32_t dummy_data;
|
||||||
|
|
||||||
|
|
||||||
static int dummy_speed(int speed);
|
|
||||||
static int dummy_register_commands(struct command_context *cmd_ctx);
|
|
||||||
static int dummy_init(void);
|
|
||||||
static 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
|
|
||||||
* where the target is unresponsive.
|
|
||||||
*/
|
|
||||||
struct jtag_interface dummy_interface =
|
|
||||||
{
|
|
||||||
.name = "dummy",
|
|
||||||
|
|
||||||
.execute_queue = bitbang_execute_queue,
|
|
||||||
|
|
||||||
.speed = dummy_speed,
|
|
||||||
.register_commands = dummy_register_commands,
|
|
||||||
.khz = dummy_khz,
|
|
||||||
.speed_div = dummy_speed_div,
|
|
||||||
|
|
||||||
.init = dummy_init,
|
|
||||||
.quit = dummy_quit,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int dummy_read(void);
|
|
||||||
static void dummy_write(int tck, int tms, int tdi);
|
|
||||||
static void dummy_reset(int trst, int srst);
|
|
||||||
static void dummy_led(int on);
|
|
||||||
|
|
||||||
static struct bitbang_interface dummy_bitbang =
|
|
||||||
{
|
|
||||||
.read = dummy_read,
|
|
||||||
.write = dummy_write,
|
|
||||||
.reset = dummy_reset,
|
|
||||||
.blink = dummy_led
|
|
||||||
};
|
|
||||||
|
|
||||||
static int dummy_read(void)
|
static int dummy_read(void)
|
||||||
{
|
{
|
||||||
int data = 1 & dummy_data;
|
int data = 1 & dummy_data;
|
||||||
|
@ -129,6 +90,18 @@ static void dummy_reset(int trst, int srst)
|
||||||
LOG_DEBUG("reset to: %s", tap_state_name(dummy_state));
|
LOG_DEBUG("reset to: %s", tap_state_name(dummy_state));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void dummy_led(int on)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct bitbang_interface dummy_bitbang = {
|
||||||
|
.read = &dummy_read,
|
||||||
|
.write = &dummy_write,
|
||||||
|
.reset = &dummy_reset,
|
||||||
|
.blink = &dummy_led,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static int dummy_khz(int khz, int *jtag_speed)
|
static int dummy_khz(int khz, int *jtag_speed)
|
||||||
{
|
{
|
||||||
if (khz == 0)
|
if (khz == 0)
|
||||||
|
@ -178,7 +151,19 @@ static int dummy_quit(void)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dummy_led(int on)
|
/* The dummy driver is used to easily check the code path
|
||||||
{
|
* where the target is unresponsive.
|
||||||
}
|
*/
|
||||||
|
struct jtag_interface dummy_interface = {
|
||||||
|
.name = "dummy",
|
||||||
|
|
||||||
|
.execute_queue = &bitbang_execute_queue,
|
||||||
|
|
||||||
|
.speed = &dummy_speed,
|
||||||
|
.register_commands = &dummy_register_commands,
|
||||||
|
.khz = &dummy_khz,
|
||||||
|
.speed_div = &dummy_speed_div,
|
||||||
|
|
||||||
|
.init = &dummy_init,
|
||||||
|
.quit = &dummy_quit,
|
||||||
|
};
|
||||||
|
|
|
@ -82,15 +82,6 @@ static uint8_t usb_emu_result_buffer[JLINK_EMU_RESULT_BUFFER_SIZE];
|
||||||
/* max speed 12MHz v5.0 jlink */
|
/* max speed 12MHz v5.0 jlink */
|
||||||
#define JLINK_MAX_SPEED 12000
|
#define JLINK_MAX_SPEED 12000
|
||||||
|
|
||||||
/* External interface functions */
|
|
||||||
static int jlink_execute_queue(void);
|
|
||||||
static int jlink_speed(int speed);
|
|
||||||
static int jlink_speed_div(int speed, int* khz);
|
|
||||||
static int jlink_khz(int khz, int *jtag_speed);
|
|
||||||
static int jlink_register_commands(struct command_context *cmd_ctx);
|
|
||||||
static int jlink_init(void);
|
|
||||||
static int jlink_quit(void);
|
|
||||||
|
|
||||||
/* Queue command functions */
|
/* Queue command functions */
|
||||||
static void jlink_end_state(tap_state_t state);
|
static void jlink_end_state(tap_state_t state);
|
||||||
static void jlink_state_move(void);
|
static void jlink_state_move(void);
|
||||||
|
@ -134,18 +125,6 @@ static struct jlink* jlink_handle;
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* External interface implementation */
|
/* External interface implementation */
|
||||||
|
|
||||||
struct jtag_interface jlink_interface =
|
|
||||||
{
|
|
||||||
.name = "jlink",
|
|
||||||
.execute_queue = jlink_execute_queue,
|
|
||||||
.speed = jlink_speed,
|
|
||||||
.speed_div = jlink_speed_div,
|
|
||||||
.khz = jlink_khz,
|
|
||||||
.register_commands = jlink_register_commands,
|
|
||||||
.init = jlink_init,
|
|
||||||
.quit = jlink_quit
|
|
||||||
};
|
|
||||||
|
|
||||||
static void jlink_execute_runtest(struct jtag_command *cmd)
|
static void jlink_execute_runtest(struct jtag_command *cmd)
|
||||||
{
|
{
|
||||||
DEBUG_JTAG_IO("runtest %i cycles, end in %i",
|
DEBUG_JTAG_IO("runtest %i cycles, end in %i",
|
||||||
|
@ -661,6 +640,17 @@ static int jlink_register_commands(struct command_context *cmd_ctx)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct jtag_interface jlink_interface = {
|
||||||
|
.name = "jlink",
|
||||||
|
.execute_queue = &jlink_execute_queue,
|
||||||
|
.speed = &jlink_speed,
|
||||||
|
.speed_div = &jlink_speed_div,
|
||||||
|
.khz = &jlink_khz,
|
||||||
|
.register_commands = &jlink_register_commands,
|
||||||
|
.init = &jlink_init,
|
||||||
|
.quit = &jlink_quit,
|
||||||
|
};
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* J-Link tap functions */
|
/* J-Link tap functions */
|
||||||
|
|
||||||
|
|
|
@ -39,42 +39,6 @@
|
||||||
#error "BUG: either FTD2XX and LIBFTDI has to be used"
|
#error "BUG: either FTD2XX and LIBFTDI has to be used"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int presto_jtag_speed(int speed);
|
|
||||||
static int presto_jtag_khz(int khz, int *jtag_speed);
|
|
||||||
static int presto_jtag_speed_div(int speed, int *khz);
|
|
||||||
static int presto_jtag_register_commands(struct command_context *cmd_ctx);
|
|
||||||
static int presto_jtag_init(void);
|
|
||||||
static int presto_jtag_quit(void);
|
|
||||||
|
|
||||||
struct jtag_interface presto_interface =
|
|
||||||
{
|
|
||||||
.name = "presto",
|
|
||||||
.execute_queue = bitq_execute_queue,
|
|
||||||
.speed = presto_jtag_speed,
|
|
||||||
.khz = presto_jtag_khz,
|
|
||||||
.speed_div = presto_jtag_speed_div,
|
|
||||||
.register_commands = presto_jtag_register_commands,
|
|
||||||
.init = presto_jtag_init,
|
|
||||||
.quit = presto_jtag_quit,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int presto_bitq_out(int tms, int tdi, int tdo_req);
|
|
||||||
static int presto_bitq_flush(void);
|
|
||||||
static int presto_bitq_sleep(unsigned long us);
|
|
||||||
static int presto_bitq_reset(int trst, int srst);
|
|
||||||
static int presto_bitq_in_rdy(void);
|
|
||||||
static int presto_bitq_in(void);
|
|
||||||
|
|
||||||
static struct bitq_interface presto_bitq =
|
|
||||||
{
|
|
||||||
.out = presto_bitq_out,
|
|
||||||
.flush = presto_bitq_flush,
|
|
||||||
.sleep = presto_bitq_sleep,
|
|
||||||
.reset = presto_bitq_reset,
|
|
||||||
.in_rdy = presto_bitq_in_rdy,
|
|
||||||
.in = presto_bitq_in,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
#define FT_DEVICE_NAME_LEN 64
|
#define FT_DEVICE_NAME_LEN 64
|
||||||
|
@ -699,6 +663,15 @@ static int presto_bitq_reset(int trst, int srst)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct bitq_interface presto_bitq = {
|
||||||
|
.out = &presto_bitq_out,
|
||||||
|
.flush = &presto_bitq_flush,
|
||||||
|
.sleep = &presto_bitq_sleep,
|
||||||
|
.reset = &presto_bitq_reset,
|
||||||
|
.in_rdy = &presto_bitq_in_rdy,
|
||||||
|
.in = &presto_bitq_in,
|
||||||
|
};
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static int presto_jtag_khz(int khz, int *jtag_speed)
|
static int presto_jtag_khz(int khz, int *jtag_speed)
|
||||||
|
@ -807,3 +780,14 @@ static int presto_jtag_quit(void)
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct jtag_interface presto_interface = {
|
||||||
|
.name = "presto",
|
||||||
|
.execute_queue = &bitq_execute_queue,
|
||||||
|
.speed = &presto_jtag_speed,
|
||||||
|
.khz = &presto_jtag_khz,
|
||||||
|
.speed_div = &presto_jtag_speed_div,
|
||||||
|
.register_commands = &presto_jtag_register_commands,
|
||||||
|
.init = &presto_jtag_init,
|
||||||
|
.quit = &presto_jtag_quit,
|
||||||
|
};
|
||||||
|
|
|
@ -49,28 +49,12 @@
|
||||||
#define TCK_BIT 2
|
#define TCK_BIT 2
|
||||||
#define TMS_BIT 1
|
#define TMS_BIT 1
|
||||||
|
|
||||||
static int usbprog_execute_queue(void);
|
|
||||||
static int usbprog_speed(int speed);
|
|
||||||
static int usbprog_register_commands(struct command_context *cmd_ctx);
|
|
||||||
static int usbprog_init(void);
|
|
||||||
static int usbprog_quit(void);
|
|
||||||
|
|
||||||
static void usbprog_end_state(tap_state_t state);
|
static void usbprog_end_state(tap_state_t state);
|
||||||
static void usbprog_state_move(void);
|
static void usbprog_state_move(void);
|
||||||
static void usbprog_path_move(struct pathmove_command *cmd);
|
static void usbprog_path_move(struct pathmove_command *cmd);
|
||||||
static void usbprog_runtest(int num_cycles);
|
static void usbprog_runtest(int num_cycles);
|
||||||
static void usbprog_scan(bool ir_scan, enum scan_type type, uint8_t *buffer, int scan_size);
|
static void usbprog_scan(bool ir_scan, enum scan_type type, uint8_t *buffer, int scan_size);
|
||||||
|
|
||||||
struct jtag_interface usbprog_interface =
|
|
||||||
{
|
|
||||||
.name = "usbprog",
|
|
||||||
.execute_queue = usbprog_execute_queue,
|
|
||||||
.speed = usbprog_speed,
|
|
||||||
.register_commands = usbprog_register_commands,
|
|
||||||
.init = usbprog_init,
|
|
||||||
.quit = usbprog_quit
|
|
||||||
};
|
|
||||||
|
|
||||||
#define UNKOWN_COMMAND 0x00
|
#define UNKOWN_COMMAND 0x00
|
||||||
#define PORT_DIRECTION 0x01
|
#define PORT_DIRECTION 0x01
|
||||||
#define PORT_SET 0x02
|
#define PORT_SET 0x02
|
||||||
|
@ -120,11 +104,6 @@ static int usbprog_speed(int speed)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int usbprog_register_commands(struct command_context *cmd_ctx)
|
|
||||||
{
|
|
||||||
return ERROR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int usbprog_execute_queue(void)
|
static int usbprog_execute_queue(void)
|
||||||
{
|
{
|
||||||
struct jtag_command *cmd = jtag_command_queue; /* currently processed command */
|
struct jtag_command *cmd = jtag_command_queue; /* currently processed command */
|
||||||
|
@ -688,3 +667,11 @@ static void usbprog_jtag_tms_send(struct usbprog_jtag *usbprog_jtag)
|
||||||
tms_chain_index = 0;
|
tms_chain_index = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct jtag_interface usbprog_interface = {
|
||||||
|
.name = "usbprog",
|
||||||
|
.execute_queue = &usbprog_execute_queue,
|
||||||
|
.speed = &usbprog_speed,
|
||||||
|
.init = &usbprog_init,
|
||||||
|
.quit = &usbprog_quit
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in New Issue