mirror of
https://github.com/AskDavis/Getting-Started-With-ACPI.git
synced 2026-01-01 05:05:57 -08:00
816 lines
26 KiB
Plaintext
816 lines
26 KiB
Plaintext
/* Purpose of this SSDT is to:
|
|
*
|
|
* - Find the RTC device and see if there's an _STA
|
|
* - If yes, just create a new RTC device as we'll assume AWAC is present
|
|
* and enabled by default. Thankfully AppleSMCRTC will unload with AWAC
|
|
* allowing AppleRTC to be the only kext loaded
|
|
* - If no, disable the RTC device and create a new one to avoid conflict
|
|
* with multiple RTC devices enabled
|
|
*
|
|
* Note this is only to be used with X99 and X299, X79 only support 1 bank
|
|
* of RTC memory and so this SSDT can actually break a system
|
|
*
|
|
* Also due to ACPI namespace issues, each RTC device has a unique name,
|
|
* thankfully AppleRTC matches based off of _HID and does not care about
|
|
* the RTC's name
|
|
*/
|
|
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "RtcRange", 0x00001000)
|
|
{
|
|
// X99 Definitions
|
|
External (_SB_.PCI0, DeviceObj)
|
|
External (_SB_.PCI0.LPC0.RTC, DeviceObj)
|
|
External (_SB_.PCI0.LPC0.RTC._STA, MethodObj)
|
|
External (_SB_.PCI0.LPC0.RTC0, DeviceObj)
|
|
External (_SB_.PCI0.LPC0.RTC0._STA, MethodObj)
|
|
External (_SB_.PCI0.LPC.RTC, DeviceObj)
|
|
External (_SB_.PCI0.LPC.RTC._STA, MethodObj)
|
|
External (_SB_.PCI0.LPC.RTC0, DeviceObj)
|
|
External (_SB_.PCI0.LPC.RTC0._STA, MethodObj)
|
|
External (_SB_.PCI0.LPCB.RTC, DeviceObj)
|
|
External (_SB_.PCI0.LPCB.RTC._STA, MethodObj)
|
|
External (_SB_.PCI0.LPCB.RTC0, DeviceObj)
|
|
External (_SB_.PCI0.LPCB.RTC0._STA, MethodObj)
|
|
External (_SB_.PCI0.SBRG.RTC, DeviceObj)
|
|
External (_SB_.PCI0.SBRG.RTC._STA, MethodObj)
|
|
External (_SB_.PCI0.SBRG.RTC0, DeviceObj)
|
|
External (_SB_.PCI0.SBRG.RTC0._STA, MethodObj)
|
|
|
|
// X299 Definitions
|
|
External (_SB_.PC00, DeviceObj)
|
|
External (_SB_.PC00.LPC0.RTC, DeviceObj)
|
|
External (_SB_.PC00.LPC0.RTC._STA, MethodObj)
|
|
External (_SB_.PC00.LPC0.RTC0, DeviceObj)
|
|
External (_SB_.PC00.LPC0.RTC0._STA, MethodObj)
|
|
External (_SB_.PC00.LPC.RTC, DeviceObj)
|
|
External (_SB_.PC00.LPC.RTC._STA, MethodObj)
|
|
External (_SB_.PC00.LPC.RTC0, DeviceObj)
|
|
External (_SB_.PC00.LPC.RTC0._STA, MethodObj)
|
|
External (_SB_.PC00.LPCB.RTC, DeviceObj)
|
|
External (_SB_.PC00.LPCB.RTC._STA, MethodObj)
|
|
External (_SB_.PC00.LPCB.RTC0, DeviceObj)
|
|
External (_SB_.PC00.LPCB.RTC0._STA, MethodObj)
|
|
|
|
// LPC0 Naming
|
|
// X99 - RTC_ Case
|
|
If (CondRefOf (\_SB.PCI0.LPC0.RTC))
|
|
{
|
|
// Create RTC1 device
|
|
Device (\_SB.PCI0.LPC0.RTC1)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.LPC0.RTC._STA))
|
|
{
|
|
Scope (\_SB.PCI0.LPC0.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X99 - RTC0 Case
|
|
If (CondRefOf (\_SB.PCI0.LPC0.RTC0))
|
|
{
|
|
// Create RTC2 device
|
|
Device (\_SB.PCI0.LPC0.RTC2)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.LPC0.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PCI0.LPC0.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// LPC Naming
|
|
If (CondRefOf (\_SB.PCI0.LPC.RTC))
|
|
{
|
|
// Create RTC1 device
|
|
Device (\_SB.PCI0.LPC.RTC1)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.LPC.RTC._STA))
|
|
{
|
|
Scope (\_SB.PCI0.LPC.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X99 - RTC0 Case
|
|
If (CondRefOf (\_SB.PCI0.LPC.RTC0))
|
|
{
|
|
// Create RTC2 device
|
|
Device (\_SB.PCI0.LPC.RTC2)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.LPC.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PCI0.LPC.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// LPCB Naming
|
|
If (CondRefOf (\_SB.PCI0.LPCB.RTC))
|
|
{
|
|
// Create RTC1 device
|
|
Device (\_SB.PCI0.LPCB.RTC1)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.LPCB.RTC._STA))
|
|
{
|
|
Scope (\_SB.PCI0.LPCB.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X99 - RTC0 Case
|
|
If (CondRefOf (\_SB.PCI0.LPCB.RTC0))
|
|
{
|
|
// Create RTC2 device
|
|
Device (\_SB.PCI0.LPCB.RTC2)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.LPCB.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PCI0.LPCB.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// SBRG Naming
|
|
If (CondRefOf (\_SB.PCI0.SBRG.RTC))
|
|
{
|
|
// Create RTC1 device
|
|
Device (\_SB.PCI0.SBRG.RTC1)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.SBRG.RTC._STA))
|
|
{
|
|
Scope (\_SB.PCI0.SBRG.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X99 - RTC0 Case
|
|
If (CondRefOf (\_SB.PCI0.SBRG.RTC0))
|
|
{
|
|
// Create RTC2 device
|
|
Device (\_SB.PCI0.SBRG.RTC2)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PCI0.SBRG.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PCI0.SBRG.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// LPC0 Naming
|
|
// X299 - RTC_ Case
|
|
If (CondRefOf (\_SB.PC00.LPC0.RTC))
|
|
{
|
|
// Create RTC3 device
|
|
Device (\_SB.PC00.LPC0.RTC3)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PC00.LPC0.RTC._STA))
|
|
{
|
|
Scope (\_SB.PC00.LPC0.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X299 - RTC0 Case
|
|
If (CondRefOf (\_SB.PC00.LPC0.RTC0))
|
|
{
|
|
// Create RTC4 device
|
|
Device (\_SB.PC00.LPC0.RTC4)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PC00.LPC0.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PC00.LPC0.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// LPC Naming
|
|
// X299 - RTC_ Case
|
|
If (CondRefOf (\_SB.PC00.LPC.RTC))
|
|
{
|
|
// Create RTC3 device
|
|
Device (\_SB.PC00.LPC.RTC3)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PC00.LPC.RTC._STA))
|
|
{
|
|
Scope (\_SB.PC00.LPC.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X299 - RTC0 Case
|
|
If (CondRefOf (\_SB.PC00.LPC.RTC0))
|
|
{
|
|
// Create RTC4 device
|
|
Device (\_SB.PC00.LPC.RTC4)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PC00.LPC.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PC00.LPC.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// LPCB Naming
|
|
// X299 - RTC_ Case
|
|
If (CondRefOf (\_SB.PC00.LPCB.RTC))
|
|
{
|
|
// Create RTC3 device
|
|
Device (\_SB.PC00.LPCB.RTC3)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PC00.LPCB.RTC._STA))
|
|
{
|
|
Scope (\_SB.PC00.LPCB.RTC)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// X299 - RTC0 Case
|
|
If (CondRefOf (\_SB.PC00.LPCB.RTC0))
|
|
{
|
|
// Create RTC4 device
|
|
Device (\_SB.PC00.LPCB.RTC4)
|
|
{
|
|
Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
|
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
{
|
|
IO (Decode16,
|
|
0x0070, // Range Minimum 1
|
|
0x0070, // Range Maximum 1
|
|
0x01, // Alignment 1
|
|
0x04, // Length 1 (Expanded to include 0x72 and 0x73)
|
|
)
|
|
IO (Decode16,
|
|
0x0074, // Range Minimum 2
|
|
0x0074, // Range Maximum 2
|
|
0x01, // Alignment 2
|
|
0x04, // Length 2
|
|
)
|
|
IRQNoFlags ()
|
|
{8}
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
}
|
|
If (!CondRefOf (\_SB.PC00.LPCB.RTC0._STA))
|
|
{
|
|
Scope (\_SB.PC00.LPCB.RTC0)
|
|
{
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
Else
|
|
{
|
|
Return (0x0F)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|