diff options
author | Matt DeVillier <matt.devillier@gmail.com> | 2017-04-17 18:49:50 -0500 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2017-06-04 21:39:21 +0200 |
commit | 74e1fb0b1a4e7a74a27216c84a3ede2a2457ba1c (patch) | |
tree | 314d84b4e6a7f0909d85027b85cc1ba876902a53 | |
parent | f069edb9754b5c3fb7554609c917c77c578ea818 (diff) |
google/rambi: 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.
Each rambi variant has a different USB port config.
Port data currently available for only candy and squawks;
other variants to be added once data obtained.
Change-Id: If7ce3d135d6ffe53ab1566d5258d01b052ac47f4
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/19974
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
17 files changed, 227 insertions, 0 deletions
diff --git a/src/mainboard/google/rambi/acpi/mainboard.asl b/src/mainboard/google/rambi/acpi/mainboard.asl index 84136d9bda..415065e22f 100644 --- a/src/mainboard/google/rambi/acpi/mainboard.asl +++ b/src/mainboard/google/rambi/acpi/mainboard.asl @@ -136,3 +136,6 @@ Scope (\_SB.LPEA) } #include <variant/acpi/mainboard.asl> + +/* USB port entries */ +#include <variant/acpi/usb.asl> diff --git a/src/mainboard/google/rambi/variants/banjo/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/banjo/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/banjo/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/candy/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/candy/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..028a546cf0 --- /dev/null +++ b/src/mainboard/google/rambi/variants/candy/include/variant/acpi/usb.asl @@ -0,0 +1,132 @@ +/* + * 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.XHCI.RHUB.PRT1) +{ + // Left USB 2.0 + 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)) + } +} +Scope (\_SB.PCI0.XHCI.RHUB.PRT2) +{ + // USB HUB + 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, 4) + + // Right USB 2.0 + 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 (USB3) + { + Name (_ADR, 5) + + // SIM 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.XHCI.RHUB.PRT3) +{ + // 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)) + } +} +Scope (\_SB.PCI0.XHCI.RHUB.PRT4) +{ + // Bluetooth + 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.XHCI.RHUB.SSP1) +{ + // Left USB 3.0 + Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, // Connectable + 0x03, // USB 3.0 Port + Zero, // Reserved + Zero // Reserved + }) +} diff --git a/src/mainboard/google/rambi/variants/clapper/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/clapper/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/clapper/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/enguarde/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/enguarde/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/enguarde/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/glimmer/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/glimmer/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/glimmer/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/gnawty/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/gnawty/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/gnawty/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/heli/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/heli/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/heli/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/kip/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/kip/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/kip/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/ninja/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/ninja/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/ninja/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/orco/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/orco/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/orco/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/quawks/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/quawks/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/quawks/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/rambi/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/rambi/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/rambi/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/squawks/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/squawks/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..cacf40f714 --- /dev/null +++ b/src/mainboard/google/rambi/variants/squawks/include/variant/acpi/usb.asl @@ -0,0 +1,92 @@ +/* + * 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.XHCI.RHUB.PRT1) +{ + // Left USB 2.0 + 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)) + } +} +Scope (\_SB.PCI0.XHCI.RHUB.PRT2) +{ + // Right USB 2.0 + 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)) + } +} +Scope (\_SB.PCI0.XHCI.RHUB.PRT3) +{ + // 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)) + } +} +Scope (\_SB.PCI0.XHCI.RHUB.PRT4) +{ + // Bluetooth + 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.XHCI.RHUB.SSP1) +{ + // Left USB 3.0 + Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities + { + 0xFF, // Connectable + 0x03, // USB 3.0 Port + Zero, // Reserved + Zero // Reserved + }) +} diff --git a/src/mainboard/google/rambi/variants/sumo/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/sumo/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/sumo/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/swanky/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/swanky/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/swanky/include/variant/acpi/usb.asl diff --git a/src/mainboard/google/rambi/variants/winky/include/variant/acpi/usb.asl b/src/mainboard/google/rambi/variants/winky/include/variant/acpi/usb.asl new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/mainboard/google/rambi/variants/winky/include/variant/acpi/usb.asl |