Skip to content

Commit

Permalink
preliminary NUC8 (Bean Canyon, CoffeeLake) support
Browse files Browse the repository at this point in the history
  • Loading branch information
RehabMan committed Oct 14, 2018
1 parent 620d94f commit 4869237
Show file tree
Hide file tree
Showing 36 changed files with 853 additions and 234 deletions.
4 changes: 4 additions & 0 deletions Patches.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@
EDB6A7311F58666600780158 /* SSDT-DDA.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "SSDT-DDA.dsl"; sourceTree = "<group>"; };
EDC38F2A1FC9DA8100C9E61F /* SSDT-USB-NUC7.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "SSDT-USB-NUC7.dsl"; sourceTree = "<group>"; };
EDCF685A1CFBBD03009D6CCD /* SSDT-LPC.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "SSDT-LPC.dsl"; sourceTree = "<group>"; };
EDD674D22173606100F1248F /* SSDT-XDCI.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "SSDT-XDCI.dsl"; sourceTree = "<group>"; };
EDD674D32173620700F1248F /* SSDT-USBX.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "SSDT-USBX.dsl"; sourceTree = "<group>"; };
EDD762461CFC968400A2D6BA /* config_install_nuc6.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = config_install_nuc6.plist; sourceTree = "<group>"; };
EDD762471CFC973E00A2D6BA /* config_nuc6.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = config_nuc6.plist; sourceTree = "<group>"; };
EDFE7D6F1CFBD22F00380DFC /* config_nuc5.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = config_nuc5.plist; sourceTree = "<group>"; };
Expand Down Expand Up @@ -92,7 +94,9 @@
ED0BD6EB20DFF9E000223423 /* SSDT-USB-NUC7-DC.dsl */,
ED351761212B96C700682D82 /* SSDT-USB-NUC8-BC.dsl */,
ED48C0CE1ED3DD5100D66B7A /* SSDT-USB-STCK.dsl */,
EDD674D32173620700F1248F /* SSDT-USBX.dsl */,
ED5448371CFFD70D007F89F0 /* SSDT-XHC.dsl */,
EDD674D22173606100F1248F /* SSDT-XDCI.dsl */,
EDA342501CFC99B700E14DE0 /* SSDT-SATA.dsl */,
EDAA88F11CFB6A6D008BA1EE /* SSDT-NUCHDA.dsl */,
ED5448361CFFD70D007F89F0 /* SSDT-HDEF.dsl */,
Expand Down
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## Intel "NUC5"/"NUC6"/"NUC7" DSDT patches by RehabMan
## Intel "NUC5"/"NUC6"/"NUC7"/"NUC8" DSDT patches by RehabMan

This set of patches/makefile can be used to patch your Intel NUC5/NUC6/NUC7 ACPI.

The current repository actually uses only on-the-fly patches via config.plist and an additional SSDTs, SSDT-XOSI.aml, etc. The files here should work for all the Broadwell NUC, Skylake NUC, and Kaby Lake NUC.
The current repository actually uses only on-the-fly patches via config.plist and an additional SSDTs, SSDT-XOSI.aml, etc. The files here should work for all the Broadwell NUC, Skylake NUC, Kaby Lake, and Coffee Lake NUC.

Please refer to this guide thread on tonymacx86.com for a step-by-step process, feedback, and questions:

Expand All @@ -12,9 +12,21 @@ Skylake NUC6: http://www.tonymacx86.com/threads/guide-intel-skylake-nuc6-using-c

Kaby Lake NUC7: http://www.tonymacx86.com/threads/guide-intel-kaby-lake-nuc7-using-clover-uefi-nuc7i7bnh-nuc7i5bnk-nuc7i3bnh-etc.221123/

Coffee Lake NUC8: //REVIEW: URL TBD


### Change Log:

2018-10-14

- Add preliminary NUC8 "Bean Canyon" support


2018-10-10

- Completed many changes for WhateverGreen, AppleALC, and Mojave


2017-08-31

- Allow Skylake spoofing to work with NUC7 (4k@60 reported not working with native KBL graphics kexts, and Skylake spoof needed for 10.11.x)
Expand Down
14 changes: 14 additions & 0 deletions SSDT-IGPU.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,20 @@
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel Iris Plus Graphics 650" },
},
// Coffee Lake/UHD630 (not tested)
0x3e9b, 0x3e92, 0x3e91, 0, Package()
{
"AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x9b, 0x3e },
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel UHD Graphics 630" },
},
// Coffee Lake/UHD655
0x3ea5, 0, Package()
{
"AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0xa5, 0x3e },
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel Iris Plus Graphics 655" },
},
})

// inject properties for integrated graphics on IGPU
Expand Down
28 changes: 28 additions & 0 deletions SSDT-KBLSPF.dsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// SSDT-KBLSPF.dsl
//
// The purpose of this file is to allow CoffeeLake systems to spoof KabyLake graphics.
// Just include the built version of this file in ACPI/patched.

DefinitionBlock("", "SSDT", 2, "hack", "_KBLSPF", 0)
{
Name(RMGO, Package()
{
// Coffee Lake/UHD630 (not tested)
0x3e9b, 0x3e92, 0x3e91, 0, Package()
{
"AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x1b, 0x59 },
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel UHD Graphics 630" },
"device-id", Buffer() { 0x1b, 0x59, 0x00, 0x00 },
},
// Coffee Lake/UHD655
0x3ea5, 0, Package()
{
"AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x27, 0x59 },
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel Iris Plus Graphics 655" },
"device-id", Buffer() { 0x27, 0x59, 0x00, 0x00 },
},
})
}
//EOF
4 changes: 2 additions & 2 deletions SSDT-NUC5.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// configuration data for other SSDTs in this pack (NUC5)
// NUC5 model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_NUC5", 0)
{
Expand All @@ -21,6 +21,7 @@ DefinitionBlock("", "SSDT", 2, "hack", "_NUC5", 0)

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-SATA.dsl"
Expand All @@ -30,6 +31,5 @@ DefinitionBlock("", "SSDT", 2, "hack", "_NUC5", 0)
#include "SSDT-LPC.dsl"
#include "SSDT-DEHCI.dsl"
#include "SSDT-EC.dsl"
//#include "SSDT-PTS.dsl"
}
//EOF
15 changes: 3 additions & 12 deletions SSDT-NUC6-SC.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// configuration data for other SSDTs in this pack (NUC6 Skull Canyon)
// NUC6 Skull Canyon model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_NUC6-SC", 0)
{
Expand All @@ -19,21 +19,12 @@ DefinitionBlock("", "SSDT", 2, "hack", "_NUC6-SC", 0)
Name(FAKH, 0)
}

// No XDCI, yet it returns "present" for _STA
// XDCI also has a _PRW. This can cause "instant wake"
// Returning not-present for _STA is the fix
// The original implementation of _STA is renamed to XSTA via config.plist
//Name(_SB.PCI0.XDCI._STA, 0)
External(_SB.PCI0.XDCI.DVID, FieldUnitObj)
Method(_SB.PCI0.XDCI._STA)
{
If (DVID != 0xFFFF) { Return (0xf) } Else { Return (0) }
}

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-XDCI.dsl"
#include "SSDT-SATA.dsl"
#include "SSDT-NUCHDA.dsl"
#include "SSDT-HDEF.dsl"
Expand Down
15 changes: 3 additions & 12 deletions SSDT-NUC6.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// configuration data for other SSDTs in this pack (NUC6)
// NUC6 model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_NUC6", 0)
{
Expand All @@ -19,21 +19,12 @@ DefinitionBlock("", "SSDT", 2, "hack", "_NUC6", 0)
Name(FAKH, 0)
}

// No XDCI, yet it returns "present" for _STA
// XDCI also has a _PRW. This can cause "instant wake"
// Returning not-present for _STA is the fix
// The original implementation of _STA is renamed to XSTA via config.plist
//Name(_SB.PCI0.XDCI._STA, 0)
External(_SB.PCI0.XDCI.DVID, FieldUnitObj)
Method(_SB.PCI0.XDCI._STA)
{
If (DVID != 0xFFFF) { Return (0xf) } Else { Return (0) }
}

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-XDCI.dsl"
#include "SSDT-SATA.dsl"
#include "SSDT-NUCHDA.dsl"
#include "SSDT-HDEF.dsl"
Expand Down
15 changes: 3 additions & 12 deletions SSDT-NUC7-DC.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// configuration data for other SSDTs in this pack (NUC7 Dawson Canyon)
// NUC7 Dawson Canyon model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_NUC7-DC", 0)
{
Expand All @@ -19,21 +19,12 @@ DefinitionBlock("", "SSDT", 2, "hack", "_NUC7-DC", 0)
Name(FAKH, 0)
}

// No XDCI, yet it returns "present" for _STA
// XDCI also has a _PRW. This can cause "instant wake"
// Returning not-present for _STA is the fix
// The original implementation of _STA is renamed to XSTA via config.plist
//Name(_SB.PCI0.XDCI._STA, 0)
External(_SB.PCI0.XDCI.DVID, FieldUnitObj)
Method(_SB.PCI0.XDCI._STA)
{
If (DVID != 0xFFFF) { Return (0xf) } Else { Return (0) }
}

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB-NUC7-DC.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-XDCI.dsl"
#include "SSDT-SATA.dsl"
#include "SSDT-HDEF.dsl"
#include "SSDT-PTS.dsl"
Expand Down
15 changes: 3 additions & 12 deletions SSDT-NUC7.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// configuration data for other SSDTs in this pack (NUC7)
// NUC7 model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_NUC7", 0)
{
Expand All @@ -19,21 +19,12 @@ DefinitionBlock("", "SSDT", 2, "hack", "_NUC7", 0)
Name(FAKH, 1)
}

// No XDCI, yet it returns "present" for _STA
// XDCI also has a _PRW. This can cause "instant wake"
// Returning not-present for _STA is the fix
// The original implementation of _STA is renamed to XSTA via config.plist
//Name(_SB.PCI0.XDCI._STA, 0)
External(_SB.PCI0.XDCI.DVID, FieldUnitObj)
Method(_SB.PCI0.XDCI._STA)
{
If (DVID != 0xFFFF) { Return (0xf) } Else { Return (0) }
}

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB-NUC7.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-XDCI.dsl"
#include "SSDT-SATA.dsl"
#include "SSDT-NUCHDA.dsl"
#include "SSDT-HDEF.dsl"
Expand Down
32 changes: 32 additions & 0 deletions SSDT-NUC8-BC.dsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// NUC8 Bean Canyon model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_NUC8-BC", 0)
{
Device(RMCF)
{
Name(_ADR, 0) // do not remove

// AUDL: Audio Layout
//
// The value here will be used to inject layout-id for HDEF and HDAU
// If set to Ones, no audio injection will be done.
Name(AUDL, 3)

// FAKH: Fake HDMI Aduio
//
// 0: Disable spoofing of HDEF for FakePCIID_Intel_HDMI_Audio.kext
// 1: Allow spoofing of HDEF for FakePCIID_Intel_HDMI_Audio.kext
Name(FAKH, 1)
}

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB-NUC8-BC.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-XDCI.dsl"
#include "SSDT-SATA.dsl"
//#include "SSDT-NUCHDA.dsl"
#include "SSDT-HDEF.dsl"
}
//EOF
22 changes: 21 additions & 1 deletion SSDT-NUCHDA.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// generated from: ../codec.git/gen_ahhcd.sh NUCHDA
//DefinitionBlock ("", "SSDT", 2, "hack", "_NUCHDA", 0)
//{
External(_SB.PCI0.HDEF, DeviceObj)
Expand Down Expand Up @@ -47,6 +46,27 @@
"Sleep Nodes", ">n",
"Update Nodes", ">n",
},
// ALC235 for NUC8
//REVIEW: not tested
"10ec_0235", Package()
{
//"Disable", ">n",
"Custom Commands", Package()
{
Package(){},
Package()
{
// 0x19 SET_PIN_WIDGET_CONTROL 0x25
"Command", Buffer() { 0x01, 0x97, 0x07, 0x25 },
"On Init", ">y",
"On Sleep", ">n",
"On Wake", ">y",
},
},
"Send Delay", 10,
"Sleep Nodes", ">n",
"Update Nodes", ">n",
},
},
})
//}
Expand Down
1 change: 1 addition & 0 deletions SSDT-SATA.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// Fix certain unsupported SATA devices
//REVIEW: remove this file and use SATA-unsupported.kext

//DefinitionBlock("", "SSDT", 2, "hack", "_SATA", 0)
//{
Expand Down
23 changes: 23 additions & 0 deletions SSDT-SKLSPF.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,29 @@ DefinitionBlock("", "SSDT", 2, "hack", "_SKLSPF", 0)
//"RM,device-id", Buffer() { 0x26, 0x19, 0x00, 0x00 },
//"AAPL,GfxYTile", Buffer() { 1, 0, 0, 0 },
},
// Coffee Lake/UHD630 (not tested)
0x3e9b, 0x3e92, 0x3e91, 0, Package()
{
"AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x1b, 0x19 },
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel UHD Graphics 630" },
"device-id", Buffer() { 0x1b, 0x19, 0x00, 0x00 },
//"RM,device-id", Buffer() { 0x1b, 0x19, 0x00, 0x00 },
//"AAPL,GfxYTile", Buffer() { 1, 0, 0, 0 },
},
// Coffee Lake/UHD655
0x3ea5, 0, Package()
{
//REVIEW: could use 0x19270000 or 0x19270004 (macOS only)
"AAPL,ig-platform-id", Buffer() { 0x02, 0x00, 0x26, 0x19 },
"hda-gfx", Buffer() { "onboard-1" },
"model", Buffer() { "Intel Iris Plus Graphics 655" },
//REVIEW: using 0x1926 because 0x1927 is not supported on 10.11.x
"device-id", Buffer() { 0x26, 0x19, 0x00, 0x00 },
//REVIEW: using 0x1926 because 0x1927 is not supported on 10.11.x
//"RM,device-id", Buffer() { 0x26, 0x19, 0x00, 0x00 },
//"AAPL,GfxYTile", Buffer() { 1, 0, 0, 0 },
},
})
}
//EOF
8 changes: 3 additions & 5 deletions SSDT-STCK6.dsl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// configuration data for other SSDTs in this pack (STCK6)
// STICK6 model specific SSDT

DefinitionBlock("", "SSDT", 2, "hack", "_STCK6", 0)
{
Expand All @@ -24,15 +24,13 @@ DefinitionBlock("", "SSDT", 2, "hack", "_STCK6", 0)
// To avoid it, _PRW could be patched, but that is difficult with hotpatch because
// of other _PRW methods that are not affected.
// So, instead patch/replace _STA, which is probably a better fix anyway

// GLAN is easy as DSDT does not define GLAN._STA
Name(_SB.PCI0.GLAN._STA, 0)
// XDCI is a little trickier, as it depends on XDCI._STA being renamed to XSTA
// (the rename is done in config.plist)
Name(_SB.PCI0.XDCI._STA, 0)
#include "SSDT-XDCI.dsl"

#include "SSDT-XOSI.dsl"
#include "SSDT-IGPU.dsl"
#include "SSDT-USBX.dsl"
#include "SSDT-USB-STCK.dsl"
#include "SSDT-XHC.dsl"
#include "SSDT-HDEF.dsl"
Expand Down
Loading

0 comments on commit 4869237

Please sign in to comment.