| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/ | |
| */ | |
| /* By default we scroll by a single line */ | |
| struct console_t { | |
| short curr_col, curr_row; | |
| short cols, rows; | |
| void *fbbase; | |
| u32 lcdsizex, lcdsizey, lcdrot; | |
| void (*fp_putc_xy)(struct console_t *pcons, ushort x, ushort y, char c); | |
| void (*fp_console_moverow)(struct console_t *pcons, | |
| u32 rowdst, u32 rowsrc); | |
| void (*fp_console_setrow)(struct console_t *pcons, u32 row, int clr); | |
| }; | |
| /** | |
| * console_calc_rowcol() - calculate available rows / columns wihtin a given | |
| * screen-size based on used VIDEO_FONT. | |
| * | |
| * @pcons: Pointer to struct console_t | |
| * @sizex: size X of the screen in pixel | |
| * @sizey: size Y of the screen in pixel | |
| */ | |
| void console_calc_rowcol(struct console_t *pcons, u32 sizex, u32 sizey); | |
| /** | |
| * 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 | |
| * @vl_rows: Number of rows in the console | |
| * @vl_cols: Number of columns in the console | |
| * @vl_rot: Rotation of display in degree (0 - 90 - 180 - 270) counterlockwise | |
| */ | |
| void lcd_init_console(void *address, int vl_cols, int vl_rows, int vl_rot); | |
| /** | |
| * 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, ...); |