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