summaryrefslogtreecommitdiff
path: root/tcl/target/stellaris.cfg
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2010-10-10 14:41:11 -0700
committerDavid Brownell <db@helium.(none)>2010-10-10 14:41:11 -0700
commite3773e3e3d1f1ee0dbb0b69e8babe8419784d1c1 (patch)
tree5e9482cf112afba4fc9ca093bdf2f7c2a141ce99 /tcl/target/stellaris.cfg
parent3864da1ab817acab24c41366d627da9337a7993d (diff)
downloadopenocd_libswd-e3773e3e3d1f1ee0dbb0b69e8babe8419784d1c1.tar.gz
openocd_libswd-e3773e3e3d1f1ee0dbb0b69e8babe8419784d1c1.tar.bz2
openocd_libswd-e3773e3e3d1f1ee0dbb0b69e8babe8419784d1c1.tar.xz
openocd_libswd-e3773e3e3d1f1ee0dbb0b69e8babe8419784d1c1.zip
swj-dp.tcl (SWD infrastructure #1)
Provide new helper proc that can set up either an SWD or JTAG DAP based on the transport which is in use -- mostly for SWJ-DP. Also update some SWJ-DP based chips/targets to use it. The goal is making SWD-vs-JTAG transparent in most places. SWJ-DP based chips really need this flexible configuration to cope with debug adapters that support different transports, without needing new target configs for each transport or adapter. For JTAG-DP, callers will use "jtag newtap" directly, as today; only one chip-level transport option exists. For SW-DP (e.g. LPC1[13]xx or EFM32, they'll use "swd newdap" directly (part of an upcoming SWD transport patch). Again, only one transport option exists, so hard-wiring is appropriate there. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'tcl/target/stellaris.cfg')
-rw-r--r--tcl/target/stellaris.cfg13
1 files changed, 13 insertions, 0 deletions
diff --git a/tcl/target/stellaris.cfg b/tcl/target/stellaris.cfg
index b663ce3d..bfe9087c 100644
--- a/tcl/target/stellaris.cfg
+++ b/tcl/target/stellaris.cfg
@@ -1,5 +1,12 @@
# TI/Luminary Stellaris LM3S chip family
+# Luminary chips support both JTAG and SWD transports.
+# Adapt based on what transport is active.
+source [find target/swj-dp.tcl]
+
+# For now we ignore the SPI and UART options, which
+# are usable only for ISP style initial flash programming.
+
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
@@ -18,6 +25,12 @@ if { [info exists CPUTAPID ] } {
set _CPUTAPID 0x0ba00477
}
+# SWD DAP, and JTAG TAP, take same params for now;
+# ... even though SWD ignores all except TAPID, and
+# JTAG shouldn't need anything more then irlen. (and TAPID).
+swj_newdap $_CHIPNAME cpu -irlen 4 -irmask 0xf \
+ -expected-id $_CPUTAPID -ignore-version
+
if { [info exists WORKAREASIZE ] } {
set _WORKAREASIZE $WORKAREASIZE
} else {