blob: 18c69e0f3585dc6c36e7cc977ac0f68add1377a4 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/include/asm-arm/arch-h720x/uncompress.h
3 *
4 * Copyright (C) 2001-2002 Jungjun Kim
5 */
6
7#ifndef __ASM_ARCH_UNCOMPRESS_H
8#define __ASM_ARCH_UNCOMPRESS_H
9
Russell King0a5709b2005-11-16 14:51:20 +000010#include <asm/hardware.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
12#define LSR 0x14
13#define TEMPTY 0x40
14
Russell Kinga0815682006-03-28 10:24:33 +010015static inline void putc(int c)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016{
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 volatile unsigned char *p = (volatile unsigned char *)(IO_PHYS+0x20000);
18
Russell Kinga0815682006-03-28 10:24:33 +010019 /* wait until transmit buffer is empty */
20 while((p[LSR] & TEMPTY) == 0x0)
21 barrier();
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Russell Kinga0815682006-03-28 10:24:33 +010023 /* write next character */
24 *p = c;
25}
26
27static inline void flush(void)
28{
Linus Torvalds1da177e2005-04-16 15:20:36 -070029}
30
31/*
32 * nothing to do
33 */
34#define arch_decomp_setup()
35#define arch_decomp_wdog()
36
37#endif