Contribute
Register

DSDT audio for HD5670 almost there...?

Status
Not open for further replies.
Joined
Jul 27, 2011
Messages
220
Motherboard
Asus P8Z77-I Deluxe
CPU
Intel Core i7 3770K
Graphics
NVIDIA GeForce GTX 1080 Ti
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi all,

I have a Sapphire HD5670 512MB DDR5 (with HDMI, DVI and VGA) and would like to get HDMI audio working on it, so far I have:


  • Created my own DSDT for my Intel DH57JG mobo
  • Patched the DSDT for ALC889 support (id:2 (3 port)) and installed AppleHDA.kext using the new optimised ML version - tested & working
  • Made the necessary HDMI audio DSDT edits (HDAU visible in IOReg)


Here is the radeon_bios_decode output of my HD5670, I extracted the rom using GPUZ in Windows:
./radeon_bios_decode < Redwood.rom​
ATOM BIOS Rom:​
SubsystemVendorID: 0x174b SubsystemID: 0xe152​
IOBaseAddress: 0x0000​
Filename: E152VGA.012​
BIOS Bootup Message:​
REDWOOD XT C02902 GDDR5 32Mx32 512M UCODEv:1255​

PCI ID: 1002:68d8​
Connector at index 0​
Type [@offset 44446]: HDMI-A (11)​
Encoder [@offset 44450]: INTERNAL_UNIPHY2 (0x21)​
i2cid [@offset 44530]: 0x94, OSX senseid: 0x5​
Connector at index 1​
Type [@offset 44456]: DVI-I (2)​
Encoder [@offset 44460]: INTERNAL_UNIPHY1 (0x20)​
i2cid [@offset 44567]: 0x92, OSX senseid: 0x3​
Connector at index 2​
Type [@offset 44466]: DVI-I (2)​
Encoder [@offset 44470]: INTERNAL_KLDSCP_DAC1 (0x15)​
i2cid [@offset 44567]: 0x92, OSX senseid: 0x3​
Connector at index 3​
Type [@offset 44476]: VGA (1)​
Encoder [@offset 44480]: INTERNAL_KLDSCP_DAC2 (0x16)​
i2cid [@offset 44594]: 0x91, OSX senseid: 0x2​


I am using the Uakari frame buffer as HDMI doesn't work using Baboon, Uakari & Vervet.

In About This Mac it appears as "ATI Radeon HD 5600 Series 512 MB"

This is the Uakari framebuffer configuration according to ati-personality.pl
Personality: Uakari
ConnectorInfo count in decimal: 4
Disk offset in decimal 165952
0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 01
0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 03
0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 05
0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04
0000040​

At this point I am a bit stuck, I don't really know what I need to do, I assume they may need reordering and that I need to assign the correct sense id (5) to the HDMI port... I have attached a zip with my DSDT and IOReg contents. If anyone could help me out that would be fantastic!!
 

Attachments

  • DSDT+IOReg.zip
    513.7 KB · Views: 109
OK after working out what the contents of the Framebuffer mean I have determined that in fact Baboon is the best one for me as it already includes the correct port types (VGA, HDMI, HDMI) and the correct amount (3) of them.

So considering the stock Baboon framebuffer is this:
04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 03 (DVI)​
00 08 00 00 00 02 00 00 00 71 00 00 22 05 02 01 (HDMI)​
10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 02 (VGA)​

And based on my actual VBIOS ROM:
PCI ID: 1002:68d8​
Connector at index 0​
Type [@offset 44446]: HDMI-A (11)​
Encoder [@offset 44450]: INTERNAL_UNIPHY2 (0x21)​
i2cid [@offset 44530]: 0x94, OSX senseid: 0x5​
Connector at index 1​
Type [@offset 44456]: DVI-I (2)​
Encoder [@offset 44460]: INTERNAL_UNIPHY1 (0x20)​
i2cid [@offset 44567]: 0x92, OSX senseid: 0x3​
Connector at index 2​
Type [@offset 44466]: DVI-I (2)​
Encoder [@offset 44470]: INTERNAL_KLDSCP_DAC1 (0x15)​
i2cid [@offset 44567]: 0x92, OSX senseid: 0x3​
Connector at index 3​
Type [@offset 44476]: VGA (1)​
Encoder [@offset 44480]: INTERNAL_KLDSCP_DAC2 (0x16)​
i2cid [@offset 44594]: 0x91, OSX senseid: 0x2​

Would I need to make it look like this or am I on the wrong track?:
00 08 00 00 00 02 00 00 00 71 00 00 22 05 02 05 (HDMI with corrected sense id)​
04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 03 (DVI)​
10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 02 (VGA)​



Thanks in advance!
 
take a look on this http://www.osx86.net/downloads.php?do=file&id=1872 maybe you already did ;)
I will follow this for my xfx 5670 1gb ddr5...similar like yours...
you may need to patch the ati5000controller.kext...using baboon with corrected id for hdmi to get the output from there...
 
take a look on this http://www.osx86.net/downloads.php?do=file&id=1872 maybe you already did ;)
I will follow this for my xfx 5670 1gb ddr5...similar like yours...
you may need to patch the ati5000controller.kext...using baboon with corrected id for hdmi to get the output from there...

Thanks, that is basically what I have already done. Unfortunately even with the patched baboon framebuffer in ati5000controller my HDMI is still not working (black screen). DVI continues to work though.

Anyone have any clues..?
 
Thanks, that is basically what I have already done. Unfortunately even with the patched baboon framebuffer in ati5000controller my HDMI is still not working (black screen). DVI continues to work though.

Anyone have any clues..?
It is best to select the framebuffer based on video support. If HDMI port video is not working with Baboon, it is not a candidate. Uakari is not a good choice because the HDMI connector is beyond the 3 connectors supported by the 5670. Suggest Eulemur, if you haven't tried it. Reply back with HDMI working framebuffers
 
It is best to select the framebuffer based on video support. If HDMI port video is not working with Baboon, it is not a candidate. Uakari is not a good choice because the HDMI connector is beyond the 3 connectors supported by the 5670. Suggest Eulemur, if you haven't tried it. Reply back with HDMI working framebuffers

Thanks, unfortunately Eulemur, Vervet & Baboon don't work with the HDMI, so far only Uakari does. Glancing at the other HD5000 frame buffers it looks like none of the others have HDMI ports (00 08).

Do you know if it possible to hack Uakari to work somehow?
 
Do you know if it possible to hack Uakari to work somehow?
It depends, confirm in IOReg if the signal type for the connected display is 04 or 08. There are times when a DP connector in the framebuffer can support the physical HDMI connector. Hard to explain in a post. Attach a copy of IOReg booting with Uakari.
 
Hi Toleda, thanks for that, in the end it wasn't necessary as I am up and running now. Embarrassingly, I got HDMI working quite simply according to your exact instructions in your HDMI audio threads.

Basically, I overcomplicated things for myself, first by assuming that I should be modding Uakari instead of Baboon (the auto-selected by GE) because Uakari was the only one that worked OOB with HDMI. I then tried all sorts to get Uakari working including reordering the ports in the framebuffer according to ports physical location and also by ioreg port #. Obviously I corrected all the sense id's along the way but none of this worked.

When I spent a bit of time learning how the framebuffer ports were described, I realised that Baboon would be a much better match if I could get t working, due to it having the correct type of ports and # of ports. So I then reconfigured the Baboon framebuffer reordering the ports in order of physical location (I had assumed I needed to do this), and this still did not work.

Then, quite simply, I just added the correct sense id to HDMI in the default Baboon frame buffer (without any reordering) and it worked!

I really can't believe I went through all that fuss, when all I needed to do was just add the correct sense id to the auto-selected framebuffer. Doh!!!

Anyway, I think it would be useful to add the following legend to your future Framebuffer (i.e.: FB-amd-5xxx) and Case Study PDFs in order that people can determine the most suitable framebuffer for their hardware. Personally, it all clicked once I understood this.

Connector reference
type id bitswapped
lvds 00000002 00 02 00 00
dvi 00000004 04 00 00 00
vga 00000010 10 00 00 00
s-v 00000080 80 00 00 00
dp 00000400 00 04 00 00
hdmi 00000800 00 08 00 00


By the way, thanks for your documentation, it was extremely helpful!
 
Status
Not open for further replies.
Back
Top