colibri_imx6: fix video stdout in default environment
[oweals/u-boot.git] / api / api_display.c
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
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
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
54 void display_clear(void)
55 {
56 #ifdef CONFIG_LCD
57         lcd_clear();
58 #endif
59 }