xref: /openbmc/u-boot/include/lcd_console.h (revision 904672ee)
1*904672eeSNikita Kiryanov /*
2*904672eeSNikita Kiryanov  * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
3*904672eeSNikita Kiryanov  *
4*904672eeSNikita Kiryanov  * SPDX-License-Identifier:	GPL-2.0+
5*904672eeSNikita Kiryanov  */
6*904672eeSNikita Kiryanov 
7*904672eeSNikita Kiryanov /* By default we scroll by a single line */
8*904672eeSNikita Kiryanov #ifndef CONFIG_CONSOLE_SCROLL_LINES
9*904672eeSNikita Kiryanov #define CONFIG_CONSOLE_SCROLL_LINES 1
10*904672eeSNikita Kiryanov #endif
11*904672eeSNikita Kiryanov 
12*904672eeSNikita Kiryanov /**
13*904672eeSNikita Kiryanov  * lcd_init_console() - Initialize lcd console parameters
14*904672eeSNikita Kiryanov  *
15*904672eeSNikita Kiryanov  * Setup the address of console base, and the number of rows and columns the
16*904672eeSNikita Kiryanov  * console has.
17*904672eeSNikita Kiryanov  *
18*904672eeSNikita Kiryanov  * @address: Console base address
19*904672eeSNikita Kiryanov  * @rows: Number of rows in the console
20*904672eeSNikita Kiryanov  * @cols: Number of columns in the console
21*904672eeSNikita Kiryanov  */
22*904672eeSNikita Kiryanov void lcd_init_console(void *address, int rows, int cols);
23*904672eeSNikita Kiryanov 
24*904672eeSNikita Kiryanov /**
25*904672eeSNikita Kiryanov  * lcd_set_col() - Set the number of the current lcd console column
26*904672eeSNikita Kiryanov  *
27*904672eeSNikita Kiryanov  * Set the number of the console column where the cursor is.
28*904672eeSNikita Kiryanov  *
29*904672eeSNikita Kiryanov  * @col: Column number
30*904672eeSNikita Kiryanov  */
31*904672eeSNikita Kiryanov void lcd_set_col(short col);
32*904672eeSNikita Kiryanov 
33*904672eeSNikita Kiryanov /**
34*904672eeSNikita Kiryanov  * lcd_set_row() - Set the number of the current lcd console row
35*904672eeSNikita Kiryanov  *
36*904672eeSNikita Kiryanov  * Set the number of the console row where the cursor is.
37*904672eeSNikita Kiryanov  *
38*904672eeSNikita Kiryanov  * @row: Row number
39*904672eeSNikita Kiryanov  */
40*904672eeSNikita Kiryanov void lcd_set_row(short row);
41*904672eeSNikita Kiryanov 
42*904672eeSNikita Kiryanov /**
43*904672eeSNikita Kiryanov  * lcd_position_cursor() - Position the cursor on the screen
44*904672eeSNikita Kiryanov  *
45*904672eeSNikita Kiryanov  * Position the cursor at the given coordinates on the screen.
46*904672eeSNikita Kiryanov  *
47*904672eeSNikita Kiryanov  * @col: Column number
48*904672eeSNikita Kiryanov  * @row: Row number
49*904672eeSNikita Kiryanov  */
50*904672eeSNikita Kiryanov void lcd_position_cursor(unsigned col, unsigned row);
51*904672eeSNikita Kiryanov 
52*904672eeSNikita Kiryanov /**
53*904672eeSNikita Kiryanov  * lcd_get_screen_rows() - Get the total number of screen rows
54*904672eeSNikita Kiryanov  *
55*904672eeSNikita Kiryanov  * @return: Number of screen rows
56*904672eeSNikita Kiryanov  */
57*904672eeSNikita Kiryanov int lcd_get_screen_rows(void);
58*904672eeSNikita Kiryanov 
59*904672eeSNikita Kiryanov /**
60*904672eeSNikita Kiryanov  * lcd_get_screen_columns() - Get the total number of screen columns
61*904672eeSNikita Kiryanov  *
62*904672eeSNikita Kiryanov  * @return: Number of screen columns
63*904672eeSNikita Kiryanov  */
64*904672eeSNikita Kiryanov int lcd_get_screen_columns(void);
65*904672eeSNikita Kiryanov 
66*904672eeSNikita Kiryanov /**
67*904672eeSNikita Kiryanov  * lcd_putc() - Print to screen a single character at the location of the cursor
68*904672eeSNikita Kiryanov  *
69*904672eeSNikita Kiryanov  * @c: The character to print
70*904672eeSNikita Kiryanov  */
71*904672eeSNikita Kiryanov void lcd_putc(const char c);
72*904672eeSNikita Kiryanov 
73*904672eeSNikita Kiryanov /**
74*904672eeSNikita Kiryanov  * lcd_puts() - Print to screen a string at the location of the cursor
75*904672eeSNikita Kiryanov  *
76*904672eeSNikita Kiryanov  * @s: The string to print
77*904672eeSNikita Kiryanov  */
78*904672eeSNikita Kiryanov void lcd_puts(const char *s);
79*904672eeSNikita Kiryanov 
80*904672eeSNikita Kiryanov /**
81*904672eeSNikita Kiryanov  * lcd_printf() - Print to screen a formatted string at location of the cursor
82*904672eeSNikita Kiryanov  *
83*904672eeSNikita Kiryanov  * @fmt: The formatted string to print
84*904672eeSNikita Kiryanov  * @...: The arguments for the formatted string
85*904672eeSNikita Kiryanov  */
86*904672eeSNikita Kiryanov void lcd_printf(const char *fmt, ...);
87