2 * linux/include/asm-arm/arch-nexuspci/uncompress.h
4 * Copyright (C) 1998, 1999, 2000 Philip Blundell
7 #include <asm/hardware.h>
11 * Write a character to the UART
13 void _ll_write_char(char c
)
15 while (!(__raw_readb(DUART_START
+ 0x4) & 0x4))
17 __raw_writeb(c
, DUART_START
+ 0xc);
21 * This does not append a newline
23 static void puts(const char *s
)
28 _ll_write_char(*(s
++));
33 * Set up for decompression
35 static void arch_decomp_setup(void)
38 __raw_writel(INTCONT_LED
, INTCONT_START
);
41 __raw_writeb(42, DUART_START
+ 8);
42 __raw_writeb(48, DUART_START
+ 8);
43 __raw_writeb(16, DUART_START
+ 8);
44 __raw_writeb(0x93, DUART_START
);
45 __raw_writeb(0x17, DUART_START
);
46 __raw_writeb(0xbb, DUART_START
+ 4);
47 __raw_writeb(0x78, DUART_START
+ 16);
48 __raw_writeb(0xa0, DUART_START
+ 8);
49 __raw_writeb(5, DUART_START
+ 8);
53 * Stroke the watchdog so we don't get reset during decompression.
55 static inline void arch_decomp_wdog(void)
57 __raw_writel(INTCONT_WATCHDOG
, INTCONT_START
);
58 __raw_writel(INTCONT_WATCHDOG
| 1, INTCONT_START
);