stlink: check for SWD support

The old ST-Link/V1 can either run an obsolete firmware with API_V1 or
a more recent firmware (from V1J11 to last V1J13) with API_V2.
SWD is only provided by the latter API.

Return error is SWD is selected on adapters that does not support it.

Change-Id: Iac4ba54d191ba80fb445a7cd3d8c2621dc7a4846
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4705
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
log_output
Antonio Borneo 2018-09-20 10:32:03 +02:00 committed by Spencer Oliver
parent 81142fa6da
commit 1822c2fb94
1 changed files with 3 additions and 0 deletions

View File

@ -2316,6 +2316,9 @@ static int stlink_usb_open(struct hl_interface_param_s *param, void **fd)
switch (h->transport) { switch (h->transport) {
case HL_TRANSPORT_SWD: case HL_TRANSPORT_SWD:
if (h->version.jtag_api_max == STLINK_JTAG_API_V1)
err = ERROR_FAIL;
/* fall-through */
case HL_TRANSPORT_JTAG: case HL_TRANSPORT_JTAG:
if (h->version.jtag == 0) if (h->version.jtag == 0)
err = ERROR_FAIL; err = ERROR_FAIL;