Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
https://svn.code.sf.net/p/edk2/code/trunk/edk2/, which are for MinnowBoard MAX open source project. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: David Wei <david.wei@intel.com> Reviewed-by: Mike Wu <mike.wu@intel.com> Reviewed-by: Hot Tian <hot.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16599 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
616
Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchScc.asl
Normal file
616
Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchScc.asl
Normal file
@@ -0,0 +1,616 @@
|
||||
/**************************************************************************;
|
||||
;* *;
|
||||
;* *;
|
||||
;* 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.
|
||||
;
|
||||
;* *;
|
||||
;* *;
|
||||
;**************************************************************************/
|
||||
Device (PEPD)
|
||||
{
|
||||
Name (_HID, "INT3396")
|
||||
Name(_CID, 0x800dd041)
|
||||
Name (_UID, 0x1)
|
||||
|
||||
// Indicates if the platform PEP has loaded
|
||||
Name(PEPP, Zero)
|
||||
|
||||
// Devices score-boarded by the PEP, Rev0 format
|
||||
Name (DEVS, Package() {0})
|
||||
|
||||
// Devices score-boarded by the PEP, Rev1 format
|
||||
Name(DEVX, Package()
|
||||
{
|
||||
Package () {"\\_SB.PCI0.XHC1", 0x1},
|
||||
Package () {"\\_SB.PCI0.EHC1", 0x1},
|
||||
Package () {"\\_SB.PCI0.GFX0", 0x1},
|
||||
Package () {"\\_SB.PCI0.GFX0.ISP0", 0x1},
|
||||
Package () {"\\_SB.PCI0.SEC0", 0x1},
|
||||
Package () {"\\_SB.I2C1", 0x1},
|
||||
Package () {"\\_SB.I2C2", 0x1},
|
||||
Package () {"\\_SB.I2C3", 0x1},
|
||||
Package () {"\\_SB.I2C4", 0x1},
|
||||
Package () {"\\_SB.I2C5", 0x1},
|
||||
Package () {"\\_SB.I2C6", 0x1},
|
||||
Package () {"\\_SB.I2C7", 0x1},
|
||||
Package () {"\\_SB.SDHA", 0x1},
|
||||
Package () {"\\_SB.SDHB", 0x1},
|
||||
Package () {"\\_SB.SDHC", 0x1},
|
||||
Package () {"\\_SB.SPI1", 0x1},
|
||||
Package () {"\\_SB.URT1", 0x1},
|
||||
Package () {"\\_SB.URT2", 0x1},
|
||||
})
|
||||
// Crashdump device package
|
||||
Name(CDMP, Package(2) {})
|
||||
// Device dependency for uPEP
|
||||
Name(DEVY, Package()
|
||||
{
|
||||
Package() {"\\_PR.CPU0", 0x1, Package() {Package() {0xFF, 0}}},
|
||||
Package() {"\\_PR.CPU1", 0x1, Package() {Package() {0xFF, 0}}},
|
||||
Package() {"\\_PR.CPU2", 0x1, Package() {Package() {0xFF, 0}}},
|
||||
Package() {"\\_PR.CPU3", 0x1, Package() {Package() {0xFF, 0}}},
|
||||
Package() {"\\_SB.I2C1", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.I2C2", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.I2C3", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.I2C4", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.I2C5", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.I2C6", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.I2C7", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.PCI0.GFX0", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.PCI0.SEC0", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.PCI0.XHC1", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.PCI0.GFX0.ISP0", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.LPEA", 0x1, Package() {Package() {0x0,3}, Package() {0x1,0}, Package() {0x2,3}, Package() {0x3,3}}},
|
||||
Package() {"\\_SB.SDHA", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.SDHB", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.SDHC", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.SPI1", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.URT1", 0x1, Package() {Package() {0xFF,3}}},
|
||||
Package() {"\\_SB.URT2", 0x1, Package() {Package() {0xFF,3}}}
|
||||
})
|
||||
// BCCD crashdump information
|
||||
Name(BCCD, Package()
|
||||
{
|
||||
Package()
|
||||
{
|
||||
"\\_SB.SDHA",
|
||||
Package()
|
||||
{
|
||||
Package() { Package() {0, 32, 0, 3, 0xFFFFFFFFFFFFFFFF}, Package() {0xFFFFFFFC, 0x0, 0x4}, 0}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Method(_STA, 0x0, NotSerialized)
|
||||
{
|
||||
Return(0xf)
|
||||
}
|
||||
|
||||
Method(_DSM, 0x4, Serialized)
|
||||
{
|
||||
If(LEqual(Arg0,ToUUID("B8FEBFE0-BAF8-454b-AECD-49FB91137B21")))
|
||||
{
|
||||
|
||||
// Number of fn IDs supported
|
||||
If(LEqual(Arg2, Zero))
|
||||
{
|
||||
Return(Buffer(One)
|
||||
{
|
||||
0xf
|
||||
})
|
||||
}
|
||||
|
||||
// Pep presence
|
||||
If(LEqual(Arg2, One))
|
||||
{
|
||||
Store(0x1, PEPP)
|
||||
Return(0xf)
|
||||
}
|
||||
|
||||
// Mitigation devices
|
||||
If(LEqual(Arg2, 0x2))
|
||||
{
|
||||
If(LEqual(Arg1, 0x0))
|
||||
{
|
||||
// Rev0
|
||||
Return(DEVS)
|
||||
}
|
||||
If(LEqual(Arg1, 0x1))
|
||||
{
|
||||
// Rev1
|
||||
Return(DEVX)
|
||||
}
|
||||
}
|
||||
|
||||
// Crashdump device data
|
||||
If(LEqual(Arg2, 0x3))
|
||||
{
|
||||
Store("\\_SB.SDHA", Index(CDMP,0))
|
||||
Store(EM1A, Index(CDMP,1))
|
||||
Return(CDMP)
|
||||
}
|
||||
}
|
||||
// New UUID for built-in uPEP
|
||||
If(LEqual(Arg0,ToUUID("C4EB40A0-6CD2-11E2-BCFD-0800200C9A66")))
|
||||
{
|
||||
|
||||
// Number of fn IDs supported
|
||||
If(LEqual(Arg2, Zero))
|
||||
{
|
||||
Return(Buffer(One)
|
||||
{
|
||||
0x7
|
||||
})
|
||||
}
|
||||
// LPI device dependencies
|
||||
If(LEqual(Arg2, 0x1))
|
||||
{
|
||||
Return(DEVY)
|
||||
}
|
||||
// Crashdump device data
|
||||
If(LEqual(Arg2, 0x2))
|
||||
{
|
||||
Store(EM1A, Local0)
|
||||
Add(Local0, 0x84, Local0)
|
||||
Store(Local0, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(BCCD, Zero, )), One, )), Zero, )), Zero, )), 0x4, ))
|
||||
Return(BCCD)
|
||||
}
|
||||
}
|
||||
|
||||
Return(One)
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// eMMC 4.41
|
||||
//
|
||||
Device(SDHA)
|
||||
{
|
||||
Name (_ADR, 0)
|
||||
Name (_HID, "80860F14")
|
||||
Name (_CID, "PNP0D40")
|
||||
Name (_DDN, "Intel(R) eMMC Controller - 80860F14")
|
||||
Name (_UID, 1)
|
||||
Name(_DEP, Package(0x1)
|
||||
{
|
||||
PEPD
|
||||
})
|
||||
|
||||
Name (RBF1, ResourceTemplate ()
|
||||
{
|
||||
Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
|
||||
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {45} // eMMC 4.41 IRQ
|
||||
})
|
||||
|
||||
Method (_CRS, 0x0, NotSerialized)
|
||||
{
|
||||
// Update the Base address for BAR0 of eMMC 4.41
|
||||
CreateDwordField(^RBF1, ^BAR0._BAS, B0B1)
|
||||
CreateDwordField(^RBF1, ^BAR0._LEN, B0L1)
|
||||
Store(eM0A, B0B1)
|
||||
Store(eM0L, B0L1)
|
||||
Return (RBF1)
|
||||
}
|
||||
Method (_STA, 0x0, NotSerialized)
|
||||
{
|
||||
//
|
||||
// PCIM>> 0:ACPI mode 1:PCI mode
|
||||
// SD1D>> 0:eMMC 4.41 enable 1:eMMC 4.41 disable
|
||||
//
|
||||
If (LAnd(LEqual(PCIM, 0), LEqual(SD1D, 0)))
|
||||
{
|
||||
Return (0xF)
|
||||
}
|
||||
Else
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Method (_PS3, 0, NotSerialized)
|
||||
{
|
||||
OR(PSAT, 0x00000003, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
//
|
||||
// If not B1, still keep 2 ms w/a
|
||||
//
|
||||
If(LLess(SOCS, 0x03))
|
||||
{
|
||||
Sleep(2)
|
||||
}
|
||||
}
|
||||
Method (_PS0, 0, NotSerialized)
|
||||
{
|
||||
And(PSAT, 0xfffffffC, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
//
|
||||
// If not B1, still keep 2 ms w/a
|
||||
//
|
||||
If(LLess(SOCS, 0x03))
|
||||
{
|
||||
Sleep(2)
|
||||
}
|
||||
}
|
||||
|
||||
OperationRegion (KEYS, SystemMemory, eM1A, 0x100)
|
||||
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
|
||||
{
|
||||
Offset (0x84),
|
||||
PSAT, 32
|
||||
}
|
||||
|
||||
Method (_DIS, 0x0, NotSerialized)
|
||||
{
|
||||
//Adding dummy disable methods for device EMM0
|
||||
}
|
||||
|
||||
Device (EMMD)
|
||||
{
|
||||
Name (_ADR, 0x00000008) // Slot 0, Function 8
|
||||
Method (_RMV, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// eMMC 4.5
|
||||
//
|
||||
Device(SDHD)
|
||||
{
|
||||
Name (_ADR, 0)
|
||||
Name (_HID, "80860F14")
|
||||
Name (_CID, "PNP0D40")
|
||||
Name (_DDN, "Intel(R) eMMC Controller - 80860F14")
|
||||
Name (_UID, 1)
|
||||
Name(_DEP, Package(0x1)
|
||||
{
|
||||
PEPD
|
||||
})
|
||||
|
||||
Name (RBF1, ResourceTemplate ()
|
||||
{
|
||||
Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
|
||||
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {44} // eMMC 4.5 IRQ
|
||||
})
|
||||
Method (_CRS, 0x0, NotSerialized)
|
||||
{
|
||||
CreateDwordField(^RBF1, ^BAR0._BAS, B0B1)
|
||||
CreateDwordField(^RBF1, ^BAR0._LEN, B0L1)
|
||||
Store(eM0A, B0B1)
|
||||
Store(eM0L, B0L1)
|
||||
Return (RBF1)
|
||||
}
|
||||
Method (_STA, 0x0, NotSerialized)
|
||||
{
|
||||
//
|
||||
// PCIM>> 0:ACPI mode 1:PCI mode
|
||||
// HSID>> 0:eMMC 4.5 enable 1:eMMC 4.5 disable
|
||||
//
|
||||
If (LAnd(LEqual(PCIM, 0), LEqual(HSID, 0)))
|
||||
{
|
||||
Return (0xF)
|
||||
}
|
||||
Else
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Method (_PS3, 0, NotSerialized)
|
||||
{
|
||||
OR(PSAT, 0x00000003, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
//
|
||||
// If not B1, still keep 2 ms w/a
|
||||
//
|
||||
If(LLess(SOCS, 0x03))
|
||||
{
|
||||
Sleep(2)
|
||||
}
|
||||
}
|
||||
Method (_PS0, 0, NotSerialized)
|
||||
{
|
||||
And(PSAT, 0xfffffffC, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
//
|
||||
// If not B1, still keep 2 ms w/a
|
||||
//
|
||||
If(LLess(SOCS, 0x03))
|
||||
{
|
||||
Sleep(2)
|
||||
}
|
||||
}
|
||||
|
||||
OperationRegion (KEYS, SystemMemory, eM1A, 0x100)
|
||||
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
|
||||
{
|
||||
Offset (0x84),
|
||||
PSAT, 32
|
||||
}
|
||||
|
||||
Method (_DIS, 0x0, NotSerialized)
|
||||
{
|
||||
//Adding dummy disable methods for device EMM0
|
||||
}
|
||||
|
||||
Device (EM45)
|
||||
{
|
||||
Name (_ADR, 0x00000008) // Slot 0, Function 8
|
||||
Method (_RMV, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// SDIO
|
||||
//
|
||||
Device(SDHB)
|
||||
{
|
||||
Name (_ADR, 0)
|
||||
Name (_HID, "INT33BB")
|
||||
Name (_CID, "PNP0D40")
|
||||
Name (_DDN, "Intel(R) SDIO Controller - 80860F15")
|
||||
Name (_UID, 2)
|
||||
Name (_HRV, 2)
|
||||
Name(_DEP, Package(0x01)
|
||||
{
|
||||
PEPD
|
||||
})
|
||||
Name (PSTS, 0x0)
|
||||
|
||||
Name (RBUF, ResourceTemplate ()
|
||||
{
|
||||
Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
|
||||
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {46} // SDIO IRQ
|
||||
})
|
||||
|
||||
Method (_CRS, 0x0, NotSerialized)
|
||||
{
|
||||
|
||||
CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
|
||||
CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
|
||||
Store(SI0A, B0BA)
|
||||
Store(SI0L, B0LN)
|
||||
Return (RBUF)
|
||||
}
|
||||
Method (_STA, 0x0, NotSerialized)
|
||||
{
|
||||
If (LLessEqual(STEP, 0x04))
|
||||
{
|
||||
//A stepping
|
||||
Store(SDMD, _HRV)
|
||||
}
|
||||
|
||||
//
|
||||
// PCIM>> 0:ACPI mode 1:PCI mode
|
||||
//
|
||||
If (LEqual(PCIM, 1)) {
|
||||
Return (0x0)
|
||||
}
|
||||
|
||||
If (LOr(LEqual(SI0A, 0), LEqual(SD2D, 1)))
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
Return (0xF)
|
||||
}
|
||||
Method (_DIS, 0x0, NotSerialized)
|
||||
{
|
||||
//Adding dummy disable methods for device EMM0
|
||||
}
|
||||
|
||||
Method (_PS3, 0, NotSerialized)
|
||||
{
|
||||
OR(PSAT, 0x00000003, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
}
|
||||
Method (_PS0, 0, NotSerialized)
|
||||
{
|
||||
And(PSAT, 0xfffffffC, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
|
||||
if(LEqual(\_SB.SDHB.PSTS,0x0))
|
||||
{
|
||||
if(LEqual (\_SB.GPO2.AVBL, 1))
|
||||
{
|
||||
Store( 0x01, \_SB.GPO2.WFD3 ) // WL_WIFI_REQ_ON = 1 put the device to normal state
|
||||
Store( 0x01, \_SB.SDHB.PSTS) // indicates that the device powered ON
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
OperationRegion (KEYS, SystemMemory, SI1A, 0x100)
|
||||
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
|
||||
{
|
||||
Offset (0x84),
|
||||
PSAT, 32
|
||||
}
|
||||
|
||||
|
||||
Device (BRCM)
|
||||
{
|
||||
Name (_ADR, 0x01) //SlotNumber + Function
|
||||
Name (_DEP, Package() {\_SB.GPO2})
|
||||
|
||||
Method (_RMV, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
Name (_PRW, Package() {0, 0})
|
||||
Name (_S4W, 2)
|
||||
|
||||
Method (_CRS, 0, Serialized)
|
||||
{
|
||||
Name (RBUF, ResourceTemplate ()
|
||||
{
|
||||
Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, , , ) {73}
|
||||
})
|
||||
Return (RBUF)
|
||||
}
|
||||
|
||||
Method (_PS3, 0, NotSerialized)
|
||||
{
|
||||
if(LEqual (\_SB.GPO2.AVBL, 1))
|
||||
{
|
||||
Store( 0x00, \_SB.GPO2.WFD3 ) // WL_WIFI_REQ_ON = 0 puts the device in reset state
|
||||
Store( 0x00, \_SB.SDHB.PSTS) //Indicates that the device is powered off
|
||||
}
|
||||
|
||||
}
|
||||
Method (_PS0, 0, NotSerialized)
|
||||
{
|
||||
if(LEqual(\_SB.SDHB.PSTS,0x0))
|
||||
{
|
||||
if(LEqual (\_SB.GPO2.AVBL, 1))
|
||||
{
|
||||
Store( 0x01, \_SB.GPO2.WFD3 ) // WL_WIFI_REQ_ON = 1 put the device to normal state
|
||||
Store( 0x01, \_SB.SDHB.PSTS) // indicates that the device powered ON
|
||||
}
|
||||
}
|
||||
}
|
||||
} // Device (BRCM)
|
||||
//
|
||||
// Secondary Broadcom WIFI function
|
||||
//
|
||||
Device(BRC2)
|
||||
{
|
||||
Name(_ADR, 0x2) // function 2
|
||||
Name(_STA, 0xf)
|
||||
//
|
||||
// The device is not removable. This must be a method.
|
||||
//
|
||||
Method(_RMV, 0x0, NotSerialized)
|
||||
{
|
||||
Return(0x0)
|
||||
}
|
||||
|
||||
//
|
||||
// Describe a vendor-defined connection between this device and the
|
||||
// primary wifi device
|
||||
//
|
||||
|
||||
Method(_CRS)
|
||||
{
|
||||
Name(NAM, Buffer() {"\\_SB.SDHB.BRCM"})
|
||||
Name(SPB, Buffer()
|
||||
{
|
||||
0x8E, // SPB Descriptor
|
||||
0x18, 0x00, // Length including NAM above
|
||||
0x01, // +0x00 SPB Descriptor Revision
|
||||
0x00, // +0x01 Resource Source Index
|
||||
0xc0, // +0x02 Bus type - vendor defined
|
||||
0x02, // +0x03 Consumer + controller initiated
|
||||
0x00, 0x00, // +0x04 Type specific flags
|
||||
0x01, // +0x06 Type specific revision
|
||||
0x00, 0x00 // +0x07 type specific data length
|
||||
// +0x09 - 0xf bytes for NULL-terminated NAM
|
||||
// Length = 0x18
|
||||
})
|
||||
|
||||
Name(END, Buffer() {0x79, 0x00})
|
||||
Concatenate(SPB, NAM, Local0)
|
||||
Concatenate(Local0, END, Local1)
|
||||
Return(Local1)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// SD Card
|
||||
//
|
||||
Device(SDHC)
|
||||
{
|
||||
Name (_ADR, 0)
|
||||
Name (_HID, "80860F16")
|
||||
Name (_CID, "PNP0D40")
|
||||
Name (_DDN, "Intel(R) SD Card Controller - 80860F16")
|
||||
Name (_UID, 3)
|
||||
Name(_DEP, Package(0x01)
|
||||
{
|
||||
PEPD
|
||||
})
|
||||
Name (RBUF, ResourceTemplate ()
|
||||
{
|
||||
Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
|
||||
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {47} // SD Card IRQ
|
||||
})
|
||||
Method (_CRS, 0x0, NotSerialized)
|
||||
{
|
||||
CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
|
||||
CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
|
||||
Store(SD0A, B0BA)
|
||||
Store(SD0L, B0LN)
|
||||
Return (RBUF)
|
||||
}
|
||||
Method (_STA, 0x0, NotSerialized)
|
||||
{
|
||||
//
|
||||
// PCIM>> 0:ACPI mode 1:PCI mode
|
||||
//
|
||||
If (LEqual(PCIM, 1)) {
|
||||
Return (0x0)
|
||||
}
|
||||
|
||||
If (LOr(LEqual(SD0A, 0), LEqual(SD3D, 1)))
|
||||
{
|
||||
Return (0x0)
|
||||
}
|
||||
Return (0xF)
|
||||
}
|
||||
|
||||
Method (_PS3, 0, NotSerialized)
|
||||
{
|
||||
OR(PSAT, 0x00000003, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
}
|
||||
Method (_PS0, 0, NotSerialized)
|
||||
{
|
||||
And(PSAT, 0xfffffffC, PSAT)
|
||||
OR(PSAT, 0X00000000, PSAT)
|
||||
}
|
||||
OperationRegion (KEYS, SystemMemory, SD1A, 0x100)
|
||||
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
|
||||
{
|
||||
Offset (0x84),
|
||||
PSAT, 32
|
||||
}
|
||||
|
||||
Device (CARD)
|
||||
{
|
||||
Name (_ADR, 0x00000008)
|
||||
Method(_RMV, 0x0, NotSerialized)
|
||||
{
|
||||
// SDRM = 0 non-removable;
|
||||
If (LEqual(SDRM, 0))
|
||||
{
|
||||
Return (0)
|
||||
}
|
||||
|
||||
Return (1)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user