diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2005-05-01 11:59:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-01 11:59:24 -0400 |
commit | 7c2f891cb64b0b9c8d389da97c221ee4288f1307 (patch) | |
tree | 6826d42679d15654c0a0661e56bcbe8fb3f6db86 /drivers/video/imxfb.h | |
parent | db9f1d9daa2f775a0f7d1a0d2ca4722c1da50158 (diff) |
[PATCH] imxfb: Add Freescale i.MX framebuffer driver
This patch adds support for the framebuffer on the freescale i.MX SOC
architecture. The driver has been tested on the mx1ads board, the pimx1 board
and another custom board with different displays.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/imxfb.h')
-rw-r--r-- | drivers/video/imxfb.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/video/imxfb.h b/drivers/video/imxfb.h new file mode 100644 index 000000000000..128c3ee515c7 --- /dev/null +++ b/drivers/video/imxfb.h | |||
@@ -0,0 +1,72 @@ | |||
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 cmap_inverse:1, | ||
58 | cmap_static:1, | ||
59 | unused:30; | ||
60 | |||
61 | void (*lcd_power)(int); | ||
62 | void (*backlight_power)(int); | ||
63 | }; | ||
64 | |||
65 | #define IMX_NAME "IMX" | ||
66 | |||
67 | /* | ||
68 | * Minimum X and Y resolutions | ||
69 | */ | ||
70 | #define MIN_XRES 64 | ||
71 | #define MIN_YRES 64 | ||
72 | |||