48 lines
		
	
	
		
			881 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			881 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * arch/arm/mach-loki/include/mach/uncompress.h
 | |
|  *
 | |
|  * This file is licensed under the terms of the GNU General Public
 | |
|  * License version 2.  This program is licensed "as is" without any
 | |
|  * warranty of any kind, whether express or implied.
 | |
|  */
 | |
| 
 | |
| #include <linux/serial_reg.h>
 | |
| #include <mach/loki.h>
 | |
| 
 | |
| #define SERIAL_BASE	((unsigned char *)UART0_PHYS_BASE)
 | |
| 
 | |
| static void putc(const char c)
 | |
| {
 | |
| 	unsigned char *base = SERIAL_BASE;
 | |
| 	int i;
 | |
| 
 | |
| 	for (i = 0; i < 0x1000; i++) {
 | |
| 		if (base[UART_LSR << 2] & UART_LSR_THRE)
 | |
| 			break;
 | |
| 		barrier();
 | |
| 	}
 | |
| 
 | |
| 	base[UART_TX << 2] = c;
 | |
| }
 | |
| 
 | |
| static void flush(void)
 | |
| {
 | |
| 	unsigned char *base = SERIAL_BASE;
 | |
| 	unsigned char mask;
 | |
| 	int i;
 | |
| 
 | |
| 	mask = UART_LSR_TEMT | UART_LSR_THRE;
 | |
| 
 | |
| 	for (i = 0; i < 0x1000; i++) {
 | |
| 		if ((base[UART_LSR << 2] & mask) == mask)
 | |
| 			break;
 | |
| 		barrier();
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * nothing to do
 | |
|  */
 | |
| #define arch_decomp_setup()
 | |
| #define arch_decomp_wdog()
 |