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