uboot/api/api_display.c
<<
>>
Prefs
   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
  19int 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
  43int 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
  54void display_clear(void)
  55{
  56#ifdef CONFIG_LCD
  57        lcd_clear();
  58#endif
  59}
  60