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
15struct 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 */
24struct 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
49struct 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
70extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
71
72#endif /* __ASM_PLAT_FB_S3C2410_H */
73