From: "Antonino A. Daplas" 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 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 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) _