- Joined
- Sep 20, 2013
- Messages
- 1,193
- Motherboard
- Gigabyte Z390 Designare
- CPU
- i9-9900KS
- Graphics
- RX 6600
- Mac
- Classic Mac
- Mobile Phone
Awesome!
Here's your homework assignment! After you make the changes I can check everything for you.
- Do not install Windows 10 at this time. It's not necessary for initializing the GC-Titan Ridge.
- Connect the Thunderbolt header cable to the motherboard.
- IOReg shows that Thunderbolt is attached to RP21.
View attachment 434765
- Because this is a Thunderbolt 3 card with two USB-C connectors, it means you also get two USB ports that support both USB 2 and USB 3 protocols. Hence, notice the lower part of the above screenshot where I've marked the two USB 2 and two USB 3 ports.
- Notice in BLUE that each port has an address (ADR) from 1 to 4. This will be needed shortly.
- ADR 1 and ADR 2 are for USB 2 as shown
- ADR 3 and ADR 4 are for USB 3 as shown
- Now let's look at the original DSDT.aml. Let's find RP21 in that file, using MaciASL:
- When we expand the RP21 section we see this:
View attachment 434768- Now we must check if there are any pre-defined DEVICEs under RP21. We can see above that yes indeed there is already a device here named PXSX.
- By convention, Apple's Thunderbolt SSDT names the first device as UPSB and creates all sub-devices under this all-important top-level UPSB device.
- But the right now PXSX is taking up that space, so in a moment we will get rid of PXSX.
- Now we're ready to modify the Thunderbolt hot-plug SSDT. We start by downloading KGP's SSDT from the X299 repository on GitHub. The file name is SSDT-X299-TB3HP.dsl. And we edit it with MaciASL.
- Don't worry about the name of the file. You can change it later.
- We also need to download SSDT-DTPG.aml. No changes will be made to this file, but we will need to open it in MaciASL and save it in .aml format.
- Note that .dsl files are disassembled files, which means they cannot be used. They must be compiled into ACPI Machine Language (.aml) format. This is done in MaciASL by simply doing File --> Save As... and choosing the ACPI Machine Language Binary output file format.
- Let's have a look at the standard KGP Thunderbolt hot plug SSDT:
- Notice that for the X299 system, the Thunderbolt root path is _SB_.PC01.BR1A. But on your board, it is _SB_.PCI0.RP21.
- Also notice that on KGP's X299 system, there happen to be 2 default devices in BR1A called SL01 and PEGP. This is why the two red boxes are (a) referencing those devices, and (b) setting their ADR to 0, which in effect disables them. Only when those device have been disabled are we ready to create our own UPSB device.
View attachment 434774- So you will need to modify the two red boxes to (a) reference _SB_.PCI0.RP21 and _SB_.PCI0.RP21.PXSX.
- And then you'll need to modify the second red box to change the address of PXSX to 0.
- We're nearly done. We must now adjust our USB ports. We do that by expanding the XHC5 (XHC is the USB Controller) section as shown here:
- Notice on the left side that the hot plug SSDT defines 4 USB ports SSP1, SSP2, HS01, HS02. And if we click on SSP1 we will see on the right side in blue that its ADR is set to One.
View attachment 434779- But this is not quite right. Because if you go back to the first screenshot above, you'll see that the two USB 2 ports have address 1 and 2. And the two USB 3 ports actually have addresses 3 and 4.
- So we must change the address of SSP1 to 3, and SSP2 to 4.
- And we must change the address of HS01 to 1 and HS02 to 2.
- Now we should save the .dsl file and then save it as a compiled ACPI binary file by selecting File --> Save As... --> ACPI Machine Language Binary.
- Finally, we can test hot plug by copying both the hot-plug SSDT (.aml file) and the SSDT-DTPG (.aml file) to the CLOVER/ACPI/patched folder and rebooting. It would be good to examine the IORegistryExplorer output.
Hi, I'm getting return errors when I try to save or compile this: I've replaced the BR1A with RP21 but I got this when using Save As... Is it because I'm working from a real Mini? I know that my Hack TB is on RP21...