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