File: /usr/src/linux/drivers/usb/serial/visor.h
1 /*
2 * USB HandSpring Visor driver
3 *
4 * Copyright (C) 1999 - 2001
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
16 #ifndef __LINUX_USB_SERIAL_VISOR_H
17 #define __LINUX_USB_SERIAL_VISOR_H
18
19
20 #define HANDSPRING_VENDOR_ID 0x082d
21 #define HANDSPRING_VISOR_ID 0x0100
22
23 #define PALM_VENDOR_ID 0x0830
24 #define PALM_M500_ID 0x0001
25 #define PALM_M505_ID 0x0002
26
27 #define SONY_VENDOR_ID 0x054C
28 #define SONY_CLIE_3_5_ID 0x0038
29 #define SONY_CLIE_4_0_ID 0x0066
30
31 /****************************************************************************
32 * Handspring Visor Vendor specific request codes (bRequest values)
33 * A big thank you to Handspring for providing the following information.
34 * If anyone wants the original file where these values and structures came
35 * from, send email to <greg@kroah.com>.
36 ****************************************************************************/
37
38 /****************************************************************************
39 * VISOR_REQUEST_BYTES_AVAILABLE asks the visor for the number of bytes that
40 * are available to be transferred to the host for the specified endpoint.
41 * Currently this is not used, and always returns 0x0001
42 ****************************************************************************/
43 #define VISOR_REQUEST_BYTES_AVAILABLE 0x01
44
45 /****************************************************************************
46 * VISOR_CLOSE_NOTIFICATION is set to the device to notify it that the host
47 * is now closing the pipe. An empty packet is sent in response.
48 ****************************************************************************/
49 #define VISOR_CLOSE_NOTIFICATION 0x02
50
51 /****************************************************************************
52 * VISOR_GET_CONNECTION_INFORMATION is sent by the host during enumeration to
53 * get the endpoints used by the connection.
54 ****************************************************************************/
55 #define VISOR_GET_CONNECTION_INFORMATION 0x03
56
57
58 /****************************************************************************
59 * VISOR_GET_CONNECTION_INFORMATION returns data in the following format
60 ****************************************************************************/
61 struct visor_connection_info {
62 __u16 num_ports;
63 struct {
64 __u8 port_function_id;
65 __u8 port;
66 } connections[2];
67 };
68
69
70 /* struct visor_connection_info.connection[x].port defines: */
71 #define VISOR_ENDPOINT_1 0x01
72 #define VISOR_ENDPOINT_2 0x02
73
74 /* struct visor_connection_info.connection[x].port_function_id defines: */
75 #define VISOR_FUNCTION_GENERIC 0x00
76 #define VISOR_FUNCTION_DEBUGGER 0x01
77 #define VISOR_FUNCTION_HOTSYNC 0x02
78 #define VISOR_FUNCTION_CONSOLE 0x03
79 #define VISOR_FUNCTION_REMOTE_FILE_SYS 0x04
80
81
82 /****************************************************************************
83 * PALM_GET_SOME_UNKNOWN_INFORMATION is sent by the host during enumeration to
84 * get some information from the M series devices, that is currently unknown.
85 ****************************************************************************/
86 #define PALM_GET_SOME_UNKNOWN_INFORMATION 0x04
87
88 #endif
89
90