Jump to content

ATI Framebuffer development


  • Please log in to reply
465 replies to this topic

#141
dong

dong

    InsanelyMac Sage

  • Retired Developers
  • 366 posts
  • Gender:Male

My BIOS here

00000300: FF FF FF 73 00 00 00 84 34 60 FF FF FF FF 00 00 	...s....4`......00000310: 00 00 8C 48 00 F0 00 FF 03 02 29 00 00 00 00 00 	...H......).....00000320: 00 00 01 08 C0 00 00 00 2D 00 00 00 00 82 03 06 	........-.......00000330: 00 00 00 0A 02 00 2A 00 24 02 00 00 00 0C 00 BC 	......*.$.......00000340: 00 04 02 03 A4 00 00 82 4C 00 FE 00 81 82 4C 00 	........L.....L.00000350: FD 00 82 15 06 00 10 00 0D 02 00 01 00 82 48 00 	..............H.00000360: 3C 00 42 00 FF 03 04 54 00 03 00 05 5F 00 03 00 	<.B....T...._...00000370: 06 54 00 03 00 07 5F 00 03 00 42 00 FD 00 81 82 	.T...._...B.....00000380: 42 00 FE 00 82 48 00 3C 03 82 41 00 CF 10 00 14 	B....H.<..A.....00000390: 00 14 00 00 41 01 FF 80 75 01 F8 00 75 00 F8 00 	....A...u...u...000003A0: 75 00 CF 00 75 00 FF 18 75 02 FF 01 74 03 FF 08 	u...u...u...t...000003B0: 82 75 00 FF 09 2D C0 FC 1A 00 08 C3 00 00 00 82 	.u...-..........000003C0: 00 24 41 54 49 02 0A 0F 33 00 00 11 11 00 23 00 	.$ATI...3.....#.000003D0: 00 06 19 00 00 00 00 00 00 02 00 00 00 00 00 00 	................000003E0: 00 00 00 00 F5 03 EA 03 00 00 01 0B 00 00 00 00 	................000003F0: 00 00 00 00 00 01 67 0A 60 00 00 00 00 00 00 00 	......g.`.......

It's not complete. Can you provide it as a file?

#142
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,848 posts
  • Gender:Male
  • Location:Moscow

It's not complete. Can you provide it as a file?

If you want.

Also you can get a BIOS collection
Other useful sources to work with Radeon BIOS - radedit
http://sourceforge.n...?group_id=72921

#143
llauqsd

llauqsd

    InsanelyMac Geek

  • Donators
  • 136 posts
  • Gender:Male
  • Location:Canada
I have a radeon mobility x1600 and seem to get similar (though not identical) results to asstastic.

With an external monitor connected through vga
bash-3.2# ./radeondump -i
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
it matched on name "ATY,WormyParent"
Detected ATI Mobility Radeon X1600 (device id: 0x71c5)
Start I2C dump
ATOM BIOS detected
EDID for connector 0:
Read data failed
EDID for connector 1:
0x0000: 00FFFFFFFFFFFF0010AC29A053594331
0x0010: 171201030E342078EAB325AC5130B426
0x0020: 105054A54B008180A940714F01010101
0x0030: 010101010101283C80A070B023403020
0x0040: 360007442100001A000000FF004A5534
0x0050: 3336383634314359530A000000FC0044
0x0060: 454C4C20323430385746500A000000FD
0x0070: 00384C1E5311000A2020202020200050


Thank you for all your hard work!!

#144
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,848 posts
  • Gender:Male
  • Location:Moscow
Native Mac EDID collection.
[codebox]MacMini
| | | "IOAGPFlags" = 0x1
| | | "CRT2,EDID" = <00ffffffffffff004dd9005c01010101280f0103080000780ad9ada35546982410474a2dc8006
4f010101010101010101010101010164190040410026301d8836000000000000180e1f008051001e
04080370000000000001c000000fd003a3e1e3208000a202020202020000000fc004b444c2d53333
413132550a2000cb>

iMac 20
| | | | "LVDS,EDID" = <00ffffffffffff0006106a9c0101010100100103802b1b780acf74a2574a9c251150540000100
0101010101010101010101010101017c2e90a0601a1e4030203600b10e1100001c00000001000610
011080000000000000a20000000fe004c4d3230315745332d544c4631000000fc00436f6c6f72204
43440a202020002b>

MacPro nVidia + LCD
| | | | | "EDID" = <00ffffffffffff004c2d1c02303241481110010380291e782aee95a3544c99260f5054bfef809
408140714f818001010101010101018f2f78d0511a274058903400982c1100001d000000fd00384b
e5110000a202020202020000000fc0053796e634d61737465720a2020000000ff004853484c34303
3733360a2020008b>

MacBookPro
| | | | "LVDS,EDID" = <00ffffffffffff000610609c0000000004100103802216780a1cf59758508e272750540000000
0101010101010101010101010101019f25a04051840c30402033004bcf1000001900000001000610
000000000000000000a20000000fe0042313534505730312056300a20000000fc00436f6c6f72204
43440a20202000bc>
[/codebox]
How to choose best for me? ;)

#145
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,848 posts
  • Gender:Male
  • Location:Moscow
I found some contradiction in registers descriptions
#define RADEON_MDGPIO_A_REG				 0x01ac
#define RADEON_MDGPIO_EN_REG				0x01b0
#define RADEON_MDGPIO_MASK				  0x0198
#define RADEON_MDGPIO_Y_REG				 0x01b4
#define R128_AMCGPIO_A_REG				0x01a0
#define R128_AMCGPIO_EN_REG			   0x01a8
#define R128_AMCGPIO_MASK				 0x0194
#define R128_AMCGPIO_Y_REG				0x01a4
but you suppose
#define RADEON_LCD_GPIO_MASK				0x01a0
#define RADEON_GPIOPAD_EN				   0x01a0
#define RADEON_LCD_GPIO_Y_REG			   0x01a4
#define RADEON_MDGPIO_A_REG				 0x01ac
#define RADEON_MDGPIO_EN_REG				0x01b0
#define RADEON_MDGPIO_MASK				  0x0198
#define RADEON_GPIOPAD_MASK				 0x0198
#define RADEON_GPIOPAD_A					0x019c
#define RADEON_MDGPIO_Y_REG				 0x01b4
My initial values
0x0180:  00000000 00400000 00000000 00000000 00050000 00002202 00000000 00000000
0x01A0:  00000000 000007DB 00000000 00000000 00000000 0B00FFFF 00000000 00000002
0x01C0:  00FF0000 00000105 00000000 00000000 00000001 00000004 09E0A000 00300000
so (194)=2202 really looks like mask!
(1A4)=7DB looks like input register

#146
dong

dong

    InsanelyMac Sage

  • Retired Developers
  • 366 posts
  • Gender:Male

I found some contradiction in registers descriptions

#define RADEON_MDGPIO_A_REG				 0x01ac
#define RADEON_MDGPIO_EN_REG				0x01b0
#define RADEON_MDGPIO_MASK				  0x0198
#define RADEON_MDGPIO_Y_REG				 0x01b4
#define R128_AMCGPIO_A_REG				0x01a0
#define R128_AMCGPIO_EN_REG			   0x01a8
#define R128_AMCGPIO_MASK				 0x0194
#define R128_AMCGPIO_Y_REG				0x01a4
so (194)=2202 really looks like mask!
(1A4)=7DB looks like input register

Still not work with your registers?
I have checked your BIOS rom, the corresponding entry for LVDS connector (port 4) only contains value of 0, that makes it not possible to initialize the i2c structure.
I've test the legacy bios code on my Dell, it works. I wonder what kind of card you have, is it a multimedia card?

#147
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,848 posts
  • Gender:Male
  • Location:Moscow

Still not work with your registers?
I have checked your BIOS rom, the corresponding entry for LVDS connector (4) only contains value of 0, that makes it not possible to initialize i2c structure.
I've test the legace bios code on my Dell, it works. I wonder what kind of card you have, is it a multimedia card?

Not work. But I don't change mask yet.
You want to say that LCD laptop screen has no DDC?
My card is a part of chipset. But in Linux codes there are checks for IGP and for mobility. But several mistakes as in getConnectorsFromBIOS so in I2C for my card.

#148
dong

dong

    InsanelyMac Sage

  • Retired Developers
  • 366 posts
  • Gender:Male

You want to say that LCD laptop screen has no DDC?

From your BIOS, it looks like so. Only the CRT connector (port 0) has DDC initialized. You can even test the code by connecting to an external monitor.
If your card is a multimedia card, you may test this code:Attached File  RadeonDump.c.zip   8.29KB   11 downloads

To asstastic and llauqsd, please test this Attached File  RadeonDump.zip   124.48KB   24 downloadsIf it's not working, please use "RadeonDump -d" to dump a BIOS rom and upload it here.

#149
llauqsd

llauqsd

    InsanelyMac Geek

  • Donators
  • 136 posts
  • Gender:Male
  • Location:Canada
I may be making an obvious mistake, but I am unable to compile the above file.

I get:
i686-apple-darwin9-gcc-4.0.1: ./RadeonDump: No such file or directory

and if I put an old radeondump into the directory i get:

ld: warning in ./RadeonDump, file is not of required architecture
Undefined symbols:
  "_RADEONGetATOMConnectorInfoFromBIOSObject", referenced from:
	  _RADEONGetATOMConnectorInfoFromBIOS in ccdEiofu.o
  "_rhdAtomInit", referenced from:
	  _RADEONGetBIOSInfo in ccdEiofu.o
  "_RADEONGetATOMConnectorInfoFromBIOSConnectorTable", referenced from:
	  _RADEONGetATOMConnectorInfoFromBIOS in ccdEiofu.o
ld: symbol(s) not found
collect2: ld returned 1 exit status


#150
dong

dong

    InsanelyMac Sage

  • Retired Developers
  • 366 posts
  • Gender:Male

I get:

i686-apple-darwin9-gcc-4.0.1: ./RadeonDump: No such file or directory

Sorry that I made a mistake in typing. The compiling instruction should be:
cc ./RadeonDump.c ./xf86i2c.c ./radeon_atombios.c -o ./RadeonDump -framework IOKit -framework CoreFoundation -Wno-four-char-constants -Wall -g -arch i386

#151
llauqsd

llauqsd

    InsanelyMac Geek

  • Donators
  • 136 posts
  • Gender:Male
  • Location:Canada
bash-3.2# ./radeondump -i
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
it matched on name "display"
Detected ATI Mobility Radeon X1600 (device id: 0x71c5)
Start I2C dump
ATOM BIOS detected
ATOM BIOS Rom: 
	SubsystemVendorID: 0x1043 SubsystemID: 0x10b2
	IOBaseAddress: 0xb000
	Filename: w3j0905.bin 
	BIOS Bootup Message: 
ASUS-W3J-M56P 256M ATOMBIOS 450m/450e ASID: A05804.005$					 

Skipping TV-Out
Bios Connector table: 
Port0: DDCType-0x7e40, DACType-1, TMDSType-0, ConnectorType-1, hpd_mask-0x0
Port1: DDCType-0x7e50, DACType-7, TMDSType-0, ConnectorType-0, hpd_mask-0x0
EDID for connector 0:
0x0000: 00FFFFFFFFFFFF0010AC29A053594331
0x0010: 171201030E342078EAB325AC5130B426
0x0020: 105054A54B008180A940714F01010101
0x0030: 010101010101283C80A070B023403020
0x0040: 360007442100001A000000FF004A5534
0x0050: 3336383634314359530A000000FC0044
0x0060: 454C4C20323430385746500A000000FD
0x0070: 00384C1E5311000A2020202020200050
EDID for connector 1:
Read data failed


here's the bios rom in case you need it:
Attached File  71C5.1043.10B2.vga.rom.zip   38.91KB   24 downloads

#152
dong

dong

    InsanelyMac Sage

  • Retired Developers
  • 366 posts
  • Gender:Male

EDID for connector 0:
 0x0000: 00FFFFFFFFFFFF0010AC29A053594331
 0x0010: 171201030E342078EAB325AC5130B426
 0x0020: 105054A54B008180A940714F01010101
 0x0030: 010101010101283C80A070B023403020
 0x0040: 360007442100001A000000FF004A5534
 0x0050: 3336383634314359530A000000FC0044
 0x0060: 454C4C20323430385746500A000000FD
 0x0070: 00384C1E5311000A2020202020200050
 EDID for connector 1:
 Read data failed

Still not working for your panel LCD, :). I will check your BIOS rom. Thanks for testing and uploading.

Edited:
The ATOMBIOS rom contains the same register values compared to the manually used ones for I2C. That explains the same results observed. At this point, I can only say x1600 mobility and Slice's 9100 mobility are special cards need more information to figure out the I2C mechanism behind them.

By the way, have llauqsd and asstastic tried the code in post#114? That code is using hardware I2C, don't know if it will make any difference. Before compiling it, you need put a RadeonPCIShared.h in its place.

#153
asstastic

asstastic

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
  • Gender:Male
  • Location:Austin, TX

By the way, have llauqsd and asstastic tried the code in post#114? That code is using hardware I2C, don't know if it will make any difference. Before compiling it, you need put a RadeonPCIShared.h in its place.


sh-3.2# ./RadeonDump -i
  Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
  it matched on name "ATY,WormyParent"
  Detected ATI Mobility Radeon X1600 (device id: 0x71c5)
  Start I2C dump
  ATOM BIOS detected
  ATOM BIOS Rom: 
	  SubsystemVendorID: 0x1025 SubsystemID: 0x0094
	  IOBaseAddress: 0x2000
	  Filename: BR20829.BIN 
	  BIOS Bootup Message: 
  Quanta/Acer ZB1-M56-P 128M Channel A 440e/375m							  
  
  Skipping TV-Out
  Bios Connector table: 
  Port1: DDCType-0x7e50, DACType-7, TMDSType-0, ConnectorType-0, hpd_mask-0x0
  Port3: DDCType-0x7e60, DACType-2, TMDSType-1, ConnectorType-0, hpd_mask-0x1
  EDID for connector 0:
  Read data failed
  EDID for connector 1:
  Read data failed
  EDID for connector 3:
  Read data failed
  sh-3.2#
This code gives a lot more output info than the last one but still no LVDS :) . I thought about hacking the card bios to enable I2C for all the outputs but I think we should find a solution that will work for everyone. I wonder how the radeon drivers in Windows manage to coax the EDID out of these cards.

Here's the card BIOS:Attached File  71C5.1025.0094.vga.rom.zip   39.06KB   13 downloads
Edit: Messed up attachment. fixed now

#154
llauqsd

llauqsd

    InsanelyMac Geek

  • Donators
  • 136 posts
  • Gender:Male
  • Location:Canada
Using the code from post 114:

bash-3.2# ./radeondump -i
 Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
 it matched on name "display"
 Start I2C dump
 EDID at bus 0:
 0x0000: 00FFFFFFFFFFFF0010AC29A053594331
 0x0010: 171201030E342078EAB325AC5130B426
 0x0020: 105054A54B008180A940714F01010101
 0x0030: 010101010101283C80A070B023403020
 0x0040: 360007442100001A000000FF004A5534
 0x0050: 3336383634314359530A000000FC0044
 0x0060: 454C4C20323430385746500A000000FD
 0x0070: 00384C1E5311000A2020202020200050
 Read EDID at bus 1 failed
 Read EDID at bus 2 failed


#155
drumthrasher109

drumthrasher109

    InsanelyMac Legend

  • Guests
  • PipPipPipPipPipPipPip
  • 528 posts
Hey guys. I found a kext file on post 46 page 4, used kext helper to install it, and restarted. I get a black screen (with the regular b/w text when booting with -v, I haven't tried booting normally). It just sits there. Now I can type stuff on the keyboard and here the proper sounds through my speakers but nothing is on my screen, except the text.

Now the weird things is that a little while after its at the text, my resolution on my monitor changes to where nothing will show up, 'frequency out of range'. I usually have my TV connected via an s-video cable. I turned it on and noticed it was still sitting at the text.

Here is an image of what it shows: http://img248.imagev...8_122_515lo.JPG

Now I have no idea what you guys are doing in the previous post, all I know is that I saw a kext file and I installed it. This could be my only hope on getting QE/CI working on my card, as EFI strings and lastexile's installers won't work. Hopefully something will work really soon!

#156
gstone

gstone

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts
Hi developers,

I'm also very interested in this project, I'm very annoyed by the Xpress 200M Chipset and the QE/CI problem.

I'm using Leopard 10.5.4 (Zephy using ASU) with a ATI Radeon Xpress 1100, and Callisto 003 has given me resolution and refresh rate changes.

I'm not a developer but let me know if you need me to test anything relating to the above card.

I cannot get RadeonDump to work. I have tried different versions and also tried compiling from source.

Heres some info on my setup:

system:

[codebox]
Hardware Overview:

Model Name: Mac
Model Identifier: Ferrrari 1000
Processor Name: AMD Turion™ 64 X2 Mobile Technology TL-6
Processor Speed: 2 GHz
Total Number Of Cores: 2
L2 Cache (per processor): 512 KB
CPU Features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH MMX FXSR SSE SSE2 HTT SSE3 CX16
Memory: 2 GB
Bus Speed: 533 MHz
Boot ROM Version: Hack.88Z.int.0sh.061193037 (Acer)
[/codebox]

graphics:
[codebox]
Radeon XPRESS 200M (PCIE):

Chipset Model: Radeon XPRESS 200M (PCIE)
Type: Display
Bus: PCI
VRAM (Total): 48 MB
Vendor: ATI (0x1002)
Device ID: 0x5975
Revision ID: 0x0000
Displays:
Color LCD:
Resolution: 1280 x 800 @ 60 Hz
Depth: 32-bit Color
Core Image: Software
Main Display: Yes
Mirror: Off
Online: Yes
Quartz Extreme: Not Supported
[/codebox]

dmesg:
[codebox]
CallistoHAL Initialized!
Callisto: omni's ATI Driver&FrameBuffer, build 003 (fixed), 27-May-2006
Callisto: Model Radeon XPRESS 200M (PCIE) (rv410)
Callisto: MMIO range@0x18 (cfef0000) mapped to kernel virtual address 0x2f982000
Callisto: 48 MB DDR SGRAM found on 64 bit wide bus
Callisto: VRAM range@0x10 (b0000000:03000000)
Callisto: Found ROM @0xc0000
Callisto: Legacy ATI BIOS detected
Callisto: Retreived PLL infos from BIOS
Callisto: Reference=14.32 MHz (RefDiv=6) Memory=400.00 Mhz, System=200.00 MHz
Callisto: PLL min 20000 max 40000
Callisto: Non-DDC laptop panel detected
Callisto: Found Monitor: LCD
Callisto: panel ID string: AUO
Callisto: detected LVDS panel size from BIOS: 1280x800
Callisto: BIOS provided dividers will be used
Callisto: Default panel mode: 1280x800, pixel clock: 68900 KHz
Callisto: done with Radeon XPRESS 200M (PCIE)
[/codebox]

lspci:
[codebox]
01:05.0 VGA compatible controller [0300]: ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP] [1002:5975] (prog-if 00 [VGA controller])
Subsystem: Acer Incorporated [ALI] Unknown device [1025:010e]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 66 (2000ns min), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 17
Region 0: Memory at b0000000 (32-bit, prefetchable)
Region 1: I/O ports at 9000
Region 2: Memory at cfef0000 (32-bit, non-prefetchable)
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
[/codebox]

ioreg:
See attachment

uname -a:
Darwin ferrari 9.0.0 Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386 i386

RadeonDump
[codebox]
# kextload -t RadeonPCI.kext/
kextload: extension RadeonPCI.kext/ appears to be loadable
/System/Library/Extensions/System.kext/PlugIns/IOKit.kext/IOKit: Undefined in symbol set: __ZN14IOPMrootDomain24systemPowerEventOccurredEPK8OSSymbolP8OSObject
/System/Library/Extensions/System.kext/PlugIns/IOKit.kext/IOKit: Undefined in symbol set: __ZN14IOPMrootDomain24systemPowerEventOccurredEPK8OSSymbolj
kextload: RadeonPCI.kext/ loaded successfully

kextstat:
102 0 0x2fecf000 0x3000 0x2000 com.dong.driver.RadeonPCI (1.0.0d1) <6 5 4>
[/codebox]


I get no output at all when running RadeonDump,for example:
# RadeonDump -i
# RadeonDump -d
# RadeonDump -r 100,200

Nothing at all!
See dtruss attachement for exec trace.

How do I fix it? I tried both your pre-compiled version and compiling myself in xcode 3, no errors it seems.
Let me know if there is anything else I can do to help.

Regards
/GS

Attached Files



#157
dong

dong

    InsanelyMac Sage

  • Retired Developers
  • 366 posts
  • Gender:Male

Callisto: Non-DDC laptop panel detected

Did this mean DDC communication is not possible?

I cannot get RadeonDump to work. I have tried different versions and also tried compiling from source.

I have no idea why it won't work here.

#158
gstone

gstone

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts

Did this mean DDC communication is not possible?
I have no idea why it won't work here.


I will paste some info about this chipset from Linux, maybe you have use for it. Im sure you already know, but I noticed AMD releasing GPU specs:
AMD Releases 900+ Pages Of GPU Specs

(II) LoadModule: "fglrx"(II) Loading /usr/lib64/xorg/modules/drivers/fglrx_drv.so(II) Module fglrx: vendor="FireGL - ATI Technologies Inc."(II) fglrx(0): pEnt->device->identifier=0x9cc990(II) fglrx(0): === [atiddxPreInit] === begin(II) fglrx(0): PCI bus 1 card 5 func 0(**) fglrx(0): Depth 24, (--) framebuffer bpp 32(II) fglrx(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)(==) fglrx(0): Default visual is TrueColor(**) fglrx(0): Option "DPMS"(II) fglrx(0): Loading PCS database from /etc/ati/amdpcsdb(==) fglrx(0): RGB weight 888(II) fglrx(0): Using 8 bits per RGB (8 bit DAC)(**) fglrx(0): Gamma Correction for I is 0x06419064(==) fglrx(0): Gamma Correction for II is 0x06419064(==) fglrx(0): Buffer Tiling is ON(--) fglrx(0): Chipset: "ATI Radeon Xpress Series" (Chipset = 0x5975)(--) fglrx(0): (PciSubVendor = 0x1025, PciSubDevice = 0x010e)(--) fglrx(0): board vendor info: third party graphics adapter - NOT original ATI(--) fglrx(0): Linear framebuffer (phys) at 0xb0000000(--) fglrx(0): MMIO registers at 0xcfef0000(==) fglrx(0): ROM-BIOS at 0x000c0000(II) fglrx(0): Primary V_BIOS segment is: 0xc000(II) fglrx(0): VESA BIOS detected(II) fglrx(0): VESA VBE Version 2.0(II) fglrx(0): VESA VBE Total Mem: 16384 kB(II) fglrx(0): VESA VBE OEM: ATI Radeon® Xpress 1150(II) fglrx(0): VESA VBE OEM Software Rev: 1.0(II) fglrx(0): VESA VBE OEM Vendor: ATI Technologies Inc.(II) fglrx(0): VESA VBE OEM Product: MS48(II) fglrx(0): VESA VBE OEM Product Rev: 01.00(II) Loading sub module "fglrxdrm"(II) LoadModule: "fglrxdrm"(II) Loading /usr/lib64/xorg/modules/linux/libfglrxdrm.so(II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."(II) fglrx(0): Using adapter: 1:5.0.(II) fglrx(0): [FB] Find the MC FB aperturs range(MCFBBase = 0x70000000, MCFBSize = 0x10000000)(--) fglrx(0): VideoRAM: 131072 kByte, Type: DDR SGRAM / SDRAM(II) fglrx(0): PCIE card detected(WW) fglrx(0): board is an unknown third party board, chipset is supported(II) fglrx(0): Connected Display1: LCD on internal LVDS [lvds](II) fglrx(0): Display1 EDID data ---------------------------(II) fglrx(0): Manufacturer: AUO  Model: 3214  Serial#: 0(II) fglrx(0): Year: 2006  Week: 1(II) fglrx(0): EDID Version: 1.3(II) fglrx(0): Digital Display Input(II) fglrx(0): Max H-Image Size [cm]: horiz.: 26  vert.: 16(II) fglrx(0): Gamma: 2.20(II) fglrx(0): No DPMS capabilities specified; RGB/Color Display(II) fglrx(0): First detailed timing is preferred mode(II) fglrx(0): redX: 0.580 redY: 0.340   greenX: 0.310 greenY: 0.550(II) fglrx(0): blueX: 0.155 blueY: 0.155   whiteX: 0.315 whiteY: 0.330(II) fglrx(0): Manufacturer's mask: 0(II) fglrx(0): Supported additional Video Mode:(II) fglrx(0): clock: 68.9 MHz   Image Size:  261 x 163 mm(II) fglrx(0): h_active: 1280  h_sync: 1301  h_sync_end 1333 h_blank_end 1408 h_border: 0(II) fglrx(0): v_active: 800  v_sync: 804  v_sync_end 808 v_blanking: 816 v_border: 0(II) fglrx(0):  AUO(II) fglrx(0):  B121EW03 V2(II) fglrx(0): EDID (in hex):(II) fglrx(0):  00ffffffffffff0006af143200000000(II) fglrx(0):  01100103801a10780a87fe94574f8c27(II) fglrx(0):  27505400000001010101010101010101(II) fglrx(0):  010101010101ea1a0080502010301520(II) fglrx(0):  440005a3100000180000000f00000000(II) fglrx(0):  00000000000000000020000000fe0041(II) fglrx(0):  554f0a202020202020202020000000fe(II) fglrx(0):  004231323145573033205632200a001f(II) fglrx(0): End of Display1 EDID data --------------------(WW) fglrx(0): Only one display is connnected,so single mode is enabled(II) fglrx(0): Primary Controller - LCD on internal LVDS(II) fglrx(0): Internal Desktop Setting: 0x00000001(II) fglrx(0): POWERplay version 3.  2 power states available:(II) fglrx(0):   1. 401/401MHz @ 60Hz [enable load balancing](II) fglrx(0):   2. 100/133MHz @ 60Hz [](==) fglrx(0): Qbs is not supported in this release. Disabled.(==) fglrx(0): FAST_SWAP disabled(==) fglrx(0):  PseudoColor visuals disabled(**) fglrx(0): Center Mode is disabled(==) fglrx(0): TMDS coherent mode is enabled(II) fglrx(0): Total of 13 modes found for primary display.(--) fglrx(0): Virtual size is 1280x800 (pitch 0)(--) fglrx(0): Display dimensions: (260, 160) mm(--) fglrx(0): DPI set to (125, 127)(--) fglrx(0): Virtual size is 1280x800 (pitch 1280)(==) fglrx(0): NoAccel = NO(==) fglrx(0): NoDRI = NO(II) Loading sub module "fglrxdrm"(II) LoadModule: "fglrxdrm"(II) Reloading /usr/lib64/xorg/modules/linux/libfglrxdrm.so(==) fglrx(0): Capabilities: 0x00000000(==) fglrx(0): CapabilitiesEx: 0x00000000(==) fglrx(0): cpuFlags: 0x4000001f(==) fglrx(0): OpenGL ClientDriverName: "fglrx_dri.so"(**) fglrx(0): ATI GART size: 255 MB(II) fglrx(0): [pcie] 261120 kB allocated(II) fglrx(0): [drm] DRM buffer queue setup: nbufs = 100 bufsize = 65536(==) fglrx(0): UseFastTLS=0(==) fglrx(0): BlockSignalsOnLock=1(II) fglrx(0): driver needs X.org 7.1.x.y with x.y >= 0.0(II) fglrx(0): detected X.org 7.1.1.0(II) fglrx(0): doing DRIScreenInit(II) fglrx(0): [drm] DRM interface version 1.0(II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:1:5:0"(II) fglrx(0): [drm] added 8192 byte SAREA at 0x17e4000(II) fglrx(0): [drm] mapped SAREA 0x17e4000 to 0x2aaaad3ca000(II) fglrx(0): [drm] framebuffer handle = 0x17e5000(II) fglrx(0): [drm] added 1 reserved context for kernel(II) fglrx(0): DRIScreenInit done(II) fglrx(0): Kernel Module Version Information:(II) fglrx(0):     Name: fglrx(II) fglrx(0):     Version: 8.50.3(II) fglrx(0):     Date: Jun  2 2008(II) fglrx(0):     Desc: ATI FireGL DRM kernel module(II) fglrx(0): Kernel Module version matches driver.(II) fglrx(0): Kernel Module Build Time Information:(II) fglrx(0):     Build-Kernel UTS_RELEASE:        2.6.22.2-42.fc6(II) fglrx(0):     Build-Kernel MODVERSIONS:        yes(II) fglrx(0):     Build-Kernel __SMP__:            yes(II) fglrx(0):     Build-Kernel PAGE_SIZE:          0x1000(II) fglrx(0): [drm] register handle = 0x017e6000(II) fglrx(0): Interrupt handler installed at IRQ 17.(II) fglrx(0): Exposed events to the /proc interface(II) fglrx(0): DRI initialization successfull!(II) fglrx(0): FBADPhys: 0x70000000 FBMappedSize: 0x005f0000(II) fglrx(0): FBMM initialized for area (0,0)-(1280,1216)(II) fglrx(0): FBMM auto alloc for area (0,0)-(1280,800) (front color buffer - assumption)(II) fglrx(0): Largest offscreen area available: 1280 x 416(==) fglrx(0): Backing store disabled(**) fglrx(0): DPMS enabled(II) fglrx(0): Using XFree86 Acceleration Architecture (XAA)(II) fglrx(0): Acceleration enabled(II) fglrx(0): X context handle = 0x1(II) fglrx(0): [DRI] installation complete(II) fglrx(0): Direct rendering enabled(==) fglrx(0): Silken mouse enabled(==) fglrx(0): Using hardware cursor(II) AIGLX: Loaded and initialized /usr/lib64/dri/fglrx_dri.so

Compile radeontool & avivotool, latest src at:
http://gitweb.freede...;f=radeon_reg.h
see radeon_reg.h

scanpci:pci bus 0x0001 cardnum 0x05 function 0x00: vendor 0x1002 device 0x5975 ATI Technologies Inc RS482 [Radeon Xpress 200M]# lspci -n | grep 597501:05.0 0300: 1002:5975# echo 1 > /sys/bus/pci/devices/0000\:01\:05.0/rom # cat /sys/bus/pci/devices/0000\:01\:05.0/rom > myrom# file myrommyrom: BIOS (ia32) ROM Ext. IBM comp. Video (128*512)# cp myrom /media/bios/BK-ATI-VER008-050l.036.003# ./avivotool --debug romtables myromFound card 1002:5975 (30000)  (unknown card)Radeon found. Base control address is 2aaaaaaad000; base framebuffer address is 2aaaaacdb000.BIOS Tables:------------Header at 118, type: 8 []OEM ID: 08 32Legacy BIOS detected !BIOS Rev: 24.3Clock info block:  SCLK   : 200.000000  MCLK   : 400.000000  RefClk : 14.320000  RefDiv : 6  VCO Min: 200.000000  VCO Max: 400.000000Connector table:  Table revision 3 for 1 chip(s)  Table for chip 1 has 2 connector(s):    00002400  Type: VGA, DDC: CRT2, DAC: CRT, TMDS: Internal    00001100  Type: Proprietary, DDC: MONID, DAC: CRT, TMDS: Internal    00008845  Type: , DDC: , DAC: TV, TMDS: InternalDFP table revision: 2

I dont really know how to use radeontool, let me know if you need anything:
./radeontoolusage: radeontool [options] [command]         --debug            - show a little debug info         --skip=1           - use the second radeon card         dac [on|off]       - power down the external video outputs (on)         light [on|off]     - power down the backlight (on)         stretch [on|off|vert|horiz|auto|manual]   - stretching for resolution mismatch         regs               - show a listing of some random registers         regmatch  - show registers matching wildcard pattern         regset   - set registers matching wildcard pattern# ./radeontool regs\RADEON_DAC_CNTL        00000102RADEON_DAC_EXT_CNTL     00000000RADEON_DAC_MACRO_CNTL   00000808RADEON_DAC_CNTL2        00000002RADEON_TV_DAC_CNTL      07770242RADEON_DISP_OUTPUT_CNTL 10010008RADEON_CONFIG_MEMSIZE   03f00000RADEON_AUX_SC_CNTL      00000000RADEON_CRTC_EXT_CNTL    11000000RADEON_CRTC_GEN_CNTL    03208600RADEON_CRTC2_GEN_CNTL   04800010RADEON_DEVICE_ID        00075975RADEON_DISP_MISC_CNTL   5b300600RADEON_GPIO_MONID       00000300RADEON_GPIO_MONIDB      00000000RADEON_GPIO_CRT2_DDC    00000000RADEON_GPIO_DVI_DDC     00000100RADEON_GPIO_VGA_DDC     00000300RADEON_LVDS_GEN_CNTL    003cffa1RADEON_FP_GEN_CNTL      01640200RADEON_FP2_GEN_CNTL     0100020aRADEON_PIXCLKS_CNTL     0b6ffec0RADEON_MEM_TIMING_CNTL  00000000

EVEREST hw info:
ATI GPU Registers:      ati-00E0   00030100      ati-00F8   03F00000      ati-0140   00000000      ati-0144   00000000      ati-0148   7FFF7000      ati-0154   0F004400      ati-0158   50000000      ati-0178   20040100      ati-01C0   00FF0000      ati-4018   00010011      ati-CLKIND-00   00000000      ati-CLKIND-04   00020073      ati-CLKIND-0A   001C0002      ati-CLKIND-0B   80007FFF      ati-CLKIND-0C   0400A400      ati-CLKIND-0D   000A7FFB      ati-CLKIND-0E   000E0008      ati-CLKIND-0F   01E2EE2A      ati-CLKIND-12   00000000    B00 D00 F00:    ATI Radeon Xpress 200M/1100M/1150M (RS482M/RS485M) Chipset - Host Bridge         Offset 00:    02 10 50 59 06 00 20 22 10 00 00 06 00 40 00 00         Offset 10:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00         Offset 20:    00 00 00 00 00 00 00 00 00 00 00 00 25 10 0E 01         Offset 30:    00 00 00 00 C4 00 00 00 00 00 00 00 00 00 00 00         Offset 40:    00 00 00 00 00 00 00 00 00 00 00 00 42 20 05 00         Offset 50:    25 10 0E 01 00 00 00 00 00 00 00 00 00 00 00 00         Offset 60:    4F 00 00 00 00 00 00 00 00 00 00 00 2C 00 73 06         Offset 70:    E0 08 00 00 00 00 00 00 20 4E 00 00 00 00 00 10         Offset 80:    10 0F 00 02 94 14 00 03 20 00 00 00 12 21 00 10         Offset 90:    00 00 00 70 45 CD 45 EE 00 00 00 00 00 00 00 00         Offset A0:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00         Offset B0:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00         Offset C0:    00 00 00 00 08 00 80 01 60 20 11 11 D0 00 00 00         Offset D0:    25 05 65 00 02 00 00 00 00 00 00 00 00 00 00 00         Offset E0:    00 00 00 00 00 00 00 00 7E 00 00 00 04 00 00 00         Offset F0:    00 00 00 00 00 80 80 00 00 00 00 00 00 00 48 01   B01 D05 F00:   ATI Radeon Xpress 200M/1100M/1150M (RS482M/RS485M) Chipset - Video Adapter     Offset 00:   02 10 75 59 07 00 B0 02 00 00 00 03 08 FF 00 00     Offset 10:   08 00 00 C0 01 90 00 00 00 00 10 B0 00 00 00 00     Offset 20:   00 00 00 00 00 00 00 00 00 00 00 00 25 10 0E 01     Offset 30:   00 00 00 00 50 00 00 00 00 00 00 00 11 01 08 00     Offset 40:   00 00 00 00 00 00 00 00 00 00 00 00 25 10 0E 01     Offset 50:   01 00 02 06 00 00 00 00 02 50 20 00 30 02 00 4F     Offset 60:   00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset 70:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset 80:   05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset 90:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset A0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset B0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset C0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset D0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset E0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     Offset F0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

RaBiT www.techpowerup.com:
-- RaBiT v.2.1.0 build 645 --Read file: 65536 bytes, ROM len: 65536 bytes-- Analyzing ROM BIOS --> HEADER offs: 0x118> PCIR struct offs: 0x18C> CRC table offs: 0x1C0> CLOCK table offs: 0x8A2Core clock is 400.00 MHzMemory clock is 200.00 MHzReference clock is 14.32 MHz> Memory config: 0xAA55> TV table offs: 0xCA77Active TV type: 'NTSC'> Hardware table: at 0x4C0, Rev.2hw_a: 0x330F, hw_b: 0x0000> DFP table offs: 0x4D4DFP table Ver.2, 6 preset(s)> Connectors Layout table offs: 0x4CAConn0 type = VGA, DDC = CRT2, DAC = UnknownConn1 type = Proprietary, DDC = MONID, DAC = UnknownConn2 type = Unsupported, DDC = None, DAC = Primary> VESA BIOS Extension 2.00, Rev. 1.00:Vendor: ATI Technologies Inc.Product: MS48, Rev. 01.00OEM: ATI Radeon® Xpress 1150    > ASIC config:0x75 = 0x00, 0x74 = 0x000x7C = 0x00, 0x7B = 0x00, 0x7A = 0x00This BIOS has hidden (by RaBiT) data-- ROM BIOS info --Desc: RS485/M Ferra6 VBIOS BR#21663Info: MS48PCIEDGD1UN,  uyferra.ace v611 , 2006/08/23 17:35! Chipset family: Unknown> PLL script at 0x038C> PLL2 script at 0x0421> INIT script at 0x0222> MEMORY script at 0x02BF-- Found hardware registers values: --> PLL(0A): 0x001CA802 at 0x03AC> PLL(0D): 0xFFFFFFF9 at 0x03D1-- User changes followed --
I appreciate your hard work. Let me know if I can do anything to help.

/GS

Attached Files



#159
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,848 posts
  • Gender:Male
  • Location:Moscow
2 dong
New attempt
sergey:/Volumes/ALL/Developer/Projects/ATI/RadeonPCI sergey$ ./RadeonMMDump -i
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/AGP@1/AGPGart/ATIM@5/RadeonPCI
it matched on name "display"
Start I2C dump
Test with reference freq: 2700
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Read EDID failed
Test with reference freq: 1432
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Read EDID failed
Test with reference freq: 2950
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Timeout condition on Radeon i2c bus
Read EDID failed
My best result (with my codes)
doI2CRequest 1
0x0000: 00000000000000000001000000000020
0x0010: 00000000000000000000000000000000
0x0020: 00000001000000000000000000000000
0x0030: 00000000000000000000080000000000
0x0040: 00000000000000020000000000000000
0x0050: 00000000000000000000000000000000
0x0060: 00000000000000000000000000000000
0x0070: 00000000000000000000000000000000
Still trying to find best registers and masks. Never give up :blink:

2 gstone.
Huge amount of informations. Hope it will be useful!

#160
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,848 posts
  • Gender:Male
  • Location:Moscow
May be later I return to EDID/DDC problem but now I want to return to The Driver problem.
I propose new template to create the driver.
RadNDRV is a replacement of ATINDRV.
Its methods doStatus and doControl is empty now, We need to fill its by real radeon procedures.
It loaded by this version of ATILead. But... no loaded because I didn't make something needed. What? Probe or Init or Start?

EDITED:
RadNDRV is wrong idea! Forget it!





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy