aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jtag/startup.tcl26
-rw-r--r--tcl/target/swj-dp.tcl5
2 files changed, 31 insertions, 0 deletions
diff --git a/src/jtag/startup.tcl b/src/jtag/startup.tcl
index 94590e13..6f9c000d 100644
--- a/src/jtag/startup.tcl
+++ b/src/jtag/startup.tcl
@@ -87,6 +87,32 @@ proc measure_clk {} {
add_help_text measure_clk "Runs a test to measure the JTAG clk. Useful with RCLK / RTCK."
+proc default_to_jtag { f args } {
+ if [catch {transport select} current_transport] {
+ echo "Info : session transport was not selected, defaulting to JTAG"
+ transport select jtag
+ eval $f $args
+ } {
+ error "session transport is \"$current_transport\" but your config requires JTAG"
+ }
+}
+
+proc jtag args {
+ eval default_to_jtag jtag $args
+}
+
+proc jtag_rclk args {
+ eval default_to_jtag jtag_rclk $args
+}
+
+proc jtag_ntrst_delay args {
+ eval default_to_jtag jtag_ntrst_delay $args
+}
+
+proc jtag_ntrst_assert_width args {
+ eval default_to_jtag jtag_ntrst_assert_width $args
+}
+
# BEGIN MIGRATION AIDS ... these adapter operations originally had
# JTAG-specific names despite the fact that the operations were not
# specific to JTAG, or otherewise had troublesome/misleading names.
diff --git a/tcl/target/swj-dp.tcl b/tcl/target/swj-dp.tcl
index bd348e66..2fa82ed3 100644
--- a/tcl/target/swj-dp.tcl
+++ b/tcl/target/swj-dp.tcl
@@ -18,6 +18,11 @@
# split out "chip" and "tag" so we can someday handle
# them more uniformly irlen too...)
+if [catch {transport select}] {
+ echo "Info : session transport was not selected, defaulting to JTAG"
+ transport select jtag
+}
+
proc swj_newdap {chip tag args} {
if {[using_jtag]} { eval jtag newtap $chip $tag $args }
if {[using_swd]} { eval swd newdap $chip $tag $args }