Browse Source

Support new overclocking speeds for avalon: 325, 350 and 375

nfactor-troky
Con Kolivas 12 years ago
parent
commit
c64d95f267
  1. 11
      ASIC-README
  2. 31
      driver-avalon.c

11
ASIC-README

@ -103,7 +103,10 @@ It is possible to set this a little lower if you are trying to tune for short
block mining (eg p2pool) but much lower and the device will start creating block mining (eg p2pool) but much lower and the device will start creating
duplicate shares. duplicate shares.
Sample settings for different frequencies (last 2 values): Sample settings for valid different frequencies (last 2 values):
34:375
36:350
39:325
43:300 43:300
45:282 (default) 45:282 (default)
47:270 47:270
@ -111,14 +114,14 @@ Sample settings for different frequencies (last 2 values):
Frequency: Frequency:
This is the clock speed of the devices. Only specific values work, 256, 270, This is the clock speed of the devices. Only specific values work, 256, 270,
282 (default) and 300. 282 (default), 300, 325, 350 and 375.
If you use the full curses based interface with Avalons you will get this If you use the full curses based interface with Avalons you will get this
information: information:
AVA 0: 22/ 46C 60%/2400R AVA 0: 22/ 46C 2400R
The values are: The values are:
ambient temp / highest device temp set fan % / lowest detected fan RPM. ambient temp / highest device temp lowest detected ASIC cooling fan RPM.
Use the API for more detailed information than this. Use the API for more detailed information than this.

31
driver-avalon.c

@ -96,18 +96,36 @@ static int avalon_init_task(struct avalon_task *at,
buf[9] = 0x01; buf[9] = 0x01;
buf[10] = 0x00; buf[10] = 0x00;
buf[11] = 0x00; buf[11] = 0x00;
if (frequency == 256) { switch (frequency) {
case 256:
buf[6] = 0x03; buf[6] = 0x03;
buf[7] = 0x08; buf[7] = 0x08;
} else if (frequency == 270) { break;
default:
case 270:
buf[6] = 0x73; buf[6] = 0x73;
buf[7] = 0x08; buf[7] = 0x08;
} else if (frequency == 282) { break;
case 282:
buf[6] = 0xd3; buf[6] = 0xd3;
buf[7] = 0x08; buf[7] = 0x08;
} else if (frequency == 300) { break;
case 300:
buf[6] = 0x63; buf[6] = 0x63;
buf[7] = 0x09; buf[7] = 0x09;
break;
case 325:
buf[6] = 0x28;
buf[7] = 0x0a;
break;
case 350:
buf[6] = 0xf0;
buf[7] = 0x0a;
break;
case 375:
buf[6] = 0xb8;
buf[7] = 0x0b;
break;
} }
return 0; return 0;
@ -447,11 +465,14 @@ static bool get_options(int this_option_offset, int *baud, int *miner_count,
case 270: case 270:
case 282: case 282:
case 300: case 300:
case 325:
case 350:
case 375:
*frequency = tmp; *frequency = tmp;
break; break;
default: default:
quit(1, "Invalid avalon-options for " quit(1, "Invalid avalon-options for "
"frequency must be 256/270/282/300"); "frequency must be 256/270/282/300/325/350/375");
} }
} }
} }

Loading…
Cancel
Save