b30dd5520713d73653deb2c62182e5b328f50857
[linux-2.6.git] / include / asm-arm / arch-at91rm9200 / uncompress.h
1 /*
2  * include/asm-arm/arch-at91rm9200/uncompress.h
3  *
4  *  Copyright (C) 2003 SAN People
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 as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef __ASM_ARCH_UNCOMPRESS_H
22 #define __ASM_ARCH_UNCOMPRESS_H
23
24 #include <asm/arch/hardware.h>
25
26 /*
27  * The following code assumes the serial port has already been
28  * initialized by the bootloader.  We search for the first enabled
29  * port in the most probable order.  If you didn't setup a port in
30  * your bootloader then nothing will appear (which might be desired).
31  *
32  * This does not append a newline
33  */
34 static void putstr(const char *s)
35 {
36         void __iomem *sys = (void __iomem *) AT91_BASE_SYS;     /* physical address */
37
38         while (*s) {
39                 while (!(__raw_readl(sys + AT91_DBGU_SR) & AT91_DBGU_TXRDY)) { barrier(); }
40                 __raw_writel(*s, sys + AT91_DBGU_THR);
41                 if (*s == '\n') {
42                         while (!(__raw_readl(sys + AT91_DBGU_SR) & AT91_DBGU_TXRDY)) { barrier(); }
43                         __raw_writel('\r', sys + AT91_DBGU_THR);
44                 }
45                 s++;
46         }
47         /* wait for transmission to complete */
48         while (!(__raw_readl(sys + AT91_DBGU_SR) & AT91_DBGU_TXEMPTY)) { barrier(); }
49 }
50
51 #define arch_decomp_setup()
52
53 #define arch_decomp_wdog()
54
55 #endif