@ -119,12 +119,20 @@ static void vidconsole_newline(struct udevice *dev)
static const struct vid_rgb colors [ VID_COLOR_COUNT ] = {
{ 0x00 , 0x00 , 0x00 } , /* black */
{ 0xff , 0x00 , 0x00 } , /* red */
{ 0x00 , 0xff , 0x00 } , /* green */
{ 0xc0 , 0x00 , 0x00 } , /* red */
{ 0x00 , 0xc0 , 0x00 } , /* green */
{ 0xc0 , 0x60 , 0x00 } , /* brown */
{ 0x00 , 0x00 , 0xc0 } , /* blue */
{ 0xc0 , 0x00 , 0xc0 } , /* magenta */
{ 0x00 , 0xc0 , 0xc0 } , /* cyan */
{ 0xc0 , 0xc0 , 0xc0 } , /* light gray */
{ 0x80 , 0x80 , 0x80 } , /* gray */
{ 0xff , 0x00 , 0x00 } , /* bright red */
{ 0x00 , 0xff , 0x00 } , /* bright green */
{ 0xff , 0xff , 0x00 } , /* yellow */
{ 0x00 , 0x00 , 0xff } , /* blue */
{ 0xff , 0x00 , 0xff } , /* magenta */
{ 0x00 , 0xff , 0xff } , /* cyan */
{ 0x00 , 0x00 , 0xff } , /* bright b lue */
{ 0xff , 0x00 , 0xff } , /* bright magenta */
{ 0x00 , 0xff , 0xff } , /* bright cyan */
{ 0xff , 0xff , 0xff } , /* white */
} ;
@ -278,10 +286,22 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
s + + ;
switch ( val ) {
case 0 :
/* all attributes off */
video_set_default_colors ( vid_priv ) ;
break ;
case 1 :
/* bold */
vid_priv - > fg_col_idx | = 8 ;
vid_priv - > colour_fg = vid_console_color (
vid_priv , vid_priv - > fg_col_idx ) ;
break ;
case 30 . . . 37 :
/* foreground color */
vid_priv - > fg_col_idx & = ~ 7 ;
vid_priv - > fg_col_idx | = val - 30 ;
vid_priv - > colour_fg = vid_console_color (
vid_priv , val - 30 ) ;
vid_priv , vid_priv - > fg_col_idx ) ;
break ;
case 40 . . . 47 :
/* background color */