1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * Copyright (c) 2011 The Chromium OS Authors.
4 */
5
6 #include <common.h>
7 #include <api_public.h>
8 #include <lcd.h>
9 #include <log.h>
10 #include <video_font.h> /* Get font width and height */
11
12 /* lcd.h needs BMP_LOGO_HEIGHT to calculate CONSOLE_ROWS */
13 #if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
14 #include <bmp_logo.h>
15 #endif
16
17 /* TODO(clchiou): add support of video device */
18
display_get_info(int type,struct display_info * di)19 int display_get_info(int type, struct display_info *di)
20 {
21 if (!di)
22 return API_EINVAL;
23
24 switch (type) {
25 default:
26 debug("%s: unsupport display device type: %d\n",
27 __FILE__, type);
28 return API_ENODEV;
29 #ifdef CONFIG_LCD
30 case DISPLAY_TYPE_LCD:
31 di->pixel_width = panel_info.vl_col;
32 di->pixel_height = panel_info.vl_row;
33 di->screen_rows = lcd_get_screen_rows();
34 di->screen_cols = lcd_get_screen_columns();
35 break;
36 #endif
37 }
38
39 di->type = type;
40 return 0;
41 }
42
display_draw_bitmap(ulong bitmap,int x,int y)43 int display_draw_bitmap(ulong bitmap, int x, int y)
44 {
45 if (!bitmap)
46 return API_EINVAL;
47 #ifdef CONFIG_LCD
48 return lcd_display_bitmap(bitmap, x, y);
49 #else
50 return API_ENODEV;
51 #endif
52 }
53
display_clear(void)54 void display_clear(void)
55 {
56 #ifdef CONFIG_LCD
57 lcd_clear();
58 #endif
59 }
60