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