This is an automated email from Gerrit.

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

-- gerrit

commit b0dedf52abc44c16b2cefda1fc7f4cf59345ea3a
Author: Marc Schink <[email protected]>
Date:   Sun Apr 26 19:28:15 2020 +0200

    target/armv7m_trace: Calculate prescaler for external capture devices
    
    This fixes a regression introduced in 
"2dc88e1479f29ef0141b05bfcd907ad9a3e2d54c"
    
    Change-Id: I04dc19ed30118a4c499b83732700b2ee0fdb67b6
    Signed-off-by: Marc Schink <[email protected]>

diff --git a/src/target/armv7m_trace.c b/src/target/armv7m_trace.c
index 853362f..9f8d8d5 100644
--- a/src/target/armv7m_trace.c
+++ b/src/target/armv7m_trace.c
@@ -61,12 +61,28 @@ int armv7m_trace_tpiu_config(struct target *target)
 
        target_unregister_timer_callback(armv7m_poll_trace, target);
 
-       retval = adapter_config_trace(trace_config->config_type == 
TRACE_CONFIG_TYPE_INTERNAL,
+       if (trace_config->config_type == TRACE_CONFIG_TYPE_EXTERNAL) {
+               prescaler = trace_config->traceclkin_freq / 
trace_config->trace_freq;
+
+               if (trace_config->traceclkin_freq % trace_config->trace_freq) {
+                       prescaler++;
+
+                       int trace_freq = trace_config->traceclkin_freq / 
prescaler;
+                       LOG_INFO("Can not obtain %u trace port frequency from 
%u "
+                               "TRACECLKIN frequency, using %u instead",
+                               trace_config->trace_freq, 
trace_config->traceclkin_freq,
+                               trace_freq);
+
+                       trace_config->trace_freq = trace_freq;
+               }
+       } else {
+               retval = adapter_config_trace(trace_config->config_type == 
TRACE_CONFIG_TYPE_INTERNAL,
                trace_config->pin_protocol, trace_config->port_size,
                &trace_config->trace_freq, trace_config->traceclkin_freq, 
&prescaler);
 
-       if (retval != ERROR_OK)
-               return retval;
+               if (retval != ERROR_OK)
+                       return retval;
+       }
 
        if (!trace_config->trace_freq) {
                LOG_ERROR("Trace port frequency is 0, can't enable TPIU");

-- 


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

Reply via email to