blob: ae5b775eb0b7517b4e57dae2bee61250d2f7b1c9 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/include/asm-arm/arch-ebsa110/uncompress.h
3 *
4 * Copyright (C) 1996,1997,1998 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
Russell Kinga0815682006-03-28 10:24:33 +010011#include <linux/serial_reg.h>
12
Russell Kingf1dc24d2006-04-07 11:04:54 +010013#define SERIAL_BASE ((unsigned char *)0xf0000be0)
Russell Kinga0815682006-03-28 10:24:33 +010014
Linus Torvalds1da177e2005-04-16 15:20:36 -070015/*
16 * This does not append a newline
17 */
Russell Kinga0815682006-03-28 10:24:33 +010018static inline void putc(int c)
Linus Torvalds1da177e2005-04-16 15:20:36 -070019{
Russell Kinga0815682006-03-28 10:24:33 +010020 unsigned char v, *base = SERIAL_BASE;
21
22 do {
23 v = base[UART_LSR << 2];
24 barrier();
25 } while (!(v & UART_LSR_THRE));
26
27 base[UART_TX << 2] = c;
28}
29
30static inline void flush(void)
31{
32 unsigned char v, *base = SERIAL_BASE;
33
34 do {
35 v = base[UART_LSR << 2];
36 barrier();
37 } while ((v & (UART_LSR_TEMT|UART_LSR_THRE)) !=
38 (UART_LSR_TEMT|UART_LSR_THRE));
Linus Torvalds1da177e2005-04-16 15:20:36 -070039}
40
41/*
42 * nothing to do
43 */
44#define arch_decomp_setup()
45#define arch_decomp_wdog()