linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / asm-arm / arch-aaec2000 / uncompress.h
1 /*
2  *  linux/include/asm-arm/arch-aaec2000/uncompress.h
3  *
4  *  Copyright (c) 2005 Nicolas Bellido Y Ortega
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License version 2 as
8  *  published by the Free Software Foundation.
9  */
10
11 #ifndef __ASM_ARCH_UNCOMPRESS_H
12 #define __ASM_ARCH_UNCOMPRESS_H
13
14 #include "hardware.h"
15
16 #define UART(x)         (*(volatile unsigned long *)(serial_port + (x)))
17
18 static void putstr( const char *s )
19 {
20         unsigned long serial_port;
21         do {
22                 serial_port = _UART3_BASE;
23                 if (UART(UART_CR) & UART_CR_EN) break;
24                 serial_port = _UART1_BASE;
25                 if (UART(UART_CR) & UART_CR_EN) break;
26                 serial_port = _UART2_BASE;
27                 if (UART(UART_CR) & UART_CR_EN) break;
28                 return;
29         } while (0);
30
31         for (; *s; s++) {
32                 /* wait for space in the UART's transmitter */
33                 while ((UART(UART_SR) & UART_SR_TxFF));
34                 /* send the character out. */
35                 UART(UART_DR) = *s;
36                 /* if a LF, also do CR... */
37                 if (*s == 10) {
38                         while ((UART(UART_SR) & UART_SR_TxFF));
39                         UART(UART_DR) = 13;
40                 }
41         }
42 }
43
44 #define arch_decomp_setup()
45 #define arch_decomp_wdog()
46
47 #endif /* __ASM_ARCH_UNCOMPRESS_H */