# SPDX-License-Identifier: GPL-2.0-or-later # Cadence virtual debug interface # Arm v8 64b Cortex A if {![info exists _CORES]} { set _CORES 1 } if {![info exists _CHIPNAME]} { set _CHIPNAME aarch64 } set _TARGETNAME $_CHIPNAME.cpu set _CTINAME $_CHIPNAME.cti set DBGBASE {0x80810000 0x80910000} set CTIBASE {0x80820000 0x80920000} dap create $_CHIPNAME.dap -chain-position $_TARGETNAME $_CHIPNAME.dap apsel 1 for { set _core 0 } { $_core < $_CORES } { incr _core } \ { cti create $_CTINAME.$_core -dap $_CHIPNAME.dap -ap-num 1 -baseaddr [lindex $CTIBASE $_core] set _command "target create $_TARGETNAME.$_core aarch64 -dap $_CHIPNAME.dap \ -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core" if { $_core != 0 } { # non-boot core examination may fail set _command "$_command -defer-examine" set _smp_command "$_smp_command $_TARGETNAME.$_core" } else { set _smp_command "target smp $_TARGETNAME.$_core" } eval $_command } eval $_smp_command # default target is core 0 targets $_TARGETNAME.0