aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2020-10-01 14:19:16 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2020-10-03 11:23:22 +0100
commit9a877a83a1c8b1f105cdc0de46c5cbc4d9e8799e (patch)
tree982b0a7d830873c730aa8950b083558c53472fd4 /src/jtag/drivers
parent87d2651edc595bd40a1cf65a7666bbc8247397f9 (diff)
downloadriscv-openocd-9a877a83a1c8b1f105cdc0de46c5cbc4d9e8799e.zip
riscv-openocd-9a877a83a1c8b1f105cdc0de46c5cbc4d9e8799e.tar.gz
riscv-openocd-9a877a83a1c8b1f105cdc0de46c5cbc4d9e8799e.tar.bz2
drivers/jlink: fix (again) calculate_swo_prescaler formula
The prescaler computation should round at the nearest integer value, not to the next integer value. Change-Id: I957e0774421211f3c4ba4b312738b1c67b87c4a2 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Fixes: 051e80812b1b ("drivers/jlink: fix calculate_swo_prescaler formula") Reviewed-on: http://openocd.zylin.com/5846 Tested-by: jenkins Reviewed-by: Adrian M Negreanu <adrian.negreanu@nxp.com>
Diffstat (limited to 'src/jtag/drivers')
-rw-r--r--src/jtag/drivers/jlink.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index 910799c..ae8ce49 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -1269,8 +1269,7 @@ static uint32_t calculate_trace_buffer_size(void)
static bool calculate_swo_prescaler(unsigned int traceclkin_freq,
uint32_t trace_freq, uint16_t *prescaler)
{
- unsigned int presc;
- presc = DIV_ROUND_UP(traceclkin_freq, trace_freq);
+ unsigned int presc = (traceclkin_freq + trace_freq / 2) / trace_freq;
if (presc > TPIU_ACPR_MAX_SWOSCALER)
return false;