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