Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6] / arch / arm / mach-clps7500 / include / mach / uncompress.h
1 /*
2  * arch/arm/mach-clps7500/include/mach/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()