[openfirmware] r909 - cpu/x86/pc/neptune

svn at openfirmware.info svn at openfirmware.info
Mon Sep 1 23:05:49 CEST 2008


Author: wmb
Date: 2008-09-01 23:05:49 +0200 (Mon, 01 Sep 2008)
New Revision: 909

Modified:
   cpu/x86/pc/neptune/rmstart.fth
Log:
Neptune - tweaks/fixes for PLL autoconfiguration code.




Modified: cpu/x86/pc/neptune/rmstart.fth
===================================================================
--- cpu/x86/pc/neptune/rmstart.fth	2008-09-01 21:05:11 UTC (rev 908)
+++ cpu/x86/pc/neptune/rmstart.fth	2008-09-01 21:05:49 UTC (rev 909)
@@ -132,7 +132,7 @@
    \ GLCP_SYS_RSTPLL - page 406
    \ If the PLL is already set up, we don't redo the 5536 setup
    op: h# 4c000014 # cx mov   rdmsr     \ MSR value in dx,ax
-   al bl mov
+   al bl mov                            \ Save BOOTSTRAP bits
    op: h# fc00.0000 # ax and  0=  if    \ Start the PLL if not already on
 
 [ifdef] lx-pll-autoconfig
@@ -141,7 +141,7 @@
    \ EDX,EAX contains the value of MSR 4c00.0014 - RSTPLL
    \ The bootstrap bits are 7..1
 
-   al bl mov        \ Get a copy of the BOOTSTRAP bits
+   \ A copy of the BOOTSTRAP bits is already in bl
    h# 1 #  bl shr   \ Shift out CHIP_RESET and align the field at bit 0
 
    \ The bl comparison values are the BOOTSTRAP pin settings.
@@ -154,15 +154,17 @@
    h# 4c # bl cmp  0=  if   op: h# 0000.04d7 # dx mov  else  \ Core 400 Mem 333
    h# 54 # bl cmp  0=  if   op: h# 0000.05db # dx mov  else  \ Core 466 Mem 400
    h# 55 # bl cmp  0=  if   op: h# 0000.03dd # dx mov  else  \ Core 500 Mem 266
+   h# 57 # bl cmp  0=  if   op: h# 0000.05dd # dx mov  else  \ Core 500 Mem 400
    h# 5e # bl cmp  0=  if   op: h# 0000.04e3 # dx mov  else  \ Core 600 Mem 333
-   h# 5f # bl cmp  0=  if   op: h# 0000.05e3 # dx mov  else  \ Core 600 Mem 333
+   h# 5f # bl cmp  0=  if   op: h# 0000.05e3 # dx mov  else  \ Core 600 Mem 400
 
    \ The default value below is for Mitch's test board whose bootstrap value
    \ h# 48 should mean 366/200, but that board is really 500/333
 
-                            op: h# 0000.04dd # dx mov        \ Core 500 Mem 333
+                            op: h# 0000.03d7 # dx mov        \ Core 400 Mem 266
+\                           op: h# 0000.04dd # dx mov        \ Core 500 Mem 333
 
-   then then then then then  \ Same number of then's as number of if's above
+   then then then then then then  \ Same number of then's as number of if's above
 
    op: h# 0000.1800 invert # ax and  \ Clear bypass bits
    op: h# 04ff.6001 # ax or          \ Set SWFLAGS=1, HOLD_COUNT=ff, GLIUPD,COREPD,CHIP_RESET




More information about the openfirmware mailing list