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 enum { 43 LINE6_ID_BASSPODXT, 44 LINE6_ID_BASSPODXTLIVE, 45 LINE6_ID_BASSPODXTPRO, 46 LINE6_ID_GUITARPORT, 47 LINE6_ID_POCKETPOD, 48 LINE6_ID_PODHD300, 49 LINE6_ID_PODHD500, 50 LINE6_ID_PODSTUDIO_GX, 51 LINE6_ID_PODSTUDIO_UX1, 52 LINE6_ID_PODSTUDIO_UX2, 53 LINE6_ID_PODX3, 54 LINE6_ID_PODX3LIVE, 55 LINE6_ID_PODXT, 56 LINE6_ID_PODXTLIVE, 57 LINE6_ID_PODXTPRO, 58 LINE6_ID_TONEPORT_GX, 59 LINE6_ID_TONEPORT_UX1, 60 LINE6_ID_TONEPORT_UX2, 61 LINE6_ID_VARIAX 62 }; 63 64 #define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_ID_ ## x 65 66 enum { 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(PODHD500), 74 LINE6_BIT(PODSTUDIO_GX), 75 LINE6_BIT(PODSTUDIO_UX1), 76 LINE6_BIT(PODSTUDIO_UX2), 77 LINE6_BIT(PODX3), 78 LINE6_BIT(PODX3LIVE), 79 LINE6_BIT(PODXT), 80 LINE6_BIT(PODXTLIVE), 81 LINE6_BIT(PODXTPRO), 82 LINE6_BIT(TONEPORT_GX), 83 LINE6_BIT(TONEPORT_UX1), 84 LINE6_BIT(TONEPORT_UX2), 85 LINE6_BIT(VARIAX), 86 87 LINE6_BITS_PRO = LINE6_BIT_BASSPODXTPRO | LINE6_BIT_PODXTPRO, 88 LINE6_BITS_LIVE = LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_PODXTLIVE | LINE6_BIT_PODX3LIVE, 89 LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE | LINE6_BIT_PODXTPRO, 90 LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE, 91 LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 | LINE6_BIT_PODHD500, 92 LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT | LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_BASSPODXTPRO 93 }; 94 95 /* device supports settings parameter via USB */ 96 #define LINE6_BIT_CONTROL (1 << 0) 97 /* device supports PCM input/output via USB */ 98 #define LINE6_BIT_PCM (1 << 1) 99 /* device support hardware monitoring */ 100 #define LINE6_BIT_HWMON (1 << 2) 101 102 #define LINE6_BIT_CONTROL_PCM_HWMON (LINE6_BIT_CONTROL | \ 103 LINE6_BIT_PCM | \ 104 LINE6_BIT_HWMON) 105 106 #define LINE6_FALLBACK_INTERVAL 10 107 #define LINE6_FALLBACK_MAXPACKETSIZE 16 108 109 #endif 110