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