From 84d68579eb55c1b4aba4fddc11b33ae746f84d23 Mon Sep 17 00:00:00 2001 From: Jiri Kastner Date: Sat, 16 Dec 2017 22:17:52 +0100 Subject: [PATCH] configs for Marvell Armada 3700 Change-Id: I367f39c9bc9e58380d6d5b500d5368d5173d96bd Signed-off-by: Jiri Kastner Signed-off-by: Forest Crossman Reviewed-on: http://openocd.zylin.com/4302 Tested-by: jenkins Reviewed-by: Paul Fertser --- tcl/target/marvell/88f3710.cfg | 5 +++ tcl/target/marvell/88f3720.cfg | 5 +++ tcl/target/marvell/88f37x0.cfg | 68 ++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 tcl/target/marvell/88f3710.cfg create mode 100644 tcl/target/marvell/88f3720.cfg create mode 100644 tcl/target/marvell/88f37x0.cfg diff --git a/tcl/target/marvell/88f3710.cfg b/tcl/target/marvell/88f3710.cfg new file mode 100644 index 000000000..6e35f293d --- /dev/null +++ b/tcl/target/marvell/88f3710.cfg @@ -0,0 +1,5 @@ +# Marvell Armada 3710 + +set CORES 1 + +source [find target/marvell/88f37x0.cfg] diff --git a/tcl/target/marvell/88f3720.cfg b/tcl/target/marvell/88f3720.cfg new file mode 100644 index 000000000..799d614ba --- /dev/null +++ b/tcl/target/marvell/88f3720.cfg @@ -0,0 +1,5 @@ +# Marvell Armada 3720 + +set CORES 2 + +source [find target/marvell/88f37x0.cfg] diff --git a/tcl/target/marvell/88f37x0.cfg b/tcl/target/marvell/88f37x0.cfg new file mode 100644 index 000000000..dba7da21e --- /dev/null +++ b/tcl/target/marvell/88f37x0.cfg @@ -0,0 +1,68 @@ +# Main file for Marvell Armada 3700 series targets +# +# !!!!!! +# +# This file should not be included directly. Instead, please include +# either marvell/88f3710.cfg or marvell/88f3720.cfg, which set the needed +# variables to the appropriate values. +# +# !!!!!! + +# Armada 3700 supports both JTAG and SWD transports. +source [find target/swj-dp.tcl] + +if { [info exists CORES] } { + set _cores $CORES +} else { + error "CORES not set. Please do not include marvell/88f37x0.cfg directly, but the specific chip configuration file (marvell/88f3710.cfg, marvell/88f3720.cfg, etc.)." +} + +if { [info exists CHIPNAME] } { + set _CHIPNAME $CHIPNAME +} else { + set _CHIPNAME [format a37%s0 $_cores] +} + +set _ctis {0x80820000 0x80920000} + +# +# Main DAP +# +if { [info exists DAP_TAPID] } { + set _DAP_TAPID $DAP_TAPID +} else { + set _DAP_TAPID 0x4ba00477 +} + +# declare the one JTAG tap to access the DAP +swj_newdap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -ignore-version -enable + +# declare the main application cores +set _TARGETNAME $_CHIPNAME.cpu +set _smp_command "" + +for { set _core 0 } { $_core < $_cores } { incr _core 1 } { + + set _command "target create ${_TARGETNAME}$_core aarch64 \ + -chain-position $_CHIPNAME.dap -coreid $_core \ + -ctibase [lindex $_ctis $_core]" + + if { $_core != 0 } { + # non-boot core examination may fail + set _command "$_command -defer-examine" + set _smp_command "$_smp_command ${_TARGETNAME}$_core" + } else { + # uncomment when "hawt" rtos is merged + # set _command "$_command -rtos hawt" + set _smp_command "target smp ${_TARGETNAME}$_core" + } + + eval $_command +} + +eval $_smp_command + +# declare the auxiliary Cortex-M3 core on AP #3 +target create ${_TARGETNAME}.m3 cortex_m -chain-position $_CHIPNAME.dap -ap-num 3 -defer-examine + +targets ${_TARGETNAME}0