aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/metro-usb.h
blob: 0367b6c8df0743bcbf7fd0c25b9c0a96730ceb41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
  Date Created:	1/12/2007
  File Name:		metro-usb.h
  Description:	metro-usb.h is the drivers header file. The driver is a USB to Serial converter.
		The driver takes USB data and sends it to a virtual ttyUSB# serial port.
		The driver interfaces with the usbserial.ko driver supplied by Linux.

		NOTES:
		To install the driver:
		1. Install the usbserial.ko module supplied by Linux with: # insmod usbserial.ko
		2. Install the metro-usb.ko module with: # insmod metro-usb.ko vender=0x#### product=0x#### debug=1
		   The vendor, product and debug parameters are optional.

  Copyright:	2007 Metrologic Instruments. All rights reserved.
  Copyright:	2011 Azimut Ltd. <http://azimutrzn.ru/>
  Requirements: Notepad.exe

  Revision History:

  Date:			Developer:			Revisions:
  ------------------------------------------------------------------------------
  1/12/2007		Philip Nicastro		Initial release. (v1.0.0.0)
  10/07/2011		Aleksey Babahin		Update for new kernel (tested on 2.6.38)
						Add unidirection mode support


*/

#ifndef __LINUX_USB_SERIAL_METRO
#define __LINUX_USB_SERIAL_METRO

/* Product information. */
#define FOCUS_VENDOR_ID		0x0C2E
#define FOCUS_PRODUCT_ID	0x0720
#define FOCUS_PRODUCT_ID_UNI	0x0710

#define METROUSB_SET_REQUEST_TYPE	0x40
#define METROUSB_SET_MODEM_CTRL_REQUEST	10
#define METROUSB_SET_BREAK_REQUEST	0x40
#define METROUSB_MCR_NONE               0x8     /* Deactivate DTR and RTS. */
#define METROUSB_MCR_RTS                0xa     /* Activate RTS. */
#define METROUSB_MCR_DTR                0x9     /* Activate DTR. */
#define WDR_TIMEOUT			5000 	/* default urb timeout. */

/* Private data structure. */
struct metrousb_private {
	spinlock_t lock;
	int throttled;
	unsigned long control_state;
};

#endif