1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 1997-2002 ELTEC Elektronik AG 3*4882a593Smuzhiyun * Frank Gottschling <fgottschling@eltec.de> 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* 9*4882a593Smuzhiyun * smiLynxEM.h 10*4882a593Smuzhiyun * Silicon Motion graphic interface for sm810/sm710/sm712 accelerator 11*4882a593Smuzhiyun * 12*4882a593Smuzhiyun * 13*4882a593Smuzhiyun * modification history 14*4882a593Smuzhiyun * -------------------- 15*4882a593Smuzhiyun * 04-18-2002 Rewritten for U-Boot <fgottschling@eltec.de>. 16*4882a593Smuzhiyun */ 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #ifndef _VIDEO_FB_H_ 19*4882a593Smuzhiyun #define _VIDEO_FB_H_ 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun /* 22*4882a593Smuzhiyun * Graphic Data Format (GDF) bits for VIDEO_DATA_FORMAT 23*4882a593Smuzhiyun */ 24*4882a593Smuzhiyun #define GDF__8BIT_INDEX 0 25*4882a593Smuzhiyun #define GDF_15BIT_555RGB 1 26*4882a593Smuzhiyun #define GDF_16BIT_565RGB 2 27*4882a593Smuzhiyun #define GDF_32BIT_X888RGB 3 28*4882a593Smuzhiyun #define GDF_24BIT_888RGB 4 29*4882a593Smuzhiyun #define GDF__8BIT_332RGB 5 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /******************************************************************************/ 32*4882a593Smuzhiyun /* Export Graphic Driver Control */ 33*4882a593Smuzhiyun /******************************************************************************/ 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun typedef struct graphic_device { 36*4882a593Smuzhiyun unsigned int isaBase; 37*4882a593Smuzhiyun unsigned int pciBase; 38*4882a593Smuzhiyun unsigned int dprBase; 39*4882a593Smuzhiyun unsigned int vprBase; 40*4882a593Smuzhiyun unsigned int cprBase; 41*4882a593Smuzhiyun unsigned int frameAdrs; 42*4882a593Smuzhiyun unsigned int memSize; 43*4882a593Smuzhiyun unsigned int mode; 44*4882a593Smuzhiyun unsigned int gdfIndex; 45*4882a593Smuzhiyun unsigned int gdfBytesPP; 46*4882a593Smuzhiyun unsigned int fg; 47*4882a593Smuzhiyun unsigned int bg; 48*4882a593Smuzhiyun unsigned int plnSizeX; 49*4882a593Smuzhiyun unsigned int plnSizeY; 50*4882a593Smuzhiyun unsigned int winSizeX; 51*4882a593Smuzhiyun unsigned int winSizeY; 52*4882a593Smuzhiyun char modeIdent[80]; 53*4882a593Smuzhiyun } GraphicDevice; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /******************************************************************************/ 57*4882a593Smuzhiyun /* Export Graphic Functions */ 58*4882a593Smuzhiyun /******************************************************************************/ 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun void *video_hw_init (void); /* returns GraphicDevice struct or NULL */ 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun #ifdef VIDEO_HW_BITBLT 63*4882a593Smuzhiyun void video_hw_bitblt ( 64*4882a593Smuzhiyun unsigned int bpp, /* bytes per pixel */ 65*4882a593Smuzhiyun unsigned int src_x, /* source pos x */ 66*4882a593Smuzhiyun unsigned int src_y, /* source pos y */ 67*4882a593Smuzhiyun unsigned int dst_x, /* dest pos x */ 68*4882a593Smuzhiyun unsigned int dst_y, /* dest pos y */ 69*4882a593Smuzhiyun unsigned int dim_x, /* frame width */ 70*4882a593Smuzhiyun unsigned int dim_y /* frame height */ 71*4882a593Smuzhiyun ); 72*4882a593Smuzhiyun #endif 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun #ifdef VIDEO_HW_RECTFILL 75*4882a593Smuzhiyun void video_hw_rectfill ( 76*4882a593Smuzhiyun unsigned int bpp, /* bytes per pixel */ 77*4882a593Smuzhiyun unsigned int dst_x, /* dest pos x */ 78*4882a593Smuzhiyun unsigned int dst_y, /* dest pos y */ 79*4882a593Smuzhiyun unsigned int dim_x, /* frame width */ 80*4882a593Smuzhiyun unsigned int dim_y, /* frame height */ 81*4882a593Smuzhiyun unsigned int color /* fill color */ 82*4882a593Smuzhiyun ); 83*4882a593Smuzhiyun #endif 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun void video_set_lut ( 86*4882a593Smuzhiyun unsigned int index, /* color number */ 87*4882a593Smuzhiyun unsigned char r, /* red */ 88*4882a593Smuzhiyun unsigned char g, /* green */ 89*4882a593Smuzhiyun unsigned char b /* blue */ 90*4882a593Smuzhiyun ); 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun #endif /*_VIDEO_FB_H_ */ 93