USB: ch341: forward USB errors to USB serial core
[pandora-kernel.git] / drivers / usb / serial / cypress_m8.h
1 #ifndef CYPRESS_M8_H
2 #define CYPRESS_M8_H
3
4 /*
5  * definitions and function prototypes used for the cypress USB to Serial
6  * controller
7  */
8
9 /*
10  * For sending our feature buffer - controlling serial communication states.
11  * Linux HID has no support for serial devices so we do this through the driver
12  */
13 #define HID_REQ_GET_REPORT      0x01
14 #define HID_REQ_SET_REPORT      0x09
15
16 /* List other cypress USB to Serial devices here, and add them to the id_table */
17
18 /* DeLorme Earthmate USB - a GPS device */
19 #define VENDOR_ID_DELORME               0x1163
20 #define PRODUCT_ID_EARTHMATEUSB         0x0100
21 #define PRODUCT_ID_EARTHMATEUSB_LT20    0x0200
22
23 /* Cypress HID->COM RS232 Adapter */
24 #define VENDOR_ID_CYPRESS               0x04b4
25 #define PRODUCT_ID_CYPHIDCOM            0x5500
26
27 /* FRWD Dongle - a GPS sports watch */
28 #define VENDOR_ID_FRWD                  0x6737
29 #define PRODUCT_ID_CYPHIDCOM_FRWD       0x0001
30
31 /* Powercom UPS, chip CY7C63723 */
32 #define VENDOR_ID_POWERCOM              0x0d9f
33 #define PRODUCT_ID_UPS                  0x0002
34
35 /* Nokia CA-42 USB to serial cable */
36 #define VENDOR_ID_DAZZLE                0x07d0
37 #define PRODUCT_ID_CA42                 0x4101
38 /* End of device listing */
39
40 /* Used for setting / requesting serial line settings */
41 #define CYPRESS_SET_CONFIG      0x01
42 #define CYPRESS_GET_CONFIG      0x02
43
44 /* Used for throttle control */
45 #define THROTTLED               0x1
46 #define ACTUALLY_THROTTLED      0x2
47
48 /*
49  * chiptypes - used in case firmware differs from the generic form ... offering
50  * different baud speeds/etc.
51  */
52 #define CT_EARTHMATE    0x01
53 #define CT_CYPHIDCOM    0x02
54 #define CT_CA42V2       0x03
55 #define CT_GENERIC      0x0F
56 /* End of chiptype definitions */
57
58 /* RS-232 serial data communication protocol definitions */
59 /* these are sent / read at byte 0 of the input/output hid reports */
60 /* You can find these values defined in the CY4601 USB to Serial design notes */
61
62 #define CONTROL_DTR     0x20    /* data terminal ready - flow control - host to device */
63 #define UART_DSR        0x20    /* data set ready - flow control - device to host */
64 #define CONTROL_RTS     0x10    /* request to send - flow control - host to device */
65 #define UART_CTS        0x10    /* clear to send - flow control - device to host */
66 #define UART_RI         0x80    /* ring indicator - modem - device to host */
67 #define UART_CD         0x40    /* carrier detect - modem - device to host */
68 #define CYP_ERROR       0x08    /* received from input report - device to host */
69 /* Note - the below has nothing to do with the "feature report" reset */
70 #define CONTROL_RESET   0x08    /* sent with output report - host to device */
71
72 /* End of RS-232 protocol definitions */
73
74 #endif /* CYPRESS_M8_H */