From f4469f50b0367820121ef2d313517d422ed70e1d Mon Sep 17 00:00:00 2001 From: Nikita Kiryanov Date: Mon, 8 Dec 2014 17:14:38 +0200 Subject: lcd: remove LCD_MONOCHROME No one is using LCD_MONOCHROME; remove related code. Signed-off-by: Nikita Kiryanov Cc: Wolfgang Denk Cc: Anatolij Gustschin Acked-by: Simon Glass --- include/lcd.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'include') diff --git a/include/lcd.h b/include/lcd.h index 020d8800e9e..01609ac09f7 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -359,15 +359,7 @@ void lcd_sync(void); /************************************************************************/ /* ** CONSOLE CONSTANTS */ /************************************************************************/ -#if LCD_BPP == LCD_MONOCHROME - -/* - * Simple black/white definitions - */ -# define CONSOLE_COLOR_BLACK 0 -# define CONSOLE_COLOR_WHITE 1 /* Must remain last / highest */ - -#elif LCD_BPP == LCD_COLOR8 +#if LCD_BPP == LCD_COLOR8 /* * 8bpp color definitions -- cgit v1.2.3 From 4d03634e5da40dc092b6e5b985f74aedfe04f81e Mon Sep 17 00:00:00 2001 From: Nikita Kiryanov Date: Mon, 8 Dec 2014 17:14:43 +0200 Subject: lcd: introduce getters for bg/fg color Introduce lcd_getbgcolor() and lcd_getfgcolor(), and use them where applicable. This is a preparatory step for extracting lcd console code into its own file. Signed-off-by: Nikita Kiryanov Cc: Anatolij Gustschin Cc: Simon Glass Acked-by: Simon Glass --- include/lcd.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include') diff --git a/include/lcd.h b/include/lcd.h index 01609ac09f7..2235b9be1e4 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -290,6 +290,20 @@ int lcd_get_screen_rows(void); */ int lcd_get_screen_columns(void); +/** + * Get the background color of the LCD + * + * @return background color value + */ +int lcd_getbgcolor(void); + +/** + * Get the foreground color of the LCD + * + * @return foreground color value + */ +int lcd_getfgcolor(void); + /** * Set the position of the text cursor * -- cgit v1.2.3 From 904672ee489280cf26793e0a590505a2659dae09 Mon Sep 17 00:00:00 2001 From: Nikita Kiryanov Date: Mon, 8 Dec 2014 17:14:45 +0200 Subject: lcd: refactor lcd console stuff into its own file common/lcd.c is a mix of code portions that do different but related things. To improve modularity, the various code portions should be split into their own modules. Separate lcd console code into its own file. Signed-off-by: Nikita Kiryanov Cc: Anatolij Gustschin Cc: Simon Glass Cc: Stephen Warren Acked-by: Simon Glass Tested-by: Simon Glass --- include/lcd.h | 1 + include/lcd_console.h | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 include/lcd_console.h (limited to 'include') diff --git a/include/lcd.h b/include/lcd.h index 2235b9be1e4..160f940d2a6 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -12,6 +12,7 @@ #ifndef _LCD_H_ #define _LCD_H_ +#include extern char lcd_is_enabled; diff --git a/include/lcd_console.h b/include/lcd_console.h new file mode 100644 index 00000000000..429214df809 --- /dev/null +++ b/include/lcd_console.h @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/ + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/* By default we scroll by a single line */ +#ifndef CONFIG_CONSOLE_SCROLL_LINES +#define CONFIG_CONSOLE_SCROLL_LINES 1 +#endif + +/** + * lcd_init_console() - Initialize lcd console parameters + * + * Setup the address of console base, and the number of rows and columns the + * console has. + * + * @address: Console base address + * @rows: Number of rows in the console + * @cols: Number of columns in the console + */ +void lcd_init_console(void *address, int rows, int cols); + +/** + * lcd_set_col() - Set the number of the current lcd console column + * + * Set the number of the console column where the cursor is. + * + * @col: Column number + */ +void lcd_set_col(short col); + +/** + * lcd_set_row() - Set the number of the current lcd console row + * + * Set the number of the console row where the cursor is. + * + * @row: Row number + */ +void lcd_set_row(short row); + +/** + * lcd_position_cursor() - Position the cursor on the screen + * + * Position the cursor at the given coordinates on the screen. + * + * @col: Column number + * @row: Row number + */ +void lcd_position_cursor(unsigned col, unsigned row); + +/** + * lcd_get_screen_rows() - Get the total number of screen rows + * + * @return: Number of screen rows + */ +int lcd_get_screen_rows(void); + +/** + * lcd_get_screen_columns() - Get the total number of screen columns + * + * @return: Number of screen columns + */ +int lcd_get_screen_columns(void); + +/** + * lcd_putc() - Print to screen a single character at the location of the cursor + * + * @c: The character to print + */ +void lcd_putc(const char c); + +/** + * lcd_puts() - Print to screen a string at the location of the cursor + * + * @s: The string to print + */ +void lcd_puts(const char *s); + +/** + * lcd_printf() - Print to screen a formatted string at location of the cursor + * + * @fmt: The formatted string to print + * @...: The arguments for the formatted string + */ +void lcd_printf(const char *fmt, ...); -- cgit v1.2.3