]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - common/lcd.c
lcd: rename bitmap_plot to better represent its functionality
[karo-tx-uboot.git] / common / lcd.c
index 66960c6a6810c2540d66cc5ef71959bd74a17480..092fd40dcbe0d4aa1a2f955dab8c78300540ed61 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Common LCD routines for supported CPUs
+ * Common LCD routines
  *
  * (C) Copyright 2001-2002
  * Wolfgang Denk, DENX Software Engineering -- wd@denx.de
@@ -7,12 +7,7 @@
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
-/************************************************************************/
-/* ** HEADER FILES                                                     */
-/************************************************************************/
-
 /* #define DEBUG */
-
 #include <config.h>
 #include <common.h>
 #include <command.h>
 #include <asm/io.h>
 #include <asm/unaligned.h>
 #include <fdt_support.h>
+#include <video_font.h>
 
 #if defined(CONFIG_LCD_DT_SIMPLEFB)
 #include <libfdt.h>
 #endif
 
-/************************************************************************/
-/* ** FONT DATA                                                                */
-/************************************************************************/
-#include <video_font.h>                /* Get font data, width and height      */
-
-/************************************************************************/
-/* ** LOGO DATA                                                                */
-/************************************************************************/
 #ifdef CONFIG_LCD_LOGO
-# include <bmp_logo.h>         /* Get logo data, width and height      */
-# include <bmp_logo_data.h>
-# if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP < LCD_COLOR16)
-#  error Default Color Map overlaps with Logo Color Map
-# endif
+#include <bmp_logo.h>
+#include <bmp_logo_data.h>
+#if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16)
+#error Default Color Map overlaps with Logo Color Map
+#endif
 #endif
 
 #ifdef CONFIG_SANDBOX
 
 #if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \
        (LCD_BPP != LCD_COLOR32)
-# error Unsupported LCD BPP.
+#error Unsupported LCD BPP.
 #endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
 static int lcd_init(void *lcdbase);
-
 static void *lcd_logo(void);
-
 static void lcd_setfgcolor(int color);
 static void lcd_setbgcolor(int color);
 
 static int lcd_color_fg;
 static int lcd_color_bg;
 int lcd_line_length;
-
 char lcd_is_enabled = 0;
-
 static void *lcd_base;                 /* Start of framebuffer memory  */
-
 static char lcd_flush_dcache;  /* 1 to flush dcache after each lcd update */
 
-/************************************************************************/
-
 /* Flush LCD activity to the caches */
 void lcd_sync(void)
 {
@@ -110,8 +91,6 @@ void lcd_set_flush_dcache(int flush)
        lcd_flush_dcache = (flush != 0);
 }
 
-/*----------------------------------------------------------------------*/
-
 static void lcd_stub_putc(struct stdio_dev *dev, const char c)
 {
        lcd_putc(c);
@@ -122,9 +101,7 @@ static void lcd_stub_puts(struct stdio_dev *dev, const char *s)
        lcd_puts(s);
 }
 
-/************************************************************************/
-/**  Small utility to check that you got the colours right             */
-/************************************************************************/
+/* Small utility to check that you got the colours right */
 #ifdef LCD_TEST_PATTERN
 
 #define        N_BLK_VERT      2
@@ -168,10 +145,6 @@ static void test_pattern(void)
 }
 #endif /* LCD_TEST_PATTERN */
 
-
-/************************************************************************/
-/* ** GENERIC Initialization Routines                                  */
-/************************************************************************/
 /*
  * With most lcd drivers the line length is set up
  * by calculating it from panel_info parameters. Some
@@ -191,7 +164,7 @@ int drv_lcd_init(void)
 
        lcd_base = map_sysmem(gd->fb_base, 0);
 
-       lcd_init(lcd_base);             /* LCD initialization */
+       lcd_init(lcd_base);
 
        /* Device initialization */
        memset(&lcddev, 0, sizeof(lcddev));
@@ -207,7 +180,6 @@ int drv_lcd_init(void)
        return (rc == 0) ? 1 : rc;
 }
 
-/*----------------------------------------------------------------------*/
 void lcd_clear(void)
 {
        short console_rows, console_cols;
@@ -271,18 +243,10 @@ static int do_lcd_clear(cmd_tbl_t *cmdtp, int flag, int argc,
        lcd_clear();
        return 0;
 }
-
-U_BOOT_CMD(
-       cls,    1,      1,      do_lcd_clear,
-       "clear screen",
-       ""
-);
-
-/*----------------------------------------------------------------------*/
+U_BOOT_CMD(cls,        1, 1, do_lcd_clear, "clear screen", "");
 
 static int lcd_init(void *lcdbase)
 {
-       /* Initialize the lcd controller */
        debug("[LCD] Initializing %ux%ux%u LCD framebuffer at %p\n",
                panel_info.vl_col, panel_info.vl_row, NBITS(panel_info.vl_bpix),
                lcdbase);
@@ -316,10 +280,6 @@ static int lcd_init(void *lcdbase)
        return 0;
 }
 
-
-/************************************************************************/
-/* ** ROM capable initialization part - needed to reserve FB memory    */
-/************************************************************************/
 /*
  * This is called early in the system initialization to grab memory
  * for the LCD controller.
@@ -350,8 +310,6 @@ ulong lcd_setmem(ulong addr)
        return addr;
 }
 
-/*----------------------------------------------------------------------*/
-
 static void lcd_setfgcolor(int color)
 {
        lcd_color_fg = color;
@@ -362,8 +320,6 @@ int lcd_getfgcolor(void)
        return lcd_color_fg;
 }
 
-/*----------------------------------------------------------------------*/
-
 static void lcd_setbgcolor(int color)
 {
        lcd_color_bg = color;
@@ -374,10 +330,6 @@ int lcd_getbgcolor(void)
        return lcd_color_bg;
 }
 
-/************************************************************************/
-/* ** Chipset depending Bitmap / Logo stuff...                          */
-/************************************************************************/
-
 #ifdef CONFIG_LCD_LOGO
 __weak void lcd_logo_set_cmap(void)
 {
@@ -388,20 +340,17 @@ __weak void lcd_logo_set_cmap(void)
                *cmap++ = bmp_logo_palette[i];
 }
 
-void bitmap_plot(int x, int y)
+void lcd_logo_plot(int x, int y)
 {
        ushort i, j;
-       uchar *bmap;
-       uchar *fb;
-       ushort *fb16;
+       uchar *bmap = &bmp_logo_bitmap[0];
        unsigned bpix = NBITS(panel_info.vl_bpix);
+       uchar *fb = (uchar *)(lcd_base + y * lcd_line_length + x * bpix / 8);
+       ushort *fb16;
 
        debug("Logo: width %d  height %d  colors %d\n",
              BMP_LOGO_WIDTH, BMP_LOGO_HEIGHT, BMP_LOGO_COLORS);
 
-       bmap = &bmp_logo_bitmap[0];
-       fb   = (uchar *)(lcd_base + y * lcd_line_length + x * bpix / 8);
-
        if (bpix < 12) {
                WATCHDOG_RESET();
                lcd_logo_set_cmap();
@@ -447,16 +396,10 @@ void bitmap_plot(int x, int y)
        lcd_sync();
 }
 #else
-static inline void bitmap_plot(int x, int y) {}
+static inline void lcd_logo_plot(int x, int y) {}
 #endif /* CONFIG_LCD_LOGO */
 
-/*----------------------------------------------------------------------*/
 #if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
-/*
- * Display the BMP file located at address bmp_image.
- * Only uncompressed.
- */
-
 #ifdef CONFIG_SPLASH_SCREEN_ALIGN
 #define BMP_ALIGN_CENTER       0x7FFF
 
@@ -477,9 +420,7 @@ static void splash_align_axis(int *axis, unsigned long panel_size,
 }
 #endif
 
-
 #ifdef CONFIG_LCD_BMP_RLE8
-
 #define BMP_RLE8_ESCAPE                0
 #define BMP_RLE8_EOL           0
 #define BMP_RLE8_EOBMP         1
@@ -713,7 +654,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                (y + height - 1) * lcd_line_length + x * bpix / 8);
 
        switch (bmp_bpix) {
-       case 1: /* pass through */
+       case 1:
        case 8: {
                cmap_base = configuration_get_cmap();
 #ifdef CONFIG_LCD_BMP_RLE8
@@ -831,7 +772,7 @@ static void *lcd_logo(void)
        }
 #endif /* CONFIG_SPLASH_SCREEN */
 
-       bitmap_plot(0, 0);
+       lcd_logo_plot(0, 0);
 
 #ifdef CONFIG_LCD_INFO
        lcd_set_col(LCD_INFO_X / VIDEO_FONT_WIDTH);