Subject: Re: anyone with a working XF86Config for an iBook?
To: Ronald van der Pol <Ronald.vanderPol@rvdp.org>
From: Matthieu Herrb <matthieu.herrb@laas.fr>
List: port-macppc
Date: 04/20/2004 22:10:31
This is a multi-part message in MIME format.
--------------040704030609080100090009
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Ronald van der Pol wrote:
> I am running -current on a 32 VRAM 800 MHz G3 iBook and try to get
> X11 going. I try to run the XFree86 4.4.0 server. I did not succeed
> to create a working XF86Config file.
> 
> /usr/X11R6/bin$ ls -l X
> lrwxr-xr-x  1 root  wheel  22 Apr 15 00:48 X -> /usr/X11R6/bin/XFree86
> 
> XFree86 probes the card as:
> (--) PCI:*(0:16:0) ATI Technologies Inc Radeon Mobility M7 LW
> [Radeon Mobility 7 500] rev 0, Mem @ 0x98000000/27, 0x90000000/16,
> I/O @ 0x0400/8, BIOS @ 0x9002000 0/17
> 
> Currently, I have
>     HorizSync   30-100
>     VertRefresh 50-70
> 
> Does anyone have a working XF86Config file for an iBook?

Try the attached patch, from Rock Linux.

-- 
					Matthieu

--------------040704030609080100090009
Content-Type: text/plain;
 name="dradeon"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="dradeon"

Index: radeon_driver.c
===================================================================
RCS file: /cvs/OpenBSD/XF4/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c,v
retrieving revision 1.6
diff -u -r1.6 radeon_driver.c
--- radeon_driver.c	18 Mar 2004 20:54:23 -0000	1.6
+++ radeon_driver.c	19 Apr 2004 20:49:57 -0000
@@ -1808,6 +1808,11 @@
 		    pll->reference_div  = 12;
 		    pll->xclk           = 23000;
 		    break;
+		case PCI_CHIP_RADEON_LW: /* Guessed based on iBook Open Firmware data -ReneR */
+		    pll->reference_freq = 2700;
+		    pll->reference_div  = 12;
+		    pll->xclk           = 36000;
+		    break;
 		default:
 		    pll->reference_freq = 2700;
 		    pll->reference_div  = 67;
@@ -6508,8 +6513,17 @@
 	       save->feedback_div,
 	       save->post_div));
 
+    ErrorF ("ref_div: %d, bitvalue: %d, feedback_div: %d\n",
+            pll->reference_div, post_div->bitvalue, save->feedback_div);
+
     save->ppll_ref_div   = pll->reference_div;
     save->ppll_div_3     = (save->feedback_div | (post_div->bitvalue << 16));
+#if defined(__powerpc__) /* on iBooks the LCD pannel needs tweaked PLL timings -ReneR */
+    ErrorF ("pll_div_3: %d, ", save->ppll_div_3);
+    /* save->ppll_div_3     *= 6; */ /* just a test hack */
+    save->ppll_div_3     = 0x000600ad; /* -ReneR */
+    ErrorF ("is now: %d, should be: %d\n", save->ppll_div_3, 0x000600ad);
+#endif
     save->htotal_cntl    = 0;
 }
 

--------------040704030609080100090009--