Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
usbdefs.h
Go to the documentation of this file.
1 /*
2  * Line6 Linux USB driver - 0.9.1beta
3  *
4  * Copyright (C) 2005-2008 Markus Grabner ([email protected])
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation, version 2.
9  *
10  */
11 
12 #ifndef USBDEFS_H
13 #define USBDEFS_H
14 
15 #define LINE6_VENDOR_ID 0x0e41
16 
17 #define USB_INTERVALS_PER_SECOND 1000
18 
19 /*
20  Device ids.
21 */
22 #define LINE6_DEVID_BASSPODXT 0x4250
23 #define LINE6_DEVID_BASSPODXTLIVE 0x4642
24 #define LINE6_DEVID_BASSPODXTPRO 0x4252
25 #define LINE6_DEVID_GUITARPORT 0x4750
26 #define LINE6_DEVID_POCKETPOD 0x5051
27 #define LINE6_DEVID_PODHD300 0x5057
28 #define LINE6_DEVID_PODHD500 0x414D
29 #define LINE6_DEVID_PODSTUDIO_GX 0x4153
30 #define LINE6_DEVID_PODSTUDIO_UX1 0x4150
31 #define LINE6_DEVID_PODSTUDIO_UX2 0x4151
32 #define LINE6_DEVID_PODX3 0x414a
33 #define LINE6_DEVID_PODX3LIVE 0x414b
34 #define LINE6_DEVID_PODXT 0x5044
35 #define LINE6_DEVID_PODXTLIVE 0x4650
36 #define LINE6_DEVID_PODXTPRO 0x5050
37 #define LINE6_DEVID_TONEPORT_GX 0x4147
38 #define LINE6_DEVID_TONEPORT_UX1 0x4141
39 #define LINE6_DEVID_TONEPORT_UX2 0x4142
40 #define LINE6_DEVID_VARIAX 0x534d
41 
42 #define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_INDEX_ ## x
43 
44 enum {
64 
65  LINE6_BIT(BASSPODXT),
66  LINE6_BIT(BASSPODXTLIVE),
67  LINE6_BIT(BASSPODXTPRO),
68  LINE6_BIT(GUITARPORT),
69  LINE6_BIT(POCKETPOD),
70  LINE6_BIT(PODHD300),
71  LINE6_BIT(PODHD500),
72  LINE6_BIT(PODSTUDIO_GX),
73  LINE6_BIT(PODSTUDIO_UX1),
74  LINE6_BIT(PODSTUDIO_UX2),
75  LINE6_BIT(PODX3),
76  LINE6_BIT(PODX3LIVE),
77  LINE6_BIT(PODXT),
78  LINE6_BIT(PODXTLIVE),
79  LINE6_BIT(PODXTPRO),
80  LINE6_BIT(TONEPORT_GX),
81  LINE6_BIT(TONEPORT_UX1),
82  LINE6_BIT(TONEPORT_UX2),
83  LINE6_BIT(VARIAX),
84 
85  LINE6_BITS_PRO = LINE6_BIT_BASSPODXTPRO | LINE6_BIT_PODXTPRO,
86  LINE6_BITS_LIVE = LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_PODXTLIVE | LINE6_BIT_PODX3LIVE,
87  LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE | LINE6_BIT_PODXTPRO,
88  LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE,
89  LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 | LINE6_BIT_PODHD500,
90  LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT | LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_BASSPODXTPRO
91 };
92 
93 /* device supports settings parameter via USB */
94 #define LINE6_BIT_CONTROL (1 << 0)
95 /* device supports PCM input/output via USB */
96 #define LINE6_BIT_PCM (1 << 1)
97 /* device support hardware monitoring */
98 #define LINE6_BIT_HWMON (1 << 2)
99 
100 #define LINE6_BIT_CONTROL_PCM_HWMON (LINE6_BIT_CONTROL | \
101  LINE6_BIT_PCM | \
102  LINE6_BIT_HWMON)
103 
104 #define LINE6_FALLBACK_INTERVAL 10
105 #define LINE6_FALLBACK_MAXPACKETSIZE 16
106 
107 #endif