aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHeinrich Schuchardt2018-02-08 21:47:11 +0100
committerAnatolij Gustschin2018-03-06 10:03:20 +0100
commit5c30fbb8ec4aa364d5e441c86d7b5776d6c94fb0 (patch)
treee0703b76a95d87379f2ce5f2b1014311de089ecd /include
parentd7a75d3cd7cd7ce3665442e4e566b147c4c8602b (diff)
dm: video: use constants to refer to colors
Use constants to refer to colors. Adjust initialization of foreground and background color to avoid setting reserved bits. Consistently u32 instead of unsigned for color bit mask. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/video.h11
-rw-r--r--include/video_console.h35
2 files changed, 44 insertions, 2 deletions
diff --git a/include/video.h b/include/video.h
index 61ff6531215..841f3dc56b1 100644
--- a/include/video.h
+++ b/include/video.h
@@ -84,8 +84,8 @@ struct video_priv {
void *fb;
int fb_size;
int line_length;
- int colour_fg;
- int colour_bg;
+ u32 colour_fg;
+ u32 colour_bg;
bool flush_dcache;
ushort *cmap;
};
@@ -183,6 +183,13 @@ int video_get_ysize(struct udevice *dev);
*/
void video_set_flush_dcache(struct udevice *dev, bool flush);
+/**
+ * Set default colors and attributes
+ *
+ * @priv device information
+ */
+void video_set_default_colors(struct video_priv *priv);
+
#endif /* CONFIG_DM_VIDEO */
#ifndef CONFIG_DM_VIDEO
diff --git a/include/video_console.h b/include/video_console.h
index 9dce234bd92..656a47295f6 100644
--- a/include/video_console.h
+++ b/include/video_console.h
@@ -7,11 +7,29 @@
#ifndef __video_console_h
#define __video_console_h
+#include <video.h>
+
#define VID_FRAC_DIV 256
#define VID_TO_PIXEL(x) ((x) / VID_FRAC_DIV)
#define VID_TO_POS(x) ((x) * VID_FRAC_DIV)
+/*
+ * The 8 colors supported by the console
+ */
+enum color_idx {
+ VID_BLACK = 0,
+ VID_RED,
+ VID_GREEN,
+ VID_YELLOW,
+ VID_BLUE,
+ VID_MAGENTA,
+ VID_CYAN,
+ VID_WHITE,
+
+ VID_COLOR_COUNT
+};
+
/**
* struct vidconsole_priv - uclass-private data about a console device
*
@@ -196,4 +214,21 @@ int vidconsole_put_char(struct udevice *dev, char ch);
void vidconsole_position_cursor(struct udevice *dev, unsigned col,
unsigned row);
+#ifdef CONFIG_DM_VIDEO
+
+/**
+ * vid_console_color() - convert a color code to a pixel's internal
+ * representation
+ *
+ * The caller has to guarantee that the color index is less than
+ * VID_COLOR_COUNT.
+ *
+ * @priv private data of the console device
+ * @idx color index
+ * @return color value
+ */
+u32 vid_console_color(struct video_priv *priv, unsigned int idx);
+
+#endif
+
#endif