You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
932 B
49 lines
932 B
/*
|
|
* arch/arm/mach-orion5x/include/mach/uncompress.h
|
|
*
|
|
* Tzachi Perelstein <tzachi@marvell.com>
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
#include <linux/serial_reg.h>
|
|
#include <mach/orion5x.h>
|
|
|
|
#define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE)
|
|
|
|
static void putc(const char c)
|
|
{
|
|
unsigned char *base = SERIAL_BASE;
|
|
int i;
|
|
|
|
for (i = 0; i < 0x1000; i++) {
|
|
if (base[UART_LSR << 2] & UART_LSR_THRE)
|
|
break;
|
|
barrier();
|
|
}
|
|
|
|
base[UART_TX << 2] = c;
|
|
}
|
|
|
|
static void flush(void)
|
|
{
|
|
unsigned char *base = SERIAL_BASE;
|
|
unsigned char mask;
|
|
int i;
|
|
|
|
mask = UART_LSR_TEMT | UART_LSR_THRE;
|
|
|
|
for (i = 0; i < 0x1000; i++) {
|
|
if ((base[UART_LSR << 2] & mask) == mask)
|
|
break;
|
|
barrier();
|
|
}
|
|
}
|
|
|
|
/*
|
|
* nothing to do
|
|
*/
|
|
#define arch_decomp_setup()
|
|
#define arch_decomp_wdog()
|
|
|