else
{
*bytes_written = dw_bytes_written;
- return ERROR_OK;
}
#elif BUILD_FT2232_LIBFTDI == 1
int retval;
else
{
*bytes_written = retval;
- return ERROR_OK;
}
#endif
+
+ if (*bytes_written != (uint32_t)size)
+ {
+ return ERROR_JTAG_DEVICE_ERROR;
+ }
+
+ return ERROR_OK;
}
static int ft2232_read(uint8_t* buf, uint32_t size, uint32_t* bytes_read)
LOG_DEBUG("%2.2x", buf);
uint32_t bytes_written;
- int retval = ft2232_write(&buf, 1, &bytes_written);
- if ((ERROR_OK != retval) || (bytes_written != 1))
+ int retval;
+
+ if ((retval = ft2232_write(&buf, sizeof(buf), &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't write command to %s adaptive clocking"
, enable ? "enable" : "disable");
{
uint32_t bytes_written;
uint8_t buf = enable ? 0x8b : 0x8a;
- int retval = ft2232_write(&buf, 1, &bytes_written);
- if ((ERROR_OK != retval) || (bytes_written != 1))
+
+ if (ft2232_write(&buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't write command to %s clk divide by 5"
, enable ? "enable" : "disable");
buf[2] = (speed >> 8) & 0xff; /* valueH */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((retval = ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if ((retval = ft2232_write(buf, sizeof(buf), &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't set FT2232 TCK speed");
return retval;
for (i = 0; i < ft2232_buffer_size; i++)
{
- line_p += snprintf(line_p, 256 - (line_p - line), "%2.2x ", ft2232_buffer[i]);
+ line_p += snprintf(line_p, sizeof(line) - (line_p - line), "%2.2x ", ft2232_buffer[i]);
if (i % 16 == 15)
{
LOG_DEBUG("%s", line);
ft2232_speed(jtag_get_speed());
buf[0] = 0x85; /* Disconnect TDI/DO to TDO/DI for Loopback */
- if (((retval = ft2232_write(buf, 1, &bytes_written)) != ERROR_OK) || (bytes_written != 1))
+ if ((retval = ft2232_write(buf, 1, &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't write to FT2232 to disable loopback");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 DBUS");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'Dicarlo' layout");
return ERROR_JTAG_INIT_FAILED;
buf[1] = low_output;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK)
- || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'redbee' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK)
- || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'redbee' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'Olimex' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if ((ft2232_write(buf, 3, &bytes_written) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'Olimex' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE[12]=out, n[ST]srst = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'flyswatter' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'flyswatter' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'turtelizer2' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'turtelizer2' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'comstick' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'comstick' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'sheevaplug' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction; /* all outputs - xRST */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'sheevaplug' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'cortino' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'stm32stick' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) {
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK) {
LOG_ERROR("couldn't initialize FT2232 with 'IceBear' layout (low)");
return ERROR_JTAG_INIT_FAILED;
}
buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) {
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK) {
LOG_ERROR("couldn't initialize FT2232 with 'IceBear' layout (high)");
return ERROR_JTAG_INIT_FAILED;
}
buf[1] = low_output;
buf[2] = low_direction;
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK)
- || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize Signalyzer-H layout");
return ERROR_JTAG_INIT_FAILED;
buf[1] = high_output;
buf[2] = high_direction;
- if ((ft2232_write(buf, 3, &bytes_written) != ERROR_OK)
- || (bytes_written != 3))
+ if ((retval = ft2232_write(buf, sizeof(buf), &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't initialize Signalyzer-H layout");
return ERROR_JTAG_INIT_FAILED;
buf[1] = high_output;
buf[2] = high_direction;
- if ((ft2232_write(buf, 3, &bytes_written) != ERROR_OK)
- || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize Signalyzer-H layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = low_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'ktlink' layout");
return ERROR_JTAG_INIT_FAILED;
buf[2] = high_direction;
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
- if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
+ if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'ktlink' layout");
return ERROR_JTAG_INIT_FAILED;