skylake: ACPI: Clean up and fix XHCI ACPI Device
- Remove the old workarounds for XHCI from broadwell - Add PMC device to expose bits needed for XHCI workarounds - Implement the new workarounds for XHCI, the first will set a bit in the XHCI MMIO and the second will send a message to the PMC if a bit is set indicating the workaround is available. - Clean up the HS/SS port defines and remove unnecessary methods to determine the port count since we only support SPT-LP. BUG=chrome-os-partner:44622,chrome-os-partner:44518 BRANCH=none TEST=build and boot on glados, verify that D0 and D3 can be made to work (by disabling unused USB and the misbehaving camera) Change-Id: I535c9d22308c45a3b9bf7e4045c3d01481acc19c Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: a945f8bc2976d57373be2305c5da40a5691f1e88 Original-Change-Id: I7a57051c0a5c4f5408c2d6ff0aecf660100a1aec Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/295950 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/11537 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
bf31983836
commit
e32da955b3
|
@ -40,6 +40,9 @@
|
||||||
/* PCR Access */
|
/* PCR Access */
|
||||||
#include "pcr.asl"
|
#include "pcr.asl"
|
||||||
|
|
||||||
|
/* PMC 0:1f.2 */
|
||||||
|
#include "pmc.asl"
|
||||||
|
|
||||||
/* Serial IO */
|
/* Serial IO */
|
||||||
#include "serialio.asl"
|
#include "serialio.asl"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 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.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc.
|
||||||
|
*/
|
||||||
|
|
||||||
|
Device (PMC)
|
||||||
|
{
|
||||||
|
Name (_ADR, 0x001f0002)
|
||||||
|
Name (_DDN, "Power Management Controller")
|
||||||
|
|
||||||
|
OperationRegion (PMCP, PCI_Config, 0x00, 0x100)
|
||||||
|
Field (PMCP, AnyAcc, NoLock, Preserve)
|
||||||
|
{
|
||||||
|
Offset (0x48),
|
||||||
|
, 12,
|
||||||
|
PWRM, 20, /* PWRMBASE */
|
||||||
|
}
|
||||||
|
|
||||||
|
OperationRegion (PMCM, SystemMemory, ShiftLeft (PWRM, 12), 0x3f)
|
||||||
|
Field (PMCM, DWordAcc, NoLock, Preserve)
|
||||||
|
{
|
||||||
|
Offset (0x1c), /* PCH_PM_STS */
|
||||||
|
, 24,
|
||||||
|
PMFS, 1, /* PMC_MSG_FULL_STS */
|
||||||
|
Offset (0x20),
|
||||||
|
MPMC, 32, /* MTPMC */
|
||||||
|
Offset (0x24), /* PCH_PM_STS2 */
|
||||||
|
, 20,
|
||||||
|
UWAB, 1, /* USB2 Workaround Available */
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
* This file is part of the coreboot project.
|
* This file is part of the coreboot project.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2009 coresystems GmbH
|
* Copyright (C) 2007-2009 coresystems GmbH
|
||||||
* Copyright (C) 2014 Google Inc.
|
* Copyright (C) 2015 Google Inc.
|
||||||
* Copyright (C) 2015 Intel Corporation.
|
* Copyright (C) 2015 Intel Corporation.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -25,297 +25,162 @@ Device (XHCI)
|
||||||
{
|
{
|
||||||
Name (_ADR, 0x00140000)
|
Name (_ADR, 0x00140000)
|
||||||
|
|
||||||
Name (PLSD, 5) /* Port Link State - RxDetect */
|
Name (_PRW, Package () { GPE0_PME_B0, 3 })
|
||||||
Name (PLSP, 7) /* Port Link State - Polling */
|
|
||||||
|
Method (_DSW, 3)
|
||||||
|
{
|
||||||
|
Store (Arg0, PMEE)
|
||||||
|
}
|
||||||
|
|
||||||
|
Name (_S3D, 3) /* D3 supported in S3 */
|
||||||
|
Name (_S4D, 3) /* D3 supported in S4 */
|
||||||
|
Name (_S0W, 3) /* D3 can wake device in S0 */
|
||||||
|
Name (_S3W, 3) /* D3 can wake system from S3 */
|
||||||
|
Name (_S4W, 3) /* D3 can wake system from S4 */
|
||||||
|
|
||||||
OperationRegion (XPRT, PCI_Config, 0x00, 0x100)
|
OperationRegion (XPRT, PCI_Config, 0x00, 0x100)
|
||||||
Field (XPRT, AnyAcc, NoLock, Preserve)
|
Field (XPRT, AnyAcc, NoLock, Preserve)
|
||||||
{
|
{
|
||||||
Offset (0x0),
|
Offset (0x0),
|
||||||
DVID, 16,
|
DVID, 16, /* VENDORID */
|
||||||
Offset (0x10),
|
Offset (0x10),
|
||||||
, 16,
|
, 16,
|
||||||
XMEM, 16, /* MEM_BASE */
|
XMEM, 16, /* MEM_BASE */
|
||||||
Offset (0x74),
|
Offset (0x74),
|
||||||
D0D3, 2,
|
D0D3, 2, /* POWERSTATE */
|
||||||
, 6,
|
, 6,
|
||||||
PMEE, 1, /* PME_EN */
|
PMEE, 1, /* PME_EN */
|
||||||
, 6,
|
, 6,
|
||||||
PMES, 1, /* PME_STS */
|
PMES, 1, /* PME_STS */
|
||||||
Offset (0xA8),
|
|
||||||
, 13,
|
|
||||||
MW13, 1,
|
|
||||||
MW14, 1,
|
|
||||||
, 17,
|
|
||||||
Offset (0xb0),
|
|
||||||
, 13,
|
|
||||||
MB13, 1,
|
|
||||||
MB14, 1,
|
|
||||||
, 17,
|
|
||||||
Offset (0xd0),
|
|
||||||
PR2, 32, /* USB2PR */
|
|
||||||
PR2M, 32, /* USB2PRM */
|
|
||||||
PR3, 32, /* USB3PR */
|
|
||||||
PR3M, 32, /* USB3PRM */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Method (USRA,0){
|
|
||||||
Return(11)
|
|
||||||
}
|
|
||||||
|
|
||||||
Method (SSPA,0){
|
|
||||||
Return (13)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear status bits */
|
|
||||||
Method (LPCL, 0, Serialized)
|
|
||||||
{
|
|
||||||
OperationRegion (XREG, SystemMemory,
|
OperationRegion (XREG, SystemMemory,
|
||||||
ShiftLeft (^XMEM, 16), 0x600)
|
Add (ShiftLeft (XMEM, 16), 0x8000), 0x200)
|
||||||
Field (XREG, DWordAcc, Lock, Preserve)
|
Field (XREG, DWordAcc, Lock, Preserve)
|
||||||
{
|
{
|
||||||
Offset (0x510), /* PORTSCNUSB3[0]*/
|
Offset (0x1c4), /* USB2PMCTRL */
|
||||||
PSC0, 32,
|
, 2,
|
||||||
Offset (0x520), /* PORTSCNUSB3[1]*/
|
UPSW, 2, /* U2PSUSPGP */
|
||||||
PSC1, 32,
|
|
||||||
Offset (0x530), /* PORTSCNUSB3[2]*/
|
|
||||||
PSC2, 32,
|
|
||||||
Offset (0x540), /* PORTSCNUSB3[3]*/
|
|
||||||
PSC3, 32,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Port Enabled/Disabled (Bit 1)*/
|
Method (_PSC, 0, Serialized)
|
||||||
Name (PEDB, ShiftLeft (1, 1))
|
|
||||||
|
|
||||||
/* Change Status (Bits 23:17)*/
|
|
||||||
Name (CHST, ShiftLeft (0x7f, 17))
|
|
||||||
|
|
||||||
/* Port 0 */
|
|
||||||
And (PSC0, Not (PEDB), Local0)
|
|
||||||
Or (Local0, CHST, PSC0)
|
|
||||||
|
|
||||||
/* Port 1 */
|
|
||||||
And (PSC1, Not (PEDB), Local0)
|
|
||||||
Or (Local0, CHST, PSC1)
|
|
||||||
|
|
||||||
/* Port 2 */
|
|
||||||
And (PSC2, Not (PEDB), Local0)
|
|
||||||
Or (Local0, CHST, PSC2)
|
|
||||||
|
|
||||||
/* Port 3 */
|
|
||||||
And (PSC3, Not (PEDB), Local0)
|
|
||||||
Or (Local0, CHST, PSC3)
|
|
||||||
}
|
|
||||||
|
|
||||||
Method (LPS0, 0, Serialized)
|
|
||||||
{
|
|
||||||
OperationRegion (XREG, SystemMemory,
|
|
||||||
ShiftLeft (^XMEM, 16), 0x600)
|
|
||||||
Field (XREG, DWordAcc, Lock, Preserve)
|
|
||||||
{
|
|
||||||
Offset (0x510), // PORTSCNUSB3
|
|
||||||
, 5,
|
|
||||||
PLS1, 4, // [8:5] Port Link State
|
|
||||||
PPR1, 1, // [9] Port Power
|
|
||||||
, 7,
|
|
||||||
CSC1, 1, // [17] Connect Status Change
|
|
||||||
, 1,
|
|
||||||
WRC1, 1, // [19] Warm Port Reset Change
|
|
||||||
, 11,
|
|
||||||
WPR1, 1, // [31] Warm Port Reset
|
|
||||||
Offset (0x520), // PORTSCNUSB3
|
|
||||||
, 5,
|
|
||||||
PLS2, 4, // [8:5] Port Link State
|
|
||||||
PPR2, 1, // [9] Port Power
|
|
||||||
, 7,
|
|
||||||
CSC2, 1, // [17] Connect Status Change
|
|
||||||
, 1,
|
|
||||||
WRC2, 1, // [19] Warm Port Reset Change
|
|
||||||
, 11,
|
|
||||||
WPR2, 1, // [31] Warm Port Reset
|
|
||||||
Offset (0x530), // PORTSCNUSB3
|
|
||||||
, 5,
|
|
||||||
PLS3, 4, // [8:5] Port Link State
|
|
||||||
PPR3, 1, // [9] Port Power
|
|
||||||
, 7,
|
|
||||||
CSC3, 1, // [17] Connect Status Change
|
|
||||||
, 1,
|
|
||||||
WRC3, 1, // [19] Warm Port Reset Change
|
|
||||||
, 11,
|
|
||||||
WPR3, 1, // [31] Warm Port Reset
|
|
||||||
Offset (0x540), // PORTSCNUSB3
|
|
||||||
, 5,
|
|
||||||
PLS4, 4, // [8:5] Port Link State
|
|
||||||
PPR4, 1, // [9] Port Power
|
|
||||||
, 7,
|
|
||||||
CSC4, 1, // [17] Connect Status Change
|
|
||||||
, 1,
|
|
||||||
WRC4, 1, // [19] Warm Port Reset Change
|
|
||||||
, 11,
|
|
||||||
WPR4, 1, // [31] Warm Port Reset
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Wait for all powered ports to finish polling*/
|
|
||||||
Store (10, Local0)
|
|
||||||
While (LOr (LOr (LAnd (LEqual (PPR1, 1), LEqual (PLS1, PLSP)),
|
|
||||||
LAnd (LEqual (PPR2, 1), LEqual (PLS2, PLSP))),
|
|
||||||
LOr (LAnd (LEqual (PPR3, 1), LEqual (PLS3, PLSP)),
|
|
||||||
LAnd (LEqual (PPR4, 1), LEqual (PLS4, PLSP)))))
|
|
||||||
{
|
|
||||||
If (LEqual (Local0, 0)) {
|
|
||||||
Break
|
|
||||||
}
|
|
||||||
Decrement (Local0)
|
|
||||||
Stall (10)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For each USB3 Port:*/
|
|
||||||
/* If port is disconnected (PLS=5 PP=1 CSC=0)*/
|
|
||||||
/* 1) Issue warm reset (WPR=1)*/
|
|
||||||
/* 2) Poll for warm reset complete (WRC=0)*/
|
|
||||||
/* 3) Write 1 to port status to clear*/
|
|
||||||
|
|
||||||
/* Local# indicate if port is reset*/
|
|
||||||
Store (0, Local1)
|
|
||||||
Store (0, Local2)
|
|
||||||
Store (0, Local3)
|
|
||||||
Store (0, Local4)
|
|
||||||
|
|
||||||
If (LAnd (LEqual (PLS1, PLSD),
|
|
||||||
LAnd (LEqual (CSC1, 0), LEqual (PPR1, 1)))) {
|
|
||||||
Store (1, WPR1) /* Issue warm reset*/
|
|
||||||
Store (1, Local1)
|
|
||||||
}
|
|
||||||
If (LAnd (LEqual (PLS2, PLSD),
|
|
||||||
LAnd (LEqual (CSC2, 0), LEqual (PPR2, 1)))) {
|
|
||||||
Store (1, WPR2) /* Issue warm reset*/
|
|
||||||
Store (1, Local2)
|
|
||||||
}
|
|
||||||
If (LAnd (LEqual (PLS3, PLSD),
|
|
||||||
LAnd (LEqual (CSC3, 0), LEqual (PPR3, 1)))) {
|
|
||||||
Store (1, WPR3) /* Issue warm reset*/
|
|
||||||
Store (1, Local3)
|
|
||||||
}
|
|
||||||
If (LAnd (LEqual (PLS4, PLSD),
|
|
||||||
LAnd (LEqual (CSC4, 0), LEqual (PPR4, 1)))) {
|
|
||||||
Store (1, WPR4) /* Issue warm reset*/
|
|
||||||
Store (1, Local4)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Poll for warm reset complete on all ports that were reset*/
|
|
||||||
Store (10, Local0)
|
|
||||||
While (LOr (LOr (LAnd (LEqual (Local1, 1), LEqual (WRC1, 0)),
|
|
||||||
LAnd (LEqual (Local2, 1), LEqual (WRC2, 0))),
|
|
||||||
LOr (LAnd (LEqual (Local3, 1), LEqual (WRC3, 0)),
|
|
||||||
LAnd (LEqual (Local4, 1), LEqual (WRC4, 0)))))
|
|
||||||
{
|
|
||||||
If (LEqual (Local0, 0)) {
|
|
||||||
Break
|
|
||||||
}
|
|
||||||
Decrement (Local0)
|
|
||||||
Stall (10)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear status bits in all ports */
|
|
||||||
LPCL ()
|
|
||||||
}
|
|
||||||
|
|
||||||
Method (_PSC, 0, NotSerialized)
|
|
||||||
{
|
{
|
||||||
Return (^D0D3)
|
Return (^D0D3)
|
||||||
}
|
}
|
||||||
|
|
||||||
Method (_PS0, 0, Serialized)
|
Method (_PS0, 0, Serialized)
|
||||||
{
|
{
|
||||||
|
If (LEqual (^DVID, 0xFFFF)) {
|
||||||
|
Return
|
||||||
}
|
}
|
||||||
|
If (LOr (LEqual (^XMEM, 0xFFFF), LEqual (^XMEM, 0x0000))) {
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If device is in D3, set back to D0 */
|
||||||
|
If (LEqual (^D0D3, 3)) {
|
||||||
|
Store (Zero, ^D0D3)
|
||||||
|
Store (^D0D3, Local0)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Disable USB2 PHY SUS Well Power Gating */
|
||||||
|
Store (Zero, ^UPSW)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Apply USB2 PHPY Power Gating workaround if needed.
|
||||||
|
*/
|
||||||
|
If (^^PMC.UWAB) {
|
||||||
|
/* Write to MTPMC to have PMC disable power gating */
|
||||||
|
Store (1, ^^PMC.MPMC)
|
||||||
|
|
||||||
|
/* Wait for PCH_PM_STS.MSG_FULL_STS to be 0 */
|
||||||
|
Store (10, Local0)
|
||||||
|
While (^^PMC.PMFS) {
|
||||||
|
If (LNot (Local0)) {
|
||||||
|
Break
|
||||||
|
}
|
||||||
|
Decrement (Local0)
|
||||||
|
Sleep (10)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Method (_PS3, 0, Serialized)
|
Method (_PS3, 0, Serialized)
|
||||||
{
|
{
|
||||||
|
If (LEqual (^DVID, 0xFFFF)) {
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
If (LOr (LEqual (^XMEM, 0xFFFF), LEqual (^XMEM, 0x0000))) {
|
||||||
|
Return
|
||||||
}
|
}
|
||||||
|
|
||||||
Name (_PRW, Package(){ 0x6d, 3 })
|
/* Clear PME Status */
|
||||||
|
Store (1, ^PMES)
|
||||||
|
|
||||||
/* Leave USB ports on for to allow Wake from USB */
|
/* Enable PME */
|
||||||
|
Store (1, ^PMEE)
|
||||||
|
|
||||||
Method (_S3D,0) /* Highest D State in S3 State*/
|
/* If device is in D3, set back to D0 */
|
||||||
{
|
If (LEqual (^D0D3, 3)) {
|
||||||
Return (3)
|
Store (Zero, ^D0D3)
|
||||||
|
Store (^D0D3, Local0)
|
||||||
}
|
}
|
||||||
|
|
||||||
Method (_S4D,0) /* Highest D State in S4 State*/
|
/* Enable USB2 PHY SUS Well Power Gating in D0/D0i2/D0i3/D3 */
|
||||||
{
|
Store (3, ^UPSW)
|
||||||
Return (3)
|
|
||||||
|
/* Now put device in D3 */
|
||||||
|
Store (3, ^D0D3)
|
||||||
|
Store (^D0D3, Local0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Apply USB2 PHPY Power Gating workaround if needed.
|
||||||
|
* This code assumes XDCI is disabled, if it is enabled
|
||||||
|
* then this must also check if it is in D3 state too.
|
||||||
|
*/
|
||||||
|
If (^^PMC.UWAB) {
|
||||||
|
/* Write to MTPMC to have PMC enable power gating */
|
||||||
|
Store (3, ^^PMC.MPMC)
|
||||||
|
|
||||||
|
/* Wait for PCH_PM_STS.MSG_FULL_STS to be 0 */
|
||||||
|
Store (10, Local0)
|
||||||
|
While (^^PMC.PMFS) {
|
||||||
|
If (LNot (Local0)) {
|
||||||
|
Break
|
||||||
}
|
}
|
||||||
Device (HS01)
|
Decrement (Local0)
|
||||||
{
|
Sleep (10)
|
||||||
Name(_ADR, 0x01)
|
|
||||||
}
|
}
|
||||||
Device (HS02)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x02)
|
|
||||||
}
|
|
||||||
Device (HS03)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x03)
|
|
||||||
}
|
|
||||||
Device (HS04)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x04)
|
|
||||||
}
|
|
||||||
Device (HS05)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x05)
|
|
||||||
}
|
|
||||||
Device (HS06)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x06)
|
|
||||||
}
|
|
||||||
Device (HS07)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x07)
|
|
||||||
}
|
|
||||||
Device (HS08)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x08)
|
|
||||||
}
|
|
||||||
Device (HS09)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x09)
|
|
||||||
}
|
|
||||||
Device (HS10)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0x10)
|
|
||||||
}
|
|
||||||
Device (USR1)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(USRA(),0)) }
|
|
||||||
}
|
|
||||||
Device (USR2)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(USRA(),1)) }
|
|
||||||
}
|
|
||||||
Device (SS01)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(SSPA(),0)) }
|
|
||||||
}
|
|
||||||
Device (SS02)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(SSPA(),1)) }
|
|
||||||
}
|
|
||||||
Device (SS03)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(SSPA(),2)) }
|
|
||||||
}
|
|
||||||
Device (SS04)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(SSPA(),3)) }
|
|
||||||
}
|
|
||||||
Device (SS05)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(SSPA(),4)) }
|
|
||||||
}
|
|
||||||
Device (SS06)
|
|
||||||
{
|
|
||||||
Method(_ADR) { Return (Add(SSPA(),5)) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Root Hub for Skylake-LP PCH */
|
||||||
|
Device (RHUB)
|
||||||
|
{
|
||||||
|
Name (_ADR, Zero)
|
||||||
|
|
||||||
|
/* USB2 */
|
||||||
|
Device (HS01) { Name (_ADR, 1) }
|
||||||
|
Device (HS02) { Name (_ADR, 2) }
|
||||||
|
Device (HS03) { Name (_ADR, 3) }
|
||||||
|
Device (HS04) { Name (_ADR, 4) }
|
||||||
|
Device (HS05) { Name (_ADR, 5) }
|
||||||
|
Device (HS06) { Name (_ADR, 6) }
|
||||||
|
Device (HS07) { Name (_ADR, 7) }
|
||||||
|
Device (HS08) { Name (_ADR, 8) }
|
||||||
|
Device (HS09) { Name (_ADR, 9) }
|
||||||
|
Device (HS10) { Name (_ADR, 10) }
|
||||||
|
|
||||||
|
/* USBr */
|
||||||
|
Device (USR1) { Name (_ADR, 11) }
|
||||||
|
Device (USR2) { Name (_ADR, 12) }
|
||||||
|
|
||||||
|
/* USB3 */
|
||||||
|
Device (SS01) { Name (_ADR, 13) }
|
||||||
|
Device (SS02) { Name (_ADR, 14) }
|
||||||
|
Device (SS03) { Name (_ADR, 15) }
|
||||||
|
Device (SS04) { Name (_ADR, 16) }
|
||||||
|
Device (SS05) { Name (_ADR, 17) }
|
||||||
|
Device (SS06) { Name (_ADR, 18) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue