Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
[pandora-kernel.git] / drivers / staging / line6 / usbdefs.h
1 /*
2  * Line6 Linux USB driver - 0.9.1beta
3  *
4  * Copyright (C) 2005-2008 Markus Grabner (grabner@icg.tugraz.at)
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_PODSTUDIO_GX  0x4153
28 #define LINE6_DEVID_PODSTUDIO_UX1 0x4150
29 #define LINE6_DEVID_PODSTUDIO_UX2 0x4151
30 #define LINE6_DEVID_PODX3         0x414a
31 #define LINE6_DEVID_PODX3LIVE     0x414b
32 #define LINE6_DEVID_PODXT         0x5044
33 #define LINE6_DEVID_PODXTLIVE     0x4650
34 #define LINE6_DEVID_PODXTPRO      0x5050
35 #define LINE6_DEVID_TONEPORT_GX   0x4147
36 #define LINE6_DEVID_TONEPORT_UX1  0x4141
37 #define LINE6_DEVID_TONEPORT_UX2  0x4142
38 #define LINE6_DEVID_VARIAX        0x534d
39
40 #define LINE6_BIT_BASSPODXT       (1 <<  0)
41 #define LINE6_BIT_BASSPODXTLIVE   (1 <<  1)
42 #define LINE6_BIT_BASSPODXTPRO    (1 <<  2)
43 #define LINE6_BIT_GUITARPORT      (1 <<  3)
44 #define LINE6_BIT_POCKETPOD       (1 <<  4)
45 #define LINE6_BIT_PODSTUDIO_GX    (1 <<  5)
46 #define LINE6_BIT_PODSTUDIO_UX1   (1 <<  6)
47 #define LINE6_BIT_PODSTUDIO_UX2   (1 <<  7)
48 #define LINE6_BIT_PODX3           (1 <<  8)
49 #define LINE6_BIT_PODX3LIVE       (1 <<  9)
50 #define LINE6_BIT_PODXT           (1 << 10)
51 #define LINE6_BIT_PODXTLIVE       (1 << 11)
52 #define LINE6_BIT_PODXTPRO        (1 << 12)
53 #define LINE6_BIT_TONEPORT_GX     (1 << 13)
54 #define LINE6_BIT_TONEPORT_UX1    (1 << 14)
55 #define LINE6_BIT_TONEPORT_UX2    (1 << 15)
56 #define LINE6_BIT_VARIAX          (1 << 16)
57
58 #define LINE6_BITS_PRO          (LINE6_BIT_BASSPODXTPRO | \
59                                  LINE6_BIT_PODXTPRO)
60 #define LINE6_BITS_LIVE         (LINE6_BIT_BASSPODXTLIVE | \
61                                  LINE6_BIT_PODXTLIVE | \
62                                  LINE6_BIT_PODX3LIVE)
63 #define LINE6_BITS_PODXTALL     (LINE6_BIT_PODXT | \
64                                  LINE6_BIT_PODXTLIVE | \
65                                  LINE6_BIT_PODXTPRO)
66 #define LINE6_BITS_BASSPODXTALL (LINE6_BIT_BASSPODXT | \
67                                  LINE6_BIT_BASSPODXTLIVE | \
68                                  LINE6_BIT_BASSPODXTPRO)
69
70 /* device supports settings parameter via USB */
71 #define LINE6_BIT_CONTROL       (1 << 0)
72 /* device supports PCM input/output via USB */
73 #define LINE6_BIT_PCM           (1 << 1)
74 /* device support hardware monitoring */
75 #define LINE6_BIT_HWMON         (1 << 2)
76
77 #define LINE6_BIT_CONTROL_PCM_HWMON     (LINE6_BIT_CONTROL |    \
78                                          LINE6_BIT_PCM |        \
79                                          LINE6_BIT_HWMON)
80
81 #define LINE6_FALLBACK_INTERVAL         10
82 #define LINE6_FALLBACK_MAXPACKETSIZE    16
83
84 #endif