| /* |
| * linux/include/asm-arm/arch-iop33x/uncompress.h |
| */ |
| #include <asm/types.h> |
| #include <asm/mach-types.h> |
| #include <linux/serial_reg.h> |
| #include <asm/hardware.h> |
| |
| static volatile u32 *uart_base; |
| |
| #define TX_DONE (UART_LSR_TEMT|UART_LSR_THRE) |
| |
| static inline void putc(char c) |
| { |
| while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE) |
| barrier(); |
| *uart_base = c; |
| } |
| |
| static inline void flush(void) |
| { |
| } |
| |
| static __inline__ void __arch_decomp_setup(unsigned long arch_id) |
| { |
| if (machine_is_iq80331() || machine_is_iq80332()) |
| uart_base = (volatile u32 *)IOP331_UART0_PHYS; |
| else |
| uart_base = (volatile u32 *)0xfe800000; |
| } |
| |
| /* |
| * nothing to do |
| */ |
| #define arch_decomp_setup() __arch_decomp_setup(arch_id) |
| #define arch_decomp_wdog() |