usbdefs.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. #ifndef USBDEFS_H
  12. #define USBDEFS_H
  13. #define LINE6_VENDOR_ID 0x0e41
  14. #define USB_INTERVALS_PER_SECOND 1000
  15. /*
  16. Device ids.
  17. */
  18. #define LINE6_DEVID_BASSPODXT 0x4250
  19. #define LINE6_DEVID_BASSPODXTLIVE 0x4642
  20. #define LINE6_DEVID_BASSPODXTPRO 0x4252
  21. #define LINE6_DEVID_GUITARPORT 0x4750
  22. #define LINE6_DEVID_POCKETPOD 0x5051
  23. #define LINE6_DEVID_PODHD300 0x5057
  24. #define LINE6_DEVID_PODHD400 0x5058
  25. #define LINE6_DEVID_PODHD500 0x414D
  26. #define LINE6_DEVID_PODSTUDIO_GX 0x4153
  27. #define LINE6_DEVID_PODSTUDIO_UX1 0x4150
  28. #define LINE6_DEVID_PODSTUDIO_UX2 0x4151
  29. #define LINE6_DEVID_PODX3 0x414a
  30. #define LINE6_DEVID_PODX3LIVE 0x414b
  31. #define LINE6_DEVID_PODXT 0x5044
  32. #define LINE6_DEVID_PODXTLIVE 0x4650
  33. #define LINE6_DEVID_PODXTPRO 0x5050
  34. #define LINE6_DEVID_TONEPORT_GX 0x4147
  35. #define LINE6_DEVID_TONEPORT_UX1 0x4141
  36. #define LINE6_DEVID_TONEPORT_UX2 0x4142
  37. #define LINE6_DEVID_VARIAX 0x534d
  38. #define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_INDEX_ ## x
  39. enum {
  40. LINE6_INDEX_BASSPODXT,
  41. LINE6_INDEX_BASSPODXTLIVE,
  42. LINE6_INDEX_BASSPODXTPRO,
  43. LINE6_INDEX_GUITARPORT,
  44. LINE6_INDEX_POCKETPOD,
  45. LINE6_INDEX_PODHD300,
  46. LINE6_INDEX_PODHD400,
  47. LINE6_INDEX_PODHD500,
  48. LINE6_INDEX_PODSTUDIO_GX,
  49. LINE6_INDEX_PODSTUDIO_UX1,
  50. LINE6_INDEX_PODSTUDIO_UX2,
  51. LINE6_INDEX_PODX3,
  52. LINE6_INDEX_PODX3LIVE,
  53. LINE6_INDEX_PODXT,
  54. LINE6_INDEX_PODXTLIVE,
  55. LINE6_INDEX_PODXTPRO,
  56. LINE6_INDEX_TONEPORT_GX,
  57. LINE6_INDEX_TONEPORT_UX1,
  58. LINE6_INDEX_TONEPORT_UX2,
  59. LINE6_INDEX_VARIAX,
  60. LINE6_BIT(BASSPODXT),
  61. LINE6_BIT(BASSPODXTLIVE),
  62. LINE6_BIT(BASSPODXTPRO),
  63. LINE6_BIT(GUITARPORT),
  64. LINE6_BIT(POCKETPOD),
  65. LINE6_BIT(PODHD300),
  66. LINE6_BIT(PODHD400),
  67. LINE6_BIT(PODHD500),
  68. LINE6_BIT(PODSTUDIO_GX),
  69. LINE6_BIT(PODSTUDIO_UX1),
  70. LINE6_BIT(PODSTUDIO_UX2),
  71. LINE6_BIT(PODX3),
  72. LINE6_BIT(PODX3LIVE),
  73. LINE6_BIT(PODXT),
  74. LINE6_BIT(PODXTLIVE),
  75. LINE6_BIT(PODXTPRO),
  76. LINE6_BIT(TONEPORT_GX),
  77. LINE6_BIT(TONEPORT_UX1),
  78. LINE6_BIT(TONEPORT_UX2),
  79. LINE6_BIT(VARIAX),
  80. LINE6_BITS_PRO = LINE6_BIT_BASSPODXTPRO | LINE6_BIT_PODXTPRO,
  81. LINE6_BITS_LIVE = LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_PODXTLIVE |
  82. LINE6_BIT_PODX3LIVE,
  83. LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE |
  84. LINE6_BIT_PODXTPRO,
  85. LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE,
  86. LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 |
  87. LINE6_BIT_PODHD400 |
  88. LINE6_BIT_PODHD500,
  89. LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT |
  90. LINE6_BIT_BASSPODXTLIVE |
  91. LINE6_BIT_BASSPODXTPRO
  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. #define LINE6_BIT_CTRL_PCM_HW (LINE6_BIT_CONTROL | \
  100. LINE6_BIT_PCM | \
  101. LINE6_BIT_HWMON)
  102. #define LINE6_FALLBACK_INTERVAL 10
  103. #define LINE6_FALLBACK_MAXPACKETSIZE 16
  104. #endif