Russell King | a09e64f | 2008-08-05 16:14:15 +0100 | [diff] [blame] | 1 | /* |
| 2 | * arch/arm/mach-l7200/include/mach/uncompress.h |
| 3 | * |
| 4 | * Copyright (C) 2000 Steve Hill (sjhill@cotw.com) |
| 5 | * |
| 6 | * Changelog: |
| 7 | * 05-01-2000 SJH Created |
| 8 | * 05-13-2000 SJH Filled in function bodies |
| 9 | * 07-26-2000 SJH Removed hard coded baud rate |
| 10 | */ |
| 11 | |
| 12 | #include <mach/hardware.h> |
| 13 | |
| 14 | #define IO_UART IO_START + 0x00044000 |
| 15 | |
| 16 | #define __raw_writeb(v,p) (*(volatile unsigned char *)(p) = (v)) |
| 17 | #define __raw_readb(p) (*(volatile unsigned char *)(p)) |
| 18 | |
| 19 | static inline void putc(int c) |
| 20 | { |
| 21 | while(__raw_readb(IO_UART + 0x18) & 0x20 || |
| 22 | __raw_readb(IO_UART + 0x18) & 0x08) |
| 23 | barrier(); |
| 24 | |
| 25 | __raw_writeb(c, IO_UART + 0x00); |
| 26 | } |
| 27 | |
| 28 | static inline void flush(void) |
| 29 | { |
| 30 | } |
| 31 | |
| 32 | static __inline__ void arch_decomp_setup(void) |
| 33 | { |
| 34 | __raw_writeb(0x00, IO_UART + 0x08); /* Set HSB */ |
| 35 | __raw_writeb(0x00, IO_UART + 0x20); /* Disable IRQs */ |
| 36 | __raw_writeb(0x01, IO_UART + 0x14); /* Enable UART */ |
| 37 | } |
| 38 | |
| 39 | #define arch_decomp_wdog() |