drivers/bcm2835gpio: Group adapter commands
[openocd.git] / src / jtag / startup.tcl
index 1779df51bfa682fc90f56b1a85000b4a9238a171..4217d233541bda16bed7c00d1af89b5e03869a27 100644 (file)
@@ -21,27 +21,29 @@ proc jtag_init {} {
 # startup (at OpenOCD server startup, when JTAG may not yet work); and
 # potentially more (for reset types like cold, warm, etc)
 proc init_reset { mode } {
-       jtag arp_init-reset
+       if {[using_jtag]} {
+               jtag arp_init-reset
+       }
 }
 
 #########
 
 # TODO: power_restore and power_dropout are currently neither
-# documented nor supported except on ZY1000.
+# documented nor supported.
 
 proc power_restore {} {
        echo "Sensed power restore, running reset init and halting GDB."
        reset init
-       
+
        # Halt GDB so user can deal with a detected power restore.
        #
        # After GDB is halted, then output is no longer forwarded
        # to the GDB console.
-       set targets [target names]      
+       set targets [target names]
        foreach t $targets {
                # New event script.
                $t invoke-event arp_halt_gdb
-       }       
+       }
 }
 
 add_help_text power_restore "Overridable procedure run when power restore is detected. Runs 'reset init' by default."
@@ -53,7 +55,7 @@ proc power_dropout {} {
 #########
 
 # TODO: srst_deasserted and srst_asserted are currently neither
-# documented nor supported except on ZY1000.
+# documented nor supported.
 
 proc srst_deasserted {} {
        echo "Sensed nSRST deasserted, running reset init and halting GDB."
@@ -63,11 +65,11 @@ proc srst_deasserted {} {
        #
        # After GDB is halted, then output is no longer forwarded
        # to the GDB console.
-       set targets [target names]      
+       set targets [target names]
        foreach t $targets {
                # New event script.
                $t invoke-event arp_halt_gdb
-       }               
+       }
 }
 
 add_help_text srst_deasserted "Overridable procedure run when srst deassert is detected. Runs 'reset init' by default."
@@ -79,20 +81,376 @@ proc srst_asserted {} {
 # measure actual JTAG clock
 proc measure_clk {} {
        set start_time [ms];
-       runtest 10000000; 
-       echo "Running at more than [expr 10000.0 / ([ms]-$start_time)] kHz";
+       set iterations 10000000;
+       runtest $iterations;
+       set speed [expr "$iterations.0 / ([ms] - $start_time)"]
+       echo "Running at more than $speed 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.
+# specific to JTAG, or otherwise had troublesome/misleading names.
 #
-# FIXME phase these aids out after about April 2011
+# FIXME phase these aids out after some releases
 #
-proc jtag_khz args { eval adapter_khz $args }
-proc jtag_nsrst_delay args { eval adapter_nsrst_delay $args }
-proc jtag_nsrst_assert_width args { eval adapter_nsrst_assert_width $args }
+lappend _telnet_autocomplete_skip jtag_reset
+proc jtag_reset args {
+       echo "DEPRECATED! use 'adapter \[de\]assert' not 'jtag_reset'"
+       switch $args {
+               "0 0"
+                       {eval adapter deassert trst deassert srst}
+               "0 1"
+                       {eval adapter deassert trst assert srst}
+               "1 0"
+                       {eval adapter assert trst deassert srst}
+               "1 1"
+                       {eval adapter assert trst assert srst}
+               default
+                       {return -code 1 -level 1 "jtag_reset: syntax error"}
+       }
+}
+
+lappend _telnet_autocomplete_skip adapter_khz
+proc adapter_khz args {
+       echo "DEPRECATED! use 'adapter speed' not 'adapter_khz'"
+       eval adapter speed $args
+}
+
+lappend _telnet_autocomplete_skip adapter_name
+proc adapter_name args {
+       echo "DEPRECATED! use 'adapter name' not 'adapter_name'"
+       eval adapter name $args
+}
+
+lappend _telnet_autocomplete_skip adapter_nsrst_delay
+proc adapter_nsrst_delay args {
+       echo "DEPRECATED! use 'adapter srst delay' not 'adapter_nsrst_delay'"
+       eval adapter srst delay $args
+}
+
+lappend _telnet_autocomplete_skip adapter_nsrst_assert_width
+proc adapter_nsrst_assert_width args {
+       echo "DEPRECATED! use 'adapter srst pulse_width' not 'adapter_nsrst_assert_width'"
+       eval adapter srst pulse_width $args
+}
+
+lappend _telnet_autocomplete_skip interface
+proc interface args {
+       echo "DEPRECATED! use 'adapter driver' not 'interface'"
+       eval adapter driver $args
+}
+
+lappend _telnet_autocomplete_skip interface_transports
+proc  interface_transports args {
+       echo "DEPRECATED! use 'adapter transports' not 'interface_transports'"
+       eval adapter transports $args
+}
+
+lappend _telnet_autocomplete_skip interface_list
+proc  interface_list args {
+       echo "DEPRECATED! use 'adapter list' not 'interface_list'"
+       eval adapter list $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_location
+proc ftdi_location args {
+       echo "DEPRECATED! use 'adapter usb location' not 'ftdi_location'"
+       eval adapter usb location $args
+}
+
+lappend _telnet_autocomplete_skip xds110_serial
+proc xds110_serial args {
+       echo "DEPRECATED! use 'xds110 serial' not 'xds110_serial'"
+       eval xds110 serial $args
+}
+
+lappend _telnet_autocomplete_skip xds110_supply_voltage
+proc xds110_supply_voltage args {
+       echo "DEPRECATED! use 'xds110 supply' not 'xds110_supply_voltage'"
+       eval xds110 supply $args
+}
+
+proc hla {cmd args} {
+        tailcall "hla $cmd" {*}$args
+}
+
+lappend _telnet_autocomplete_skip "hla newtap"
+proc "hla newtap" {args} {
+       echo "DEPRECATED! use 'swj_newdap' not 'hla newtap'"
+       eval swj_newdap $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_device_desc
+proc ftdi_device_desc args {
+       echo "DEPRECATED! use 'ftdi device_desc' not 'ftdi_device_desc'"
+       eval ftdi device_desc $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_serial
+proc ftdi_serial args {
+       echo "DEPRECATED! use 'ftdi serial' not 'ftdi_serial'"
+       eval ftdi serial $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_channel
+proc ftdi_channel args {
+       echo "DEPRECATED! use 'ftdi channel' not 'ftdi_channel'"
+       eval ftdi channel $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_layout_init
+proc ftdi_layout_init args {
+       echo "DEPRECATED! use 'ftdi layout_init' not 'ftdi_layout_init'"
+       eval ftdi layout_init $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_layout_signal
+proc ftdi_layout_signal args {
+       echo "DEPRECATED! use 'ftdi layout_signal' not 'ftdi_layout_signal'"
+       eval ftdi layout_signal $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_set_signal
+proc ftdi_set_signal args {
+       echo "DEPRECATED! use 'ftdi set_signal' not 'ftdi_set_signal'"
+       eval ftdi set_signal $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_get_signal
+proc ftdi_get_signal args {
+       echo "DEPRECATED! use 'ftdi get_signal' not 'ftdi_get_signal'"
+       eval ftdi get_signal $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_vid_pid
+proc ftdi_vid_pid args {
+       echo "DEPRECATED! use 'ftdi vid_pid' not 'ftdi_vid_pid'"
+       eval ftdi vid_pid $args
+}
+
+lappend _telnet_autocomplete_skip ftdi_tdo_sample_edge
+proc ftdi_tdo_sample_edge args {
+       echo "DEPRECATED! use 'ftdi tdo_sample_edge' not 'ftdi_tdo_sample_edge'"
+       eval ftdi tdo_sample_edge $args
+}
+
+lappend _telnet_autocomplete_skip remote_bitbang_host
+proc remote_bitbang_host args {
+       echo "DEPRECATED! use 'remote_bitbang host' not 'remote_bitbang_host'"
+       eval remote_bitbang host $args
+}
+
+lappend _telnet_autocomplete_skip remote_bitbang_port
+proc remote_bitbang_port args {
+       echo "DEPRECATED! use 'remote_bitbang port' not 'remote_bitbang_port'"
+       eval remote_bitbang port $args
+}
+
+lappend _telnet_autocomplete_skip openjtag_device_desc
+proc openjtag_device_desc args {
+       echo "DEPRECATED! use 'openjtag device_desc' not 'openjtag_device_desc'"
+       eval openjtag device_desc $args
+}
+
+lappend _telnet_autocomplete_skip openjtag_variant
+proc openjtag_variant args {
+       echo "DEPRECATED! use 'openjtag variant' not 'openjtag_variant'"
+       eval openjtag variant $args
+}
+
+lappend _telnet_autocomplete_skip parport_port
+proc parport_port args {
+       echo "DEPRECATED! use 'parport port' not 'parport_port'"
+       eval parport port $args
+}
+
+lappend _telnet_autocomplete_skip parport_cable
+proc parport_cable args {
+       echo "DEPRECATED! use 'parport cable' not 'parport_cable'"
+       eval parport cable $args
+}
+
+lappend _telnet_autocomplete_skip parport_write_on_exit
+proc parport_write_on_exit args {
+       echo "DEPRECATED! use 'parport write_on_exit' not 'parport_write_on_exit'"
+       eval parport write_on_exit $args
+}
+
+lappend _telnet_autocomplete_skip parport_toggling_time
+proc parport_toggling_time args {
+       echo "DEPRECATED! use 'parport toggling_time' not 'parport_toggling_time'"
+       eval parport toggling_time $args
+}
+
+lappend _telnet_autocomplete_skip jtag_dpi_set_port
+proc jtag_dpi_set_port args {
+       echo "DEPRECATED! use 'jtag_dpi set_port' not 'jtag_dpi_set_port'"
+       eval jtag_dpi set_port $args
+}
+
+lappend _telnet_autocomplete_skip jtag_dpi_set_address
+proc jtag_dpi_set_address args {
+       echo "DEPRECATED! use 'jtag_dpi set_address' not 'jtag_dpi_set_address'"
+       eval jtag_dpi set_address $args
+}
+
+lappend _telnet_autocomplete_skip presto_serial
+proc presto_serial args {
+       echo "DEPRECATED! use 'presto serial' not 'presto_serial'"
+       eval presto serial $args
+}
+
+lappend _telnet_autocomplete_skip xlnx_pcie_xvc_config
+proc xlnx_pcie_xvc_config args {
+       echo "DEPRECATED! use 'xlnx_pcie_xvc config' not 'xlnx_pcie_xvc_config'"
+       eval xlnx_pcie_xvc config $args
+}
+
+lappend _telnet_autocomplete_skip ulink_download_firmware
+proc ulink_download_firmware args {
+       echo "DEPRECATED! use 'ulink download_firmware' not 'ulink_download_firmware'"
+       eval ulink download_firmware $args
+}
+
+lappend _telnet_autocomplete_skip vsllink_usb_vid
+proc vsllink_usb_vid args {
+       echo "DEPRECATED! use 'vsllink usb_vid' not 'vsllink_usb_vid'"
+       eval vsllink usb_vid $args
+}
+
+lappend _telnet_autocomplete_skip vsllink_usb_pid
+proc vsllink_usb_pid args {
+       echo "DEPRECATED! use 'vsllink usb_pid' not 'vsllink_usb_pid'"
+       eval vsllink usb_pid $args
+}
+
+lappend _telnet_autocomplete_skip vsllink_usb_serial
+proc vsllink_usb_serial args {
+       echo "DEPRECATED! use 'vsllink usb_serial' not 'vsllink_usb_serial'"
+       eval vsllink usb_serial $args
+}
+
+lappend _telnet_autocomplete_skip vsllink_usb_bulkin
+proc vsllink_usb_bulkin args {
+       echo "DEPRECATED! use 'vsllink usb_bulkin' not 'vsllink_usb_bulkin'"
+       eval vsllink usb_bulkin $args
+}
+
+lappend _telnet_autocomplete_skip vsllink_usb_bulkout
+proc vsllink_usb_bulkout args {
+       echo "DEPRECATED! use 'vsllink usb_bulkout' not 'vsllink_usb_bulkout'"
+       eval vsllink usb_bulkout $args
+}
+
+lappend _telnet_autocomplete_skip vsllink_usb_interface
+proc vsllink_usb_interface args {
+       echo "DEPRECATED! use 'vsllink usb_interface' not 'vsllink_usb_interface'"
+       eval vsllink usb_interface $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_jtag_nums
+proc bcm2835gpio_jtag_nums args {
+       echo "DEPRECATED! use 'bcm2835gpio jtag_nums' not 'bcm2835gpio_jtag_nums'"
+       eval bcm2835gpio jtag_nums $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tck_num
+proc bcm2835gpio_tck_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tck_num' not 'bcm2835gpio_tck_num'"
+       eval bcm2835gpio tck_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tms_num
+proc bcm2835gpio_tms_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tms_num' not 'bcm2835gpio_tms_num'"
+       eval bcm2835gpio tms_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tdo_num
+proc bcm2835gpio_tdo_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tdo_num' not 'bcm2835gpio_tdo_num'"
+       eval bcm2835gpio tdo_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tdi_num
+proc bcm2835gpio_tdi_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tdi_num' not 'bcm2835gpio_tdi_num'"
+       eval bcm2835gpio tdi_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swd_nums
+proc bcm2835gpio_swd_nums args {
+       echo "DEPRECATED! use 'bcm2835gpio swd_nums' not 'bcm2835gpio_swd_nums'"
+       eval bcm2835gpio swd_nums $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swclk_num
+proc bcm2835gpio_swclk_num args {
+       echo "DEPRECATED! use 'bcm2835gpio swclk_num' not 'bcm2835gpio_swclk_num'"
+       eval bcm2835gpio swclk_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swdio_num
+proc bcm2835gpio_swdio_num args {
+       echo "DEPRECATED! use 'bcm2835gpio swdio_num' not 'bcm2835gpio_swdio_num'"
+       eval bcm2835gpio swdio_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swdio_dir_num
+proc bcm2835gpio_swdio_dir_num args {
+       echo "DEPRECATED! use 'bcm2835gpio swdio_dir_num' not 'bcm2835gpio_swdio_dir_num'"
+       eval bcm2835gpio swdio_dir_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_srst_num
+proc bcm2835gpio_srst_num args {
+       echo "DEPRECATED! use 'bcm2835gpio srst_num' not 'bcm2835gpio_srst_num'"
+       eval bcm2835gpio srst_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_trst_num
+proc bcm2835gpio_trst_num args {
+       echo "DEPRECATED! use 'bcm2835gpio trst_num' not 'bcm2835gpio_trst_num'"
+       eval bcm2835gpio trst_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_speed_coeffs
+proc bcm2835gpio_speed_coeffs args {
+       echo "DEPRECATED! use 'bcm2835gpio speed_coeffs' not 'bcm2835gpio_speed_coeffs'"
+       eval bcm2835gpio speed_coeffs $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_peripheral_base
+proc bcm2835gpio_peripheral_base args {
+       echo "DEPRECATED! use 'bcm2835gpio peripheral_base' not 'bcm2835gpio_peripheral_base'"
+       eval bcm2835gpio peripheral_base $args
+}
 
 # END MIGRATION AIDS

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)