diff --git a/Patches.xcodeproj/project.pbxproj b/Patches.xcodeproj/project.pbxproj index 9f3bcbd..1b59e85 100644 --- a/Patches.xcodeproj/project.pbxproj +++ b/Patches.xcodeproj/project.pbxproj @@ -44,6 +44,7 @@ ED9956161C94BA0C00B3B13F /* SSDT-XOSI.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-XOSI.dsl"; path = "hotpatch/SSDT-XOSI.dsl"; sourceTree = ""; }; ED9956171C94BA0C00B3B13F /* SSDT-SMBUS.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-SMBUS.dsl"; path = "hotpatch/SSDT-SMBUS.dsl"; sourceTree = ""; }; ED9956181C94BA0C00B3B13F /* SSDT-PNLF.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-PNLF.dsl"; path = "hotpatch/SSDT-PNLF.dsl"; sourceTree = ""; }; + ED9E1B951CD049C2008776A7 /* SSDT-USB.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-USB.dsl"; path = "hotpatch/SSDT-USB.dsl"; sourceTree = ""; }; EDAC054D1CA38DDB00109CA4 /* SSDT-PluginType1.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-PluginType1.dsl"; path = "hotpatch/SSDT-PluginType1.dsl"; sourceTree = ""; }; EDB68B771C99B72500147700 /* SSDT-XSEL.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-XSEL.dsl"; path = "hotpatch/SSDT-XSEL.dsl"; sourceTree = ""; }; EDBE0CBD1CC2CA920008EF8F /* SSDT-Debug.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-Debug.dsl"; path = "hotpatch/SSDT-Debug.dsl"; sourceTree = ""; }; @@ -107,6 +108,7 @@ EDAC054D1CA38DDB00109CA4 /* SSDT-PluginType1.dsl */, ED02043F1CA770A2006E7175 /* SSDT-HDEF.dsl */, ED0204401CA770A2006E7175 /* SSDT-HDAU.dsl */, + ED9E1B951CD049C2008776A7 /* SSDT-USB.dsl */, ED02043E1CA77082006E7175 /* SSDT-EH01.dsl */, ED02043D1CA77082006E7175 /* SSDT-EH02.dsl */, ED02043C1CA77082006E7175 /* SSDT-XHC.dsl */, diff --git a/config_HD3000_1366x768.plist b/config_HD3000_1366x768.plist index 102ddd6..ccfa045 100644 --- a/config_HD3000_1366x768.plist +++ b/config_HD3000_1366x768.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR @@ -460,7 +468,7 @@ SMBIOS ProductName - MacBookPro8,1 + MacBookPro8,2 Trust diff --git a/config_HD3000_1366x768_7series.plist b/config_HD3000_1366x768_7series.plist index 1d2a64d..b851162 100644 --- a/config_HD3000_1366x768_7series.plist +++ b/config_HD3000_1366x768_7series.plist @@ -75,6 +75,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -82,6 +86,10 @@ #DropTables + + Signature + MCFG + Signature DMAR @@ -373,7 +381,7 @@ SMBIOS ProductName - MacBookPro8,1 + MacBookPro8,2 Trust diff --git a/config_HD3000_1600x900.plist b/config_HD3000_1600x900.plist index 5265153..1cabcc0 100644 --- a/config_HD3000_1600x900.plist +++ b/config_HD3000_1600x900.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR @@ -470,7 +478,7 @@ SMBIOS ProductName - MacBookPro8,1 + MacBookPro8,2 Trust diff --git a/config_HD3000_1600x900_7series.plist b/config_HD3000_1600x900_7series.plist index e0d7e6d..487edc2 100644 --- a/config_HD3000_1600x900_7series.plist +++ b/config_HD3000_1600x900_7series.plist @@ -75,6 +75,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -82,6 +86,10 @@ #DropTables + + Signature + MCFG + Signature DMAR @@ -383,7 +391,7 @@ SMBIOS ProductName - MacBookPro8,1 + MacBookPro8,2 Trust diff --git a/config_HD4000_1366x768.plist b/config_HD4000_1366x768.plist index 9c14e32..69d9791 100644 --- a/config_HD4000_1366x768.plist +++ b/config_HD4000_1366x768.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD4000_1366x768_6series.plist b/config_HD4000_1366x768_6series.plist index e04c758..c7cef7c 100644 --- a/config_HD4000_1366x768_6series.plist +++ b/config_HD4000_1366x768_6series.plist @@ -75,6 +75,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -82,6 +86,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD4000_1600x900.plist b/config_HD4000_1600x900.plist index 2b27899..899327c 100644 --- a/config_HD4000_1600x900.plist +++ b/config_HD4000_1600x900.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD4000_1600x900_6series.plist b/config_HD4000_1600x900_6series.plist index e158817..8275423 100644 --- a/config_HD4000_1600x900_6series.plist +++ b/config_HD4000_1600x900_6series.plist @@ -75,6 +75,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -82,6 +86,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD4600_4400_4200.plist b/config_HD4600_4400_4200.plist index 99e54b6..e724764 100644 --- a/config_HD4600_4400_4200.plist +++ b/config_HD4600_4400_4200.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD5000_5100_5200.plist b/config_HD5000_5100_5200.plist index c4ccd6f..b55b1b8 100644 --- a/config_HD5000_5100_5200.plist +++ b/config_HD5000_5100_5200.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD520_530_540.plist b/config_HD520_530_540.plist index 20f5ec7..8a9fd3c 100644 --- a/config_HD520_530_540.plist +++ b/config_HD520_530_540.plist @@ -95,6 +95,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -102,6 +106,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/config_HD5300_5500_5600_6000.plist b/config_HD5300_5500_5600_6000.plist index c1c18d0..c9a9bfa 100644 --- a/config_HD5300_5500_5600_6000.plist +++ b/config_HD5300_5500_5600_6000.plist @@ -71,6 +71,10 @@ DropTables + + Signature + MCFG + Signature DMAR @@ -78,6 +82,10 @@ #DropTables + + Signature + MCFG + Signature DMAR diff --git a/hotpatch/SSDT-USB.dsl b/hotpatch/SSDT-USB.dsl new file mode 100644 index 0000000..ee0a21d --- /dev/null +++ b/hotpatch/SSDT-USB.dsl @@ -0,0 +1,71 @@ +// Automatic injection of USB power properties for EH01/EH02/XHC + +DefinitionBlock("", "SSDT", 2, "hack", "EH01", 0) +{ + + // inject properties for ECHI#1 + External(_SB.PCI0.EH01, DeviceObj) + if (CondRefOf(_SB.PCI0.EH01)) + { + Method(_SB.PCI0.EH01._DSM, 4) + { + If (!Arg2) { Return (Buffer() { 0x03 } ) } + Return (Package() + { + "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 }, + "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 }, + "AAPL,current-available", Buffer() { 0x34, 0x08, 0, 0 }, + "AAPL,current-extra", Buffer() { 0x98, 0x08, 0, 0, }, + "AAPL,current-extra-in-sleep", Buffer() { 0x40, 0x06, 0, 0, }, + "AAPL,max-port-current-in-sleep", Buffer() { 0x34, 0x08, 0, 0 }, + }) + } + } + + // inject properties for EHCI#2 + External(_SB.PCI0.EH02, DeviceObj) + if (CondRefOf(_SB.PCI0.EH02)) + { + Method(_SB.PCI0.EH02._DSM, 4) + { + If (!Arg2) { Return (Buffer() { 0x03 } ) } + Return (Package() + { + "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 }, + "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 }, + "AAPL,current-available", Buffer() { 0x34, 0x08, 0, 0 }, + "AAPL,current-extra", Buffer() { 0x98, 0x08, 0, 0, }, + "AAPL,current-extra-in-sleep", Buffer() { 0x40, 0x06, 0, 0, }, + "AAPL,max-port-current-in-sleep", Buffer() { 0x34, 0x08, 0, 0 }, + }) + } + } + + // inject properties for XHCI + External(_SB.PCI0.XHC, DeviceObj) + if (CondRefOf(_SB.PCI0.XHC)) + { + Method(_SB.PCI0.XHC._DSM, 4) + { + If (!Arg2) { Return (Buffer() { 0x03 } ) } + Local0 = Package() + { + "RM,pr2-force", Buffer() { 0, 0, 0, 0 }, + "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 }, + "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 }, + "AAPL,current-available", Buffer() { 0x34, 0x08, 0, 0 }, + "AAPL,current-extra", Buffer() { 0x98, 0x08, 0, 0, }, + "AAPL,current-extra-in-sleep", Buffer() { 0x40, 0x06, 0, 0, }, + "AAPL,max-port-current-in-sleep", Buffer() { 0x34, 0x08, 0, 0 }, + } + // force USB2 on XHC if EHCI is disabled + If (CondRefOf(_SB.PCI0.RMD2)) + { + CreateDWordField(DerefOf(Local0[1]), 0, PR2F) + PR2F = 0x3fff + } + Return(Local0) + } + } +} +//EOF