aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/stlink_usb.c
diff options
context:
space:
mode:
authorSpencer Oliver <spen@spen-soft.co.uk>2012-05-04 14:31:25 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2012-05-14 09:34:00 +0000
commit61672009c41f4f72deb399512774acf2105cf1b6 (patch)
tree35bbe1ed306b270cfbcd45719d93be1131c41d34 /src/jtag/drivers/stlink_usb.c
parent18df479f0a96e9e6b50d7e3393adc90629c049f7 (diff)
stlink: add stlink_api cmd
This enables the manual selection of the stlink api version. Change-Id: I0ec8c5b0a101b6456f426d2fec65971da56db4e7 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/617 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com> Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Diffstat (limited to 'src/jtag/drivers/stlink_usb.c')
-rw-r--r--src/jtag/drivers/stlink_usb.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c
index 1de42efb..b4944f56 100644
--- a/src/jtag/drivers/stlink_usb.c
+++ b/src/jtag/drivers/stlink_usb.c
@@ -48,7 +48,7 @@
#define STLINK_CMD_SIZE_V1 (10)
enum stlink_jtag_api_version {
- STLINK_JTAG_API_V1 = 0,
+ STLINK_JTAG_API_V1 = 1,
STLINK_JTAG_API_V2,
};
@@ -1132,6 +1132,7 @@ static int stlink_usb_open(struct stlink_interface_param_s *param, void **fd)
{
int err;
struct stlink_usb_handle_s *h;
+ enum stlink_jtag_api_version api;
LOG_DEBUG("stlink_usb_open");
@@ -1213,8 +1214,17 @@ static int stlink_usb_open(struct stlink_interface_param_s *param, void **fd)
return err;
}
+ api = h->version.jtag_api_max;
+
+ /* check that user has not requested certain api version
+ * and if they have check it is supported */
+ if ((param->api != 0) && (param->api <= h->version.jtag_api_max)) {
+ api = param->api;
+ LOG_INFO("using stlink api v%d", api);
+ }
+
/* set the used jtag api, this will default to the newest supported version */
- h->jtag_api = h->version.jtag_api_max;
+ h->jtag_api = api;
/* initialize the debug hardware */
err = stlink_usb_init_mode(h);