summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2012-06-18 19:18:31 +0000
committermarius <marius@FreeBSD.org>2012-06-18 19:18:31 +0000
commit4e23916ed0fddebb063c0ab5346c3a4638fdcc47 (patch)
tree7f2d958cb071f6bf22ee9de3a46ccdfbcda172a5
parent059d6b2a7bdf612d868620f1499fb00aeec739bc (diff)
downloadFreeBSD-src-4e23916ed0fddebb063c0ab5346c3a4638fdcc47.zip
FreeBSD-src-4e23916ed0fddebb063c0ab5346c3a4638fdcc47.tar.gz
Refine r237102 a bit:
- Anounce JTAG interfaces deliberately skipped. - Bring back empty lines too eagerly removed. MFC after: 3 days
-rw-r--r--sys/dev/usb/serial/uftdi.c12
-rw-r--r--sys/dev/usb/serial/uftdi_reg.h8
2 files changed, 16 insertions, 4 deletions
diff --git a/sys/dev/usb/serial/uftdi.c b/sys/dev/usb/serial/uftdi.c
index 7990ce6..5905aa1 100644
--- a/sys/dev/usb/serial/uftdi.c
+++ b/sys/dev/usb/serial/uftdi.c
@@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
*/
/*
- * FTDI FT8U100AX serial adapter driver
+ * FTDI FT2232x, FT8U100AX and FT8U232AM serial adapter driver
*/
#include <sys/stdint.h>
@@ -278,9 +278,15 @@ uftdi_probe(device_t dev)
*/
id = usbd_lookup_id_by_info(uftdi_devs, sizeof(uftdi_devs),
&uaa->info);
- if (id == NULL || ((id->driver_info & UFTDI_FLAG_JTAG) != 0 &&
- uaa->info.bIfaceIndex == UFTDI_IFACE_INDEX_JTAG))
+ if (id == NULL)
return (ENXIO);
+ if ((id->driver_info & UFTDI_FLAG_JTAG) != 0 &&
+ uaa->info.bIfaceIndex == UFTDI_IFACE_INDEX_JTAG) {
+ printf("%s: skipping JTAG interface at %u.%u\n",
+ device_get_name(dev), usbd_get_bus_index(uaa->device),
+ usbd_get_device_index(uaa->device));
+ return (ENXIO);
+ }
uaa->driver_info = id->driver_info;
return (BUS_PROBE_SPECIFIC);
}
diff --git a/sys/dev/usb/serial/uftdi_reg.h b/sys/dev/usb/serial/uftdi_reg.h
index 76234ee..2398d45 100644
--- a/sys/dev/usb/serial/uftdi_reg.h
+++ b/sys/dev/usb/serial/uftdi_reg.h
@@ -70,6 +70,7 @@
#define FTDI_SIO_RESET_SIO 0
#define FTDI_SIO_RESET_PURGE_RX 1
#define FTDI_SIO_RESET_PURGE_TX 2
+
/*
* BmRequestType: 0100 0000B
* bRequest: FTDI_SIO_SET_BAUDRATE
@@ -133,6 +134,7 @@ enum {
#define FTDI_SIO_SET_DATA_STOP_BITS_15 (0x1 << 11)
#define FTDI_SIO_SET_DATA_STOP_BITS_2 (0x2 << 11)
#define FTDI_SIO_SET_BREAK (0x1 << 14)
+
/*
* BmRequestType: 0100 0000B
* bRequest: FTDI_SIO_MODEM_CTRL
@@ -168,6 +170,7 @@ enum {
#define FTDI_SIO_SET_RTS_MASK 0x2
#define FTDI_SIO_SET_RTS_HIGH (2 | ( FTDI_SIO_SET_RTS_MASK << 8))
#define FTDI_SIO_SET_RTS_LOW (0 | ( FTDI_SIO_SET_RTS_MASK << 8))
+
/*
* BmRequestType: 0100 0000b
* bRequest: FTDI_SIO_SET_FLOW_CTRL
@@ -197,6 +200,7 @@ enum {
#define FTDI_SIO_RTS_CTS_HS 0x1
#define FTDI_SIO_DTR_DSR_HS 0x2
#define FTDI_SIO_XON_XOFF_HS 0x4
+
/*
* BmRequestType: 0100 0000b
* bRequest: FTDI_SIO_SET_EVENT_CHAR
@@ -219,6 +223,7 @@ enum {
* data read so far - rather than wait 40ms or until 62 bytes are read
* which is what normally happens.
*/
+
/*
* BmRequestType: 0100 0000b
* bRequest: FTDI_SIO_SET_ERROR_CHAR
@@ -237,6 +242,7 @@ enum {
* Set the parity error replacement character for the specified communications
* port.
*/
+
/*
* BmRequestType: 1100 0000b
* bRequest: FTDI_SIO_GET_MODEM_STATUS
@@ -267,8 +273,8 @@ enum {
#define FTDI_SIO_DSR_MASK 0x20
#define FTDI_SIO_RI_MASK 0x40
#define FTDI_SIO_RLSD_MASK 0x80
+
/*
- *
* DATA FORMAT
*
* IN Endpoint
OpenPOWER on IntegriCloud