Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6-block.git] / arch / avr32 / boards / atstk1000 / setup.c
CommitLineData
5f97f7f9
HS
1/*
2 * ATSTK1000 board-specific setup code.
3 *
4 * Copyright (C) 2005-2006 Atmel Corporation
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/bootmem.h>
d0a2b7af 11#include <linux/fb.h>
5f97f7f9
HS
12#include <linux/init.h>
13#include <linux/types.h>
14#include <linux/linkage.h>
15
d0a2b7af 16#include <video/atmel_lcdc.h>
5f97f7f9 17
d0a2b7af 18#include <asm/setup.h>
5f97f7f9
HS
19#include <asm/arch/board.h>
20
d0a2b7af
HS
21#include "atstk1000.h"
22
5f97f7f9
HS
23/* Initialized by bootloader-specific startup code. */
24struct tag *bootloader_tags __initdata;
d0a2b7af
HS
25
26static struct fb_videomode __initdata ltv350qv_modes[] = {
27 {
28 .name = "320x240 @ 75",
29 .refresh = 75,
30 .xres = 320, .yres = 240,
31 .pixclock = KHZ2PICOS(6891),
32
33 .left_margin = 17, .right_margin = 33,
34 .upper_margin = 10, .lower_margin = 10,
35 .hsync_len = 16, .vsync_len = 1,
36
37 .sync = 0,
38 .vmode = FB_VMODE_NONINTERLACED,
39 },
40};
41
42static struct fb_monspecs __initdata atstk1000_default_monspecs = {
43 .manufacturer = "SNG",
44 .monitor = "LTV350QV",
45 .modedb = ltv350qv_modes,
46 .modedb_len = ARRAY_SIZE(ltv350qv_modes),
47 .hfmin = 14820,
48 .hfmax = 22230,
49 .vfmin = 60,
50 .vfmax = 90,
51 .dclkmax = 30000000,
52};
53
54struct atmel_lcdfb_info __initdata atstk1000_lcdc_data = {
55 .default_bpp = 24,
56 .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN,
57 .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT
58 | ATMEL_LCDC_INVCLK
59 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE
60 | ATMEL_LCDC_MEMOR_BIG),
61 .default_monspecs = &atstk1000_default_monspecs,
62 .guard_time = 2,
63};