[OpenBIOS] r585 - cpu/x86/pc/olpc
svn at openbios.org
svn at openbios.org
Thu Aug 30 22:13:18 CEST 2007
Author: wmb
Date: 2007-08-30 22:13:18 +0200 (Thu, 30 Aug 2007)
New Revision: 585
Modified:
cpu/x86/pc/olpc/rmstart.fth
Log:
rmstart.fth - Added commentary describing the code that turns of the MIC bias.
Modified: cpu/x86/pc/olpc/rmstart.fth
===================================================================
--- cpu/x86/pc/olpc/rmstart.fth 2007-08-28 23:18:26 UTC (rev 584)
+++ cpu/x86/pc/olpc/rmstart.fth 2007-08-30 20:13:18 UTC (rev 585)
@@ -128,6 +128,11 @@
h# 01 # al mov al h# 80 # out
+ \ The following code sequence is a workaround for a hardware situation.
+ \ The MIC-on LED defaults to "on", because the CODEC chip powers on with
+ \ VREFOUT (i.e. MIC vbias) on. We don't want the MIC LED to turn on
+ \ automatically on every resume, so we have to turn it off very quickly.
+
\ The next few MSRs allow us to access the 5536
\ EXTMSR - page 449 \ Use PCI device #F for port 2
@@ -141,18 +146,21 @@
op: h# 51000010 # cx mov \ MSR number - CPU interface serial
wrmsr
- op: h# 014fc001 # dx mov
- op: h# 01480001 # ax mov
- op: h# 51000026 # cx mov
+ op: h# 014fc001 # dx mov \ Top of I/O region - 0x14fc, I/O space
+ op: h# 01480001 # ax mov \ Bottom of I/O region - 0x1480, enable
+ op: h# 51000026 # cx mov \ Region 6 configuration
wrmsr
- op: h# a0000001 # dx mov
- op: h# 480fff80 # ax mov
- op: h# 510100e1 # cx mov
+ op: h# a0000001 # dx mov \ Maps I/O space starting at 0x1480
+ op: h# 480fff80 # ax mov \ to the AC97 CODEC (ACC block)
+ op: h# 510100e1 # cx mov \ IOD Base Mask 1 MSR
wrmsr
+ \ Writes 4 to CODEC register 0x76 to turn off VBIAS (VREFOUT)
op: h# 7601.0004 # ax mov op: h# 148c # dx mov op: ax dx out
+ \ End of MIC LED code.
+
\ This code is highly optimized because it runs when the CPU is in
\ it slowest operation mode, so we want to get it done fast.
\ GLCP_SYS_RSTPLL - page 406
More information about the OpenBIOS
mailing list