blob: 2d1cc472beadc7c10071a201b6f81c689d2048a9 [file] [log] [blame]
Markus Grabner705ecec2009-02-27 19:43:04 -08001/*
Markus Grabnere1a164d2010-08-23 01:08:25 +02002 * Line6 Linux USB driver - 0.9.1beta
Markus Grabner705ecec2009-02-27 19:43:04 -08003 *
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
Markus Grabner705ecec2009-02-27 19:43:04 -080015#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
Markus Grabner4c6fb5f2011-12-05 23:51:53 +010027#define LINE6_DEVID_PODHD300 0x5057
Chris Bajumpaa1785faa2013-12-21 17:51:24 -050028#define LINE6_DEVID_PODHD400 0x5058
Markus Grabner4c6fb5f2011-12-05 23:51:53 +010029#define LINE6_DEVID_PODHD500 0x414D
Markus Grabner1027f4762010-08-12 01:35:30 +020030#define LINE6_DEVID_PODSTUDIO_GX 0x4153
31#define LINE6_DEVID_PODSTUDIO_UX1 0x4150
32#define LINE6_DEVID_PODSTUDIO_UX2 0x4151
Markus Grabner705ecec2009-02-27 19:43:04 -080033#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
Markus Grabner0ca54882012-01-20 00:09:09 +010043#define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_INDEX_ ## x
Markus Grabner4c6fb5f2011-12-05 23:51:53 +010044
45enum {
Markus Grabner0ca54882012-01-20 00:09:09 +010046 LINE6_INDEX_BASSPODXT,
47 LINE6_INDEX_BASSPODXTLIVE,
48 LINE6_INDEX_BASSPODXTPRO,
49 LINE6_INDEX_GUITARPORT,
50 LINE6_INDEX_POCKETPOD,
51 LINE6_INDEX_PODHD300,
Chris Bajumpaa1785faa2013-12-21 17:51:24 -050052 LINE6_INDEX_PODHD400,
Markus Grabner0ca54882012-01-20 00:09:09 +010053 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
Markus Grabner4c6fb5f2011-12-05 23:51:53 +010067 LINE6_BIT(BASSPODXT),
68 LINE6_BIT(BASSPODXTLIVE),
69 LINE6_BIT(BASSPODXTPRO),
70 LINE6_BIT(GUITARPORT),
71 LINE6_BIT(POCKETPOD),
72 LINE6_BIT(PODHD300),
Chris Bajumpaa1785faa2013-12-21 17:51:24 -050073 LINE6_BIT(PODHD400),
Markus Grabner4c6fb5f2011-12-05 23:51:53 +010074 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,
Stefan Hajnoczi4391bb92012-11-11 13:24:45 +010089 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,
Markus Grabner4c6fb5f2011-12-05 23:51:53 +010093 LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE,
Monam Agarwalfe6c0f92014-02-27 21:08:30 +053094 LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 |
95 LINE6_BIT_PODHD400 |
96 LINE6_BIT_PODHD500,
Stefan Hajnoczi4391bb92012-11-11 13:24:45 +010097 LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT |
98 LINE6_BIT_BASSPODXTLIVE |
99 LINE6_BIT_BASSPODXTPRO
Markus Grabner4c6fb5f2011-12-05 23:51:53 +0100100};
Markus Grabner705ecec2009-02-27 19:43:04 -0800101
Greg Kroah-Hartmana49e4832009-02-27 21:09:55 -0800102/* device supports settings parameter via USB */
Markus Grabner4c6fb5f2011-12-05 23:51:53 +0100103#define LINE6_BIT_CONTROL (1 << 0)
Greg Kroah-Hartmana49e4832009-02-27 21:09:55 -0800104/* device supports PCM input/output via USB */
Markus Grabner4c6fb5f2011-12-05 23:51:53 +0100105#define LINE6_BIT_PCM (1 << 1)
Markus Grabner1027f4762010-08-12 01:35:30 +0200106/* device support hardware monitoring */
Markus Grabner4c6fb5f2011-12-05 23:51:53 +0100107#define LINE6_BIT_HWMON (1 << 2)
Markus Grabner1027f4762010-08-12 01:35:30 +0200108
Davide Berardiba79e522014-03-17 03:34:41 +0100109#define LINE6_BIT_CTRL_PCM_HW (LINE6_BIT_CONTROL | \
Greg Kroah-Hartman027360c2010-09-21 16:58:00 -0700110 LINE6_BIT_PCM | \
111 LINE6_BIT_HWMON)
Markus Grabner705ecec2009-02-27 19:43:04 -0800112
Markus Grabner4c6fb5f2011-12-05 23:51:53 +0100113#define LINE6_FALLBACK_INTERVAL 10
114#define LINE6_FALLBACK_MAXPACKETSIZE 16
Markus Grabner705ecec2009-02-27 19:43:04 -0800115
Markus Grabner705ecec2009-02-27 19:43:04 -0800116#endif