char *lowlevel_name;
struct ublast_lowlevel *drv;
- char *ublast_device_desc;
uint16_t ublast_vid, ublast_pid;
uint16_t ublast_vid_uninit, ublast_pid_uninit;
int flags;
};
/*
- * Available lowlevel drivers (FTDI, FTD2xx, ...)
+ * Available lowlevel drivers (FTDI, libusb, ...)
*/
struct drvs_map {
char *name;
ublast_initial_wipeout();
}
- for (cmd = jtag_command_queue; ret == ERROR_OK && cmd != NULL;
+ for (cmd = jtag_command_queue; ret == ERROR_OK && cmd;
cmd = cmd->next) {
switch (cmd->type) {
case JTAG_RESET:
info.drv->ublast_pid = info.ublast_pid;
info.drv->ublast_vid_uninit = info.ublast_vid_uninit;
info.drv->ublast_pid_uninit = info.ublast_pid_uninit;
- info.drv->ublast_device_desc = info.ublast_device_desc;
info.drv->firmware_path = info.firmware_path;
info.flags |= info.drv->flags;
return info.drv->close(info.drv);
}
-COMMAND_HANDLER(ublast_handle_device_desc_command)
-{
- if (CMD_ARGC != 1)
- return ERROR_COMMAND_SYNTAX_ERROR;
-
- info.ublast_device_desc = strdup(CMD_ARGV[0]);
-
- return ERROR_OK;
-}
-
COMMAND_HANDLER(ublast_handle_vid_pid_command)
{
if (CMD_ARGC > 4) {
}
-static const struct command_registration ublast_command_handlers[] = {
+static const struct command_registration ublast_subcommand_handlers[] = {
{
- .name = "usb_blaster_device_desc",
- .handler = ublast_handle_device_desc_command,
- .mode = COMMAND_CONFIG,
- .help = "set the USB device description of the USB-Blaster",
- .usage = "description-string",
- },
- {
- .name = "usb_blaster_vid_pid",
+ .name = "vid_pid",
.handler = ublast_handle_vid_pid_command,
.mode = COMMAND_CONFIG,
.help = "the vendor ID and product ID of the USB-Blaster and "
.usage = "vid pid vid_uninit pid_uninit",
},
{
- .name = "usb_blaster_lowlevel_driver",
+ .name = "lowlevel_driver",
.handler = ublast_handle_lowlevel_drv_command,
.mode = COMMAND_CONFIG,
.help = "set the lowlevel access for the USB Blaster (ftdi, ublast2)",
.usage = "(ftdi|ublast2)",
},
{
- .name = "usb_blaster_pin",
+ .name = "pin",
.handler = ublast_handle_pin_command,
.mode = COMMAND_ANY,
.help = "show or set pin state for the unused GPIO pins",
.usage = "(pin6|pin8) (0|1|s|t)",
},
{
- .name = "usb_blaster_firmware",
+ .name = "firmware",
.handler = &ublast_firmware_command,
.mode = COMMAND_CONFIG,
.help = "configure the USB-Blaster II firmware location",
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 = {
.supported = DEBUG_CAP_TMS_SEQ,
.execute_queue = ublast_execute_queue,