[openfirmware] r1099 - cpu/x86/pc/olpc

svn at openfirmware.info svn at openfirmware.info
Mon Feb 2 09:42:58 CET 2009


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




More information about the openfirmware mailing list