import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / include / asm-arm / arch-ebsa285 / uncompress.h
1 /*
2  *  linux/include/asm-arm/arch-ebsa285/uncompress.h
3  *
4  *  Copyright (C) 1996-1999 Russell King
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 #include <asm/mach-types.h>
11
12 /*
13  * Note! This could cause problems on the NetWinder
14  */
15 #define DC21285_BASE ((volatile unsigned int *)0x42000160)
16 #define SER0_BASE    ((volatile unsigned char *)0x7c0003f8)
17
18 static __inline__ void putc(char c)
19 {
20         if (machine_is_netwinder()) {
21                 while ((SER0_BASE[5] & 0x60) != 0x60)
22                         barrier();
23                 SER0_BASE[0] = c;
24         } else {
25                 while (DC21285_BASE[6] & 8)
26                         barrier();
27                 DC21285_BASE[0] = c;
28         }
29 }
30
31 /*
32  * This does not append a newline
33  */
34 static void puts(const char *s)
35 {
36         while (*s) {
37                 putc(*s);
38                 if (*s == '\n')
39                         putc('\r');
40                 s++;
41         }
42 }
43
44 /*
45  * nothing to do
46  */
47 #define arch_decomp_setup()
48 #define arch_decomp_wdog()