@ -33,6 +33,8 @@
# include <common.h>
# include <mpc8260.h>
# include <asm/cpm_8260.h>
# include <serial.h>
# include <linux/compiler.h>
DECLARE_GLOBAL_DATA_PTR ;
@ -91,7 +93,7 @@ static unsigned char brg_map[] = {
3 , /* BRG1 for SCC4 */
} ;
int serial_init ( void )
static int mpc8260_smc_ serial_init( void )
{
volatile immap_t * im = ( immap_t * ) CONFIG_SYS_IMMR ;
volatile smc_t * sp ;
@ -183,8 +185,7 @@ int serial_init (void)
return ( 0 ) ;
}
void
serial_setbrg ( void )
static void mpc8260_smc_serial_setbrg ( void )
{
# if defined(CONFIG_CONS_USE_EXTC)
m8260_cpm_extcbrg ( brg_map [ SMC_INDEX ] , gd - > baudrate ,
@ -194,8 +195,7 @@ serial_setbrg (void)
# endif
}
void
serial_putc ( const char c )
static void mpc8260_smc_serial_putc ( const char c )
{
volatile smc_uart_t * up ;
volatile immap_t * im = ( immap_t * ) CONFIG_SYS_IMMR ;
@ -216,16 +216,14 @@ serial_putc(const char c)
rtx - > txbd . cbd_sc | = BD_SC_READY ;
}
void
serial_puts ( const char * s )
static void mpc8260_smc_serial_puts ( const char * s )
{
while ( * s ) {
serial_putc ( * s + + ) ;
}
}
int
serial_getc ( void )
static int mpc8260_smc_serial_getc ( void )
{
volatile smc_uart_t * up ;
volatile immap_t * im = ( immap_t * ) CONFIG_SYS_IMMR ;
@ -254,8 +252,7 @@ serial_getc(void)
return ( c ) ;
}
int
serial_tstc ( )
static int mpc8260_smc_serial_tstc ( void )
{
volatile smc_uart_t * up ;
volatile immap_t * im = ( immap_t * ) CONFIG_SYS_IMMR ;
@ -267,6 +264,58 @@ serial_tstc()
return ! ( rtx - > rxbd . cbd_sc & BD_SC_EMPTY ) ;
}
# ifdef CONFIG_SERIAL_MULTI
static struct serial_device mpc8260_smc_serial_drv = {
. name = " mpc8260_smc_uart " ,
. start = mpc8260_smc_serial_init ,
. stop = NULL ,
. setbrg = mpc8260_smc_serial_setbrg ,
. putc = mpc8260_smc_serial_putc ,
. puts = mpc8260_smc_serial_puts ,
. getc = mpc8260_smc_serial_getc ,
. tstc = mpc8260_smc_serial_tstc ,
} ;
void mpc8260_smc_serial_initialize ( void )
{
serial_register ( & mpc8260_smc_serial_drv ) ;
}
__weak struct serial_device * default_serial_console ( void )
{
return & mpc8260_smc_serial_drv ;
}
# else
int serial_init ( void )
{
return mpc8260_smc_serial_init ( ) ;
}
void serial_setbrg ( void )
{
mpc8260_smc_serial_setbrg ( ) ;
}
void serial_putc ( const char c )
{
mpc8260_smc_serial_putc ( c ) ;
}
void serial_puts ( const char * s )
{
mpc8260_smc_serial_puts ( s ) ;
}
int serial_getc ( void )
{
return mpc8260_smc_serial_getc ( ) ;
}
int serial_tstc ( void )
{
return mpc8260_smc_serial_tstc ( ) ;
}
# endif
# endif /* CONFIG_CONS_ON_SMC */
# if defined(CONFIG_KGDB_ON_SMC)