1285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams#include <asm/types.h>
2285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams#include <linux/serial_reg.h>
3a09e64fbc0094e3073dbb09c3b4bfe4ab669244bRussell King#include <mach/hardware.h>
4285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams
5285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams#define UART_BASE ((volatile u32 *)IOP13XX_UART1_PHYS)
6285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams#define TX_DONE (UART_LSR_TEMT | UART_LSR_THRE)
7285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams
8285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williamsstatic inline void putc(char c)
9285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams{
10285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams	while ((UART_BASE[UART_LSR] & TX_DONE) != TX_DONE)
117dea1b20066cd30fb54da7e686b16b5e38b46b2dDan Williams		barrier();
12285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams	UART_BASE[UART_TX] = c;
13285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams}
14285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams
15285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williamsstatic inline void flush(void)
16285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams{
17285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams}
18285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams
19285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams/*
20285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams * nothing to do
21285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams */
22285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams#define arch_decomp_setup()
23285f5fa7e9a35e75d9022f9b036ed709721c5cdfDan Williams#define arch_decomp_wdog()
24