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