Author: wmb Date: 2009-02-02 09:42:58 +0100 (Mon, 02 Feb 2009) New Revision: 1099
Modified: cpu/x86/pc/olpc/dsdt.dsl Log: OLPC trac 9228 - Windows shows Embedded Controller device with non-functional driver. Fixed by eliminating the EC0 node in the ACPI tables, moving the EC's registers under the MEM node.
Modified: cpu/x86/pc/olpc/dsdt.dsl =================================================================== --- cpu/x86/pc/olpc/dsdt.dsl 2009-02-02 07:01:43 UTC (rev 1098) +++ cpu/x86/pc/olpc/dsdt.dsl 2009-02-02 08:42:58 UTC (rev 1099) @@ -782,6 +782,15 @@
IO (Decode16, 0x0030, 0x0030, 0x00, 0x10, ) // I/O ports to fake out SMI interrupts IO (Decode16, 0x03c0, 0x03c0, 0x00, 0x20, ) // Claim VGA I/O ports + // We claim the EC ports here instead of in an EC node + // because we don't want Windows to load an EC driver + // nor to complain about not being able to do so. + IO (Decode16, 0x62, 0x62, 0, 1) // Claim EC I/O ports + IO (Decode16, 0x66, 0x66, 0, 1) + IO (Decode16, 0x61, 0x61, 0, 1) // Extra EC I/O ports + IO (Decode16, 0x68, 0x68, 0, 1) + IO (Decode16, 0x6c, 0x6c, 0, 1) + IO (Decode16, 0x380, 0x380, 0, 4) }) CreateDWordField (MBRB, _SB.PCI0.SBF0.MEM._CRS._Y06._LEN, EM1L) Store (MEMK, Local0) // Memory size in Kbytes (from EBDA) @@ -837,27 +846,27 @@ }) }
- Device(EC0) { - Name (_HID, EISAID("PNP0C09")) - Name (_CRS, ResourceTemplate() { - IO (Decode16, 0x62, 0x62, 0, 1) - IO (Decode16, 0x66, 0x66, 0, 1) - IO (Decode16, 0x61, 0x61, 0, 1) - IO (Decode16, 0x68, 0x68, 0, 1) - IO (Decode16, 0x6c, 0x6c, 0, 1) - IO (Decode16, 0x380, 0x380, 0, 4) - }) - -// // Define that the EC SCI is bit 0 of the GP_STS register -// Name(_GPE, 0) { -// OperationRegion(ECOR, EmbeddedControl, 0, 0xFF) -// Field(ECOR, ByteAcc, Lock, Preserve) { -// // Field definitions go here -// } -// } +// Device(EC0) { +// Name (_HID, EISAID("PNP0C09")) +// Name (_CRS, ResourceTemplate() { +// IO (Decode16, 0x62, 0x62, 0, 1) +// IO (Decode16, 0x66, 0x66, 0, 1) +//// IO (Decode16, 0x61, 0x61, 0, 1) +//// IO (Decode16, 0x68, 0x68, 0, 1) +//// IO (Decode16, 0x6c, 0x6c, 0, 1) +//// IO (Decode16, 0x380, 0x380, 0, 4) +// }) +// +// // Define that the EC SCI is bit 0 of the GP_STS register +// Name(_GPE, 0) // Possibly wrong +// +//// OperationRegion(ECOR, EmbeddedControl, 0, 0xFF) { +//// Field(ECOR, ByteAcc, Lock, Preserve) { +//// // Field definitions go here +//// } +//// } +// }
- } - // Elided superio
// XXX ??? Maybe this should be moved out a level so it's not under SB F0
openfirmware@openfirmware.info