1 | /* |
2 | * StrongARM 1100 LCD Controller Frame Buffer Device |
3 | * |
4 | * Copyright (C) 1999 Eric A. Thomas |
5 | * Based on acornfb.c Copyright (C) Russell King. |
6 | * |
7 | * This file is subject to the terms and conditions of the GNU General Public |
8 | * License. See the file COPYING in the main directory of this archive |
9 | * for more details. |
10 | */ |
11 | #ifndef _VIDEO_SA1100FB_H |
12 | #define _VIDEO_SA1100FB_H |
13 | |
14 | #include <linux/fb.h> |
15 | #include <linux/types.h> |
16 | |
17 | #define RGB_4 0 |
18 | #define RGB_8 1 |
19 | #define RGB_16 2 |
20 | #define NR_RGB 3 |
21 | |
22 | /* These are the bitfields for each display depth that we support. */ |
23 | struct sa1100fb_rgb { |
24 | struct fb_bitfield red; |
25 | struct fb_bitfield green; |
26 | struct fb_bitfield blue; |
27 | struct fb_bitfield transp; |
28 | }; |
29 | |
30 | /* This structure describes the machine which we are running on. */ |
31 | struct sa1100fb_mach_info { |
32 | u_long pixclock; |
33 | |
34 | u_short xres; |
35 | u_short yres; |
36 | |
37 | u_char bpp; |
38 | u_char hsync_len; |
39 | u_char left_margin; |
40 | u_char right_margin; |
41 | |
42 | u_char vsync_len; |
43 | u_char upper_margin; |
44 | u_char lower_margin; |
45 | u_char sync; |
46 | |
47 | u_int cmap_greyscale:1, |
48 | cmap_inverse:1, |
49 | cmap_static:1, |
50 | unused:29; |
51 | |
52 | u_int lccr0; |
53 | u_int lccr3; |
54 | |
55 | /* Overrides for the default RGB maps */ |
56 | const struct sa1100fb_rgb *rgb[NR_RGB]; |
57 | |
58 | void (*backlight_power)(int); |
59 | void (*lcd_power)(int); |
60 | void (*set_visual)(u32); |
61 | }; |
62 | |
63 | #endif |
64 | |