Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

If it helps I can provide NVM 43 from the Titan Ridge Add On card. @CaseySJ @Elias64Fr
Yes please! It will be necessary to remove the metal shroud/faceplate from GC-Titan Ridge.

I have also received Titan Ridge NVM 45 and NVM 50 via private mail from someone who received them from a vendor's tech support department. While there's no privacy restriction on these files, they come from a different motherboard vendor so at this time we will not make them public.

But I am willing to cut-and-paste the Thunderbolt DROM from Designare Z390 into these "foreign" NVM binaries and then patch them further to match Apple's. Because I have a spare Designare Z390 motherboard (with Intel i5-9600K), I have somewhat more latitude to play around with this.

So if anyone has any other Titan Ridge NVM binaries they would like me to try, feel free to post here (if you think it's appropriate) or send via private message.

NOTE: As mentioned earlier, my SOIC8 clip is not very effective in attaching to the Winbond SPI chip. I may not be able to reliably flash patched firmware into the chip until the Pomona 5250 arrives on Tuesday, January 28.
 
Last edited:
Hi augustopaulo,

Like CaseySJ, we don't have any log after "ACPIDebug: "PCED UPSB"" except NHI0 state change request few second later. On SSDT, we should have "PCED - enable GPIO" without any conditions. On my laptop, I have the following sequences :
...
ACPIDebug: "_PS0 UPSB"
ACPIDebug: "PCED UPSB"
ACPIDebug: "PCED - enable GPIO"
ACPIDebug: "UGIO - PCI wants on"
ACPIDebug: "UGIO - NHI wants on"
ACPIDebug: "UGIO - XHCI wants on"
ACPIDebug: "UGIO - TBT forced on"
ACPIDebug: "UGIO - USB forced on"
ACPIDebug: "UGIO - TBT GPIO should be on"
ACPIDebug: "UGIO - USB GPIO should be on"
ACPIDebug: "UGIO - Make sure TBT & USBC is on"
ACPIDebug: "PCED UPSB- restored flag, THUNDERBOLT_PCI_LINK_MGMT_DEVICE.PRSR"
ACPIDebug: 0x0
ACPIDebug: "PCED UPSB- Wait for config space..."
ACPIDebug: "PCED UPSB- Read VID/DID ="
ACPIDebug: 0x15d38086
ACPIDebug: "CRMW Read Value1:"
ACPIDebug: 0x4304027
ACPIDebug: "CRMW Write Value1"
ACPIDebug: 0x4304227
ACPIDebug: "CRMW Read Value2:"
ACPIDebug: 0x4304227
ACPIDebug: "CRMW - Success"
ACPIDebug: "CRMW Read Value1:"
ACPIDebug: 0x430412f
ACPIDebug: "CRMW Write Value1"
ACPIDebug: 0x430432f
ACPIDebug: "CRMW Read Value2:"
ACPIDebug: 0x430432f
ACPIDebug: "CRMW - Success"
ACPIDebug: "_PS0 DSB0"
ACPIDebug: "PCEU DSB0"
ACPIDebug: "PCEU DSB0- Put upstream bridge back into D0 "
ACPIDebug: "_PS0 DSB2"
ACPIDebug: "PCEU DSB2"
ACPIDebug: "PCEU DSB2- Put upstream bridge back into D0 "
ACPIDebug: "_PS0 NHI0"
ACPIDebug: "PCED NHI0"
ACPIDebug: "PCED - enable GPIO"
ACPIDebug: "UGIO - PCI wants on"
ACPIDebug: "UGIO - NHI wants on"
ACPIDebug: "UGIO - XHCI wants on"
ACPIDebug: "UGIO - TBT forced on"
ACPIDebug: "UGIO - USB forced on"
ACPIDebug: "UGIO - TBT GPIO should be on"
ACPIDebug: "UGIO - USB GPIO should be on"
ACPIDebug: "UGIO - Make sure TBT & USBC is on"
...

Could you change RMDT method like described on this post https://www.tonymacx86.com/threads/...olt-3-i7-9700k-amd-rx-580.267551/post-2061815 ?

I see on your IOReg file that you have NHI0 properties, where have you extract yours (maybe customized..) ?
You have ThunderboltConfig property :
<00 02 1c 00 02 00 05 03 01 00 04 00 05 03 02 00 03 00 05 03 01 00 00 00 03 03 02 00 01 00 02 00>

On iMac19,1 (including TitanRidge), we have : ADDED: Oops, this is for the iMacPro1,1 (Alpine rigde) :yawn:
<00 02 ff ff 04 00 03 01 01 00 04 00 05 01 02 00 03 00 03 01 01 00 00 00 03 01 02 00 02 00 01 00> for Controller 1 (Route string or Bus number)
<01 02 ff ff 04 00 03 01 01 00 04 00 05 01 02 00 03 00 03 01 01 00 01 00 03 01 02 00 04 00 03 00> for Controller 2 (@CaseySJ @jiffyslot two last bolded values seem to be Port number)
Good evening @Elias64Fr !!

Just read your fantastic ping pong of amazing TB3 discoveries & hypothesis discussion between you and @CaseySJ !! Fantastic truly!

Now answering your question: I've exported the iOReg after checking that ACPIDebug was showing all those ACPI log messages in Hackintool, so, I believe that it's just what's in my original DSDT.aml ? (minus changing RP01 _INI->XINI)

You can check these files in my EFI folder, right ?

Anything you two want to me check, just let me know, ok ? (I'm loving this :headbang::clap:)
 
...
Anything you two want to me check, just let me know, ok ? (I'm loving this :headbang::clap:)
Yes, buy a CH341A reader/programmer and give us the Thunderbolt firmware from your AORUS Xtreme Z390, which is pretty much a clone of Designare Z390 with some upgrades. :)

Just kidding...
 
I'm just wondering if faking device-id for UPSB (seem to be the first entry point of the whole TB device tree) from 15ea to 1578 may help here?

From my experience comparing IORegs of real iMac19,1, Macmini8,1 and any of our hacks the difference is that real macs always has "1578" in their device-id properties (Alpine Ridge) on upper UPSB and more recent Titan Ridge "15ea" on DSB.

Apple does intentionally fake it, even there are no any Alpine Ridge chips anywhere on the actual PCB (I was observing close-up photos but there are just Titan Ridge chips in the latest Apple products).

Maybe that also explains why macOS can't fully initialize Thunderbolt device tree, because as @CaseySJ just said: "Apple's Thunderbolt 3 drivers might be looking for Alpine Ridge here...".
@AlexD @CaseySJ
On my Asus laptop and Asus Maximus desktop, UPSB is 0x15D3 and driver seem to deal with it and show all thunderbolt tree:
Capture d’écran 2020-01-23 à 23.59.32.png


On most recent Macs, maybe chip is based on Titan ridge and Thunderbolt firmware define/configure internal functions... like FPGA or ASICS components
 
Last edited:
@AlexD @CaseySJ
On my Asus laptop and Asus Maximus desktop, UPSB is 0x15D3 and driver seem deal with it for displaying all thunderbolt tree:
View attachment 446355

One currently recent Macs, maybe chip is base of Titan ridge and Thunderbolt firmware define/configure internal functions... like FPGA or ASICS components
Both 0x1578 and 0x15D3 are Alpine Ridge. So it would be interesting to see what happens if we put an Alpine Ridge device ID in UPSB or in the firmware itself. My previous attempts to put Alpine Ridge in UPSB were not successful, but I'll try again with your SSDT-TbtOnPch.
 
So if anyone has any other Titan Ridge NVM binaries they would like me to try, feel free to post here (if you think it's appropriate) or send via private message.

I have a GC-Titan Ridge and a GC-Alpine Ridge add-in card. What you guys are doing right now is beyond me, but if there is anything you want me to do with these that you think would be helpful, I am willing.
 
Good evening @Elias64Fr !!

Just read your fantastic ping pong of amazing TB3 discoveries & hypothesis discussion between you and @CaseySJ !! Fantastic truly!

Now answering your question: I've exported the iOReg after checking that ACPIDebug was showing all those ACPI log messages in Hackintool, so, I believe that it's just what's in my original DSDT.aml ? (minus changing RP01 _INI->XINI)

You can check these files in my EFI folder, right ?

Anything you two want to me check, just let me know, ok ? (I'm loving this :headbang::clap:)
Thanks a lot @augustopaulo ! But I am awake ever.
RP01 _INI->XINI is a necessary modification in order to avoid duplicated _INI for RP01 and then refusing to load testing SSDT .. You have also another method described on my previous post https://www.tonymacx86.com/threads/...olt-3-i7-9700k-amd-rx-580.267551/post-2062441.

Yes, I will check your Thunderbolt properties on config.plist file.
 
Last edited:
I have a GC-Titan Ridge and a GC-Alpine Ridge add-in card. What you guys are doing right now is beyond me, but if there is anything you want me to do with these that you think would be helpful, I am willing.
Thanks @manfriday,

I would be interested testing my SSDT file on another Alpine Ridge (TbtOnPCH or Add-on Card) ! Which Root Port is used for this AR card ? You should prepare ACPIDebug package (kext and SSDT file) and use previously described method to rename _INI of your RPxx. Also extract ACPI files from Clover (F4) and send me Zipped folder named origin.

If GC-Alpine Ridge work on desktop, we keep same configuration and swap to GC-Titan Ridge :headbang:
 
Last edited:
I hate asking this in the middle of your deep dive TB adventure

I think power nap was killing my sleep. really don't care much for it so I disabled it last night. Came home and the rig woke up fine. issue is my bluetooth Magic Mouse still won't connect. it sees my iPhone fine and I can get the code and connect. so not sure why the mouse is having issues. even tried changing the batteries just to make sure
 
I hate asking this in the middle of your deep dive TB adventure

I think power nap was killing my sleep. really don't care much for it so I disabled it last night. Came home and the rig woke up fine. issue is my bluetooth Magic Mouse still won't connect. it sees my iPhone fine and I can get the code and connect. so not sure why the mouse is having issues. even tried changing the batteries just to make sure
Also try resetting NVRAM. There is an option in the boot menus of both OpenCore and Clover (press F1 for help) to clear NVRAM. Then unpair and re-pair the Magic Mouse.
 
Back
Top