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