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

All beltino variants use the exact same USB port layout.

BUG=none
BRANCH=none
TEST=none

Change-Id: I603fe9cacddb841592886724b260868323c95bb7
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 1186915c1f
Original-Change-Id: If5b540949ea071f7165876e12ac1ef50e62d2b22
Original-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/19966
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/521038
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-17 18:29:58 -05:00 committed by chrome-bot
parent 8e38aa70ab
commit 917978e265
2 changed files with 147 additions and 0 deletions

View file

@ -67,3 +67,6 @@ Scope (\_SB.PCI0.RP02)
}
}
}
/* USB port entries */
#include "acpi/usb.asl"

View file

@ -0,0 +1,144 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2012 Google Inc.
*
* 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.HUB7.PRT2)
{
// USB 2.0 Port 1
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.HUB7.PRT3)
{
// USB 2.0 Port 2
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.HUB7.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.HUB7.PRT5)
{
// USB 2.0 Port 3
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.HUB7.PRT6)
{
// USB 2.0 Port 4
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.HUB7.SSP1)
{
// USB 3.0 Port 1
Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}
Scope (\_SB.PCI0.XHCI.HUB7.SSP2)
{
// USB 3.0 Port 2
Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}
Scope (\_SB.PCI0.XHCI.HUB7.SSP3)
{
// USB 3.0 Port 3
Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}
Scope (\_SB.PCI0.XHCI.HUB7.SSP4)
{
// USB 3.0 Port 4
Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
{
0xFF, // Connectable
0x03, // USB 3.0 Port
Zero, // Reserved
Zero // Reserved
})
}