summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNikita Kiryanov <nikita@compulab.co.il>2014-12-08 17:14:45 +0200
committerAnatolij Gustschin <agust@denx.de>2015-01-10 17:53:59 +0100
commit904672ee489280cf26793e0a590505a2659dae09 (patch)
treef59149f4e0e8f9eedf796f6696a5eab256abef42 /include
parent88b326a31e4b7c2b6550980944b9b72f40c1bda0 (diff)
downloadu-boot-imx-904672ee489280cf26793e0a590505a2659dae09.zip
u-boot-imx-904672ee489280cf26793e0a590505a2659dae09.tar.gz
u-boot-imx-904672ee489280cf26793e0a590505a2659dae09.tar.bz2
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 <nikita@compulab.co.il> Cc: Anatolij Gustschin <agust@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/lcd.h1
-rw-r--r--include/lcd_console.h86
2 files changed, 87 insertions, 0 deletions
diff --git a/include/lcd.h b/include/lcd.h
index 2235b9b..160f940 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -12,6 +12,7 @@
#ifndef _LCD_H_
#define _LCD_H_
+#include <lcd_console.h>
extern char lcd_is_enabled;
diff --git a/include/lcd_console.h b/include/lcd_console.h
new file mode 100644
index 0000000..429214d
--- /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, ...);