aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/ft2232.c
diff options
context:
space:
mode:
authorSpencer Oliver <ntfreak@users.sourceforge.net>2011-08-10 22:23:29 +0100
committerSpencer Oliver <ntfreak@users.sourceforge.net>2011-08-11 21:36:54 +0100
commit85cf298667fbb64ebffed4a1db57223535a888c9 (patch)
tree958f1bc2f08b48ebb20d3bfc649a990488e71f14 /src/jtag/drivers/ft2232.c
parent738b91ddb430a0b42ab8eb3ae6ba725110231713 (diff)
ftd2xx: fix build warnings
Due to build warnings introduced in newer versions of ftd2xx we use strings to report errors rather than result codes. This also gives us the same behaviour as libftdi. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
Diffstat (limited to 'src/jtag/drivers/ft2232.c')
-rw-r--r--src/jtag/drivers/ft2232.c150
1 files changed, 86 insertions, 64 deletions
diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c
index 3168f990..3cca26d9 100644
--- a/src/jtag/drivers/ft2232.c
+++ b/src/jtag/drivers/ft2232.c
@@ -99,6 +99,7 @@
/* FT2232 access library includes */
#if BUILD_FT2232_FTD2XX == 1
#include <ftd2xx.h>
+#include "ftd2xx_common.h"
enum ftdi_interface
{
@@ -515,7 +516,7 @@ static int ft2232_write(uint8_t* buf, int size, uint32_t* bytes_written)
if ((status = FT_Write(ftdih, buf, size, &dw_bytes_written)) != FT_OK)
{
*bytes_written = dw_bytes_written;
- LOG_ERROR("FT_Write returned: %" PRIu32, status);
+ LOG_ERROR("FT_Write returned: %s", ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
else
@@ -558,7 +559,7 @@ static int ft2232_read(uint8_t* buf, uint32_t size, uint32_t* bytes_read)
*bytes_read, &dw_bytes_read)) != FT_OK)
{
*bytes_read = 0;
- LOG_ERROR("FT_Read returned: %" PRIu32, status);
+ LOG_ERROR("FT_Read returned: %s", ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
*bytes_read += dw_bytes_read;
@@ -2215,11 +2216,13 @@ static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_mor
if (more)
{
- LOG_WARNING("unable to open ftdi device (trying more): %" PRIu32, status);
+ LOG_WARNING("unable to open ftdi device (trying more): %s",
+ ftd2xx_status_string(status));
*try_more = 1;
return ERROR_JTAG_INIT_FAILED;
}
- LOG_ERROR("unable to open ftdi device: %" PRIu32, status);
+ LOG_ERROR("unable to open ftdi device: %s",
+ ftd2xx_status_string(status));
status = FT_ListDevices(&num_devices, NULL, FT_LIST_NUMBER_ONLY);
if (status == FT_OK)
{
@@ -2235,7 +2238,7 @@ static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_mor
if (status == FT_OK)
{
- LOG_ERROR("ListDevices: %" PRIu32, num_devices);
+ LOG_ERROR("ListDevices: %" PRIu32, (uint32_t)num_devices);
for (i = 0; i < num_devices; i++)
LOG_ERROR("%" PRIu32 ": \"%s\"", i, desc_array[i]);
}
@@ -2254,7 +2257,8 @@ static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_mor
if ((status = FT_SetLatencyTimer(ftdih, ft2232_latency)) != FT_OK)
{
- LOG_ERROR("unable to set latency timer: %" PRIu32, status);
+ LOG_ERROR("unable to set latency timer: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
@@ -2263,10 +2267,11 @@ static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_mor
/* ftd2xx 1.04 (linux) has a bug when calling FT_GetLatencyTimer
* so ignore errors if using this driver version */
DWORD dw_version;
-
+
status = FT_GetDriverVersion(ftdih, &dw_version);
- LOG_ERROR("unable to get latency timer: %" PRIu32, status);
-
+ LOG_ERROR("unable to get latency timer: %s",
+ ftd2xx_status_string(status));
+
if ((status == FT_OK) && (dw_version == 0x10004)) {
LOG_ERROR("ftd2xx 1.04 detected - this has known issues " \
"with FT_GetLatencyTimer, upgrade to a newer version");
@@ -2282,19 +2287,22 @@ static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_mor
if ((status = FT_SetTimeouts(ftdih, 5000, 5000)) != FT_OK)
{
- LOG_ERROR("unable to set timeouts: %" PRIu32, status);
+ LOG_ERROR("unable to set timeouts: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
if ((status = FT_SetBitMode(ftdih, 0x0b, 2)) != FT_OK)
{
- LOG_ERROR("unable to enable bit i/o mode: %" PRIu32, status);
+ LOG_ERROR("unable to enable bit i/o mode: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
if ((status = FT_GetDeviceInfo(ftdih, &ftdi_device, &deviceID, SerialNumber, Description, NULL)) != FT_OK)
{
- LOG_ERROR("unable to get FT_GetDeviceInfo: %" PRIu32, status);
+ LOG_ERROR("unable to get FT_GetDeviceInfo: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
else
@@ -2304,8 +2312,8 @@ static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_mor
unsigned no_of_known_types = ARRAY_SIZE(type_str) - 1;
unsigned type_index = ((unsigned)ftdi_device <= no_of_known_types)
? ftdi_device : FT_DEVICE_UNKNOWN;
- LOG_INFO("device: %" PRIu32 " \"%s\"", ftdi_device, type_str[type_index]);
- LOG_INFO("deviceID: %" PRIu32, deviceID);
+ LOG_INFO("device: %" PRIu32 " \"%s\"", (uint32_t)ftdi_device, type_str[type_index]);
+ LOG_INFO("deviceID: %" PRIu32, (uint32_t)deviceID);
LOG_INFO("SerialNumber: %s", SerialNumber);
LOG_INFO("Description: %s", Description);
}
@@ -2319,7 +2327,8 @@ static int ft2232_purge_ftd2xx(void)
if ((status = FT_Purge(ftdih, FT_PURGE_RX | FT_PURGE_TX)) != FT_OK)
{
- LOG_ERROR("error purging ftd2xx device: %" PRIu32, status);
+ LOG_ERROR("error purging ftd2xx device: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
@@ -3640,7 +3649,8 @@ static int signalyzer_h_led_set(unsigned char channel, unsigned char led,
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR,
((uint32_t)(channel << 8) | led))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3648,7 +3658,8 @@ static int signalyzer_h_led_set(unsigned char channel, unsigned char led,
(SIGNALYZER_DATA_BUFFER_ADDR + 1),
((uint32_t)(on_time << 8) | off_time))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3656,14 +3667,16 @@ static int signalyzer_h_led_set(unsigned char channel, unsigned char led,
(SIGNALYZER_DATA_BUFFER_ADDR + 2),
((uint32_t)cycles))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_LED_SET)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3752,7 +3765,8 @@ static int signalyzer_h_init(void)
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_VERSION)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3762,8 +3776,8 @@ static int signalyzer_h_init(void)
(SIGNALYZER_DATA_BUFFER_ADDR + i),
&read_buf[i])) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_read returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_read returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
}
@@ -3776,21 +3790,24 @@ static int signalyzer_h_init(void)
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR + 1,
0x0404)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_STATE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3798,28 +3815,32 @@ static int signalyzer_h_init(void)
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR,
((uint32_t)(signalyzer_h_side << 8) | 0x01))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(
(SIGNALYZER_DATA_BUFFER_ADDR + 1), 0xA000)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(
(SIGNALYZER_DATA_BUFFER_ADDR + 2), 0x0008)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_I2C)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3828,7 +3849,8 @@ static int signalyzer_h_init(void)
if ((status = signalyzer_h_ctrl_read(SIGNALYZER_COMMAND_ADDR,
&read_buf[0])) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_read returned: %" PRIu32, status);
+ LOG_ERROR("signalyzer_h_ctrl_read returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3842,8 +3864,8 @@ static int signalyzer_h_init(void)
(SIGNALYZER_DATA_BUFFER_ADDR + i),
&read_buf[i])) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_read returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_read returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
}
@@ -3907,16 +3929,16 @@ static int signalyzer_h_init(void)
((uint32_t)(signalyzer_h_side << 8) | 0x01)))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_POWERCONTROL_SET)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3925,8 +3947,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3934,16 +3956,16 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x0000))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_MODE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3952,8 +3974,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3961,8 +3983,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x4040))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -3970,8 +3992,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_STATE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
#endif
@@ -4042,8 +4064,8 @@ static int signalyzer_h_init(void)
((uint32_t)(signalyzer_h_side << 8) | 0x01)))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4051,8 +4073,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_POWERCONTROL_SET)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4063,8 +4085,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4072,8 +4094,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x0060))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4081,8 +4103,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_MODE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4093,8 +4115,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4102,8 +4124,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x0000))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
@@ -4111,8 +4133,8 @@ static int signalyzer_h_init(void)
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_STATE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %" PRIu32,
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
#endif