+ echo "Sensed nSRST asserted."
+}
+
+# measure actual JTAG clock
+proc measure_clk {} {
+ set start_time [ms];
+ set iterations 10000000;
+ runtest $iterations;
+ echo "Running at more than [expr $iterations.0 / ([ms]-$start_time)] kHz";
+}
+
+add_help_text measure_clk "Runs a test to measure the JTAG clk. Useful with RCLK / RTCK."
+
+proc default_to_jtag { f args } {
+ set current_transport [transport select]
+ if {[using_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.
+#
+# FIXME phase these aids out after about April 2011
+#
+proc jtag_khz args {
+ echo "DEPRECATED! use 'adapter_khz' not 'jtag_khz'"
+ eval adapter_khz $args
+}
+
+proc jtag_nsrst_delay args {
+ echo "DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'"
+ eval adapter_nsrst_delay $args
+}
+
+proc jtag_nsrst_assert_width args {
+ echo "DEPRECATED! use 'adapter_nsrst_assert_width' not 'jtag_nsrst_assert_width'"
+ eval adapter_nsrst_assert_width $args
+}
+
+# stlink migration helpers
+proc stlink_device_desc args {
+ echo "DEPRECATED! use 'hla_device_desc' not 'stlink_device_desc'"
+ eval hla_device_desc $args