Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild
[linux-2.6] / include / asm-arm / arch-ep93xx / uncompress.h
1 /*
2  * linux/include/asm-arm/arch-ep93xx/uncompress.h
3  *
4  * Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
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 (at
9  * your option) any later version.
10  */
11
12 #include <asm/arch/ep93xx-regs.h>
13
14 static unsigned char __raw_readb(unsigned int ptr)
15 {
16         return *((volatile unsigned char *)ptr);
17 }
18
19 static void __raw_writeb(unsigned char value, unsigned int ptr)
20 {
21         *((volatile unsigned char *)ptr) = value;
22 }
23
24
25 #define PHYS_UART1_DATA         0x808c0000
26 #define PHYS_UART1_FLAG         0x808c0018
27 #define UART1_FLAG_TXFF         0x20
28
29 static __inline__ void putc(char c)
30 {
31         int i;
32
33         for (i = 0; i < 1000; i++) {
34                 /* Transmit fifo not full?  */
35                 if (!(__raw_readb(PHYS_UART1_FLAG) & UART1_FLAG_TXFF))
36                         break;
37         }
38
39         __raw_writeb(c, PHYS_UART1_DATA);
40 }
41
42 static void putstr(const char *s)
43 {
44         while (*s) {
45                 putc(*s);
46                 if (*s == '\n')
47                         putc('\r');
48                 s++;
49         }
50 }
51
52 #define arch_decomp_setup()
53 #define arch_decomp_wdog()