summaryrefslogtreecommitdiff
path: root/src/mainboard/amd/serengeti_leopard/dx
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@openbios.org>2005-12-04 21:52:58 +0000
committerStefan Reinauer <stepan@openbios.org>2005-12-04 21:52:58 +0000
commitbbdd8f4a9f206ca40dea2b15d9458ac048de6c64 (patch)
treeb384ee864e61387679ce31c484090d641d225e30 /src/mainboard/amd/serengeti_leopard/dx
parente38a19372009f39a8814cdee05faf0251640489c (diff)
1203_hcdn.diff:
store every HT device unit id base and pass those info to acpi https://openbios.org/roundup/linuxbios/issue46 Note: This version drops the two scripts a and c and creates the dsdt on the fly from Config.lb using makerule git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2134 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/amd/serengeti_leopard/dx')
-rw-r--r--src/mainboard/amd/serengeti_leopard/dx/amd8131.asl14
-rw-r--r--src/mainboard/amd/serengeti_leopard/dx/amd8151.asl6
-rw-r--r--src/mainboard/amd/serengeti_leopard/dx/amdk8_util.asl16
-rw-r--r--src/mainboard/amd/serengeti_leopard/dx/dsdt_lb.dsl3
-rw-r--r--src/mainboard/amd/serengeti_leopard/dx/pci2.asl2
5 files changed, 34 insertions, 7 deletions
diff --git a/src/mainboard/amd/serengeti_leopard/dx/amd8131.asl b/src/mainboard/amd/serengeti_leopard/dx/amd8131.asl
index 62fa88d6fa..96a7181e3e 100644
--- a/src/mainboard/amd/serengeti_leopard/dx/amd8131.asl
+++ b/src/mainboard/amd/serengeti_leopard/dx/amd8131.asl
@@ -4,7 +4,12 @@
Device (PG0A)
{
- Name (_ADR, 0x00010000) /* 8132 pcix bridge*/
+ /* 8132 pcix bridge*/
+ Method (_ADR, 0, NotSerialized)
+ {
+ Return (DADD(GHCD(HCIN, 0), 0x00000000))
+ }
+
Method (_PRW, 0, NotSerialized)
{
If (CondRefOf (\_S3, Local0)) { Return (Package (0x02) { 0x29, 0x03 }) }
@@ -79,7 +84,12 @@
Device (PG0B)
{
- Name (_ADR, 0x00020000) /* 8132 pcix bridge 2 */
+ /* 8132 pcix bridge 2 */
+ Method (_ADR, 0, NotSerialized)
+ {
+ Return (DADD(GHCD(HCIN, 0), 0x00010000))
+ }
+
Method (_PRW, 0, NotSerialized)
{
If (CondRefOf (\_S3, Local0)) { Return (Package (0x02) { 0x22, 0x03 }) }
diff --git a/src/mainboard/amd/serengeti_leopard/dx/amd8151.asl b/src/mainboard/amd/serengeti_leopard/dx/amd8151.asl
index 381bfa0375..8ce42d3492 100644
--- a/src/mainboard/amd/serengeti_leopard/dx/amd8151.asl
+++ b/src/mainboard/amd/serengeti_leopard/dx/amd8151.asl
@@ -1,7 +1,11 @@
// AMD8151
Device (AGPB)
{
- Name (_ADR, 0x00020000)
+ Method (_ADR, 0, NotSerialized)
+ {
+ Return (DADD(GHCD(HCIN, 0), 0x00010000))
+ }
+
Name (APIC, Package (0x04)
{
Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x10 },
diff --git a/src/mainboard/amd/serengeti_leopard/dx/amdk8_util.asl b/src/mainboard/amd/serengeti_leopard/dx/amdk8_util.asl
index 82c55c4c3d..e9155476c5 100644
--- a/src/mainboard/amd/serengeti_leopard/dx/amdk8_util.asl
+++ b/src/mainboard/amd/serengeti_leopard/dx/amdk8_util.asl
@@ -51,14 +51,14 @@
}
- Method (GHCE, 1, NotSerialized)
+ Method (GHCE, 1, NotSerialized) // check if the HC enabled
{
Store (DerefOf (Index (\_SB.PCI0.HCLK, Arg0)), Local1)
if(LEqual ( And(Local1, 0x01), 0x01)) { Return (0x0F) }
Else { Return (0x00) }
}
- Method (GHCN, 1, NotSerialized)
+ Method (GHCN, 1, NotSerialized) // get the node num for the HC
{
Store (0x00, Local0)
Store (DerefOf (Index (\_SB.PCI0.HCLK, Arg0)), Local1)
@@ -66,7 +66,7 @@
Return (Local0)
}
- Method (GHCL, 1, NotSerialized)
+ Method (GHCL, 1, NotSerialized) // get the link num on node for the HC
{
Store (0x00, Local0)
Store (DerefOf (Index (\_SB.PCI0.HCLK, Arg0)), Local1)
@@ -74,6 +74,16 @@
Return (Local0)
}
+ Method (GHCD, 2, NotSerialized) // get the unit id base for the HT device in HC
+ {
+ Store (0x00, Local0)
+ Store (DerefOf (Index (\_SB.PCI0.HCDN, Arg0)), Local1)
+ Store (Arg1, Local2) // Arg1 could be 3, 2, 1, 0
+ Multiply (Local2, 0x08, Local2) // change to 24, 16, 8, 0
+ Store (And (ShiftRight( Local1, Local2), 0xff), Local0)
+ Return (Local0)
+ }
+
Method (GBUS, 2, NotSerialized)
{
Store (0x00, Local0)
diff --git a/src/mainboard/amd/serengeti_leopard/dx/dsdt_lb.dsl b/src/mainboard/amd/serengeti_leopard/dx/dsdt_lb.dsl
index 2f20a26929..9a7f6b1820 100644
--- a/src/mainboard/amd/serengeti_leopard/dx/dsdt_lb.dsl
+++ b/src/mainboard/amd/serengeti_leopard/dx/dsdt_lb.dsl
@@ -51,6 +51,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1, "AMD-K8", "AMDACPI", 100925440)
External (TOM1)
External (HCLK)
External (SBDN)
+ External (HCDN)
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00180000)
@@ -71,6 +72,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1, "AMD-K8", "AMDACPI", 100925440)
Device (PCI1)
{
+
+ Name (HCIN, 0x00) // HC1
// BUS 1 first HT Chain
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00180000) // Fake
diff --git a/src/mainboard/amd/serengeti_leopard/dx/pci2.asl b/src/mainboard/amd/serengeti_leopard/dx/pci2.asl
index 59999c94b3..a8e80c1617 100644
--- a/src/mainboard/amd/serengeti_leopard/dx/pci2.asl
+++ b/src/mainboard/amd/serengeti_leopard/dx/pci2.asl
@@ -9,6 +9,7 @@ DefinitionBlock ("SSDT2.aml", "SSDT", 1, "AMD-K8", "AMDACPI", 100925440)
External (GHCE, MethodObj)
External (GHCN, MethodObj)
External (GHCL, MethodObj)
+ External (GHCD, MethodObj)
External (GNUS, MethodObj)
External (GIOR, MethodObj)
External (GMEM, MethodObj)
@@ -21,7 +22,6 @@ DefinitionBlock ("SSDT2.aml", "SSDT", 1, "AMD-K8", "AMDACPI", 100925440)
External (\_SB.PCI1.LNKB, DeviceObj)
External (\_SB.PCI1.LNKC, DeviceObj)
External (\_SB.PCI1.LNKD, DeviceObj)
-
Device (PCI2)
{