Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | #ifndef CYPRESS_M8_H |
| 3 | #define CYPRESS_M8_H |
| 4 | |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 5 | /* |
| 6 | * definitions and function prototypes used for the cypress USB to Serial |
| 7 | * controller |
| 8 | */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 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 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 */ |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 20 | #define VENDOR_ID_DELORME 0x1163 |
| 21 | #define PRODUCT_ID_EARTHMATEUSB 0x0100 |
| 22 | #define PRODUCT_ID_EARTHMATEUSB_LT20 0x0200 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | |
| 24 | /* Cypress HID->COM RS232 Adapter */ |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 25 | #define VENDOR_ID_CYPRESS 0x04b4 |
| 26 | #define PRODUCT_ID_CYPHIDCOM 0x5500 |
Lonnie Mendez | a5c44e2 | 2006-03-01 10:45:24 -0600 | [diff] [blame] | 27 | |
Robert Butora | 6529591 | 2013-05-31 18:09:51 +0300 | [diff] [blame] | 28 | /* FRWD Dongle - a GPS sports watch */ |
| 29 | #define VENDOR_ID_FRWD 0x6737 |
| 30 | #define PRODUCT_ID_CYPHIDCOM_FRWD 0x0001 |
| 31 | |
Dmitry Shapin | 6f6f06e | 2008-03-04 15:25:10 -0800 | [diff] [blame] | 32 | /* Powercom UPS, chip CY7C63723 */ |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 33 | #define VENDOR_ID_POWERCOM 0x0d9f |
| 34 | #define PRODUCT_ID_UPS 0x0002 |
Dmitry Shapin | 6f6f06e | 2008-03-04 15:25:10 -0800 | [diff] [blame] | 35 | |
Lonnie Mendez | a5c44e2 | 2006-03-01 10:45:24 -0600 | [diff] [blame] | 36 | /* Nokia CA-42 USB to serial cable */ |
| 37 | #define VENDOR_ID_DAZZLE 0x07d0 |
| 38 | #define PRODUCT_ID_CA42 0x4101 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 39 | /* End of device listing */ |
| 40 | |
| 41 | /* Used for setting / requesting serial line settings */ |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 42 | #define CYPRESS_SET_CONFIG 0x01 |
| 43 | #define CYPRESS_GET_CONFIG 0x02 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 | |
| 45 | /* Used for throttle control */ |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 46 | #define THROTTLED 0x1 |
| 47 | #define ACTUALLY_THROTTLED 0x2 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 48 | |
Greg Kroah-Hartman | 995834e | 2010-05-17 10:33:41 -0700 | [diff] [blame] | 49 | /* |
| 50 | * chiptypes - used in case firmware differs from the generic form ... offering |
| 51 | * different baud speeds/etc. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 52 | */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 53 | #define CT_EARTHMATE 0x01 |
| 54 | #define CT_CYPHIDCOM 0x02 |
Lonnie Mendez | a5c44e2 | 2006-03-01 10:45:24 -0600 | [diff] [blame] | 55 | #define CT_CA42V2 0x03 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 56 | #define CT_GENERIC 0x0F |
| 57 | /* End of chiptype definitions */ |
| 58 | |
Johan Hovold | 2534be3 | 2014-01-02 22:49:25 +0100 | [diff] [blame] | 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 | */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 | |
Johan Hovold | 2534be3 | 2014-01-02 22:49:25 +0100 | [diff] [blame] | 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 | |
Johan Hovold | 7603381 | 2014-01-02 22:49:26 +0100 | [diff] [blame] | 70 | #define UART_MSR_MASK 0xf0 |
Johan Hovold | 2534be3 | 2014-01-02 22:49:25 +0100 | [diff] [blame] | 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 */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | |
| 77 | /* End of RS-232 protocol definitions */ |
| 78 | |
| 79 | #endif /* CYPRESS_M8_H */ |