-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
SSDT-EC-USBX.dsl
100 lines (94 loc) · 2.77 KB
/
SSDT-EC-USBX.dsl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
* AppleUsbPower compatibility table for Skylake+.
*
* Be warned that power supply values can be different
* for different systems. Depending on the configuration
* these values must match injected IOKitPersonalities
* for com.apple.driver.AppleUSBMergeNub. iPad remains
* being the most reliable device for testing USB port
* charging support.
*
* Try NOT to rename EC0, H_EC, etc. to EC.
* These devices are incompatible with macOS and may break
* at any time. AppleACPIEC kext must NOT load.
* See the disable code below.
*
* Reference USB: https://applelife.ru/posts/550233
* Reference EC: https://applelife.ru/posts/807985
*/
DefinitionBlock ("", "SSDT", 2, "ACDT", "SsdtEC", 0x00001000)
{
External (_SB_.PCI0.LPCB, DeviceObj)
/*
* Uncomment replacing EC0 with your own value in case your
* motherboard has an existing embedded controller of PNP0C09 type.
*
* While renaming EC0 to EC might potentially work initially,
* it connects an incompatible driver (AppleACPIEC) to your hardware.
* This can make your system unbootable at any time or hide bugs that
* could trigger randomly.
*/
/**
External (_SB_.PCI0.LPCB.EC0, DeviceObj)
Scope (\_SB.PCI0.LPCB.EC0)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0)
}
Else
{
Return (0x0F)
}
}
}
**/
Scope (\_SB)
{
Device (USBX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Return (Package (0x08)
{
"kUSBSleepPowerSupply",
0x13EC,
"kUSBSleepPortCurrentLimit",
0x0834,
"kUSBWakePowerSupply",
0x13EC,
"kUSBWakePortCurrentLimit",
0x0834
})
}
}
Scope (\_SB.PCI0.LPCB)
{
Device (EC)
{
Name (_HID, "ACID0001") // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
}
}
}