visor.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * USB HandSpring Visor driver
  4. *
  5. * Copyright (C) 1999 - 2003
  6. * Greg Kroah-Hartman (greg@kroah.com)
  7. *
  8. * See Documentation/usb/usb-serial.rst for more information on using this
  9. * driver.
  10. *
  11. */
  12. #ifndef __LINUX_USB_SERIAL_VISOR_H
  13. #define __LINUX_USB_SERIAL_VISOR_H
  14. #define HANDSPRING_VENDOR_ID 0x082d
  15. #define HANDSPRING_VISOR_ID 0x0100
  16. #define HANDSPRING_TREO_ID 0x0200
  17. #define HANDSPRING_TREO600_ID 0x0300
  18. #define PALM_VENDOR_ID 0x0830
  19. #define PALM_M500_ID 0x0001
  20. #define PALM_M505_ID 0x0002
  21. #define PALM_M515_ID 0x0003
  22. #define PALM_I705_ID 0x0020
  23. #define PALM_M125_ID 0x0040
  24. #define PALM_M130_ID 0x0050
  25. #define PALM_TUNGSTEN_T_ID 0x0060
  26. #define PALM_TREO_650 0x0061
  27. #define PALM_TUNGSTEN_Z_ID 0x0031
  28. #define PALM_ZIRE_ID 0x0070
  29. #define PALM_M100_ID 0x0080
  30. #define GSPDA_VENDOR_ID 0x115e
  31. #define GSPDA_XPLORE_M68_ID 0xf100
  32. #define SONY_VENDOR_ID 0x054C
  33. #define SONY_CLIE_3_5_ID 0x0038
  34. #define SONY_CLIE_4_0_ID 0x0066
  35. #define SONY_CLIE_S360_ID 0x0095
  36. #define SONY_CLIE_4_1_ID 0x009A
  37. #define SONY_CLIE_NX60_ID 0x00DA
  38. #define SONY_CLIE_NZ90V_ID 0x00E9
  39. #define SONY_CLIE_UX50_ID 0x0144
  40. #define SONY_CLIE_TJ25_ID 0x0169
  41. #define ACER_VENDOR_ID 0x0502
  42. #define ACER_S10_ID 0x0001
  43. #define SAMSUNG_VENDOR_ID 0x04E8
  44. #define SAMSUNG_SCH_I330_ID 0x8001
  45. #define SAMSUNG_SPH_I500_ID 0x6601
  46. #define TAPWAVE_VENDOR_ID 0x12EF
  47. #define TAPWAVE_ZODIAC_ID 0x0100
  48. #define GARMIN_VENDOR_ID 0x091E
  49. #define GARMIN_IQUE_3600_ID 0x0004
  50. #define ACEECA_VENDOR_ID 0x4766
  51. #define ACEECA_MEZ1000_ID 0x0001
  52. #define KYOCERA_VENDOR_ID 0x0C88
  53. #define KYOCERA_7135_ID 0x0021
  54. #define FOSSIL_VENDOR_ID 0x0E67
  55. #define FOSSIL_ABACUS_ID 0x0002
  56. /****************************************************************************
  57. * Handspring Visor Vendor specific request codes (bRequest values)
  58. * A big thank you to Handspring for providing the following information.
  59. * If anyone wants the original file where these values and structures came
  60. * from, send email to <greg@kroah.com>.
  61. ****************************************************************************/
  62. /****************************************************************************
  63. * VISOR_REQUEST_BYTES_AVAILABLE asks the visor for the number of bytes that
  64. * are available to be transferred to the host for the specified endpoint.
  65. * Currently this is not used, and always returns 0x0001
  66. ****************************************************************************/
  67. #define VISOR_REQUEST_BYTES_AVAILABLE 0x01
  68. /****************************************************************************
  69. * VISOR_CLOSE_NOTIFICATION is set to the device to notify it that the host
  70. * is now closing the pipe. An empty packet is sent in response.
  71. ****************************************************************************/
  72. #define VISOR_CLOSE_NOTIFICATION 0x02
  73. /****************************************************************************
  74. * VISOR_GET_CONNECTION_INFORMATION is sent by the host during enumeration to
  75. * get the endpoints used by the connection.
  76. ****************************************************************************/
  77. #define VISOR_GET_CONNECTION_INFORMATION 0x03
  78. /****************************************************************************
  79. * VISOR_GET_CONNECTION_INFORMATION returns data in the following format
  80. ****************************************************************************/
  81. struct visor_connection_info {
  82. __le16 num_ports;
  83. struct {
  84. __u8 port_function_id;
  85. __u8 port;
  86. } connections[2];
  87. };
  88. /* struct visor_connection_info.connection[x].port defines: */
  89. #define VISOR_ENDPOINT_1 0x01
  90. #define VISOR_ENDPOINT_2 0x02
  91. /* struct visor_connection_info.connection[x].port_function_id defines: */
  92. #define VISOR_FUNCTION_GENERIC 0x00
  93. #define VISOR_FUNCTION_DEBUGGER 0x01
  94. #define VISOR_FUNCTION_HOTSYNC 0x02
  95. #define VISOR_FUNCTION_CONSOLE 0x03
  96. #define VISOR_FUNCTION_REMOTE_FILE_SYS 0x04
  97. /****************************************************************************
  98. * PALM_GET_SOME_UNKNOWN_INFORMATION is sent by the host during enumeration to
  99. * get some information from the M series devices, that is currently unknown.
  100. ****************************************************************************/
  101. #define PALM_GET_EXT_CONNECTION_INFORMATION 0x04
  102. /**
  103. * struct palm_ext_connection_info - return data from a PALM_GET_EXT_CONNECTION_INFORMATION request
  104. * @num_ports: maximum number of functions/connections in use
  105. * @endpoint_numbers_different: will be 1 if in and out endpoints numbers are
  106. * different, otherwise it is 0. If value is 1, then
  107. * connections.end_point_info is non-zero. If value is 0, then
  108. * connections.port contains the endpoint number, which is the same for in
  109. * and out.
  110. * @port_function_id: contains the creator id of the application that opened
  111. * this connection.
  112. * @port: contains the in/out endpoint number. Is 0 if in and out endpoint
  113. * numbers are different.
  114. * @end_point_info: high nubbe is in endpoint and low nibble will indicate out
  115. * endpoint. Is 0 if in and out endpoints are the same.
  116. *
  117. * The maximum number of connections currently supported is 2
  118. */
  119. struct palm_ext_connection_info {
  120. __u8 num_ports;
  121. __u8 endpoint_numbers_different;
  122. __le16 reserved1;
  123. struct {
  124. __u32 port_function_id;
  125. __u8 port;
  126. __u8 end_point_info;
  127. __le16 reserved;
  128. } connections[2];
  129. };
  130. #endif