visor.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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_ZIRE31_ID 0x0061
  32. #define PALM_ZIRE_ID 0x0070
  33. #define PALM_M100_ID 0x0080
  34. #define SONY_VENDOR_ID 0x054C
  35. #define SONY_CLIE_3_5_ID 0x0038
  36. #define SONY_CLIE_4_0_ID 0x0066
  37. #define SONY_CLIE_S360_ID 0x0095
  38. #define SONY_CLIE_4_1_ID 0x009A
  39. #define SONY_CLIE_NX60_ID 0x00DA
  40. #define SONY_CLIE_NZ90V_ID 0x00E9
  41. #define SONY_CLIE_UX50_ID 0x0144
  42. #define SONY_CLIE_TJ25_ID 0x0169
  43. #define SAMSUNG_VENDOR_ID 0x04E8
  44. #define SAMSUNG_SCH_I330_ID 0x8001
  45. #define SAMSUNG_SPH_I500_ID 0x6601
  46. #define GARMIN_VENDOR_ID 0x091E
  47. #define GARMIN_IQUE_3600_ID 0x0004
  48. #define ACEECA_VENDOR_ID 0x4766
  49. #define ACEECA_MEZ1000_ID 0x0001
  50. #define KYOCERA_VENDOR_ID 0x0C88
  51. #define KYOCERA_7135_ID 0x0021
  52. #define FOSSIL_VENDOR_ID 0x0E67
  53. #define FOSSIL_ABACUS_ID 0x0002
  54. /****************************************************************************
  55. * Handspring Visor Vendor specific request codes (bRequest values)
  56. * A big thank you to Handspring for providing the following information.
  57. * If anyone wants the original file where these values and structures came
  58. * from, send email to <greg@kroah.com>.
  59. ****************************************************************************/
  60. /****************************************************************************
  61. * VISOR_REQUEST_BYTES_AVAILABLE asks the visor for the number of bytes that
  62. * are available to be transferred to the host for the specified endpoint.
  63. * Currently this is not used, and always returns 0x0001
  64. ****************************************************************************/
  65. #define VISOR_REQUEST_BYTES_AVAILABLE 0x01
  66. /****************************************************************************
  67. * VISOR_CLOSE_NOTIFICATION is set to the device to notify it that the host
  68. * is now closing the pipe. An empty packet is sent in response.
  69. ****************************************************************************/
  70. #define VISOR_CLOSE_NOTIFICATION 0x02
  71. /****************************************************************************
  72. * VISOR_GET_CONNECTION_INFORMATION is sent by the host during enumeration to
  73. * get the endpoints used by the connection.
  74. ****************************************************************************/
  75. #define VISOR_GET_CONNECTION_INFORMATION 0x03
  76. /****************************************************************************
  77. * VISOR_GET_CONNECTION_INFORMATION returns data in the following format
  78. ****************************************************************************/
  79. struct visor_connection_info {
  80. __le16 num_ports;
  81. struct {
  82. __u8 port_function_id;
  83. __u8 port;
  84. } connections[2];
  85. };
  86. /* struct visor_connection_info.connection[x].port defines: */
  87. #define VISOR_ENDPOINT_1 0x01
  88. #define VISOR_ENDPOINT_2 0x02
  89. /* struct visor_connection_info.connection[x].port_function_id defines: */
  90. #define VISOR_FUNCTION_GENERIC 0x00
  91. #define VISOR_FUNCTION_DEBUGGER 0x01
  92. #define VISOR_FUNCTION_HOTSYNC 0x02
  93. #define VISOR_FUNCTION_CONSOLE 0x03
  94. #define VISOR_FUNCTION_REMOTE_FILE_SYS 0x04
  95. /****************************************************************************
  96. * PALM_GET_SOME_UNKNOWN_INFORMATION is sent by the host during enumeration to
  97. * get some information from the M series devices, that is currently unknown.
  98. ****************************************************************************/
  99. #define PALM_GET_EXT_CONNECTION_INFORMATION 0x04
  100. /**
  101. * struct palm_ext_connection_info - return data from a PALM_GET_EXT_CONNECTION_INFORMATION request
  102. * @num_ports: maximum number of functions/connections in use
  103. * @endpoint_numbers_different: will be 1 if in and out endpoints numbers are
  104. * different, otherwise it is 0. If value is 1, then
  105. * connections.end_point_info is non-zero. If value is 0, then
  106. * connections.port contains the endpoint number, which is the same for in
  107. * and out.
  108. * @port_function_id: contains the creator id of the applicaton that opened
  109. * this connection.
  110. * @port: contains the in/out endpoint number. Is 0 if in and out endpoint
  111. * numbers are different.
  112. * @end_point_info: high nubbe is in endpoint and low nibble will indicate out
  113. * endpoint. Is 0 if in and out endpoints are the same.
  114. *
  115. * The maximum number of connections currently supported is 2
  116. */
  117. struct palm_ext_connection_info {
  118. __u8 num_ports;
  119. __u8 endpoint_numbers_different;
  120. __le16 reserved1;
  121. struct {
  122. __u32 port_function_id;
  123. __u8 port;
  124. __u8 end_point_info;
  125. __le16 reserved;
  126. } connections[2];
  127. };
  128. #endif