Contribute
Register

Help with EHCI/UHCI Fix please

Status
Not open for further replies.
Joined
Feb 13, 2010
Messages
23
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
I've been modifying my DSDT and I'm trying to implement the EHCI/UHCI fix but am kind of confused quite frankly. I'm not sure what I'm supposed to change/edit as mine looks completely different from Tony's gigabyte one.

Here is the section of code for my USB0:

Code:
            Device (USB0)
            {
                Name (_ADR, 0x001D0000)
                OperationRegion (BAR0, PCI_Config, Zero, 0xD0)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                            Offset (0x09), 
                    UIFT,   8, 
                            Offset (0xC4), 
                    USBW,   2, 
                            Offset (0xC5)
                }

                Method (USXD, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (LEqual (UIFT, Zero))
                    {
                        If (Arg0)
                        {
                            Store (0x03, USBW)
                        }
                        Else
                        {
                            Store (Zero, USBW)
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    If (LEqual (UIFT, Zero))
                    {
                        Return (GPRW (0x03, 0x04))
                    }
                    Else
                    {
                        Return (GPRW (0x0D, 0x04))
                    }
                }

                Scope (\_GPE)
                {
                    Method (_L03, 0, NotSerialized)
                    {
                        Notify (\_SB.PCI0.USB0, 0x02)
                        Notify (\_SB.PWRB, 0x02)
                    }

                    Method (_L05, 0, NotSerialized)
                    {
                        Notify (\_SB.PCI0.USB4, 0x02)
                        Notify (\_SB.PWRB, 0x02)
                    }

                    Method (_L0D, 0, NotSerialized)
                    {
                        If (LEqual (\_SB.PCI0.USB0.UIFT, Zero))
                        {
                            Notify (\_SB.PCI0.EUSB, 0x02)
                            Notify (\_SB.PCI0.USBE, 0x02)
                        }
                        Else
                        {
                            Notify (\_SB.PCI0.USB0, 0x02)
                            Notify (\_SB.PCI0.USB4, 0x02)
                        }
                        Notify (\_SB.PWRB, 0x02)
                    }
                }

                Device (HUBN)
                {
                    Name (_ADR, Zero)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (UIFT, Zero))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }

                    Device (PR01)
                    {
                        Name (_ADR, One)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Buffer (0x10)
                        {
                            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0008 */    0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                        Device (PR11)
                        {
                            Name (_ADR, One)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0xFF, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR12)
                        {
                            Name (_ADR, 0x02)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR13)
                        {
                            Name (_ADR, 0x03)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR14)
                        {
                            Name (_ADR, 0x04)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR15)
                        {
                            Name (_ADR, 0x05)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR16)
                        {
                            Name (_ADR, 0x06)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR17)
                        {
                            Name (_ADR, 0x07)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Device (PR18)
                        {
                            Name (_ADR, 0x08)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Buffer (0x10)
                            {
                                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }
                    }

                    Device (PR02)
                    {
                        Name (_ADR, 0x02)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Buffer (0x10)
                        {
                            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0008 */    0x30, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }

                    Device (PR03)
                    {
                        Name (_ADR, 0x03)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Buffer (0x10)
                        {
                            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0008 */    0x30, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }
                }
            }

I've attached my DSDT (ASrock P55 Pro). Thanks in advance for any help provided!
 

Attachments

  • dsdt.aml
    28.3 KB · Views: 206
Yeah- the guides can be used on a copy/paste basis pretty much for any Gigabyte board, but the other brands have different BIOSes and will take much more effort.

At this point, because I only have a Gigabyte board, I can't really maintain and edit anything else personally. The guides on the blog are the best support I can give right now. You might check out the work of MasterChief in the Insanelymac forums, although it gets pretty geeky. :lol: :eek: :D

Good luck! If anyone else can chime in, or volunteer to help, I'd greatly appreciate it.
 
Status
Not open for further replies.
Back
Top