Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
display.c
Go to the documentation of this file.
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 
18 static 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 
36 static 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 
49  .default_bpp = 24,
50  .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN,
51  .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT
54  .default_monspecs = &merisc_fb_monspecs,
55  .guard_time = 2,
56 };
57 
58 static 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 }
65 device_initcall(merisc_display_init);