2 * Line6 Linux USB driver - 0.9.0
4 * Copyright (C) 2005-2008 Markus Grabner (grabner@icg.tugraz.at)
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.
16 #define LINE6_VENDOR_ID 0x0e41
18 #define USB_INTERVALS_PER_SECOND 1000
23 #define LINE6_DEVID_BASSPODXT 0x4250
24 #define LINE6_DEVID_BASSPODXTLIVE 0x4642
25 #define LINE6_DEVID_BASSPODXTPRO 0x4252
26 #define LINE6_DEVID_GUITARPORT 0x4750
27 #define LINE6_DEVID_POCKETPOD 0x5051
28 #define LINE6_DEVID_PODSTUDIO_GX 0x4153
29 #define LINE6_DEVID_PODSTUDIO_UX1 0x4150
30 #define LINE6_DEVID_PODSTUDIO_UX2 0x4151
31 #define LINE6_DEVID_PODX3 0x414a
32 #define LINE6_DEVID_PODX3LIVE 0x414b
33 #define LINE6_DEVID_PODXT 0x5044
34 #define LINE6_DEVID_PODXTLIVE 0x4650
35 #define LINE6_DEVID_PODXTPRO 0x5050
36 #define LINE6_DEVID_TONEPORT_GX 0x4147
37 #define LINE6_DEVID_TONEPORT_UX1 0x4141
38 #define LINE6_DEVID_TONEPORT_UX2 0x4142
39 #define LINE6_DEVID_VARIAX 0x534d
41 #define LINE6_BIT_BASSPODXT (1 << 0)
42 #define LINE6_BIT_BASSPODXTLIVE (1 << 1)
43 #define LINE6_BIT_BASSPODXTPRO (1 << 2)
44 #define LINE6_BIT_GUITARPORT (1 << 3)
45 #define LINE6_BIT_POCKETPOD (1 << 4)
46 #define LINE6_BIT_PODSTUDIO_GX (1 << 5)
47 #define LINE6_BIT_PODSTUDIO_UX1 (1 << 6)
48 #define LINE6_BIT_PODSTUDIO_UX2 (1 << 7)
49 #define LINE6_BIT_PODX3 (1 << 8)
50 #define LINE6_BIT_PODX3LIVE (1 << 9)
51 #define LINE6_BIT_PODXT (1 << 10)
52 #define LINE6_BIT_PODXTLIVE (1 << 11)
53 #define LINE6_BIT_PODXTPRO (1 << 12)
54 #define LINE6_BIT_TONEPORT_GX (1 << 13)
55 #define LINE6_BIT_TONEPORT_UX1 (1 << 14)
56 #define LINE6_BIT_TONEPORT_UX2 (1 << 15)
57 #define LINE6_BIT_VARIAX (1 << 16)
59 #define LINE6_BITS_PRO (LINE6_BIT_BASSPODXTPRO | \
61 #define LINE6_BITS_LIVE (LINE6_BIT_BASSPODXTLIVE | \
62 LINE6_BIT_PODXTLIVE | \
64 #define LINE6_BITS_PODXTALL (LINE6_BIT_PODXT | \
65 LINE6_BIT_PODXTLIVE | \
67 #define LINE6_BITS_BASSPODXTALL (LINE6_BIT_BASSPODXT | \
68 LINE6_BIT_BASSPODXTLIVE | \
69 LINE6_BIT_BASSPODXTPRO)
71 /* device supports settings parameter via USB */
72 #define LINE6_BIT_CONTROL (1 << 0)
73 /* device supports PCM input/output via USB */
74 #define LINE6_BIT_PCM (1 << 1)
75 /* device support hardware monitoring */
76 #define LINE6_BIT_HWMON (1 << 2)
78 #define LINE6_BIT_CONTROL_PCM_HWMON (LINE6_BIT_CONTROL | LINE6_BIT_PCM | LINE6_BIT_HWMON)
80 #define LINE6_FALLBACK_INTERVAL 10
81 #define LINE6_FALLBACK_MAXPACKETSIZE 16