make CONSOLE_BG_COL/CONSOLE_FG_COL configurable through board config file.
Clear video screen in video_init().

Signed-off-by: Heiko Schocher <h...@denx.de>
Cc: Anatolij Gustschin <ag...@denx.de>
---
 README                      |  5 +++++
 drivers/video/cfb_console.c | 38 ++++++++++++++++++++------------------
 include/video_fb.h          |  5 +++++
 3 Dateien geändert, 30 Zeilen hinzugefügt(+), 18 Zeilen entfernt(-)

diff --git a/README b/README
index a30ea31..f3aaffc 100644
--- a/README
+++ b/README
@@ -691,6 +691,11 @@ The following options need to be configured:
                the "silent" environment variable. See
                doc/README.silent for more information.
 
+               CONFIG_SYS_CONSOLE_BG_COL: define the backgroundcolor, default
+                       is 0x00.
+               CONFIG_SYS_CONSOLE_FG_COL: define the foregroundcolor, default
+                       is 0xa0.
+
 - Console Baudrate:
                CONFIG_BAUDRATE - in bps
                Select one of the baudrates listed in
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 822ed28..289c487 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -2091,6 +2091,24 @@ defined(CONFIG_SANDBOX) || defined(CONFIG_X86)
        return 0;
 }
 
+void video_clear(void)
+{
+       if (!video_fb_address)
+               return;
+#ifdef VIDEO_HW_RECTFILL
+       video_hw_rectfill(VIDEO_PIXEL_SIZE,     /* bytes per pixel */
+                         0,                    /* dest pos x */
+                         0,                    /* dest pos y */
+                         VIDEO_VISIBLE_COLS,   /* frame width */
+                         VIDEO_VISIBLE_ROWS,   /* frame height */
+                         bgx                   /* fill color */
+       );
+#else
+       memsetl(video_fb_address,
+               (VIDEO_VISIBLE_ROWS * VIDEO_LINE_LEN) / sizeof(int), bgx);
+#endif
+}
+
 static int video_init(void)
 {
        unsigned char color8;
@@ -2177,6 +2195,8 @@ static int video_init(void)
        }
        eorx = fgx ^ bgx;
 
+       video_clear();
+
 #ifdef CONFIG_VIDEO_LOGO
        /* Plot the logo and get start point of console */
        debug("Video: Drawing the logo ...\n");
@@ -2280,21 +2300,3 @@ int video_get_screen_columns(void)
 {
        return CONSOLE_COLS;
 }
-
-void video_clear(void)
-{
-       if (!video_fb_address)
-               return;
-#ifdef VIDEO_HW_RECTFILL
-       video_hw_rectfill(VIDEO_PIXEL_SIZE,     /* bytes per pixel */
-                         0,                    /* dest pos x */
-                         0,                    /* dest pos y */
-                         VIDEO_VISIBLE_COLS,   /* frame width */
-                         VIDEO_VISIBLE_ROWS,   /* frame height */
-                         bgx                   /* fill color */
-       );
-#else
-       memsetl(video_fb_address,
-               (VIDEO_VISIBLE_ROWS * VIDEO_LINE_LEN) / sizeof(int), bgx);
-#endif
-}
diff --git a/include/video_fb.h b/include/video_fb.h
index 028e2a6..6cd4e37 100644
--- a/include/video_fb.h
+++ b/include/video_fb.h
@@ -18,8 +18,13 @@
 #ifndef _VIDEO_FB_H_
 #define _VIDEO_FB_H_
 
+#if defined(CONFIG_SYS_CONSOLE_FG_COL) && defined(CONFIG_SYS_CONSOLE_BG_COL)
+#define CONSOLE_BG_COL            CONFIG_SYS_CONSOLE_BG_COL
+#define CONSOLE_FG_COL            CONFIG_SYS_CONSOLE_FG_COL
+#else
 #define CONSOLE_BG_COL            0x00
 #define CONSOLE_FG_COL            0xa0
+#endif
 
 /*
  * Graphic Data Format (GDF) bits for VIDEO_DATA_FORMAT
-- 
1.7.11.7

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to