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