aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/startup.tcl
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2014-06-19 14:21:21 +0400
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2014-06-28 09:35:38 +0000
commit335bafbb2561d92d1631050e6aa3c4ab93e3644e (patch)
treefd43eebc3a6365519ed99757f26954df6029995e /src/jtag/startup.tcl
parent12e9f6292b391d475214704843504c5817bf783e (diff)
downloadriscv-openocd-335bafbb2561d92d1631050e6aa3c4ab93e3644e.zip
riscv-openocd-335bafbb2561d92d1631050e6aa3c4ab93e3644e.tar.gz
riscv-openocd-335bafbb2561d92d1631050e6aa3c4ab93e3644e.tar.bz2
Auto-select JTAG transport when appropriate
I looked through all the target configs after stripping comments and such from them with sed to see what jtag-specific commands can appear first, and it looks like all the meaningful combinations should be covered. Change-Id: I8d543407b7f4ac8aca7354ecd50e841c8a04d5f3 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2179 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Diffstat (limited to 'src/jtag/startup.tcl')
-rw-r--r--src/jtag/startup.tcl26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/jtag/startup.tcl b/src/jtag/startup.tcl
index 94590e1..6f9c000 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.