Root/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_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
44enum {
45    LINE6_INDEX_BASSPODXT,
46    LINE6_INDEX_BASSPODXTLIVE,
47    LINE6_INDEX_BASSPODXTPRO,
48    LINE6_INDEX_GUITARPORT,
49    LINE6_INDEX_POCKETPOD,
50    LINE6_INDEX_PODHD300,
51    LINE6_INDEX_PODHD500,
52    LINE6_INDEX_PODSTUDIO_GX,
53    LINE6_INDEX_PODSTUDIO_UX1,
54    LINE6_INDEX_PODSTUDIO_UX2,
55    LINE6_INDEX_PODX3,
56    LINE6_INDEX_PODX3LIVE,
57    LINE6_INDEX_PODXT,
58    LINE6_INDEX_PODXTLIVE,
59    LINE6_INDEX_PODXTPRO,
60    LINE6_INDEX_TONEPORT_GX,
61    LINE6_INDEX_TONEPORT_UX1,
62    LINE6_INDEX_TONEPORT_UX2,
63    LINE6_INDEX_VARIAX,
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
108

Archive Download this file



interactive