diff options
author | Marc Schink <dev@zapb.de> | 2024-05-05 15:28:20 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2024-05-26 09:55:31 +0000 |
commit | edb14a02e9b698d015696a959ca81f821d49d4e3 (patch) | |
tree | 79495c1bc2c51d2e68731f1f6344320319e655fa | |
parent | 1a00c67e101015ba23b8213604b9cc5725bc1d52 (diff) | |
download | riscv-openocd-edb14a02e9b698d015696a959ca81f821d49d4e3.zip riscv-openocd-edb14a02e9b698d015696a959ca81f821d49d4e3.tar.gz riscv-openocd-edb14a02e9b698d015696a959ca81f821d49d4e3.tar.bz2 |
tcl/target/nrf52: Configure trace port speed
Configure the TRACECONFIG.TRACEPORTSPEED register depending on the
trace clock speed. Also catch invalid trace clock speeds.
Change-Id: I1ece1cc59da539732d2d71f296fd55799c195387
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/8256
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
-rw-r--r-- | tcl/target/nrf52.cfg | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tcl/target/nrf52.cfg b/tcl/target/nrf52.cfg index a9121d3..0703b18 100644 --- a/tcl/target/nrf52.cfg +++ b/tcl/target/nrf52.cfg @@ -131,6 +131,26 @@ proc _proc_pre_enable_$_CHIPNAME.tpiu {_targetname _chipname} { 0x52840 - 0x52833 - 0x52832 { + # Configuration values for all supported trace port speeds, see + # TRACECONFIG.TRACEPORTSPEED + set trace_port_speeds { + 32000000 0 + 16000000 1 + 8000000 2 + 4000000 3 + } + + # Note that trace port clock stands for what is referred to as + # TRACECLKIN in the Arm CoreSight documentation. + set trace_port_clock [$_chipname.tpiu cget -traceclk] + + if { ![dict exists $trace_port_speeds $trace_port_clock] } { + error "Trace clock speed is not supported" + } + + # Set TRACECONFIG.TRACEPORTSPEED + mmw 0x4000055C [dict get $trace_port_speeds $trace_port_clock] 0x3 + if { [$_chipname.tpiu cget -protocol] eq "sync" } { if { [$_chipname.tpiu cget -port-width] != 4 } { error "Device only supports 4-bit sync traces" |