+lappend _telnet_autocomplete_skip linuxgpiod
+# linuxgpiod command completely removed, this is required for the sub-commands to work
+proc linuxgpiod {subcommand args} {
+ eval {"linuxgpiod $subcommand"} $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod tck_num"
+proc "linuxgpiod tck_num" {args} {
+ eval adapter_gpio_helper tck $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod tms_num"
+proc "linuxgpiod tms_num" {args} {
+ eval adapter_gpio_helper tms $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod tdi_num"
+proc "linuxgpiod tdi_num" {args} {
+ eval adapter_gpio_helper tdi $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod tdo_num"
+proc "linuxgpiod tdo_num" {args} {
+ eval adapter_gpio_helper tdo $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod trst_num"
+proc "linuxgpiod trst_num" {args} {
+ eval adapter_gpio_helper trst $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod srst_num"
+proc "linuxgpiod srst_num" {args} {
+ eval adapter_gpio_helper srst $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod swclk_num"
+proc "linuxgpiod swclk_num" {args} {
+ eval adapter_gpio_helper swclk $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod swdio_num"
+proc "linuxgpiod swdio_num" {args} {
+ eval adapter_gpio_helper swdio $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod swdio_dir_num"
+proc "linuxgpiod swdio_dir_num" {args} {
+ eval adapter_gpio_helper swdio_dir $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod led_num"
+proc "linuxgpiod led_num" {args} {
+ eval adapter_gpio_helper led $args
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod gpiochip"
+proc "linuxgpiod gpiochip" {num} {
+ echo "DEPRECATED! use 'adapter <signal_name> -chip' not 'linuxgpiod gpiochip'"
+ foreach sig_name {tck tms tdi tdo trst srst swclk swdio swdio_dir led} {
+ eval adapter gpio $sig_name -chip $num
+ }
+ eval adapter gpio
+}
+
+lappend _telnet_autocomplete_skip "linuxgpiod jtag_nums"
+proc "linuxgpiod jtag_nums" {tck_num tms_num tdi_num tdo_num} {
+ echo "DEPRECATED! use 'adapter gpio tck; adapter gpio tms; adapter gpio tdi; adapter gpio tdo' not 'linuxgpiod jtag_nums'"
+ 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 "linuxgpiod swd_nums"
+proc "linuxgpiod swd_nums" {swclk swdio} {
+ echo "DEPRECATED! use 'adapter gpio swclk; adapter gpio swdio' not 'linuxgpiod jtag_nums'"
+ eval adapter gpio swclk $swclk
+ eval adapter gpio swdio $swdio
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio jtag_nums"
+proc "am335xgpio jtag_nums" {tck_num tms_num tdi_num tdo_num} {
+ echo "DEPRECATED! use 'adapter gpio tck; adapter gpio tms; adapter gpio tdi; adapter gpio tdo' not 'am335xgpio jtag_nums'"
+ eval adapter gpio tck [expr {$tck_num % 32}] -chip [expr {$tck_num / 32}]
+ eval adapter gpio tms [expr {$tms_num % 32}] -chip [expr {$tms_num / 32}]
+ eval adapter gpio tdi [expr {$tdi_num % 32}] -chip [expr {$tdi_num / 32}]
+ eval adapter gpio tdo [expr {$tdo_num % 32}] -chip [expr {$tdo_num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio tck_num"
+proc "am335xgpio tck_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio tck' not 'am335xgpio tck_num'"
+ eval adapter gpio tck [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio tms_num"
+proc "am335xgpio tms_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio tms' not 'am335xgpio tms_num'"
+ eval adapter gpio tms [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio tdi_num"
+proc "am335xgpio tdi_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio tdi' not 'am335xgpio tdi_num'"
+ eval adapter gpio tdi [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio tdo_num"
+proc "am335xgpio tdo_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio tdo' not 'am335xgpio tdo_num'"
+ eval adapter gpio tdo [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio swd_nums"
+proc "am335xgpio swd_nums" {swclk swdio} {
+ echo "DEPRECATED! use 'adapter gpio swclk; adapter gpio swdio' not 'am335xgpio jtag_nums'"
+ eval adapter gpio swclk [expr {$swclk % 32}] -chip [expr {$swclk / 32}]
+ eval adapter gpio swdio [expr {$swdio % 32}] -chip [expr {$swdio / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio swclk_num"
+proc "am335xgpio swclk_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio swclk' not 'am335xgpio swclk_num'"
+ eval adapter gpio swclk [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio swdio_num"
+proc "am335xgpio swdio_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio swdio' not 'am335xgpio swdio_num'"
+ eval adapter gpio swdio [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio swdio_dir_num"
+proc "am335xgpio swdio_dir_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio swdio_dir' not 'am335xgpio swdio_dir_num'"
+ eval adapter gpio swdio_dir [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio swdio_dir_output_state"
+proc "am335xgpio swdio_dir_output_state" {state} {
+ echo "DEPRECATED! use 'adapter gpio swdio_dir -active-high' or 'adapter gpio swdio_dir -active-low', not 'am335xgpio swdio_dir_output_state'"
+ switch $state {
+ "high"
+ {eval adapter gpio swdio_dir -active-high}
+ "low"
+ {eval adapter gpio swdio_dir -active-low}
+ default
+ {return -code 1 -level 1 "am335xgpio swdio_dir_output_state: syntax error"}
+ }
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio srst_num"
+proc "am335xgpio srst_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio srst' not 'am335xgpio srst_num'"
+ eval adapter gpio srst [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio trst_num"
+proc "am335xgpio trst_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio trst' not 'am335xgpio trst_num'"
+ eval adapter gpio trst [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio led_num"
+proc "am335xgpio led_num" {num} {
+ echo "DEPRECATED! use 'adapter gpio led' not 'am335xgpio led_num'"
+ eval adapter gpio led [expr {$num % 32}] -chip [expr {$num / 32}]
+}
+
+lappend _telnet_autocomplete_skip "am335xgpio led_on_state"
+proc "am335xgpio led_on_state" {state} {
+ echo "DEPRECATED! use 'adapter gpio led -active-high' or 'adapter gpio led -active-low', not 'am335xgpio led_on_state'"
+ switch $state {
+ "high"
+ {eval adapter gpio led -active-high}
+ "low"
+ {eval adapter gpio led -active-low}
+ default
+ {return -code 1 -level 1 "am335xgpio led_on_state: syntax error"}
+ }
+}
+
+lappend _telnet_autocomplete_skip "cmsis_dap_backend"
+proc "cmsis_dap_backend" {backend} {
+ echo "DEPRECATED! use 'cmsis-dap backend', not 'cmsis_dap_backend'"
+ eval cmsis-dap backend $backend
+}
+
+lappend _telnet_autocomplete_skip "cmsis_dap_vid_pid"
+proc "cmsis_dap_vid_pid" {args} {
+ echo "DEPRECATED! use 'cmsis-dap vid_pid', not 'cmsis_dap_vid_pid'"
+ eval cmsis-dap vid_pid $args
+}
+
+lappend _telnet_autocomplete_skip "cmsis_dap_usb"
+proc "cmsis_dap_usb" {args} {
+ echo "DEPRECATED! use 'cmsis-dap usb', not 'cmsis_dap_usb'"
+ eval cmsis-dap usb $args
+}
+
+lappend _telnet_autocomplete_skip "kitprog_init_acquire_psoc"
+proc "kitprog_init_acquire_psoc" {} {
+ echo "DEPRECATED! use 'kitprog init_acquire_psoc', not 'kitprog_init_acquire_psoc'"
+ eval kitprog init_acquire_psoc
+}
+
+lappend _telnet_autocomplete_skip "pld device"
+proc "pld device" {driver tap_name {opt 0}} {
+ echo "DEPRECATED! use 'pld create ...', not 'pld device ...'"
+ if {[string is integer -strict $opt]} {
+ if {$opt == 0} {
+ eval pld create [lindex [split $tap_name .] 0].pld $driver -chain-position $tap_name
+ } else {
+ eval pld create [lindex [split $tap_name .] 0].pld $driver -chain-position $tap_name -no_jstart
+ }
+ } else {
+ eval pld create [lindex [split $tap_name .] 0].pld $driver -chain-position $tap_name -family $opt
+ }
+}
+
+lappend _telnet_autocomplete_skip "ipdbg -start"
+proc "ipdbg -start" {args} {
+ echo "DEPRECATED! use 'ipdbg create-hub' and 'chip.ipdbghub ipdbg start ...', not 'ipdbg -start ...'"
+ set tap_name ""
+ set pld_name ""
+ set tool_num "1"
+ set port_num "4242"
+ set idx 0
+ set num_args [llength $args]
+ while {$idx < $num_args} {
+ set arg [lindex $args $idx]
+ switch -- $arg {
+ "-tap" {
+ incr idx
+ if {$idx >= $num_args || [string index [lindex $args $idx] 0] == "-"} {
+ echo "no TAP name given"
+ return
+ }
+ set tap_name [lindex $args $idx]
+ }
+ "-pld" {
+ incr idx
+ if {$idx >= $num_args || [string index [lindex $args $idx] 0] == "-"} {
+ echo "no PLD name given"
+ return
+ }
+ set pld_name [lindex $args $idx]
+ }
+ "-tool" {
+ if {[expr {$idx + 1}] < $num_args && [string index [lindex $args [expr {$idx + 1}]] 0] != "-"} {
+ set tool_num [lindex $args [expr {$idx + 1}]]
+ set args [lreplace $args [expr {$idx + 1}] [expr {$idx + 1}]]
+ incr num_args -1
+ }
+ set args [lreplace $args $idx $idx]
+ incr num_args -1
+ incr idx -1
+ }
+ "-port" {
+ if {[expr {$idx + 1}] < $num_args && [string index [lindex $args [expr {$idx + 1}]] 0] != "-"} {
+ set port_num [lindex $args [expr {$idx + 1}]]
+ set args [lreplace $args [expr {$idx + 1}] [expr {$idx + 1}]]
+ incr num_args -1
+ }
+ set args [lreplace $args $idx $idx]
+ incr num_args -1
+ incr idx -1
+ }
+ "-hub" {
+ set args [lreplace $args $idx $idx "-ir" ]
+ }
+ default {
+# don't touch remaining arguments
+ }
+ }
+ incr idx
+ }
+
+ set hub_name ""
+ if {$tap_name != ""} {
+ set hub_name [lindex [split $tap_name .] 0].ipdbghub
+ } elseif {$pld_name != ""} {
+ set hub_name [lindex [split $pld_name .] 0].ipdbghub
+ } else {
+ echo "parsing arguments failed: no tap and no pld given."
+ return
+ }
+
+ echo "name: $hub_name"
+ echo "ipdbg create-hub $hub_name $args"
+
+ catch {eval ipdbg create-hub $hub_name $args}
+
+ eval $hub_name ipdbg start -tool $tool_num -port $port_num
+}
+
+lappend _telnet_autocomplete_skip "ipdbg -stop"
+proc "ipdbg -stop" {args} {
+ echo "DEPRECATED! use 'chip.ipdbghub ipdbg stop ...', not 'ipdbg -stop ...'"
+ set tap_name ""
+ set pld_name ""
+ set tool_num "1"
+ set idx 0
+ set num_args [llength $args]
+ while {$idx < $num_args} {
+ set arg [lindex $args $idx]
+ switch -- $arg {
+ "-tap" {
+ incr idx
+ if {$idx >= $num_args || [string index [lindex $args $idx] 0] == "-"} {
+ echo "no TAP name given"
+ return
+ }
+ set tap_name [lindex $args $idx]
+ }
+ "-pld" {
+ incr idx
+ if {$idx >= $num_args || [string index [lindex $args $idx] 0] == "-"} {
+ echo "no PLD name given"
+ return
+ }
+ set pld_name [lindex $args $idx]
+ }
+ "-tool" {
+ if {[expr {$idx + 1}] < $num_args && [string index [lindex $args [expr {$idx + 1}]] 0] != "-"} {
+ set tool_num [lindex $args [expr {$idx + 1}]]
+ }
+ }
+ default {
+# don't touch remaining arguments
+ }
+ }
+ incr idx
+ }
+
+ set hub_name ""
+ if {$tap_name != ""} {
+ set hub_name [lindex [split $tap_name .] 0].ipdbghub
+ } elseif {$pld_name != ""} {
+ set hub_name [lindex [split $pld_name .] 0].ipdbghub
+ } else {
+ echo "parsing arguments failed: no tap and no pld given."
+ return
+ }
+
+ eval $hub_name ipdbg stop -tool $tool_num
+}
+