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