be40968f899e42ce0f9e7e54eebab337ca1ae92d
[pandora-kernel.git] / drivers / video / s3c2410fb.h
1 /*
2  * linux/drivers/s3c2410fb.h
3  * Copyright (c) Arnaud Patard
4  *
5  * This file is subject to the terms and conditions of the GNU General Public
6  * License.  See the file COPYING in the main directory of this archive for
7  * more details.
8  *
9  *          S3C2410 LCD Controller Frame Buffer Driver
10  *          based on skeletonfb.c, sa1100fb.h
11  *
12  * ChangeLog
13  *
14  * 2004-12-04: Arnaud Patard <arnaud.patard@rtp-net.org>
15  *      - Moved dprintk to s3c2410fb.c
16  *
17  * 2004-09-07: Arnaud Patard <arnaud.patard@rtp-net.org>
18  *      - Renamed from h1940fb.h to s3c2410fb.h
19  *      - Chenged h1940 to s3c2410
20  *
21  * 2004-07-15: Arnaud Patard <arnaud.patard@rtp-net.org>
22  *      - First version
23  */
24
25 #ifndef __S3C2410FB_H
26 #define __S3C2410FB_H
27
28 struct s3c2410fb_info {
29         struct fb_info          *fb;
30         struct device           *dev;
31         struct clk              *clk;
32
33         struct s3c2410fb_mach_info *mach_info;
34
35         /* raw memory addresses */
36         dma_addr_t              map_dma;        /* physical */
37         u_char *                map_cpu;        /* virtual */
38         u_int                   map_size;
39
40         struct s3c2410fb_hw     regs;
41
42         /* addresses of pieces placed in raw buffer */
43         u_char *                screen_cpu;     /* virtual address of buffer */
44         dma_addr_t              screen_dma;     /* physical address of buffer */
45         unsigned int            palette_ready;
46
47         /* keep these registers in case we need to re-write palette */
48         u32                     palette_buffer[256];
49         u32                     pseudo_pal[16];
50 };
51
52 #define PALETTE_BUFF_CLEAR (0x80000000) /* entry is clear/invalid */
53
54 int s3c2410fb_init(void);
55
56 #endif