From 1471f525455788c20b130690e0f104df451aeb43 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Mon, 13 Mar 2000 20:55:15 +0000 Subject: Merge with Linux 2.3.51. --- drivers/usb/ftdi_sio.h | 380 ------------------------------------------------- 1 file changed, 380 deletions(-) delete mode 100644 drivers/usb/ftdi_sio.h (limited to 'drivers/usb/ftdi_sio.h') diff --git a/drivers/usb/ftdi_sio.h b/drivers/usb/ftdi_sio.h deleted file mode 100644 index 36fa7bb3e..000000000 --- a/drivers/usb/ftdi_sio.h +++ /dev/null @@ -1,380 +0,0 @@ -/* Bill Ryder - bryder@sgi.com - wrote the FTDI_SIO implementation */ -/* The device is based on the FTDI FT8U100AX chip, DB25 on one side, USB on the other */ -/* Thanx to FTDI for so kindly providing details of the protocol required */ -/* http://www.ftdi.co.uk */ - -/* The implementation of the device I have is called a USC-1000 */ -/* which is available from http://www.dse.co.nz - cat no XH4214 */ -/* It looks similar to this: http://www.dansdata.com/usbser.htm but I can't be sure */ -/* There are other USC-1000s which don't look like my device though so beware */ - -/* Definitions for the FTDI USB Single Port Serial Converter */ -/* known as FTDI_SIO (Serial Input/Output application of the chipset) */ - -#define FTDI_VID 0x0403 /* Vendor Id */ -#define FTDI_SIO_PID 0x8372 /* Product Id */ - -/* Vendor Request Interface */ -#define FTDI_SIO_RESET 0 /* Reset the port */ -#define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ -#define FTDI_SIO_SET_FLOW_CTRL 2 /* Set flow control register */ -#define FTDI_SIO_SET_BAUD_RATE 3 /* Set baud rate */ -#define FTDI_SIO_SET_DATA 4 /* Set the data characteristics of the port */ -#define FTDI_SIO_GET_MODEM_STATUS 5 /* Retrieve current value of modern status register */ -#define FTDI_SIO_SET_EVENT_CHAR 6 /* Set the event character */ -#define FTDI_SIO_SET_ERROR_CHAR 7 /* Set the error character */ - -/* Port Identifier Table */ -#define PIT_DEFAULT 0 /* SIOA */ -#define PIT_SIOA 1 /* SIOA */ -/* The device this is tested with one has one port */ -#define PIT_SIOB 2 /* SIOB */ -#define PIT_PARALLEL 3 /* Parallel */ - -/* FTDI_SIO_RESET */ -#define FTDI_SIO_RESET_REQUEST FTDI_SIO_RESET -#define FTDI_SIO_RESET_REQUEST_TYPE 0x40 -#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_RESET - wValue: Control Value - 0 = Reset SIO - 1 = Purge RX buffer - 2 = Purge TX buffer - wIndex: Port - wLength: 0 - Data: None - - */ - -/* FTDI_SIO_SET_BAUDRATE */ -#define FTDI_SIO_SET_BAUDRATE_REQUEST_TYPE 0x40 -#define FTDI_SIO_SET_BAUDRATE_REQUEST 3 - -/* - BmRequestType: 0100 0000B - bRequest: FTDI_SIO_SET_BAUDRATE - wValue: BaudRate value - see below - wIndex: Port - wLength: 0 - Data: None -*/ - -typedef enum { - ftdi_sio_b300 = 0, - ftdi_sio_b600 = 1, - ftdi_sio_b1200 = 2, - ftdi_sio_b2400 = 3, - ftdi_sio_b4800 = 4, - ftdi_sio_b9600 = 5, - ftdi_sio_b19200 = 6, - ftdi_sio_b38400 = 7, - ftdi_sio_b57600 = 8, - ftdi_sio_b115200 = 9 -} FTDI_SIO_baudrate_t ; - -#define FTDI_SIO_SET_DATA_REQUEST FTDI_SIO_SET_DATA -#define FTDI_SIO_SET_DATA_REQUEST_TYPE 0x40 -#define FTDI_SIO_SET_DATA_PARITY_NONE (0x0 << 8 ) -#define FTDI_SIO_SET_DATA_PARITY_ODD (0x1 << 8 ) -#define FTDI_SIO_SET_DATA_PARITY_EVEN (0x2 << 8 ) -#define FTDI_SIO_SET_DATA_PARITY_MARK (0x3 << 8 ) -#define FTDI_SIO_SET_DATA_PARITY_SPACE (0x4 << 8 ) -#define FTDI_SIO_SET_DATA_STOP_BITS_1 (0x0 << 11 ) -#define FTDI_SIO_SET_DATA_STOP_BITS_15 (0x1 << 11 ) -#define FTDI_SIO_SET_DATA_STOP_BITS_2 (0x2 << 11 ) - -/* FTDI_SIO_SET_DATA */ - -/* BmRequestType: 0100 0000B */ -/* bRequest: FTDI_SIO_SET_DATA */ -/* wValue: Data characteristics (see below) */ -/* wIndex: Port */ -/* wLength: 0 */ -/* Data: None */ -/* - Data characteristics - -B0..7 Number of data bits -B8..10 Parity - 0 = None - 1 = Odd - 2 = Even - 3 = Mark - 4 = Space - B11..13 Stop Bits - 0 = 1 - 1 = 1.5 - 2 = 2 - B14..15 Reserved -*/ - - - -/* FTDI_SIO_MODEM_CTRL */ -#define FTDI_SIO_SET_MODEM_CTRL_REQUEST_TYPE 0x40 -#define FTDI_SIO_SET_MODEM_CTRL_REQUEST FTDI_SIO_MODEM_CTRL - -/* - BmRequestType: 0100 0000B - bRequest: FTDI_SIO_MODEM_CTRL - wValue: ControlValue (see below) - wIndex: Port - wLength: 0 - Data: None - - NOTE: If the device is in RTS/CTS flow control, the RTS set by this - command will be IGNORED without an error being returned -*/ - -#define FTDI_SIO_SET_DTR_MASK 0x1 -#define FTDI_SIO_SET_DTR_HIGH ( 1 | ( FTDI_SIO_SET_DTR_MASK << 8)) -#define FTDI_SIO_SET_DTR_LOW ( 0 | ( FTDI_SIO_SET_DTR_MASK << 8)) -#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 )) - -/* ControlValue - B0 DTR state - 0 = reset - 1 = set - B1 RTS state - 0 = reset - 1 = set - B2..7 Reserved - B8 DTR state enable - 0 = ignore - 1 = use DTR state - B9 RTS state enable - 0 = ignore - 1 = use RTS state - B10..15 Reserved -*/ - -/* FTDI_SIO_SET_FLOW_CTRL */ -#define FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE 0x40 -#define FTDI_SIO_SET_FLOW_CTRL_REQUEST FTDI_SIO_SET_FLOW_CTRL -#define FTDI_SIO_DISABLE_FLOW_CTRL 0x0 -#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_FLOW_CTRL - wValue: Xoff/Xon - wIndex: Protocol/Port - hIndex is protocl / lIndex is port - wLength: 0 - Data: None - -hIndex - protocol has - B0 Output handshaking using RTS/CTS - 0 = disabled - 1 = enabled - B1 Output handshaking using DTR/DSR - 0 = disabled - 1 = enabled - B2 Xon/Xoff handshaking - 0 = disabled - 1 = enabled - -A value of zero in the hIndex field selects no handshaking - -If Xon/Xoff handshaking is specified, the hValue field contains the Xoff character -and the lValue field contains the Xon character. - -*/ - -/* FTDI_SIO_SET_EVENT_CHAR */ -/* Set the special event character for the specified communications port */ -/* If the device sees this character it will immediately return the */ -/* data read so far - rather than wait 40ms or until 62 bytes is read */ -#define FTDI_SIO_SET_EVENT_CHAR_REQUEST FTDI_SIO_SET_EVENT_CHAR -#define FTDI_SIO_SET_EVENT_CHAR_REQUEST_TYPE 0x40 - - -/* - BmRequestType: 0100 0000b - bRequest: FTDI_SIO_SET_EVENT_CHAR - wValue: EventChar - wIndex: Port - wLength: 0 - Data: None - -wValue: - B0..7 Event Character - B8 Event Character Processing - 0 = disabled - 1 = enabled - B9..15 Reserved - -*/ - -/* FTDI_SIO_SET_ERROR_CHAR */ -/* Set the parity error replacement character for the specified communications port */ - -/* - BmRequestType: 0100 0000b - bRequest: FTDI_SIO_SET_EVENT_CHAR - wValue: Error Char - wIndex: Port - wLength: 0 - Data: None - -Error Char - B0..7 Error Character - B8 Error Character Processing - 0 = disabled - 1 = enabled - B9..15 Reserved - -*/ - -/* FTDI_SIO_GET_MODEM_STATUS */ -/* Retreive the current value of the modem status register */ - -#define FTDI_SIO_GET_MODEM_STATUS_REQUEST_TYPE 0xc0 -#define FTDI_SIO_GET_MODEM_STATUS_REQUEST FTDI_SIO_GET_MODEM_STATUS -#define FTDI_SIO_CTS_MASK 0x10 -#define FTDI_SIO_DSR_MASK 0x20 -#define FTDI_SIO_RI_MASK 0x40 -#define FTDI_SIO_RLSD_MASK 0x80 -/* - BmRequestType: 1100 0000b - bRequest: FTDI_SIO_GET_MODEM_STATUS - wValue: zero - wIndex: Port - wLength: 1 - Data: Status - -One byte of data is returned -B0..3 0 -B4 CTS - 0 = inactive - 1 = active -B5 DSR - 0 = inactive - 1 = active -B6 Ring Indicator (RI) - 0 = inactive - 1 = active -B7 Receive Line Signal Detect (RLSD) - 0 = inactive - 1 = active -*/ - - - -/* Descriptors returned by the device - - Device Descriptor - -Offset Field Size Value Description -0 bLength 1 0x12 Size of descriptor in bytes -1 bDescriptorType 1 0x01 DEVICE Descriptor Type -2 bcdUSB 2 0x0110 USB Spec Release Number -4 bDeviceClass 1 0x00 Class Code -5 bDeviceSubClass 1 0x00 SubClass Code -6 bDeviceProtocol 1 0x00 Protocol Code -7 bMaxPacketSize0 1 0x08 Maximum packet size for endpoint 0 -8 idVendor 2 0x0403 Vendor ID -10 idProduct 2 0x8372 Product ID (FTDI_SIO_PID) -12 bcdDevice 2 0x0001 Device release number -14 iManufacturer 1 0x01 Index of man. string desc -15 iProduct 1 0x02 Index of prod string desc -16 iSerialNumber 1 0x02 Index of serial nmr string desc -17 bNumConfigurations 1 0x01 Number of possible configurations - -Configuration Descriptor - -Offset Field Size Value -0 bLength 1 0x09 Size of descriptor in bytes -1 bDescriptorType 1 0x02 CONFIGURATION Descriptor Type -2 wTotalLength 2 0x0020 Total length of data -4 bNumInterfaces 1 0x01 Number of interfaces supported -5 bConfigurationValue 1 0x01 Argument for SetCOnfiguration() req -6 iConfiguration 1 0x02 Index of config string descriptor -7 bmAttributes 1 0x20 Config characteristics Remote Wakeup -8 MaxPower 1 0x1E Max power consumption - -Interface Descriptor - -Offset Field Size Value -0 bLength 1 0x09 Size of descriptor in bytes -1 bDescriptorType 1 0x04 INTERFACE Descriptor Type -2 bInterfaceNumber 1 0x00 Number of interface -3 bAlternateSetting 1 0x00 Value used to select alternate -4 bNumEndpoints 1 0x02 Number of endpoints -5 bInterfaceClass 1 0xFF Class Code -6 bInterfaceSubClass 1 0xFF Subclass Code -7 bInterfaceProtocol 1 0xFF Protocol Code -8 iInterface 1 0x02 Index of interface string description - -IN Endpoint Descriptor - -Offset Field Size Value -0 bLength 1 0x07 Size of descriptor in bytes -1 bDescriptorType 1 0x05 ENDPOINT descriptor type -2 bEndpointAddress 1 0x82 Address of endpoint -3 bmAttributes 1 0x02 Endpoint attributes - Bulk -4 bNumEndpoints 2 0x0040 maximum packet size -5 bInterval 1 0x00 Interval for polling endpoint - -OUT Endpoint Descriptor - -Offset Field Size Value -0 bLength 1 0x07 Size of descriptor in bytes -1 bDescriptorType 1 0x05 ENDPOINT descriptor type -2 bEndpointAddress 1 0x02 Address of endpoint -3 bmAttributes 1 0x02 Endpoint attributes - Bulk -4 bNumEndpoints 2 0x0040 maximum packet size -5 bInterval 1 0x00 Interval for polling endpoint - -DATA FORMAT - -IN Endpoint - -The device reserves the first two bytes of data on this endpoint to contain the current -values of the modem and line status registers. In the absence of data, the device -generates a message consisting of these two status bytes every 40 ms - -Byte 0: Modem Status - -Offset Description -B0 Reserved - must be 1 -B1 Reserved - must be 0 -B2 Reserved - must be 0 -B3 Reserved - must be 0 -B4 Clear to Send (CTS) -B5 Data Set Ready (DSR) -B6 Ring Indicator (RI) -B7 Receive Line Signal Detect (RLSD) - -Byte 1: Line Status - -Offset Description -B0 Data Ready (DR) -B1 Overrun Error (OE) -B2 Parity Error (PE) -B3 Framing Error (FE) -B4 Break Interrupt (BI) -B5 Transmitter Holding Register (THRE) -B6 Transmitter Empty (TEMT) -B7 Error in RCVR FIFO - -OUT Endpoint - -This device reserves the first bytes of data on this endpoint contain the length -and port identifier of the message. For the FTDI USB Serial converter the port -identifier is always 1. - -Byte 0: Line Status - -Offset Description -B0 Reserved - must be 1 -B1 Reserved - must be 0 -B2..7 Length of message - (not including Byte 0) - -*/ -- cgit v1.2.3