blackfin: Add memory virtual console to blackfin serial driver.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
This commit is contained in:
parent
50aadcc560
commit
d68e7faac0
@ -351,4 +351,62 @@ void _serial_early_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#elif defined(CONFIG_UART_MEM)
|
||||
|
||||
char serial_logbuf[CONFIG_UART_MEM];
|
||||
char *serial_logbuf_head = serial_logbuf;
|
||||
|
||||
int serial_mem_init(void)
|
||||
{
|
||||
serial_logbuf_head = serial_logbuf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void serial_mem_setbrg(void)
|
||||
{
|
||||
}
|
||||
|
||||
int serial_mem_tstc(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int serial_mem_getc(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void serial_mem_putc(const char c)
|
||||
{
|
||||
*serial_logbuf_head = c;
|
||||
if (++serial_logbuf_head == serial_logbuf + CONFIG_UART_MEM)
|
||||
serial_logbuf_head = serial_logbuf;
|
||||
}
|
||||
|
||||
void serial_mem_puts(const char *s)
|
||||
{
|
||||
while (*s)
|
||||
serial_putc(*s++);
|
||||
}
|
||||
|
||||
struct serial_device bfin_serial_mem_device = {
|
||||
.name = "bfin_uart_mem",
|
||||
.start = serial_mem_init,
|
||||
.setbrg = serial_mem_setbrg,
|
||||
.getc = serial_mem_getc,
|
||||
.tstc = serial_mem_tstc,
|
||||
.putc = serial_mem_putc,
|
||||
.puts = serial_mem_puts,
|
||||
};
|
||||
|
||||
|
||||
__weak struct serial_device *default_serial_console(void)
|
||||
{
|
||||
return &bfin_serial_mem_device;
|
||||
}
|
||||
|
||||
void bfin_serial_initialize(void)
|
||||
{
|
||||
serial_register(&bfin_serial_mem_device);
|
||||
}
|
||||
#endif /* CONFIG_UART_MEM */
|
||||
|
Loading…
Reference in New Issue
Block a user