summaryrefslogtreecommitdiff
path: root/openembedded/packages/linux
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
committerRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
commitb2f192faabe412adce79534e22efe9fb69ee40e2 (patch)
tree7076c49d4286f8a1733650bd8fbc7161af200d57 /openembedded/packages/linux
parent2cf0eadf9f730027833af802d7e6c90b44248f80 (diff)
downloadopenembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz
openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.bz2
openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.zip
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/linux')
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch126
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch1566
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/defconfig1169
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/mach-types1112
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch599
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch15
-rw-r--r--openembedded/packages/linux/linux-cmx270-rp-2.6.17/defconfig1485
-rw-r--r--openembedded/packages/linux/linux-cmx270-rp-2.6.17/mach-types1095
-rw-r--r--openembedded/packages/linux/linux-cmx270-rp_2.6.17.bb42
-rw-r--r--openembedded/packages/linux/linux-cmx270_2.6.17.bb40
-rw-r--r--openembedded/packages/linux/linux-nokia770-2.6.12.3-osso14/nokia770/defconfig1297
-rw-r--r--openembedded/packages/linux/linux-nokia770_2.6.12.3-osso14.bb31
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/00-hostap.patch45
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/10-pcnet.patch27
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/add-oz-release-string.patch24
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/connectplus-remove-ide-HACK.patch12
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-akita1565
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-c7x01601
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-collie1147
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-ipaq-pxa2701021
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-poodle1549
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-qemuarm961
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-spitz1565
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa1601
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/hrw-pcmcia-ids-r2.patch42
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/locomo-kbd-hotkeys.patch48
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/locomo-lcd-def-bightness.patch11
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch49
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/pxa-serial-hack.patch73
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch61
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch26
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.16/squashfs3.0-2.6.15.patch4173
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/00-hostap.patch45
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/10-pcnet.patch27
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/add-oz-release-string.patch24
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/connectplus-remove-ide-HACK.patch12
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-akita1565
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-c7x01601
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-collie1147
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-ipaq-pxa2701021
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-poodle1549
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-qemuarm934
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-spitz1565
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/defconfig-tosa1601
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/hrw-pcmcia-ids-r2.patch42
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/pxa-serial-hack.patch73
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--openembedded/packages/linux/linux-openzaurus-2.6.17/squashfs3.0-2.6.15.patch4173
-rw-r--r--openembedded/packages/linux/linux-openzaurus.inc199
-rw-r--r--openembedded/packages/linux/linux-openzaurus_2.6.16.bb158
-rw-r--r--openembedded/packages/linux/linux-openzaurus_2.6.17.bb120
52 files changed, 0 insertions, 40344 deletions
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch b/openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
deleted file mode 100644
index b4a33e2cf7..0000000000
--- a/openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-Index: linux-2.6.17/arch/arm/mach-pxa/cm-x270.c
-===================================================================
---- linux-2.6.17.orig/arch/arm/mach-pxa/cm-x270.c 2006-07-18 15:40:10.000000000 +0100
-+++ linux-2.6.17/arch/arm/mach-pxa/cm-x270.c 2006-07-20 20:25:22.000000000 +0100
-@@ -11,6 +11,7 @@
- #include <linux/pm.h>
- #include <linux/fb.h>
- #include <linux/rtc-v3020.h>
-+#include <linux/mbxfb.h>
-
- #include <asm/types.h>
- #include <asm/setup.h>
-@@ -396,10 +397,113 @@
- .resource = dm9000_resources,
- };
-
-+/* 2700G graphics */
-+static u64 fb_dma_mask = ~(u64)0;
-+
-+static struct resource cmx270_2700G_resource[] = {
-+ /* frame buffer memory including ODFB and External SDRAM */
-+ [0] = {
-+ .start = MARATHON_PHYS,
-+ .end = MARATHON_PHYS + 0x02000000,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ /* Marathon registers */
-+ [1] = {
-+ .start = MARATHON_PHYS + 0x03fe0000,
-+ .end = MARATHON_PHYS + 0x03ffffff,
-+ .flags = IORESOURCE_MEM,
-+ },
-+};
-+
-+static unsigned long save_lcd_regs[10];
-+
-+/* if 2700G is used, disable PCI throttle */
-+#define LB_TROTTLE_OFF (PXA_CS1_PHYS | (1 << 25))
-+#define LB_TROTTLE_MAX (PXA_CS1_PHYS | (1 << 25) | (1 << 22))
-+static int cmx270_marathon_probe(struct fb_info *fb)
-+{
-+ volatile unsigned long *cpld;
-+
-+ cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_OFF, 4);
-+ if ( !cpld ) {
-+ return -ENODEV;
-+ }
-+ *cpld = 0;
-+ iounmap((void*)cpld);
-+
-+ /* save PXA-270 pin settings before enabling 2700G */
-+ save_lcd_regs[0] = GPDR1;
-+ save_lcd_regs[1] = GPDR2;
-+ save_lcd_regs[2] = GAFR1_U;
-+ save_lcd_regs[3] = GAFR2_L;
-+ save_lcd_regs[4] = GAFR2_U;
-+
-+ /* Disable PXA-270 on-chip controller driving pins */
-+ GPDR1 &= ~(0xfc000000);
-+ GPDR2 &= ~(0x00c03fff);
-+ GAFR1_U &= ~(0xfff00000);
-+ GAFR2_L &= ~(0x0fffffff);
-+ GAFR2_U &= ~(0x0000f000);
-+ return 0;
-+}
-+
-+static int cmx270_marathon_remove(struct fb_info *fb)
-+{
-+ volatile unsigned long *cpld;
-+ cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_MAX, 4);
-+
-+ if ( !cpld ) {
-+ return -ENODEV;
-+ }
-+ *cpld = 0;
-+ iounmap((void*)cpld);
-+
-+ GPDR1 = save_lcd_regs[0];
-+ GPDR2 = save_lcd_regs[1];
-+ GAFR1_U = save_lcd_regs[2];
-+ GAFR2_L = save_lcd_regs[3];
-+ GAFR2_U = save_lcd_regs[4];
-+ return 0;
-+}
-+
-+static struct mbxfb_platform_data cmx270_2700G_data = {
-+ .xres = {
-+ .min = 240,
-+ .max = 1200,
-+ .defval = 640,
-+ },
-+ .yres = {
-+ .min = 240,
-+ .max = 1200,
-+ .defval = 480,
-+ },
-+ .bpp = {
-+ .min = 16,
-+ .max = 32,
-+ .defval = 16,
-+ },
-+ .memsize = 8*1024*1024,
-+ .probe = cmx270_marathon_probe,
-+ .remove = cmx270_marathon_remove,
-+};
-+
-+static struct platform_device cmx270_2700G = {
-+ .name = "mbx-fb",
-+ .dev = {
-+ .platform_data = &cmx270_2700G_data,
-+ .dma_mask = &fb_dma_mask,
-+ .coherent_dma_mask = 0xffffffff,
-+ },
-+ .num_resources = ARRAY_SIZE(cmx270_2700G_resource),
-+ .resource = cmx270_2700G_resource,
-+ .id = -1,
-+};
-+
- static struct platform_device *platform_devices[] __initdata = {\
- &cmx270_audio_device,
- &v3020_rtc_device,
- &dm9000_device,
-+ &cmx270_2700G,
- };
-
- static int cmx270_ohci_init(struct device *dev)
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch b/openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
deleted file mode 100644
index d33f4522f8..0000000000
--- a/openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
+++ /dev/null
@@ -1,1566 +0,0 @@
- drivers/video/Kconfig | 10 +
- drivers/video/Makefile | 1
- drivers/video/mbx/Makefile | 3
- drivers/video/mbx/mbxfb.c | 646 ++++++++++++++++++++++++++++++++++++++++++
- drivers/video/mbx/mbxsysfs.c | 129 ++++++++
- drivers/video/mbx/reg_bits.h | 489 ++++++++++++++++++++++++++++++++
- drivers/video/mbx/regs.h | 192 ++++++++++++
- include/linux/mbxfb.h | 28 ++
- 8 files changed, 1498 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 17de4c8..3f472d4 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -1518,6 +1518,16 @@ config FB_PXA_PARAMETERS
-
- <file:Documentation/fb/pxafb.txt> describes the available parameters.
-
-+config FB_MBX
-+ tristate "2700G LCD framebuffer support"
-+ depends on FB && ARCH_PXA
-+ select FB_CFB_FILLRECT
-+ select FB_CFB_COPYAREA
-+ select FB_CFB_IMAGEBLIT
-+ ---help---
-+
-+ If unsure, say N.
-+
- config FB_W100
- tristate "W100 frame buffer support"
- depends on FB && PXA_SHARPSL
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index c335e9b..eabb5be 100644
---- a/drivers/video/Makefile
-+++ b/drivers/video/Makefile
-@@ -38,6 +38,7 @@ obj-$(CONFIG_FB_SIS) += sis/
- obj-$(CONFIG_FB_KYRO) += kyro/
- obj-$(CONFIG_FB_SAVAGE) += savage/
- obj-$(CONFIG_FB_GEODE) += geode/
-+obj-$(CONFIG_FB_MBX) += mbx/
- obj-$(CONFIG_FB_I810) += vgastate.o
- obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o
- obj-$(CONFIG_FB_VIRGE) += virgefb.o
-diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
-new file mode 100644
-index 0000000..ad042f5
---- /dev/null
-+++ b/drivers/video/mbx/Makefile
-@@ -0,0 +1,3 @@
-+# Makefile for the 2700G controller driver.
-+
-+obj-$(CONFIG_FB_MBX) += mbxfb.o
-diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
-new file mode 100644
-index 0000000..fcf164f
---- /dev/null
-+++ b/drivers/video/mbx/mbxfb.c
-@@ -0,0 +1,646 @@
-+/*
-+ * linux/drivers/video/mbx/mbxfb.c
-+ *
-+ * Copyright (C) 2006 Compulab, Ltd.
-+ * Mike Rapoport <mike@compulab.co.il>
-+ *
-+ * Based on pxafb.c
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file COPYING in the main directory of this archive for
-+ * more details.
-+ *
-+ * Intel 2700G (Marathon) Graphics Accelerator Frame Buffer Driver
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/fb.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/mbxfb.h>
-+
-+#include <asm/io.h>
-+
-+/* use defines from asm-arm/arch-pxa/bitfields.h for now */
-+/* review (and maybe rework) all bitfields access later */
-+#define UData(Data) ((unsigned long) (Data))
-+#define Fld(Size, Shft) (((Size) << 16) + (Shft))
-+#define FSize(Field) ((Field) >> 16)
-+#define FShft(Field) ((Field) & 0x0000FFFF)
-+#define FMsk(Field) (((UData (1) << FSize (Field)) - 1) << FShft (Field))
-+#define FAlnMsk(Field) ((UData (1) << FSize (Field)) - 1)
-+#define F1stBit(Field) (UData (1) << FShft (Field))
-+
-+static unsigned long virt_base_2700;
-+#include "regs.h"
-+#include "reg_bits.h"
-+
-+#define MIN_XRES 16
-+#define MIN_YRES 16
-+#define MAX_XRES 2048
-+#define MAX_YRES 2048
-+
-+/* FIXME: take care of different chip reivsions with different sizes
-+ of ODFB */
-+#define MEMORY_OFFSET 0x60000
-+
-+struct mbxfb_info {
-+ struct device *dev;
-+
-+ struct resource *fb_res;
-+ struct resource *fb_req;
-+
-+ struct resource *reg_res;
-+ struct resource *reg_req;
-+
-+ void __iomem *fb_virt_addr;
-+ unsigned long fb_phys_addr;
-+
-+ void __iomem *reg_virt_addr;
-+ unsigned long reg_phys_addr;
-+
-+ int (*platform_probe)(struct fb_info *fb);
-+ int (*platform_remove)(struct fb_info *fb);
-+};
-+
-+static struct fb_var_screeninfo mbxfb_default = {
-+ .xres = 640,
-+ .yres = 480,
-+ .xres_virtual = 640,
-+ .yres_virtual = 480,
-+ .bits_per_pixel = 16,
-+ .red = { 11, 5, 0 },
-+ .green = { 5, 6, 0 },
-+ .blue = { 0, 5, 0 },
-+ .activate = FB_ACTIVATE_TEST,
-+ .height = -1,
-+ .width = -1,
-+ .pixclock = 40000,
-+ .left_margin = 48,
-+ .right_margin = 16,
-+ .upper_margin = 33,
-+ .lower_margin = 10,
-+ .hsync_len = 96,
-+ .vsync_len = 2,
-+ .vmode = FB_VMODE_NONINTERLACED,
-+ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-+};
-+
-+static struct fb_fix_screeninfo mbxfb_fix = {
-+ .id = "MBX",
-+ .type = FB_TYPE_PACKED_PIXELS,
-+ .visual = FB_VISUAL_TRUECOLOR,
-+ .xpanstep = 0,
-+ .ypanstep = 0,
-+ .ywrapstep = 0,
-+ .accel = FB_ACCEL_NONE,
-+};
-+
-+struct pixclock_div {
-+ u8 m;
-+ u8 n;
-+ u8 p;
-+};
-+
-+static unsigned int mbxfb_get_pixclock(unsigned int pixclock_ps, struct pixclock_div *div)
-+{
-+ u8 m, n, p;
-+ unsigned int err = 0;
-+ unsigned int min_err = ~0x0;
-+ unsigned int clk;
-+ unsigned int best_clk = 0;
-+ unsigned int ref_clk = 13000; /* FIXME: take from platform data */
-+ unsigned int pixclock;
-+
-+ /* convert pixclock to KHz */
-+ pixclock = PICOS2KHZ(pixclock_ps);
-+
-+ for ( m = 1; m < 64; m++ ) {
-+ for ( n = 1; n < 8; n++ ) {
-+ for ( p = 0; p < 8; p++ ) {
-+ clk = (ref_clk * m) / (n * (1 << p));
-+ err = (clk > pixclock) ? (clk - pixclock) :
-+ (pixclock - clk);
-+ if ( err < min_err ) {
-+ min_err = err;
-+ best_clk = clk;
-+ div->m = m;
-+ div->n = n;
-+ div->p = p;
-+ }
-+ }
-+ }
-+ }
-+ return KHZ2PICOS(best_clk);
-+}
-+
-+static int
-+mbxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
-+ u_int trans, struct fb_info *info)
-+{
-+ uint val, ret = 1;
-+
-+ if ( regno < 255 ) {
-+ val = (red & 0xff) << 16;
-+ val |= (green & 0xff) << 8;
-+ val |= (blue & 0xff) << 0;
-+ GPLUT = Gplut_Lutadr(regno) | Gplut_Lutdata(val);
-+ udelay(1000);
-+ ret = 0;
-+ }
-+ return ret;
-+}
-+
-+static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-+{
-+ struct pixclock_div div;
-+
-+ var->pixclock = mbxfb_get_pixclock(var->pixclock, &div);
-+
-+ if (var->xres < MIN_XRES)
-+ var->xres = MIN_XRES;
-+ if (var->yres < MIN_YRES)
-+ var->yres = MIN_YRES;
-+ if (var->xres > MAX_XRES)
-+ var->xres = MAX_XRES;
-+ if (var->yres > MAX_YRES)
-+ var->yres = MAX_YRES;
-+ var->xres_virtual =
-+ max(var->xres_virtual, var->xres);
-+ var->yres_virtual =
-+ max(var->yres_virtual, var->yres);
-+
-+ switch (var->bits_per_pixel) {
-+ /* FIXME: implement 8 bits-per-pixel */
-+ case 8:
-+ var->bits_per_pixel = 16;
-+ case 16:
-+ var->green.length = (var->green.length == 5) ? 5 : 6;
-+ var->red.length = 5;
-+ var->blue.length = 5;
-+ var->transp.length = 6 - var->green.length;
-+ var->blue.offset = 0;
-+ var->green.offset = 5;
-+ var->red.offset = 5 + var->green.length;
-+ var->transp.offset = (5 + var->red.offset) & 15;
-+ break;
-+ case 24: /* RGB 888 */
-+ case 32: /* RGBA 8888 */
-+ var->red.offset = 16;
-+ var->red.length = 8;
-+ var->green.offset = 8;
-+ var->green.length = 8;
-+ var->blue.offset = 0;
-+ var->blue.length = 8;
-+ var->transp.length = var->bits_per_pixel - 24;
-+ var->transp.offset = (var->transp.length) ? 24 : 0;
-+ break;
-+ }
-+ var->red.msb_right = 0;
-+ var->green.msb_right = 0;
-+ var->blue.msb_right = 0;
-+ var->transp.msb_right = 0;
-+
-+ return 0;
-+}
-+
-+static int mbxfb_set_par(struct fb_info *info)
-+{
-+ struct fb_var_screeninfo *var = &info->var;
-+ struct pixclock_div div;
-+ ushort hbps, ht, hfps, has;
-+ ushort vbps, vt, vfps, vas;
-+
-+ info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
-+
-+ /* setup color mode */
-+ GSCTRL &= ~(FMsk(GSCTRL_GPIXFMT));
-+ /* FIXME: add *WORKING* support for 8-bits per color */
-+ if ( info->var.bits_per_pixel == 8 ) {
-+ GSCTRL |= GSCTRL_GPIXFMT_INDEXED;
-+ GSCTRL |= GSCTRL_LUT_EN;
-+ GSCTRL &= ~GSCTRL_GAMMA_EN;
-+ info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
-+ fb_alloc_cmap(&info->cmap, 1<<info->var.bits_per_pixel, 0);
-+ }
-+ else {
-+ fb_dealloc_cmap(&info->cmap);
-+ GSCTRL &= ~GSCTRL_LUT_EN;
-+ info->fix.visual = FB_VISUAL_TRUECOLOR;
-+ switch ( info->var.bits_per_pixel ) {
-+ case 16:
-+ if ( info->var.green.length == 5 )
-+ GSCTRL |= GSCTRL_GPIXFMT_ARGB1555;
-+ else
-+ GSCTRL |= GSCTRL_GPIXFMT_RGB565;
-+ break;
-+ case 24:
-+ GSCTRL |= GSCTRL_GPIXFMT_RGB888;
-+ break;
-+ case 32:
-+ GSCTRL |= GSCTRL_GPIXFMT_ARGB8888;
-+ break;
-+ }
-+ }
-+
-+ /* setup resolution */
-+ GSCTRL &= ~(FMsk(GSCTRL_GSWIDTH) | FMsk(GSCTRL_GSHEIGHT));
-+ GSCTRL |= Gsctrl_Width(info->var.xres - 1) |
-+ Gsctrl_Height(info->var.yres - 1);
-+
-+ GSADR &= ~(FMsk(GSADR_SRCSTRIDE)); udelay(1000);
-+ GSADR |= Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / (8 * 16) - 1); udelay(1000);
-+
-+ /* setup timings */
-+ var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div);
-+
-+ DISPPLL = Disp_Pll_M(div.m) | Disp_Pll_N(div.n) | Disp_Pll_P(div.p) | DISP_PLL_EN;
-+
-+ hbps = var->hsync_len;
-+ has = hbps + var->left_margin;
-+ hfps = has + var->xres;
-+ ht = hfps + var->right_margin;
-+
-+ vbps = var->vsync_len;
-+ vas = vbps + var->upper_margin;
-+ vfps = vas + var->yres;
-+ vt = vfps + var->lower_margin;
-+
-+ DHT01 = Dht01_Hbps(hbps) | Dht01_Ht(ht);
-+ DHT02 = Dht02_Hlbs(has) | Dht02_Has(has);
-+ DHT03 = Dht03_Hfps(hfps) | Dht03_Hrbs(hfps);
-+ DHDET = Dhdet_Hdes(has) | Dhdet_Hdef(hfps);
-+
-+ DVT01 = Dvt01_Vbps(vbps) | Dvt01_Vt(vt);
-+ DVT02 = Dvt02_Vtbs(vas) | Dvt02_Vas(vas);
-+ DVT03 = Dvt03_Vfps(vfps) | Dvt03_Vbbs(vfps);
-+ DVDET = Dvdet_Vdes(vas) | Dvdet_Vdef(vfps);
-+ DVECTRL = Dvectrl_Vevent(vfps) | Dvectrl_Vfetch(vbps);
-+ DSCTRL |= DSCTRL_SYNCGEN_EN;
-+
-+ return 0;
-+}
-+
-+static int mbxfb_blank(int blank, struct fb_info *info)
-+{
-+ switch (blank) {
-+ case FB_BLANK_POWERDOWN:
-+ case FB_BLANK_VSYNC_SUSPEND:
-+ case FB_BLANK_HSYNC_SUSPEND:
-+ case FB_BLANK_NORMAL:
-+ DSCTRL &= ~DSCTRL_SYNCGEN_EN; udelay(1000);
-+ PIXCLK &= ~PIXCLK_EN; udelay(1000);
-+ VOVRCLK &= ~VOVRCLK_EN; udelay(1000);
-+ break;
-+ case FB_BLANK_UNBLANK:
-+ DSCTRL |= DSCTRL_SYNCGEN_EN; udelay(1000);
-+ PIXCLK |= PIXCLK_EN; udelay(1000);
-+ break;
-+ }
-+ return 0;
-+}
-+
-+static struct fb_ops mbxfb_ops = {
-+ .owner = THIS_MODULE,
-+ .fb_check_var = mbxfb_check_var,
-+ .fb_set_par = mbxfb_set_par,
-+ .fb_setcolreg = mbxfb_setcolreg,
-+ .fb_fillrect = cfb_fillrect,
-+ .fb_copyarea = cfb_copyarea,
-+ .fb_imageblit = cfb_imageblit,
-+ .fb_blank = mbxfb_blank,
-+};
-+
-+/*
-+ Enable external SDRAM controller. Assume that all clocks are active
-+ by now.
-+*/
-+static void setup_memc(struct fb_info *fbi)
-+{
-+ unsigned long tmp;
-+
-+ /* FIXME: use platfrom specific parameters */
-+ /* setup SDRAM controller */
-+ LMCFG = LMCFG_LMC_DS | LMCFG_LMC_TS | LMCFG_LMD_TS | LMCFG_LMA_TS;
-+ udelay(1000);
-+ LMPWR = LMPWR_MC_PWR_ACT;
-+ udelay(1000);
-+ /* setup SDRAM timings */
-+ LMTIM = Lmtim_Tras(7) | Lmtim_Trp(3) | Lmtim_Trcd(3) | Lmtim_Trc(9) |
-+ Lmtim_Tdpl(2);
-+ udelay(1000);
-+ /* setup SDRAM refresh rate */
-+ LMREFRESH = 0xc2b;
-+ udelay(1000);
-+ /* setup SDRAM type parameters */
-+ LMTYPE = LMTYPE_CASLAT_3 | LMTYPE_BKSZ_2 | LMTYPE_ROWSZ_11 |
-+ LMTYPE_COLSZ_8;
-+ udelay(1000);
-+ /* enable memory controller */
-+ LMPWR = LMPWR_MC_PWR_ACT;
-+ udelay(1000);
-+
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+}
-+
-+static void enable_clocks(struct fb_info* fbi)
-+{
-+ /* enable clocks */
-+ SYSCLKSRC = SYSCLKSRC_PLL_2; udelay(1000);
-+ PIXCLKSRC = PIXCLKSRC_PLL_1; udelay(1000);
-+ CLKSLEEP = 0x00000000; udelay(1000);
-+ COREPLL = Core_Pll_M(0x17) | Core_Pll_N(0x3) | Core_Pll_P(0x0) | CORE_PLL_EN; udelay(1000);
-+ DISPPLL = Disp_Pll_M(0x1b) | Disp_Pll_N(0x7) | Disp_Pll_P(0x1) | DISP_PLL_EN;
-+
-+ VOVRCLK = 0x00000000; udelay(1000);
-+ PIXCLK = PIXCLK_EN; udelay(1000);
-+ MEMCLK = MEMCLK_EN; udelay(1000);
-+ M24CLK = 0x00000006; udelay(1000);
-+ MBXCLK = 0x00000006; udelay(1000);
-+ SDCLK = SDCLK_EN; udelay(1000);
-+ PIXCLKDIV = 0x00000001; udelay(1000);
-+}
-+
-+static void setup_graphics(struct fb_info* fbi)
-+{
-+ unsigned long gsctrl;
-+
-+ gsctrl = GSCTRL_GAMMA