From d23f517e6e58bed5f5b330a18ae6672e5bcc7c5c Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Sun, 10 May 2020 18:22:54 -0600 Subject: [PATCH] Add new SSDT-PMC --- Universal/nvram.md | 2 + cleanup.md | 5 ++ extra-files/SSDT-PMC.aml | Bin 0 -> 414 bytes extra-files/SSDT-PMC.dsl | 100 +++++++++++++++++++++++++++++++++++++++ ssdt-easy.md | 10 +++- 5 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 extra-files/SSDT-PMC.aml create mode 100644 extra-files/SSDT-PMC.dsl diff --git a/Universal/nvram.md b/Universal/nvram.md index 9a3b821..c71eefe 100644 --- a/Universal/nvram.md +++ b/Universal/nvram.md @@ -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) +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) diff --git a/cleanup.md b/cleanup.md index ab92f28..6c68f54 100644 --- a/cleanup.md +++ b/cleanup.md @@ -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** +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 Steps to do this: diff --git a/extra-files/SSDT-PMC.aml b/extra-files/SSDT-PMC.aml new file mode 100644 index 0000000000000000000000000000000000000000..c0eb2a92bf436eea0c89d6b4f8a387d9be4e2f2a GIT binary patch literal 414 zcmWFzb_tos$iTp);t~|%=jj;W>m0-Y0s;&So_--doUD=x3oIB!WAvHhgPr07oIMSE z0-T-L&_xU|MB>>P7I?8m3!&*`5O8HhH7mNwnFVAmN4$rp3lE#Xj4~1F_}~ynh6Mug z{=uHSE{R3unRyILxVRTGFJa(_cMb{`6y)M-<75E3o8cb=kgCLHl>vrT2DGv&9>c15 Hs#pa8+n`|q literal 0 HcmV?d00001 diff --git a/extra-files/SSDT-PMC.dsl b/extra-files/SSDT-PMC.dsl new file mode 100644 index 0000000..457cb9f --- /dev/null +++ b/extra-files/SSDT-PMC.dsl @@ -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 + ) + }) + } + } + } + +} + diff --git a/ssdt-easy.md b/ssdt-easy.md index 10c127e..670c92c 100644 --- a/ssdt-easy.md +++ b/ssdt-easy.md @@ -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 * This includes X79, X99 and X299 systems * **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**: * Need to be configured to your system * **SSDT-GPI0**: @@ -22,7 +23,7 @@ What this tool does is dumps your DSDT from your firmware, and then creates 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) -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 @@ -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. +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 Steps to do this: