Jump to content

0xdeadbeef

0xdeadbeef

Member Since 25 May 2007
Offline Last Active Dec 20 2012 03:42 AM
-----

Topics I've Started

Editing personalities in older ATI Framebuffers (Iago & friends)

19 April 2011 - 01:17 PM

Thanks to great work by bcc9, mucha, dong and everyone else, things are moving with regard to the newer ati framebuffers. I was wondering if there is anyone out there with older cards like me (HD Mobility 2400) that might be interested in trying to get the older framebuffers working with this new information.

The newer cards have the transmitter and encoder as separate units, but in the older cards these are one unit.

here is the personality table from Iago:

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

This corresponds with the dumps from an iMac 2400XT vbios:

dump from bcc9's tool:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x106b SubsystemID: 0x0084
	IOBaseAddress: 0x0000
	Filename: 13B22505.011
	BIOS Bootup Message: 

113-B22505-011 M74 GDDR3_16Mx32 64bit 128MB 650e/800m					   


PCI ID: 1002:94c8
Connector at index 0
	Type [@offset 44716]: DVI-I (2)
	Encoder [@offset 44720]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44782]: 0x90, OSX senseid: 0x1
Connector at index 1
	Type [@offset 44726]: DVI-I (2)
	Encoder [@offset 44730]: INTERNAL_KLDSCP_TMDS1 (0x13)
	i2cid [@offset 44782]: 0x90, OSX senseid: 0x1
Connector at index 2
	Type [@offset 44736]: LVDS (7)
	Encoder [@offset 44740]: INTERNAL_LVTM1 (0xf)
	i2cid [@offset 44825]: 0x91, OSX senseid: 0x2
Connector at index 3
	Type [@offset 44746]: DVI-I (2)
	Encoder [@offset 44750]: INTERNAL_KLDSCP_DAC2 (0x16)

and from redsock_bios_decoder:


13B22505.011:


113-B22505-011 M74 GDDR3_16Mx32 64bit 128MB 650e/800m					   


Subsystem Vendor ID: 106b
	   Subsystem ID: 84
Object Header Structure Size: 208
Connector Object Table Offset: 3c
Router Object Table Offset: 0
Encoder Object Table Offset: 94
Display Path Table Offset: 10
Connector Object Id [1] which is [DVI_I]
	encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
Connector Object Id [1] which is [DVI_I]
	encoder obj id [0x13] which is [INTERNAL_KLDSCP_TMDS1] linkb: false
Connector Object Id [14] which is [LVDS]
	encoder obj id [0xf] which is [INTERNAL_LVTM1] linkb: false
Connector Object Id [1] which is [DVI_I]
	encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false


And here are the dumps from my 2400 mobility

bcc9:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x1179 SubsystemID: 0xff00
	IOBaseAddress: 0x0000
	Filename: BR26685.BIN 
	BIOS Bootup Message: 

Minnesota M72M GDDR2 128/256M 400m/450e									 


PCI ID: 1002:94c9
Connector at index 0
	Type [@offset 44480]: VGA (1)
	Encoder [@offset 44484]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44560]: 0x90, OSX senseid: 0x1
Connector at index 1
	Type [@offset 44490]: HDMI-A (11)
	Encoder [@offset 44494]: INTERNAL_KLDSCP_TMDS1 (0x13)
	i2cid [@offset 44583]: 0x91, OSX senseid: 0x2
Connector at index 2
	Type [@offset 44500]: 9 pin DIN (9)
	Encoder [@offset 44504]: INTERNAL_KLDSCP_DAC2 (0x16)
Connector at index 3
	Type [@offset 44510]: LVDS (7)
	Encoder [@offset 44514]: INTERNAL_LVTM1 (0xf)
	i2cid [@offset 44637]: 0x14, OSX senseid: 0x5


and radeon_bios_dump:


BR26685.BIN :


Minnesota M72M GDDR2 128/256M 400m/450e									 


Subsystem Vendor ID: 1179
	   Subsystem ID: ff00
Object Header Structure Size: 256
Connector Object Table Offset: 3c
Router Object Table Offset: 0
Encoder Object Table Offset: c4
Display Path Table Offset: 10
Connector Object Id [5] which is [VGA]
	encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
	encoder obj id [0x13] which is [INTERNAL_KLDSCP_TMDS1] linkb: false
Connector Object Id [15] which is [DIN]
	encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [14] which is [LVDS]
	encoder obj id [0xf] which is [INTERNAL_LVTM1] linkb: false


And RadeonDump output for my card (internal only connected):

[RadeonHD]: rhdAtomConnectorInfo
[RadeonHD]: rhdAtomConnectorInfoFromObjectHeader
[RadeonHD]: ObjectTable - size: 252, BIOS - size: 65536 TableOffset: 60 object_header_end: 312
[RadeonHD]: Object: ID: 3105 name: VGA type: 3 id: 5
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 2115 name: INTERNAL_KLDSCP_DAC1 enum: 1
[RadeonHD]:  - Record Type: 1
[RadeonHD]:	rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[0] EngineID: 1 I2CAddr: 0
[RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 0
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 1
[RadeonHD]:	Devices: CRT1
[RadeonHD]: Object: ID: 310c name: HDMI_TYPE_A type: 3 id: c
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 2113 name: INTERNAL_KLDSCP_TMDS1 enum: 1
[RadeonHD]:  - Record Type: 1
[RadeonHD]:	rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0
[RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 1
[RadeonHD]:  - Record Type: 2
[RadeonHD]:	rhdAtomHPDFromRecord:  HPD Record: GPIO ID: 6 Plugged_PinState: 0
[RadeonHD]: rhdAtomParseGPIOLutForHPD
[RadeonHD]:	rhdAtomParseGPIOLutForHPD: GPIO PinID: 6 Index: 1fa5 Shift: 0
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 1
[RadeonHD]:	Devices: DFP1
[RadeonHD]: Object: ID: 310f name: 7PIN_DIN type: 3 id: f
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 2116 name: INTERNAL_KLDSCP_DAC2 enum: 1
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 2
[RadeonHD]:	Devices: TV1 CV
[RadeonHD]: Object: ID: 310e name: LVDS type: 3 id: e
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 210f name: INTERNAL_LVTM1 enum: 1
[RadeonHD]:  - Record Type: 1
[RadeonHD]:	rhdAtomDDCFromI2CRecord:  I2C Record: GPIO_ID[4] EngineID: 1 I2CAddr: 0
[RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 4
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 1
[RadeonHD]:	Devices: LCD1
[RadeonHD]: Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[1] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_1, RHD_HPD_0, { RHD_OUTPUT_TMDSA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[2] {RHD_CONNECTOR_TV, "7PIN_DIN TV1 CV", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACB, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[3] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_4, RHD_HPD_NONE, { RHD_OUTPUT_LVTMA, RHD_OUTPUT_NONE } }
[RadeonHD]: Call to AtomBIOS Get Connectors succeeded
[RadeonHD]: RHDHPDSave
[RadeonHD]: RHDHPDSet
[RadeonHD]: RHDConnectorsInit: 0 (VGA CRT1) type 1, ddc 0, hpd 0
[RadeonHD]: RHDI2CFunc
[RadeonHD]: RHDDACAInit
[RadeonHD]: RHDOutputAdd
[RadeonHD]: Attaching Output DAC A to Connector VGA 1
[RadeonHD]: RHDConnectorsInit: 1 (HDMI_TYPE_A DFP1) type 3, ddc 1, hpd 1
[RadeonHD]: RHDI2CFunc
[RadeonHD]: RHDTMDSAInit
[RadeonHD]: RHDHdmiInit
[RadeonHD]: RHDOutputAdd
[RadeonHD]: Attaching Output TMDS A to Connector DVI-D 1
[RadeonHD]: RHDConnectorsInit: 2 (7PIN_DIN TV1 CV) type 5, ddc 255, hpd 0
[RadeonHD]: RHDDACBInit
[RadeonHD]: RHDOutputAdd
[RadeonHD]: Attaching Output DAC B to Connector TV 7PIN_DIN
[RadeonHD]: RHDConnectorsInit: 3 (LVDS LCD1) type 4, ddc 4, hpd 0
[RadeonHD]: RHDI2CFunc
[RadeonHD]: RHDLVTMAInit
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
.....

 Listing modesetting layout:
[RadeonHD]: CRTC 1: tied to PLL 1 and LUT A:
[RadeonHD]: 	Outputs: LVDS (PANEL)[RadeonHD]: 
[RadeonHD]: CRTC 2: unused
[RadeonHD]: 	Unused Outputs: DAC A[RadeonHD]: , TMDS A[RadeonHD]: , DAC B[RadeonHD]: 
[RadeonHD]: RHDModesPoolCreate
[RadeonHD]: rhdCreateModesListAndValidate
[RadeonHD]: Validating Modes from Monitor "LVDS Panel" on "PANEL"



I have tried many different combinations of sense_id and encoder id without success, but the i2cid and sense from my own vbios appears to be weird with regard to the iMac one, as if it is obtained by a different method.
If anyone else is prepared to help investigate this further, I'd like to hear your results, if any.

One more thing: I'm not sure if having a dual-link 1440x900 lvds panel has some bearing on this: any thoughts?
© 2013 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy