Add new SSDT-PMC

This commit is contained in:
Mykola Grymalyuk
2020-05-10 18:22:54 -06:00
parent 72b40e395c
commit d23f517e6e
5 changed files with 115 additions and 2 deletions

View File

@@ -19,4 +19,6 @@ By default it uses `PCI0.LPCB` for the PCI and LowPinCount path. The device name
![](/images/Universal/nvram-md/lpc.png) ![](/images/Universal/nvram-md/lpc.png)
A pre-built can be found here if you have issues: [SSDT-PMC.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PMC.aml)
## [Now you're ready to compile the SSDT!](/Manual/compile.md) ## [Now you're ready to compile the SSDT!](/Manual/compile.md)

View File

@@ -9,6 +9,11 @@ The 2 main locations:
You can save yourself some work with the config.plist by running Cmd/Ctrl+R in ProperTree. **Reminder do not add your DSDT.aml to your EFI** You can save yourself some work with the config.plist by running Cmd/Ctrl+R in ProperTree. **Reminder do not add your DSDT.aml to your EFI**
For those who do not yet have a config.plist, you'll want to next head back to your respective OpenCore guides and create the config.plist:
* [OpenCore Desktop guide](https://dortania.github.io/OpenCore-Desktop-Guide/)
* [OpenCore Laptop Guide](https://dortania.github.io/vanilla-laptop-guide/)
Users of `FixHPET` will also need to merge oc_patches.plist into their config.plist Users of `FixHPET` will also need to merge oc_patches.plist into their config.plist
Steps to do this: Steps to do this:

BIN
extra-files/SSDT-PMC.aml Normal file

Binary file not shown.

100
extra-files/SSDT-PMC.dsl Normal file
View File

@@ -0,0 +1,100 @@
/*
* Goal of this SSDT is to check for all LPC edge cases, as laptops are known for naming variation
*/
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "PMCR", 0x00001000)
{
External (_SB_.PCI0.LPCB, DeviceObj)
External (_SB_.PCI0.LPC0, DeviceObj)
External (_SB_.PCI0.LPC, DeviceObj)
If (CondRefOf (\_SB.PCI0.LPCB))
{
Scope (_SB.PCI0.LPCB)
{
Device (PMCR)
{
Name (_HID, EisaId ("APP9876")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0B)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadWrite,
0xFE000000, // Address Base
0x00010000, // Address Length
)
})
}
}
}
If (CondRefOf (\_SB.PCI0.LPC0))
{
Scope (_SB.PCI0.LPC0)
{
Device (PMCR)
{
Name (_HID, EisaId ("APP9876")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0B)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadWrite,
0xFE000000, // Address Base
0x00010000, // Address Length
)
})
}
}
}
If (CondRefOf (\_SB.PCI0.LPC))
{
Scope (_SB.PCI0.LPC)
{
Device (PMCR)
{
Name (_HID, EisaId ("APP9876")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0B)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadWrite,
0xFE000000, // Address Base
0x00010000, // Address Length
)
})
}
}
}
}

View File

@@ -10,7 +10,8 @@ What this tool does is dumps your DSDT from your firmware, and then creates SSDT
* The ACPI is odd on these platforms so manual work is required * The ACPI is odd on these platforms so manual work is required
* This includes X79, X99 and X299 systems * This includes X79, X99 and X299 systems
* **Laptop EC fix**: * **Laptop EC fix**:
* This is because you need to use an ACPI rename over an SSDT on laptops * This is because you do not want the EC powered off
* Prebuilt can be found here: [Embedded Controller](/Universal/ec-fix.md)
* **SSDT-PNLF**: * **SSDT-PNLF**:
* Need to be configured to your system * Need to be configured to your system
* **SSDT-GPI0**: * **SSDT-GPI0**:
@@ -22,7 +23,7 @@ What this tool does is dumps your DSDT from your firmware, and then creates SSDT
* **USBX SSDT**: * **USBX SSDT**:
* This is included on sample SSDTs but SSDTTime only makes the SSDT-EC part, Skylake and newer users can grab a pre-built here: [SSDT-USBX.aml](https://github.com/dortania/USB-Map-Guide/blob/master/extra-files/SSDT-USBX.aml) * This is included on sample SSDTs but SSDTTime only makes the SSDT-EC part, Skylake and newer users can grab a pre-built here: [SSDT-USBX.aml](https://github.com/dortania/USB-Map-Guide/blob/master/extra-files/SSDT-USBX.aml)
For users who don't have all the options avaible to them in SSDTTime, you can follow the "SSDTs: The long way" section. You can still use SSDTTime for SSDTs it support for you. For users who don't have all the options available to them in SSDTTime, you can follow the "SSDTs: The long way" section. You can still use SSDTTime for SSDTs it support for you.
## Running SSDTTime ## Running SSDTTime
@@ -58,6 +59,11 @@ Don't forget that SSDTs need to be added to Opencore, reminder that .aml is comp
Reminder that Cmd/Crtl+R with ProperTree pointed at your OC folder will add all your SSDTs, kexts and .efi drivers to the config for you. **Do not add your DSDT to OpenCore, its already in your firmware**. If you are unsure what this is referring to, go back to the OpenCore guide and select your config based of the architecture of your CPU. Reminder that Cmd/Crtl+R with ProperTree pointed at your OC folder will add all your SSDTs, kexts and .efi drivers to the config for you. **Do not add your DSDT to OpenCore, its already in your firmware**. If you are unsure what this is referring to, go back to the OpenCore guide and select your config based of the architecture of your CPU.
For those who do not yet have a config.plist, you'll want to next head back to your respective OpenCore guides and create the config.plist:
* [OpenCore Desktop guide](https://dortania.github.io/OpenCore-Desktop-Guide/)
* [OpenCore Laptop Guide](https://dortania.github.io/vanilla-laptop-guide/)
Users of `FixHPET` will also need to merge oc_patches.plist into their config.plist Users of `FixHPET` will also need to merge oc_patches.plist into their config.plist
Steps to do this: Steps to do this: