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/* Powercom UPS, chip CY7C63723 */
28#define VENDOR_ID_POWERCOM		0x0d9f
29#define PRODUCT_ID_UPS			0x0002
30
31/* Nokia CA-42 USB to serial cable */
32#define VENDOR_ID_DAZZLE		0x07d0
33#define PRODUCT_ID_CA42			0x4101
34/* End of device listing */
35
36/* Used for setting / requesting serial line settings */
37#define CYPRESS_SET_CONFIG	0x01
38#define CYPRESS_GET_CONFIG	0x02
39
40/* Used for throttle control */
41#define THROTTLED		0x1
42#define ACTUALLY_THROTTLED	0x2
43
44/*
45 * chiptypes - used in case firmware differs from the generic form ... offering
46 * different baud speeds/etc.
47 */
48#define CT_EARTHMATE	0x01
49#define CT_CYPHIDCOM	0x02
50#define CT_CA42V2	0x03
51#define CT_GENERIC	0x0F
52/* End of chiptype definitions */
53
54/* RS-232 serial data communication protocol definitions */
55/* these are sent / read at byte 0 of the input/output hid reports */
56/* You can find these values defined in the CY4601 USB to Serial design notes */
57
58#define CONTROL_DTR	0x20	/* data terminal ready - flow control - host to device */
59#define UART_DSR	0x20	/* data set ready - flow control - device to host */
60#define CONTROL_RTS	0x10	/* request to send - flow control - host to device */
61#define UART_CTS	0x10	/* clear to send - flow control - device to host */
62#define UART_RI		0x10	/* ring indicator - modem - device to host */
63#define UART_CD		0x40	/* carrier detect - modem - device to host */
64#define CYP_ERROR	0x08	/* received from input report - device to host */
65/* Note - the below has nothing to do with the "feature report" reset */
66#define CONTROL_RESET	0x08	/* sent with output report - host to device */
67
68/* End of RS-232 protocol definitions */
69
70#endif /* CYPRESS_M8_H */
71