xref: /rk3399_rockchip-uboot/include/video_fb.h (revision a4206575c8e0108faed0383c08b743b50e5562f5)
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