]> Git Repo - J-u-boot.git/blobdiff - common/lcd.c
configs: Resync with savedefconfig
[J-u-boot.git] / common / lcd.c
index c3ff9599ed89cc0e03d60d8ff9a63f44c0e5afd1..16a0a7cea8fc95a153da45d6cdc8c24bce3e6771 100644 (file)
@@ -1,17 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Common LCD routines
  *
  * (C) Copyright 2001-2002
  * Wolfgang Denk, DENX Software Engineering -- [email protected]
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 /* #define DEBUG */
 #include <config.h>
 #include <common.h>
 #include <command.h>
+#include <cpu_func.h>
 #include <env_callback.h>
+#include <log.h>
+#include <asm/cache.h>
+#include <init.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <stdio_dev.h>
 #include <lcd.h>
@@ -62,7 +66,7 @@ void lcd_sync(void)
         * architectures do not actually implement it. Is there a way to find
         * out whether it exists? For now, ARM is safe.
         */
-#if defined(CONFIG_ARM) && !defined(CONFIG_SYS_DCACHE_OFF)
+#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        int line_length;
 
        if (lcd_flush_dcache)
@@ -172,8 +176,7 @@ int drv_lcd_init(void)
 void lcd_clear(void)
 {
        int bg_color;
-       char *s;
-       ulong addr;
+       __maybe_unused ulong addr;
        static int do_splash = 1;
 #if LCD_BPP == LCD_COLOR8
        /* Setting the palette */
@@ -223,14 +226,10 @@ void lcd_clear(void)
        /* Paint the logo and retrieve LCD base address */
        debug("[LCD] Drawing the logo...\n");
        if (do_splash) {
-               s = env_get("splashimage");
-               if (s) {
+               if (splash_display() == 0) {
                        do_splash = 0;
-                       addr = simple_strtoul(s, NULL, 16);
-                       if (lcd_splash(addr) == 0) {
-                               lcd_sync();
-                               return;
-                       }
+                       lcd_sync();
+                       return;
                }
        }
 
@@ -243,14 +242,6 @@ void lcd_clear(void)
        lcd_sync();
 }
 
-static int do_lcd_clear(cmd_tbl_t *cmdtp, int flag, int argc,
-                       char *const argv[])
-{
-       lcd_clear();
-       return 0;
-}
-U_BOOT_CMD(cls,        1, 1, do_lcd_clear, "clear screen", "");
-
 static int lcd_init(void *lcdbase)
 {
        debug("[LCD] Initializing LCD frambuffer at %p\n", lcdbase);
@@ -390,7 +381,6 @@ static inline void lcd_logo_plot(int x, int y) {}
 
 #if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
 #ifdef CONFIG_SPLASH_SCREEN_ALIGN
-#define BMP_ALIGN_CENTER       0x7FFF
 
 static void splash_align_axis(int *axis, unsigned long panel_size,
                                        unsigned long picture_size)
@@ -578,7 +568,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
        unsigned long pwidth = panel_info.vl_col;
        unsigned colors, bpix, bmp_bpix;
        int hdr_size;
-       struct bmp_color_table_entry *palette = bmp->color_table;
+       struct bmp_color_table_entry *palette;
 
        if (!bmp || !(bmp->header.signature[0] == 'B' &&
                bmp->header.signature[1] == 'M')) {
@@ -587,6 +577,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                return 1;
        }
 
+       palette = bmp->color_table;
        width = get_unaligned_le32(&bmp->header.width);
        height = get_unaligned_le32(&bmp->header.height);
        bmp_bpix = get_unaligned_le16(&bmp->header.bit_count);
@@ -756,7 +747,7 @@ static int on_splashimage(const char *name, const char *value, enum env_op op,
        if (op == env_op_delete)
                return 0;
 
-       addr = simple_strtoul(value, NULL, 16);
+       addr = hextoul(value, NULL);
        /* See README.displaying-bmps */
        aligned = (addr % 4 == 2);
        if (!aligned) {
This page took 0.028473 seconds and 4 git commands to generate.