Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / asm-arm / arch-cl7500 / uncompress.h
1 /*
2  * linux/include/asm-arm/arch-cl7500/uncompress.h
3  *
4  * Copyright (C) 1999, 2000 Nexus Electronics Ltd.
5  */
6 #define BASE 0x03010000
7 #define SERBASE (BASE + (0x2f8 << 2))
8
9 static inline void putc(char c)
10 {
11         while (!(*((volatile unsigned int *)(SERBASE + 0x14)) & 0x20))
12                 barrier();
13
14         *((volatile unsigned int *)(SERBASE)) = c;
15 }
16
17 static inline void flush(void)
18 {
19 }
20
21 static __inline__ void arch_decomp_setup(void)
22 {
23         int baud = 3686400 / (9600 * 32);
24
25         *((volatile unsigned int *)(SERBASE + 0xC)) = 0x80;
26         *((volatile unsigned int *)(SERBASE + 0x0)) = baud & 0xff;
27         *((volatile unsigned int *)(SERBASE + 0x4)) = (baud & 0xff00) >> 8;
28         *((volatile unsigned int *)(SERBASE + 0xC)) = 3; /* 8 bits */
29         *((volatile unsigned int *)(SERBASE + 0x10)) = 3; /* DTR, RTS */
30 }
31
32 /*
33  * nothing to do
34  */
35 #define arch_decomp_wdog()