Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[pandora-kernel.git] / arch / arm / plat-samsung / include / plat / fb-s3c2410.h
1 /* arch/arm/plat-samsung/include/plat/fb-s3c2410.h
2  *
3  * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
4  *
5  * Inspired by pxafb.h
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10 */
11
12 #ifndef __ASM_PLAT_FB_S3C2410_H
13 #define __ASM_PLAT_FB_S3C2410_H __FILE__
14
15 struct s3c2410fb_hw {
16         unsigned long   lcdcon1;
17         unsigned long   lcdcon2;
18         unsigned long   lcdcon3;
19         unsigned long   lcdcon4;
20         unsigned long   lcdcon5;
21 };
22
23 /* LCD description */
24 struct s3c2410fb_display {
25         /* LCD type */
26         unsigned type;
27
28         /* Screen size */
29         unsigned short width;
30         unsigned short height;
31
32         /* Screen info */
33         unsigned short xres;
34         unsigned short yres;
35         unsigned short bpp;
36
37         unsigned pixclock;              /* pixclock in picoseconds */
38         unsigned short left_margin;  /* value in pixels (TFT) or HCLKs (STN) */
39         unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
40         unsigned short hsync_len;    /* value in pixels (TFT) or HCLKs (STN) */
41         unsigned short upper_margin;    /* value in lines (TFT) or 0 (STN) */
42         unsigned short lower_margin;    /* value in lines (TFT) or 0 (STN) */
43         unsigned short vsync_len;       /* value in lines (TFT) or 0 (STN) */
44
45         /* lcd configuration registers */
46         unsigned long   lcdcon5;
47 };
48
49 struct s3c2410fb_mach_info {
50
51         struct s3c2410fb_display *displays;     /* attached diplays info */
52         unsigned num_displays;                  /* number of defined displays */
53         unsigned default_display;
54
55         /* GPIOs */
56
57         unsigned long   gpcup;
58         unsigned long   gpcup_mask;
59         unsigned long   gpccon;
60         unsigned long   gpccon_mask;
61         unsigned long   gpdup;
62         unsigned long   gpdup_mask;
63         unsigned long   gpdcon;
64         unsigned long   gpdcon_mask;
65
66         /* lpc3600 control register */
67         unsigned long   lpcsel;
68 };
69
70 extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
71
72 #endif /* __ASM_PLAT_FB_S3C2410_H */