Browse Source

aan: Allow specifying clock as xHEXX for a raw PLL register config

Luke Dashjr 11 years ago
parent
commit
1bac03d68b
1 changed files with 14 additions and 5 deletions
  1. 14 5
      driver-aan.c

+ 14 - 5
driver-aan.c

@@ -588,11 +588,20 @@ const char *aan_set_clock(struct cgpu_info * const proc, const char * const optn
 	struct thr_info * const thr = proc->thr[0];
 	struct thr_info * const thr = proc->thr[0];
 	struct aan_chip_data * const chip = thr->cgpu_data;
 	struct aan_chip_data * const chip = thr->cgpu_data;
 	
 	
-	const int nv = atoi(newvalue);
-	if (nv <= 0 || nv > AAN_MAX_FREQ)
-		return "Invalid clock frequency";
-	
-	chip->desired_pllreg = aan_freq2pll(nv);
+	if (newvalue[0] == 'x')
+	{
+		char *p;
+		chip->desired_pllreg = strtol(&newvalue[1], &p, 0x10);
+		if (p != &newvalue[5])
+			return "Invalid hex PLL data";
+	}
+	else
+	{
+		const int nv = atoi(newvalue);
+		if (nv <= 0 || nv > AAN_MAX_FREQ)
+			return "Invalid clock frequency";
+		chip->desired_pllreg = aan_freq2pll(nv);
+	}
 	
 	
 	return NULL;
 	return NULL;
 }
 }