stlink: check for SWD support 05/4705/2
authorAntonio Borneo <borneo.antonio@gmail.com>
Thu, 20 Sep 2018 08:32:03 +0000 (10:32 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 6 Dec 2018 10:03:05 +0000 (10:03 +0000)
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>
src/jtag/drivers/stlink_usb.c

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