xref: /rk3399_rockchip-uboot/include/video.h (revision fc1a79d95e9038e9cf53f99c1825005b4dfaf7f4)
1167c5898Swdenk /*
2167c5898Swdenk ** MPC823 Video Controller
3167c5898Swdenk ** =======================
4167c5898Swdenk ** (C) 2000 by Paolo Scaffardi (arsenio@tin.it)
5167c5898Swdenk ** AIRVENT SAM s.p.a - RIMINI(ITALY)
6167c5898Swdenk **
7167c5898Swdenk */
8167c5898Swdenk 
9167c5898Swdenk #ifndef _VIDEO_H_
10167c5898Swdenk #define _VIDEO_H_
11167c5898Swdenk 
12167c5898Swdenk /* Video functions */
13167c5898Swdenk 
14709ea543SSimon Glass struct stdio_dev;
15709ea543SSimon Glass 
16167c5898Swdenk int	video_init(void *videobase);
17709ea543SSimon Glass void	video_putc(struct stdio_dev *dev, const char c);
18709ea543SSimon Glass void	video_puts(struct stdio_dev *dev, const char *s);
19167c5898Swdenk 
20f674f7cfSStefan Reinauer /**
21f674f7cfSStefan Reinauer  * Display a BMP format bitmap on the screen
22f674f7cfSStefan Reinauer  *
23f674f7cfSStefan Reinauer  * @param bmp_image	Address of BMP image
24f674f7cfSStefan Reinauer  * @param x		X position to draw image
25f674f7cfSStefan Reinauer  * @param y		Y position to draw image
26f674f7cfSStefan Reinauer  */
27f674f7cfSStefan Reinauer int video_display_bitmap(ulong bmp_image, int x, int y);
28f674f7cfSStefan Reinauer 
29f674f7cfSStefan Reinauer /**
30f674f7cfSStefan Reinauer  * Get the width of the screen in pixels
31f674f7cfSStefan Reinauer  *
32f674f7cfSStefan Reinauer  * @return width of screen in pixels
33f674f7cfSStefan Reinauer  */
34f674f7cfSStefan Reinauer int video_get_pixel_width(void);
35f674f7cfSStefan Reinauer 
36f674f7cfSStefan Reinauer /**
37f674f7cfSStefan Reinauer  * Get the height of the screen in pixels
38f674f7cfSStefan Reinauer  *
39f674f7cfSStefan Reinauer  * @return height of screen in pixels
40f674f7cfSStefan Reinauer  */
41f674f7cfSStefan Reinauer int video_get_pixel_height(void);
42f674f7cfSStefan Reinauer 
43f674f7cfSStefan Reinauer /**
44f674f7cfSStefan Reinauer  * Get the number of text lines/rows on the screen
45f674f7cfSStefan Reinauer  *
46f674f7cfSStefan Reinauer  * @return number of rows
47f674f7cfSStefan Reinauer  */
48f674f7cfSStefan Reinauer int video_get_screen_rows(void);
49f674f7cfSStefan Reinauer 
50f674f7cfSStefan Reinauer /**
51f674f7cfSStefan Reinauer  * Get the number of text columns on the screen
52f674f7cfSStefan Reinauer  *
53f674f7cfSStefan Reinauer  * @return number of columns
54f674f7cfSStefan Reinauer  */
55f674f7cfSStefan Reinauer int video_get_screen_columns(void);
56f674f7cfSStefan Reinauer 
57f674f7cfSStefan Reinauer /**
58f674f7cfSStefan Reinauer  * Set the position of the text cursor
59f674f7cfSStefan Reinauer  *
60f674f7cfSStefan Reinauer  * @param col	Column to place cursor (0 = left side)
61f674f7cfSStefan Reinauer  * @param row	Row to place cursor (0 = top line)
62f674f7cfSStefan Reinauer  */
63f674f7cfSStefan Reinauer void video_position_cursor(unsigned col, unsigned row);
64f674f7cfSStefan Reinauer 
65f674f7cfSStefan Reinauer /* Clear the display */
66f674f7cfSStefan Reinauer void video_clear(void);
67f674f7cfSStefan Reinauer 
68b26354cfSHeiko Schocher #if defined(CONFIG_FORMIKE)
69b26354cfSHeiko Schocher int kwh043st20_f01_spi_startup(unsigned int bus, unsigned int cs,
70b26354cfSHeiko Schocher 	unsigned int max_hz, unsigned int spi_mode);
71b26354cfSHeiko Schocher #endif
72*fc1a79d9SHeiko Schocher #if defined(CONFIG_LG4573)
73*fc1a79d9SHeiko Schocher int lg4573_spi_startup(unsigned int bus, unsigned int cs,
74*fc1a79d9SHeiko Schocher 	unsigned int max_hz, unsigned int spi_mode);
75*fc1a79d9SHeiko Schocher #endif
76167c5898Swdenk #endif
77