
From: "Antonino A. Daplas" <adaplas@hotpop.com>

The first iBook needs special mclk/xclk values, or the screen will show only
garbage.  A patch like this went into 2.4.23.  It stopped working after
2.6.10-rc1.

http://linux.bkbits.net:8080/linux-2.4/cset@3f966ca7mqKxZorh7Uw2SBAuVbv3mA

It was discussed here:
http://marc.theaimsgroup.com/?t=106345749200001&r=1&w=4

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/video/aty/atyfb_base.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -puN drivers/video/aty/atyfb_base.c~fbdev-set-correct-mclk-xclk-values-for-aty-in-ibook drivers/video/aty/atyfb_base.c
--- 25/drivers/video/aty/atyfb_base.c~fbdev-set-correct-mclk-xclk-values-for-aty-in-ibook	Wed Nov  3 15:18:57 2004
+++ 25-akpm/drivers/video/aty/atyfb_base.c	Wed Nov  3 15:18:57 2004
@@ -2191,6 +2191,14 @@ static int __init aty_init(struct fb_inf
 	par->aty_cmap_regs =
 	    (struct aty_cmap_regs __iomem *) (par->ati_regbase + 0xc0);
 
+#ifdef CONFIG_PPC_PMAC
+	/* The Apple iBook1 uses non-standard memory frequencies. We detect it
+	 * and set the frequency manually. */
+	if (machine_is_compatible("PowerBook2,1")) {
+		par->pll_limits.mclk = 70;
+		par->pll_limits.xclk = 53;
+	}
+#endif
 	if (pll)
 		par->pll_limits.pll_max = pll;
 	if (mclk)
_
