summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2017-07-09 15:21:55 -0500
committerMartin Roth <martinroth@google.com>2017-07-12 18:06:06 +0000
commit13da730b9c06f158b5eaea4e9453f93221e6e353 (patch)
tree5814607a24e9e8c021ee0336a58d6d654636de33
parent93be41dcc11be7d8a238db4533c01f53af2ea8b8 (diff)
samsung/lumpy: add board-specific USB port info
Add capability and location data for USB ports/devices via _PLD and _UPC ACPI methods, which is utilized by Windows and required by macOS. Move inclusion of mainboard.asl after southbridge asl files so scopes referenced in usb.asl are valid. Change-Id: Id98aa5f6dbdcbb8da4616d4fce6e7388f3ba4656 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/20515 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/mainboard/samsung/lumpy/acpi/mainboard.asl3
-rw-r--r--src/mainboard/samsung/lumpy/acpi/usb.asl130
-rw-r--r--src/mainboard/samsung/lumpy/dsdt.asl6
3 files changed, 136 insertions, 3 deletions
diff --git a/src/mainboard/samsung/lumpy/acpi/mainboard.asl b/src/mainboard/samsung/lumpy/acpi/mainboard.asl
index 8fa50677f0..0fceabf4a9 100644
--- a/src/mainboard/samsung/lumpy/acpi/mainboard.asl
+++ b/src/mainboard/samsung/lumpy/acpi/mainboard.asl
@@ -80,3 +80,6 @@ Scope (\_SB) {
Name (BATV, "SAMSUNG")
Name (BATM, "LUMPY")
Name (BATS, "BATTERY")
+
+/* USB port entries */
+#include "acpi/usb.asl"
diff --git a/src/mainboard/samsung/lumpy/acpi/usb.asl b/src/mainboard/samsung/lumpy/acpi/usb.asl
new file mode 100644
index 0000000000..0dce39eafa
--- /dev/null
+++ b/src/mainboard/samsung/lumpy/acpi/usb.asl
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+Scope (\_SB.PCI0.EHC1.HUB7.PRT1)
+{
+ // Hub Port 1
+ Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
+ {
+ 0xFF, // Connectable
+ 0xFF, // OEM Connector
+ Zero, // Reserved
+ Zero // Reserved
+ })
+
+ // Not Visible
+ Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
+ {
+ Return (GPLD (Zero))
+ }
+
+ Device (USB1)
+ {
+ Name (_ADR, 1)
+
+ // Left USB Port
+ Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
+ {
+ 0xFF, // Connectable
+ Zero, // USB Port
+ Zero, // Reserved
+ Zero // Reserved
+ })
+
+ // Visible
+ Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
+ {
+ Return (GPLD (One))
+ }
+
+ }
+
+ Device (USB2)
+ {
+ Name (_ADR, 2)
+
+ // Right USB Port
+ Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
+ {
+ 0xFF, // Connectable
+ Zero, // USB Port
+ Zero, // Reserved
+ Zero // Reserved
+ })
+
+ // Visible
+ Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
+ {
+ Return (GPLD (One))
+ }
+ }
+
+ Device (USB4)
+ {
+ Name (_ADR, 4)
+
+ // SD Card Slot
+ Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
+ {
+ 0xFF, // Connectable
+ 0xFF, // OEM Connector
+ Zero, // Reserved
+ Zero // Reserved
+ })
+
+ // Not Visible
+ Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
+ {
+ Return (GPLD (Zero))
+ }
+ }
+
+}
+
+Scope (\_SB.PCI0.EHC2.HUB7.PRT1)
+{
+ // Hub Port 2
+ Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
+ {
+ 0xFF, // Connectable
+ 0xFF, // OEM Connector
+ Zero, // Reserved
+ Zero // Reserved
+ })
+
+ // Not Visible
+ Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
+ {
+ Return (GPLD (Zero))
+ }
+
+ Device (USB4)
+ {
+ Name (_ADR, 4)
+
+ // Webcam
+ Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
+ {
+ 0xFF, // Connectable
+ 0xFF, // OEM Connector
+ Zero, // Reserved
+ Zero // Reserved
+ })
+
+ // Not Visible
+ Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
+ {
+ Return (GPLD (Zero))
+ }
+ }
+}
diff --git a/src/mainboard/samsung/lumpy/dsdt.asl b/src/mainboard/samsung/lumpy/dsdt.asl
index 28b0c1b77d..135919e67f 100644
--- a/src/mainboard/samsung/lumpy/dsdt.asl
+++ b/src/mainboard/samsung/lumpy/dsdt.asl
@@ -34,9 +34,6 @@ DefinitionBlock(
// General Purpose Events
//#include "acpi/gpe.asl"
- // mainboard specific devices
- #include "acpi/mainboard.asl"
-
#include <cpu/intel/model_206ax/acpi/cpu.asl>
#include "acpi/thermal.asl"
@@ -52,6 +49,9 @@ DefinitionBlock(
}
}
+ // mainboard specific devices
+ #include "acpi/mainboard.asl"
+
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
/* Chipset specific sleep states */