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