UPSTREAM: google/chell: 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.

BUG=none
BRANCH=none
TEST=none

Change-Id: Ibca733ea7c557899ff2f8d86362cccd7a41bbcca
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 397c7b3411
Original-Change-Id: Ie0b64eadc634049f6b65cf555407337fb7c4363c
Original-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/19976
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Original-Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-on: https://chromium-review.googlesource.com/531192
Commit-Ready: Patrick Georgi <pgeorgi@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
This commit is contained in:
Matt DeVillier 2017-04-22 16:56:39 -05:00 committed by chrome-bot
parent c474c17524
commit a5b7b22ce0
2 changed files with 162 additions and 0 deletions

View file

@ -22,3 +22,6 @@ Scope (\_SB)
Name (_HID, EisaId ("PNP0C0C"))
}
}
/* USB port entries */
#include "usb.asl"

View file

@ -0,0 +1,159 @@
/*
* 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.HS01)
{
// Left Rear USB 2.0 Type-C
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
Zero, // USB Port
Zero, // Reserved
Zero // Reserved
})
// Visible
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (One))
}
}
Scope (\_SB.PCI0.XHCI.RHUB.HS02)
{
// Left Rear USB 2.0 Type-C
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
Zero, // USB Port
Zero, // Reserved
Zero // Reserved
})
// Visible
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (One))
}
}
Scope (\_SB.PCI0.XHCI.RHUB.HS03)
{
// Bluetooth
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0xFF, // OEM Connector
Zero, // Reserved
Zero // Reserved
})
// Not Visible
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (Zero))
}
}
Scope (\_SB.PCI0.XHCI.RHUB.HS04)
{
// SD Card
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0xFF, // OEM Connector
Zero, // Reserved
Zero // Reserved
})
// Not Visible
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (Zero))
}
}
Scope (\_SB.PCI0.XHCI.RHUB.HS05)
{
// Left USB 2.0 Type-A
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
Zero, // USB Port
Zero, // Reserved
Zero // Reserved
})
// Visible
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (One))
}
}
Scope (\_SB.PCI0.XHCI.RHUB.HS07)
{
// Webcam
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0xFF, // OEM Connector
Zero, // Reserved
Zero // Reserved
})
// Not Visible
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (Zero))
}
}
Scope (\_SB.PCI0.XHCI.RHUB.SS01)
{
// Left Rear USB 3.0 Type-C
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}
Scope (\_SB.PCI0.XHCI.RHUB.SS02)
{
// Left Front USB 3.0 Type-C
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}
Scope (\_SB.PCI0.XHCI.RHUB.SS03)
{
// Left USB 3.0 Type-A
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}
Scope (\_SB.PCI0.XHCI.RHUB.SS04)
{
// SD Card
Name (_UPC, Package (0x04)
{
0xFF, // Connectable
0x03, // USB 3.0
Zero, // Reserved
Zero // Reserved
})
}