1/* 2 * arch/arm/mach-mmp/include/mach/uncompress.h 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9#include <linux/serial_reg.h> 10#include <mach/addr-map.h> 11#include <asm/mach-types.h> 12 13#define UART1_BASE (APB_PHYS_BASE + 0x36000) 14#define UART2_BASE (APB_PHYS_BASE + 0x17000) 15#define UART3_BASE (APB_PHYS_BASE + 0x18000) 16 17volatile unsigned long *UART; 18 19static inline void putc(char c) 20{ 21 /* UART enabled? */ 22 if (!(UART[UART_IER] & UART_IER_UUE)) 23 return; 24 25 while (!(UART[UART_LSR] & UART_LSR_THRE)) 26 barrier(); 27 28 UART[UART_TX] = c; 29} 30 31/* 32 * This does not append a newline 33 */ 34static inline void flush(void) 35{ 36} 37 38static inline void arch_decomp_setup(void) 39{ 40 /* default to UART2 */ 41 UART = (unsigned long *)UART2_BASE; 42 43 if (machine_is_avengers_lite()) 44 UART = (unsigned long *)UART3_BASE; 45} 46