[U-Boot-Users] Patch PPC440GX speed

Carl Riechers criechers at yahoo.com
Sun Feb 29 21:54:21 CET 2004


This patch adds the PPC440GX prbdv0 divider to the
memory clock equation.  This is my first experience
with u-boot, my thanks to Wolfgang, Travis, and
everyone that has contributed.  I saw my first u-boot
prompt after adding this divider with the correct
SDRAM settings.

Carl

--- ./u-boot-bl/cpu/ppc4xx/speed.c	2004-02-29
14:07:35.000000000 -0600
+++ ./u-boot/cpu/ppc4xx/speed.c	2004-02-29
14:13:04.000000000 -0600
@@ -247,7 +247,7 @@ void get_sys_info (sys_info_t *
sysInfo)
 	unsigned long temp1;
 	unsigned long lfdiv;
 	unsigned long m;
-
+	unsigned long prbdv0;    
 
 	/* Extract configured divisors */
 	mfsdr( sdr_sdstp0,strp0 );
@@ -263,6 +263,7 @@ void get_sys_info (sys_info_t *
sysInfo)
 	sysInfo->pllOpbDiv = temp ? temp : 4;
 	temp = (strp1 & PLLSYS1_PERCLK_DIV_MASK) >> 24;
 	sysInfo->pllExtBusDiv = temp ? temp : 4;
+	prbdv0 = (strp0 >> 2) & 0x7;
 
 	/* Calculate 'M' based on feedback source */
 	temp = (strp0 & PLLSYS0_SEL_MASK) >> 27;
@@ -284,7 +285,7 @@ void get_sys_info (sys_info_t *
sysInfo)
 	/* Now calculate the individual clocks */
 	sysInfo->freqVCOMhz = (m * CONFIG_SYS_CLK_FREQ) +
(m>>1);
 	sysInfo->freqProcessor =
sysInfo->freqVCOMhz/sysInfo->pllFwdDivA;
-	sysInfo->freqPLB =
sysInfo->freqVCOMhz/sysInfo->pllFwdDivB;
+	sysInfo->freqPLB =
sysInfo->freqVCOMhz/sysInfo->pllFwdDivB/prbdv0;
 	sysInfo->freqOPB =
sysInfo->freqPLB/sysInfo->pllOpbDiv;
 	sysInfo->freqEPB =
sysInfo->freqOPB/sysInfo->pllExtBusDiv;
 



__________________________________
Do you Yahoo!?
Get better spam protection with Yahoo! Mail.
http://antispam.yahoo.com/tools




More information about the U-Boot mailing list