Make bxm bits configurable.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
diff --git a/cgminer.c b/cgminer.c
index d3b80bd..b98baec 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -1302,6 +1302,9 @@ static struct opt_table opt_config_table[] = {
OPT_WITH_ARG("--bxf-temp-target",
set_int_0_to_200, opt_show_intval, &opt_bxf_temp_target,
"Set target temperature for BXF devices"),
+ OPT_WITH_ARG("--bxm-bits",
+ set_int_0_to_100, opt_show_intval, &opt_bxm_bits,
+ "Set BXM bits for overclocking"),
#endif
#ifdef HAVE_CURSES
OPT_WITHOUT_ARG("--compact",
diff --git a/driver-bitfury.c b/driver-bitfury.c
index a55b42d..98d69eb 100644
--- a/driver-bitfury.c
+++ b/driver-bitfury.c
@@ -17,6 +17,7 @@
int opt_bxf_temp_target = BXF_TEMP_TARGET / 10;
int opt_nf1_bits = 50;
+int opt_bxm_bits = 50;
/* Wait longer 1/3 longer than it would take for a full nonce range */
#define BF1WAIT 1600
@@ -714,8 +715,7 @@ static bool bxm_detect_one(struct cgpu_info *bitfury, struct bitfury_info *info)
ret = info->spi_txrx(bitfury, info);
if (!ret)
goto out;
- /* FIXME make configurable and use a faster default. */
- info->osc6_bits = 50;
+ info->osc6_bits = opt_bxm_bits;
ret = bxm_reinit(bitfury, info);
if (!ret)
goto out;
diff --git a/driver-bitfury.h b/driver-bitfury.h
index fa8bef9..9d76440 100644
--- a/driver-bitfury.h
+++ b/driver-bitfury.h
@@ -25,6 +25,7 @@
extern int opt_bxf_temp_target;
extern int opt_nf1_bits;
+extern int opt_bxm_bits;
#define NF1_PIN_LED 0
#define NF1_PIN_SCK_OVR 5