at91rm9200: move serial shutdown code to serial drivers

introduce serial_exit for this purpose. Use it only when the rm9200
serial driver is active

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
This commit is contained in:
Jean-Christophe PLAGNIOL-VILLARD 2009-03-27 23:26:43 +01:00
parent beebd851cd
commit 3524049cd0
3 changed files with 9 additions and 10 deletions

View File

@ -166,21 +166,14 @@ ulong get_tbclk (void)
void reset_cpu (ulong ignored)
{
#ifdef CONFIG_DBGU
AT91PS_USART us = (AT91PS_USART) AT91C_BASE_DBGU;
#endif
#ifdef CONFIG_USART0
AT91PS_USART us = AT91C_BASE_US0;
#endif
#ifdef CONFIG_USART1
AT91PS_USART us = AT91C_BASE_US1;
#endif
#ifdef CONFIG_AT91RM9200DK
AT91PS_PIO pio = AT91C_BASE_PIOA;
#endif
#if defined(CONFIG_AT91RM9200_USART)
/*shutdown the console to avoid strange chars during reset */
us->US_CR = (AT91C_US_RSTRX | AT91C_US_RSTTX);
serial_exit();
#endif
#ifdef CONFIG_AT91RM9200DK
/* Clear PA19 to trigger the hard reset */

View File

@ -86,6 +86,11 @@ int serial_init (void)
return (0);
}
void serial_exit (void)
{
us->US_CR = (AT91C_US_RSTRX | AT91C_US_RSTTX);
}
void serial_putc (const char c)
{
if (c == '\n')

View File

@ -453,6 +453,7 @@ void ft_pci_setup(void *blob, bd_t *bd);
/* $(CPU)/serial.c */
int serial_init (void);
void serial_exit (void);
void serial_addr (unsigned int);
void serial_setbrg (void);
void serial_putc (const char);