drivers/parport: Group adapter commands

Use a command group 'parport' with subcommands instead of individual
commands with 'parport_' prefix.

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

Change-Id: I4cb7096a8ba8d6cd7a6dc970862cd73c32b5c0a2
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/6385
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
Marc Schink 2021-07-30 17:39:11 +02:00 committed by Antonio Borneo
parent 38f94a2677
commit fbbf63f659
3 changed files with 51 additions and 16 deletions

View File

@ -2378,7 +2378,7 @@ Amontec Chameleon in its JTAG Accelerator configuration,
connected to a PC's EPP mode parallel port. connected to a PC's EPP mode parallel port.
This defines some driver-specific commands: This defines some driver-specific commands:
@deffn {Config Command} {parport_port} number @deffn {Config Command} {parport port} number
Specifies either the address of the I/O port (default: 0x378 for LPT1) or Specifies either the address of the I/O port (default: 0x378 for LPT1) or
the number of the @file{/dev/parport} device. the number of the @file{/dev/parport} device.
@end deffn @end deffn
@ -2779,7 +2779,7 @@ image. To be used with USB-Blaster II only.
Gateworks GW16012 JTAG programmer. Gateworks GW16012 JTAG programmer.
This has one driver-specific command: This has one driver-specific command:
@deffn {Config Command} {parport_port} [port_number] @deffn {Config Command} {parport port} [port_number]
Display either the address of the I/O port Display either the address of the I/O port
(default: 0x378 for LPT1) or the number of the @file{/dev/parport} device. (default: 0x378 for LPT1) or the number of the @file{/dev/parport} device.
If a parameter is provided, first switch to use that port. If a parameter is provided, first switch to use that port.
@ -2938,7 +2938,7 @@ Wigglers, PLD download cable, and more.
These interfaces have several commands, used to configure the driver These interfaces have several commands, used to configure the driver
before initializing the JTAG scan chain: before initializing the JTAG scan chain:
@deffn {Config Command} {parport_cable} name @deffn {Config Command} {parport cable} name
Set the layout of the parallel port cable used to connect to the target. Set the layout of the parallel port cable used to connect to the target.
This is a write-once setting. This is a write-once setting.
Currently valid cable @var{name} values include: Currently valid cable @var{name} values include:
@ -2968,18 +2968,18 @@ several clones, such as the Olimex ARM-JTAG
@end itemize @end itemize
@end deffn @end deffn
@deffn {Config Command} {parport_port} [port_number] @deffn {Config Command} {parport port} [port_number]
Display either the address of the I/O port Display either the address of the I/O port
(default: 0x378 for LPT1) or the number of the @file{/dev/parport} device. (default: 0x378 for LPT1) or the number of the @file{/dev/parport} device.
If a parameter is provided, first switch to use that port. If a parameter is provided, first switch to use that port.
This is a write-once setting. This is a write-once setting.
When using PPDEV to access the parallel port, use the number of the parallel port: When using PPDEV to access the parallel port, use the number of the parallel port:
@option{parport_port 0} (the default). If @option{parport_port 0x378} is specified @option{parport port 0} (the default). If @option{parport port 0x378} is specified
you may encounter a problem. you may encounter a problem.
@end deffn @end deffn
@deffn {Config Command} {parport_toggling_time} [nanoseconds] @deffn {Config Command} {parport toggling_time} [nanoseconds]
Displays how many nanoseconds the hardware needs to toggle TCK; Displays how many nanoseconds the hardware needs to toggle TCK;
the parport driver uses this value to obey the the parport driver uses this value to obey the
@command{adapter speed} configuration. @command{adapter speed} configuration.
@ -2992,7 +2992,7 @@ However, you may want to calibrate for your specific hardware.
To measure the toggling time with a logic analyzer or a digital storage To measure the toggling time with a logic analyzer or a digital storage
oscilloscope, follow the procedure below: oscilloscope, follow the procedure below:
@example @example
> parport_toggling_time 1000 > parport toggling_time 1000
> adapter speed 500 > adapter speed 500
@end example @end example
This sets the maximum JTAG clock speed of the hardware, but This sets the maximum JTAG clock speed of the hardware, but
@ -3002,7 +3002,7 @@ You can use @command{runtest 1000} or something similar to generate a
large set of samples. large set of samples.
Update the setting to match your measurement: Update the setting to match your measurement:
@example @example
> parport_toggling_time <measured nanoseconds> > parport toggling_time <measured nanoseconds>
@end example @end example
Now the clock speed will be a better match for @command{adapter speed} Now the clock speed will be a better match for @command{adapter speed}
command given in OpenOCD scripts and event handlers. command given in OpenOCD scripts and event handlers.
@ -3016,7 +3016,7 @@ be conservative.
@end quotation @end quotation
@end deffn @end deffn
@deffn {Config Command} {parport_write_on_exit} (@option{on}|@option{off}) @deffn {Config Command} {parport write_on_exit} (@option{on}|@option{off})
This will configure the parallel driver to write a known This will configure the parallel driver to write a known
cable-specific value to the parallel interface on exiting OpenOCD. cable-specific value to the parallel interface on exiting OpenOCD.
@end deffn @end deffn
@ -3026,8 +3026,8 @@ classic ``Wiggler'' cable on LPT2 might look something like this:
@example @example
adapter driver parport adapter driver parport
parport_port 0x278 parport port 0x278
parport_cable wiggler parport cable wiggler
@end example @end example
@end deffn @end deffn

View File

@ -473,9 +473,9 @@ COMMAND_HANDLER(parport_handle_parport_toggling_time_command)
return ERROR_OK; return ERROR_OK;
} }
static const struct command_registration parport_command_handlers[] = { static const struct command_registration parport_subcommand_handlers[] = {
{ {
.name = "parport_port", .name = "port",
.handler = parport_handle_parport_port_command, .handler = parport_handle_parport_port_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "Display the address of the I/O port (e.g. 0x378) " .help = "Display the address of the I/O port (e.g. 0x378) "
@ -484,7 +484,7 @@ static const struct command_registration parport_command_handlers[] = {
.usage = "[port_number]", .usage = "[port_number]",
}, },
{ {
.name = "parport_cable", .name = "cable",
.handler = parport_handle_parport_cable_command, .handler = parport_handle_parport_cable_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "Set the layout of the parallel port cable " .help = "Set the layout of the parallel port cable "
@ -493,7 +493,7 @@ static const struct command_registration parport_command_handlers[] = {
.usage = "[layout]", .usage = "[layout]",
}, },
{ {
.name = "parport_write_on_exit", .name = "write_on_exit",
.handler = parport_handle_write_on_exit_command, .handler = parport_handle_write_on_exit_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "Configure the parallel driver to write " .help = "Configure the parallel driver to write "
@ -501,7 +501,7 @@ static const struct command_registration parport_command_handlers[] = {
.usage = "('on'|'off')", .usage = "('on'|'off')",
}, },
{ {
.name = "parport_toggling_time", .name = "toggling_time",
.handler = parport_handle_parport_toggling_time_command, .handler = parport_handle_parport_toggling_time_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "Displays or assigns how many nanoseconds it " .help = "Displays or assigns how many nanoseconds it "
@ -511,6 +511,17 @@ static const struct command_registration parport_command_handlers[] = {
COMMAND_REGISTRATION_DONE COMMAND_REGISTRATION_DONE
}; };
static const struct command_registration parport_command_handlers[] = {
{
.name = "parport",
.mode = COMMAND_ANY,
.help = "perform parport management",
.chain = parport_subcommand_handlers,
.usage = "",
},
COMMAND_REGISTRATION_DONE
};
static struct jtag_interface parport_interface = { static struct jtag_interface parport_interface = {
.supported = DEBUG_CAP_TMS_SEQ, .supported = DEBUG_CAP_TMS_SEQ,
.execute_queue = bitbang_execute_queue, .execute_queue = bitbang_execute_queue,

View File

@ -261,4 +261,28 @@ proc ftdi_tdo_sample_edge args {
eval ftdi tdo_sample_edge $args eval ftdi tdo_sample_edge $args
} }
lappend _telnet_autocomplete_skip parport_port
proc parport_port args {
echo "DEPRECATED! use 'parport port' not 'parport_port'"
eval parport port $args
}
lappend _telnet_autocomplete_skip parport_cable
proc parport_cable args {
echo "DEPRECATED! use 'parport cable' not 'parport_cable'"
eval parport cable $args
}
lappend _telnet_autocomplete_skip parport_write_on_exit
proc parport_write_on_exit args {
echo "DEPRECATED! use 'parport write_on_exit' not 'parport_write_on_exit'"
eval parport write_on_exit $args
}
lappend _telnet_autocomplete_skip parport_toggling_time
proc parport_toggling_time args {
echo "DEPRECATED! use 'parport toggling_time' not 'parport_toggling_time'"
eval parport toggling_time $args
}
# END MIGRATION AIDS # END MIGRATION AIDS