Contribute
Register

Disable Device via SSDT

Status
Not open for further replies.
Joined
Oct 11, 2010
Messages
733
Motherboard
GIGABYTE Z790 Gaming X
CPU
i9-13900K
Graphics
Vega 64
Mac
  1. iMac
  2. Mac Pro
I need to disable BR1A.H000(Thunderbolt)

I hack SSDT from @RehabMan.
Disable reason sleep not work.
Sleep worked before install Thunderbolt card.
Can you have a look and report back your opinion?

Thank you


Code:
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20161210-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASLejqKVT.aml, Sat May 26 10:19:08 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x00000326 (806)
*     Revision         0x02
*     Checksum         0xBD
*     OEM ID           "hack"
*     OEM Table ID     "hack"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20161210 (538317328)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "hack", 0x00000000)
{
    External (_SB_.PCI0, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.BR1A.H000._OFF, MethodObj)    // 0 Arguments (from opcode)
    External (_SB_.PCI0.BR1A.H000._ON_, MethodObj)    // 0 Arguments (from opcode)
    External (_SB_.PCI0.LPCB, DeviceObj)    // (from opcode)
    External (ZPTS, MethodObj)    // 1 Arguments (from opcode)
    External (ZWAK, MethodObj)    // 1 Arguments (from opcode)

    Device (RMCF)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (HELP, 0, NotSerialized)
        {
            Store ("DGPU indicates whether discrete GPU should be disabled. 1: yes, 0: no", Debug)
            Store ("BKLT indicates the type of backlight control. 0: IntelBacklight, 1: AppleBacklight", Debug)
            Store ("LMAX indicates max for IGPU PWM backlight. Ones: Use default, other values must match framebuffer", Debug)
            Store ("SHUT enables shutdown fix. 1: disables _PTS code when Arg0==5", Debug)
        }

        Name (DGPU, One)
        Name (BKLT, Zero)
        Name (LMAX, Ones)
        Name (SHUT, One)
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        If (LAnd (\RMCF.SHUT, LEqual (0x05, Arg0)))
        {
            Return (Zero)
        }

        If (LEqual (One, \RMCF.DGPU))
        {
            If (CondRefOf (\_SB.PCI0.BR1A.H000._ON))
            {
                \_SB.PCI0.BR1A.H000._ON ()
            }
        }

        ZPTS (Arg0)
    }

    Method (_WAK, 1, NotSerialized)  // _WAK: Wake
    {
        If (LOr (LLess (Arg0, One), LGreater (Arg0, 0x05)))
        {
            Store (0x03, Arg0)
        }

        Store (ZWAK (Arg0), Local0)
        If (LEqual (One, \RMCF.DGPU))
        {
            If (CondRefOf (\_SB.PCI0.BR1A.H000._OFF))
            {
                \_SB.PCI0.BR1A.H000._OFF ()
            }
        }

        Return (Local0)
    }

    Device (RMD1)
    {
        Name (_HID, "RMD10000")  // _HID: Hardware ID
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            If (LEqual (One, \RMCF.DGPU))
            {
                If (CondRefOf (\_SB.PCI0.BR1A.H000._OFF))
                {
                    \_SB.PCI0.BR1A.H000._OFF ()
                }
            }
        }
    }
}
 

Attachments

  • SSDT-HACK-THB.aml
    806 bytes · Views: 281
  • ORI Files-Mac-Pro.zip
    1.7 MB · Views: 149
  • EFI.zip
    7.9 MB · Views: 185
I need to disable BR1A.H000(Thunderbolt)

I hack SSDT from @RehabMan.
Disable reason sleep not work.
Sleep worked before install Thunderbolt card.
Can you have a look and report back your opinion?

Thank you


Code:
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20161210-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASLejqKVT.aml, Sat May 26 10:19:08 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x00000326 (806)
*     Revision         0x02
*     Checksum         0xBD
*     OEM ID           "hack"
*     OEM Table ID     "hack"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20161210 (538317328)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "hack", 0x00000000)
{
    External (_SB_.PCI0, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.BR1A.H000._OFF, MethodObj)    // 0 Arguments (from opcode)
    External (_SB_.PCI0.BR1A.H000._ON_, MethodObj)    // 0 Arguments (from opcode)
    External (_SB_.PCI0.LPCB, DeviceObj)    // (from opcode)
    External (ZPTS, MethodObj)    // 1 Arguments (from opcode)
    External (ZWAK, MethodObj)    // 1 Arguments (from opcode)

    Device (RMCF)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (HELP, 0, NotSerialized)
        {
            Store ("DGPU indicates whether discrete GPU should be disabled. 1: yes, 0: no", Debug)
            Store ("BKLT indicates the type of backlight control. 0: IntelBacklight, 1: AppleBacklight", Debug)
            Store ("LMAX indicates max for IGPU PWM backlight. Ones: Use default, other values must match framebuffer", Debug)
            Store ("SHUT enables shutdown fix. 1: disables _PTS code when Arg0==5", Debug)
        }

        Name (DGPU, One)
        Name (BKLT, Zero)
        Name (LMAX, Ones)
        Name (SHUT, One)
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        If (LAnd (\RMCF.SHUT, LEqual (0x05, Arg0)))
        {
            Return (Zero)
        }

        If (LEqual (One, \RMCF.DGPU))
        {
            If (CondRefOf (\_SB.PCI0.BR1A.H000._ON))
            {
                \_SB.PCI0.BR1A.H000._ON ()
            }
        }

        ZPTS (Arg0)
    }

    Method (_WAK, 1, NotSerialized)  // _WAK: Wake
    {
        If (LOr (LLess (Arg0, One), LGreater (Arg0, 0x05)))
        {
            Store (0x03, Arg0)
        }

        Store (ZWAK (Arg0), Local0)
        If (LEqual (One, \RMCF.DGPU))
        {
            If (CondRefOf (\_SB.PCI0.BR1A.H000._OFF))
            {
                \_SB.PCI0.BR1A.H000._OFF ()
            }
        }

        Return (Local0)
    }

    Device (RMD1)
    {
        Name (_HID, "RMD10000")  // _HID: Hardware ID
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            If (LEqual (One, \RMCF.DGPU))
            {
                If (CondRefOf (\_SB.PCI0.BR1A.H000._OFF))
                {
                    \_SB.PCI0.BR1A.H000._OFF ()
                }
            }
        }
    }
}

Maybe your BIOS has an option to disable the TB controller...
 
This is Thunderbolt-3 Bios settings
  • Intel Thunderbolt Configuration
  • Intel Thunderbolt Technology-Enabled
  • ThunderBolt Boot Support-Disabled
  • Security Level-Unique ID
  • Wake from Thunderbolt Devices-Enabled
  • Thunderbolt PCIe each line size-32
  • Ignore Thunderbolt Option Rom-Disabled
  • ThunderBolt GFX Support-Enabled
  • Received Memory-737
  • Prefetchable memory-1200
  • POWER
  • Power > ERP: Enable
IF I ThunderBolt Boot Support-Disabled
Not make any changes.please look IOREG
 

Attachments

  • navaratnam’s Mac Pro.ioreg
    12.5 MB · Views: 219
After Hack I can see my IOREG RMD1
 

Attachments

  • Screen Shot 2018-05-26 at 3.51.48 PM.png
    Screen Shot 2018-05-26 at 3.51.48 PM.png
    172.8 KB · Views: 319
Last edited:
This is Thunderbolt-3 Bios settings
  • Intel Thunderbolt Configuration
  • Intel Thunderbolt Technology-Enabled
  • ThunderBolt Boot Support-Disabled
  • Security Level-Unique ID
  • Wake from Thunderbolt Devices-Enabled
  • Thunderbolt PCIe each line size-32
  • Ignore Thunderbolt Option Rom-Disabled
  • ThunderBolt GFX Support-Enabled
  • Received Memory-737
  • Prefetchable memory-1200
  • POWER
  • Power > ERP: Enable
IF I ThunderBolt Boot Support-Disabled
Not make any changes.please look IOREG

Your ioreg is corrupt (probably not captured with IORegistryExplorer v2.1).
 
I update Version 3.0.2 (14)
 

Attachments

  • navaratnam’s Mac Pro.ioreg
    12.6 MB · Views: 250
I update IOREG V2.1
I update EFI
 

Attachments

  • navaratnam’s Mac Pro2.1.ioreg
    6.2 MB · Views: 238
  • EFI.zip
    5.4 MB · Views: 149
Last edited:
Now I update SSDT-HACK-.aml Its show now RMD1
please look update ioreg
I need make sleep If disable or not.
Thank you.
 

Attachments

  • SSDT-HACK-THB-BR1X.aml
    806 bytes · Views: 245
  • navaratnam’s Mac Pro show RMD1.ioreg
    6.1 MB · Views: 230
Status
Not open for further replies.
Back
Top