• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * arch/arm/mach-mv78xx0/include/mach/uncompress.h
3  *
4  * This file is licensed under the terms of the GNU General Public
5  * License version 2.  This program is licensed "as is" without any
6  * warranty of any kind, whether express or implied.
7  */
8 
9 #include <linux/serial_reg.h>
10 #include <mach/mv78xx0.h>
11 
12 #define SERIAL_BASE	((unsigned char *)UART0_PHYS_BASE)
13 
putc(const char c)14 static void putc(const char c)
15 {
16 	unsigned char *base = SERIAL_BASE;
17 	int i;
18 
19 	for (i = 0; i < 0x1000; i++) {
20 		if (base[UART_LSR << 2] & UART_LSR_THRE)
21 			break;
22 		barrier();
23 	}
24 
25 	base[UART_TX << 2] = c;
26 }
27 
flush(void)28 static void flush(void)
29 {
30 	unsigned char *base = SERIAL_BASE;
31 	unsigned char mask;
32 	int i;
33 
34 	mask = UART_LSR_TEMT | UART_LSR_THRE;
35 
36 	for (i = 0; i < 0x1000; i++) {
37 		if ((base[UART_LSR << 2] & mask) == mask)
38 			break;
39 		barrier();
40 	}
41 }
42 
43 /*
44  * nothing to do
45  */
46 #define arch_decomp_setup()
47 #define arch_decomp_wdog()
48