Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pcan_usb_pro.h
Go to the documentation of this file.
1 /*
2  * CAN driver for PEAK System PCAN-USB Pro adapter
3  * Derived from the PCAN project file driver/src/pcan_usbpro_fw.h
4  *
5  * Copyright (C) 2003-2011 PEAK System-Technik GmbH
6  * Copyright (C) 2011-2012 Stephane Grosjean <[email protected]>
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License as published
10  * by the Free Software Foundation; version 2 of the License.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * General Public License for more details.
16  */
17 #ifndef PCAN_USB_PRO_H
18 #define PCAN_USB_PRO_H
19 
20 /*
21  * USB Vendor request data types
22  */
23 #define PCAN_USBPRO_REQ_INFO 0
24 #define PCAN_USBPRO_REQ_FCT 2
25 
26 /* Vendor Request value for XXX_INFO */
27 #define PCAN_USBPRO_INFO_BL 0
28 #define PCAN_USBPRO_INFO_FW 1
29 
30 /* Vendor Request value for XXX_FCT */
31 #define PCAN_USBPRO_FCT_DRVLD 5 /* tell device driver is loaded */
32 
33 /* PCAN_USBPRO_INFO_BL vendor request record type */
36  u8 version[4];
45 };
46 
47 /* PCAN_USBPRO_INFO_FW vendor request record type */
50  u8 version[4];
56 };
57 
58 /*
59  * USB Command record types
60  */
61 #define PCAN_USBPRO_SETBTR 0x02
62 #define PCAN_USBPRO_SETBUSACT 0x04
63 #define PCAN_USBPRO_SETSILENT 0x05
64 #define PCAN_USBPRO_SETFILTR 0x0a
65 #define PCAN_USBPRO_SETTS 0x10
66 #define PCAN_USBPRO_GETDEVID 0x12
67 #define PCAN_USBPRO_SETLED 0x1C
68 #define PCAN_USBPRO_RXMSG8 0x80
69 #define PCAN_USBPRO_RXMSG4 0x81
70 #define PCAN_USBPRO_RXMSG0 0x82
71 #define PCAN_USBPRO_RXRTR 0x83
72 #define PCAN_USBPRO_RXSTATUS 0x84
73 #define PCAN_USBPRO_RXTS 0x85
74 #define PCAN_USBPRO_TXMSG8 0x41
75 #define PCAN_USBPRO_TXMSG4 0x42
76 #define PCAN_USBPRO_TXMSG0 0x43
77 
78 /* record structures */
84 };
85 
90 };
91 
96 };
97 
102 };
103 
108 };
109 
115 };
116 
122 };
123 
131 
132  u8 data[8];
133 };
134 
135 #define PCAN_USBPRO_STATUS_ERROR 0x0001
136 #define PCAN_USBPRO_STATUS_BUS 0x0002
137 #define PCAN_USBPRO_STATUS_OVERRUN 0x0004
138 #define PCAN_USBPRO_STATUS_QOVERRUN 0x0008
139 
146 };
147 
150  u8 dummy[3];
151  u32 ts64[2];
152 };
153 
160  u8 data[8];
161 };
162 
176 };
177 
178 #endif