Contribute
Register

SSDT for Asus Z370-I

Joined
Nov 28, 2018
Messages
70
Motherboard
asus z370-i
CPU
i7-9700k
Graphics
RX 580
Mac
iMac, MacBook, Mac Pro
Classic Mac
Apple
Mobile Phone
iOS
My Build
  • Asus z370i
  • i7 9700K OC 5Ghz
  • 2 x 16GB RAM Manufacturer: KingstonPart Number: KHX2666C1616G OC 30000Mhz
  • 2 x Samsung SSD 970 EVO 500GB
  • Radeon RX 580 8G OC
  • Noctua NH-d15
  • NZXT H200i case with smartblabla| I use a VM to configure the light and the case fan speed
  • PSU EVGA SuperNOVA 850 P2, 80+ PLATINUM
What works:
  • Audio
  • IGPU if needed
  • USB
  • Sleep
    $ pmset -g stats
    Sleep Count:410
    Dark Wake Count:410
    User Wake Count:34
  • WALN / BCM94352Z; AC 40Mhz is working - 80Mhz sometimes
XDAN

1. Read the manual first

Take a look into Chapter 1 the mainboard drawing. I'd tested all ports and found the pattern that the USB numbering that
ASUS used for the mainboard you can 1:1 adapt.

HS01: U31G1_12 -> Port 1
^​


HS02: U31G1_12 -> Port 2
^​



HS03: U31G1_34 -> Port 3
^​


HS03: U31G1_34 -> Port 4
^​



HS07: USB7_10 Port 7-10

I also assume:
  • That all USB 3.1 also provides a HSx and a SSx port
  • USB31G2_EC1 is the USB C port
  • That the OSX Port Map Max 15 port limit includes all active ports incl. XHC@14!
View media item 191285
Intel® Z370 chipset:
- 6 x USB 3.1 Gen1 ports ( 3 x Type-A and 1 x Type-C ports at back panel, 2 ports at mid-board)

- 6 x USB 2.0 ports ( 4 ports at back panel, 2 ports at mid-board)
ASMedia® USB 3.1 Gen2 controller*:
* Supports 3A power output

- 1 x USB 3.1 Gen2 front panel connector

6 x USB 3.1 Gen1 ports = 12 Ports Total (HS/SS)
6 x USB 2.0 ports = 6 Ports Total (HS)
1 x USB 3.1 Gen2 ports = 2 Ports Total (HRS/HS)

1 x USB 2.0 Bluetooth Ports = 1 Ports Total (HS)

1 x USB 2.0 Asus Aura Ports = 1 Ports Total

Summary 22 Ports

HSx = USB2.0
SSx = USB3.1 Gen1
USRx = USB3.1 Gen2

Code:
# Port Map

# AS Media USB 3.1 Gen2         Speed     USB2  USB31G1   USB31G1       Name                Connector   Location
HS01: SS01:                     USB3.1    1     1                       U31G1_12            3           Mainboard Onboard Front Panel L
HS02: SS02:                     USB3.1    1     1                       U31G1_12            3           Mainboard Onboard Front Panel R


# Intel z370
HS03: SS03:                     USB3.1    1     1                       U31G1_34            3           Mainboard external LanPort / USB
HS04: SS04:                     USB3.1    1     1                       U31G1_34            3           Mainboard external LanPort / USB

HS05: SS05:                     USB3.1    1     1                       U31G1_5             3           Mainboard external
HS06: SS06:                     USB3.1    1     1                       31G1_C6             9           Mainboard external USB C

HS07:                           USB2.0    1                             USB7_10             0           Mainboard
HS08:                           USB2.0    1                             USB7_10             0           Mainboard
HS09:                           USB2.0    1                             USB7_10             0           Mainboard
HS10:                           USB2.0    1                             USB7_10             0           Mainboard

HS11:                           USB2.0    1                             USB1112             0           Mainboard Onboard PIN
HS12:                           USB2.0    1                             USB1112             0           Mainboard Onboard PIN
HS13:                           USB2.0    1                             Aura                255         Mainboard Onboard

HS14:                           USB2.0    1                             Bluetooth           255         Onboard

USR1: HS15                      USB3.1    1                 1           USB31G2_EC1         9           Mainboard Onboard

Total                                     15   6            1

Summary                                      22 Ports
Code:
# Port Map Max 15 Port Active Ports incl. XHC@14!

# AS Media USB 3.1 Gen2         Speed     USB2  USB31G1   USB31G1       Name                Location
HS01:                           USB3.1    1                             U31G1_12            Mainboard Onboard Front Panel L
HS02: SS02:                     USB3.1    1     1                       U31G1_12            Mainboard Onboard Front Panel R


# Intel z370
HS03: SS03:                     USB3.1    1     1                       U31G1_34            Mainboard external LanPort / USB
HS04: SS04:                     USB3.1    1     1                       U31G1_34            Mainboard external LanPort / USB

      SS05:                     USB3.1          1                       U31G1_5             Mainboard external
      SS06:                     USB3.1          1                       31G1_C6             Mainboard external USB C

HS07:                           USB2.0    1                             USB7_10             Mainboard
HS08:                           USB2.0    1                             USB7_10             Mainboard
HS09:                           USB2.0    1                             USB7_10             Mainboard
                                USB2.0                                  USB7_10             Mainboard

                                USB2.0                                  USB1112             Mainboard Onboard PIN
HS12                            USB2.0                                  USB1112             Mainboard Onboard PIN
                                USB2.0    1                             Aura                Mainboard Onboard

HS14:                           USB2.0    1                             Bluetooth           Onboard

                                USB3.1                                  USB31G2_EC1         Mainboard Onboard

Total                                      8   6

Summary                                      15 Ports

Boot exclude:
I excluded the ASUS Aura RGB controller on the port, USR11 and some other USB2 ports that I do not need. So the total port count incl. XHC is exactly 15 ports.

uia_exclude=SS01;HS05;HS06;HS10;HS11;HS13;HS15;USR1 22-8 = 14 Ports + XHC@14 = 15 ports in total

Custom SSDT creation

Rules
  • Use SSDT-UIAC-ALL.dsl as a template (https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/SSDT-UIAC-ALL.dsl)
  • Identify your XHC@14 name with the famous IORegistryExplorer: In my case IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14 --> <"pci8086,a2af">
    You will find a section inside the SSDT-UIAC-ALL.dsl that you can use as a starting point if you build your DSL.
  • Common port connector types are
    USB2 = 0,
    USB3 = 3,
    USB3-C = 9,
    # I assume that the my USB-C mainboard connector has a switch, so the cable can be used in two possible orientations
  • USB31G2_EC1 = ? # I dont know yet. I dont use it
    internal = 255.
USB type C ports can be either 9 or 10, which depends on how the hardware deals with the two possible orientations of a USB type C device/cable.
If a USB-C uses the same SSxx in both orientations, then it has an internal switch (UsbConnector=9).
If a USB-C uses a different SSxx in each orientation, then it has no switch (UsbConnector=10).


Code:
// Initial trimmed SSDT-UIAC.dsl for Asus z370-I
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0)
{
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        Name(RMCF, Package()
        {
        "8086_a2af", Package()
            {
                "port-count", Buffer() { 22, 0, 0, 0 },
                "ports", Package()
                {
                    "HS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "HS02", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HS05", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "HS06", Package()
                    {
                        "UsbConnector", 9,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "HS07", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "HS08", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 8, 0, 0, 0 },
                    },
                    "HS09", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 9, 0, 0, 0 },
                    },
                    "HS10", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 10, 0, 0, 0 },
                    },
                    "HS11", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 11, 0, 0, 0 },
                    },
                    "HS12", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 12, 0, 0, 0 },
                    },
                    "HS13", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 13, 0, 0, 0 },
                    },
                    "HS14", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 14, 0, 0, 0 },
                    },
                     "HS15", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 15, 0, 0, 0 },
                    },
        
                    "SS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 17, 0, 0, 0 },
                    },
                    "SS02", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 18, 0, 0, 0 },
                    },
                    "SS03", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 19, 0, 0, 0 },
                    },
                    "SS04", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 20, 0, 0, 0 },
                    },
                    "SS05", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 21, 0, 0, 0 },
                    },
                    "SS06", Package()
                    {
                        "UsbConnector", 9,
                        "port", Buffer() { 22, 0, 0, 0 },
                    },
                    "USR1", Package()
                    {
                        "UsbConnector", 9,
                        "port", Buffer() { 16, 0, 0, 0 },
                    },
                },
            },
        })
    }
}
//EOF
Start the MaciASL Tool and open your SSDT-UIAC-ALL.dsl and finally save it as ACPI Machine Language Binary.

Attached files:
EFI.zip version v1a 12/31/18:
Change Log:
  • Removed FAKE ID,KEXT PS2, dashes between boot args, removed unneeded patches
  • Added iGPU ID
  • Updated KEXT to the newest version
  • Updated Clover and BOOTX64.efi
  • Cleaned up boot messages
 

Attachments

Last edited:
Joined
Feb 23, 2018
Messages
23
Motherboard
Asus Z370-i
CPU
i7-8700K
Graphics
RX 560
Very good... Would you share your set up list of kexts and conf. pls?... I also have the same configuration and want to optimize it to the max.
 
Joined
Nov 28, 2018
Messages
70
Motherboard
asus z370-i
CPU
i7-9700k
Graphics
RX 580
Mac
iMac, MacBook, Mac Pro
Classic Mac
Apple
Mobile Phone
iOS
Thank you! The EFI folder ist attached at the end of my post.
 
Joined
Feb 23, 2018
Messages
23
Motherboard
Asus Z370-i
CPU
i7-8700K
Graphics
RX 560
I notice you have whatevergreen.kext... I do not use it and works great
Also I do not use any KextsToPatch !
and you do not have any ig-platform-id ....to use with your Radeon I use 0x59120003
 
Joined
Nov 28, 2018
Messages
70
Motherboard
asus z370-i
CPU
i7-9700k
Graphics
RX 580
Mac
iMac, MacBook, Mac Pro
Classic Mac
Apple
Mobile Phone
iOS
I'd configured the settings as you suggested and I can also confirm that the system does not have any issues so far. Regarding the iGPU "ig-platform-id: 0x59120003 " value. Do you have the CPU iGPU enabled inside the UEFI? And if so, what benefits do we have?: I'd disabled the CPU iGPU.
 
Joined
Feb 23, 2018
Messages
23
Motherboard
Asus Z370-i
CPU
i7-8700K
Graphics
RX 560
I'd configured the settings as you suggested and I can also confirm that the system does not have any issues so far. Regarding the iGPU "ig-platform-id: 0x59120003 " value. Do you have the CPU iGPU enabled inside the UEFI? And if so, what benefits do we have?: I'd disabled the CPU iGPU.
A proper graphics framebuffer does not exist yet for i7-9700k as far as I know. The most important is that you get full acceleration out of your graphic cards. You would be able to get acceleration without having to set ig-platform-id as I did in the past so it is not a must. However, I prefer using an existing platform id to get it. We can use the one for KabyLake or the one for CoffeLake.

We can use ig-platform-id 0x59120003 (iMac 2017) iMac 18.3 both graphic cards otherwise 0x59120000 for the UHD 630 ONLY, also set config.plist-> Devices -> FakeID -> IntelGFX to 0x59128086.

Other newer option ig-platform-id 0x3E920003 (iMac 2018) both graphic cards otherwise 0x3E9B0007 for the UHD 630 ONLY for the same model...

On the other hand I can see you have some custom flags and you do not need to use “uia_exclude=“custom flag since you have already set your ssdt!
 
Last edited:
Joined
Feb 23, 2018
Messages
23
Motherboard
Asus Z370-i
CPU
i7-8700K
Graphics
RX 560
What is the actual information of “Graphics” with your set up on “About this mac” window and the one on System Report/Graphics/Displays? can you share?
 
Joined
Jan 19, 2010
Messages
43
Motherboard
Gigabyte Z170X-Gaming 3
CPU
i7-6700K
Graphics
GTX 970
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
128K
Mobile Phone
iOS
I have the same board, now focusing on setting Windows but will follow!
 
Joined
Nov 28, 2018
Messages
70
Motherboard
asus z370-i
CPU
i7-9700k
Graphics
RX 580
Mac
iMac, MacBook, Mac Pro
Classic Mac
Apple
Mobile Phone
iOS
What is the actual information of “Graphics” with your set up on “About this mac” window and the one on System Report/Graphics/Displays? can you share?
Graphics Radeon RX 580 8192 MB
I'd I the iGPU inside the Bios so the UHD 630 does not show up.
 
Joined
Feb 23, 2018
Messages
23
Motherboard
Asus Z370-i
CPU
i7-8700K
Graphics
RX 560
Good... Check your SMBIOS, you'd be better off with a closer choice to your hardware... Try iMac 18.3 that comes with an I7 instead of a Xeon and it has an RX as well.
Also within ACPI Patches you do not need "change EC0 to EC"...Only required for Embedded Controller (Battery).
 
Top