typedef struct cable_s
{
char* name;
- u8 TDO_MASK; /* status port bit containing current TDO value */
- u8 TRST_MASK; /* data port bit for TRST */
- u8 TMS_MASK; /* data port bit for TMS */
- u8 TCK_MASK; /* data port bit for TCK */
- u8 TDI_MASK; /* data port bit for TDI */
- u8 SRST_MASK; /* data port bit for SRST */
- u8 OUTPUT_INVERT; /* data port bits that should be inverted */
- u8 INPUT_INVERT; /* status port that should be inverted */
- u8 PORT_INIT; /* initialize data port with this value */
- u8 PORT_EXIT; /* de-initialize data port with this value */
- u8 LED_MASK; /* data port bit for LED */
+ uint8_t TDO_MASK; /* status port bit containing current TDO value */
+ uint8_t TRST_MASK; /* data port bit for TRST */
+ uint8_t TMS_MASK; /* data port bit for TMS */
+ uint8_t TCK_MASK; /* data port bit for TCK */
+ uint8_t TDI_MASK; /* data port bit for TDI */
+ uint8_t SRST_MASK; /* data port bit for SRST */
+ uint8_t OUTPUT_INVERT; /* data port bits that should be inverted */
+ uint8_t INPUT_INVERT; /* status port that should be inverted */
+ uint8_t PORT_INIT; /* initialize data port with this value */
+ uint8_t PORT_EXIT; /* de-initialize data port with this value */
+ uint8_t LED_MASK; /* data port bit for LED */
} cable_t;
static cable_t cables[] =
/* configuration */
static char* parport_cable = NULL;
-static u16 parport_port;
+static uint16_t parport_port;
static int parport_exit = 0;
/* interface variables
*/
static cable_t* cable;
-static u8 dataport_value = 0x0;
+static uint8_t dataport_value = 0x0;
#if PARPORT_USE_PPDEV == 1
static int device_handle;
static __inline__ void parport_write_data(void)
{
- u8 output;
+ uint8_t output;
output = dataport_value ^ cable->OUTPUT_INVERT;
#if PARPORT_USE_PPDEV == 1
static void parport_write(int tck, int tms, int tdi)
{
- int i = jtag_speed + 1;
+ int i = jtag_get_speed() + 1;
if (tck)
dataport_value |= cable->TCK_MASK;
OSVERSIONINFO version;
version.dwOSVersionInfoSize = sizeof version;
- if (!GetVersionEx( &version )) {
+ if (!GetVersionEx(&version )) {
errno = EINVAL;
return -1;
}
if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
return 0;
- h = CreateFile( "\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
+ h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
if (h == INVALID_HANDLE_VALUE) {
errno = ENODEV;
return -1;
}
- CloseHandle( h );
+ CloseHandle(h );
return 0;
}
LOG_DEBUG("...open");
#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
- i=ioctl(device_handle, PPCLAIM);
- if (i<0)
+ i = ioctl(device_handle, PPCLAIM);
+ if (i < 0)
{
LOG_ERROR("cannot claim device");
return ERROR_JTAG_INIT_FAILED;
i = PARPORT_MODE_COMPAT;
i= ioctl(device_handle, PPSETMODE, & i);
- if (i<0)
+ if (i < 0)
{
LOG_ERROR(" cannot set compatible mode to device");
return ERROR_JTAG_INIT_FAILED;
i = IEEE1284_MODE_COMPAT;
i = ioctl(device_handle, PPNEGOT, & i);
- if (i<0)
+ if (i < 0)
{
LOG_ERROR("cannot set compatible 1284 mode to device");
return ERROR_JTAG_INIT_FAILED;
static int parport_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
- if (argc == 0)
- return ERROR_OK;
+ if (argc == 1)
+ {
+ /* only if the port wasn't overwritten by cmdline */
+ if (parport_port == 0)
+ {
+ int retval = parse_u16(args[0], &parport_port);
+ if (ERROR_OK != retval)
+ return retval;
+ }
+ else
+ {
+ LOG_ERROR("The parport port was already configured!");
+ return ERROR_FAIL;
+ }
+ }
- /* only if the port wasn't overwritten by cmdline */
- if (parport_port == 0)
- parport_port = strtoul(args[0], NULL, 0);
+ command_print(cmd_ctx, "parport port = %u", parport_port);
return ERROR_OK;
}
{
if (argc != 1)
{
- command_print(cmd_ctx, "usage: parport_write_on_exit <on|off>");
+ command_print(cmd_ctx, "usage: parport_write_on_exit <on | off>");
return ERROR_OK;
}