From e3773e3e3d1f1ee0dbb0b69e8babe8419784d1c1 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Sun, 10 Oct 2010 14:41:11 -0700 Subject: 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 --- tcl/target/stellaris.cfg | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tcl/target/stellaris.cfg') 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 { -- cgit v1.2.3