mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-22 20:44:19 +00:00
icarus ICA initialisation
This commit is contained in:
parent
685d0ef14d
commit
0c3f00c567
@ -294,6 +294,26 @@ static void icarus_initialise(struct cgpu_info *icarus, __maybe_unused int baud)
|
||||
|
||||
break;
|
||||
case IDENT_ICA:
|
||||
// Set Data Control
|
||||
transfer(icarus, PL2303_CTRL_OUT, PL2303_REQUEST_CTRL, PL2303_VALUE_CTRL,
|
||||
icarus->usbdev->found->interface, C_SETDATA);
|
||||
|
||||
if (icarus->usbinfo.nodev)
|
||||
return;
|
||||
|
||||
// Set Line Control
|
||||
uint32_t ica_data[2] = { PL2303_VALUE_LINE0, PL2303_VALUE_LINE1 };
|
||||
_transfer(icarus, PL2303_CTRL_OUT, PL2303_REQUEST_LINE, PL2303_VALUE_LINE,
|
||||
icarus->usbdev->found->interface,
|
||||
&ica_data[0], PL2303_VALUE_LINE_SIZE, C_SETLINE);
|
||||
|
||||
if (icarus->usbinfo.nodev)
|
||||
return;
|
||||
|
||||
// Vendor
|
||||
transfer(icarus, PL2303_VENDOR_OUT, PL2303_REQUEST_VENDOR, PL2303_VALUE_VENDOR,
|
||||
icarus->usbdev->found->interface, C_VENDOR);
|
||||
|
||||
break;
|
||||
case IDENT_AMU:
|
||||
// Set data control
|
||||
|
@ -409,6 +409,8 @@ static const char *C_QUEFLUSHREPLY_S = "QueFlushReply";
|
||||
static const char *C_REQUESTVOLTS_S = "RequestVolts";
|
||||
static const char *C_SENDTESTWORK_S = "SendTestWork";
|
||||
static const char *C_LATENCY_S = "SetLatency";
|
||||
static const char *C_SETLINE_S = "SetLine";
|
||||
static const char *C_VENDOR_S = "Vendor";
|
||||
|
||||
#ifdef EOL
|
||||
#undef EOL
|
||||
@ -879,6 +881,8 @@ static void cgusb_check_init()
|
||||
usb_commands[C_REQUESTVOLTS] = C_REQUESTVOLTS_S;
|
||||
usb_commands[C_SENDTESTWORK] = C_SENDTESTWORK_S;
|
||||
usb_commands[C_LATENCY] = C_LATENCY_S;
|
||||
usb_commands[C_SETLINE] = C_SETLINE_S;
|
||||
usb_commands[C_VENDOR] = C_VENDOR_S;
|
||||
|
||||
stats_initialised = true;
|
||||
}
|
||||
|
25
usbutils.h
25
usbutils.h
@ -13,7 +13,7 @@
|
||||
#include <libusb.h>
|
||||
|
||||
|
||||
// For 0x0403:0x6014/0x6001 FT232H (and possibly others?)
|
||||
// For 0x0403:0x6014/0x6001 FT232H (and possibly others?) - BFL, BAS, BLT, LLT, AVA
|
||||
#define FTDI_TYPE_OUT (LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_OUT)
|
||||
|
||||
#define FTDI_REQUEST_RESET ((uint8_t)0)
|
||||
@ -47,7 +47,7 @@
|
||||
#define FTDI_VALUE_MODEM 0x0303
|
||||
|
||||
|
||||
// For 0x10c4:0xea60 USB cp210x chip
|
||||
// For 0x10c4:0xea60 USB cp210x chip - AMU
|
||||
#define CP210X_TYPE_OUT 0x41
|
||||
|
||||
#define CP210X_REQUEST_DATA 0x07
|
||||
@ -56,6 +56,25 @@
|
||||
#define CP210X_VALUE_DATA 0x0303
|
||||
#define CP210X_DATA_BAUD 0x0001c200
|
||||
|
||||
|
||||
// For 0x067b:0x2303 Prolific PL2303 - ICA
|
||||
#define PL2303_CTRL_DTR 0x01
|
||||
#define PL2303_CTRL_RTS 0x02
|
||||
|
||||
#define PL2303_CTRL_OUT 0x21
|
||||
#define PL2303_VENDOR_OUT 0x40
|
||||
|
||||
#define PL2303_REQUEST_CTRL 0x22
|
||||
#define PL2303_REQUEST_LINE 0x20
|
||||
#define PL2303_REQUEST_VENDOR 0x01
|
||||
|
||||
#define PL2303_VALUE_CTRL (PL2303_CTRL_DTR | PL2303_CTRL_RTS)
|
||||
#define PL2303_VALUE_LINE 0
|
||||
#define PL2303_VALUE_LINE0 0x0001c200
|
||||
#define PL2303_VALUE_LINE1 0x08000000
|
||||
#define PL2303_VALUE_LINE_SIZE 7
|
||||
#define PL2303_VALUE_VENDOR 0
|
||||
|
||||
// Use the device defined timeout
|
||||
#define DEVTIMEOUT 0
|
||||
|
||||
@ -184,6 +203,8 @@ enum usb_cmds {
|
||||
C_REQUESTVOLTS,
|
||||
C_SENDTESTWORK,
|
||||
C_LATENCY,
|
||||
C_SETLINE,
|
||||
C_VENDOR,
|
||||
C_MAX
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user