|
|
@ -57,11 +57,13 @@ |
|
|
|
#define BITFORCE_TIMEOUT_MS 999 |
|
|
|
#define BITFORCE_TIMEOUT_MS 999 |
|
|
|
#define MODMINER_TIMEOUT_MS 200 |
|
|
|
#define MODMINER_TIMEOUT_MS 200 |
|
|
|
#define AVALON_TIMEOUT_MS 500 |
|
|
|
#define AVALON_TIMEOUT_MS 500 |
|
|
|
|
|
|
|
#define ICARUS_TIMEOUT_MS 500 |
|
|
|
#else |
|
|
|
#else |
|
|
|
#define BFLSC_TIMEOUT_MS 200 |
|
|
|
#define BFLSC_TIMEOUT_MS 200 |
|
|
|
#define BITFORCE_TIMEOUT_MS 200 |
|
|
|
#define BITFORCE_TIMEOUT_MS 200 |
|
|
|
#define MODMINER_TIMEOUT_MS 100 |
|
|
|
#define MODMINER_TIMEOUT_MS 100 |
|
|
|
#define AVALON_TIMEOUT_MS 200 |
|
|
|
#define AVALON_TIMEOUT_MS 200 |
|
|
|
|
|
|
|
#define ICARUS_TIMEOUT_MS 200 |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_BFLSC |
|
|
|
#ifdef USE_BFLSC |
|
|
@ -94,15 +96,27 @@ static struct usb_endpoints ava_eps[] = { |
|
|
|
}; |
|
|
|
}; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
// TODO: Add support for (at least) Isochronous endpoints
|
|
|
|
|
|
|
|
static struct usb_find_devices find_dev[] = { |
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
#ifdef USE_ICARUS |
|
|
|
#ifdef USE_ICARUS |
|
|
|
{ DRV_ICARUS, "ICA", 0x067b, 0x0230, true, EPI(3), EPO(2), 1 }, |
|
|
|
static struct usb_endpoints ica_eps[] = { |
|
|
|
{ DRV_ICARUS, "LOT", 0x0403, 0x6001, false, EPI(0), EPO(0), 1 }, |
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(3), 0 }, |
|
|
|
{ DRV_ICARUS, "CM1", 0x067b, 0x0230, false, EPI(0), EPO(0), 1 }, |
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPO(2), 0 } |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
static struct usb_endpoints amu_eps[] = { |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(1), 0 }, |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPO(1), 0 } |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
static struct usb_endpoints lot_eps[] = { |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(1), 0 }, |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPO(2), 0 } |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
static struct usb_endpoints cmr_eps[] = { |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(1), 0 }, |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPO(2), 0 } |
|
|
|
|
|
|
|
}; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
// TODO: Add support for (at least) Isochronous endpoints
|
|
|
|
|
|
|
|
static struct usb_find_devices find_dev[] = { |
|
|
|
#ifdef USE_BFLSC |
|
|
|
#ifdef USE_BFLSC |
|
|
|
{ |
|
|
|
{ |
|
|
|
.drv = DRV_BFLSC, |
|
|
|
.drv = DRV_BFLSC, |
|
|
@ -159,6 +173,66 @@ static struct usb_find_devices find_dev[] = { |
|
|
|
.epcount = ARRAY_SIZE(ava_eps), |
|
|
|
.epcount = ARRAY_SIZE(ava_eps), |
|
|
|
.eps = ava_eps }, |
|
|
|
.eps = ava_eps }, |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef USE_ICARUS |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.drv = DRV_ICARUS, |
|
|
|
|
|
|
|
.name = "ICA", |
|
|
|
|
|
|
|
.idVendor = 0x067b, |
|
|
|
|
|
|
|
.idProduct = 0x2303, |
|
|
|
|
|
|
|
.kernel = 0, |
|
|
|
|
|
|
|
.config = 1, |
|
|
|
|
|
|
|
.interface = 0, |
|
|
|
|
|
|
|
.timeout = ICARUS_TIMEOUT_MS, |
|
|
|
|
|
|
|
.epcount = ARRAY_SIZE(ica_eps), |
|
|
|
|
|
|
|
.eps = ica_eps }, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.drv = DRV_ICARUS, |
|
|
|
|
|
|
|
.name = "AMU", |
|
|
|
|
|
|
|
.idVendor = 0x10c4, |
|
|
|
|
|
|
|
.idProduct = 0xea60, |
|
|
|
|
|
|
|
.kernel = 0, |
|
|
|
|
|
|
|
.config = 1, |
|
|
|
|
|
|
|
.interface = 0, |
|
|
|
|
|
|
|
.timeout = ICARUS_TIMEOUT_MS, |
|
|
|
|
|
|
|
.epcount = ARRAY_SIZE(amu_eps), |
|
|
|
|
|
|
|
.eps = amu_eps }, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.drv = DRV_ICARUS, |
|
|
|
|
|
|
|
.name = "BAT", |
|
|
|
|
|
|
|
.idVendor = 0x0403, |
|
|
|
|
|
|
|
.idProduct = 0x6001, |
|
|
|
|
|
|
|
.iProduct = "FT232R USB UART", |
|
|
|
|
|
|
|
.kernel = 0, |
|
|
|
|
|
|
|
.config = 1, |
|
|
|
|
|
|
|
.interface = 0, |
|
|
|
|
|
|
|
.timeout = ICARUS_TIMEOUT_MS, |
|
|
|
|
|
|
|
.epcount = ARRAY_SIZE(lot_eps), |
|
|
|
|
|
|
|
.eps = lot_eps }, |
|
|
|
|
|
|
|
// For any that don't match the above "BAT"
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.drv = DRV_ICARUS, |
|
|
|
|
|
|
|
.name = "LLT", |
|
|
|
|
|
|
|
.idVendor = 0x0403, |
|
|
|
|
|
|
|
.idProduct = 0x6001, |
|
|
|
|
|
|
|
.kernel = 0, |
|
|
|
|
|
|
|
.config = 1, |
|
|
|
|
|
|
|
.interface = 0, |
|
|
|
|
|
|
|
.timeout = ICARUS_TIMEOUT_MS, |
|
|
|
|
|
|
|
.epcount = ARRAY_SIZE(lot_eps), |
|
|
|
|
|
|
|
.eps = lot_eps }, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.drv = DRV_ICARUS, |
|
|
|
|
|
|
|
.name = "CMR", |
|
|
|
|
|
|
|
.idVendor = 0x067b, |
|
|
|
|
|
|
|
.idProduct = 0x0230, |
|
|
|
|
|
|
|
.iProduct = "Cairnsmore1", |
|
|
|
|
|
|
|
.kernel = 0, |
|
|
|
|
|
|
|
.config = 1, |
|
|
|
|
|
|
|
.interface = 0, |
|
|
|
|
|
|
|
.timeout = ICARUS_TIMEOUT_MS, |
|
|
|
|
|
|
|
.epcount = ARRAY_SIZE(cmr_eps), |
|
|
|
|
|
|
|
.eps = cmr_eps }, |
|
|
|
|
|
|
|
#endif |
|
|
|
#ifdef USE_ZTEX |
|
|
|
#ifdef USE_ZTEX |
|
|
|
// This is here so cgminer -n shows them
|
|
|
|
// This is here so cgminer -n shows them
|
|
|
|
// the ztex driver (as at 201303) doesn't use usbutils
|
|
|
|
// the ztex driver (as at 201303) doesn't use usbutils
|
|
|
|