/* * Line6 Linux USB driver - 0.9.1beta * * Copyright (C) 2005-2008 Markus Grabner (grabner@icg.tugraz.at) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation, version 2. * */ #ifndef USBDEFS_H #define USBDEFS_H #define LINE6_VENDOR_ID 0x0e41 #define USB_INTERVALS_PER_SECOND 1000 /* Device ids. */ #define LINE6_DEVID_BASSPODXT 0x4250 #define LINE6_DEVID_BASSPODXTLIVE 0x4642 #define LINE6_DEVID_BASSPODXTPRO 0x4252 #define LINE6_DEVID_GUITARPORT 0x4750 #define LINE6_DEVID_POCKETPOD 0x5051 #define LINE6_DEVID_PODHD300 0x5057 #define LINE6_DEVID_PODHD500 0x414D #define LINE6_DEVID_PODSTUDIO_GX 0x4153 #define LINE6_DEVID_PODSTUDIO_UX1 0x4150 #define LINE6_DEVID_PODSTUDIO_UX2 0x4151 #define LINE6_DEVID_PODX3 0x414a #define LINE6_DEVID_PODX3LIVE 0x414b #define LINE6_DEVID_PODXT 0x5044 #define LINE6_DEVID_PODXTLIVE 0x4650 #define LINE6_DEVID_PODXTPRO 0x5050 #define LINE6_DEVID_TONEPORT_GX 0x4147 #define LINE6_DEVID_TONEPORT_UX1 0x4141 #define LINE6_DEVID_TONEPORT_UX2 0x4142 #define LINE6_DEVID_VARIAX 0x534d #define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_INDEX_ ## x enum { LINE6_INDEX_BASSPODXT, LINE6_INDEX_BASSPODXTLIVE, LINE6_INDEX_BASSPODXTPRO, LINE6_INDEX_GUITARPORT, LINE6_INDEX_POCKETPOD, LINE6_INDEX_PODHD300, LINE6_INDEX_PODHD500, LINE6_INDEX_PODSTUDIO_GX, LINE6_INDEX_PODSTUDIO_UX1, LINE6_INDEX_PODSTUDIO_UX2, LINE6_INDEX_PODX3, LINE6_INDEX_PODX3LIVE, LINE6_INDEX_PODXT, LINE6_INDEX_PODXTLIVE, LINE6_INDEX_PODXTPRO, LINE6_INDEX_TONEPORT_GX, LINE6_INDEX_TONEPORT_UX1, LINE6_INDEX_TONEPORT_UX2, LINE6_INDEX_VARIAX, LINE6_BIT(BASSPODXT), LINE6_BIT(BASSPODXTLIVE), LINE6_BIT(BASSPODXTPRO), LINE6_BIT(GUITARPORT), LINE6_BIT(POCKETPOD), LINE6_BIT(PODHD300), LINE6_BIT(PODHD500), LINE6_BIT(PODSTUDIO_GX), LINE6_BIT(PODSTUDIO_UX1), LINE6_BIT(PODSTUDIO_UX2), LINE6_BIT(PODX3), LINE6_BIT(PODX3LIVE), LINE6_BIT(PODXT), LINE6_BIT(PODXTLIVE), LINE6_BIT(PODXTPRO), LINE6_BIT(TONEPORT_GX), LINE6_BIT(TONEPORT_UX1), LINE6_BIT(TONEPORT_UX2), LINE6_BIT(VARIAX), LINE6_BITS_PRO = LINE6_BIT_BASSPODXTPRO | LINE6_BIT_PODXTPRO, LINE6_BITS_LIVE = LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_PODXTLIVE | LINE6_BIT_PODX3LIVE, LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE | LINE6_BIT_PODXTPRO, LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE, LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 | LINE6_BIT_PODHD500, LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT | LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_BASSPODXTPRO }; /* device supports settings parameter via USB */ #define LINE6_BIT_CONTROL (1 << 0) /* device supports PCM input/output via USB */ #define LINE6_BIT_PCM (1 << 1) /* device support hardware monitoring */ #define LINE6_BIT_HWMON (1 << 2) #define LINE6_BIT_CONTROL_PCM_HWMON (LINE6_BIT_CONTROL | \ LINE6_BIT_PCM | \ LINE6_BIT_HWMON) #define LINE6_FALLBACK_INTERVAL 10 #define LINE6_FALLBACK_MAXPACKETSIZE 16 #endif