From 833ac33120b36a8c44be99deafab1e101bd152ca Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Wed, 12 Feb 2020 16:01:44 -0700 Subject: [PATCH] Fixes based off issue#1 --- .gitignore | 2 ++ Laptops/backlight.md | 4 +-- Laptops/laptop-ec.md | 2 +- Laptops/trackpad.md | 53 ++++++++++++++++++++++++++++++++-- README.md | 21 +++++--------- SUMMARY.md | 3 +- extra-files/SSDT-GPI0.dsl | 13 +++++++++ extra-files/SSDT-GPI0.dsl.zip | Bin 0 -> 877 bytes extra-files/SSDT-GPIO.aml | Bin 97 -> 0 bytes extra-files/SSDT-XOSI.aml | Bin 333 -> 0 bytes ssdt-easy.md | 6 ++-- 11 files changed, 78 insertions(+), 26 deletions(-) create mode 100644 extra-files/SSDT-GPI0.dsl create mode 100644 extra-files/SSDT-GPI0.dsl.zip delete mode 100644 extra-files/SSDT-GPIO.aml delete mode 100644 extra-files/SSDT-XOSI.aml diff --git a/.gitignore b/.gitignore index 9bea433..194cfe2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store +icons/.DS_Store +icons/.DS_Store diff --git a/Laptops/backlight.md b/Laptops/backlight.md index 5c4edb6..5591d35 100644 --- a/Laptops/backlight.md +++ b/Laptops/backlight.md @@ -5,6 +5,4 @@ So what this SSDT does is create a PNLF device for macOS to play with, specifica No configuration required for most, just drop the prebuilt file into your EFI: [SSDT-PNLF](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PNLF.aml) -Note: there are some cases where the iGPU is called `IGPU` in the DSDT, you can double check by searching for both `PCI0.GFX0` and `PCI0.IGPU`. Whichever shows up is your device - - +Note: there are some rare cases where the iGPU is called `GPU0` or `VID`in the DSDT, you can double check by searching for `PCI0.GFX0`, `PCI0.VID` and `PCI0.GPU0`. Whichever shows up is your device diff --git a/Laptops/laptop-ec.md b/Laptops/laptop-ec.md index a6881d1..9e205cf 100644 --- a/Laptops/laptop-ec.md +++ b/Laptops/laptop-ec.md @@ -37,7 +37,7 @@ As you can see from the table below, we'll be renaming our EC listed in the DSDT | :--- | :--- | :--- | | Enabled | String | YES | | Count | Number | 0 | -| Limit | Nuber | 0 | +| Limit | Number | 0 | | Find | Data | xxxxxxxx | | Replace | Data | xxxxxxxx | diff --git a/Laptops/trackpad.md b/Laptops/trackpad.md index 1ba01bb..525c96f 100644 --- a/Laptops/trackpad.md +++ b/Laptops/trackpad.md @@ -1,5 +1,54 @@ # Fixing Trackpads -This SSDT is used to create a stub for VoodooI2C to connect to. +This SSDT is used to force enable our GPIO for VoodooI2C to connect onto. -No configuration required, just drop the prebuilt file into your EFI: [SSDT-GPIO](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPIO.aml) +With most modern laptop DSDTs, there's a variable called `GPEN` or `GPHD` which are used for setting the status of the GPIO device. For us, we want to enable the device. + +## Finding our GPIO + +So first things we need to do is find out what variable is used to enable our GPIO device, lets open up our decompiled SSDT and search for `Device (GPIO)`. Should give you a desult similar to this: + +![](https://media.discordapp.net/attachments/456913818467958789/677279455525208096/Screen_Shot_2020-02-12_at_3.25.27_PM.png?width=1674&height=1256) + + +What we care about from this is the `_STA` method: + +``` +Method (_STA, 0, NotSerialized) +{ + If ((GPHD == One)) + { + Return (0x03) + } + + Return (0x0F) +} +``` +What we want is for this to always return `0x0F` when booting macOS, so we want to make an SSDT that will return `GPHD == Zero` in macOS. + +**NOTE that you may have the other way around where GPHD needs to be set as `One` to return `0x0F`**. And your device name may also be different, don't throw random SSDTs in thinking it'll work + +Once you found the variable and what it should be set to, grab a copy of [SSDT-GPI0.dsl](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPI0.dsl) and make the required edits. Then clean up with compiling it + + +## More examples: + +![](https://media.discordapp.net/attachments/456913818467958789/677283983322775572/Screen_Shot_2020-02-12_at_3.34.26_PM.png?width=1674&height=1704) + +With this example, we can see that we need both `SBRG` and `GPEN` to return `One`. If only one is present, it'll create some issues so in our SSDT we'll want to have both of them return `One`: +``` +DefinitionBlock("", "SSDT", 2, "ACDT", "GPI0", 0) +{ + External(GPEN, FieldUnitObj) + External(SBRG, FieldUnitObj) + + Scope (\) + { + If (_OSI ("Darwin")) + { + GPEN = One + SBRG = One + } + } +} +``` diff --git a/README.md b/README.md index bed871a..8313005 100644 --- a/README.md +++ b/README.md @@ -74,48 +74,42 @@ Please see the **specific ACPI section of your config.plist**, all SSDTs needed * [EC ACPI Patch](/Laptops/laptop-ec.md) * [CPU-PM](https://github.com/Piker-Alpha/ssdtPRGen.sh) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Haswell:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Broadwell:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Skylake:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Kabylake:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Coffeelake(8th Gen):** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Coffeelake(9th Gen):** @@ -124,6 +118,5 @@ Please see the **specific ACPI section of your config.plist**, all SSDTs needed * [SSDT AWAC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) * [SSDT-PMC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) +* [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) diff --git a/SUMMARY.md b/SUMMARY.md index 98a46ca..529b204 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -16,14 +16,13 @@ * [Embedded Controllers](/Laptops/laptop-ec.md) * [Backlight PNLF](/Laptops/backlight.md) -* [Trackpad GPIO](/Laptops/trackpad.md) +* [Trackpad GPI0](/Laptops/trackpad.md) ## Universal * [Plugin type](/Universal/plug.md) * [AWAC vs RTC](/Universal/awac.md) * [NVRAM PMC](/Universal/nvram.md) -* [XOSI](/Universal/xosi.md) * [IRQ Fix](/Universal/irq.md) * [GPU Spoof](/Universal/spoof.md) diff --git a/extra-files/SSDT-GPI0.dsl b/extra-files/SSDT-GPI0.dsl new file mode 100644 index 0000000..02a01ee --- /dev/null +++ b/extra-files/SSDT-GPI0.dsl @@ -0,0 +1,13 @@ +// Source: https://github.com/daliansky/OC-little +DefinitionBlock("", "SSDT", 2, "ACDT", "GPI0", 0) +{ + External(GPEN, FieldUnitObj) + + Scope (\) + { + If (_OSI ("Darwin")) + { + GPEN = One + } + } +} \ No newline at end of file diff --git a/extra-files/SSDT-GPI0.dsl.zip b/extra-files/SSDT-GPI0.dsl.zip new file mode 100644 index 0000000000000000000000000000000000000000..ccfe5d8307cef8f6bba429f5ff8f8358bcbd8142 GIT binary patch literal 877 zcmWIWW@Zs#-~hs?I-dXrD0mN~c^MQKf`eT`bln3y4fIlqb3#LS8Q6UrUE=(K7(|y= za5FHnd}U-{02;x-;OcXbtI0uR&u`Iw+qDU6OGK=u%&PEAd@a`Ua@OqI>t1-d{&>HZ z%dCB7;=MhJEGu5!o>Li+dACGPv3%X?f7{Mooh&l*!OSt<^Q)xIb&Fk+6l=;l<4C=UfWSoKL<@^l$CV zSSQ8y!^r*f^Nt-XHNF`<60DKG9|_(3R`ln(ThH$etuC8X<<`t>mk;n}=dcZbcy>L| z=^+0GU=4}oK;KCKLn1!j*U{NOI6_}99(SNzX~GDU=^n|2@557KOANa#M0vebm zNHD7lNE;d$Ok>Jam|tkg9C*M`MTO%K)5`=AMkBSwnu%>)+y(|7s?VRlQWX<|ayj?$egRXZI_JHtNS+^08Bb>+^5M_0NkcD_8C z@U_lCX;R}sneM6uMe~m=xiaU+o|4CVWQ;dodGzU0jBxPeMSo%zU$L2d=*^#y1!?!) zrdv$#jN#XBx^rSe$b`v}F-Zv<8kk=xxvkKbkPKjazC3L6`ZvAMyUV-v z=WMGkvl-=YYCk={?aSX^F1E1msA`MuCgF-yOn~_O`8IdlL z;|Y{5VPHukh=n^su%uFSqmiuzMKla7Y2*SrgxqKk@MdKLnZyKy2Z8i7CJ+w*_X{lNIc>iEeUYEq8^2|I25zhGF5J!e3T>Jp52NeMT diff --git a/extra-files/SSDT-XOSI.aml b/extra-files/SSDT-XOSI.aml deleted file mode 100644 index ec32166b135e82d4286eb305cbebf71c5c94344c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmWFzb_wxiWME)A<>>4Z!oU#WAMD8h0s;&So_--d5(1J6A|65@Va5U>XF);U@XWlF z{PJQ2BLf3N1{9tikndKMn(7qn!ocehpc@*&!0TU-niu99jH*x}H~>v6P{asBjWLRd z87dFM3`=BrLln~tfhPH8CKu%w=ckn@z&zj=f<+XIkguzif^TL{PHJ9WW@)a1Yf5HG bW_}(6uTN%PX$3>Vl1Y>QcP21q0K*IbLPlNz diff --git a/ssdt-easy.md b/ssdt-easy.md index 5ff76a8..fc166a8 100644 --- a/ssdt-easy.md +++ b/ssdt-easy.md @@ -12,10 +12,8 @@ So what **can't** SSDTTime do?: * This is because you need to use an ACPI rename over an SSDT on laptops * **SSDT-PNLF**: * No need to configuration required for most, use prebuilt file [here](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PNLF.aml) -* **SSDT-GPIO**: - * No need to configuration required, use prebuilt file [here](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPIO.aml) -* **SSDT-XOSI**: - * No need to configuration required, use prebuilt file [here](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-XOSI.aml) +* **SSDT-GPI0**: + * Need to be configured to your system: [SSDT-GPI0.dsl](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPI0.dsl) * **AWAC and RTC0 SSDTs**: * 300 series intel boards will also need to figure his out(Z390 systems are most common for requiring this but some gigabyte Z370 do as well) * **PMC SSDT**: