You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

649 lines
19 KiB

  1. # Defines basic Tcl procs for OpenOCD JTAG module
  2. # Executed during "init". Can be overridden
  3. # by board/target/... scripts
  4. proc jtag_init {} {
  5. if {[catch {jtag arp_init} err]!=0} {
  6. # try resetting additionally
  7. init_reset startup
  8. }
  9. }
  10. # This reset logic may be overridden by board/target/... scripts as needed
  11. # to provide a reset that, if possible, is close to a power-up reset.
  12. #
  13. # Exit requirements include: (a) JTAG must be working, (b) the scan
  14. # chain was validated with "jtag arp_init" (or equivalent), (c) nothing
  15. # stays in reset. No TAP-specific scans were performed. It's OK if
  16. # some targets haven't been reset yet; they may need TAP-specific scans.
  17. #
  18. # The "mode" values include: halt, init, run (from "reset" command);
  19. # startup (at OpenOCD server startup, when JTAG may not yet work); and
  20. # potentially more (for reset types like cold, warm, etc)
  21. proc init_reset { mode } {
  22. if {[using_jtag]} {
  23. jtag arp_init-reset
  24. }
  25. }
  26. #########
  27. # TODO: power_restore and power_dropout are currently neither
  28. # documented nor supported.
  29. proc power_restore {} {
  30. echo "Sensed power restore, running reset init and halting GDB."
  31. reset init
  32. # Halt GDB so user can deal with a detected power restore.
  33. #
  34. # After GDB is halted, then output is no longer forwarded
  35. # to the GDB console.
  36. set targets [target names]
  37. foreach t $targets {
  38. # New event script.
  39. $t invoke-event arp_halt_gdb
  40. }
  41. }
  42. add_help_text power_restore "Overridable procedure run when power restore is detected. Runs 'reset init' by default."
  43. proc power_dropout {} {
  44. echo "Sensed power dropout."
  45. }
  46. #########
  47. # TODO: srst_deasserted and srst_asserted are currently neither
  48. # documented nor supported.
  49. proc srst_deasserted {} {
  50. echo "Sensed nSRST deasserted, running reset init and halting GDB."
  51. reset init
  52. # Halt GDB so user can deal with a detected reset.
  53. #
  54. # After GDB is halted, then output is no longer forwarded
  55. # to the GDB console.
  56. set targets [target names]
  57. foreach t $targets {
  58. # New event script.
  59. $t invoke-event arp_halt_gdb
  60. }
  61. }
  62. add_help_text srst_deasserted "Overridable procedure run when srst deassert is detected. Runs 'reset init' by default."
  63. proc srst_asserted {} {
  64. echo "Sensed nSRST asserted."
  65. }
  66. # measure actual JTAG clock
  67. proc measure_clk {} {
  68. set start_time [ms];
  69. set iterations 10000000;
  70. runtest $iterations;
  71. set speed [expr "$iterations.0 / ([ms] - $start_time)"]
  72. echo "Running at more than $speed kHz";
  73. }
  74. add_help_text measure_clk "Runs a test to measure the JTAG clk. Useful with RCLK / RTCK."
  75. proc default_to_jtag { f args } {
  76. set current_transport [transport select]
  77. if {[using_jtag]} {
  78. eval $f $args
  79. } {
  80. error "session transport is \"$current_transport\" but your config requires JTAG"
  81. }
  82. }
  83. proc jtag args {
  84. eval default_to_jtag jtag $args
  85. }
  86. proc jtag_rclk args {
  87. eval default_to_jtag jtag_rclk $args
  88. }
  89. proc jtag_ntrst_delay args {
  90. eval default_to_jtag jtag_ntrst_delay $args
  91. }
  92. proc jtag_ntrst_assert_width args {
  93. eval default_to_jtag jtag_ntrst_assert_width $args
  94. }
  95. # BEGIN MIGRATION AIDS ... these adapter operations originally had
  96. # JTAG-specific names despite the fact that the operations were not
  97. # specific to JTAG, or otherwise had troublesome/misleading names.
  98. #
  99. # FIXME phase these aids out after some releases
  100. #
  101. lappend _telnet_autocomplete_skip jtag_reset
  102. proc jtag_reset args {
  103. echo "DEPRECATED! use 'adapter \[de\]assert' not 'jtag_reset'"
  104. switch $args {
  105. "0 0"
  106. {eval adapter deassert trst deassert srst}
  107. "0 1"
  108. {eval adapter deassert trst assert srst}
  109. "1 0"
  110. {eval adapter assert trst deassert srst}
  111. "1 1"
  112. {eval adapter assert trst assert srst}
  113. default
  114. {return -code 1 -level 1 "jtag_reset: syntax error"}
  115. }
  116. }
  117. lappend _telnet_autocomplete_skip adapter_khz
  118. proc adapter_khz args {
  119. echo "DEPRECATED! use 'adapter speed' not 'adapter_khz'"
  120. eval adapter speed $args
  121. }
  122. lappend _telnet_autocomplete_skip adapter_name
  123. proc adapter_name args {
  124. echo "DEPRECATED! use 'adapter name' not 'adapter_name'"
  125. eval adapter name $args
  126. }
  127. lappend _telnet_autocomplete_skip adapter_nsrst_delay
  128. proc adapter_nsrst_delay args {
  129. echo "DEPRECATED! use 'adapter srst delay' not 'adapter_nsrst_delay'"
  130. eval adapter srst delay $args
  131. }
  132. lappend _telnet_autocomplete_skip adapter_nsrst_assert_width
  133. proc adapter_nsrst_assert_width args {
  134. echo "DEPRECATED! use 'adapter srst pulse_width' not 'adapter_nsrst_assert_width'"
  135. eval adapter srst pulse_width $args
  136. }
  137. lappend _telnet_autocomplete_skip interface
  138. proc interface args {
  139. echo "DEPRECATED! use 'adapter driver' not 'interface'"
  140. eval adapter driver $args
  141. }
  142. lappend _telnet_autocomplete_skip interface_transports
  143. proc interface_transports args {
  144. echo "DEPRECATED! use 'adapter transports' not 'interface_transports'"
  145. eval adapter transports $args
  146. }
  147. lappend _telnet_autocomplete_skip interface_list
  148. proc interface_list args {
  149. echo "DEPRECATED! use 'adapter list' not 'interface_list'"
  150. eval adapter list $args
  151. }
  152. lappend _telnet_autocomplete_skip ftdi_location
  153. proc ftdi_location args {
  154. echo "DEPRECATED! use 'adapter usb location' not 'ftdi_location'"
  155. eval adapter usb location $args
  156. }
  157. lappend _telnet_autocomplete_skip xds110_serial
  158. proc xds110_serial args {
  159. echo "DEPRECATED! use 'xds110 serial' not 'xds110_serial'"
  160. eval xds110 serial $args
  161. }
  162. lappend _telnet_autocomplete_skip xds110_supply_voltage
  163. proc xds110_supply_voltage args {
  164. echo "DEPRECATED! use 'xds110 supply' not 'xds110_supply_voltage'"
  165. eval xds110 supply $args
  166. }
  167. proc hla {cmd args} {
  168. tailcall "hla $cmd" {*}$args
  169. }
  170. lappend _telnet_autocomplete_skip "hla newtap"
  171. proc "hla newtap" {args} {
  172. echo "DEPRECATED! use 'swj_newdap' not 'hla newtap'"
  173. eval swj_newdap $args
  174. }
  175. lappend _telnet_autocomplete_skip ftdi_device_desc
  176. proc ftdi_device_desc args {
  177. echo "DEPRECATED! use 'ftdi device_desc' not 'ftdi_device_desc'"
  178. eval ftdi device_desc $args
  179. }
  180. lappend _telnet_autocomplete_skip ftdi_serial
  181. proc ftdi_serial args {
  182. echo "DEPRECATED! use 'ftdi serial' not 'ftdi_serial'"
  183. eval ftdi serial $args
  184. }
  185. lappend _telnet_autocomplete_skip ftdi_channel
  186. proc ftdi_channel args {
  187. echo "DEPRECATED! use 'ftdi channel' not 'ftdi_channel'"
  188. eval ftdi channel $args
  189. }
  190. lappend _telnet_autocomplete_skip ftdi_layout_init
  191. proc ftdi_layout_init args {
  192. echo "DEPRECATED! use 'ftdi layout_init' not 'ftdi_layout_init'"
  193. eval ftdi layout_init $args
  194. }
  195. lappend _telnet_autocomplete_skip ftdi_layout_signal
  196. proc ftdi_layout_signal args {
  197. echo "DEPRECATED! use 'ftdi layout_signal' not 'ftdi_layout_signal'"
  198. eval ftdi layout_signal $args
  199. }
  200. lappend _telnet_autocomplete_skip ftdi_set_signal
  201. proc ftdi_set_signal args {
  202. echo "DEPRECATED! use 'ftdi set_signal' not 'ftdi_set_signal'"
  203. eval ftdi set_signal $args
  204. }
  205. lappend _telnet_autocomplete_skip ftdi_get_signal
  206. proc ftdi_get_signal args {
  207. echo "DEPRECATED! use 'ftdi get_signal' not 'ftdi_get_signal'"
  208. eval ftdi get_signal $args
  209. }
  210. lappend _telnet_autocomplete_skip ftdi_vid_pid
  211. proc ftdi_vid_pid args {
  212. echo "DEPRECATED! use 'ftdi vid_pid' not 'ftdi_vid_pid'"
  213. eval ftdi vid_pid $args
  214. }
  215. lappend _telnet_autocomplete_skip ftdi_tdo_sample_edge
  216. proc ftdi_tdo_sample_edge args {
  217. echo "DEPRECATED! use 'ftdi tdo_sample_edge' not 'ftdi_tdo_sample_edge'"
  218. eval ftdi tdo_sample_edge $args
  219. }
  220. lappend _telnet_autocomplete_skip remote_bitbang_host
  221. proc remote_bitbang_host args {
  222. echo "DEPRECATED! use 'remote_bitbang host' not 'remote_bitbang_host'"
  223. eval remote_bitbang host $args
  224. }
  225. lappend _telnet_autocomplete_skip remote_bitbang_port
  226. proc remote_bitbang_port args {
  227. echo "DEPRECATED! use 'remote_bitbang port' not 'remote_bitbang_port'"
  228. eval remote_bitbang port $args
  229. }
  230. lappend _telnet_autocomplete_skip openjtag_device_desc
  231. proc openjtag_device_desc args {
  232. echo "DEPRECATED! use 'openjtag device_desc' not 'openjtag_device_desc'"
  233. eval openjtag device_desc $args
  234. }
  235. lappend _telnet_autocomplete_skip openjtag_variant
  236. proc openjtag_variant args {
  237. echo "DEPRECATED! use 'openjtag variant' not 'openjtag_variant'"
  238. eval openjtag variant $args
  239. }
  240. lappend _telnet_autocomplete_skip parport_port
  241. proc parport_port args {
  242. echo "DEPRECATED! use 'parport port' not 'parport_port'"
  243. eval parport port $args
  244. }
  245. lappend _telnet_autocomplete_skip parport_cable
  246. proc parport_cable args {
  247. echo "DEPRECATED! use 'parport cable' not 'parport_cable'"
  248. eval parport cable $args
  249. }
  250. lappend _telnet_autocomplete_skip parport_write_on_exit
  251. proc parport_write_on_exit args {
  252. echo "DEPRECATED! use 'parport write_on_exit' not 'parport_write_on_exit'"
  253. eval parport write_on_exit $args
  254. }
  255. lappend _telnet_autocomplete_skip parport_toggling_time
  256. proc parport_toggling_time args {
  257. echo "DEPRECATED! use 'parport toggling_time' not 'parport_toggling_time'"
  258. eval parport toggling_time $args
  259. }
  260. lappend _telnet_autocomplete_skip jtag_dpi_set_port
  261. proc jtag_dpi_set_port args {
  262. echo "DEPRECATED! use 'jtag_dpi set_port' not 'jtag_dpi_set_port'"
  263. eval jtag_dpi set_port $args
  264. }
  265. lappend _telnet_autocomplete_skip jtag_dpi_set_address
  266. proc jtag_dpi_set_address args {
  267. echo "DEPRECATED! use 'jtag_dpi set_address' not 'jtag_dpi_set_address'"
  268. eval jtag_dpi set_address $args
  269. }
  270. lappend _telnet_autocomplete_skip jtag_vpi_set_port
  271. proc jtag_vpi_set_port args {
  272. echo "DEPRECATED! use 'jtag_vpi set_port' not 'jtag_vpi_set_port'"
  273. eval jtag_vpi set_port $args
  274. }
  275. lappend _telnet_autocomplete_skip jtag_vpi_set_address
  276. proc jtag_vpi_set_address args {
  277. echo "DEPRECATED! use 'jtag_vpi set_address' not 'jtag_vpi_set_address'"
  278. eval jtag_vpi set_address $args
  279. }
  280. lappend _telnet_autocomplete_skip jtag_vpi_stop_sim_on_exit
  281. proc jtag_vpi_stop_sim_on_exit args {
  282. echo "DEPRECATED! use 'jtag_vpi stop_sim_on_exit' not 'jtag_vpi_stop_sim_on_exit'"
  283. eval jtag_vpi stop_sim_on_exit $args
  284. }
  285. lappend _telnet_autocomplete_skip presto_serial
  286. proc presto_serial args {
  287. echo "DEPRECATED! use 'presto serial' not 'presto_serial'"
  288. eval presto serial $args
  289. }
  290. lappend _telnet_autocomplete_skip xlnx_pcie_xvc_config
  291. proc xlnx_pcie_xvc_config args {
  292. echo "DEPRECATED! use 'xlnx_pcie_xvc config' not 'xlnx_pcie_xvc_config'"
  293. eval xlnx_pcie_xvc config $args
  294. }
  295. lappend _telnet_autocomplete_skip ulink_download_firmware
  296. proc ulink_download_firmware args {
  297. echo "DEPRECATED! use 'ulink download_firmware' not 'ulink_download_firmware'"
  298. eval ulink download_firmware $args
  299. }
  300. lappend _telnet_autocomplete_skip vsllink_usb_vid
  301. proc vsllink_usb_vid args {
  302. echo "DEPRECATED! use 'vsllink usb_vid' not 'vsllink_usb_vid'"
  303. eval vsllink usb_vid $args
  304. }
  305. lappend _telnet_autocomplete_skip vsllink_usb_pid
  306. proc vsllink_usb_pid args {
  307. echo "DEPRECATED! use 'vsllink usb_pid' not 'vsllink_usb_pid'"
  308. eval vsllink usb_pid $args
  309. }
  310. lappend _telnet_autocomplete_skip vsllink_usb_serial
  311. proc vsllink_usb_serial args {
  312. echo "DEPRECATED! use 'vsllink usb_serial' not 'vsllink_usb_serial'"
  313. eval vsllink usb_serial $args
  314. }
  315. lappend _telnet_autocomplete_skip vsllink_usb_bulkin
  316. proc vsllink_usb_bulkin args {
  317. echo "DEPRECATED! use 'vsllink usb_bulkin' not 'vsllink_usb_bulkin'"
  318. eval vsllink usb_bulkin $args
  319. }
  320. lappend _telnet_autocomplete_skip vsllink_usb_bulkout
  321. proc vsllink_usb_bulkout args {
  322. echo "DEPRECATED! use 'vsllink usb_bulkout' not 'vsllink_usb_bulkout'"
  323. eval vsllink usb_bulkout $args
  324. }
  325. lappend _telnet_autocomplete_skip vsllink_usb_interface
  326. proc vsllink_usb_interface args {
  327. echo "DEPRECATED! use 'vsllink usb_interface' not 'vsllink_usb_interface'"
  328. eval vsllink usb_interface $args
  329. }
  330. lappend _telnet_autocomplete_skip bcm2835gpio_jtag_nums
  331. proc bcm2835gpio_jtag_nums args {
  332. echo "DEPRECATED! use 'bcm2835gpio jtag_nums' not 'bcm2835gpio_jtag_nums'"
  333. eval bcm2835gpio jtag_nums $args
  334. }
  335. lappend _telnet_autocomplete_skip bcm2835gpio_tck_num
  336. proc bcm2835gpio_tck_num args {
  337. echo "DEPRECATED! use 'bcm2835gpio tck_num' not 'bcm2835gpio_tck_num'"
  338. eval bcm2835gpio tck_num $args
  339. }
  340. lappend _telnet_autocomplete_skip bcm2835gpio_tms_num
  341. proc bcm2835gpio_tms_num args {
  342. echo "DEPRECATED! use 'bcm2835gpio tms_num' not 'bcm2835gpio_tms_num'"
  343. eval bcm2835gpio tms_num $args
  344. }
  345. lappend _telnet_autocomplete_skip bcm2835gpio_tdo_num
  346. proc bcm2835gpio_tdo_num args {
  347. echo "DEPRECATED! use 'bcm2835gpio tdo_num' not 'bcm2835gpio_tdo_num'"
  348. eval bcm2835gpio tdo_num $args
  349. }
  350. lappend _telnet_autocomplete_skip bcm2835gpio_tdi_num
  351. proc bcm2835gpio_tdi_num args {
  352. echo "DEPRECATED! use 'bcm2835gpio tdi_num' not 'bcm2835gpio_tdi_num'"
  353. eval bcm2835gpio tdi_num $args
  354. }
  355. lappend _telnet_autocomplete_skip bcm2835gpio_swd_nums
  356. proc bcm2835gpio_swd_nums args {
  357. echo "DEPRECATED! use 'bcm2835gpio swd_nums' not 'bcm2835gpio_swd_nums'"
  358. eval bcm2835gpio swd_nums $args
  359. }
  360. lappend _telnet_autocomplete_skip bcm2835gpio_swclk_num
  361. proc bcm2835gpio_swclk_num args {
  362. echo "DEPRECATED! use 'bcm2835gpio swclk_num' not 'bcm2835gpio_swclk_num'"
  363. eval bcm2835gpio swclk_num $args
  364. }
  365. lappend _telnet_autocomplete_skip bcm2835gpio_swdio_num
  366. proc bcm2835gpio_swdio_num args {
  367. echo "DEPRECATED! use 'bcm2835gpio swdio_num' not 'bcm2835gpio_swdio_num'"
  368. eval bcm2835gpio swdio_num $args
  369. }
  370. lappend _telnet_autocomplete_skip bcm2835gpio_swdio_dir_num
  371. proc bcm2835gpio_swdio_dir_num args {
  372. echo "DEPRECATED! use 'bcm2835gpio swdio_dir_num' not 'bcm2835gpio_swdio_dir_num'"
  373. eval bcm2835gpio swdio_dir_num $args
  374. }
  375. lappend _telnet_autocomplete_skip bcm2835gpio_srst_num
  376. proc bcm2835gpio_srst_num args {
  377. echo "DEPRECATED! use 'bcm2835gpio srst_num' not 'bcm2835gpio_srst_num'"
  378. eval bcm2835gpio srst_num $args
  379. }
  380. lappend _telnet_autocomplete_skip bcm2835gpio_trst_num
  381. proc bcm2835gpio_trst_num args {
  382. echo "DEPRECATED! use 'bcm2835gpio trst_num' not 'bcm2835gpio_trst_num'"
  383. eval bcm2835gpio trst_num $args
  384. }
  385. lappend _telnet_autocomplete_skip bcm2835gpio_speed_coeffs
  386. proc bcm2835gpio_speed_coeffs args {
  387. echo "DEPRECATED! use 'bcm2835gpio speed_coeffs' not 'bcm2835gpio_speed_coeffs'"
  388. eval bcm2835gpio speed_coeffs $args
  389. }
  390. lappend _telnet_autocomplete_skip bcm2835gpio_peripheral_base
  391. proc bcm2835gpio_peripheral_base args {
  392. echo "DEPRECATED! use 'bcm2835gpio peripheral_base' not 'bcm2835gpio_peripheral_base'"
  393. eval bcm2835gpio peripheral_base $args
  394. }
  395. lappend _telnet_autocomplete_skip linuxgpiod_jtag_nums
  396. proc linuxgpiod_jtag_nums args {
  397. echo "DEPRECATED! use 'linuxgpiod jtag_nums' not 'linuxgpiod_jtag_nums'"
  398. eval linuxgpiod jtag_nums $args
  399. }
  400. lappend _telnet_autocomplete_skip linuxgpiod_tck_num
  401. proc linuxgpiod_tck_num args {
  402. echo "DEPRECATED! use 'linuxgpiod tck_num' not 'linuxgpiod_tck_num'"
  403. eval linuxgpiod tck_num $args
  404. }
  405. lappend _telnet_autocomplete_skip linuxgpiod_tms_num
  406. proc linuxgpiod_tms_num args {
  407. echo "DEPRECATED! use 'linuxgpiod tms_num' not 'linuxgpiod_tms_num'"
  408. eval linuxgpiod tms_num $args
  409. }
  410. lappend _telnet_autocomplete_skip linuxgpiod_tdo_num
  411. proc linuxgpiod_tdo_num args {
  412. echo "DEPRECATED! use 'linuxgpiod tdo_num' not 'linuxgpiod_tdo_num'"
  413. eval linuxgpiod tdo_num $args
  414. }
  415. lappend _telnet_autocomplete_skip linuxgpiod_tdi_num
  416. proc linuxgpiod_tdi_num args {
  417. echo "DEPRECATED! use 'linuxgpiod tdi_num' not 'linuxgpiod_tdi_num'"
  418. eval linuxgpiod tdi_num $args
  419. }
  420. lappend _telnet_autocomplete_skip linuxgpiod_srst_num
  421. proc linuxgpiod_srst_num args {
  422. echo "DEPRECATED! use 'linuxgpiod srst_num' not 'linuxgpiod_srst_num'"
  423. eval linuxgpiod srst_num $args
  424. }
  425. lappend _telnet_autocomplete_skip linuxgpiod_trst_num
  426. proc linuxgpiod_trst_num args {
  427. echo "DEPRECATED! use 'linuxgpiod trst_num' not 'linuxgpiod_trst_num'"
  428. eval linuxgpiod trst_num $args
  429. }
  430. lappend _telnet_autocomplete_skip linuxgpiod_swd_nums
  431. proc linuxgpiod_swd_nums args {
  432. echo "DEPRECATED! use 'linuxgpiod swd_nums' not 'linuxgpiod_swd_nums'"
  433. eval linuxgpiod swd_nums $args
  434. }
  435. lappend _telnet_autocomplete_skip linuxgpiod_swclk_num
  436. proc linuxgpiod_swclk_num args {
  437. echo "DEPRECATED! use 'linuxgpiod swclk_num' not 'linuxgpiod_swclk_num'"
  438. eval linuxgpiod swclk_num $args
  439. }
  440. lappend _telnet_autocomplete_skip linuxgpiod_swdio_num
  441. proc linuxgpiod_swdio_num args {
  442. echo "DEPRECATED! use 'linuxgpiod swdio_num' not 'linuxgpiod_swdio_num'"
  443. eval linuxgpiod swdio_num $args
  444. }
  445. lappend _telnet_autocomplete_skip linuxgpiod_led_num
  446. proc linuxgpiod_led_num args {
  447. echo "DEPRECATED! use 'linuxgpiod led_num' not 'linuxgpiod_led_num'"
  448. eval linuxgpiod led_num $args
  449. }
  450. lappend _telnet_autocomplete_skip linuxgpiod_gpiochip
  451. proc linuxgpiod_gpiochip args {
  452. echo "DEPRECATED! use 'linuxgpiod gpiochip' not 'linuxgpiod_gpiochip'"
  453. eval linuxgpiod gpiochip $args
  454. }
  455. lappend _telnet_autocomplete_skip sysfsgpio_jtag_nums
  456. proc sysfsgpio_jtag_nums args {
  457. echo "DEPRECATED! use 'sysfsgpio jtag_nums' not 'sysfsgpio_jtag_nums'"
  458. eval sysfsgpio jtag_nums $args
  459. }
  460. lappend _telnet_autocomplete_skip sysfsgpio_tck_num
  461. proc sysfsgpio_tck_num args {
  462. echo "DEPRECATED! use 'sysfsgpio tck_num' not 'sysfsgpio_tck_num'"
  463. eval sysfsgpio tck_num $args
  464. }
  465. lappend _telnet_autocomplete_skip sysfsgpio_tms_num
  466. proc sysfsgpio_tms_num args {
  467. echo "DEPRECATED! use 'sysfsgpio tms_num' not 'sysfsgpio_tms_num'"
  468. eval sysfsgpio tms_num $args
  469. }
  470. lappend _telnet_autocomplete_skip sysfsgpio_tdo_num
  471. proc sysfsgpio_tdo_num args {
  472. echo "DEPRECATED! use 'sysfsgpio tdo_num' not 'sysfsgpio_tdo_num'"
  473. eval sysfsgpio tdo_num $args
  474. }
  475. lappend _telnet_autocomplete_skip sysfsgpio_tdi_num
  476. proc sysfsgpio_tdi_num args {
  477. echo "DEPRECATED! use 'sysfsgpio tdi_num' not 'sysfsgpio_tdi_num'"
  478. eval sysfsgpio tdi_num $args
  479. }
  480. lappend _telnet_autocomplete_skip sysfsgpio_srst_num
  481. proc sysfsgpio_srst_num args {
  482. echo "DEPRECATED! use 'sysfsgpio srst_num' not 'sysfsgpio_srst_num'"
  483. eval sysfsgpio srst_num $args
  484. }
  485. lappend _telnet_autocomplete_skip sysfsgpio_trst_num
  486. proc sysfsgpio_trst_num args {
  487. echo "DEPRECATED! use 'sysfsgpio trst_num' not 'sysfsgpio_trst_num'"
  488. eval sysfsgpio trst_num $args
  489. }
  490. lappend _telnet_autocomplete_skip sysfsgpio_swd_nums
  491. proc sysfsgpio_swd_nums args {
  492. echo "DEPRECATED! use 'sysfsgpio swd_nums' not 'sysfsgpio_swd_nums'"
  493. eval sysfsgpio swd_nums $args
  494. }
  495. lappend _telnet_autocomplete_skip sysfsgpio_swclk_num
  496. proc sysfsgpio_swclk_num args {
  497. echo "DEPRECATED! use 'sysfsgpio swclk_num' not 'sysfsgpio_swclk_num'"
  498. eval sysfsgpio swclk_num $args
  499. }
  500. lappend _telnet_autocomplete_skip sysfsgpio_swdio_num
  501. proc sysfsgpio_swdio_num args {
  502. echo "DEPRECATED! use 'sysfsgpio swdio_num' not 'sysfsgpio_swdio_num'"
  503. eval sysfsgpio swdio_num $args
  504. }
  505. lappend _telnet_autocomplete_skip buspirate_adc
  506. proc buspirate_adc args {
  507. echo "DEPRECATED! use 'buspirate adc' not 'buspirate_adc'"
  508. eval buspirate adc $args
  509. }
  510. lappend _telnet_autocomplete_skip buspirate_vreg
  511. proc buspirate_vreg args {
  512. echo "DEPRECATED! use 'buspirate vreg' not 'buspirate_vreg'"
  513. eval buspirate vreg $args
  514. }
  515. lappend _telnet_autocomplete_skip buspirate_pullup
  516. proc buspirate_pullup args {
  517. echo "DEPRECATED! use 'buspirate pullup' not 'buspirate_pullup'"
  518. eval buspirate pullup $args
  519. }
  520. lappend _telnet_autocomplete_skip buspirate_led
  521. proc buspirate_led args {
  522. echo "DEPRECATED! use 'buspirate led' not 'buspirate_led'"
  523. eval buspirate led $args
  524. }
  525. lappend _telnet_autocomplete_skip buspirate_speed
  526. proc buspirate_speed args {
  527. echo "DEPRECATED! use 'buspirate speed' not 'buspirate_speed'"
  528. eval buspirate speed $args
  529. }
  530. lappend _telnet_autocomplete_skip buspirate_mode
  531. proc buspirate_mode args {
  532. echo "DEPRECATED! use 'buspirate mode' not 'buspirate_mode'"
  533. eval buspirate mode $args
  534. }
  535. lappend _telnet_autocomplete_skip buspirate_port
  536. proc buspirate_port args {
  537. echo "DEPRECATED! use 'buspirate port' not 'buspirate_port'"
  538. eval buspirate port $args
  539. }
  540. # END MIGRATION AIDS