@ -30,6 +30,8 @@
# include <common.h>
# include <command.h>
# include <galileo/memory.h>
# include <serial.h>
# include <linux/compiler.h>
# if (defined CONFIG_SYS_INIT_CHAN1) || (defined CONFIG_SYS_INIT_CHAN2)
# include <ns16550.h>
@ -48,7 +50,7 @@ const NS16550_t COM_PORTS[] = { (NS16550_t) CONFIG_SYS_NS16550_COM1,
# ifdef CONFIG_MPSC
int serial_init ( void )
static int evb64260_ serial_init( void )
{
# if (defined CONFIG_SYS_INIT_CHAN1) || (defined CONFIG_SYS_INIT_CHAN2)
int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd - > baudrate ;
@ -66,8 +68,7 @@ int serial_init (void)
return ( 0 ) ;
}
void
serial_putc ( const char c )
static void evb64260_serial_putc ( const char c )
{
if ( c = = ' \n ' )
mpsc_putchar ( ' \r ' ) ;
@ -75,27 +76,24 @@ serial_putc(const char c)
mpsc_putchar ( c ) ;
}
int
serial_getc ( void )
static int evb64260_serial_getc ( void )
{
return mpsc_getchar ( ) ;
}
int
serial_tstc ( void )
static int evb64260_serial_tstc ( void )
{
return mpsc_test_char ( ) ;
}
void
serial_setbrg ( void )
static void evb64260_serial_setbrg ( void )
{
galbrg_set_baudrate ( CONFIG_MPSC_PORT , gd - > baudrate ) ;
}
# else /* ! CONFIG_MPSC */
int serial_init ( void )
static int evb64260_ serial_init( void )
{
int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd - > baudrate ;
@ -109,8 +107,7 @@ int serial_init (void)
return ( 0 ) ;
}
void
serial_putc ( const char c )
static void evb64260_serial_putc ( const char c )
{
if ( c = = ' \n ' )
NS16550_putc ( COM_PORTS [ CONFIG_SYS_DUART_CHAN ] , ' \r ' ) ;
@ -118,20 +115,17 @@ serial_putc(const char c)
NS16550_putc ( COM_PORTS [ CONFIG_SYS_DUART_CHAN ] , c ) ;
}
int
serial_getc ( void )
static int evb64260_serial_getc ( void )
{
return NS16550_getc ( COM_PORTS [ CONFIG_SYS_DUART_CHAN ] ) ;
}
int
serial_tstc ( void )
static int evb64260_serial_tstc ( void )
{
return NS16550_tstc ( COM_PORTS [ CONFIG_SYS_DUART_CHAN ] ) ;
}
void
serial_setbrg ( void )
static void evb64260_serial_setbrg ( void )
{
int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd - > baudrate ;
@ -145,14 +139,65 @@ serial_setbrg (void)
# endif /* CONFIG_MPSC */
void
serial_puts ( const char * s )
static void evb64260_serial_puts ( const char * s )
{
while ( * s ) {
serial_putc ( * s + + ) ;
}
}
# ifdef CONFIG_SERIAL_MULTI
static struct serial_device evb64260_serial_drv = {
. name = " evb64260_serial " ,
. start = evb64260_serial_init ,
. stop = NULL ,
. setbrg = evb64260_serial_setbrg ,
. putc = evb64260_serial_putc ,
. puts = evb64260_serial_puts ,
. getc = evb64260_serial_getc ,
. tstc = evb64260_serial_tstc ,
} ;
void evb64260_serial_initialize ( void )
{
serial_register ( & evb64260_serial_drv ) ;
}
__weak struct serial_device * default_serial_console ( void )
{
return & evb64260_serial_drv ;
}
# else
int serial_init ( void )
{
return evb64260_serial_init ( ) ;
}
void serial_setbrg ( void )
{
evb64260_serial_setbrg ( ) ;
}
void serial_putc ( const char c )
{
evb64260_serial_putc ( c ) ;
}
void serial_puts ( const char * s )
{
evb64260_serial_puts ( s ) ;
}
int serial_getc ( void )
{
return evb64260_serial_getc ( ) ;
}
int serial_tstc ( void )
{
return evb64260_serial_tstc ( ) ;
}
# endif
# if defined(CONFIG_CMD_KGDB)
void
kgdb_serial_init ( void )