version 1.2, 2007/11/24 17:13:45 |
version 1.4, 2008/01/06 18:15:50 |
|
|
* $Id$ |
* $Id$ |
*/ |
*/ |
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/device.h> |
|
|
|
#include <arch/sam7s64/dev/at91sam7.h> |
#include <arch/sam7s64/dev/at91sam7.h> |
|
|
|
|
{ |
{ |
/* |
/* |
* Put a character into an unconfigured console. |
* Put a character into an unconfigured console. |
* Note that USART0 (DBGU) should be already configured (clocks/un-pio, etc.). |
* Note that USART1 should be already configured (clocks/un-pio, etc.). |
* Such configuration is done in config_machineinit(). |
* Such configuration is done in config_machineinit(). |
*/ |
*/ |
|
|
/* wait for previous character to transmit */ |
/* wait for previous character to transmit */ |
while( ((*AT91C_US0_CSR) & AT91C_US_TXRDY) == 0) |
while( ((*AT91C_US1_CSR) & AT91C_US_TXRDY) == 0) |
; |
; |
|
|
/* if we encounter \n (LF), send \r\n (CRLF) */ |
/* if we encounter \n (LF), send \r\n (CRLF) */ |
if (ch == '\n') { |
if (ch == '\n') { |
|
|
*AT91C_US0_THR = 0x0d; |
*AT91C_US1_THR = 0x0d; |
while( ((*AT91C_US0_CSR) & AT91C_US_TXRDY) == 0) |
while( ((*AT91C_US1_CSR) & AT91C_US_TXRDY) == 0) |
; |
; |
|
|
*AT91C_US0_THR = 0x0a; |
*AT91C_US1_THR = 0x0a; |
|
|
return; |
return; |
} |
} |
|
|
/* put current character into Transmit Hold Register */ |
/* put current character into Transmit Hold Register */ |
*AT91C_US0_THR = ch; |
*AT91C_US1_THR = ch; |
} |
} |
|
|