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 54typedef 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 79void *video_hw_init (void); /* returns GraphicDevice struct or NULL */ 80 81#ifdef VIDEO_HW_BITBLT 82void 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 94void 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 104void 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 111void video_set_hw_cursor(int x, int y); /* x y in pixel */ 112void video_init_hw_cursor(int font_width, int font_height); 113#endif 114 115#endif /*_VIDEO_FB_H_ */ 116