[SERIAL] Clean up and fix tty transmission start/stoping
[linux-2.6] / include / asm-arm / arch-l7200 / uncompress.h
1 /*
2  * linux/include/asm-arm/arch-l7200/uncompress.h
3  *
4  * Copyright (C) 2000 Steve Hill (sjhill@cotw.com)
5  *
6  * Changelog:
7  *  05-01-2000  SJH     Created
8  *  05-13-2000  SJH     Filled in function bodies
9  *  07-26-2000  SJH     Removed hard coded buad rate
10  */
11
12 #include <asm/hardware.h>
13
14 #define IO_UART  IO_START + 0x00044000
15
16 #define __raw_writeb(v,p)       (*(volatile unsigned char *)(p) = (v))
17 #define __raw_readb(p)          (*(volatile unsigned char *)(p))
18
19 static __inline__ void putc(char c)
20 {
21         while(__raw_readb(IO_UART + 0x18) & 0x20 ||
22                 __raw_readb(IO_UART + 0x18) & 0x08);
23         __raw_writeb(c, IO_UART + 0x00);
24 }
25
26 static void putstr(const char *s)
27 {
28         while (*s) {
29                 if (*s == 10) {                 /* If a LF, add CR */
30                         putc(10);
31                         putc(13);
32                 }
33                 putc(*(s++));
34         }
35 }
36
37 static __inline__ void arch_decomp_setup(void)
38 {
39         __raw_writeb(0x00, IO_UART + 0x08);     /* Set HSB */
40         __raw_writeb(0x00, IO_UART + 0x20);     /* Disable IRQs */
41         __raw_writeb(0x01, IO_UART + 0x14);     /* Enable UART */
42 }
43
44 #define arch_decomp_wdog()