cypress_m8.h 2.2 KB

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