--- arch/arm/mach-mx3/mx31lite.c | 26 ++++++++++++++++++++++++++ drivers/video/mxc/mxcfb_modedb.c | 25 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) Index: linux-2.6.19.2/arch/arm/mach-mx3/mx31lite.c =================================================================== --- linux-2.6.19.2.orig/arch/arm/mach-mx3/mx31lite.c 2007-10-03 19:37:43.000000000 +0200 +++ linux-2.6.19.2/arch/arm/mach-mx3/mx31lite.c 2007-10-03 19:43:09.000000000 +0200 @@ -280,6 +280,31 @@ } #endif +#if defined(CONFIG_FB_MXC_SYNC_PANEL) || defined(CONFIG_FB_MXC_SYNC_PANEL_MODULE) +static const char fb_default_mode[] = "Sharpsix-VGA"; + +/* mxc lcd driver */ +static struct platform_device mxc_fb_device = { + .name = "mxc_sdc_fb", + .id = 0, + .dev = { + .release = mxc_nop_release, + .platform_data = &fb_default_mode, + .coherent_dma_mask = 0xFFFFFFFF, + }, +}; + +static void mxc_init_fb(void) +{ + (void)platform_device_register(&mxc_fb_device); +} +#else +static inline void mxc_init_fb(void) +{ +} +#endif + + /*! * Board specific fixup function. It is called by \b setup_arch() in * setup.c file very early on during kernel starts. It allows the user to @@ -400,6 +425,7 @@ mxc_init_nor_mtd(); mxc_init_nand_mtd(); mxc_init_eth(); + mxc_init_fb(); } /* Index: linux-2.6.19.2/drivers/video/mxc/mxcfb_modedb.c =================================================================== --- linux-2.6.19.2.orig/drivers/video/mxc/mxcfb_modedb.c 2007-10-03 19:37:43.000000000 +0200 +++ linux-2.6.19.2/drivers/video/mxc/mxcfb_modedb.c 2007-10-03 19:43:02.000000000 +0200 @@ -55,6 +55,31 @@ "TV-VGA", 60, 640, 480, 40574, 35, 45, 9, 1, 46, 5, 0, FB_VMODE_NONINTERLACED, 0, }, + [5] = { + /* 640x480 @ 60 Hz, 6" */ + "Sharpsix-VGA", + 60, 640, 480, // 60 Hz, 640x480 + 35285, // 36.66 ns clock period + 128, 128, // left & right margin + 34, 10, // upper & lower margin + 2, 2, // hsync & vsync len + FB_SYNC_OE_ACT_HIGH, + FB_VMODE_NONINTERLACED, + 0, + }, + [6] = { + /* 640x480 @ 60 Hz 10" */ + "Sharpten-VGA", + 60, 640, 480, // 60 Hz, 640x480 + 35285, // 35.285b ns clock period + 128, 128, // left & right margin + 34, 10, // upper & lower margin + 2, 2, // hsync & vsync len + FB_SYNC_OE_ACT_HIGH, + FB_VMODE_NONINTERLACED, + 0, + }, + }; int mxcfb_modedb_sz = ARRAY_SIZE(mxcfb_modedb);