]> Pileus Git - ~andy/linux/blob - drivers/staging/line6/usbdefs.h
Merge tag 'mfd-fixes-3.14-1' of git://git.linaro.org/people/lee.jones/mfd
[~andy/linux] / 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_PODHD300      0x5057
28 #define LINE6_DEVID_PODHD400      0x5058
29 #define LINE6_DEVID_PODHD500      0x414D
30 #define LINE6_DEVID_PODSTUDIO_GX  0x4153
31 #define LINE6_DEVID_PODSTUDIO_UX1 0x4150
32 #define LINE6_DEVID_PODSTUDIO_UX2 0x4151
33 #define LINE6_DEVID_PODX3         0x414a
34 #define LINE6_DEVID_PODX3LIVE     0x414b
35 #define LINE6_DEVID_PODXT         0x5044
36 #define LINE6_DEVID_PODXTLIVE     0x4650
37 #define LINE6_DEVID_PODXTPRO      0x5050
38 #define LINE6_DEVID_TONEPORT_GX   0x4147
39 #define LINE6_DEVID_TONEPORT_UX1  0x4141
40 #define LINE6_DEVID_TONEPORT_UX2  0x4142
41 #define LINE6_DEVID_VARIAX        0x534d
42
43 #define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_INDEX_ ## x
44
45 enum {
46         LINE6_INDEX_BASSPODXT,
47         LINE6_INDEX_BASSPODXTLIVE,
48         LINE6_INDEX_BASSPODXTPRO,
49         LINE6_INDEX_GUITARPORT,
50         LINE6_INDEX_POCKETPOD,
51         LINE6_INDEX_PODHD300,
52         LINE6_INDEX_PODHD400,
53         LINE6_INDEX_PODHD500,
54         LINE6_INDEX_PODSTUDIO_GX,
55         LINE6_INDEX_PODSTUDIO_UX1,
56         LINE6_INDEX_PODSTUDIO_UX2,
57         LINE6_INDEX_PODX3,
58         LINE6_INDEX_PODX3LIVE,
59         LINE6_INDEX_PODXT,
60         LINE6_INDEX_PODXTLIVE,
61         LINE6_INDEX_PODXTPRO,
62         LINE6_INDEX_TONEPORT_GX,
63         LINE6_INDEX_TONEPORT_UX1,
64         LINE6_INDEX_TONEPORT_UX2,
65         LINE6_INDEX_VARIAX,
66
67         LINE6_BIT(BASSPODXT),
68         LINE6_BIT(BASSPODXTLIVE),
69         LINE6_BIT(BASSPODXTPRO),
70         LINE6_BIT(GUITARPORT),
71         LINE6_BIT(POCKETPOD),
72         LINE6_BIT(PODHD300),
73         LINE6_BIT(PODHD400),
74         LINE6_BIT(PODHD500),
75         LINE6_BIT(PODSTUDIO_GX),
76         LINE6_BIT(PODSTUDIO_UX1),
77         LINE6_BIT(PODSTUDIO_UX2),
78         LINE6_BIT(PODX3),
79         LINE6_BIT(PODX3LIVE),
80         LINE6_BIT(PODXT),
81         LINE6_BIT(PODXTLIVE),
82         LINE6_BIT(PODXTPRO),
83         LINE6_BIT(TONEPORT_GX),
84         LINE6_BIT(TONEPORT_UX1),
85         LINE6_BIT(TONEPORT_UX2),
86         LINE6_BIT(VARIAX),
87
88         LINE6_BITS_PRO = LINE6_BIT_BASSPODXTPRO | LINE6_BIT_PODXTPRO,
89         LINE6_BITS_LIVE = LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_PODXTLIVE |
90                           LINE6_BIT_PODX3LIVE,
91         LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE |
92                               LINE6_BIT_PODXTPRO,
93         LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE,
94         LINE6_BITS_PODHDALL =   LINE6_BIT_PODHD300 |
95                                 LINE6_BIT_PODHD400 |
96                                 LINE6_BIT_PODHD500,
97         LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT |
98                                   LINE6_BIT_BASSPODXTLIVE |
99                                   LINE6_BIT_BASSPODXTPRO
100 };
101
102 /* device supports settings parameter via USB */
103 #define LINE6_BIT_CONTROL (1 << 0)
104 /* device supports PCM input/output via USB */
105 #define LINE6_BIT_PCM (1 << 1)
106 /* device support hardware monitoring */
107 #define LINE6_BIT_HWMON (1 << 2)
108
109 #define LINE6_BIT_CONTROL_PCM_HWMON     (LINE6_BIT_CONTROL |    \
110                                          LINE6_BIT_PCM |        \
111                                          LINE6_BIT_HWMON)
112
113 #define LINE6_FALLBACK_INTERVAL 10
114 #define LINE6_FALLBACK_MAXPACKETSIZE 16
115
116 #endif