Jump to content

Editing custom personalities for ATI Radeon HD[45]xx


bcc9
 Share

775 posts in this topic

Recommended Posts

I found out connector-type=0x2 & ControlFlags=0x100 is DP_INT (DisplayPort). The "_INT" stand for internal I guess. I found this in iMac11,1's IORegistry.

ACPI_i7_iMac11_1.zip

 

nice work, i'm looking through atombios.h config for linux drivers it actually lists encoders etc in hex, I got my VGA out working perfectly using new kexts, LVDS is also activated but fuzzy so will have to work out the correct encoder. but now i have found extra info inside radeon drivers from linux hopefully i can find right values.

 

Wondering if there is LVDS_INT and what value it would be?

Link to comment
Share on other sites

Wondering if there is LVDS_INT and what value it would be?

LVDS will be LVDS (as printed out by ATY,EFIDisplay). It share connector-type with DP_INT which is 0x2 but LVDS's ControlFlags is 0x40 while DP_INT's is 0x100.

 

No, connector-type 0x400 is DP, 0x2 is connector-type LVDS. Per post #1. I've verified these personally.

Yes, DP's connector-type is 0x400. Please check the iMac11,1's IORegistry I posted at my previous post.

Link to comment
Share on other sites

Yes, DP's connector-type is 0x400. Please check the iMac11,1's IORegistry I posted at my previous post.

Already did that before posting. And now you're agreeing with me, so perhaps you might want to rephrase your original statement?

Link to comment
Share on other sites

Already did that before posting. And now you're agreeing with me, so perhaps you might want to rephrase your original statement?

Look to this screenshots:-

post-125711-1301373804_thumb.jpg

post-125711-1301373754_thumb.jpg

post-125711-1301373827_thumb.jpg

 

I found out connector-type=0x2 & ControlFlags=0x100 is DP_INT (DisplayPort). The "_INT" stand for internal I guess. I found this in iMac11,1's IORegistry.

I'm quoting myself here. I said DP_INT's connector-type is 0x2 is based on the iMac11,1's IORegistry. The "DisplayPort" can be seen in the iMac11,1's System Profiler (included in the zip file).

 

I didn't said DisplayPort's connector-type is 0x2. The DisplayPort's connector-type is 0x400. The DP_INT's connector-type is 0x2 based on the iMac11,1's IORegistry.

Link to comment
Share on other sites

I decided to go on a little test, i think the control flags have everything to do with if and how the screens switch on.

 

Let's take Douc as an example i know it has only 2 outputs but i can apply this method to most 5xxx personalities.

 

Personality: Douc

ConnectorInfo count in decimal: 2Disk offset in decimal 507704

02  00  00  00  00  05  00  00  09  03  00  00  21  03  02  02

00  04  00  00  04  02  00  00  00  03  00  00  11  02  01  01

 

If i have control flags 14,14 both screens switch on, if i decide to change LVDS to 40 then LVDS switches off, leaves VGA on. I was merely looking at how Apple do it in the Uakari personality and they have DP controlflag 14 and 200 connector using 14, so decided to copy and it seems to give me 2 screens that has QE/CI with both mirror or extended. LVDS does show as CRT but i was just feking around to look at the behavior. Also 00,00 seems to be VGA which i can apply this method to any personality also.

 

LVDS seems to function when i use the same control flags, changing to 40 and 10 i lose 1 screen. 14,14 both screens turn on, will play around more.

 

the 2 personalities that match my card are Baboon and Eulemur. but I'm playing around with Douc to see if i can perfect VGA,LVDS before proceeding to HDMI.

 

Patched Douc 

02  00  00  00  14  00  00  00  09  03  00  00  01  12  02  07 

10  00  00  00  14  00  00  00  00  71  00  00  00  00  01  08

 

@Kizwan any sort of reason to why i would get this sort of behavior?

 

Also VGA 10 CntrlFlag and LVDS 14 work as mirror and ext as well.

Link to comment
Share on other sites

I tried randeondump tool 0.2 with my Mobility Radeon HD 2600 XT VBIOS and showed me the following error: "ATOMBIOS signature not found". I need to get i2C ID's for my connectors to get the SenseID's/SenseLines. By trying random SenseID's I got ATIFramebuffer to read the LVDS EDID and detect the screen (as main in extended desktop mode) but the screen remains black and the backlight shutsdown after the Apple gray page is shown. Misteriosly my VGA port seems to have many valid SenseID's and each shows VSync tearing in a different area of the screen.Do you know any other way to get these values from other utilities, Linux or Windows??

 

Please help me getting my I2C ID's otherways I would have to test 255 (0XFF) possible SenseID's and it would be really painful.

VBIOS.zip

Link to comment
Share on other sites

I tried randeondump tool 0.2 with my Mobility Radeon HD 2600 XT VBIOS and showed me the following error: "ATOMBIOS signature not found". I need to get i2C ID's for my connectors to get the SenseID's/SenseLines. By trying random SenseID's I got ATIFramebuffer to read the LVDS EDID and detect the screen (as main in extended desktop mode) but the screen remains black and the backlight shutsdown after the Apple gray page is shown. Misteriosly my VGA port seems to have many valid SenseID's and each shows VSync tearing in a different area of the screen.Do you know any other way to get these values from other utilities, Linux or Windows??

 

Please help me getting my I2C ID's otherways I would have to test 255 (0XFF) possible SenseID's and it would be really painful.

You had to change it to M76.rom, then it worked.

bash-3.2# ./radeon_bios_decode < M76.rom 
ATOM BIOS Rom: 
SubsystemVendorID: 0x1734 SubsystemID: 0x1107
IOBaseAddress: 0x0000
Filename: 26832C.bin  
BIOS Bootup Message: 
ECS_P75IM0_M76XT M76 GDDR3_16Mx32 128bit 256MB 300e/700m					

Connector at index 0
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x14, OSX senseid: 0x5
Connector at index 1
Type: 9 pin DIN (9)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2
Connector at index 2
Type: HDMI-A (11)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: VGA (1)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1

Link to comment
Share on other sites

You had to change it to M76.rom, then it worked.

bash-3.2# ./radeon_bios_decode < M76.rom 
ATOM BIOS Rom: 
SubsystemVendorID: 0x1734 SubsystemID: 0x1107
IOBaseAddress: 0x0000
Filename: 26832C.bin  
BIOS Bootup Message: 
ECS_P75IM0_M76XT M76 GDDR3_16Mx32 128bit 256MB 300e/700m					

Connector at index 0
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x14, OSX senseid: 0x5
Connector at index 1
Type: 9 pin DIN (9)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2
Connector at index 2
Type: HDMI-A (11)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: VGA (1)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1

 

 

Thanks so much!!! I will try tomorrow and post results

 

EDIT: OK, but

 

/* u can get this from dmesg after installing Dong's RadeonHD with debug

info */ /* Transmitter Bits 0-3 (TransmitterID) */

#define UNIPHY 0x00

#define UNIPHY_1 0x01

#define UNIPHY_2 0x02

 

/* Transmitter Bits 4-7 (LinkID) */

#define DUAL_LINK 0x00 // LINK_A + LINK_B

#define LINK_A 0x10

#define LINK_B 0x20

 

/* Transmitter byte */

#define UNIPHY_A 0x10 // = UNIPHY:LINK_A

#define UNIPHY_B 0x20 // = UNIPHY:LINK_B

#define UNIPHY_AB 0x00 // = UNIPHY:DUAL_LINK

#define UNIPHY_C 0x11 // = UNIPHY_1:LINK_A

#define UNIPHY_D 0x21 // = UNIPHY_1:LINK_B

#define UNIPHY_CD 0x01 // = UNIPHY_1:DUAL_LINK

#define UNIPHY_E 0x12 // = UNIPHY_2:LINK_A

#define UNIPHY_F 0x22 // = UNIPHY_2:LINK_B

#define UNIPHY_EF 0x02 // = UNIPHY_2:DUAL_LINK

#define DACA 0x00

#define DACB 0x10

 

LVTM1 => LVTMA => 0x??

 

By dissembling the Radeon HD 2600 kext I found LVTMA as the name of many subroutines so it's supported but which transmiter ID should I use.

Link to comment
Share on other sites

Mucha did further test which focusing only on LVDS. You might want to go & read mucha's post here. It is a sort of collection's thread which it's purpose is to only collect tested configuration & patch for mobility card.

 

Yes what mucha has found out, i'm also finding out the same conclusions. very interesting. he has 4650, mine is 5650 but similar architect.

Link to comment
Share on other sites

By dissembling the Radeon HD 2600 kext I found LVTMA as the name of many subroutines so it's supported but which transmiter ID should I use.

Well, you could follow the guide and get dmesg from RadeonHD by booting your system with RadeonHD.kext installed, opening terminal, and typing "sudo dmesg"

 

Or you could get the same info from Linux by booting Ubuntu CD

 

Or you could read from the Linux code mucha quoted

682 /*
683  * DIG Encoder/Transmitter Setup
684  *
685  * DCE 3.0/3.1 (RV6XX, Radeon HD 3XXX Series and older)
686  * - 2 DIG transmitter blocks. UNIPHY (links A and B ) and LVTMA.
687  * Supports up to 3 digital outputs
688  * - 2 DIG encoder blocks.
689  * DIG1 can drive UNIPHY link A or link B
690  * DIG2 can drive UNIPHY link B or LVTMA
691  *

This tells you you have 2 transmitters, and 2 encoders (00 or 01) so 4 possibilities

 

I would try 01 01, as only DIG2 drives LVTMA

Link to comment
Share on other sites

Well, you could follow the guide and get dmesg from RadeonHD by booting your system with RadeonHD.kext installed, opening terminal, and typing "sudo dmesg"

 

Or you could get the same info from Linux by booting Ubuntu CD

 

Or you could read from the Linux code mucha quoted

682 /*

683 * DIG Encoder/Transmitter Setup

684 *

685 * DCE 3.0/3.1 (RV6XX, Radeon HD 3XXX Series and older)

686 * - 2 DIG transmitter blocks. UNIPHY (links A and B ) and LVTMA.

687 * Supports up to 3 digital outputs

688 * - 2 DIG

 

 

 

 

I would try 01 01, as only DIG2 drives LVTMA

 

Could it be 01 0f as radeondump says the following:

Encoder: id: f => 0x0f

Link to comment
Share on other sites

Could it be 01 0f as radeondump says the following:

Encoder: id: f => 0x0f

If radeondump says that, I would try it 1st. I have not seen anyone else with a 0f encoder, but then you are the first 2xxx who to my knowledge has tried this. We would appreciate you posting your success in Kizwan's thread.

Link to comment
Share on other sites

If radeondump says that, I would try it 1st. I have not seen anyone else with a 0f encoder, but then you are the first 2xxx who to my knowledge has tried this. We would appreciate you posting your success in Kizwan's thread.

 

Misteriously only with 0x07 the LVDS EDID is assigned to the first of the two personalities but anyway the first personality is atomatically associated with TMDS1 => HDMI so what I get is the LVDS EDID assigned to HDMI output and no way to connect with LVTMA. The strange thing is that the i2CID of the LVDS is 0x15 and the working ones (VGA and HDMI) start with 0x90. Even the bootloader assings a TMDSA (TMDS1) display type to the device-properties of the connector. Is there any way to associate the LVTMA (connector index 0) with the first personality?? Would it work if I change the Hypoprion DATA XREF to a set of 3 personalities??

Link to comment
Share on other sites

Misteriously only with 0x07 the LVDS EDID is assigned to the first of the two personalities but anyway the first personality is atomatically associated with TMDS1 => HDMI so what I get is the LVDS EDID assigned to HDMI output and no way to connect with LVTMA. The strange thing is that the i2CID of the LVDS is 0x15 and the working ones (VGA and HDMI) start with 0x90. Even the bootloader assings a TMDSA (TMDS1) display type to the device-properties of the connector. Is there any way to associate the LVTMA (connector index 0) with the first personality?? Would it work if I change the Hypoprion DATA XREF to a set of 3 personalities??

TMDSA is an artifact of Chameleon. You can change the label if you want but its cosmetic

 

Chameleon injects 2 ports only -- 1st 2 you specify in your modified FB. Kizwan says others may work, but my computer only has 2 ports.

bash-3.2# ./radeon_bios_decode < M76.rom
ATOM BIOS Rom:
SubsystemVendorID: 0x1734 SubsystemID: 0x1107
IOBaseAddress: 0x0000
Filename: 26832C.bin  
BIOS Bootup Message:
ECS_P75IM0_M76XT M76 GDDR3_16Mx32 128bit 256MB 300e/700m					

Connector at index 0
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x14, OSX senseid: 0x5
Connector at index 1
Type: 9 pin DIN (9)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2
Connector at index 2
Type: HDMI-A (11)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: VGA (1)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1

Read your radeon_decode again. I think your LVDS i2cid is 14 and senseid 05. Thats likely your problem

 

Post your patch and dmesg if you need more help

Link to comment
Share on other sites

TMDSA is an artifact of Chameleon. You can change the label if you want but its cosmetic

 

Chameleon injects 2 ports only -- 1st 2 you specify in your modified FB. Kizwan says others may work, but my computer only has 2 ports.

bash-3.2# ./radeon_bios_decode < M76.rom
ATOM BIOS Rom:
SubsystemVendorID: 0x1734 SubsystemID: 0x1107
IOBaseAddress: 0x0000
Filename: 26832C.bin  
BIOS Bootup Message:
ECS_P75IM0_M76XT M76 GDDR3_16Mx32 128bit 256MB 300e/700m					

Connector at index 0
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x14, OSX senseid: 0x5
Connector at index 1
Type: 9 pin DIN (9)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2
Connector at index 2
Type: HDMI-A (11)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: VGA (1)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1

Read your radeon_decode again. I think your LVDS i2cid is 14 and senseid 05. Thats likely your problem

 

Post your patch and dmesg if you need more help

 

 

I know I actually used 14 but then I discovered the following:

 

LVTMA combines LVDS + DVIA (TMDS1/HDMI) it is also link A + B

 

LVTM1 0x05 + TMDS1 0x02 = 0x07 Which is the only SenseID that was able to read the LVDS EDID

 

So I tried:

 

82 00 00 00 ; 42 00 00 00 ; 0D 00 ; 00 00 ; 20 ; 22 ; 02 ; 07

 

80 + 02 ; 02 + 40 ; 04 + 09 ; Unsed bits maybe now required ; LVTMA (To guess) ; 13 + 14 ; 2 + 0 ; 2 + 5

 

And it recognices the LVDS EDID and shutsdown the backlight at boot (backlight control that did not occur with 01 as feature bits)

Link to comment
Share on other sites

I know I actually used 14 but then I discovered the following:

 

LVTMA combines LVDS + DVIA (TMDS1/HDMI) it is also link A + B

 

LVTM1 0x05 + TMDS1 0x02 = 0x07 Which is the only SenseID that was able to read the LVDS EDID

 

So I tried:

 

82 00 00 00 ; 42 00 00 00 ; 0D 00 ; 00 00 ; 20 ; 22 ; 02 ; 07

 

80 + 02 ; 02 + 40 ; 04 + 09 ; Unsed bits maybe now required ; LVTMA (To guess) ; 13 + 14 ; 2 + 0 ; 2 + 5

 

And it recognices the LVDS EDID and shutsdown the backlight at boot (backlight control that did not occur with 01 as feature bits)

Combining would not have occured to me but mucha says it causes no problem

http://www.insanelymac.com/forum/index.php...p;#entry1662438

Link to comment
Share on other sites

Chameleon injects 2 ports only -- 1st 2 you specify in your modified FB. Kizwan says others may work, but my computer only has 2 ports.

bash-3.2# ./radeon_bios_decode < M76.rom
ATOM BIOS Rom:
SubsystemVendorID: 0x1734 SubsystemID: 0x1107
IOBaseAddress: 0x0000
Filename: 26832C.bin  
BIOS Bootup Message:
ECS_P75IM0_M76XT M76 GDDR3_16Mx32 128bit 256MB 300e/700m					

Connector at index 0
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x14, OSX senseid: 0x5
Connector at index 1
Type: 9 pin DIN (9)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2
Connector at index 2
Type: HDMI-A (11)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: VGA (1)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1

I see there's still a confusion here. First of the fact is the Chameleon from trunk does injects 2 ports but it doesn't mean it map only to 1st 2 connections in the framebufer's connection table. It's only means, at the same time only two ports can be use (up to 2 monitor). For mobility card or notebook, the first port always reserved to LVDS. I did tried putting LVDS connection at the 3rd row in the framebuffer's connection table but it still connected to first port (to be precise at port @0). I think the arrangement has to do with HotplugID (I hasn't experiment with it though but based on mucha's guide the HotplugID did responsible in the arrangement). The 2nd port (port @1) will be shared, e.g. in my case 2nd port will be shared by VGA & HDMI. So the monitor configurations on mine are LVDS+VGA & LVDS+HDMI. I don't have another external monitor to test whether my notebook can support 3 displays configuration (at the same time) or not. Kabyl's boot file is the best choice if anyone want to setup more than 2 displays.

 

I found (someone else already found about it, I just tested it to proved it does happen) when LVDS connection is at the last row in the framebuffer's connection table (after VGA or HDMI), both VGA & HDMI will unable to detect monitor plugged in to either ports (not detected in IORegistry).

Link to comment
Share on other sites

mac:~ hjs$ /Users/hjs/Downloads/radeon_bios_decode < /Volumes/Chameleon\ SD/Extra/1002_9553.rom 
ATOM BIOS Rom: 
SubsystemVendorID: 0x1025 SubsystemID: 0x0205
IOBaseAddress: 0x2000
Filename: BR33359D.bin
BIOS Bootup Message: 
Acer_JV50_MV_M92M2_XT_DDR3 M92 DDR3 64bit 680e/800m                         

Connector at index 0
[b]	Type: LVDS (7)[/b]
Encoder: id: [b][color="#FF0000"]21[/color][/b] name:[b][color="#00FF00"] INTERNAL_UNIPHY2[/color][/b]
i2cid: 0x96, [color="#0000FF"][b]OSX senseid: 0x7[/b][/color]
Connector at index 1
[b]	Type: VGA (1)[/b]
Encoder: id: [color="#FF0000"][b]15[/b][/color] name:[b][color="#00FF00"] INTERNAL_KLDSCP_DAC1[/color][/b]
i2cid: 0x90,[b][color="#0000FF"] OSX senseid: 0x1[/color][/b]
Connector at index 2
[b]	Type: HDMI-A (11)[/b]
Encoder: id: [b][color="#FF0000"]1e[/color][/b] name: [color="#00FF00"][b]INTERNAL_UNIPHY[/b][/color]
i2cid: 0x91, [color="#0000FF"][b]OSX senseid: 0x2[/b][/color]

 

The red and green values are the same? If are the same, What is the number of the byte for this value? Is the number 13th or 14th?

 

I've this doubt because mucha call to the 13th byte Transmitter and to the 14th byte Encoder. And seems that bcc9 is calling Encoder to the 13th byte.

 

One more question. Anyone knows what means the name before the type? For example, LVDS (7)

 

So, with the new information my personality should be like this, no?

 

02 00 00 00 40 00 00 00 09 01 00 00 21 xx 00 07

10 00 00 00 10 00 00 00 00 01 00 00 15 xx 01 01

00 08 00 00 00 02 00 00 00 01 00 00 1E xx 02 02

Link to comment
Share on other sites

mac:~ hjs$ /Users/hjs/Downloads/radeon_bios_decode < /Volumes/Chameleon\ SD/Extra/1002_9553.rom 
ATOM BIOS Rom: 
SubsystemVendorID: 0x1025 SubsystemID: 0x0205
IOBaseAddress: 0x2000
Filename: BR33359D.bin
BIOS Bootup Message: 
Acer_JV50_MV_M92M2_XT_DDR3 M92 DDR3 64bit 680e/800m                         

Connector at index 0
[b]	Type: LVDS (7)[/b]
Encoder: id: [b][color="#FF0000"]21[/color][/b] name:[b][color="#00FF00"] INTERNAL_UNIPHY2[/color][/b]
i2cid: 0x96, [color="#0000FF"][b]OSX senseid: 0x7[/b][/color]
Connector at index 1
[b]	Type: VGA (1)[/b]
Encoder: id: [color="#FF0000"][b]15[/b][/color] name:[b][color="#00FF00"] INTERNAL_KLDSCP_DAC1[/color][/b]
i2cid: 0x90,[b][color="#0000FF"] OSX senseid: 0x1[/color][/b]
Connector at index 2
[b]	Type: HDMI-A (11)[/b]
Encoder: id: [b][color="#FF0000"]1e[/color][/b] name: [color="#00FF00"][b]INTERNAL_UNIPHY[/b][/color]
i2cid: 0x91, [color="#0000FF"][b]OSX senseid: 0x2[/b][/color]

 

The red and green values are the same? If are the same, What is the number of the byte for this value? Is the number 13th or 14th?

 

I've this doubt because mucha call to the 13th byte Transmitter and to the 14th byte Encoder. And seems that bcc9 is calling Encoder to the 13th byte.

 

One more question. Anyone knows what means the name before the type? For example, LVDS (7)

 

So, with the new information my personality should be like this, no?

 

02 00 00 00 40 00 00 00 09 01 00 00 21 xx 00 07

10 00 00 00 10 00 00 00 00 01 00 00 15 xx 01 01

00 08 00 00 00 02 00 00 00 01 00 00 1E xx 02 02

 

No definitely not. i'm not sure how those encoders turn into MacOSX values. 21,15,30 are out of range numbers and cannot be used with the editing of personalities.

 

VGA should be 00,10 or 00,00. try them.

Link to comment
Share on other sites

After getting the i2C values for the iMac 8,1 Mobility Radeon HD 2600 XT and comparing with mine:

 

iMac 8,1 Mobility Radeon HD 2600 XT

 

ATOM BIOS Rom: 
SubsystemVendorID: 0x106b SubsystemID: 0x0083
IOBaseAddress: 0x0000
Filename: 13B22504.101
BIOS Bootup Message: 
M76XT B22504 MXM GDDR3 256M 680e/750m									   

Connector at index 0
Type: DVI-I (2)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1
Connector at index 1
Type: DVI-I (2)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x90, OSX senseid: 0x1
Connector at index 2
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: DVI-I (2)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2

 

02 00 00 00 40 00 00 00 09 00 00 00 00 01 01 12
00 10 00 00 16 00 00 00 C4 00 00 00 10 00 02 11

 

AMILO XI 2528 Mobility Radeon HD 2600 XT

 

ATOM BIOS Rom: 
SubsystemVendorID: 0x1734 SubsystemID: 0x1107
IOBaseAddress: 0x0000
Filename: 26832C.bin  
BIOS Bootup Message: 
ECS_P75IM0_M76XT M76 GDDR3_16Mx32 128bit 256MB 300e/700m					

Connector at index 0
Type: LVDS (7)
Encoder: id: f name: INTERNAL_LVTM1
i2cid: 0x14, OSX senseid: 0x5
Connector at index 1
Type: 9 pin DIN (9)
Encoder: id: 16 name: INTERNAL_KLDSCP_DAC2
Connector at index 2
Type: HDMI-A (11)
Encoder: id: 13 name: INTERNAL_KLDSCP_TMDS1
i2cid: 0x91, OSX senseid: 0x2
Connector at index 3
Type: VGA (1)
Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1
i2cid: 0x90, OSX senseid: 0x1

 

Considering:

 

LVTM1 = LVTMA

TMDS1 = TMDSA

DAC1 = DACA

 

Connector i2CID 0x91 | Personality 1

 

iMac 8,1 => INTERNAL_LVTM1 (LVDS)

AMILO XI 2528 => INTERNAL_KLDSCP_TMDS1 (HDMI-A)*

 

*Should be associated with LVTMA (LVDS + HDMI-A), standalone TMDSA won’t work.

 

Connector i2CID 0x90 | Personality 2

 

iMac 8,1 => INTERNAL_KLDSCP_DAC1 (DVI-A) & INTERNAL_KLDSCP_TMDS1 (DVI-A)

AMILO XI 2528 => INTERNAL_KLDSCP_DAC1 (VGA)*

 

*Should also be associated with TMDSA (HDMI-A).

 

Conclusion:

 

- LVTM1 I2CID 0x14 => Out of range for personality association

 

I2CID’s should be renamed in VBIOS according to the following:

 

- LVTM1 I2CID should be 0x91 (currently 0x14)

- TMDS1 I2CID should be 0x90 (currently 0x91)

- DAC1 I2CID is 0x90 and requires no changes

 

Personalities won't require to be edited after such changes.

 

This explains why VGA works and HDMI is associated with the first personality where 0x05 as a SenseID doesn't work.

Now I need to guess how to hexedit the VBIOS to rename such i2CID's

Link to comment
Share on other sites

I'm off to get Lion 10.7 DP2 11A419 to have a looksy and also see what the newer ATI kexts can do for me :D

Any progress on the LVDS? Is it still working on mirror mode with external monitor? What happen to LVDS when external monitor is not connected? ^_^

Link to comment
Share on other sites

 Share

×
×
  • Create New...