summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2017-04-17 18:00:25 -0500
committerMartin Roth <martinroth@google.com>2017-05-31 19:09:12 +0200
commitfa2df2a3f88ed9d383b78f3a70815fd2ca9fd569 (patch)
treeb70d71a1279b49e3c7723db158f20bd00470ad0f
parenta7033936129baff23fd4ad83ca5963795c4c05c6 (diff)
downloadcoreboot-fa2df2a3f88ed9d383b78f3a70815fd2ca9fd569.tar.xz
sb/bd82x6x: add ACPI method to generate USB port info
Add ACPI method GPLD to generate port location data when passed visiblity info. Will be used by _PLD method in board-specific USB .asl files. Change-Id: Ib83660d6548112ceb6c75a31e5ce6c4a6041ccfb Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/19962 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r--src/southbridge/intel/bd82x6x/acpi/usb.asl40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/southbridge/intel/bd82x6x/acpi/usb.asl b/src/southbridge/intel/bd82x6x/acpi/usb.asl
index e76acb8c91..5f78e3e904 100644
--- a/src/southbridge/intel/bd82x6x/acpi/usb.asl
+++ b/src/southbridge/intel/bd82x6x/acpi/usb.asl
@@ -40,6 +40,27 @@ Device (EHC1)
{
Name (_ADR, 0x00000000)
+
+ // GPLD: Generate Port Location Data (PLD)
+ Method (GPLD, 1, Serialized)
+ {
+
+ Name (PCKG, Package (0x01)
+ {
+ Buffer (0x10) {}
+ })
+
+ // REV: Revision 0x02 for ACPI 5.0
+ CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV)
+ Store (0x02, REV)
+
+ // VISI: Port visibility to user per port
+ CreateField (DerefOf (Index (PCKG, Zero)), 0x40, One, VISI)
+ Store (Arg0, VISI)
+
+ Return (PCKG)
+ }
+
// How many are there?
Device (PRT1) { Name (_ADR, 1) } // USB Port 0
Device (PRT2) { Name (_ADR, 2) } // USB Port 1
@@ -74,6 +95,25 @@ Device (EHC2)
{
Name (_ADR, 0x00000000)
+ // GPLD: Generate Port Location Data (PLD)
+ Method (GPLD, 1, Serialized)
+ {
+ Name (PCKG, Package (0x01)
+ {
+ Buffer (0x10) {}
+ })
+
+ // REV: Revision 0x02 for ACPI 5.0
+ CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV)
+ Store (0x02, REV)
+
+ // VISI: Port visibility to user per port
+ CreateField (DerefOf (Index (PCKG, Zero)), 0x40, One, VISI)
+ Store (Arg0, VISI)
+
+ Return (PCKG)
+ }
+
// How many are there?
Device (PRT1) { Name (_ADR, 1) } // USB Port 0
Device (PRT2) { Name (_ADR, 2) } // USB Port 1