| 
					
				 | 
			
			
				@@ -154,3 +154,65 @@ static int calc_tacc(unsigned int cyc, int nwait_en, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     unsigned long hclk_tns, unsigned long *v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	unsigned int div = to_div(cyc, hclk_tns); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	unsigned long val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	s3c_freq_iodbg("%s: cyc=%u, nwait=%d, hclk=%lu => div=%u\n", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       __func__, cyc, nwait_en, hclk_tns, div); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* if nWait enabled on an bank, Tacc must be at-least 4 cycles. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (nwait_en && div < 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		div = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	switch (div) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		val = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		val = div - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 5: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 6: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		val = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 7: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		val = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 9: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 10: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		val = 6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 11: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 12: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 13: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 14: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		val = 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	*v |= val << 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * s3c2410_calc_bank - calculate bank timing infromation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @cfg: The configuration we need to calculate for. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @bt: The bank timing information. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Given the cycle timine for a bank @bt, calculate the new BANKCON 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * setting for the @cfg timing. This updates the timing information 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * ready for the cpu frequency change. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static int s3c2410_calc_bank(struct s3c_cpufreq_config *cfg, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     struct s3c2410_iobank_timing *bt) 
			 |