diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-09-12 13:32:58 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-09-12 13:32:58 +0000 |
commit | 848e900c5c47fc0dbc24d2e093e3a6a3fa76202c (patch) | |
tree | b2b04382402f61e38f80be1fa156de6f010c79de /c/src/lib/libbsp/powerpc/mbx8xx/console/console.c | |
parent | 2005-09-12 Thomas Doerfler <Thomas.Doerfler@imd-systems.de> (diff) | |
download | rtems-848e900c5c47fc0dbc24d2e093e3a6a3fa76202c.tar.bz2 |
2005-09-12 Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
PR 822/bsps
* console/console.c, startup/bspstart.c, startup/imbx8xx.c,
startup/mmutlbtab.c, startup/start.S, vectors/vectors_init.c:
Currently the MBX8xx BSP does not boot, because some logical errors
are in the startup code. Additionally, the mpc8xx shared clock driver
does not support the clocking scheme of some of the board variants,
which are clocked from a 32768Hz (!) external crystal.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mbx8xx/console/console.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mbx8xx/console/console.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/console/console.c b/c/src/lib/libbsp/powerpc/mbx8xx/console/console.c index e5507eeb0c..c723c80c48 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/console/console.c +++ b/c/src/lib/libbsp/powerpc/mbx8xx/console/console.c @@ -537,6 +537,13 @@ serial_init() unsigned int dpaddr, memaddr; bd_t *bd; +#if NVRAM_CONFIGURE == 1 + if ( ((nvram->console_mode & 0x06) != 0x04 ) || + ((nvram->console_mode & 0x30) != 0x20 )) { + /* + * FIXME: refine this condition... + */ +#endif bd = eppcbugInfo; cp = cpmp; @@ -642,7 +649,26 @@ serial_init() /* Enable transmitter/receiver. */ sp->smc_smcmr |= SMCMR_REN | SMCMR_TEN; +#if NVRAM_CONFIGURE == 1 + } + else { + const char bootmsg_text[]= "using EPPC bug for console I/O\n"; + _EPPCBug_pollWrite((nvram->console_printk_port & 0x70) >> 4, + bootmsg_text, + sizeof(bootmsg_text)-1); + } +#endif +#if NVRAM_CONFIGURE == 1 + if ((nvram->console_mode & 0x30) == 0x20 ) { + BSP_output_char = _BSP_output_char; + } + else { + BSP_output_char = serial_putchar; + } +#else + BSP_output_char = serial_putchar; +#endif } void |