Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * USB HandSpring Visor driver
0004  *
0005  *  Copyright (C) 1999 - 2003
0006  *      Greg Kroah-Hartman (greg@kroah.com)
0007  *
0008  * See Documentation/usb/usb-serial.rst for more information on using this
0009  * driver.
0010  *
0011  */
0012 
0013 #ifndef __LINUX_USB_SERIAL_VISOR_H
0014 #define __LINUX_USB_SERIAL_VISOR_H
0015 
0016 
0017 #define HANDSPRING_VENDOR_ID        0x082d
0018 #define HANDSPRING_VISOR_ID     0x0100
0019 #define HANDSPRING_TREO_ID      0x0200
0020 #define HANDSPRING_TREO600_ID       0x0300
0021 
0022 #define PALM_VENDOR_ID          0x0830
0023 #define PALM_M500_ID            0x0001
0024 #define PALM_M505_ID            0x0002
0025 #define PALM_M515_ID            0x0003
0026 #define PALM_I705_ID            0x0020
0027 #define PALM_M125_ID            0x0040
0028 #define PALM_M130_ID            0x0050
0029 #define PALM_TUNGSTEN_T_ID      0x0060
0030 #define PALM_TREO_650           0x0061
0031 #define PALM_TUNGSTEN_Z_ID      0x0031
0032 #define PALM_ZIRE_ID            0x0070
0033 #define PALM_M100_ID            0x0080
0034 
0035 #define GSPDA_VENDOR_ID     0x115e
0036 #define GSPDA_XPLORE_M68_ID     0xf100
0037 
0038 #define SONY_VENDOR_ID          0x054C
0039 #define SONY_CLIE_3_5_ID        0x0038
0040 #define SONY_CLIE_4_0_ID        0x0066
0041 #define SONY_CLIE_S360_ID       0x0095
0042 #define SONY_CLIE_4_1_ID        0x009A
0043 #define SONY_CLIE_NX60_ID       0x00DA
0044 #define SONY_CLIE_NZ90V_ID      0x00E9
0045 #define SONY_CLIE_UX50_ID       0x0144
0046 #define SONY_CLIE_TJ25_ID       0x0169
0047 
0048 #define ACER_VENDOR_ID          0x0502
0049 #define ACER_S10_ID         0x0001
0050 
0051 #define SAMSUNG_VENDOR_ID       0x04E8
0052 #define SAMSUNG_SCH_I330_ID     0x8001
0053 #define SAMSUNG_SPH_I500_ID     0x6601
0054 
0055 #define TAPWAVE_VENDOR_ID       0x12EF
0056 #define TAPWAVE_ZODIAC_ID       0x0100
0057 
0058 #define GARMIN_VENDOR_ID        0x091E
0059 #define GARMIN_IQUE_3600_ID     0x0004
0060 
0061 #define ACEECA_VENDOR_ID        0x4766
0062 #define ACEECA_MEZ1000_ID       0x0001
0063 
0064 #define KYOCERA_VENDOR_ID       0x0C88
0065 #define KYOCERA_7135_ID         0x0021
0066 
0067 #define FOSSIL_VENDOR_ID        0x0E67
0068 #define FOSSIL_ABACUS_ID        0x0002
0069 
0070 /****************************************************************************
0071  * Handspring Visor Vendor specific request codes (bRequest values)
0072  * A big thank you to Handspring for providing the following information.
0073  * If anyone wants the original file where these values and structures came
0074  * from, send email to <greg@kroah.com>.
0075  ****************************************************************************/
0076 
0077 /****************************************************************************
0078  * VISOR_REQUEST_BYTES_AVAILABLE asks the visor for the number of bytes that
0079  * are available to be transferred to the host for the specified endpoint.
0080  * Currently this is not used, and always returns 0x0001
0081  ****************************************************************************/
0082 #define VISOR_REQUEST_BYTES_AVAILABLE       0x01
0083 
0084 /****************************************************************************
0085  * VISOR_CLOSE_NOTIFICATION is set to the device to notify it that the host
0086  * is now closing the pipe. An empty packet is sent in response.
0087  ****************************************************************************/
0088 #define VISOR_CLOSE_NOTIFICATION        0x02
0089 
0090 /****************************************************************************
0091  * VISOR_GET_CONNECTION_INFORMATION is sent by the host during enumeration to
0092  * get the endpoints used by the connection.
0093  ****************************************************************************/
0094 #define VISOR_GET_CONNECTION_INFORMATION    0x03
0095 
0096 
0097 /****************************************************************************
0098  * VISOR_GET_CONNECTION_INFORMATION returns data in the following format
0099  ****************************************************************************/
0100 struct visor_connection_info {
0101     __le16  num_ports;
0102     struct {
0103         __u8    port_function_id;
0104         __u8    port;
0105     } connections[2];
0106 };
0107 
0108 
0109 /* struct visor_connection_info.connection[x].port defines: */
0110 #define VISOR_ENDPOINT_1        0x01
0111 #define VISOR_ENDPOINT_2        0x02
0112 
0113 /* struct visor_connection_info.connection[x].port_function_id defines: */
0114 #define VISOR_FUNCTION_GENERIC      0x00
0115 #define VISOR_FUNCTION_DEBUGGER     0x01
0116 #define VISOR_FUNCTION_HOTSYNC      0x02
0117 #define VISOR_FUNCTION_CONSOLE      0x03
0118 #define VISOR_FUNCTION_REMOTE_FILE_SYS  0x04
0119 
0120 
0121 /****************************************************************************
0122  * PALM_GET_SOME_UNKNOWN_INFORMATION is sent by the host during enumeration to
0123  * get some information from the M series devices, that is currently unknown.
0124  ****************************************************************************/
0125 #define PALM_GET_EXT_CONNECTION_INFORMATION 0x04
0126 
0127 /**
0128  * struct palm_ext_connection_info - return data from a PALM_GET_EXT_CONNECTION_INFORMATION request
0129  * @num_ports: maximum number of functions/connections in use
0130  * @endpoint_numbers_different: will be 1 if in and out endpoints numbers are
0131  *  different, otherwise it is 0.  If value is 1, then
0132  *  connections.end_point_info is non-zero.  If value is 0, then
0133  *  connections.port contains the endpoint number, which is the same for in
0134  *  and out.
0135  * @port_function_id: contains the creator id of the application that opened
0136  *  this connection.
0137  * @port: contains the in/out endpoint number.  Is 0 if in and out endpoint
0138  *  numbers are different.
0139  * @end_point_info: high nubbe is in endpoint and low nibble will indicate out
0140  *  endpoint.  Is 0 if in and out endpoints are the same.
0141  *
0142  * The maximum number of connections currently supported is 2
0143  */
0144 struct palm_ext_connection_info {
0145     __u8 num_ports;
0146     __u8 endpoint_numbers_different;
0147     __le16 reserved1;
0148     struct {
0149         __u32 port_function_id;
0150         __u8 port;
0151         __u8 end_point_info;
0152         __le16 reserved;
0153     } connections[2];
0154 };
0155 
0156 #endif
0157