blob: c0e18b2c2d4a56c68a8bac22e0c369e2fc9948bb [file] [log] [blame]
Uwe Zeisbergerf30c2262006-10-03 23:01:26 +02001/* linux/include/asm-arm/arch-s3c2410/fb.h
Arnaud Patard20fd5762005-09-09 13:10:07 -07002 *
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.
Arnaud Patard20fd5762005-09-09 13:10:07 -070010*/
11
12#ifndef __ASM_ARM_FB_H
13#define __ASM_ARM_FB_H
14
15#include <asm/arch/regs-lcd.h>
16
Arnaud Patard20fd5762005-09-09 13:10:07 -070017struct s3c2410fb_hw {
18 unsigned long lcdcon1;
19 unsigned long lcdcon2;
20 unsigned long lcdcon3;
21 unsigned long lcdcon4;
22 unsigned long lcdcon5;
23};
24
Krzysztof Helt09fe75f2007-10-16 01:28:56 -070025/* LCD description */
26struct s3c2410fb_display {
27 /* LCD type */
28 unsigned type;
Arnaud Patard (Rtp357b8192006-12-08 02:40:23 -080029
Arnaud Patard20fd5762005-09-09 13:10:07 -070030 /* Screen size */
Krzysztof Helt09fe75f2007-10-16 01:28:56 -070031 unsigned short width;
32 unsigned short height;
Arnaud Patard20fd5762005-09-09 13:10:07 -070033
34 /* Screen info */
Krzysztof Helt09fe75f2007-10-16 01:28:56 -070035 unsigned short xres;
36 unsigned short yres;
37 unsigned short bpp;
Arnaud Patard20fd5762005-09-09 13:10:07 -070038
39 /* lcd configuration registers */
40 struct s3c2410fb_hw regs;
Krzysztof Helt09fe75f2007-10-16 01:28:56 -070041};
42
43struct s3c2410fb_mach_info {
44 unsigned char fixed_syncs; /* do not update sync/border */
45
46 struct s3c2410fb_display *displays; /* attached diplays info */
47 unsigned num_displays; /* number of defined displays */
48 unsigned default_display;
Arnaud Patard20fd5762005-09-09 13:10:07 -070049
50 /* GPIOs */
51
52 unsigned long gpcup;
53 unsigned long gpcup_mask;
54 unsigned long gpccon;
55 unsigned long gpccon_mask;
56 unsigned long gpdup;
57 unsigned long gpdup_mask;
58 unsigned long gpdcon;
59 unsigned long gpdcon_mask;
60
61 /* lpc3600 control register */
62 unsigned long lpcsel;
63};
64
Ben Dooks893b0302005-10-28 15:31:45 +010065extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
Arnaud Patard20fd5762005-09-09 13:10:07 -070066
67#endif /* __ASM_ARM_FB_H */