]> git.sur5r.net Git - openocd/blobdiff - src/jtag/drivers/parport.c
arm-jtag-ew: -Wshadow fix
[openocd] / src / jtag / drivers / parport.c
index 7ff675bab3f40745071e945cacd5250d81003ec7..2323ec56a95fa1b2736aff941a4eb0e5f4eb869c 100644 (file)
@@ -76,16 +76,15 @@ struct cable {
 
 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:
@@ -266,7 +265,6 @@ static int parport_init(void)
        struct cable *cur_cable;
 #if PARPORT_USE_PPDEV == 1
        char buffer[256];
-       int i = 0;
 #endif
 
        cur_cable = cables;
@@ -324,7 +322,8 @@ static int parport_init(void)
        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");
@@ -425,7 +424,7 @@ COMMAND_HANDLER(parport_handle_parport_port_command)
                }
        }
 
-       command_print(CMD_CTX, "parport port = %u", parport_port);
+       command_print(CMD_CTX, "parport port = 0x%" PRIx16 "", parport_port);
 
        return ERROR_OK;
 }
@@ -438,10 +437,13 @@ COMMAND_HANDLER(parport_handle_parport_cable_command)
        /* 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;
 }
 
@@ -485,49 +487,50 @@ COMMAND_HANDLER(parport_handle_parport_toggling_time_command)
 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,
+};