• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)19 static 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)34 static inline void flush(void)
35 {
36 }
37 
arch_decomp_setup(void)38 static 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