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 2145ae2546SHeiko Schocher #if defined(CONFIG_SYS_CONSOLE_FG_COL) && defined(CONFIG_SYS_CONSOLE_BG_COL) 2245ae2546SHeiko Schocher #define CONSOLE_BG_COL CONFIG_SYS_CONSOLE_BG_COL 2345ae2546SHeiko Schocher #define CONSOLE_FG_COL CONFIG_SYS_CONSOLE_FG_COL 2445ae2546SHeiko Schocher #else 25c609719bSwdenk #define CONSOLE_BG_COL 0x00 26c609719bSwdenk #define CONSOLE_FG_COL 0xa0 2745ae2546SHeiko Schocher #endif 28c609719bSwdenk 29c609719bSwdenk /* 30c609719bSwdenk * Graphic Data Format (GDF) bits for VIDEO_DATA_FORMAT 31c609719bSwdenk */ 32c609719bSwdenk #define GDF__8BIT_INDEX 0 33c609719bSwdenk #define GDF_15BIT_555RGB 1 34c609719bSwdenk #define GDF_16BIT_565RGB 2 35c609719bSwdenk #define GDF_32BIT_X888RGB 3 36c609719bSwdenk #define GDF_24BIT_888RGB 4 37c609719bSwdenk #define GDF__8BIT_332RGB 5 38c609719bSwdenk 39c609719bSwdenk /******************************************************************************/ 40c609719bSwdenk /* Export Graphic Driver Control */ 41c609719bSwdenk /******************************************************************************/ 42c609719bSwdenk 43*6854f87cSSimon Glass typedef struct graphic_device { 44c609719bSwdenk unsigned int isaBase; 45c609719bSwdenk unsigned int pciBase; 46c609719bSwdenk unsigned int dprBase; 47c609719bSwdenk unsigned int vprBase; 48c609719bSwdenk unsigned int cprBase; 49c609719bSwdenk unsigned int frameAdrs; 50c609719bSwdenk unsigned int memSize; 51c609719bSwdenk unsigned int mode; 52c609719bSwdenk unsigned int gdfIndex; 53c609719bSwdenk unsigned int gdfBytesPP; 54c609719bSwdenk unsigned int fg; 55c609719bSwdenk unsigned int bg; 56c609719bSwdenk unsigned int plnSizeX; 57c609719bSwdenk unsigned int plnSizeY; 58c609719bSwdenk unsigned int winSizeX; 59c609719bSwdenk unsigned int winSizeY; 60c609719bSwdenk char modeIdent[80]; 61c609719bSwdenk } GraphicDevice; 62c609719bSwdenk 63c609719bSwdenk 64c609719bSwdenk /******************************************************************************/ 65c609719bSwdenk /* Export Graphic Functions */ 66c609719bSwdenk /******************************************************************************/ 67c609719bSwdenk 68c609719bSwdenk void *video_hw_init (void); /* returns GraphicDevice struct or NULL */ 69c609719bSwdenk 70c609719bSwdenk #ifdef VIDEO_HW_BITBLT 71c609719bSwdenk void video_hw_bitblt ( 72c609719bSwdenk unsigned int bpp, /* bytes per pixel */ 73c609719bSwdenk unsigned int src_x, /* source pos x */ 74c609719bSwdenk unsigned int src_y, /* source pos y */ 75c609719bSwdenk unsigned int dst_x, /* dest pos x */ 76c609719bSwdenk unsigned int dst_y, /* dest pos y */ 77c609719bSwdenk unsigned int dim_x, /* frame width */ 78c609719bSwdenk unsigned int dim_y /* frame height */ 79c609719bSwdenk ); 80c609719bSwdenk #endif 81c609719bSwdenk 82c609719bSwdenk #ifdef VIDEO_HW_RECTFILL 83c609719bSwdenk void video_hw_rectfill ( 84c609719bSwdenk unsigned int bpp, /* bytes per pixel */ 85c609719bSwdenk unsigned int dst_x, /* dest pos x */ 86c609719bSwdenk unsigned int dst_y, /* dest pos y */ 87c609719bSwdenk unsigned int dim_x, /* frame width */ 88c609719bSwdenk unsigned int dim_y, /* frame height */ 89c609719bSwdenk unsigned int color /* fill color */ 90c609719bSwdenk ); 91c609719bSwdenk #endif 92c609719bSwdenk 93c609719bSwdenk void video_set_lut ( 94c609719bSwdenk unsigned int index, /* color number */ 95c609719bSwdenk unsigned char r, /* red */ 96c609719bSwdenk unsigned char g, /* green */ 97c609719bSwdenk unsigned char b /* blue */ 98c609719bSwdenk ); 99c609719bSwdenk #ifdef CONFIG_VIDEO_HW_CURSOR 100c609719bSwdenk void video_set_hw_cursor(int x, int y); /* x y in pixel */ 101c609719bSwdenk void video_init_hw_cursor(int font_width, int font_height); 102c609719bSwdenk #endif 103c609719bSwdenk 104c609719bSwdenk #endif /*_VIDEO_FB_H_ */ 105