summaryrefslogtreecommitdiffstats
path: root/target/linux/adm8668/files/arch/mips/adm8668/early_printk.c
blob: 2a3e87148ad6a1296ec48aec731e5c52c35bc773 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <linux/io.h>
#include <linux/serial_core.h>
#include <adm8668.h>

#define UART_READ(r) \
	__raw_readl((void __iomem *)(KSEG1ADDR(ADM8668_UART0_BASE) + (r)))

#define UART_WRITE(v, r) \
	__raw_writel((v), (void __iomem *)(KSEG1ADDR(ADM8668_UART0_BASE) + (r)))

void prom_putchar(char c)
{
	UART_WRITE(c, UART_DR_REG);
	while ((UART_READ(UART_FR_REG) & UART_TX_FIFO_FULL) != 0)
		;
}