[openfirmware] [commit] r1841 - cpu/x86/pc/olpc/via dev/hdaudio
repository service
svn at openfirmware.info
Sat Jun 26 11:27:12 CEST 2010
Author: wmb
Date: Sat Jun 26 11:27:11 2010
New Revision: 1841
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1841
Log:
OLPC XO-1.5 - tweaks to ACPI DSDT and HDAudio configuration reporting to make
Windows happy. Thanks to Luna.
Modified:
cpu/x86/pc/olpc/via/dsdt.dsl
dev/hdaudio/config.fth
dev/hdaudio/cx2058x-nodes.fth
dev/hdaudio/start-cx2058x.fth
Modified: cpu/x86/pc/olpc/via/dsdt.dsl
==============================================================================
--- cpu/x86/pc/olpc/via/dsdt.dsl Fri Jun 25 09:06:37 2010 (r1840)
+++ cpu/x86/pc/olpc/via/dsdt.dsl Sat Jun 26 11:27:11 2010 (r1841)
@@ -40,6 +40,17 @@
"$Id$"
})
+OperationRegion (SMIR, SystemIO, 0x042f, 0x01)
+Field (SMIR, ByteAcc, NoLock, Preserve)
+{
+ SMIE, 8
+}
+Method (FRTH, 1, NotSerialized)
+{
+ Store(Arg0, SMIE)
+ // Type "resume" at the OK prompt to return
+}
+
OperationRegion (UART, SystemIO, 0x03f8, 0x08)
// set to 1 to enable debug output
@@ -290,6 +301,7 @@
//
Method(_WAK, 1, Serialized)
{
+ FRTH(2)
Notify(\_SB.PCI0.USB1, 0x00)
Notify(\_SB.PCI0.USB2, 0x00)
Notify(\_SB.PCI0.USB3, 0x00)
@@ -369,6 +381,7 @@
Store (Zero, GS04) // Clear EXTSMI# Status, why?
}
Sleep(0x64)
+ FRTH(One)
Return (0x00)
}
@@ -2066,6 +2079,7 @@
IO(Decode16,0xE0,0xE0,0x00,0x10)
IO(Decode16,0x380,0x380,0x00,0x8) // Additional EC port
IO(Decode16,0x3E0,0x3E0,0x00,0x8)
+ IO(Decode16,0x3F8,0x3F8,0x00,0x8) // UART
// Reserve 4D0 and 4D1 for IRQ edge/level control port
IO(Decode16, 0x4D0,0x4D0,0x00,0x2)
@@ -2075,6 +2089,8 @@
IO(Decode16, 0, 0, 0, 0, IO1)
// SPI Memory Map IO Base
Memory32Fixed(ReadWrite, 0x00000000, 0x00000000, MEM0)
+ Memory32Fixed(ReadWrite, 0xfed00000, 0x00001000, MEM0) // HPET MMIO
+ Memory32Fixed(ReadWrite, 0xfed30000, 0x00001000, MEM0) // SPI MMIP
})
Method(_CRS, 0)
Modified: dev/hdaudio/config.fth
==============================================================================
--- dev/hdaudio/config.fth Fri Jun 25 09:06:37 2010 (r1840)
+++ dev/hdaudio/config.fth Sat Jun 26 11:27:11 2010 (r1841)
@@ -4,6 +4,9 @@
: config( ( -- null-config-default ) 0 ;
: 1/8" ( u -- u ) h# 10000 or ;
+: oanalog ( u -- u ) h# 70000 or ; \ other analog
+: overrd ( u -- u ) h# 100 or ; \ override
+: black ( u -- u ) h# 1000 or ;
: green ( u -- u ) h# 4000 or ;
: pink ( u -- u ) h# 9000 or ;
: hp-out ( u -- u ) h# 200000 or ;
@@ -12,6 +15,8 @@
: line-in ( u -- u ) h# 800000 or ;
: line-out ( u -- u ) ;
: speaker ( u -- u ) h# 100000 or ;
+: top ( u -- u ) h# 5000000 or ;
+: right ( u -- u ) h# 4000000 or ;
: left ( u -- u ) h# 3000000 or ;
: front ( u -- u ) h# 2000000 or ;
: internal ( u -- u ) h# 10000000 or ;
Modified: dev/hdaudio/cx2058x-nodes.fth
==============================================================================
--- dev/hdaudio/cx2058x-nodes.fth Fri Jun 25 09:06:37 2010 (r1840)
+++ dev/hdaudio/cx2058x-nodes.fth Sat Jun 26 11:27:11 2010 (r1841)
@@ -15,8 +15,9 @@
: portg ( -- ) h# 1f set-node ; \ Port G - speaker driver
: porth ( -- ) h# 20 set-node ; \ Port H - S/PDIF out
: porti ( -- ) h# 22 set-node ; \ Port I - S/PDIF out
-: portj ( -- ) h# 23 set-node ; \ Digital mic
+: portj ( -- ) h# 23 set-node ; \ Digital mic 1/2
: vendor ( -- ) h# 25 set-node ; \ Vendor-specific controls
+: portk ( -- ) h# 27 set-node ; \ Port K - Dig Mic 3/4
\ LICENSE_BEGIN
\ Copyright (c) 2009 Luke Gorrie <luke at bup.co.nz>
Modified: dev/hdaudio/start-cx2058x.fth
==============================================================================
--- dev/hdaudio/start-cx2058x.fth Fri Jun 25 09:06:37 2010 (r1840)
+++ dev/hdaudio/start-cx2058x.fth Sat Jun 26 11:27:11 2010 (r1841)
@@ -60,16 +60,17 @@
porta config( 1/8" green left hp-out jack )config
porta config( 1/8" green left hp-out jack )config
portb config( 1/8" pink left mic-in jack )config
- portc config( builtin internal front mic-in )config
- portd config( unused line-out )config
- porte config( unused line-out )config
- portf config( 1/8" pink left line-in jack )config
- portg config( builtin internal front speaker )config
- porth config( unused spdiff-out )config
- porti config( unused spdiff-out )config
- portj config( unused mic-in )config
+ portc config( builtin internal top mic-in overrd oanalog )config
+ portd config( unused line-out overrd )config
+ porte config( unused line-out overrd )config
+ portf config( unused line-out overrd )config
+ portg config( builtin internal front speaker overrd oanalog )config
+ porth config( unused line-out overrd )config
+ porti config( unused line-out overrd )config
+ portj config( unused line-out overrd )config
vendor \ Vendor node
+ portk config( unused line-out overrd )config \ Luna
\ Codec registers
21000 place-verb \ Undocumented register
@@ -91,12 +92,12 @@
31000 place-verb \ Undocumented register
32000 place-verb \ Undocumented register
33000 place-verb \ Undocumented register
- 34001 place-verb \ Maximum output power for speaker - see Class-DSpeakerPower.pdf
+ 34003 place-verb \ Maximum output power for speaker - see Class-DSpeakerPower.pdf
35000 place-verb \ Undocumented register
3600A place-verb \ Undocumented register
37000 place-verb \ Undocumented register
- 38021 place-verb \ over-current / short-circuit protection, 2.6A threshold
- 390C5 place-verb \ temperature protection at 79.5C
+ 38022 place-verb \ over-current / short-circuit protection, 2.6A threshold
+ 39057 place-verb \ temperature protection at 79.5C
3A000 place-verb \ Undocumented register
\ Digital registers
41541 place-verb \ Undocumented register
@@ -112,7 +113,7 @@
afg \ Audio Function Group node
- 71C01 place-verb \ Undocumented register
+ 71C00 place-verb \ Undocumented register
71D00 place-verb \ SPDIF OFF BUT Int-Mic on \ Undocumented register
71E00 place-verb \ Undocumented register
71F00 place-verb \ disable software GSMark protection
More information about the openfirmware
mailing list