summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2012-09-28 15:11:13 +0000
committerAnatolij Gustschin <agust@denx.de>2012-11-07 00:57:16 +0100
commit395166cffbb427bfb0da051ac044118a592e5c0b (patch)
tree3edc919590a1439f5a1d9cca1ce20201f5f40c05
parentc20ee073a61f32cd34bd76ec88797ab20f62c313 (diff)
downloadu-boot-imx-395166cffbb427bfb0da051ac044118a592e5c0b.zip
u-boot-imx-395166cffbb427bfb0da051ac044118a592e5c0b.tar.gz
u-boot-imx-395166cffbb427bfb0da051ac044118a592e5c0b.tar.bz2
lcd: Provide an API to access LCD parameters
Create a basic API to provide access to lcd parameters such as screen size, and to position the cursor on the screen. This matches up with the video API for the same purpose. Unfortunately they are not yet combined. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--common/lcd.c26
-rw-r--r--include/lcd.h36
2 files changed, 62 insertions, 0 deletions
diff --git a/common/lcd.c b/common/lcd.c
index b6be800..4cea04e 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -885,5 +885,31 @@ static void *lcd_logo(void)
#endif /* CONFIG_LCD_LOGO && !CONFIG_LCD_INFO_BELOW_LOGO */
}
+void lcd_position_cursor(unsigned col, unsigned row)
+{
+ console_col = min(col, CONSOLE_COLS - 1);
+ console_row = min(row, CONSOLE_ROWS - 1);
+}
+
+int lcd_get_pixel_width(void)
+{
+ return panel_info.vl_col;
+}
+
+int lcd_get_pixel_height(void)
+{
+ return panel_info.vl_row;
+}
+
+int lcd_get_screen_rows(void)
+{
+ return CONSOLE_ROWS;
+}
+
+int lcd_get_screen_columns(void)
+{
+ return CONSOLE_COLS;
+}
+
/************************************************************************/
/************************************************************************/
diff --git a/include/lcd.h b/include/lcd.h
index 42070d7..2517d39 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -294,6 +294,42 @@ void lcd_printf (const char *fmt, ...);
void lcd_clear(void);
int lcd_display_bitmap(ulong bmp_image, int x, int y);
+/**
+ * Get the width of the LCD in pixels
+ *
+ * @return width of LCD in pixels
+ */
+int lcd_get_pixel_width(void);
+
+/**
+ * Get the height of the LCD in pixels
+ *
+ * @return height of LCD in pixels
+ */
+int lcd_get_pixel_height(void);
+
+/**
+ * Get the number of text lines/rows on the LCD
+ *
+ * @return number of rows
+ */
+int lcd_get_screen_rows(void);
+
+/**
+ * Get the number of text columns on the LCD
+ *
+ * @return number of columns
+ */
+int lcd_get_screen_columns(void);
+
+/**
+ * Set the position of the text cursor
+ *
+ * @param col Column to place cursor (0 = left side)
+ * @param row Row to place cursor (0 = top line)
+ */
+void lcd_position_cursor(unsigned col, unsigned row);
+
/* Allow boards to customize the information displayed */
void lcd_show_board_info(void);