static struct cable cables[] =
{
- /* name tdo trst tms tck tdi srst o_inv i_inv init exit led */
+ /* name tdo trst tms tck tdi srst o_inv i_inv init exit led */
{ "wiggler", 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x80, 0x00 },
{ "wiggler2", 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x00, 0x20 },
- { "wiggler_ntrst_inverted",
- 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x11, 0x80, 0x80, 0x80, 0x00 },
- { "old_amt_wiggler", 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x11, 0x80, 0x80, 0x80, 0x00 },
+ { "wiggler_ntrst_inverted", 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x11, 0x80, 0x80, 0x80, 0x00 },
+ { "old_amt_wiggler", 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x11, 0x80, 0x80, 0x80, 0x00 },
{ "arm-jtag", 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x01, 0x80, 0x80, 0x80, 0x00 },
{ "chameleon", 0x80, 0x00, 0x04, 0x01, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 },
- { "dlc5", 0x10, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00 },
- { "triton", 0x80, 0x08, 0x04, 0x01, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 },
+ { "dlc5", 0x10, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00 },
+ { "triton", 0x80, 0x08, 0x04, 0x01, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 },
{ "lattice", 0x40, 0x10, 0x04, 0x02, 0x01, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00 },
{ "flashlink", 0x20, 0x10, 0x02, 0x01, 0x04, 0x20, 0x30, 0x20, 0x00, 0x00, 0x00 },
/* Altium Universal JTAG cable. Set the cable to Xilinx Mode and wire to target as follows:
struct cable *cur_cable;
#if PARPORT_USE_PPDEV == 1
char buffer[256];
- int i = 0;
#endif
cur_cable = cables;
LOG_DEBUG("...open");
#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
- i = ioctl(device_handle, PPCLAIM);
+ int i = ioctl(device_handle, PPCLAIM);
+
if (i < 0)
{
LOG_ERROR("cannot claim device");
}
}
- command_print(CMD_CTX, "parport port = %u", parport_port);
+ command_print(CMD_CTX, "parport port = 0x%" PRIx16 "", parport_port);
return ERROR_OK;
}
/* only if the cable name wasn't overwritten by cmdline */
if (parport_cable == 0)
{
+ /* REVISIT first verify that it's listed in cables[] ... */
parport_cable = malloc(strlen(CMD_ARGV[0]) + sizeof(char));
strcpy(parport_cable, CMD_ARGV[0]);
}
+ /* REVISIT it's probably worth returning the current value ... */
+
return ERROR_OK;
}
static const struct command_registration parport_command_handlers[] = {
{
.name = "parport_port",
- .handler = &parport_handle_parport_port_command,
+ .handler = parport_handle_parport_port_command,
.mode = COMMAND_CONFIG,
- .help = "either the address of the I/O port "
- "or the number of the '/dev/parport' device",
- .usage = "[<port|devname>]",
+ .help = "Display the address of the I/O port (e.g. 0x378) "
+ "or the number of the '/dev/parport' device used. "
+ "If a parameter is provided, first change that port.",
+ .usage = "[port_number]",
},
{
.name = "parport_cable",
- .handler = &parport_handle_parport_cable_command,
+ .handler = parport_handle_parport_cable_command,
.mode = COMMAND_CONFIG,
- .help = "the layout of the parallel port cable "
- "used to connect to the target",
- .usage = "[<layout>]",
+ .help = "Set the layout of the parallel port cable "
+ "used to connect to the target.",
+ /* REVISIT there's no way to list layouts we know ... */
+ .usage = "[layout]",
},
{
.name = "parport_write_on_exit",
- .handler = &parport_handle_write_on_exit_command,
+ .handler = parport_handle_write_on_exit_command,
.mode = COMMAND_CONFIG,
- .help = "configure the parallel driver to write "
- "a known value to the parallel interface",
- .usage = "[<on|off>]",
+ .help = "Configure the parallel driver to write "
+ "a known value to the parallel interface on exit.",
+ .usage = "('on'|'off')",
},
{
.name = "parport_toggling_time",
- .handler = &parport_handle_parport_toggling_time_command,
+ .handler = parport_handle_parport_toggling_time_command,
.mode = COMMAND_CONFIG,
- .help = "time <ns> it takes for the hardware to toggle TCK",
- .usage = "[<ns>]",
+ .help = "Displays or assigns how many nanoseconds it "
+ "takes for the hardware to toggle TCK.",
+ .usage = "[nanoseconds]",
},
COMMAND_REGISTRATION_DONE
};
struct jtag_interface parport_interface = {
- .name = "parport",
-
- .commands = parport_command_handlers,
-
- .init = &parport_init,
- .quit = &parport_quit,
-
- .khz = &parport_khz,
- .speed_div = &parport_speed_div,
- .speed = &parport_speed,
-
- .execute_queue = &bitbang_execute_queue,
- };
+ .name = "parport",
+ .supported = DEBUG_CAP_TMS_SEQ,
+ .commands = parport_command_handlers,
+
+ .init = parport_init,
+ .quit = parport_quit,
+ .khz = parport_khz,
+ .speed_div = parport_speed_div,
+ .speed = parport_speed,
+ .execute_queue = bitbang_execute_queue,
+};