jtag/adapter: Add command 'adapter gpio'
[openocd.git] / src / jtag / startup.tcl
index 688d1fccf377e606b44e10d26283e7d9c4c9ebe8..8791611e081571ae0f9a588f0a56930097592ccb 100644 (file)
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
 # Defines basic Tcl procs for OpenOCD JTAG module
 
 # Executed during "init". Can be overridden
@@ -120,6 +122,66 @@ proc jtag_ntrst_assert_width args {
 #
 # FIXME phase these aids out after some releases
 #
+lappend _telnet_autocomplete_skip adapter_gpio_helper_with_caller
+# Helper for deprecated driver functions that should call "adapter gpio XXX".
+
+# Call this function as:
+#               adapter_gpio_helper_with_caller caller sig_name
+#               adapter_gpio_helper_with_caller caller sig_name gpio_num
+#               adapter_gpio_helper_with_caller caller sig_name chip_num gpio_num
+proc adapter_gpio_helper_with_caller {caller sig_name args} {
+       echo "DEPRECATED! use 'adapter gpio $sig_name' not '$caller'"
+       switch [llength $args] {
+               0 {}
+               1 {eval adapter gpio $sig_name $args}
+               2 {eval adapter gpio $sig_name [lindex $args 1] -chip [lindex $args 0]}
+               default {return -code 1 -level 1 "$caller: syntax error"}
+       }
+       eval adapter gpio $sig_name
+}
+
+lappend _telnet_autocomplete_skip adapter_gpio_helper
+# Call this function as:
+#               adapter_gpio_helper sig_name
+#               adapter_gpio_helper sig_name gpio_num
+#               adapter_gpio_helper sig_name chip_num gpio_num
+proc adapter_gpio_helper {sig_name args} {
+       set caller [lindex [info level -1] 0]
+       eval adapter_gpio_helper_with_caller {"$caller"} $sig_name $args
+}
+
+lappend _telnet_autocomplete_skip adapter_gpio_jtag_nums_with_caller
+# Helper for deprecated driver functions that implemented jtag_nums
+proc adapter_gpio_jtag_nums_with_caller {caller tck_num tms_num tdi_num tdo_num} {
+       echo "DEPRECATED! use 'adapter gpio tck; adapter gpio tms; adapter gpio tdi; adapter gpio tdo' not '$caller'"
+       eval adapter gpio tck $tck_num
+       eval adapter gpio tms $tms_num
+       eval adapter gpio tdi $tdi_num
+       eval adapter gpio tdo $tdo_num
+}
+
+lappend _telnet_autocomplete_skip adapter_gpio_jtag_nums
+# Helper for deprecated driver functions that implemented jtag_nums
+proc adapter_gpio_jtag_nums {args} {
+       set caller [lindex [info level -1] 0]
+       eval adapter_gpio_jtag_nums_with_caller {"$caller"} $args
+}
+
+lappend _telnet_autocomplete_skip adapter_gpio_swd_nums_with_caller
+# Helper for deprecated driver functions that implemented swd_nums
+proc adapter_gpio_swd_nums_with_caller {caller swclk_num swdio_num} {
+       echo "DEPRECATED! use 'adapter gpio swclk; adapter gpio swdio' not '$caller'"
+       eval adapter gpio swclk $swclk_num
+       eval adapter gpio swdio $swdio_num
+}
+
+lappend _telnet_autocomplete_skip adapter_gpio_swd_nums
+# Helper for deprecated driver functions that implemented jtag_nums
+proc adapter_gpio_swd_nums {args} {
+       set caller [lindex [info level -1] 0]
+       eval adapter_gpio_swd_nums_with_caller {"$caller"} $args
+}
+
 lappend _telnet_autocomplete_skip jtag_reset
 proc jtag_reset args {
        echo "DEPRECATED! use 'adapter \[de\]assert' not 'jtag_reset'"
@@ -187,8 +249,8 @@ proc ftdi_location args {
 
 lappend _telnet_autocomplete_skip xds110_serial
 proc xds110_serial args {
-       echo "DEPRECATED! use 'xds110 serial' not 'xds110_serial'"
-       eval xds110 serial $args
+       echo "DEPRECATED! use 'adapter serial' not 'xds110_serial'"
+       eval adapter serial $args
 }
 
 lappend _telnet_autocomplete_skip xds110_supply_voltage
@@ -215,8 +277,8 @@ proc 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
+       echo "DEPRECATED! use 'adapter serial' not 'ftdi_serial'"
+       eval adapter serial $args
 }
 
 lappend _telnet_autocomplete_skip ftdi_channel
@@ -371,8 +433,8 @@ proc 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
+       echo "DEPRECATED! use 'adapter serial' not 'vsllink_usb_serial'"
+       eval adapter serial $args
 }
 
 lappend _telnet_autocomplete_skip vsllink_usb_bulkin
@@ -471,4 +533,334 @@ proc bcm2835gpio_peripheral_base args {
        eval bcm2835gpio peripheral_base $args
 }
 
+lappend _telnet_autocomplete_skip linuxgpiod_jtag_nums
+proc linuxgpiod_jtag_nums args {
+       echo "DEPRECATED! use 'linuxgpiod jtag_nums' not 'linuxgpiod_jtag_nums'"
+       eval linuxgpiod jtag_nums $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_tck_num
+proc linuxgpiod_tck_num args {
+       echo "DEPRECATED! use 'linuxgpiod tck_num' not 'linuxgpiod_tck_num'"
+       eval linuxgpiod tck_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_tms_num
+proc linuxgpiod_tms_num args {
+       echo "DEPRECATED! use 'linuxgpiod tms_num' not 'linuxgpiod_tms_num'"
+       eval linuxgpiod tms_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_tdo_num
+proc linuxgpiod_tdo_num args {
+       echo "DEPRECATED! use 'linuxgpiod tdo_num' not 'linuxgpiod_tdo_num'"
+       eval linuxgpiod tdo_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_tdi_num
+proc linuxgpiod_tdi_num args {
+       echo "DEPRECATED! use 'linuxgpiod tdi_num' not 'linuxgpiod_tdi_num'"
+       eval linuxgpiod tdi_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_srst_num
+proc linuxgpiod_srst_num args {
+       echo "DEPRECATED! use 'linuxgpiod srst_num' not 'linuxgpiod_srst_num'"
+       eval linuxgpiod srst_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_trst_num
+proc linuxgpiod_trst_num args {
+       echo "DEPRECATED! use 'linuxgpiod trst_num' not 'linuxgpiod_trst_num'"
+       eval linuxgpiod trst_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_swd_nums
+proc linuxgpiod_swd_nums args {
+       echo "DEPRECATED! use 'linuxgpiod swd_nums' not 'linuxgpiod_swd_nums'"
+       eval linuxgpiod swd_nums $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_swclk_num
+proc linuxgpiod_swclk_num args {
+       echo "DEPRECATED! use 'linuxgpiod swclk_num' not 'linuxgpiod_swclk_num'"
+       eval linuxgpiod swclk_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_swdio_num
+proc linuxgpiod_swdio_num args {
+       echo "DEPRECATED! use 'linuxgpiod swdio_num' not 'linuxgpiod_swdio_num'"
+       eval linuxgpiod swdio_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_led_num
+proc linuxgpiod_led_num args {
+       echo "DEPRECATED! use 'linuxgpiod led_num' not 'linuxgpiod_led_num'"
+       eval linuxgpiod led_num $args
+}
+
+lappend _telnet_autocomplete_skip linuxgpiod_gpiochip
+proc linuxgpiod_gpiochip args {
+       echo "DEPRECATED! use 'linuxgpiod gpiochip' not 'linuxgpiod_gpiochip'"
+       eval linuxgpiod gpiochip $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_jtag_nums
+proc sysfsgpio_jtag_nums args {
+       echo "DEPRECATED! use 'sysfsgpio jtag_nums' not 'sysfsgpio_jtag_nums'"
+       eval sysfsgpio jtag_nums $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_tck_num
+proc sysfsgpio_tck_num args {
+       echo "DEPRECATED! use 'sysfsgpio tck_num' not 'sysfsgpio_tck_num'"
+       eval sysfsgpio tck_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_tms_num
+proc sysfsgpio_tms_num args {
+       echo "DEPRECATED! use 'sysfsgpio tms_num' not 'sysfsgpio_tms_num'"
+       eval sysfsgpio tms_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_tdo_num
+proc sysfsgpio_tdo_num args {
+       echo "DEPRECATED! use 'sysfsgpio tdo_num' not 'sysfsgpio_tdo_num'"
+       eval sysfsgpio tdo_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_tdi_num
+proc sysfsgpio_tdi_num args {
+       echo "DEPRECATED! use 'sysfsgpio tdi_num' not 'sysfsgpio_tdi_num'"
+       eval sysfsgpio tdi_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_srst_num
+proc sysfsgpio_srst_num args {
+       echo "DEPRECATED! use 'sysfsgpio srst_num' not 'sysfsgpio_srst_num'"
+       eval sysfsgpio srst_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_trst_num
+proc sysfsgpio_trst_num args {
+       echo "DEPRECATED! use 'sysfsgpio trst_num' not 'sysfsgpio_trst_num'"
+       eval sysfsgpio trst_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_swd_nums
+proc sysfsgpio_swd_nums args {
+       echo "DEPRECATED! use 'sysfsgpio swd_nums' not 'sysfsgpio_swd_nums'"
+       eval sysfsgpio swd_nums $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_swclk_num
+proc sysfsgpio_swclk_num args {
+       echo "DEPRECATED! use 'sysfsgpio swclk_num' not 'sysfsgpio_swclk_num'"
+       eval sysfsgpio swclk_num $args
+}
+
+lappend _telnet_autocomplete_skip sysfsgpio_swdio_num
+proc sysfsgpio_swdio_num args {
+       echo "DEPRECATED! use 'sysfsgpio swdio_num' not 'sysfsgpio_swdio_num'"
+       eval sysfsgpio swdio_num $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_adc
+proc buspirate_adc args {
+       echo "DEPRECATED! use 'buspirate adc' not 'buspirate_adc'"
+       eval buspirate adc $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_vreg
+proc buspirate_vreg args {
+       echo "DEPRECATED! use 'buspirate vreg' not 'buspirate_vreg'"
+       eval buspirate vreg $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_pullup
+proc buspirate_pullup args {
+       echo "DEPRECATED! use 'buspirate pullup' not 'buspirate_pullup'"
+       eval buspirate pullup $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_led
+proc buspirate_led args {
+       echo "DEPRECATED! use 'buspirate led' not 'buspirate_led'"
+       eval buspirate led $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_speed
+proc buspirate_speed args {
+       echo "DEPRECATED! use 'buspirate speed' not 'buspirate_speed'"
+       eval buspirate speed $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_mode
+proc buspirate_mode args {
+       echo "DEPRECATED! use 'buspirate mode' not 'buspirate_mode'"
+       eval buspirate mode $args
+}
+
+lappend _telnet_autocomplete_skip buspirate_port
+proc buspirate_port args {
+       echo "DEPRECATED! use 'buspirate port' not 'buspirate_port'"
+       eval buspirate port $args
+}
+
+lappend _telnet_autocomplete_skip usb_blaster_device_desc
+proc usb_blaster_device_desc args {
+       echo "DEPRECATED! use 'usb_blaster device_desc' not 'usb_blaster_device_desc'"
+       eval usb_blaster device_desc $args
+}
+
+lappend _telnet_autocomplete_skip usb_blaster_vid_pid
+proc usb_blaster_vid_pid args {
+       echo "DEPRECATED! use 'usb_blaster vid_pid' not 'usb_blaster_vid_pid'"
+       eval usb_blaster vid_pid $args
+}
+
+lappend _telnet_autocomplete_skip usb_blaster_lowlevel_driver
+proc usb_blaster_lowlevel_driver args {
+       echo "DEPRECATED! use 'usb_blaster lowlevel_driver' not 'usb_blaster_lowlevel_driver'"
+       eval usb_blaster lowlevel_driver $args
+}
+
+lappend _telnet_autocomplete_skip usb_blaster_pin
+proc usb_blaster_pin args {
+       echo "DEPRECATED! use 'usb_blaster pin' not 'usb_blaster_pin'"
+       eval usb_blaster pin $args
+}
+
+lappend _telnet_autocomplete_skip usb_blaster_firmware
+proc usb_blaster_firmware args {
+       echo "DEPRECATED! use 'usb_blaster firmware' not 'usb_blaster_firmware'"
+       eval usb_blaster firmware $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_serial_desc
+proc ft232r_serial_desc args {
+       echo "DEPRECATED! use 'adapter serial_desc' not 'ft232r_serial_desc'"
+       eval adapter serial_desc $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_vid_pid
+proc ft232r_vid_pid args {
+       echo "DEPRECATED! use 'ft232r vid_pid' not 'ft232r_vid_pid'"
+       eval ft232r vid_pid $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_jtag_nums
+proc ft232r_jtag_nums args {
+       echo "DEPRECATED! use 'ft232r jtag_nums' not 'ft232r_jtag_nums'"
+       eval ft232r jtag_nums $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_tck_num
+proc ft232r_tck_num args {
+       echo "DEPRECATED! use 'ft232r tck_num' not 'ft232r_tck_num'"
+       eval ft232r tck_num $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_tms_num
+proc ft232r_tms_num args {
+       echo "DEPRECATED! use 'ft232r tms_num' not 'ft232r_tms_num'"
+       eval ft232r tms_num $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_tdo_num
+proc ft232r_tdo_num args {
+       echo "DEPRECATED! use 'ft232r tdo_num' not 'ft232r_tdo_num'"
+       eval ft232r tdo_num $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_tdi_num
+proc ft232r_tdi_num args {
+       echo "DEPRECATED! use 'ft232r tdi_num' not 'ft232r_tdi_num'"
+       eval ft232r tdi_num $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_srst_num
+proc ft232r_srst_num args {
+       echo "DEPRECATED! use 'ft232r srst_num' not 'ft232r_srst_num'"
+       eval ft232r srst_num $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_trst_num
+proc ft232r_trst_num args {
+       echo "DEPRECATED! use 'ft232r trst_num' not 'ft232r_trst_num'"
+       eval ft232r trst_num $args
+}
+
+lappend _telnet_autocomplete_skip ft232r_restore_serial
+proc ft232r_restore_serial args {
+       echo "DEPRECATED! use 'ft232r restore_serial' not 'ft232r_restore_serial'"
+       eval ft232r restore_serial $args
+}
+
+lappend _telnet_autocomplete_skip "aice serial"
+proc "aice serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'aice serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip cmsis_dap_serial
+proc cmsis_dap_serial args {
+       echo "DEPRECATED! use 'adapter serial' not 'cmsis_dap_serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "ft232r serial_desc"
+proc "ft232r serial_desc" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'ft232r serial_desc'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "ftdi serial"
+proc "ftdi serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'ftdi serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip hla_serial
+proc hla_serial args {
+       echo "DEPRECATED! use 'adapter serial' not 'hla_serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "jlink serial"
+proc "jlink serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'jlink serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip kitprog_serial
+proc kitprog_serial args {
+       echo "DEPRECATED! use 'adapter serial' not 'kitprog_serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "presto serial"
+proc "presto serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'presto serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "st-link serial"
+proc "st-link serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'st-link serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "vsllink usb_serial"
+proc "vsllink usb_serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'vsllink usb_serial'"
+       eval adapter serial $args
+}
+
+lappend _telnet_autocomplete_skip "xds110 serial"
+proc "xds110 serial" {args} {
+       echo "DEPRECATED! use 'adapter serial' not 'xds110 serial'"
+       eval adapter serial $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)