google/parrot: 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: I58ea0b43f7f2c2692630df3bdb06af92566c1202
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/19963
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Matt DeVillier 2017-04-17 18:11:08 -05:00 committed by Martin Roth
parent fa2df2a3f8
commit c5bd8b359b
3 changed files with 155 additions and 1 deletions

View File

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

View File

@ -0,0 +1,150 @@
/*
* 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 (USB2)
{
Name (_ADR, 2)
// 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 (USB3)
{
Name (_ADR, 3)
// Bottom 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)
// Top 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))
}
}
}
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 (USB1)
{
Name (_ADR, 1)
// 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))
}
}
Device (USB3)
{
Name (_ADR, 3)
// 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))
}
}
}

View File

@ -27,7 +27,6 @@ DefinitionBlock(
// Some generic macros
#include "acpi/platform.asl"
#include "acpi/mainboard.asl"
// global NVS and variables
#include <southbridge/intel/bd82x6x/acpi/globalnvs.asl>
@ -50,6 +49,8 @@ DefinitionBlock(
}
}
#include "acpi/mainboard.asl"
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
/* Chipset specific sleep states */