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