• Become a Premium Member for $25/year with no ads to improve your community experience.

Enable USB-C/Thunderbolt 3 port on AS Rock Z490 Phantom Gaming ITX/TB3

gipsy

Member
Joined
Feb 5, 2022
Messages
69
Motherboard
ASRock Z490 Phantom Gaming ITX/TB3
CPU
Intel I9-10850K
Graphics
Sapphire RX 5500 XT 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mobile Phone
  1. iOS
Hi There,

Thanks again for your support so far, the hack rocks :D

The last piece of the jigsaw is to enable the onboard Thunderbolt 3 port which also acts as a USB-C port with a JHL 7540 Thunderbolt 3 USB controller [Titan Ridge 2C 18]. The problem is that I do not currently have a TB3 or a USB-c device to test except if a HomePod mini can work to check if USB-C works.

The good thing is that as there is only one TB3/USB-C and it's not on the XHC controller it won't need any kind of mapping, correct? Also it should not be that hard to configure🤞

Currently my ports are mapped like this:

Screen Shot 2022-02-11 at 22.02.22.png

The USB-C ports (AppleUSBXHCTR) are not showing as TB3/USB- are disabled in BIOS.

Before working on my EFI with you I did some experiments and made an SSDT-TB3HP.aml and got DTGP.aml which are both attached, could I ask you if the TB3HP.aml is well configured? I understand that the DTGP does not need any editing.

So using these SSDTs and enabling Thunderbolt in BIOS with the following settings:

- Discrete Thunderbolt (TM) Support: Enabled
- Thunderbolt Boot Support: Boot once
- Thunderbolt Usb Suport: Enabled
- Titan Ridge workaround for OSUP: Disabled
- Security level: No Security

I got the following results:
Screenshot 2022-02-09 at 23.52.42.png

USB-C got renamed to XHC2 using the TB3HP.aml but remains named AppleUSBXHCTR in System report:

Screen Shot 2022-02-11 at 22.42.24.png

and here is IOReg before and after applying the SSDTs and BIOS changes (controller name is XHC2 using the TB3HP.aml):

Screenshot 2022-02-10 at 00.47.26.png

I guess my questions before attempting this now are:

Is the TB3HP.aml configured properly?
I can rename the USB C controller from XHC2 to AppleUSBXHCTR in the TB3HP.aml, should I do it so that there is no naming conflict and that Hackintool and System Report list the same name?
Are the BIOS settings correct?

Thanks!!!
 

Attachments

  • TB3HP.zip
    2.3 KB · Views: 41
Thanks again for your support so far, the hack rocks :D
:)
The last piece of the jigsaw is to enable the onboard Thunderbolt 3 port which also acts as a USB-C port with a JHL 7540 Thunderbolt 3 USB controller [Titan Ridge 2C 18]. The problem is that I do not currently have a TB3 or a USB-c device to test except if a HomePod mini can work to check if USB-C works.
Ah, that's sad.
The good thing is that as there is only one TB3/USB-C and it's not on the XHC controller it won't need any kind of mapping, correct? Also it should not be that hard to configure🤞
Actually, TB Port does not need to be mapped but the same port for Type-C function needs to be mapped otherwise it won't work on macOS Big Sur 11.3 and later.
Currently my ports are mapped like this:
Incomplete screenshot.
Before working on my EFI with you I did some experiments and made an SSDT-TB3HP.aml and got DTGP.aml which are both attached, could I ask you if the TB3HP.aml is well configured? I understand that the DTGP does not need any editing.
No idea as the IOReg is missing.
So using these SSDTs and enabling Thunderbolt in BIOS with the following settings:

- Discrete Thunderbolt (TM) Support: Enabled
- Thunderbolt Boot Support: Boot once
- Thunderbolt Usb Suport: Enabled
- Titan Ridge workaround for OSUP: Disabled
- Security level: No Security
Settings looks fine.
USB-C got renamed to XHC2 using the TB3HP.aml but remains named AppleUSBXHCTR in System report:
USB rename is fine as that's what is implemented in the SSDT.
and here is IOReg before and after applying the SSDTs and BIOS changes (controller name is XHC2 using the TB3HP.aml):
The implementation looks correct but as there is only one single port, there shouldn't be 2xXHC Ports. This might lead to KP.
Is the TB3HP.aml configured properly?
Unfortunately, not. However, the path looks correct as per your IOReg screenshot.
I can rename the USB C controller from XHC2 to AppleUSBXHCTR in the TB3HP.aml, should I do it so that there is no naming conflict and that Hackintool and System Report list the same name?
There is no reason to do it. It doesn't matter what XHC rename do you have.
Are the BIOS settings correct?
Not sure as you have not attached the settings. However, the TB Settings look correct.
 
Actually, TB Port does not need to be mapped but the same port for Type-C function needs to be mapped otherwise it won't work on macOS Big Sur 11.3 and later.
Ah damn.... I guess that I can use the HomePod mini at least to discover the USB-C port in Hackintool and add the proper port to the USBPorts.kext?

Incomplete screenshot.
? I don't get it, this is a screenshot of my ports as they are now as I only did the mapping for USB 3 ports so far. I've added it again in the PR files, is there another screenshot you might need?

Settings looks fine.
That's already something :), had a doubt wether "- Thunderbolt Boot Support: Boot once" should be left disabled or not

USB rename is fine as that's what is implemented in the SSDT.
Great news!

The implementation looks correct but as there is only one single port, there shouldn't be 2xXHC Ports. This might lead to KP.
hmmm, is the fact that there are two ports showing instead of one due to something I did wrong in the TB3HP.aml?

Unfortunately, not. However, the path looks correct as per your IOReg screenshot.
Hope you can help on this one :)

Not sure as you have not attached the settings. However, the TB Settings look correct.
New set of PR files attached, let me know if there's something else you might need.

Note that TB3HP.aml and DTGP.aml are included in the ACPI folder but disabled in the plist.

Thanks!
 
Ah damn.... I guess that I can use the HomePod mini at least to discover the USB-C port in Hackintool and add the proper port to the USBPorts.kext?
Probably!
? I don't get it, this is a screenshot of my ports as they are now as I only did the mapping for USB 3 ports so far. I've added it again in the PR files, is there another screenshot you might need?
You were supposed to attach a complete screenshot of the Hackintool>USB.
That's already something :), had a doubt wether "- Thunderbolt Boot Support: Boot once" should be left disabled or not
It will be set to Boot Once. If Enabled option is present, better to set it to Enabled.
Great news!
:)
hmmm, is the fact that there are two ports showing instead of one due to something I did wrong in the TB3HP.aml?
Exactly!
Hope you can help on this one :)
Of course!
New set of PR files attached, let me know if there's something else you might need.

Note that TB3HP.aml and DTGP.aml are included in the ACPI folder but disabled in the plist.
Where is the new set of PR files attached?
 

Attachments

  • PR files.zip
    5.2 MB · Views: 46
good 🤞


Forgot to attach the PR files.... fixed


OK, will check this when comes the time to enable TB3 in BIOS


:)
Still incomplete screenshot attacheed. Refresh the entries, reload and attach a complete screenshot from Hackintool>USB

For the TB SSDT, simply remove the "Device (SSP2)" entry and you should be good to go.
 
Still incomplete screenshot attacheed. Refresh the entries, reload and attach a complete screenshot from Hackintool>USB

For the TB SSDT, simply remove the "Device (SSP2)" entry and you should be good to go.
Are you saying this because the USB-C port is not showing? That is because it is my current USBPorts.kext where I have only kept USB 3 ports + Bluetooth.

I will redo the USB mapping from scratch using the HomePod to identify the USB-C port (hope it works) so that it's included in USBPorts.kext. When doing this, I guess it is better to have the following BIOS setting enabled under Thunderbolt: - Thunderbolt Usb Suport: Enabled; right?

I will edit the SSDT as you mentioned.

Is it ok if I first enable TB3 and then do the USB mapping again to include the USB-C or it's better to do it the other way around?
 
Are you saying this because the USB-C port is not showing? That is because it is my current USBPorts.kext where I have only kept USB 3 ports + Bluetooth.
Yes, that's what I already know. Simply next time after mapping the port, include a complete screenshot in Hackintool>USB by pressing Shift+Command+4 on your keyboard, when prompted, press the space key to take the screenshot.
I will redo the USB mapping from scratch using the HomePod to identify the USB-C port (hope it works) so that it's included in USBPorts.kext. When doing this, I guess it is better to have the following BIOS setting enabled under Thunderbolt: - Thunderbolt Usb Suport: Enabled; right?
Yes, if that option is available.
I will edit the SSDT as you mentioned.
Perfect.
Is it ok if I first enable TB3 and then do the USB mapping again to include the USB-C or it's better to do it the other way around?
Adapt the changes to the SSDT first as that's what controls XHC function for your port and then map the port.
 
OK

I removed the "Device (SSP2)" entry and got no error when saving so this is done. I will now enable this SSDT along with DTGP.aml in plist, change TB settings in BIOS, reset NVRAM.

Once this is done, I will remove my current USBPorts.kext and then redo the whole USB mapping with Hackintool (it still works with Monterey, it's just more time consuming as you need to exclude ports)

Does that sound right?
 
I removed the "Device (SSP2)" entry and got no error when saving so this is done. I will now enable this SSDT along with DTGP.aml in plist, change TB settings in BIOS, reset NVRAM.
Sounds good. Don't forget to attach your new PR files ;)
Once this is done, I will remove my current USBPorts.kext and then redo the whole USB mapping with Hackintool (it still works with Monterey, it's just more time consuming as you need to exclude ports)
Sounds good!
 

Forum statistics

Threads
1,480
Messages
14,025
Members
21,209
Latest member
zer0ck