Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-2.6] / include / asm-arm / arch-iop33x / uncompress.h
1 /*
2  * include/asm-arm/arch-iop33x/uncompress.h
3  */
4
5 #include <asm/types.h>
6 #include <asm/mach-types.h>
7 #include <linux/serial_reg.h>
8 #include <asm/hardware.h>
9
10 static volatile u32 *uart_base;
11
12 #define TX_DONE         (UART_LSR_TEMT | UART_LSR_THRE)
13
14 static inline void putc(char c)
15 {
16         while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE)
17                 barrier();
18         uart_base[UART_TX] = c;
19 }
20
21 static inline void flush(void)
22 {
23 }
24
25 static __inline__ void __arch_decomp_setup(unsigned long arch_id)
26 {
27         if (machine_is_iq80331() || machine_is_iq80332())
28                 uart_base = (volatile u32 *)IOP33X_UART0_PHYS;
29         else
30                 uart_base = (volatile u32 *)0xfe800000;
31 }
32
33 /*
34  * nothing to do
35  */
36 #define arch_decomp_setup()     __arch_decomp_setup(arch_id)
37 #define arch_decomp_wdog()