| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- # SPDX-License-Identifier: GPL-2.0-or-later
- # BlueField SoC Target
- set _CHIPNAME bluefield
- # Specify the target device
- #rshim device /dev/rshim0/rshim
- # Main DAP
- if { [info exists DAP_TAPID] } {
- set _DAP_TAPID $DAP_TAPID
- } else {
- set _DAP_TAPID 0x4ba00477
- }
- adapter speed 1500
- swd newdap $_CHIPNAME cpu -expected-id $_DAP_TAPID
- dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
- # Initialize the target name and command variable.
- set _TARGETNAME $_CHIPNAME.cpu
- set _smp_command ""
- # CTI relative address
- set $_TARGETNAME.cti(0) 0xC4020000
- set $_TARGETNAME.cti(1) 0xC4120000
- set $_TARGETNAME.cti(2) 0xC8020000
- set $_TARGETNAME.cti(3) 0xC8120000
- set $_TARGETNAME.cti(4) 0xCC020000
- set $_TARGETNAME.cti(5) 0xCC120000
- set $_TARGETNAME.cti(6) 0xD0020000
- set $_TARGETNAME.cti(7) 0xD0120000
- set $_TARGETNAME.cti(8) 0xD4020000
- set $_TARGETNAME.cti(9) 0xD4120000
- set $_TARGETNAME.cti(10) 0xD8020000
- set $_TARGETNAME.cti(11) 0xD8120000
- set $_TARGETNAME.cti(12) 0xDC020000
- set $_TARGETNAME.cti(13) 0xDC120000
- set $_TARGETNAME.cti(14) 0xE0020000
- set $_TARGETNAME.cti(15) 0xE0120000
- # Create debug targets for a number of cores starting from core '_core_start'.
- # Adjust the numbers according to board configuration.
- set _core_start 0
- set _cores 16
- # Create each core
- for { set _core $_core_start } { $_core < $_core_start + $_cores } { incr _core 1 } {
- cti create cti$_core -dap $_CHIPNAME.dap -baseaddr [set $_TARGETNAME.cti($_core)] -ap-num 0
- set _command "target create ${_TARGETNAME}$_core aarch64 \
- -dap $_CHIPNAME.dap -coreid $_core -cti cti$_core"
- if { $_core != $_core_start } {
- set _smp_command "$_smp_command ${_TARGETNAME}$_core"
- } else {
- set _smp_command "target smp ${_TARGETNAME}$_core"
- }
- eval $_command
- }
- # Configure SMP
- if { $_cores > 1 } {
- eval $_smp_command
- }
- # Make sure the default target is the boot core
- targets ${_TARGETNAME}0
- proc core_up { args } {
- global _TARGETNAME
- # Examine remaining cores
- foreach _core $args {
- ${_TARGETNAME}$_core arp_examine
- }
- }
|