This is an automated email from Gerrit.

Antonio Borneo ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/5908

-- gerrit

commit fa8b7663f1abc0ce8fea37540ace084a256fb94a
Author: Antonio Borneo <[email protected]>
Date:   Fri Oct 30 15:03:37 2020 +0100

    stlink: fix max SWV baudrate on stlink v3
    
    While stlink v2 anly accept till to 2 MHz for SWV baudrate, stlink
    v3 accepts up to 24 MHz.
    
    Check the stlink version and use the respective max value.
    
    Change-Id: I911207a35983b6acf0b901059076dd31f70e6290
    Signed-off-by: Antonio Borneo <[email protected]>
    Reported-by: Pawel <[email protected]>
    Fixes: https://sourceforge.net/p/openocd/tickets/283/

diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c
index bfc27f2..e8a7ae0 100644
--- a/src/jtag/drivers/stlink_usb.c
+++ b/src/jtag/drivers/stlink_usb.c
@@ -299,6 +299,7 @@ struct stlink_usb_handle_s {
 
 #define STLINK_TRACE_SIZE               4096
 #define STLINK_TRACE_MAX_HZ             2000000
+#define STLINK_V3_TRACE_MAX_HZ          24000000
 
 #define STLINK_V3_MAX_FREQ_NB               10
 
@@ -2996,17 +2997,20 @@ int stlink_config_trace(void *handle, bool enabled,
                return ERROR_FAIL;
        }
 
+       unsigned int max_trace_freq = (h->version.stlink == 3) ?
+                       STLINK_V3_TRACE_MAX_HZ : STLINK_TRACE_MAX_HZ;
+
        /* Only concern ourselves with the frequency if the STlink is 
processing it. */
-       if (enabled && *trace_freq > STLINK_TRACE_MAX_HZ) {
+       if (enabled && *trace_freq > max_trace_freq) {
                LOG_ERROR("ST-LINK doesn't support SWO frequency higher than 
%u",
-                         STLINK_TRACE_MAX_HZ);
+                         max_trace_freq);
                return ERROR_FAIL;
        }
 
        stlink_usb_trace_disable(h);
 
        if (!*trace_freq)
-               *trace_freq = STLINK_TRACE_MAX_HZ;
+               *trace_freq = max_trace_freq;
 
        presc = traceclkin_freq / *trace_freq;
 

-- 


_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to