drivers/usb_blaster: Group adapter commands

Use a command group 'usb_blaster' with subcommands instead of individual
commands with 'usb_blaster_' prefix.

The old commands are still available for backward compatibility but
marked as deprecated.

Change-Id: I2ae3d96ba864c20d7db67c74677781a62bfc4eb5
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/6407
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
Marc Schink 2021-08-01 14:12:23 +02:00 committed by Antonio Borneo
parent cba3bb6f2a
commit 1549bad5b3
3 changed files with 55 additions and 14 deletions

View File

@ -2728,28 +2728,28 @@ USB JTAG/USB-Blaster compatibles over one of the userspace libraries
for FTDI chips. These interfaces have several commands, used to for FTDI chips. These interfaces have several commands, used to
configure the driver before initializing the JTAG scan chain: configure the driver before initializing the JTAG scan chain:
@deffn {Config Command} {usb_blaster_device_desc} description @deffn {Config Command} {usb_blaster device_desc} description
Provides the USB device description (the @emph{iProduct string}) Provides the USB device description (the @emph{iProduct string})
of the FTDI FT245 device. If not of the FTDI FT245 device. If not
specified, the FTDI default value is used. This setting is only valid specified, the FTDI default value is used. This setting is only valid
if compiled with FTD2XX support. if compiled with FTD2XX support.
@end deffn @end deffn
@deffn {Config Command} {usb_blaster_vid_pid} vid pid @deffn {Config Command} {usb_blaster vid_pid} vid pid
The vendor ID and product ID of the FTDI FT245 device. If not specified, The vendor ID and product ID of the FTDI FT245 device. If not specified,
default values are used. default values are used.
Currently, only one @var{vid}, @var{pid} pair may be given, e.g. for Currently, only one @var{vid}, @var{pid} pair may be given, e.g. for
Altera USB-Blaster (default): Altera USB-Blaster (default):
@example @example
usb_blaster_vid_pid 0x09FB 0x6001 usb_blaster vid_pid 0x09FB 0x6001
@end example @end example
The following VID/PID is for Kolja Waschk's USB JTAG: The following VID/PID is for Kolja Waschk's USB JTAG:
@example @example
usb_blaster_vid_pid 0x16C0 0x06AD usb_blaster vid_pid 0x16C0 0x06AD
@end example @end example
@end deffn @end deffn
@deffn {Command} {usb_blaster_pin} (@option{pin6}|@option{pin8}) (@option{0}|@option{1}|@option{s}|@option{t}) @deffn {Command} {usb_blaster pin} (@option{pin6}|@option{pin8}) (@option{0}|@option{1}|@option{s}|@option{t})
Sets the state or function of the unused GPIO pins on USB-Blasters Sets the state or function of the unused GPIO pins on USB-Blasters
(pins 6 and 8 on the female JTAG header). These pins can be used as (pins 6 and 8 on the female JTAG header). These pins can be used as
SRST and/or TRST provided the appropriate connections are made on the SRST and/or TRST provided the appropriate connections are made on the
@ -2757,18 +2757,18 @@ target board.
For example, to use pin 6 as SRST: For example, to use pin 6 as SRST:
@example @example
usb_blaster_pin pin6 s usb_blaster pin pin6 s
reset_config srst_only reset_config srst_only
@end example @end example
@end deffn @end deffn
@deffn {Config Command} {usb_blaster_lowlevel_driver} (@option{ftdi}|@option{ublast2}) @deffn {Config Command} {usb_blaster lowlevel_driver} (@option{ftdi}|@option{ublast2})
Chooses the low level access method for the adapter. If not specified, Chooses the low level access method for the adapter. If not specified,
@option{ftdi} is selected unless it wasn't enabled during the @option{ftdi} is selected unless it wasn't enabled during the
configure stage. USB-Blaster II needs @option{ublast2}. configure stage. USB-Blaster II needs @option{ublast2}.
@end deffn @end deffn
@deffn {Config Command} {usb_blaster_firmware} @var{path} @deffn {Config Command} {usb_blaster firmware} @var{path}
This command specifies @var{path} to access USB-Blaster II firmware This command specifies @var{path} to access USB-Blaster II firmware
image. To be used with USB-Blaster II only. image. To be used with USB-Blaster II only.
@end deffn @end deffn

View File

@ -1030,16 +1030,16 @@ COMMAND_HANDLER(ublast_firmware_command)
} }
static const struct command_registration ublast_command_handlers[] = { static const struct command_registration ublast_subcommand_handlers[] = {
{ {
.name = "usb_blaster_device_desc", .name = "device_desc",
.handler = ublast_handle_device_desc_command, .handler = ublast_handle_device_desc_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "set the USB device description of the USB-Blaster", .help = "set the USB device description of the USB-Blaster",
.usage = "description-string", .usage = "description-string",
}, },
{ {
.name = "usb_blaster_vid_pid", .name = "vid_pid",
.handler = ublast_handle_vid_pid_command, .handler = ublast_handle_vid_pid_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "the vendor ID and product ID of the USB-Blaster and " .help = "the vendor ID and product ID of the USB-Blaster and "
@ -1048,21 +1048,21 @@ static const struct command_registration ublast_command_handlers[] = {
.usage = "vid pid vid_uninit pid_uninit", .usage = "vid pid vid_uninit pid_uninit",
}, },
{ {
.name = "usb_blaster_lowlevel_driver", .name = "lowlevel_driver",
.handler = ublast_handle_lowlevel_drv_command, .handler = ublast_handle_lowlevel_drv_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "set the lowlevel access for the USB Blaster (ftdi, ublast2)", .help = "set the lowlevel access for the USB Blaster (ftdi, ublast2)",
.usage = "(ftdi|ublast2)", .usage = "(ftdi|ublast2)",
}, },
{ {
.name = "usb_blaster_pin", .name = "pin",
.handler = ublast_handle_pin_command, .handler = ublast_handle_pin_command,
.mode = COMMAND_ANY, .mode = COMMAND_ANY,
.help = "show or set pin state for the unused GPIO pins", .help = "show or set pin state for the unused GPIO pins",
.usage = "(pin6|pin8) (0|1|s|t)", .usage = "(pin6|pin8) (0|1|s|t)",
}, },
{ {
.name = "usb_blaster_firmware", .name = "firmware",
.handler = &ublast_firmware_command, .handler = &ublast_firmware_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "configure the USB-Blaster II firmware location", .help = "configure the USB-Blaster II firmware location",
@ -1071,6 +1071,17 @@ static const struct command_registration ublast_command_handlers[] = {
COMMAND_REGISTRATION_DONE COMMAND_REGISTRATION_DONE
}; };
static const struct command_registration ublast_command_handlers[] = {
{
.name = "usb_blaster",
.mode = COMMAND_ANY,
.help = "perform usb_blaster management",
.chain = ublast_subcommand_handlers,
.usage = "",
},
COMMAND_REGISTRATION_DONE
};
static struct jtag_interface usb_blaster_interface = { static struct jtag_interface usb_blaster_interface = {
.supported = DEBUG_CAP_TMS_SEQ, .supported = DEBUG_CAP_TMS_SEQ,
.execute_queue = ublast_execute_queue, .execute_queue = ublast_execute_queue,

View File

@ -645,4 +645,34 @@ proc buspirate_port args {
eval buspirate port $args 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
}
# END MIGRATION AIDS # END MIGRATION AIDS