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