visor.h 5.4 KB

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