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>
This commit is contained in:
Matt DeVillier 2017-04-17 18:49:50 -05:00 committed by Martin Roth
parent f069edb975
commit 74e1fb0b1a
17 changed files with 227 additions and 0 deletions

View File

@ -136,3 +136,6 @@ Scope (\_SB.LPEA)
}
#include <variant/acpi/mainboard.asl>
/* USB port entries */
#include <variant/acpi/usb.asl>

View File

@ -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
})
}

View File

@ -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
})
}