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 | /* Simply Automated HID->COM UPB PIM (using Cypress PID 0x5500) */ |
29 | #define VENDOR_ID_SAI 0x17dd |
30 | |
31 | /* FRWD Dongle - a GPS sports watch */ |
32 | #define VENDOR_ID_FRWD 0x6737 |
33 | #define PRODUCT_ID_CYPHIDCOM_FRWD 0x0001 |
34 | |
35 | /* Powercom UPS, chip CY7C63723 */ |
36 | #define VENDOR_ID_POWERCOM 0x0d9f |
37 | #define PRODUCT_ID_UPS 0x0002 |
38 | |
39 | /* Nokia CA-42 USB to serial cable */ |
40 | #define VENDOR_ID_DAZZLE 0x07d0 |
41 | #define PRODUCT_ID_CA42 0x4101 |
42 | /* End of device listing */ |
43 | |
44 | /* Used for setting / requesting serial line settings */ |
45 | #define CYPRESS_SET_CONFIG 0x01 |
46 | #define CYPRESS_GET_CONFIG 0x02 |
47 | |
48 | /* Used for throttle control */ |
49 | #define THROTTLED 0x1 |
50 | #define ACTUALLY_THROTTLED 0x2 |
51 | |
52 | /* |
53 | * chiptypes - used in case firmware differs from the generic form ... offering |
54 | * different baud speeds/etc. |
55 | */ |
56 | #define CT_EARTHMATE 0x01 |
57 | #define CT_CYPHIDCOM 0x02 |
58 | #define CT_CA42V2 0x03 |
59 | #define CT_GENERIC 0x0F |
60 | /* End of chiptype definitions */ |
61 | |
62 | /* |
63 | * RS-232 serial data communication protocol definitions. |
64 | * |
65 | * These are sent / read at byte 0 of the input/output hid reports. |
66 | * You can find these values defined in the CY4601 USB to Serial design notes. |
67 | */ |
68 | |
69 | #define CONTROL_DTR 0x20 /* data terminal ready */ |
70 | #define CONTROL_RTS 0x10 /* request to send */ |
71 | #define CONTROL_RESET 0x08 /* sent with output report */ |
72 | |
73 | #define UART_MSR_MASK 0xf0 |
74 | #define UART_RI 0x80 /* ring indicator */ |
75 | #define UART_CD 0x40 /* carrier detect */ |
76 | #define UART_DSR 0x20 /* data set ready */ |
77 | #define UART_CTS 0x10 /* clear to send */ |
78 | #define CYP_ERROR 0x08 /* received from input report */ |
79 | |
80 | /* End of RS-232 protocol definitions */ |
81 | |
82 | #endif /* CYPRESS_M8_H */ |
83 | |