GNU Linux-libre 6.9.2-gnu
[releases.git] / include / video / sa1100fb.h
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