mirror of https://github.com/acidanthera/audk.git
686 lines
17 KiB
Plaintext
686 lines
17 KiB
Plaintext
|
/**************************************************************************;
|
||
|
;* *;
|
||
|
;* *;
|
||
|
;* Intel Corporation - ACPI Reference Code for the Baytrail *;
|
||
|
;* Family of Customer Reference Boards. *;
|
||
|
;* *;
|
||
|
;* *;
|
||
|
;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
|
||
|
;
|
||
|
; This program and the accompanying materials are licensed and made available under
|
||
|
; the terms and conditions of the BSD License that accompanies this distribution.
|
||
|
; The full text of the license may be found at
|
||
|
; http://opensource.org/licenses/bsd-license.php.
|
||
|
;
|
||
|
; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||
|
; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||
|
;
|
||
|
;* *;
|
||
|
;* *;
|
||
|
;**************************************************************************/
|
||
|
|
||
|
|
||
|
Scope(\)
|
||
|
{
|
||
|
//
|
||
|
// Define VLV ABASE I/O as an ACPI operating region. The base address
|
||
|
// can be found in Device 31, Registers 40-43h.
|
||
|
//
|
||
|
OperationRegion(PMIO, SystemIo, \PMBS, 0x46)
|
||
|
Field(PMIO, ByteAcc, NoLock, Preserve)
|
||
|
{
|
||
|
, 8,
|
||
|
PWBS, 1, // Power Button Status
|
||
|
Offset(0x20),
|
||
|
, 13,
|
||
|
PMEB, 1, // PME_B0_STS
|
||
|
Offset(0x42), // General Purpose Control
|
||
|
, 1,
|
||
|
GPEC, 1
|
||
|
}
|
||
|
Field(PMIO, ByteAcc, NoLock, WriteAsZeros)
|
||
|
{
|
||
|
Offset(0x20), // GPE0 Status
|
||
|
, 4,
|
||
|
PSCI, 1, // PUNIT SCI Status
|
||
|
SCIS, 1 // GUNIT SCI Status
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// Define a Memory Region that will allow access to the PMC
|
||
|
// Register Block. Note that in the Intel Reference Solution, the PMC
|
||
|
// will get fixed up dynamically during POST.
|
||
|
//
|
||
|
OperationRegion(PMCR, SystemMemory, \PFDR, 0x04)// PMC Function Disable Register
|
||
|
Field(PMCR,DWordAcc,Lock,Preserve)
|
||
|
{
|
||
|
Offset(0x00), // Function Disable Register
|
||
|
L10D, 1, // (0) LPIO1 DMA Disable
|
||
|
L11D, 1, // (1) LPIO1 PWM #1 Disable
|
||
|
L12D, 1, // (2) LPIO1 PWM #2 Disable
|
||
|
L13D, 1, // (3) LPIO1 HS-UART #1 Disable
|
||
|
L14D, 1, // (4) LPIO1 HS-UART #2 Disable
|
||
|
L15D, 1, // (5) LPIO1 SPI Disable
|
||
|
, 2, // (6:7) Reserved
|
||
|
SD1D, 1, // (8) SCC SDIO #1 Disable
|
||
|
SD2D, 1, // (9) SCC SDIO #2 Disable
|
||
|
SD3D, 1, // (10) SCC SDIO #3 Disable
|
||
|
HSID, 1, // (11)
|
||
|
HDAD, 1, // (12) Azalia Disable
|
||
|
LPED, 1, // (13) LPE Disable
|
||
|
OTGD, 1, // (14) USB OTG Disable
|
||
|
, 1, // (15) USH Disable
|
||
|
, 1, // (16)
|
||
|
, 1, // (17)
|
||
|
, 1, // (18) USB Disable
|
||
|
, 1, // (19) SEC Disable
|
||
|
RP1D, 1, // (20) Root Port 0 Disable
|
||
|
RP2D, 1, // (21) Root Port 1 Disable
|
||
|
RP3D, 1, // (22) Root Port 2 Disable
|
||
|
RP4D, 1, // (23) Root Port 3 Disable
|
||
|
L20D, 1, // (24) LPIO2 DMA Disable
|
||
|
L21D, 1, // (25) LPIO2 I2C #1 Disable
|
||
|
L22D, 1, // (26) LPIO2 I2C #2 Disable
|
||
|
L23D, 1, // (27) LPIO2 I2C #3 Disable
|
||
|
L24D, 1, // (28) LPIO2 I2C #4 Disable
|
||
|
L25D, 1, // (29) LPIO2 I2C #5 Disable
|
||
|
L26D, 1, // (30) LPIO2 I2C #6 Disable
|
||
|
L27D, 1 // (31) LPIO2 I2C #7 Disable
|
||
|
}
|
||
|
|
||
|
|
||
|
OperationRegion(CLKC, SystemMemory, \PCLK, 0x18)// PMC CLK CTL Registers
|
||
|
Field(CLKC,DWordAcc,Lock,Preserve)
|
||
|
{
|
||
|
Offset(0x00), // PLT_CLK_CTL_0
|
||
|
CKC0, 2,
|
||
|
CKF0, 1,
|
||
|
, 29,
|
||
|
Offset(0x04), // PLT_CLK_CTL_1
|
||
|
CKC1, 2,
|
||
|
CKF1, 1,
|
||
|
, 29,
|
||
|
Offset(0x08), // PLT_CLK_CTL_2
|
||
|
CKC2, 2,
|
||
|
CKF2, 1,
|
||
|
, 29,
|
||
|
Offset(0x0C), // PLT_CLK_CTL_3
|
||
|
CKC3, 2,
|
||
|
CKF3, 1,
|
||
|
, 29,
|
||
|
Offset(0x10), // PLT_CLK_CTL_4
|
||
|
CKC4, 2,
|
||
|
CKF4, 1,
|
||
|
, 29,
|
||
|
Offset(0x14), // PLT_CLK_CTL_5
|
||
|
CKC5, 2,
|
||
|
CKF5, 1,
|
||
|
, 29,
|
||
|
}
|
||
|
} //end Scope(\)
|
||
|
|
||
|
scope (\_SB)
|
||
|
{
|
||
|
Device(LPEA)
|
||
|
{
|
||
|
Name (_ADR, 0)
|
||
|
Name (_HID, "80860F28")
|
||
|
Name (_CID, "80860F28")
|
||
|
//Name (_CLS, Package (3) {0x04, 0x01, 0x00})
|
||
|
Name (_DDN, "Intel(R) Low Power Audio Controller - 80860F28")
|
||
|
Name (_SUB, "80867270")
|
||
|
Name (_UID, 1)
|
||
|
Name (_DEP, Package() {\_SB.I2C2.RTEK})
|
||
|
Name(_PR0,Package() {PLPE})
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
If (LAnd(LAnd(LEqual(LPEE, 2), LEqual(LPED, 0)), LEqual(OSEL, 0)))
|
||
|
{
|
||
|
Return (0xF)
|
||
|
}
|
||
|
Return (0x0)
|
||
|
}
|
||
|
|
||
|
Method (_DIS, 0x0, NotSerialized)
|
||
|
{
|
||
|
//Add a dummy disable function
|
||
|
}
|
||
|
|
||
|
Name (RBUF, ResourceTemplate ()
|
||
|
{
|
||
|
Memory32Fixed (ReadWrite, 0xFE400000, 0x00200000, BAR0) // MMIO 1 - LPE MMIO
|
||
|
Memory32Fixed (ReadWrite, 0xFE830000, 0x00001000, BAR1) // MMIO 2 - Shadowed PCI Config Space
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00100000, BAR2) // LPE Memory Bar Allocate during post
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {24}
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {25}
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {26}
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {27}
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {28}
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {29}
|
||
|
GpioInt(Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0,"\\_SB.GPO2") {28} // Audio jack interrupt
|
||
|
}
|
||
|
)
|
||
|
|
||
|
Method (_CRS, 0x0, NotSerialized)
|
||
|
{
|
||
|
CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
|
||
|
Store(LPE0, B0BA)
|
||
|
CreateDwordField(^RBUF, ^BAR1._BAS, B1BA)
|
||
|
Store(LPE1, B1BA)
|
||
|
CreateDwordField(^RBUF, ^BAR2._BAS, B2BA)
|
||
|
Store(LPE2, B2BA)
|
||
|
Return (RBUF)
|
||
|
}
|
||
|
|
||
|
OperationRegion (KEYS, SystemMemory, LPE1, 0x100)
|
||
|
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
|
||
|
{
|
||
|
Offset (0x84),
|
||
|
PSAT, 32
|
||
|
}
|
||
|
|
||
|
PowerResource(PLPE, 0, 0) // Power Resource for LPEA
|
||
|
{
|
||
|
Method (_STA)
|
||
|
{
|
||
|
Return (1) // Power Resource is always available.
|
||
|
}
|
||
|
|
||
|
Method (_ON)
|
||
|
{
|
||
|
And(PSAT, 0xfffffffC, PSAT)
|
||
|
OR(PSAT, 0X00000000, PSAT)
|
||
|
}
|
||
|
|
||
|
Method (_OFF)
|
||
|
{
|
||
|
OR(PSAT, 0x00000003, PSAT)
|
||
|
OR(PSAT, 0X00000000, PSAT)
|
||
|
}
|
||
|
} // End PLPE
|
||
|
} // End "Low Power Engine Audio"
|
||
|
|
||
|
Device(LPA2)
|
||
|
{
|
||
|
Name (_ADR, 0)
|
||
|
Name (_HID, "LPE0F28") // _HID: Hardware ID
|
||
|
Name (_CID, "LPE0F28") // _CID: Compatible ID
|
||
|
Name (_DDN, "Intel(R) SST Audio - LPE0F28") // _DDN: DOS Device Name
|
||
|
Name (_SUB, "80867270")
|
||
|
Name (_UID, 1)
|
||
|
Name (_DEP, Package() {\_SB.I2C2.RTEK})
|
||
|
Name(_PR0,Package() {PLPE})
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
If (LAnd(LAnd(LEqual(LPEE, 2), LEqual(LPED, 0)), LEqual(OSEL, 1)))
|
||
|
{
|
||
|
Return (0xF)
|
||
|
}
|
||
|
Return (0x0)
|
||
|
}
|
||
|
|
||
|
Method (_DIS, 0x0, NotSerialized)
|
||
|
{
|
||
|
//Add a dummy disable function
|
||
|
}
|
||
|
|
||
|
Name (RBUF, ResourceTemplate ()
|
||
|
{
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00100000, BAR2) // LPE Memory Bar Allocate during post
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00000100, SHIM)
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00001000, MBOX)
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00014000, IRAM)
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00028000, DRAM)
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {29}
|
||
|
Memory32Fixed (ReadWrite, 0xFE830000, 0x00001000, BAR1) // MMIO 2 - Shadowed PCI Config Space
|
||
|
}
|
||
|
)
|
||
|
|
||
|
Method (_CRS, 0x0, NotSerialized)
|
||
|
{
|
||
|
CreateDwordField(^RBUF, ^SHIM._BAS, SHBA)
|
||
|
Add(LPE0, 0x140000, SHBA)
|
||
|
CreateDwordField(^RBUF, ^MBOX._BAS, MBBA)
|
||
|
Add(LPE0, 0x144000, MBBA)
|
||
|
CreateDwordField(^RBUF, ^IRAM._BAS, IRBA)
|
||
|
Add(LPE0, 0xC0000, IRBA)
|
||
|
CreateDwordField(^RBUF, ^DRAM._BAS, DRBA)
|
||
|
Add(LPE0, 0x100000, DRBA)
|
||
|
CreateDwordField(^RBUF, ^BAR1._BAS, B1BA)
|
||
|
Store(LPE1, B1BA)
|
||
|
CreateDwordField(^RBUF, ^BAR2._BAS, B2BA)
|
||
|
Store(LPE2, B2BA)
|
||
|
Return (RBUF)
|
||
|
}
|
||
|
|
||
|
OperationRegion (KEYS, SystemMemory, LPE1, 0x100)
|
||
|
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
|
||
|
{
|
||
|
Offset (0x84),
|
||
|
PSAT, 32
|
||
|
}
|
||
|
|
||
|
PowerResource(PLPE, 0, 0) // Power Resource for LPEA
|
||
|
{
|
||
|
Method (_STA)
|
||
|
{
|
||
|
Return (1) // Power Resource is always available.
|
||
|
}
|
||
|
|
||
|
Method (_ON)
|
||
|
{
|
||
|
And(PSAT, 0xfffffffC, PSAT)
|
||
|
OR(PSAT, 0X00000000, PSAT)
|
||
|
}
|
||
|
|
||
|
Method (_OFF)
|
||
|
{
|
||
|
OR(PSAT, 0x00000003, PSAT)
|
||
|
OR(PSAT, 0X00000000, PSAT)
|
||
|
}
|
||
|
} // End PLPE
|
||
|
|
||
|
Device (ADMA)
|
||
|
{
|
||
|
Name (_ADR, Zero) // _ADR: Address
|
||
|
Name (_HID, "DMA0F28") // _HID: Hardware ID
|
||
|
Name (_CID, "DMA0F28") // _CID: Compatible ID
|
||
|
Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28") // _DDN: DOS Device Name
|
||
|
Name (_UID, One) // _UID: Unique ID
|
||
|
Name (RBUF, ResourceTemplate ()
|
||
|
{
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00001000, DMA0) // LPE BASE + LPE DMA0 offset
|
||
|
Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00001000, SHIM) // LPE BASE + LPE SHIM offset
|
||
|
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {24}
|
||
|
})
|
||
|
|
||
|
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
|
||
|
{
|
||
|
CreateDwordField(^RBUF, ^DMA0._BAS, D0BA)
|
||
|
Add(LPE0, 0x98000, D0BA)
|
||
|
CreateDwordField(^RBUF, ^SHIM._BAS, SHBA)
|
||
|
Add(LPE0, 0x140000, SHBA)
|
||
|
Return (RBUF)
|
||
|
}
|
||
|
}
|
||
|
} // End "Low Power Engine Audio" for Android
|
||
|
}
|
||
|
|
||
|
scope (\_SB.PCI0)
|
||
|
{
|
||
|
|
||
|
//
|
||
|
// Serial ATA Host Controller - Device 19, Function 0
|
||
|
//
|
||
|
|
||
|
Device(SATA)
|
||
|
{
|
||
|
Name(_ADR,0x00130000)
|
||
|
//
|
||
|
// SATA Methods pulled in via SSDT.
|
||
|
//
|
||
|
|
||
|
OperationRegion(SATR, PCI_Config, 0x74,0x4)
|
||
|
Field(SATR,WordAcc,NoLock,Preserve)
|
||
|
{
|
||
|
Offset(0x00), // 0x74, PMCR
|
||
|
, 8,
|
||
|
PMEE, 1, //PME_EN
|
||
|
, 6,
|
||
|
PMES, 1 //PME_STS
|
||
|
}
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
Return(0xf)
|
||
|
}
|
||
|
|
||
|
Method(_DSW, 3)
|
||
|
{
|
||
|
} // End _DSW
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// For eMMC 4.41 PCI mode in order to present non-removable device under Windows environment
|
||
|
//
|
||
|
Device(EM41)
|
||
|
{
|
||
|
Name(_ADR,0x00100000)
|
||
|
OperationRegion(SDIO, PCI_Config, 0x84,0x4)
|
||
|
Field(SDIO,WordAcc,NoLock,Preserve)
|
||
|
{
|
||
|
Offset(0x00), // 0x84, PMCR
|
||
|
, 8,
|
||
|
PMEE, 1, //PME_EN
|
||
|
, 6,
|
||
|
PMES, 1 //PME_STS
|
||
|
}
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
If (LAnd(LEqual(PCIM, 1), LEqual(SD1D, 0)))
|
||
|
{
|
||
|
Return(0xF)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return(0x0)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method(_DSW, 3)
|
||
|
{
|
||
|
} // End _DSW
|
||
|
|
||
|
Device (CARD)
|
||
|
{
|
||
|
Name (_ADR, 0x00000008)
|
||
|
Method(_RMV, 0x0, NotSerialized)
|
||
|
{
|
||
|
Return (0)
|
||
|
} // End _DSW
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// For eMMC 4.5 PCI mode in order to present non-removable device under Windows environment
|
||
|
//
|
||
|
Device(EM45)
|
||
|
{
|
||
|
Name(_ADR,0x00170000)
|
||
|
OperationRegion(SDIO, PCI_Config, 0x84,0x4)
|
||
|
Field(SDIO,WordAcc,NoLock,Preserve)
|
||
|
{
|
||
|
Offset(0x00), // 0x84, PMCR
|
||
|
, 8,
|
||
|
PMEE, 1, //PME_EN
|
||
|
, 6,
|
||
|
PMES, 1 //PME_STS
|
||
|
}
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
If (LAnd(LEqual(PCIM, 1), LEqual(HSID, 0)))
|
||
|
{
|
||
|
Return(0xF)
|
||
|
}
|
||
|
Else
|
||
|
{
|
||
|
Return(0x0)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method(_DSW, 3)
|
||
|
{
|
||
|
} // End _DSW
|
||
|
|
||
|
Device (CARD)
|
||
|
{
|
||
|
Name (_ADR, 0x00000008)
|
||
|
Method(_RMV, 0x0, NotSerialized)
|
||
|
{
|
||
|
Return (0)
|
||
|
} // End _DSW
|
||
|
}
|
||
|
}
|
||
|
//
|
||
|
// For SD Host Controller (Bus 0x00 : Dev 0x12 : Func 0x00) PCI mode in order to present non-removable device under Windows environment
|
||
|
//
|
||
|
Device(SD12)
|
||
|
{
|
||
|
Name(_ADR,0x00120000)
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
//
|
||
|
// PCIM>> 0:ACPI mode 1:PCI mode
|
||
|
//
|
||
|
If (LEqual(PCIM, 0)) {
|
||
|
Return (0x0)
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// If device is disabled.
|
||
|
//
|
||
|
If (LEqual(SD3D, 1))
|
||
|
{
|
||
|
Return (0x0)
|
||
|
}
|
||
|
|
||
|
Return (0xF)
|
||
|
}
|
||
|
|
||
|
Device (CARD)
|
||
|
{
|
||
|
Name (_ADR, 0x00000008)
|
||
|
Method(_RMV, 0x0, NotSerialized)
|
||
|
{
|
||
|
// SDRM = 0 non-removable;
|
||
|
If (LEqual(SDRM, 0))
|
||
|
{
|
||
|
Return (0)
|
||
|
}
|
||
|
|
||
|
Return (1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// xHCI Controller - Device 20, Function 0
|
||
|
include("PchXhci.asl")
|
||
|
|
||
|
//
|
||
|
// High Definition Audio Controller - Device 27, Function 0
|
||
|
//
|
||
|
Device(HDEF)
|
||
|
{
|
||
|
Name(_ADR, 0x001B0000)
|
||
|
include("PchAudio.asl")
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
If (LEqual(HDAD, 0))
|
||
|
{
|
||
|
Return(0xf)
|
||
|
}
|
||
|
Return(0x0)
|
||
|
}
|
||
|
|
||
|
Method(_DSW, 3)
|
||
|
{
|
||
|
} // End _DSW
|
||
|
} // end "High Definition Audio Controller"
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// PCIE Root Port #1
|
||
|
//
|
||
|
Device(RP01)
|
||
|
{
|
||
|
Name(_ADR, 0x001C0000)
|
||
|
include("PchPcie.asl")
|
||
|
Name(_PRW, Package() {9, 4})
|
||
|
|
||
|
Method(_PRT,0)
|
||
|
{
|
||
|
If(PICM) { Return(AR04) }// APIC mode
|
||
|
Return (PR04) // PIC Mode
|
||
|
} // end _PRT
|
||
|
} // end "PCIE Root Port #1"
|
||
|
|
||
|
//
|
||
|
// PCIE Root Port #2
|
||
|
//
|
||
|
Device(RP02)
|
||
|
{
|
||
|
Name(_ADR, 0x001C0001)
|
||
|
include("PchPcie.asl")
|
||
|
Name(_PRW, Package() {9, 4})
|
||
|
|
||
|
Method(_PRT,0)
|
||
|
{
|
||
|
If(PICM) { Return(AR05) }// APIC mode
|
||
|
Return (PR05) // PIC Mode
|
||
|
} // end _PRT
|
||
|
|
||
|
} // end "PCIE Root Port #2"
|
||
|
|
||
|
//
|
||
|
// PCIE Root Port #3
|
||
|
//
|
||
|
Device(RP03)
|
||
|
{
|
||
|
Name(_ADR, 0x001C0002)
|
||
|
include("PchPcie.asl")
|
||
|
Name(_PRW, Package() {9, 4})
|
||
|
Method(_PRT,0)
|
||
|
{
|
||
|
If(PICM) { Return(AR06) }// APIC mode
|
||
|
Return (PR06) // PIC Mode
|
||
|
} // end _PRT
|
||
|
|
||
|
} // end "PCIE Root Port #3"
|
||
|
|
||
|
//
|
||
|
// PCIE Root Port #4
|
||
|
//
|
||
|
Device(RP04)
|
||
|
{
|
||
|
Name(_ADR, 0x001C0003)
|
||
|
include("PchPcie.asl")
|
||
|
Name(_PRW, Package() {9, 4})
|
||
|
Method(_PRT,0)
|
||
|
{
|
||
|
If(PICM) { Return(AR07) }// APIC mode
|
||
|
Return (PR07) // PIC Mode
|
||
|
} // end _PRT
|
||
|
|
||
|
} // end "PCIE Root Port #4"
|
||
|
|
||
|
|
||
|
Scope(\_SB)
|
||
|
{
|
||
|
//
|
||
|
// Dummy power resource for USB D3 cold support
|
||
|
//
|
||
|
PowerResource(USBC, 0, 0)
|
||
|
{
|
||
|
Method(_STA) { Return (0xF) }
|
||
|
Method(_ON) {}
|
||
|
Method(_OFF) {}
|
||
|
}
|
||
|
}
|
||
|
//
|
||
|
// EHCI Controller - Device 29, Function 0
|
||
|
//
|
||
|
Device(EHC1)
|
||
|
{
|
||
|
Name(_ADR, 0x001D0000)
|
||
|
Name(_DEP, Package(0x1)
|
||
|
{
|
||
|
PEPD
|
||
|
})
|
||
|
include("PchEhci.asl")
|
||
|
Name(_PRW, Package() {0x0D, 4})
|
||
|
|
||
|
OperationRegion(USBR, PCI_Config, 0x54,0x4)
|
||
|
Field(USBR,WordAcc,NoLock,Preserve)
|
||
|
{
|
||
|
Offset(0x00), // 0x54, PMCR
|
||
|
, 8,
|
||
|
PMEE, 1, //PME_EN
|
||
|
, 6,
|
||
|
PMES, 1 //PME_STS
|
||
|
}
|
||
|
|
||
|
Method (_STA, 0x0, NotSerialized)
|
||
|
{
|
||
|
If(LEqual(XHCI, 0)) //XHCI is not present. It means EHCI is there
|
||
|
{
|
||
|
Return (0xF)
|
||
|
} Else
|
||
|
{
|
||
|
Return (0x0)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Method (_RMV, 0, NotSerialized)
|
||
|
{
|
||
|
Return (0x0)
|
||
|
}
|
||
|
//
|
||
|
// Create a dummy PR3 method to indicate to the PCI driver
|
||
|
// that the device is capable of D3 cold
|
||
|
//
|
||
|
Method(_PR3, 0x0, NotSerialized)
|
||
|
{
|
||
|
return (Package() {\_SB.USBC})
|
||
|
}
|
||
|
|
||
|
} // end "EHCI Controller"
|
||
|
|
||
|
//
|
||
|
// SMBus Controller - Device 31, Function 3
|
||
|
//
|
||
|
Device(SBUS)
|
||
|
{
|
||
|
Name(_ADR,0x001F0003)
|
||
|
Include("PchSmb.asl")
|
||
|
}
|
||
|
|
||
|
Device(SEC0)
|
||
|
{
|
||
|
Name (_ADR, 0x001a0000) // Device 0x1a, Function 0
|
||
|
Name(_DEP, Package(0x1)
|
||
|
{
|
||
|
PEPD
|
||
|
})
|
||
|
|
||
|
|
||
|
OperationRegion (PMEB, PCI_Config, 0x84, 0x04) //PMECTRLSTATUS
|
||
|
Field (PMEB, WordAcc, NoLock, Preserve)
|
||
|
{
|
||
|
, 8,
|
||
|
PMEE, 1, //bit8 PMEENABLE
|
||
|
, 6,
|
||
|
PMES, 1 //bit15 PMESTATUS
|
||
|
}
|
||
|
|
||
|
// Arg0 -- integer that contains the device wake capability control (0-disable 1- enable)
|
||
|
// Arg1 -- integer that contains target system state (0-4)
|
||
|
// Arg2 -- integer that contains the target device state
|
||
|
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
|
||
|
{
|
||
|
}
|
||
|
|
||
|
Method (_CRS, 0, NotSerialized)
|
||
|
{
|
||
|
Name (RBUF, ResourceTemplate ()
|
||
|
{
|
||
|
Memory32Fixed (ReadWrite, 0x1e000000, 0x2000000)
|
||
|
})
|
||
|
|
||
|
If (LEqual(PAVP, 2))
|
||
|
{
|
||
|
Return (RBUF)
|
||
|
}
|
||
|
Return (ResourceTemplate() {})
|
||
|
}
|
||
|
|
||
|
Method (_STA)
|
||
|
{
|
||
|
If (LNotEqual(PAVP, 0))
|
||
|
{
|
||
|
Return (0xF)
|
||
|
}
|
||
|
Return (0x0)
|
||
|
}
|
||
|
} // Device(SEC0)
|
||
|
|
||
|
} // End scope (\_SB.PCI0)
|