Deduplicate various ACPI .asl files.
[coreboot.git] / src / mainboard / amd / mahogany_fam10 / dsdt.asl
index 48e0aeabb0021898871b6ce9ebce9e68cfb20f18..e14467d668e466d06cda1b8a939c3048c89b27dd 100644 (file)
@@ -27,7 +27,7 @@ DefinitionBlock (
        0x00010001      /* OEM Revision */
        )
 {      /* Start of ASL file */
-       /* #include "acpi/debug.asl" */         /* Include global debug methods if needed */
+       /* #include "../../../arch/i386/acpi/debug.asl" */              /* Include global debug methods if needed */
 
        /* Data to be patched by the BIOS during POST */
        /* FIXME the patching is not done yet! */
@@ -313,7 +313,7 @@ DefinitionBlock (
                         * ((bus number + 1) * ((device number * 8) * 4096)) + register offset
                         * The 8 comes from 8 functions per device, and 4096 bytes per function config space
                        */
-                       Offset(0x00090024),     /* Byte offset to SATA register 24h - Bus 0, Device 18, Function 0 */
+                       Offset(0x00088024),     /* Byte offset to SATA register 24h - Bus 0, Device 17, Function 0 */
                        STB5, 32,
                        Offset(0x00098042),     /* Byte offset to OHCI0 register 42h - Bus 0, Device 19, Function 0 */
                        PT0D, 1,
@@ -1162,13 +1162,13 @@ DefinitionBlock (
 
        /* South Bridge */
        Scope(\_SB) { /* Start \_SB scope */
-               #include "acpi/globutil.asl" /* global utility methods expected within the \_SB scope */
+               #include "../../../arch/i386/acpi/globutil.asl" /* global utility methods expected within the \_SB scope */
 
                /*  _SB.PCI0 */
                /* Note: Only need HID on Primary Bus */
                Device(PCI0) {
                        External (TOM1)
-                       External (TOM2)
+                       External (TOM2) /* (<real tom2> >> 20) to make it fit into 32 bit for XP */
                        Name(_HID, EISAID("PNP0A03"))
                        Name(_ADR, 0x00180000)  /* Dev# = BSP Dev#, Func# = 0 */
                        Method(_BBN, 0) { /* Bus number = 0 */
@@ -1366,7 +1366,7 @@ DefinitionBlock (
 
                                /* Real Time Clock Device */
                                Device(RTC0) {
-                                       Name(_HID, EISAID("PNP0B01"))   /* AT Real Time Clock */
+                                       Name(_HID, EISAID("PNP0B00"))   /* AT Real Time Clock (not PIIX4 compatible) */
                                        Name(_CRS, ResourceTemplate() {
                                                IRQNoFlags(){8}
                                                IO(Decode16,0x0070, 0x0070, 0, 2)
@@ -1406,10 +1406,10 @@ DefinitionBlock (
                                        Name(_CRS, ResourceTemplate() {
                                                DMA(Compatibility,BusMaster,Transfer8){4}
                                                IO(Decode16, 0x0000, 0x0000, 0x10, 0x10)
-                                               IO(Decode16, 0x0081, 0x0081, 0x10, 0x03)
-                                               IO(Decode16, 0x0087, 0x0087, 0x10, 0x01)
-                                               IO(Decode16, 0x0089, 0x0089, 0x10, 0x03)
-                                               IO(Decode16, 0x008F, 0x008F, 0x10, 0x01)
+                                               IO(Decode16, 0x0081, 0x0081, 0x01, 0x03)
+                                               IO(Decode16, 0x0087, 0x0087, 0x01, 0x01)
+                                               IO(Decode16, 0x0089, 0x0089, 0x01, 0x03)
+                                               IO(Decode16, 0x008F, 0x008F, 0x01, 0x01)
                                                IO(Decode16, 0x00C0, 0x00C0, 0x10, 0x20)
                                        }) /* End Name(_SB.PCI0.LpcIsaBr.MAD._CRS) */
                                } /* End Device(_SB.PCI0.LpcIsaBr.MAD) */
@@ -1489,7 +1489,7 @@ DefinitionBlock (
                                Store (0x02, SIOD)
                        }
                        /*
-                        * Keyboard PME is routed to SB600 Gevent3. We can wake
+                        * Keyboard PME is routed to SB700 Gevent3. We can wake
                         * up the system by pressing the key.
                         */
                        Method (SIOS, 1)
@@ -1559,29 +1559,29 @@ DefinitionBlock (
                                        0x00000000,             /* Min */
                                        0x00000000,             /* Max */
                                        0x00000000,             /* Translation */
-                                       0x00000000,             /* Max-Min, RLEN */
+                                       0x00000001,             /* Max-Min, RLEN */
                                        ,,
                                        PCBM
                                )
 
                                /* DRAM memory from 4GB to TopMem2 */
                                QWORDMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
-                                       0xFFFFFFFF,             /* Granularity */
-                                       0x00000000,             /*  Min */
+                                       0x00000000,             /* Granularity */
+                                       0x00000000,             /* Min */
                                        0x00000000,             /* Max */
                                        0x00000000,             /* Translation */
-                                       0x00000000,             /* Max-Min, RLEN */
+                                       0x00000001,             /* Max-Min, RLEN */
                                        ,,
                                        DMHI
                                )
 
                                /* BIOS space just below 16EB */
                                QWORDMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
-                                       0xFFFFFFFF,             /* Granularity */
+                                       0x00000000,             /* Granularity */
                                        0x00000000,             /* Min */
-                                       0x00000000,             /*  Max */
+                                       0x00000000,             /* Max */
                                        0x00000000,             /* Translation */
-                                       0x00000000,             /* Max-Min, RLEN */
+                                       0x00000001,             /* Max-Min, RLEN */
                                        ,,
                                        PEBM
                                )
@@ -1614,7 +1614,8 @@ DefinitionBlock (
                                /*
                                * If(LNotEqual(TOM2, 0x00000000)){
                                *       Store(0x100000000,DMHB)                 DRAM from 4GB to TopMem2
-                               *       Subtract(TOM2, 0x100000000, DMHL)
+                               *       ShiftLeft(TOM2, 20, Local0)
+                               *       Subtract(Local0, 0x100000000, DMHL)
                                * }
                                */