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