xref: /openbmc/u-boot/include/video_fb.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
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