2006-02-13 00:10:25 +07:00
|
|
|
/*
|
|
|
|
* (C) P. Horton 2006
|
|
|
|
*/
|
2007-10-02 21:13:17 +07:00
|
|
|
#include <linux/io.h>
|
2006-02-13 00:10:25 +07:00
|
|
|
#include <linux/serial_reg.h>
|
2007-03-06 19:34:44 +07:00
|
|
|
|
2008-01-12 06:25:17 +07:00
|
|
|
#include <cobalt.h>
|
|
|
|
|
2007-10-02 21:13:17 +07:00
|
|
|
#define UART_BASE ((void __iomem *)CKSEG1ADDR(0x1c800000))
|
2006-02-13 00:10:25 +07:00
|
|
|
|
2007-03-02 10:42:33 +07:00
|
|
|
void prom_putchar(char c)
|
2006-02-13 00:10:25 +07:00
|
|
|
{
|
2008-01-12 06:25:17 +07:00
|
|
|
if (cobalt_board_id <= COBALT_BRD_ID_QUBE1)
|
|
|
|
return;
|
|
|
|
|
2007-10-02 21:13:17 +07:00
|
|
|
while (!(readb(UART_BASE + UART_LSR) & UART_LSR_THRE))
|
2006-02-13 00:10:25 +07:00
|
|
|
;
|
|
|
|
|
2007-10-02 21:13:17 +07:00
|
|
|
writeb(c, UART_BASE + UART_TX);
|
2006-02-13 00:10:25 +07:00
|
|
|
}
|