@ -20,6 +20,8 @@
# include <common.h>
# include <asm/arch/platform.h>
# include <serial.h>
# include <linux/compiler.h>
# ifndef CONFIG_SERIAL1
# error "Bad: you didn't configure serial ..."
@ -54,7 +56,7 @@ struct ks8695uart {
int serial_console = 1 ;
void serial_setbrg ( void )
static void ks8695_ serial_setbrg( void )
{
volatile struct ks8695uart * uartp = KS8695_UART_ADDR ;
@ -63,14 +65,14 @@ void serial_setbrg(void)
uartp - > LCR = KS8695_UART_LINEC_WLEN8 ;
}
int serial_init ( void )
static int ks8695_ serial_init( void )
{
serial_console = 1 ;
serial_setbrg ( ) ;
return 0 ;
}
void serial_raw_putc ( const char c )
static void ks8695_ serial_raw_putc( const char c )
{
volatile struct ks8695uart * uartp = KS8695_UART_ADDR ;
int i ;
@ -83,16 +85,16 @@ void serial_raw_putc(const char c)
uartp - > TX = c ;
}
void serial_putc ( const char c )
static void ks8695_ serial_putc( const char c )
{
if ( serial_console ) {
serial_raw_putc ( c ) ;
ks8695_ serial_raw_putc( c ) ;
if ( c = = ' \n ' )
serial_raw_putc ( ' \r ' ) ;
ks8695_ serial_raw_putc( ' \r ' ) ;
}
}
int serial_tstc ( void )
static int ks8695_ serial_tstc( void )
{
volatile struct ks8695uart * uartp = KS8695_UART_ADDR ;
if ( serial_console )
@ -100,14 +102,14 @@ int serial_tstc(void)
return 0 ;
}
void serial_puts ( const char * s )
static void ks8695_ serial_puts( const char * s )
{
char c ;
while ( ( c = * s + + ) ! = 0 )
serial_putc ( c ) ;
}
int serial_getc ( void )
static int ks8695_ serial_getc( void )
{
volatile struct ks8695uart * uartp = KS8695_UART_ADDR ;
@ -115,3 +117,56 @@ int serial_getc(void)
;
return ( uartp - > RX ) ;
}
# ifdef CONFIG_SERIAL_MULTI
static struct serial_device ks8695_serial_drv = {
. name = " ks8695_serial " ,
. start = ks8695_serial_init ,
. stop = NULL ,
. setbrg = ks8695_serial_setbrg ,
. putc = ks8695_serial_putc ,
. puts = ks8695_serial_puts ,
. getc = ks8695_serial_getc ,
. tstc = ks8695_serial_tstc ,
} ;
void ks8695_serial_initialize ( void )
{
serial_register ( & ks8695_serial_drv ) ;
}
__weak struct serial_device * default_serial_console ( void )
{
return & ks8695_serial_drv ;
}
# else
int serial_init ( void )
{
return ks8695_serial_init ( ) ;
}
void serial_setbrg ( void )
{
ks8695_serial_setbrg ( ) ;
}
void serial_putc ( const char c )
{
ks8695_serial_putc ( c ) ;
}
void serial_puts ( const char * s )
{
ks8695_serial_puts ( s ) ;
}
int serial_getc ( void )
{
return ks8695_serial_getc ( ) ;
}
int serial_tstc ( void )
{
return ks8695_serial_tstc ( ) ;
}
# endif