blob: 3d1ce0426a33646127a90e92f1a3b05a47e2fb48 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* 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
Marc Singer22951962006-05-16 11:41:27 +010019#define nTxRdy (0x20) /* Not TxReady (literally Tx FIFO full) */
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
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
Russell Kinga0815682006-03-28 10:24:33 +010025static inline void putc(int ch)
Linus Torvalds1da177e2005-04-16 15:20:36 -070026{
27 while (UART_STATUS & nTxRdy)
Russell Kinga0815682006-03-28 10:24:33 +010028 barrier();
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 UART_DATA = ch;
30}
31
Russell Kinga0815682006-03-28 10:24:33 +010032static inline void flush(void)
Linus Torvalds1da177e2005-04-16 15:20:36 -070033{
Linus Torvalds1da177e2005-04-16 15:20:36 -070034}
35
36 /* NULL functions; we don't presently need them */
37#define arch_decomp_setup()
38#define arch_decomp_wdog()