X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fhla%2Fhla_interface.c;fp=src%2Fjtag%2Fstlink%2Fstlink_interface.c;h=397eeeae3f259778184632f638f4be6762126b1b;hp=15574dd337257212cad242012856aa227d2762d4;hb=549d9bc72cbca3ba352e6b4bcd6e31d9fd9a0bc7;hpb=1bba393e3cf6ae36bf056f99761a0571811dc28a diff --git a/src/jtag/stlink/stlink_interface.c b/src/jtag/hla/hla_interface.c similarity index 53% rename from src/jtag/stlink/stlink_interface.c rename to src/jtag/hla/hla_interface.c index 15574dd337..397eeeae3f 100644 --- a/src/jtag/stlink/stlink_interface.c +++ b/src/jtag/hla/hla_interface.c @@ -2,6 +2,9 @@ * Copyright (C) 2011 by Mathias Kuester * * Mathias Kuester * * * + * Copyright (C) 2012 by Spencer Oliver * + * spen@spen-soft.co.uk * + * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -27,40 +30,40 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include -static struct stlink_interface_s stlink_if = { {0, 0, 0, 0, 0, 0}, 0, 0 }; +static struct hl_interface_s hl_if = { {0, 0, 0, 0, 0, 0}, 0, 0 }; -int stlink_interface_open(enum stlink_transports tr) +int hl_interface_open(enum hl_transports tr) { - LOG_DEBUG("stlink_interface_open"); + LOG_DEBUG("hl_interface_open"); /* set transport mode */ - stlink_if.param.transport = tr; + hl_if.param.transport = tr; - int result = stlink_if.layout->open(&stlink_if); + int result = hl_if.layout->open(&hl_if); if (result != ERROR_OK) return result; - return stlink_interface_init_reset(); + return hl_interface_init_reset(); } -int stlink_interface_init_target(struct target *t) +int hl_interface_init_target(struct target *t) { int res; - LOG_DEBUG("stlink_interface_init_target"); + LOG_DEBUG("hl_interface_init_target"); /* this is the interface for the current target and we * can setup the private pointer in the tap structure * if the interface match the tap idcode */ - res = stlink_if.layout->api->idcode(stlink_if.fd, &t->tap->idcode); + res = hl_if.layout->api->idcode(hl_if.fd, &t->tap->idcode); if (res != ERROR_OK) return res; @@ -79,66 +82,66 @@ int stlink_interface_init_target(struct target *t) } if (found == 0) { - LOG_ERROR("stlink_interface_init_target: target not found: idcode: 0x%08x", + LOG_ERROR("hl_interface_init_target: target not found: idcode: 0x%08x", t->tap->idcode); return ERROR_FAIL; } - t->tap->priv = &stlink_if; + t->tap->priv = &hl_if; t->tap->hasidcode = 1; return ERROR_OK; } -static int stlink_interface_init(void) +static int hl_interface_init(void) { - LOG_DEBUG("stlink_interface_init"); + LOG_DEBUG("hl_interface_init"); /* here we can initialize the layout */ - return stlink_layout_init(&stlink_if); + return hl_layout_init(&hl_if); } -static int stlink_interface_quit(void) +static int hl_interface_quit(void) { - LOG_DEBUG("stlink_interface_quit"); + LOG_DEBUG("hl_interface_quit"); return ERROR_OK; } -static int stlink_interface_speed(int speed) +static int hl_interface_speed(int speed) { - LOG_DEBUG("stlink_interface_speed: ignore speed %d", speed); + LOG_DEBUG("hl_interface_speed: ignore speed %d", speed); return ERROR_OK; } -static int stlink_speed_div(int speed, int *khz) +static int hl_speed_div(int speed, int *khz) { *khz = speed; return ERROR_OK; } -static int stlink_khz(int khz, int *jtag_speed) +static int hl_khz(int khz, int *jtag_speed) { *jtag_speed = khz; return ERROR_OK; } -static int stlink_interface_execute_queue(void) +static int hl_interface_execute_queue(void) { - LOG_DEBUG("stlink_interface_execute_queue: ignored"); + LOG_DEBUG("hl_interface_execute_queue: ignored"); return ERROR_OK; } -int stlink_interface_init_reset(void) +int hl_interface_init_reset(void) { enum reset_types jtag_reset_config = jtag_get_reset_config(); if (jtag_reset_config & RESET_CNCT_UNDER_SRST) { if (jtag_reset_config & RESET_SRST_NO_GATING) { jtag_add_reset(0, 1); - stlink_if.layout->api->assert_srst(stlink_if.fd, 0); + hl_if.layout->api->assert_srst(hl_if.fd, 0); } else LOG_WARNING("\'srst_nogate\' reset_config option is required"); } @@ -146,79 +149,76 @@ int stlink_interface_init_reset(void) return ERROR_OK; } -COMMAND_HANDLER(stlink_interface_handle_device_desc_command) +COMMAND_HANDLER(hl_interface_handle_device_desc_command) { - LOG_DEBUG("stlink_interface_handle_device_desc_command"); + LOG_DEBUG("hl_interface_handle_device_desc_command"); if (CMD_ARGC == 1) { - stlink_if.param.device_desc = strdup(CMD_ARGV[0]); + hl_if.param.device_desc = strdup(CMD_ARGV[0]); } else { - LOG_ERROR - ("expected exactly one argument to stlink_device_desc "); + LOG_ERROR("expected exactly one argument to hl_device_desc "); } return ERROR_OK; } -COMMAND_HANDLER(stlink_interface_handle_serial_command) +COMMAND_HANDLER(hl_interface_handle_serial_command) { - LOG_DEBUG("stlink_interface_handle_serial_command"); + LOG_DEBUG("hl_interface_handle_serial_command"); if (CMD_ARGC == 1) { - stlink_if.param.serial = strdup(CMD_ARGV[0]); + hl_if.param.serial = strdup(CMD_ARGV[0]); } else { - LOG_ERROR - ("expected exactly one argument to stlink_serial "); + LOG_ERROR("expected exactly one argument to hl_serial "); } return ERROR_OK; } -COMMAND_HANDLER(stlink_interface_handle_layout_command) +COMMAND_HANDLER(hl_interface_handle_layout_command) { - LOG_DEBUG("stlink_interface_handle_layout_command"); + LOG_DEBUG("hl_interface_handle_layout_command"); if (CMD_ARGC != 1) { LOG_ERROR("Need exactly one argument to stlink_layout"); return ERROR_COMMAND_SYNTAX_ERROR; } - if (stlink_if.layout) { - LOG_ERROR("already specified stlink_layout %s", - stlink_if.layout->name); - return (strcmp(stlink_if.layout->name, CMD_ARGV[0]) != 0) + if (hl_if.layout) { + LOG_ERROR("already specified hl_layout %s", + hl_if.layout->name); + return (strcmp(hl_if.layout->name, CMD_ARGV[0]) != 0) ? ERROR_FAIL : ERROR_OK; } - for (const struct stlink_layout *l = stlink_layout_get_list(); l->name; + for (const struct hl_layout *l = hl_layout_get_list(); l->name; l++) { if (strcmp(l->name, CMD_ARGV[0]) == 0) { - stlink_if.layout = l; + hl_if.layout = l; return ERROR_OK; } } - LOG_ERROR("No STLINK layout '%s' found", CMD_ARGV[0]); + LOG_ERROR("No adapter layout '%s' found", CMD_ARGV[0]); return ERROR_FAIL; } -COMMAND_HANDLER(stlink_interface_handle_vid_pid_command) +COMMAND_HANDLER(hl_interface_handle_vid_pid_command) { - LOG_DEBUG("stlink_interface_handle_vid_pid_command"); + LOG_DEBUG("hl_interface_handle_vid_pid_command"); if (CMD_ARGC != 2) { - LOG_WARNING - ("ignoring extra IDs in stlink_vid_pid (maximum is 1 pair)"); + LOG_WARNING("ignoring extra IDs in hl_vid_pid (maximum is 1 pair)"); return ERROR_COMMAND_SYNTAX_ERROR; } - COMMAND_PARSE_NUMBER(u16, CMD_ARGV[0], stlink_if.param.vid); - COMMAND_PARSE_NUMBER(u16, CMD_ARGV[1], stlink_if.param.pid); + COMMAND_PARSE_NUMBER(u16, CMD_ARGV[0], hl_if.param.vid); + COMMAND_PARSE_NUMBER(u16, CMD_ARGV[1], hl_if.param.pid); return ERROR_OK; } -COMMAND_HANDLER(stlink_interface_handle_api_command) +COMMAND_HANDLER(hl_interface_handle_api_command) { if (CMD_ARGC != 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -228,43 +228,43 @@ COMMAND_HANDLER(stlink_interface_handle_api_command) if ((new_api == 0) || (new_api > 2)) return ERROR_COMMAND_SYNTAX_ERROR; - stlink_if.param.api = new_api; + hl_if.param.api = new_api; return ERROR_OK; } -static const struct command_registration stlink_interface_command_handlers[] = { +static const struct command_registration hl_interface_command_handlers[] = { { .name = "stlink_device_desc", - .handler = &stlink_interface_handle_device_desc_command, + .handler = &hl_interface_handle_device_desc_command, .mode = COMMAND_CONFIG, - .help = "set the stlink device description of the STLINK device", + .help = "set the a device description of the adapter", .usage = "description_string", }, { .name = "stlink_serial", - .handler = &stlink_interface_handle_serial_command, + .handler = &hl_interface_handle_serial_command, .mode = COMMAND_CONFIG, - .help = "set the serial number of the STLINK device", + .help = "set the serial number of the adapter", .usage = "serial_string", }, { .name = "stlink_layout", - .handler = &stlink_interface_handle_layout_command, + .handler = &hl_interface_handle_layout_command, .mode = COMMAND_CONFIG, - .help = "set the layout of the STLINK to usb or sg", + .help = "set the layout of the adapter", .usage = "layout_name", }, { .name = "stlink_vid_pid", - .handler = &stlink_interface_handle_vid_pid_command, + .handler = &hl_interface_handle_vid_pid_command, .mode = COMMAND_CONFIG, - .help = "the vendor and product ID of the STLINK device", + .help = "the vendor and product ID of the adapter", .usage = "(vid pid)* ", }, { .name = "stlink_api", - .handler = &stlink_interface_handle_api_command, + .handler = &hl_interface_handle_api_command, .mode = COMMAND_CONFIG, .help = "set the desired stlink api level", .usage = "api version 1 or 2", @@ -272,15 +272,15 @@ static const struct command_registration stlink_interface_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -struct jtag_interface stlink_interface = { +struct jtag_interface hl_interface = { .name = "stlink", .supported = 0, - .commands = stlink_interface_command_handlers, - .transports = stlink_transports, - .init = stlink_interface_init, - .quit = stlink_interface_quit, - .speed = stlink_interface_speed, - .speed_div = stlink_speed_div, - .khz = stlink_khz, - .execute_queue = stlink_interface_execute_queue, + .commands = hl_interface_command_handlers, + .transports = hl_transports, + .init = hl_interface_init, + .quit = hl_interface_quit, + .speed = hl_interface_speed, + .speed_div = hl_speed_div, + .khz = hl_khz, + .execute_queue = hl_interface_execute_queue, };