mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-14 16:58:05 +00:00
commit
6fab6c6513
1
miner.h
1
miner.h
@ -207,6 +207,7 @@ enum drv_driver {
|
|||||||
DRIVER_ZTEX,
|
DRIVER_ZTEX,
|
||||||
DRIVER_CPU,
|
DRIVER_CPU,
|
||||||
DRIVER_BFLSC,
|
DRIVER_BFLSC,
|
||||||
|
DRIVER_AVALON,
|
||||||
DRIVER_MAX
|
DRIVER_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
42
usbutils.c
42
usbutils.c
@ -41,6 +41,10 @@
|
|||||||
#define DRV_ICARUS 5
|
#define DRV_ICARUS 5
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_AVALON
|
||||||
|
#define DRV_AVALON 6
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DRV_LAST -1
|
#define DRV_LAST -1
|
||||||
|
|
||||||
#define USB_CONFIG 1
|
#define USB_CONFIG 1
|
||||||
@ -52,10 +56,12 @@
|
|||||||
#define BFLSC_TIMEOUT_MS 500
|
#define BFLSC_TIMEOUT_MS 500
|
||||||
#define BITFORCE_TIMEOUT_MS 500
|
#define BITFORCE_TIMEOUT_MS 500
|
||||||
#define MODMINER_TIMEOUT_MS 200
|
#define MODMINER_TIMEOUT_MS 200
|
||||||
|
#define AVALON_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
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_BFLSC
|
#ifdef USE_BFLSC
|
||||||
@ -81,6 +87,13 @@ static struct usb_endpoints mmq_eps[] = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_AVALON
|
||||||
|
static struct usb_endpoints ava_eps[] = {
|
||||||
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(1), 0 },
|
||||||
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPO(2), 0 }
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
// TODO: Add support for (at least) Isochronous endpoints
|
// TODO: Add support for (at least) Isochronous endpoints
|
||||||
static struct usb_find_devices find_dev[] = {
|
static struct usb_find_devices find_dev[] = {
|
||||||
/*
|
/*
|
||||||
@ -129,6 +142,19 @@ static struct usb_find_devices find_dev[] = {
|
|||||||
.epcount = ARRAY_SIZE(mmq_eps),
|
.epcount = ARRAY_SIZE(mmq_eps),
|
||||||
.eps = mmq_eps },
|
.eps = mmq_eps },
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef USE_AVALON
|
||||||
|
{
|
||||||
|
.drv = DRV_AVALON,
|
||||||
|
.name = "AVA",
|
||||||
|
.idVendor = 0x0403,
|
||||||
|
.idProduct = 0x6001,
|
||||||
|
.kernel = 0,
|
||||||
|
.config = 1,
|
||||||
|
.interface = 1,
|
||||||
|
.timeout = AVALON_TIMEOUT_MS,
|
||||||
|
.epcount = ARRAY_SIZE(ava_eps),
|
||||||
|
.eps = ava_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
|
||||||
@ -163,6 +189,10 @@ extern struct device_drv modminer_drv;
|
|||||||
extern struct device_drv icarus_drv;
|
extern struct device_drv icarus_drv;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_AVALON
|
||||||
|
extern struct device_drv avalon_drv;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define STRBUFLEN 256
|
#define STRBUFLEN 256
|
||||||
static const char *BLANK = "";
|
static const char *BLANK = "";
|
||||||
|
|
||||||
@ -1327,6 +1357,11 @@ static struct usb_find_devices *usb_check(__maybe_unused struct device_drv *drv,
|
|||||||
return usb_check_each(DRV_MODMINER, drv, dev);
|
return usb_check_each(DRV_MODMINER, drv, dev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_AVALON
|
||||||
|
if (drv->drv_id == DRIVER_AVALON)
|
||||||
|
return usb_check_each(DRV_AVALON, drv, dev);
|
||||||
|
#endif
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1786,6 +1821,7 @@ void usb_cleanup()
|
|||||||
case DRIVER_BFLSC:
|
case DRIVER_BFLSC:
|
||||||
case DRIVER_BITFORCE:
|
case DRIVER_BITFORCE:
|
||||||
case DRIVER_MODMINER:
|
case DRIVER_MODMINER:
|
||||||
|
case DRIVER_AVALON:
|
||||||
release_cgpu(cgpu);
|
release_cgpu(cgpu);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -1892,6 +1928,12 @@ void usb_initialise()
|
|||||||
drv_count[modminer_drv.drv_id].limit = lim;
|
drv_count[modminer_drv.drv_id].limit = lim;
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef USE_AVALON
|
||||||
|
if (!found && strcasecmp(ptr, avalon_drv.name) == 0) {
|
||||||
|
drv_count[avalon_drv.drv_id].limit = lim;
|
||||||
|
found = true;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!found)
|
if (!found)
|
||||||
quit(1, "Invalid --usb DRV:limit - unknown DRV='%s'", ptr);
|
quit(1, "Invalid --usb DRV:limit - unknown DRV='%s'", ptr);
|
||||||
|
Loading…
Reference in New Issue
Block a user