aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.Windows15
-rw-r--r--configure.ac29
-rw-r--r--src/jtag/drivers/ft2232.c5
3 files changed, 45 insertions, 4 deletions
diff --git a/README.Windows b/README.Windows
index 61a712ab..9cdd55c5 100644
--- a/README.Windows
+++ b/README.Windows
@@ -32,3 +32,18 @@ WinUSB to a device is to use the latest Zadig installer:
For the old drivers that use libusb-0.1 API you might need to link
against libusb-win32 headers and install the corresponding driver with
Zadig.
+
+If you need to use the same adapter with other applications that may
+require another driver, a solution for Windows Vista and above is to
+activate the IgnoreHWSerNum registry setting for the USB device.
+
+That setting forces Windows to associate the driver per port instead of
+per serial number, the same behaviour as when the device does not contain
+a serial number. So different drivers can be installed for the adapter on
+different ports and you just need to plug the adapter into the correct
+port depending on which application to use.
+
+For more information, see:
+
+ http://msdn.microsoft.com/en-us/library/windows/hardware/jj649944(v=vs.85).aspx
+ http://www.ftdichip.com/Support/Knowledgebase/index.html?ignorehardwareserialnumber.htm
diff --git a/configure.ac b/configure.ac
index 73f7bef6..c8eeea92 100644
--- a/configure.ac
+++ b/configure.ac
@@ -387,12 +387,24 @@ AC_ARG_ENABLE([parport_giveio],
[Enable use of giveio for parport (for CygWin only)]),
[parport_use_giveio=$enableval], [parport_use_giveio=])
-AC_ARG_ENABLE([ft2232_libftdi],
- AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX]),
+AC_ARG_ENABLE([ft2232_libftdi], [], [
+if test $enableval = yes; then
+ AC_MSG_ERROR([The ft2232 driver is deprecated, use --enable-ftdi to build its replacement, or force the old driver with --enable-legacy-ft2232_libftdi])
+fi
+])
+
+AC_ARG_ENABLE([ft2232_ftd2xx], [], [
+if test $enableval = yes; then
+ AC_MSG_ERROR([The ft2232 driver is deprecated, use --enable-ftdi to build its replacement, or force the old driver with --enable-legacy-ft2232_ftd2xx])
+fi
+])
+
+AC_ARG_ENABLE([legacy-ft2232_libftdi],
+ AS_HELP_STRING([--enable-legacy-ft2232_libftdi], [(DEPRECATED) Enable building support for FT2232 based devices using the libftdi library]),
[build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
-AC_ARG_ENABLE([ft2232_ftd2xx],
- AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com]),
+AC_ARG_ENABLE([legacy-ft2232_ftd2xx],
+ AS_HELP_STRING([--enable-legacy-ft2232_ftd2xx], [(DEPRECATED) Enable building support for FT2232 based devices using the D2XX library from ftdichip.com]),
[build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
AC_ARG_ENABLE([jtag_vpi],
@@ -1320,3 +1332,12 @@ m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS, HIDAPI_ADAPTE
esac
])
echo
+
+if test $build_ft2232_libftdi = yes -o $build_ft2232_ftd2xx = yes; then
+ if test $enable_ftdi = no; then
+ AC_MSG_WARN([Building the deprecated 'ft2232' adapter driver but not its replacement!])
+ AC_MSG_WARN([Please consider using --enable-ftdi instead.])
+ else
+ AC_MSG_WARN([Building the deprecated 'ft2232' adapter driver.])
+ fi
+fi
diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c
index c4a74ef7..19f4dcb5 100644
--- a/src/jtag/drivers/ft2232.c
+++ b/src/jtag/drivers/ft2232.c
@@ -2341,6 +2341,11 @@ static int ft2232_init(void)
int retval;
uint32_t bytes_written;
+ LOG_WARNING("Using DEPRECATED interface driver 'ft2232'");
+#if BUILD_FTDI
+ LOG_INFO("Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...");
+#endif
+
if (tap_get_tms_path_len(TAP_IRPAUSE, TAP_IRPAUSE) == 7)
LOG_DEBUG("ft2232 interface using 7 step jtag state transitions");
else