cypress_m8.h 2.3 KB

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