mirror of
https://github.com/AskDavis/Getting-Started-With-ACPI.git
synced 2025-12-31 20:55:58 -08:00
Add SMBus support
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
* [NVRAM PMC](/Universal/nvram.md)
|
||||
* [IRQ Fix](/Universal/irq.md)
|
||||
* [GPU Spoof](/Universal/spoof.md)
|
||||
* [Fixing SMBus Support](/universal/smbus.md)
|
||||
|
||||
## Cleanup
|
||||
|
||||
|
||||
68
Universal/smbus.md
Normal file
68
Universal/smbus.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Fixing SMBus support
|
||||
|
||||
This section of the guide refers to fixing AppleSMBus support in macOS, what is AppleSMBus? Well this mainly handles the System Management Bus, which has many functions like:
|
||||
|
||||
|
||||
* AppleSMBusController
|
||||
* Aids with correct temperature, fan, voltage, ICH, etc readings
|
||||
* AppleSMBusPCI
|
||||
* Same idea as AppleSMBusController except for low pandwidth PCI devices
|
||||
* Memory Reporting
|
||||
* Aids in proper memory reporting and can aid in getting better kernel panic details if memory related
|
||||
|
||||
|
||||
For install purposes, this SSDT isn't needed but for post-install it's recommended to put the final touches on your hack.
|
||||
|
||||
|
||||
So to get started, we'll want to grab our SMBus SSDT:
|
||||
|
||||
* [SSDT-SBUS-MCHC.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-SBUS-MCHC.dsl)
|
||||
|
||||
So the important parts we care about are:
|
||||
|
||||
```text
|
||||
External (_SB_.PCI0, DeviceObj) <- Rename this
|
||||
External (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this
|
||||
|
||||
Scope (_SB.PCI0) <- Rename this
|
||||
{
|
||||
Device (MCHC)
|
||||
{
|
||||
Name (_ADR, Zero) // _ADR: Address
|
||||
}
|
||||
}
|
||||
|
||||
Device (_SB.PCI0.SBUS.BUS0) <- Rename this
|
||||
```
|
||||
To find the correct pathing for your devices, grab [Hackintool](https://www.tonymacx86.com/threads/release-hackintool-v3-x-x.254559/) ([Github link](https://github.com/headkaze/Hackintool)) and head to the PCI tab:
|
||||
|
||||

|
||||
|
||||
Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit `@...`
|
||||
|
||||
* `/PC00@0/SMBS@1F,4` -> `PC00.SMBS`
|
||||
|
||||
|
||||
Once finished, it'll look something like this:
|
||||
|
||||
```text
|
||||
External (_SB_.PC00, DeviceObj) <- Renamed
|
||||
External (_SB_.PC00.SMBS.BUS0, DeviceObj) <- Renamed
|
||||
|
||||
/* <- Comment out if on Sandy Bridge or newer
|
||||
Scope (_SB.PC00)
|
||||
{
|
||||
Device (MCHC)
|
||||
{
|
||||
Name (_ADR, Zero) // _ADR: Address
|
||||
}
|
||||
}
|
||||
*/ <- Close the comment
|
||||
|
||||
Device (_SB.PC00.SMBS.BUS0) <- Renamed
|
||||
```
|
||||
|
||||
**Note**: We comment out `MCHC` on IvyBridge and newer, reason for this is that MCHC is the memory controller for northbridges. Sandy Bridge was the first generation to merge the north and southbridge controllers meaning there's no reason to define this
|
||||
|
||||
|
||||
## [Now you're ready to compile the SSDT!](/Manual/compile.md)
|
||||
@@ -4,10 +4,11 @@ So here we'll be using a super simple tool made by CorpNewt: [SSDTTime](https://
|
||||
|
||||
What this tool does is dumps your DSDT from your firmware, and then creates SSDTs based off your DSDT. **This must be done on the target machine running either Windows or Linux**
|
||||
|
||||
So what **can't** SSDTTime do?:
|
||||
## So what **can't** SSDTTime do?:
|
||||
|
||||
* **HEDT SSDTs**:
|
||||
* The ACPI is odd on these platforms so manual work is required
|
||||
* This includes X79, X99 and X299 systems
|
||||
* **Laptop EC fix**:
|
||||
* This is because you need to use an ACPI rename over an SSDT on laptops
|
||||
* **SSDT-PNLF**:
|
||||
|
||||
@@ -20,20 +20,20 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Anonymous+Pro|Roboto&display=swap');
|
||||
|
||||
.color-theme-2 .dropdown-menu {
|
||||
background-color: #222225;
|
||||
background-color: #363b40;
|
||||
}
|
||||
|
||||
.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner {
|
||||
border-bottom: 9px solid #222225;
|
||||
border-bottom: 9px solid #363b40;
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-body {
|
||||
color: #ccc;
|
||||
background: #151519;
|
||||
background: #2d3033;
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-body .page-wrapper .page-inner section {
|
||||
background: #151519;
|
||||
background: #2d3033;
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal {
|
||||
@@ -41,12 +41,12 @@
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
|
||||
background: #222225;
|
||||
border-color: #222225;
|
||||
background: #363b40;
|
||||
border-color: #363b40;
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr {
|
||||
background-color: #222225;
|
||||
background-color: #363b40;
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-header h1 {
|
||||
@@ -54,7 +54,7 @@
|
||||
}
|
||||
|
||||
.book.color-theme-2 .book-summary {
|
||||
background: #222225;
|
||||
background: #363b40;
|
||||
}
|
||||
|
||||
.book.font-family-1, .book.font-family-1 .book-summary {
|
||||
|
||||
Reference in New Issue
Block a user