Patch by Martin Krause, 8 Jun 2006 This patch supports two serial consoles on boards with a MPC5xxx CPU. The console can be switched at runtime by setting stdin, stdout and stderr to the desired serial interface (serial0 or serial1). The PSCs to be used as console port are definded by CONFIG_PSC_CONSOLE and CONFIG_PSC_CONSOLE2. See README.serial_multi for details.
38 lines
878 B
C
38 lines
878 B
C
#ifndef __SERIAL_H__
|
|
#define __SERIAL_H__
|
|
|
|
#define NAMESIZE 16
|
|
#define CTLRSIZE 8
|
|
|
|
struct serial_device {
|
|
char name[NAMESIZE];
|
|
char ctlr[CTLRSIZE];
|
|
|
|
int (*init) (void);
|
|
void (*setbrg) (void);
|
|
int (*getc) (void);
|
|
int (*tstc) (void);
|
|
void (*putc) (const char c);
|
|
void (*puts) (const char *s);
|
|
|
|
struct serial_device *next;
|
|
};
|
|
|
|
extern struct serial_device serial_smc_device;
|
|
extern struct serial_device serial_scc_device;
|
|
extern struct serial_device * default_serial_console (void);
|
|
|
|
#if defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_440) \
|
|
|| defined(CONFIG_405EP) || defined(CONFIG_MPC5xxx)
|
|
extern struct serial_device serial0_device;
|
|
extern struct serial_device serial1_device;
|
|
#endif
|
|
|
|
|
|
extern void serial_initialize(void);
|
|
extern void serial_devices_init(void);
|
|
extern int serial_assign(char * name);
|
|
extern void serial_reinit_all(void);
|
|
|
|
#endif
|