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
This commit is contained in:
parent
1a00c67e10
commit
edb14a02e9
|
@ -131,6 +131,26 @@ proc _proc_pre_enable_$_CHIPNAME.tpiu {_targetname _chipname} {
|
||||||
0x52840 -
|
0x52840 -
|
||||||
0x52833 -
|
0x52833 -
|
||||||
0x52832 {
|
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 -protocol] eq "sync" } {
|
||||||
if { [$_chipname.tpiu cget -port-width] != 4 } {
|
if { [$_chipname.tpiu cget -port-width] != 4 } {
|
||||||
error "Device only supports 4-bit sync traces"
|
error "Device only supports 4-bit sync traces"
|
||||||
|
|
Loading…
Reference in New Issue