123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #ifndef BITFURY_H
- #define BITFURY_H
- #include "miner.h"
- #include "usbutils.h"
- #include "mcp2210.h"
- #define BXF_CLOCK_OFF 0
- #define BXF_CLOCK_MIN 32
- #define BXF_CLOCK_MAX 63
- #define BXF_TEMP_TARGET 820
- #define BXF_TEMP_HYSTERESIS 30
- extern int opt_bxf_temp_target;
- extern int opt_nfu_bits;
- extern int opt_bxm_bits;
- extern int opt_bxf_bits;
- extern int opt_bxf_debug;
- extern int opt_osm_led_mode;
- #define NFU_PIN_LED 0
- #define NFU_PIN_SCK_OVR 5
- #define NFU_PIN_PWR_EN 6
- #define NFU_PIN_PWR_EN0 7
- #define SPIBUF_SIZE 16384
- #define BITFURY_REFRESH_DELAY 100
- #define SIO_RESET_REQUEST 0
- #define SIO_SET_LATENCY_TIMER_REQUEST 0x09
- #define SIO_SET_EVENT_CHAR_REQUEST 0x06
- #define SIO_SET_ERROR_CHAR_REQUEST 0x07
- #define SIO_SET_BITMODE_REQUEST 0x0B
- #define SIO_RESET_PURGE_RX 1
- #define SIO_RESET_PURGE_TX 2
- #define BITMODE_RESET 0x00
- #define BITMODE_MPSSE 0x02
- #define SIO_RESET_SIO 0
- #define BXM_LATENCY_MS 2
- struct bitfury_payload {
- unsigned char midstate[32];
- unsigned int junk[8];
- unsigned m7;
- unsigned ntime;
- unsigned nbits;
- unsigned nnonce;
- };
- struct bitfury_info {
- struct cgpu_info *base_cgpu;
- struct thr_info *thr;
- enum sub_ident ident;
- int nonces;
- int total_nonces;
- double saved_nonces;
- int cycles;
- bool valid;
- bool failing;
- int chips;
- char product[8];
-
- uint8_t version;
- uint32_t serial;
- struct timeval tv_start;
-
- pthread_mutex_t lock;
- pthread_t read_thr;
- int last_decitemp;
- int max_decitemp;
- int temp_target;
- int work_id;
- int no_matching_work;
- int maxroll;
- int ver_major;
- int ver_minor;
- int hw_rev;
- uint8_t clocks;
- int *filtered_hw;
- int *job;
- int *submits;
-
- struct mcp_settings mcp;
- char spibuf[SPIBUF_SIZE];
- unsigned int spibufsz;
- int osc6_bits;
-
- struct bitfury_payload *payload;
- unsigned int *oldbuf;
- bool *job_switched;
- bool *second_run;
- struct work **work;
- struct work **owork;
- bool (*spi_txrx)(struct cgpu_info *, struct bitfury_info *info);
- };
- #endif
|