1/* 2 * Display setup code for the Merisc board 3 * 4 * Copyright (C) 2008 Martinsson Elektronik AB 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10#include <linux/init.h> 11#include <linux/platform_device.h> 12#include <linux/fb.h> 13#include <video/atmel_lcdc.h> 14#include <asm/setup.h> 15#include <mach/board.h> 16#include "merisc.h" 17 18static struct fb_videomode merisc_fb_videomode[] = { 19 { 20 .refresh = 44, 21 .xres = 640, 22 .yres = 480, 23 .left_margin = 96, 24 .right_margin = 96, 25 .upper_margin = 34, 26 .lower_margin = 8, 27 .hsync_len = 64, 28 .vsync_len = 64, 29 .name = "640x480 @ 44", 30 .pixclock = KHZ2PICOS(25180), 31 .sync = 0, 32 .vmode = FB_VMODE_NONINTERLACED, 33 }, 34}; 35 36static struct fb_monspecs merisc_fb_monspecs = { 37 .manufacturer = "Kyo", 38 .monitor = "TCG075VG2AD", 39 .modedb = merisc_fb_videomode, 40 .modedb_len = ARRAY_SIZE(merisc_fb_videomode), 41 .hfmin = 30000, 42 .hfmax = 33333, 43 .vfmin = 60, 44 .vfmax = 90, 45 .dclkmax = 30000000, 46}; 47 48struct atmel_lcdfb_pdata merisc_lcdc_data = { 49 .default_bpp = 24, 50 .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN, 51 .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT 52 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE 53 | ATMEL_LCDC_MEMOR_BIG), 54 .default_monspecs = &merisc_fb_monspecs, 55 .guard_time = 2, 56}; 57 58static int __init merisc_display_init(void) 59{ 60 at32_add_device_lcdc(0, &merisc_lcdc_data, fbmem_start, 61 fbmem_size, 0); 62 63 return 0; 64} 65device_initcall(merisc_display_init); 66