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 17 volatile unsigned long *UART; 18 putc(char c)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 */ flush(void)34static inline void flush(void) 35 { 36 } 37 arch_decomp_setup(void)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 47 /* 48 * nothing to do 49 */ 50 51 #define arch_decomp_wdog() 52