Linux-2.6.12-rc2
[safe/jmp/linux-2.6] / include / asm-arm / arch-lh7a40x / uncompress.h
1 /* include/asm-arm/arch-lh7a40x/uncompress.h
2  *
3  *  Copyright (C) 2004 Coastal Environmental Systems
4  *
5  *  This program is free software; you can redistribute it and/or
6  *  modify it under the terms of the GNU General Public License
7  *  version 2 as published by the Free Software Foundation.
8  *
9  */
10
11 #include <asm/arch/registers.h>
12
13 #ifndef UART_R_DATA
14 # define UART_R_DATA    (0x00)
15 #endif
16 #ifndef UART_R_STATUS
17 # define UART_R_STATUS  (0x10)
18 #endif
19 #define nTxRdy          (0x20)  /* Not TxReady (literally Tx FIFO full) */
20
21         /* Access UART with physical addresses before MMU is setup */
22 #define UART_STATUS (*(volatile unsigned long*) (UART2_PHYS + UART_R_STATUS))
23 #define UART_DATA   (*(volatile unsigned long*) (UART2_PHYS + UART_R_DATA))
24
25 static __inline__ void putc (char ch)
26 {
27         while (UART_STATUS & nTxRdy)
28                 ;
29         UART_DATA = ch;
30 }
31
32 static void putstr (const char* sz)
33 {
34         for (; *sz; ++sz) {
35                 putc (*sz);
36                 if (*sz == '\n')
37                         putc ('\r');
38         }
39 }
40
41         /* NULL functions; we don't presently need them */
42 #define arch_decomp_setup()
43 #define arch_decomp_wdog()