diff options
author | Anton Vorontsov <cbouatmailru@gmail.com> | 2008-07-29 18:05:23 -0400 |
---|---|---|
committer | Anton Vorontsov <cbouatmailru@gmail.com> | 2008-07-29 18:05:23 -0400 |
commit | 9fec6060d9e48ed7db0dac0e16d0f0f0e615b7f6 (patch) | |
tree | 74b41f31a08f6500ff3dfcf64ba21e2d9a8e87e5 /drivers/usb/serial/ftdi_sio.h | |
parent | fece418418f51e92dd7e67e17c5e3fe5a28d3279 (diff) | |
parent | 6e86841d05f371b5b9b86ce76c02aaee83352298 (diff) |
Merge branch 'master' of /home/cbou/linux-2.6
Conflicts:
drivers/power/Kconfig
drivers/power/Makefile
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.h')
-rw-r--r-- | drivers/usb/serial/ftdi_sio.h | 402 |
1 files changed, 334 insertions, 68 deletions
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index 504edf8c3a3f..a577ea44dcf9 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h | |||
@@ -1,20 +1,20 @@ | |||
1 | /* | 1 | /* |
2 | * Definitions for the FTDI USB Single Port Serial Converter - | 2 | * Definitions for the FTDI USB Single Port Serial Converter - |
3 | * known as FTDI_SIO (Serial Input/Output application of the chipset) | 3 | * known as FTDI_SIO (Serial Input/Output application of the chipset) |
4 | * | 4 | * |
5 | * The example I have is known as the USC-1000 which is available from | 5 | * The example I have is known as the USC-1000 which is available from |
6 | * http://www.dse.co.nz - cat no XH4214 It looks similar to this: | 6 | * http://www.dse.co.nz - cat no XH4214 It looks similar to this: |
7 | * http://www.dansdata.com/usbser.htm but I can't be sure There are other | 7 | * http://www.dansdata.com/usbser.htm but I can't be sure There are other |
8 | * USC-1000s which don't look like my device though so beware! | 8 | * USC-1000s which don't look like my device though so beware! |
9 | * | 9 | * |
10 | * The device is based on the FTDI FT8U100AX chip. It has a DB25 on one side, | 10 | * The device is based on the FTDI FT8U100AX chip. It has a DB25 on one side, |
11 | * USB on the other. | 11 | * USB on the other. |
12 | * | 12 | * |
13 | * Thanx to FTDI (http://www.ftdi.co.uk) for so kindly providing details | 13 | * Thanx to FTDI (http://www.ftdi.co.uk) for so kindly providing details |
14 | * of the protocol required to talk to the device and ongoing assistence | 14 | * of the protocol required to talk to the device and ongoing assistence |
15 | * during development. | 15 | * during development. |
16 | * | 16 | * |
17 | * Bill Ryder - bryder@sgi.com formerly of Silicon Graphics, Inc.- wrote the | 17 | * Bill Ryder - bryder@sgi.com formerly of Silicon Graphics, Inc.- wrote the |
18 | * FTDI_SIO implementation. | 18 | * FTDI_SIO implementation. |
19 | * | 19 | * |
20 | * Philipp Gühring - pg@futureware.at - added the Device ID of the USB relais | 20 | * Philipp Gühring - pg@futureware.at - added the Device ID of the USB relais |
@@ -114,11 +114,268 @@ | |||
114 | #define FTDI_OOCDLINK_PID 0xbaf8 /* Amontec JTAGkey */ | 114 | #define FTDI_OOCDLINK_PID 0xbaf8 /* Amontec JTAGkey */ |
115 | 115 | ||
116 | /* | 116 | /* |
117 | * The following are the values for the Matrix Orbital VK204-25-USB | 117 | * The following are the values for the Matrix Orbital FTDI Range |
118 | * display, which use the FT232RL. | 118 | * Anything in this range will use an FT232RL. |
119 | */ | 119 | */ |
120 | #define MTXORB_VK_VID 0x1b3d | 120 | #define MTXORB_VID 0x1B3D |
121 | #define MTXORB_VK_PID 0x0158 | 121 | #define MTXORB_FTDI_RANGE_0100_PID 0x0100 |
122 | #define MTXORB_FTDI_RANGE_0101_PID 0x0101 | ||
123 | #define MTXORB_FTDI_RANGE_0102_PID 0x0102 | ||
124 | #define MTXORB_FTDI_RANGE_0103_PID 0x0103 | ||
125 | #define MTXORB_FTDI_RANGE_0104_PID 0x0104 | ||
126 | #define MTXORB_FTDI_RANGE_0105_PID 0x0105 | ||
127 | #define MTXORB_FTDI_RANGE_0106_PID 0x0106 | ||
128 | #define MTXORB_FTDI_RANGE_0107_PID 0x0107 | ||
129 | #define MTXORB_FTDI_RANGE_0108_PID 0x0108 | ||
130 | #define MTXORB_FTDI_RANGE_0109_PID 0x0109 | ||
131 | #define MTXORB_FTDI_RANGE_010A_PID 0x010A | ||
132 | #define MTXORB_FTDI_RANGE_010B_PID 0x010B | ||
133 | #define MTXORB_FTDI_RANGE_010C_PID 0x010C | ||
134 | #define MTXORB_FTDI_RANGE_010D_PID 0x010D | ||
135 | #define MTXORB_FTDI_RANGE_010E_PID 0x010E | ||
136 | #define MTXORB_FTDI_RANGE_010F_PID 0x010F | ||
137 | #define MTXORB_FTDI_RANGE_0110_PID 0x0110 | ||
138 | #define MTXORB_FTDI_RANGE_0111_PID 0x0111 | ||
139 | #define MTXORB_FTDI_RANGE_0112_PID 0x0112 | ||
140 | #define MTXORB_FTDI_RANGE_0113_PID 0x0113 | ||
141 | #define MTXORB_FTDI_RANGE_0114_PID 0x0114 | ||
142 | #define MTXORB_FTDI_RANGE_0115_PID 0x0115 | ||
143 | #define MTXORB_FTDI_RANGE_0116_PID 0x0116 | ||
144 | #define MTXORB_FTDI_RANGE_0117_PID 0x0117 | ||
145 | #define MTXORB_FTDI_RANGE_0118_PID 0x0118 | ||
146 | #define MTXORB_FTDI_RANGE_0119_PID 0x0119 | ||
147 | #define MTXORB_FTDI_RANGE_011A_PID 0x011A | ||
148 | #define MTXORB_FTDI_RANGE_011B_PID 0x011B | ||
149 | #define MTXORB_FTDI_RANGE_011C_PID 0x011C | ||
150 | #define MTXORB_FTDI_RANGE_011D_PID 0x011D | ||
151 | #define MTXORB_FTDI_RANGE_011E_PID 0x011E | ||
152 | #define MTXORB_FTDI_RANGE_011F_PID 0x011F | ||
153 | #define MTXORB_FTDI_RANGE_0120_PID 0x0120 | ||
154 | #define MTXORB_FTDI_RANGE_0121_PID 0x0121 | ||
155 | #define MTXORB_FTDI_RANGE_0122_PID 0x0122 | ||
156 | #define MTXORB_FTDI_RANGE_0123_PID 0x0123 | ||
157 | #define MTXORB_FTDI_RANGE_0124_PID 0x0124 | ||
158 | #define MTXORB_FTDI_RANGE_0125_PID 0x0125 | ||
159 | #define MTXORB_FTDI_RANGE_0126_PID 0x0126 | ||
160 | #define MTXORB_FTDI_RANGE_0127_PID 0x0127 | ||
161 | #define MTXORB_FTDI_RANGE_0128_PID 0x0128 | ||
162 | #define MTXORB_FTDI_RANGE_0129_PID 0x0129 | ||
163 | #define MTXORB_FTDI_RANGE_012A_PID 0x012A | ||
164 | #define MTXORB_FTDI_RANGE_012B_PID 0x012B | ||
165 | #define MTXORB_FTDI_RANGE_012C_PID 0x012C | ||
166 | #define MTXORB_FTDI_RANGE_012D_PID 0x012D | ||
167 | #define MTXORB_FTDI_RANGE_012E_PID 0x012E | ||
168 | #define MTXORB_FTDI_RANGE_012F_PID 0x012F | ||
169 | #define MTXORB_FTDI_RANGE_0130_PID 0x0130 | ||
170 | #define MTXORB_FTDI_RANGE_0131_PID 0x0131 | ||
171 | #define MTXORB_FTDI_RANGE_0132_PID 0x0132 | ||
172 | #define MTXORB_FTDI_RANGE_0133_PID 0x0133 | ||
173 | #define MTXORB_FTDI_RANGE_0134_PID 0x0134 | ||
174 | #define MTXORB_FTDI_RANGE_0135_PID 0x0135 | ||
175 | #define MTXORB_FTDI_RANGE_0136_PID 0x0136 | ||
176 | #define MTXORB_FTDI_RANGE_0137_PID 0x0137 | ||
177 | #define MTXORB_FTDI_RANGE_0138_PID 0x0138 | ||
178 | #define MTXORB_FTDI_RANGE_0139_PID 0x0139 | ||
179 | #define MTXORB_FTDI_RANGE_013A_PID 0x013A | ||
180 | #define MTXORB_FTDI_RANGE_013B_PID 0x013B | ||
181 | #define MTXORB_FTDI_RANGE_013C_PID 0x013C | ||
182 | #define MTXORB_FTDI_RANGE_013D_PID 0x013D | ||
183 | #define MTXORB_FTDI_RANGE_013E_PID 0x013E | ||
184 | #define MTXORB_FTDI_RANGE_013F_PID 0x013F | ||
185 | #define MTXORB_FTDI_RANGE_0140_PID 0x0140 | ||
186 | #define MTXORB_FTDI_RANGE_0141_PID 0x0141 | ||
187 | #define MTXORB_FTDI_RANGE_0142_PID 0x0142 | ||
188 | #define MTXORB_FTDI_RANGE_0143_PID 0x0143 | ||
189 | #define MTXORB_FTDI_RANGE_0144_PID 0x0144 | ||
190 | #define MTXORB_FTDI_RANGE_0145_PID 0x0145 | ||
191 | #define MTXORB_FTDI_RANGE_0146_PID 0x0146 | ||
192 | #define MTXORB_FTDI_RANGE_0147_PID 0x0147 | ||
193 | #define MTXORB_FTDI_RANGE_0148_PID 0x0148 | ||
194 | #define MTXORB_FTDI_RANGE_0149_PID 0x0149 | ||
195 | #define MTXORB_FTDI_RANGE_014A_PID 0x014A | ||
196 | #define MTXORB_FTDI_RANGE_014B_PID 0x014B | ||
197 | #define MTXORB_FTDI_RANGE_014C_PID 0x014C | ||
198 | #define MTXORB_FTDI_RANGE_014D_PID 0x014D | ||
199 | #define MTXORB_FTDI_RANGE_014E_PID 0x014E | ||
200 | #define MTXORB_FTDI_RANGE_014F_PID 0x014F | ||
201 | #define MTXORB_FTDI_RANGE_0150_PID 0x0150 | ||
202 | #define MTXORB_FTDI_RANGE_0151_PID 0x0151 | ||
203 | #define MTXORB_FTDI_RANGE_0152_PID 0x0152 | ||
204 | #define MTXORB_FTDI_RANGE_0153_PID 0x0153 | ||
205 | #define MTXORB_FTDI_RANGE_0154_PID 0x0154 | ||
206 | #define MTXORB_FTDI_RANGE_0155_PID 0x0155 | ||
207 | #define MTXORB_FTDI_RANGE_0156_PID 0x0156 | ||
208 | #define MTXORB_FTDI_RANGE_0157_PID 0x0157 | ||
209 | #define MTXORB_FTDI_RANGE_0158_PID 0x0158 | ||
210 | #define MTXORB_FTDI_RANGE_0159_PID 0x0159 | ||
211 | #define MTXORB_FTDI_RANGE_015A_PID 0x015A | ||
212 | #define MTXORB_FTDI_RANGE_015B_PID 0x015B | ||
213 | #define MTXORB_FTDI_RANGE_015C_PID 0x015C | ||
214 | #define MTXORB_FTDI_RANGE_015D_PID 0x015D | ||
215 | #define MTXORB_FTDI_RANGE_015E_PID 0x015E | ||
216 | #define MTXORB_FTDI_RANGE_015F_PID 0x015F | ||
217 | #define MTXORB_FTDI_RANGE_0160_PID 0x0160 | ||
218 | #define MTXORB_FTDI_RANGE_0161_PID 0x0161 | ||
219 | #define MTXORB_FTDI_RANGE_0162_PID 0x0162 | ||
220 | #define MTXORB_FTDI_RANGE_0163_PID 0x0163 | ||
221 | #define MTXORB_FTDI_RANGE_0164_PID 0x0164 | ||
222 | #define MTXORB_FTDI_RANGE_0165_PID 0x0165 | ||
223 | #define MTXORB_FTDI_RANGE_0166_PID 0x0166 | ||
224 | #define MTXORB_FTDI_RANGE_0167_PID 0x0167 | ||
225 | #define MTXORB_FTDI_RANGE_0168_PID 0x0168 | ||
226 | #define MTXORB_FTDI_RANGE_0169_PID 0x0169 | ||
227 | #define MTXORB_FTDI_RANGE_016A_PID 0x016A | ||
228 | #define MTXORB_FTDI_RANGE_016B_PID 0x016B | ||
229 | #define MTXORB_FTDI_RANGE_016C_PID 0x016C | ||
230 | #define MTXORB_FTDI_RANGE_016D_PID 0x016D | ||
231 | #define MTXORB_FTDI_RANGE_016E_PID 0x016E | ||
232 | #define MTXORB_FTDI_RANGE_016F_PID 0x016F | ||
233 | #define MTXORB_FTDI_RANGE_0170_PID 0x0170 | ||
234 | #define MTXORB_FTDI_RANGE_0171_PID 0x0171 | ||
235 | #define MTXORB_FTDI_RANGE_0172_PID 0x0172 | ||
236 | #define MTXORB_FTDI_RANGE_0173_PID 0x0173 | ||
237 | #define MTXORB_FTDI_RANGE_0174_PID 0x0174 | ||
238 | #define MTXORB_FTDI_RANGE_0175_PID 0x0175 | ||
239 | #define MTXORB_FTDI_RANGE_0176_PID 0x0176 | ||
240 | #define MTXORB_FTDI_RANGE_0177_PID 0x0177 | ||
241 | #define MTXORB_FTDI_RANGE_0178_PID 0x0178 | ||
242 | #define MTXORB_FTDI_RANGE_0179_PID 0x0179 | ||
243 | #define MTXORB_FTDI_RANGE_017A_PID 0x017A | ||
244 | #define MTXORB_FTDI_RANGE_017B_PID 0x017B | ||
245 | #define MTXORB_FTDI_RANGE_017C_PID 0x017C | ||
246 | #define MTXORB_FTDI_RANGE_017D_PID 0x017D | ||
247 | #define MTXORB_FTDI_RANGE_017E_PID 0x017E | ||
248 | #define MTXORB_FTDI_RANGE_017F_PID 0x017F | ||
249 | #define MTXORB_FTDI_RANGE_0180_PID 0x0180 | ||
250 | #define MTXORB_FTDI_RANGE_0181_PID 0x0181 | ||
251 | #define MTXORB_FTDI_RANGE_0182_PID 0x0182 | ||
252 | #define MTXORB_FTDI_RANGE_0183_PID 0x0183 | ||
253 | #define MTXORB_FTDI_RANGE_0184_PID 0x0184 | ||
254 | #define MTXORB_FTDI_RANGE_0185_PID 0x0185 | ||
255 | #define MTXORB_FTDI_RANGE_0186_PID 0x0186 | ||
256 | #define MTXORB_FTDI_RANGE_0187_PID 0x0187 | ||
257 | #define MTXORB_FTDI_RANGE_0188_PID 0x0188 | ||
258 | #define MTXORB_FTDI_RANGE_0189_PID 0x0189 | ||
259 | #define MTXORB_FTDI_RANGE_018A_PID 0x018A | ||
260 | #define MTXORB_FTDI_RANGE_018B_PID 0x018B | ||
261 | #define MTXORB_FTDI_RANGE_018C_PID 0x018C | ||
262 | #define MTXORB_FTDI_RANGE_018D_PID 0x018D | ||
263 | #define MTXORB_FTDI_RANGE_018E_PID 0x018E | ||
264 | #define MTXORB_FTDI_RANGE_018F_PID 0x018F | ||
265 | #define MTXORB_FTDI_RANGE_0190_PID 0x0190 | ||
266 | #define MTXORB_FTDI_RANGE_0191_PID 0x0191 | ||
267 | #define MTXORB_FTDI_RANGE_0192_PID 0x0192 | ||
268 | #define MTXORB_FTDI_RANGE_0193_PID 0x0193 | ||
269 | #define MTXORB_FTDI_RANGE_0194_PID 0x0194 | ||
270 | #define MTXORB_FTDI_RANGE_0195_PID 0x0195 | ||
271 | #define MTXORB_FTDI_RANGE_0196_PID 0x0196 | ||
272 | #define MTXORB_FTDI_RANGE_0197_PID 0x0197 | ||
273 | #define MTXORB_FTDI_RANGE_0198_PID 0x0198 | ||
274 | #define MTXORB_FTDI_RANGE_0199_PID 0x0199 | ||
275 | #define MTXORB_FTDI_RANGE_019A_PID 0x019A | ||
276 | #define MTXORB_FTDI_RANGE_019B_PID 0x019B | ||
277 | #define MTXORB_FTDI_RANGE_019C_PID 0x019C | ||
278 | #define MTXORB_FTDI_RANGE_019D_PID 0x019D | ||
279 | #define MTXORB_FTDI_RANGE_019E_PID 0x019E | ||
280 | #define MTXORB_FTDI_RANGE_019F_PID 0x019F | ||
281 | #define MTXORB_FTDI_RANGE_01A0_PID 0x01A0 | ||
282 | #define MTXORB_FTDI_RANGE_01A1_PID 0x01A1 | ||
283 | #define MTXORB_FTDI_RANGE_01A2_PID 0x01A2 | ||
284 | #define MTXORB_FTDI_RANGE_01A3_PID 0x01A3 | ||
285 | #define MTXORB_FTDI_RANGE_01A4_PID 0x01A4 | ||
286 | #define MTXORB_FTDI_RANGE_01A5_PID 0x01A5 | ||
287 | #define MTXORB_FTDI_RANGE_01A6_PID 0x01A6 | ||
288 | #define MTXORB_FTDI_RANGE_01A7_PID 0x01A7 | ||
289 | #define MTXORB_FTDI_RANGE_01A8_PID 0x01A8 | ||
290 | #define MTXORB_FTDI_RANGE_01A9_PID 0x01A9 | ||
291 | #define MTXORB_FTDI_RANGE_01AA_PID 0x01AA | ||
292 | #define MTXORB_FTDI_RANGE_01AB_PID 0x01AB | ||
293 | #define MTXORB_FTDI_RANGE_01AC_PID 0x01AC | ||
294 | #define MTXORB_FTDI_RANGE_01AD_PID 0x01AD | ||
295 | #define MTXORB_FTDI_RANGE_01AE_PID 0x01AE | ||
296 | #define MTXORB_FTDI_RANGE_01AF_PID 0x01AF | ||
297 | #define MTXORB_FTDI_RANGE_01B0_PID 0x01B0 | ||
298 | #define MTXORB_FTDI_RANGE_01B1_PID 0x01B1 | ||
299 | #define MTXORB_FTDI_RANGE_01B2_PID 0x01B2 | ||
300 | #define MTXORB_FTDI_RANGE_01B3_PID 0x01B3 | ||
301 | #define MTXORB_FTDI_RANGE_01B4_PID 0x01B4 | ||
302 | #define MTXORB_FTDI_RANGE_01B5_PID 0x01B5 | ||
303 | #define MTXORB_FTDI_RANGE_01B6_PID 0x01B6 | ||
304 | #define MTXORB_FTDI_RANGE_01B7_PID 0x01B7 | ||
305 | #define MTXORB_FTDI_RANGE_01B8_PID 0x01B8 | ||
306 | #define MTXORB_FTDI_RANGE_01B9_PID 0x01B9 | ||
307 | #define MTXORB_FTDI_RANGE_01BA_PID 0x01BA | ||
308 | #define MTXORB_FTDI_RANGE_01BB_PID 0x01BB | ||
309 | #define MTXORB_FTDI_RANGE_01BC_PID 0x01BC | ||
310 | #define MTXORB_FTDI_RANGE_01BD_PID 0x01BD | ||
311 | #define MTXORB_FTDI_RANGE_01BE_PID 0x01BE | ||
312 | #define MTXORB_FTDI_RANGE_01BF_PID 0x01BF | ||
313 | #define MTXORB_FTDI_RANGE_01C0_PID 0x01C0 | ||
314 | #define MTXORB_FTDI_RANGE_01C1_PID 0x01C1 | ||
315 | #define MTXORB_FTDI_RANGE_01C2_PID 0x01C2 | ||
316 | #define MTXORB_FTDI_RANGE_01C3_PID 0x01C3 | ||
317 | #define MTXORB_FTDI_RANGE_01C4_PID 0x01C4 | ||
318 | #define MTXORB_FTDI_RANGE_01C5_PID 0x01C5 | ||
319 | #define MTXORB_FTDI_RANGE_01C6_PID 0x01C6 | ||
320 | #define MTXORB_FTDI_RANGE_01C7_PID 0x01C7 | ||
321 | #define MTXORB_FTDI_RANGE_01C8_PID 0x01C8 | ||
322 | #define MTXORB_FTDI_RANGE_01C9_PID 0x01C9 | ||
323 | #define MTXORB_FTDI_RANGE_01CA_PID 0x01CA | ||
324 | #define MTXORB_FTDI_RANGE_01CB_PID 0x01CB | ||
325 | #define MTXORB_FTDI_RANGE_01CC_PID 0x01CC | ||
326 | #define MTXORB_FTDI_RANGE_01CD_PID 0x01CD | ||
327 | #define MTXORB_FTDI_RANGE_01CE_PID 0x01CE | ||
328 | #define MTXORB_FTDI_RANGE_01CF_PID 0x01CF | ||
329 | #define MTXORB_FTDI_RANGE_01D0_PID 0x01D0 | ||
330 | #define MTXORB_FTDI_RANGE_01D1_PID 0x01D1 | ||
331 | #define MTXORB_FTDI_RANGE_01D2_PID 0x01D2 | ||
332 | #define MTXORB_FTDI_RANGE_01D3_PID 0x01D3 | ||
333 | #define MTXORB_FTDI_RANGE_01D4_PID 0x01D4 | ||
334 | #define MTXORB_FTDI_RANGE_01D5_PID 0x01D5 | ||
335 | #define MTXORB_FTDI_RANGE_01D6_PID 0x01D6 | ||
336 | #define MTXORB_FTDI_RANGE_01D7_PID 0x01D7 | ||
337 | #define MTXORB_FTDI_RANGE_01D8_PID 0x01D8 | ||
338 | #define MTXORB_FTDI_RANGE_01D9_PID 0x01D9 | ||
339 | #define MTXORB_FTDI_RANGE_01DA_PID 0x01DA | ||
340 | #define MTXORB_FTDI_RANGE_01DB_PID 0x01DB | ||
341 | #define MTXORB_FTDI_RANGE_01DC_PID 0x01DC | ||
342 | #define MTXORB_FTDI_RANGE_01DD_PID 0x01DD | ||
343 | #define MTXORB_FTDI_RANGE_01DE_PID 0x01DE | ||
344 | #define MTXORB_FTDI_RANGE_01DF_PID 0x01DF | ||
345 | #define MTXORB_FTDI_RANGE_01E0_PID 0x01E0 | ||
346 | #define MTXORB_FTDI_RANGE_01E1_PID 0x01E1 | ||
347 | #define MTXORB_FTDI_RANGE_01E2_PID 0x01E2 | ||
348 | #define MTXORB_FTDI_RANGE_01E3_PID 0x01E3 | ||
349 | #define MTXORB_FTDI_RANGE_01E4_PID 0x01E4 | ||
350 | #define MTXORB_FTDI_RANGE_01E5_PID 0x01E5 | ||
351 | #define MTXORB_FTDI_RANGE_01E6_PID 0x01E6 | ||
352 | #define MTXORB_FTDI_RANGE_01E7_PID 0x01E7 | ||
353 | #define MTXORB_FTDI_RANGE_01E8_PID 0x01E8 | ||
354 | #define MTXORB_FTDI_RANGE_01E9_PID 0x01E9 | ||
355 | #define MTXORB_FTDI_RANGE_01EA_PID 0x01EA | ||
356 | #define MTXORB_FTDI_RANGE_01EB_PID 0x01EB | ||
357 | #define MTXORB_FTDI_RANGE_01EC_PID 0x01EC | ||
358 | #define MTXORB_FTDI_RANGE_01ED_PID 0x01ED | ||
359 | #define MTXORB_FTDI_RANGE_01EE_PID 0x01EE | ||
360 | #define MTXORB_FTDI_RANGE_01EF_PID 0x01EF | ||
361 | #define MTXORB_FTDI_RANGE_01F0_PID 0x01F0 | ||
362 | #define MTXORB_FTDI_RANGE_01F1_PID 0x01F1 | ||
363 | #define MTXORB_FTDI_RANGE_01F2_PID 0x01F2 | ||
364 | #define MTXORB_FTDI_RANGE_01F3_PID 0x01F3 | ||
365 | #define MTXORB_FTDI_RANGE_01F4_PID 0x01F4 | ||
366 | #define MTXORB_FTDI_RANGE_01F5_PID 0x01F5 | ||
367 | #define MTXORB_FTDI_RANGE_01F6_PID 0x01F6 | ||
368 | #define MTXORB_FTDI_RANGE_01F7_PID 0x01F7 | ||
369 | #define MTXORB_FTDI_RANGE_01F8_PID 0x01F8 | ||
370 | #define MTXORB_FTDI_RANGE_01F9_PID 0x01F9 | ||
371 | #define MTXORB_FTDI_RANGE_01FA_PID 0x01FA | ||
372 | #define MTXORB_FTDI_RANGE_01FB_PID 0x01FB | ||
373 | #define MTXORB_FTDI_RANGE_01FC_PID 0x01FC | ||
374 | #define MTXORB_FTDI_RANGE_01FD_PID 0x01FD | ||
375 | #define MTXORB_FTDI_RANGE_01FE_PID 0x01FE | ||
376 | #define MTXORB_FTDI_RANGE_01FF_PID 0x01FF | ||
377 | |||
378 | |||
122 | 379 | ||
123 | /* Interbiometrics USB I/O Board */ | 380 | /* Interbiometrics USB I/O Board */ |
124 | /* Developed for Interbiometrics by Rudolf Gugler */ | 381 | /* Developed for Interbiometrics by Rudolf Gugler */ |
@@ -215,7 +472,7 @@ | |||
215 | /* | 472 | /* |
216 | * DSS-20 Sync Station for Sony Ericsson P800 | 473 | * DSS-20 Sync Station for Sony Ericsson P800 |
217 | */ | 474 | */ |
218 | #define FTDI_DSS20_PID 0xFC82 | 475 | #define FTDI_DSS20_PID 0xFC82 |
219 | 476 | ||
220 | /* | 477 | /* |
221 | * Home Electronics (www.home-electro.com) USB gadgets | 478 | * Home Electronics (www.home-electro.com) USB gadgets |
@@ -571,6 +828,9 @@ | |||
571 | /* Propox devices */ | 828 | /* Propox devices */ |
572 | #define FTDI_PROPOX_JTAGCABLEII_PID 0xD738 | 829 | #define FTDI_PROPOX_JTAGCABLEII_PID 0xD738 |
573 | 830 | ||
831 | /* Rig Expert Ukraine devices */ | ||
832 | #define FTDI_REU_TINY_PID 0xED22 /* RigExpert Tiny */ | ||
833 | |||
574 | /* Commands */ | 834 | /* Commands */ |
575 | #define FTDI_SIO_RESET 0 /* Reset the port */ | 835 | #define FTDI_SIO_RESET 0 /* Reset the port */ |
576 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ | 836 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ |
@@ -592,6 +852,12 @@ | |||
592 | #define FIC_NEO1973_DEBUG_PID 0x5118 | 852 | #define FIC_NEO1973_DEBUG_PID 0x5118 |
593 | 853 | ||
594 | /* | 854 | /* |
855 | * RATOC REX-USB60F | ||
856 | */ | ||
857 | #define RATOC_VENDOR_ID 0x0584 | ||
858 | #define RATOC_PRODUCT_ID_USB60F 0xb020 | ||
859 | |||
860 | /* | ||
595 | * BmRequestType: 1100 0000b | 861 | * BmRequestType: 1100 0000b |
596 | * bRequest: FTDI_E2_READ | 862 | * bRequest: FTDI_E2_READ |
597 | * wValue: 0 | 863 | * wValue: 0 |
@@ -618,7 +884,7 @@ | |||
618 | /* | 884 | /* |
619 | * BmRequestType: 0100 0000B | 885 | * BmRequestType: 0100 0000B |
620 | * bRequest: FTDI_SIO_RESET | 886 | * bRequest: FTDI_SIO_RESET |
621 | * wValue: Control Value | 887 | * wValue: Control Value |
622 | * 0 = Reset SIO | 888 | * 0 = Reset SIO |
623 | * 1 = Purge RX buffer | 889 | * 1 = Purge RX buffer |
624 | * 2 = Purge TX buffer | 890 | * 2 = Purge TX buffer |
@@ -686,7 +952,7 @@ | |||
686 | * 101 - add .625 to divisor | 952 | * 101 - add .625 to divisor |
687 | * 110 - add .750 to divisor | 953 | * 110 - add .750 to divisor |
688 | * 111 - add .875 to divisor | 954 | * 111 - add .875 to divisor |
689 | * Bits 15 to 0 of the 17-bit divisor are placed in the urb value. Bit 16 is | 955 | * Bits 15 to 0 of the 17-bit divisor are placed in the urb value. Bit 16 is |
690 | * placed in bit 0 of the urb index. | 956 | * placed in bit 0 of the urb index. |
691 | * | 957 | * |
692 | * Note that there are a couple of special cases to support the highest baud | 958 | * Note that there are a couple of special cases to support the highest baud |
@@ -705,8 +971,8 @@ typedef enum { | |||
705 | } ftdi_chip_type_t; | 971 | } ftdi_chip_type_t; |
706 | 972 | ||
707 | typedef enum { | 973 | typedef enum { |
708 | ftdi_sio_b300 = 0, | 974 | ftdi_sio_b300 = 0, |
709 | ftdi_sio_b600 = 1, | 975 | ftdi_sio_b600 = 1, |
710 | ftdi_sio_b1200 = 2, | 976 | ftdi_sio_b1200 = 2, |
711 | ftdi_sio_b2400 = 3, | 977 | ftdi_sio_b2400 = 3, |
712 | ftdi_sio_b4800 = 4, | 978 | ftdi_sio_b4800 = 4, |
@@ -715,7 +981,7 @@ typedef enum { | |||
715 | ftdi_sio_b38400 = 7, | 981 | ftdi_sio_b38400 = 7, |
716 | ftdi_sio_b57600 = 8, | 982 | ftdi_sio_b57600 = 8, |
717 | ftdi_sio_b115200 = 9 | 983 | ftdi_sio_b115200 = 9 |
718 | } FTDI_SIO_baudrate_t ; | 984 | } FTDI_SIO_baudrate_t; |
719 | 985 | ||
720 | /* | 986 | /* |
721 | * The ftdi_8U232AM_xxMHz_byyy constants have been removed. The encoded divisor values | 987 | * The ftdi_8U232AM_xxMHz_byyy constants have been removed. The encoded divisor values |
@@ -724,19 +990,19 @@ typedef enum { | |||
724 | 990 | ||
725 | #define FTDI_SIO_SET_DATA_REQUEST FTDI_SIO_SET_DATA | 991 | #define FTDI_SIO_SET_DATA_REQUEST FTDI_SIO_SET_DATA |
726 | #define FTDI_SIO_SET_DATA_REQUEST_TYPE 0x40 | 992 | #define FTDI_SIO_SET_DATA_REQUEST_TYPE 0x40 |
727 | #define FTDI_SIO_SET_DATA_PARITY_NONE (0x0 << 8 ) | 993 | #define FTDI_SIO_SET_DATA_PARITY_NONE (0x0 << 8) |
728 | #define FTDI_SIO_SET_DATA_PARITY_ODD (0x1 << 8 ) | 994 | #define FTDI_SIO_SET_DATA_PARITY_ODD (0x1 << 8) |
729 | #define FTDI_SIO_SET_DATA_PARITY_EVEN (0x2 << 8 ) | 995 | #define FTDI_SIO_SET_DATA_PARITY_EVEN (0x2 << 8) |
730 | #define FTDI_SIO_SET_DATA_PARITY_MARK (0x3 << 8 ) | 996 | #define FTDI_SIO_SET_DATA_PARITY_MARK (0x3 << 8) |
731 | #define FTDI_SIO_SET_DATA_PARITY_SPACE (0x4 << 8 ) | 997 | #define FTDI_SIO_SET_DATA_PARITY_SPACE (0x4 << 8) |
732 | #define FTDI_SIO_SET_DATA_STOP_BITS_1 (0x0 << 11 ) | 998 | #define FTDI_SIO_SET_DATA_STOP_BITS_1 (0x0 << 11) |
733 | #define FTDI_SIO_SET_DATA_STOP_BITS_15 (0x1 << 11 ) | 999 | #define FTDI_SIO_SET_DATA_STOP_BITS_15 (0x1 << 11) |
734 | #define FTDI_SIO_SET_DATA_STOP_BITS_2 (0x2 << 11 ) | 1000 | #define FTDI_SIO_SET_DATA_STOP_BITS_2 (0x2 << 11) |
735 | #define FTDI_SIO_SET_BREAK (0x1 << 14) | 1001 | #define FTDI_SIO_SET_BREAK (0x1 << 14) |
736 | /* FTDI_SIO_SET_DATA */ | 1002 | /* FTDI_SIO_SET_DATA */ |
737 | 1003 | ||
738 | /* | 1004 | /* |
739 | * BmRequestType: 0100 0000B | 1005 | * BmRequestType: 0100 0000B |
740 | * bRequest: FTDI_SIO_SET_DATA | 1006 | * bRequest: FTDI_SIO_SET_DATA |
741 | * wValue: Data characteristics (see below) | 1007 | * wValue: Data characteristics (see below) |
742 | * wIndex: Port | 1008 | * wIndex: Port |
@@ -769,7 +1035,7 @@ typedef enum { | |||
769 | #define FTDI_SIO_SET_MODEM_CTRL_REQUEST_TYPE 0x40 | 1035 | #define FTDI_SIO_SET_MODEM_CTRL_REQUEST_TYPE 0x40 |
770 | #define FTDI_SIO_SET_MODEM_CTRL_REQUEST FTDI_SIO_MODEM_CTRL | 1036 | #define FTDI_SIO_SET_MODEM_CTRL_REQUEST FTDI_SIO_MODEM_CTRL |
771 | 1037 | ||
772 | /* | 1038 | /* |
773 | * BmRequestType: 0100 0000B | 1039 | * BmRequestType: 0100 0000B |
774 | * bRequest: FTDI_SIO_MODEM_CTRL | 1040 | * bRequest: FTDI_SIO_MODEM_CTRL |
775 | * wValue: ControlValue (see below) | 1041 | * wValue: ControlValue (see below) |
@@ -783,11 +1049,11 @@ typedef enum { | |||
783 | */ | 1049 | */ |
784 | 1050 | ||
785 | #define FTDI_SIO_SET_DTR_MASK 0x1 | 1051 | #define FTDI_SIO_SET_DTR_MASK 0x1 |
786 | #define FTDI_SIO_SET_DTR_HIGH ( 1 | ( FTDI_SIO_SET_DTR_MASK << 8)) | 1052 | #define FTDI_SIO_SET_DTR_HIGH (1 | (FTDI_SIO_SET_DTR_MASK << 8)) |
787 | #define FTDI_SIO_SET_DTR_LOW ( 0 | ( FTDI_SIO_SET_DTR_MASK << 8)) | 1053 | #define FTDI_SIO_SET_DTR_LOW (0 | (FTDI_SIO_SET_DTR_MASK << 8)) |
788 | #define FTDI_SIO_SET_RTS_MASK 0x2 | 1054 | #define FTDI_SIO_SET_RTS_MASK 0x2 |
789 | #define FTDI_SIO_SET_RTS_HIGH ( 2 | ( FTDI_SIO_SET_RTS_MASK << 8 )) | 1055 | #define FTDI_SIO_SET_RTS_HIGH (2 | (FTDI_SIO_SET_RTS_MASK << 8)) |
790 | #define FTDI_SIO_SET_RTS_LOW ( 0 | ( FTDI_SIO_SET_RTS_MASK << 8 )) | 1056 | #define FTDI_SIO_SET_RTS_LOW (0 | (FTDI_SIO_SET_RTS_MASK << 8)) |
791 | 1057 | ||
792 | /* | 1058 | /* |
793 | * ControlValue | 1059 | * ControlValue |
@@ -810,7 +1076,7 @@ typedef enum { | |||
810 | /* FTDI_SIO_SET_FLOW_CTRL */ | 1076 | /* FTDI_SIO_SET_FLOW_CTRL */ |
811 | #define FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE 0x40 | 1077 | #define FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE 0x40 |
812 | #define FTDI_SIO_SET_FLOW_CTRL_REQUEST FTDI_SIO_SET_FLOW_CTRL | 1078 | #define FTDI_SIO_SET_FLOW_CTRL_REQUEST FTDI_SIO_SET_FLOW_CTRL |
813 | #define FTDI_SIO_DISABLE_FLOW_CTRL 0x0 | 1079 | #define FTDI_SIO_DISABLE_FLOW_CTRL 0x0 |
814 | #define FTDI_SIO_RTS_CTS_HS (0x1 << 8) | 1080 | #define FTDI_SIO_RTS_CTS_HS (0x1 << 8) |
815 | #define FTDI_SIO_DTR_DSR_HS (0x2 << 8) | 1081 | #define FTDI_SIO_DTR_DSR_HS (0x2 << 8) |
816 | #define FTDI_SIO_XON_XOFF_HS (0x4 << 8) | 1082 | #define FTDI_SIO_XON_XOFF_HS (0x4 << 8) |
@@ -819,7 +1085,7 @@ typedef enum { | |||
819 | * bRequest: FTDI_SIO_SET_FLOW_CTRL | 1085 | * bRequest: FTDI_SIO_SET_FLOW_CTRL |
820 | * wValue: Xoff/Xon | 1086 | * wValue: Xoff/Xon |
821 | * wIndex: Protocol/Port - hIndex is protocl / lIndex is port | 1087 | * wIndex: Protocol/Port - hIndex is protocl / lIndex is port |
822 | * wLength: 0 | 1088 | * wLength: 0 |
823 | * Data: None | 1089 | * Data: None |
824 | * | 1090 | * |
825 | * hIndex protocol is: | 1091 | * hIndex protocol is: |
@@ -835,10 +1101,10 @@ typedef enum { | |||
835 | * | 1101 | * |
836 | * A value of zero in the hIndex field disables handshaking | 1102 | * A value of zero in the hIndex field disables handshaking |
837 | * | 1103 | * |
838 | * If Xon/Xoff handshaking is specified, the hValue field should contain the XOFF character | 1104 | * If Xon/Xoff handshaking is specified, the hValue field should contain the XOFF character |
839 | * and the lValue field contains the XON character. | 1105 | * and the lValue field contains the XON character. |
840 | */ | 1106 | */ |
841 | 1107 | ||
842 | /* | 1108 | /* |
843 | * FTDI_SIO_GET_LATENCY_TIMER | 1109 | * FTDI_SIO_GET_LATENCY_TIMER |
844 | * | 1110 | * |
@@ -852,7 +1118,7 @@ typedef enum { | |||
852 | #define FTDI_SIO_GET_LATENCY_TIMER_REQUEST FTDI_SIO_GET_LATENCY_TIMER | 1118 | #define FTDI_SIO_GET_LATENCY_TIMER_REQUEST FTDI_SIO_GET_LATENCY_TIMER |
853 | #define FTDI_SIO_GET_LATENCY_TIMER_REQUEST_TYPE 0xC0 | 1119 | #define FTDI_SIO_GET_LATENCY_TIMER_REQUEST_TYPE 0xC0 |
854 | 1120 | ||
855 | /* | 1121 | /* |
856 | * BmRequestType: 1100 0000b | 1122 | * BmRequestType: 1100 0000b |
857 | * bRequest: FTDI_SIO_GET_LATENCY_TIMER | 1123 | * bRequest: FTDI_SIO_GET_LATENCY_TIMER |
858 | * wValue: 0 | 1124 | * wValue: 0 |
@@ -861,7 +1127,7 @@ typedef enum { | |||
861 | * Data: latency (on return) | 1127 | * Data: latency (on return) |
862 | */ | 1128 | */ |
863 | 1129 | ||
864 | /* | 1130 | /* |
865 | * FTDI_SIO_SET_LATENCY_TIMER | 1131 | * FTDI_SIO_SET_LATENCY_TIMER |
866 | * | 1132 | * |
867 | * Set the timeout interval. The FTDI collects data from the slave | 1133 | * Set the timeout interval. The FTDI collects data from the slave |
@@ -874,7 +1140,7 @@ typedef enum { | |||
874 | #define FTDI_SIO_SET_LATENCY_TIMER_REQUEST FTDI_SIO_SET_LATENCY_TIMER | 1140 | #define FTDI_SIO_SET_LATENCY_TIMER_REQUEST FTDI_SIO_SET_LATENCY_TIMER |
875 | #define FTDI_SIO_SET_LATENCY_TIMER_REQUEST_TYPE 0x40 | 1141 | #define FTDI_SIO_SET_LATENCY_TIMER_REQUEST_TYPE 0x40 |
876 | 1142 | ||
877 | /* | 1143 | /* |
878 | * BmRequestType: 0100 0000b | 1144 | * BmRequestType: 0100 0000b |
879 | * bRequest: FTDI_SIO_SET_LATENCY_TIMER | 1145 | * bRequest: FTDI_SIO_SET_LATENCY_TIMER |
880 | * wValue: Latency (milliseconds) | 1146 | * wValue: Latency (milliseconds) |
@@ -889,7 +1155,7 @@ typedef enum { | |||
889 | */ | 1155 | */ |
890 | 1156 | ||
891 | /* | 1157 | /* |
892 | * FTDI_SIO_SET_EVENT_CHAR | 1158 | * FTDI_SIO_SET_EVENT_CHAR |
893 | * | 1159 | * |
894 | * Set the special event character for the specified communications port. | 1160 | * Set the special event character for the specified communications port. |
895 | * If the device sees this character it will immediately return the | 1161 | * If the device sees this character it will immediately return the |
@@ -902,7 +1168,7 @@ typedef enum { | |||
902 | #define FTDI_SIO_SET_EVENT_CHAR_REQUEST_TYPE 0x40 | 1168 | #define FTDI_SIO_SET_EVENT_CHAR_REQUEST_TYPE 0x40 |
903 | 1169 | ||
904 | 1170 | ||
905 | /* | 1171 | /* |
906 | * BmRequestType: 0100 0000b | 1172 | * BmRequestType: 0100 0000b |
907 | * bRequest: FTDI_SIO_SET_EVENT_CHAR | 1173 | * bRequest: FTDI_SIO_SET_EVENT_CHAR |
908 | * wValue: EventChar | 1174 | * wValue: EventChar |
@@ -918,12 +1184,12 @@ typedef enum { | |||
918 | * B9..15 Reserved | 1184 | * B9..15 Reserved |
919 | * | 1185 | * |
920 | */ | 1186 | */ |
921 | 1187 | ||
922 | /* FTDI_SIO_SET_ERROR_CHAR */ | 1188 | /* FTDI_SIO_SET_ERROR_CHAR */ |
923 | 1189 | ||
924 | /* Set the parity error replacement character for the specified communications port */ | 1190 | /* Set the parity error replacement character for the specified communications port */ |
925 | 1191 | ||
926 | /* | 1192 | /* |
927 | * BmRequestType: 0100 0000b | 1193 | * BmRequestType: 0100 0000b |
928 | * bRequest: FTDI_SIO_SET_EVENT_CHAR | 1194 | * bRequest: FTDI_SIO_SET_EVENT_CHAR |
929 | * wValue: Error Char | 1195 | * wValue: Error Char |
@@ -949,15 +1215,15 @@ typedef enum { | |||
949 | #define FTDI_SIO_DSR_MASK 0x20 | 1215 | #define FTDI_SIO_DSR_MASK 0x20 |
950 | #define FTDI_SIO_RI_MASK 0x40 | 1216 | #define FTDI_SIO_RI_MASK 0x40 |
951 | #define FTDI_SIO_RLSD_MASK 0x80 | 1217 | #define FTDI_SIO_RLSD_MASK 0x80 |
952 | /* | 1218 | /* |
953 | * BmRequestType: 1100 0000b | 1219 | * BmRequestType: 1100 0000b |
954 | * bRequest: FTDI_SIO_GET_MODEM_STATUS | 1220 | * bRequest: FTDI_SIO_GET_MODEM_STATUS |
955 | * wValue: zero | 1221 | * wValue: zero |
956 | * wIndex: Port | 1222 | * wIndex: Port |
957 | * wLength: 1 | 1223 | * wLength: 1 |
958 | * Data: Status | 1224 | * Data: Status |
959 | * | 1225 | * |
960 | * One byte of data is returned | 1226 | * One byte of data is returned |
961 | * B0..3 0 | 1227 | * B0..3 0 |
962 | * B4 CTS | 1228 | * B4 CTS |
963 | * 0 = inactive | 1229 | * 0 = inactive |
@@ -970,15 +1236,15 @@ typedef enum { | |||
970 | * 1 = active | 1236 | * 1 = active |
971 | * B7 Receive Line Signal Detect (RLSD) | 1237 | * B7 Receive Line Signal Detect (RLSD) |
972 | * 0 = inactive | 1238 | * 0 = inactive |
973 | * 1 = active | 1239 | * 1 = active |
974 | */ | 1240 | */ |
975 | 1241 | ||
976 | 1242 | ||
977 | 1243 | ||
978 | /* Descriptors returned by the device | 1244 | /* Descriptors returned by the device |
979 | * | 1245 | * |
980 | * Device Descriptor | 1246 | * Device Descriptor |
981 | * | 1247 | * |
982 | * Offset Field Size Value Description | 1248 | * Offset Field Size Value Description |
983 | * 0 bLength 1 0x12 Size of descriptor in bytes | 1249 | * 0 bLength 1 0x12 Size of descriptor in bytes |
984 | * 1 bDescriptorType 1 0x01 DEVICE Descriptor Type | 1250 | * 1 bDescriptorType 1 0x01 DEVICE Descriptor Type |
@@ -994,9 +1260,9 @@ typedef enum { | |||
994 | * 15 iProduct 1 0x02 Index of prod string desc | 1260 | * 15 iProduct 1 0x02 Index of prod string desc |
995 | * 16 iSerialNumber 1 0x02 Index of serial nmr string desc | 1261 | * 16 iSerialNumber 1 0x02 Index of serial nmr string desc |
996 | * 17 bNumConfigurations 1 0x01 Number of possible configurations | 1262 | * 17 bNumConfigurations 1 0x01 Number of possible configurations |
997 | * | 1263 | * |
998 | * Configuration Descriptor | 1264 | * Configuration Descriptor |
999 | * | 1265 | * |
1000 | * Offset Field Size Value | 1266 | * Offset Field Size Value |
1001 | * 0 bLength 1 0x09 Size of descriptor in bytes | 1267 | * 0 bLength 1 0x09 Size of descriptor in bytes |
1002 | * 1 bDescriptorType 1 0x02 CONFIGURATION Descriptor Type | 1268 | * 1 bDescriptorType 1 0x02 CONFIGURATION Descriptor Type |
@@ -1006,9 +1272,9 @@ typedef enum { | |||
1006 | * 6 iConfiguration 1 0x02 Index of config string descriptor | 1272 | * 6 iConfiguration 1 0x02 Index of config string descriptor |
1007 | * 7 bmAttributes 1 0x20 Config characteristics Remote Wakeup | 1273 | * 7 bmAttributes 1 0x20 Config characteristics Remote Wakeup |
1008 | * 8 MaxPower 1 0x1E Max power consumption | 1274 | * 8 MaxPower 1 0x1E Max power consumption |
1009 | * | 1275 | * |
1010 | * Interface Descriptor | 1276 | * Interface Descriptor |
1011 | * | 1277 | * |
1012 | * Offset Field Size Value | 1278 | * Offset Field Size Value |
1013 | * 0 bLength 1 0x09 Size of descriptor in bytes | 1279 | * 0 bLength 1 0x09 Size of descriptor in bytes |
1014 | * 1 bDescriptorType 1 0x04 INTERFACE Descriptor Type | 1280 | * 1 bDescriptorType 1 0x04 INTERFACE Descriptor Type |
@@ -1019,9 +1285,9 @@ typedef enum { | |||
1019 | * 6 bInterfaceSubClass 1 0xFF Subclass Code | 1285 | * 6 bInterfaceSubClass 1 0xFF Subclass Code |
1020 | * 7 bInterfaceProtocol 1 0xFF Protocol Code | 1286 | * 7 bInterfaceProtocol 1 0xFF Protocol Code |
1021 | * 8 iInterface 1 0x02 Index of interface string description | 1287 | * 8 iInterface 1 0x02 Index of interface string description |
1022 | * | 1288 | * |
1023 | * IN Endpoint Descriptor | 1289 | * IN Endpoint Descriptor |
1024 | * | 1290 | * |
1025 | * Offset Field Size Value | 1291 | * Offset Field Size Value |
1026 | * 0 bLength 1 0x07 Size of descriptor in bytes | 1292 | * 0 bLength 1 0x07 Size of descriptor in bytes |
1027 | * 1 bDescriptorType 1 0x05 ENDPOINT descriptor type | 1293 | * 1 bDescriptorType 1 0x05 ENDPOINT descriptor type |
@@ -1029,9 +1295,9 @@ typedef enum { | |||
1029 | * 3 bmAttributes 1 0x02 Endpoint attributes - Bulk | 1295 | * 3 bmAttributes 1 0x02 Endpoint attributes - Bulk |
1030 | * 4 bNumEndpoints 2 0x0040 maximum packet size | 1296 | * 4 bNumEndpoints 2 0x0040 maximum packet size |
1031 | * 5 bInterval 1 0x00 Interval for polling endpoint | 1297 | * 5 bInterval 1 0x00 Interval for polling endpoint |
1032 | * | 1298 | * |
1033 | * OUT Endpoint Descriptor | 1299 | * OUT Endpoint Descriptor |
1034 | * | 1300 | * |
1035 | * Offset Field Size Value | 1301 | * Offset Field Size Value |
1036 | * 0 bLength 1 0x07 Size of descriptor in bytes | 1302 | * 0 bLength 1 0x07 Size of descriptor in bytes |
1037 | * 1 bDescriptorType 1 0x05 ENDPOINT descriptor type | 1303 | * 1 bDescriptorType 1 0x05 ENDPOINT descriptor type |
@@ -1039,17 +1305,17 @@ typedef enum { | |||
1039 | * 3 bmAttributes 1 0x02 Endpoint attributes - Bulk | 1305 | * 3 bmAttributes 1 0x02 Endpoint attributes - Bulk |
1040 | * 4 bNumEndpoints 2 0x0040 maximum packet size | 1306 | * 4 bNumEndpoints 2 0x0040 maximum packet size |
1041 | * 5 bInterval 1 0x00 Interval for polling endpoint | 1307 | * 5 bInterval 1 0x00 Interval for polling endpoint |
1042 | * | 1308 | * |
1043 | * DATA FORMAT | 1309 | * DATA FORMAT |
1044 | * | 1310 | * |
1045 | * IN Endpoint | 1311 | * IN Endpoint |
1046 | * | 1312 | * |
1047 | * The device reserves the first two bytes of data on this endpoint to contain the current | 1313 | * The device reserves the first two bytes of data on this endpoint to contain the current |
1048 | * values of the modem and line status registers. In the absence of data, the device | 1314 | * values of the modem and line status registers. In the absence of data, the device |
1049 | * generates a message consisting of these two status bytes every 40 ms | 1315 | * generates a message consisting of these two status bytes every 40 ms |
1050 | * | 1316 | * |
1051 | * Byte 0: Modem Status | 1317 | * Byte 0: Modem Status |
1052 | * | 1318 | * |
1053 | * Offset Description | 1319 | * Offset Description |
1054 | * B0 Reserved - must be 1 | 1320 | * B0 Reserved - must be 1 |
1055 | * B1 Reserved - must be 0 | 1321 | * B1 Reserved - must be 0 |
@@ -1059,9 +1325,9 @@ typedef enum { | |||
1059 | * B5 Data Set Ready (DSR) | 1325 | * B5 Data Set Ready (DSR) |
1060 | * B6 Ring Indicator (RI) | 1326 | * B6 Ring Indicator (RI) |
1061 | * B7 Receive Line Signal Detect (RLSD) | 1327 | * B7 Receive Line Signal Detect (RLSD) |
1062 | * | 1328 | * |
1063 | * Byte 1: Line Status | 1329 | * Byte 1: Line Status |
1064 | * | 1330 | * |
1065 | * Offset Description | 1331 | * Offset Description |
1066 | * B0 Data Ready (DR) | 1332 | * B0 Data Ready (DR) |
1067 | * B1 Overrun Error (OE) | 1333 | * B1 Overrun Error (OE) |
@@ -1071,7 +1337,7 @@ typedef enum { | |||
1071 | * B5 Transmitter Holding Register (THRE) | 1337 | * B5 Transmitter Holding Register (THRE) |
1072 | * B6 Transmitter Empty (TEMT) | 1338 | * B6 Transmitter Empty (TEMT) |
1073 | * B7 Error in RCVR FIFO | 1339 | * B7 Error in RCVR FIFO |
1074 | * | 1340 | * |
1075 | */ | 1341 | */ |
1076 | #define FTDI_RS0_CTS (1 << 4) | 1342 | #define FTDI_RS0_CTS (1 << 4) |
1077 | #define FTDI_RS0_DSR (1 << 5) | 1343 | #define FTDI_RS0_DSR (1 << 5) |
@@ -1089,17 +1355,17 @@ typedef enum { | |||
1089 | 1355 | ||
1090 | /* | 1356 | /* |
1091 | * OUT Endpoint | 1357 | * OUT Endpoint |
1092 | * | 1358 | * |
1093 | * This device reserves the first bytes of data on this endpoint contain the length | 1359 | * This device reserves the first bytes of data on this endpoint contain the length |
1094 | * and port identifier of the message. For the FTDI USB Serial converter the port | 1360 | * and port identifier of the message. For the FTDI USB Serial converter the port |
1095 | * identifier is always 1. | 1361 | * identifier is always 1. |
1096 | * | 1362 | * |
1097 | * Byte 0: Line Status | 1363 | * Byte 0: Line Status |
1098 | * | 1364 | * |
1099 | * Offset Description | 1365 | * Offset Description |
1100 | * B0 Reserved - must be 1 | 1366 | * B0 Reserved - must be 1 |
1101 | * B1 Reserved - must be 0 | 1367 | * B1 Reserved - must be 0 |
1102 | * B2..7 Length of message - (not including Byte 0) | 1368 | * B2..7 Length of message - (not including Byte 0) |
1103 | * | 1369 | * |
1104 | */ | 1370 | */ |
1105 | 1371 | ||