diff options
author | marius <marius@FreeBSD.org> | 2012-06-18 19:18:31 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2012-06-18 19:18:31 +0000 |
commit | 4e23916ed0fddebb063c0ab5346c3a4638fdcc47 (patch) | |
tree | 7f2d958cb071f6bf22ee9de3a46ccdfbcda172a5 | |
parent | 059d6b2a7bdf612d868620f1499fb00aeec739bc (diff) | |
download | FreeBSD-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.c | 12 | ||||
-rw-r--r-- | sys/dev/usb/serial/uftdi_reg.h | 8 |
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 |