1 /* 2 * (C) Copyright 1997-2002 ELTEC Elektronik AG 3 * Frank Gottschling <fgottschling@eltec.de> 4 * 5 * See file CREDITS for list of people who contributed to this 6 * project. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation; either version 2 of 11 * the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21 * MA 02111-1307 USA 22 */ 23 24 /* 25 * smiLynxEM.h 26 * Silicon Motion graphic interface for sm810/sm710/sm712 accelerator 27 * 28 * 29 * modification history 30 * -------------------- 31 * 04-18-2002 Rewritten for U-Boot <fgottschling@eltec.de>. 32 */ 33 34 #ifndef _VIDEO_FB_H_ 35 #define _VIDEO_FB_H_ 36 37 #define CONSOLE_BG_COL 0x00 38 #define CONSOLE_FG_COL 0xa0 39 40 /* 41 * Graphic Data Format (GDF) bits for VIDEO_DATA_FORMAT 42 */ 43 #define GDF__8BIT_INDEX 0 44 #define GDF_15BIT_555RGB 1 45 #define GDF_16BIT_565RGB 2 46 #define GDF_32BIT_X888RGB 3 47 #define GDF_24BIT_888RGB 4 48 #define GDF__8BIT_332RGB 5 49 50 /******************************************************************************/ 51 /* Export Graphic Driver Control */ 52 /******************************************************************************/ 53 54 typedef struct { 55 unsigned int isaBase; 56 unsigned int pciBase; 57 unsigned int dprBase; 58 unsigned int vprBase; 59 unsigned int cprBase; 60 unsigned int frameAdrs; 61 unsigned int memSize; 62 unsigned int mode; 63 unsigned int gdfIndex; 64 unsigned int gdfBytesPP; 65 unsigned int fg; 66 unsigned int bg; 67 unsigned int plnSizeX; 68 unsigned int plnSizeY; 69 unsigned int winSizeX; 70 unsigned int winSizeY; 71 char modeIdent[80]; 72 } GraphicDevice; 73 74 75 /******************************************************************************/ 76 /* Export Graphic Functions */ 77 /******************************************************************************/ 78 79 void *video_hw_init (void); /* returns GraphicDevice struct or NULL */ 80 81 #ifdef VIDEO_HW_BITBLT 82 void video_hw_bitblt ( 83 unsigned int bpp, /* bytes per pixel */ 84 unsigned int src_x, /* source pos x */ 85 unsigned int src_y, /* source pos y */ 86 unsigned int dst_x, /* dest pos x */ 87 unsigned int dst_y, /* dest pos y */ 88 unsigned int dim_x, /* frame width */ 89 unsigned int dim_y /* frame height */ 90 ); 91 #endif 92 93 #ifdef VIDEO_HW_RECTFILL 94 void video_hw_rectfill ( 95 unsigned int bpp, /* bytes per pixel */ 96 unsigned int dst_x, /* dest pos x */ 97 unsigned int dst_y, /* dest pos y */ 98 unsigned int dim_x, /* frame width */ 99 unsigned int dim_y, /* frame height */ 100 unsigned int color /* fill color */ 101 ); 102 #endif 103 104 void video_set_lut ( 105 unsigned int index, /* color number */ 106 unsigned char r, /* red */ 107 unsigned char g, /* green */ 108 unsigned char b /* blue */ 109 ); 110 #ifdef CONFIG_VIDEO_HW_CURSOR 111 void video_set_hw_cursor(int x, int y); /* x y in pixel */ 112 void video_init_hw_cursor(int font_width, int font_height); 113 #endif 114 115 #endif /*_VIDEO_FB_H_ */ 116