Skip to content

Commit

Permalink
Add info for EC (Laptop and Desktop) and USBX
Browse files Browse the repository at this point in the history
  • Loading branch information
tammo03 committed Sep 24, 2024
1 parent 1dce517 commit c905bad
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 8 deletions.
42 changes: 35 additions & 7 deletions _configfolders/02-ACPI/01-SSDTTime/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,20 +73,48 @@ Now we need a USB stick. This stick must be formatted to ```FAT32``` - the size

Fortunately, SSDTTime is able to process .dat tables. So we don't need to rename the tables. If you still need .aml tables, you can simply rename the files; converting them is not necessary. We can simply select a folder containing our tables in SSDT using option ```D. Select ACPI table or folder containing tables```.

{: .note }
Below you will find a list of all SSDTTime options. However, that does NOT mean you should select every one! To find out which option to choose, please see the corresponding Gathering files section.

## SSDTTime's options

1. FixHPET
- *1.* **FixHPET**
Using the FixHPET option will create ```SSDT-HPET```. ```SSDT-HPET``` re-defines the HPET's _CRS method to claim IRQs (Individual Interupt Requests) that macOS expects the device to be assigned to it. It requires several ACPI patches to remove conflicting IRQs from other devices, as well as renaming the HPET's _CRS method to XCRS in order to re-define it.
Creating ```SSDT-HPET``` will also create several ACPI patches that we can find in the also generated ```patches_OC.plist```. ```SSDT-HPET``` will be useless if you dont merge them into your ```config.plist```.

2. FakeEC
Using the FakeEC option will generate SSDT-EC. This SSDT disables our existing embedded controller (EC) as it is not compatible with macOS. It automatically searches for the ACPI path of our chip and disables it if booting Apple's kernel.
SSDTTime will show us conflicting IRQs:

<div style="text-align: center;" markdown="1">
[![HPET](/assets/SSDTTime/SSDTTimeHPET.png)](/assets/SSDTTime/SSDTTimHPET.png)
</div>

3. Laptop EC
The laptop fake EC creates a companion EC named "EC" - it should leave the original untouched, and generate a patch to rename it if it's already named "EC" IIRC. I'll look too - been awhile since I've waded through the nasty nonsense that script does.
We can now choose the default option ```C. Only Conflicting IRQs from Legacy Devices``` to resolve the existing conflicts.

{: .note }
Below you will find a list of all SSDTTime options. However, that does NOT mean you should select every one! To find out which option to choose, please see the corresponding Gathering files section.
- *2.* **FakeEC**
Using the FakeEC option will generate SSDT-EC. This SSDT disables our existing embedded controller (EC) as it is not compatible with macOS. The EC is usually responsible for system paths, sensors, etc - since using the EC is not an option for us, we will provide needed data directly to the kernel using kexts. It automatically searches for the ACPI path of our chip and disables it if booting Apple's kernel. FakeEC then creates a fake EC that is compatible with macOS.

- *3.* **Laptop EC**
Laptop EC creates a fake macOS-compatible companion EC named "EC" - it leaves the original untouched as the built-in EC is what manages battery statistics, brightness notifications, hotkeys, etc. Instead, it generates a patch to rename it if it's already named "EC".

- *4.* **USBX**
Starting with Skylake, systems started to change the way they handle USB devices. Consequently, USBX defines USB power properties - it defines a top-level USBX device. When a high-powered USB device is plugged in, the operating system gets informed of the appropriate power level to provide. SSDT-USBX is only needed on SMBIOS (System Management BIOS) based on Skylake and newer.

SSDTTime is going to show us our USBX device properties:

<div style="text-align: center;" markdown="1">
[![USBX](/assets/SSDTTime/SSDTTimeUSBX.png)](/assets/SSDTTime/SSDTTimeUSBX.png)
</div>

In almost every case, we can use the default option ```B. Build SSDT-USBX```.

- *5.* **PluginType**
- *6.* **PMC**
- *7.* **RTCAWAC**
- *8.* **USB Reset**
- *9.* **PCI Bridge**
- *0.* **PNLF**
- *A.* **XOSI**
- *B.* **Fix DMAR**

<h2 align="center">
<br>
Expand Down
29 changes: 28 additions & 1 deletion docs/03-Changelog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,36 @@ All notable changes to this project will be documented in this file. The format
### Fixed
-

### Deprecated
### Deprecated
-

### Removed
-

### Security
-

---

## Add info for EC (Laptop and Desktop) and USBX
### Prerelease@CarnationsInternal
#### By Tammo

## [1.0.0~prerelease] - 2024-09-24

### Added
- Add info for EC (Laptop and Desktop) and USBX
- Added images referring to the patches

### Changed
-

### Fixed
-

### Deprecated
-

### Removed
-

Expand Down

0 comments on commit c905bad

Please sign in to comment.