Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel
[linux-2.6] / drivers / video / imxfb.h
1 /*
2  * linux/drivers/video/imxfb.h
3  *
4  *  Freescale i.MX Frame Buffer device driver
5  *
6  *  Copyright (C) 2004 S.Hauer, Pengutronix
7  *
8  *  Copyright (C) 1999 Eric A. Thomas
9  *   Based on acornfb.c Copyright (C) Russell King.
10  *
11  * This file is subject to the terms and conditions of the GNU General Public
12  * License.  See the file COPYING in the main directory of this archive
13  * for more details.
14  */
15
16 /*
17  * These are the bitfields for each
18  * display depth that we support.
19  */
20 struct imxfb_rgb {
21         struct fb_bitfield      red;
22         struct fb_bitfield      green;
23         struct fb_bitfield      blue;
24         struct fb_bitfield      transp;
25 };
26
27 #define RGB_16  (0)
28 #define RGB_8   (1)
29 #define NR_RGB  2
30
31 struct imxfb_info {
32         struct device           *dev;
33         struct imxfb_rgb        *rgb[NR_RGB];
34
35         u_int                   max_bpp;
36         u_int                   max_xres;
37         u_int                   max_yres;
38
39         /*
40          * These are the addresses we mapped
41          * the framebuffer memory region to.
42          */
43         dma_addr_t              map_dma;
44         u_char *                map_cpu;
45         u_int                   map_size;
46
47         u_char *                screen_cpu;
48         dma_addr_t              screen_dma;
49         u_int                   palette_size;
50
51         dma_addr_t              dbar1;
52         dma_addr_t              dbar2;
53
54         u_int                   pcr;
55         u_int                   pwmr;
56         u_int                   lscr1;
57         u_int                   dmacr;
58         u_int                   cmap_inverse:1,
59                                 cmap_static:1,
60                                 unused:30;
61
62         void (*lcd_power)(int);
63         void (*backlight_power)(int);
64 };
65
66 #define IMX_NAME        "IMX"
67
68 /*
69  * Minimum X and Y resolutions
70  */
71 #define MIN_XRES        64
72 #define MIN_YRES        64
73