Skip to content

Commit

Permalink
[ARM] Orion: use linux/serial_reg.h for Orion uncompress.h
Browse files Browse the repository at this point in the history
Signed-off-by: Lennert Buytenhek <[email protected]>
  • Loading branch information
buytenh authored and Lennert Buytenhek committed Jun 22, 2008
1 parent 7ec753c commit 0e3bc05
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions include/asm-arm/arch-orion5x/uncompress.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,38 @@
* warranty of any kind, whether express or implied.
*/

#include <linux/serial_reg.h>
#include <asm/arch/orion5x.h>

#define MV_UART_THR ((volatile unsigned char *)(UART0_PHYS_BASE + 0x0))
#define MV_UART_LSR ((volatile unsigned char *)(UART0_PHYS_BASE + 0x14))

#define LSR_THRE 0x20
#define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE)

static void putc(const char c)
{
int j = 0x1000;
while (--j && !(*MV_UART_LSR & LSR_THRE))
unsigned char *base = SERIAL_BASE;
int i;

for (i = 0; i < 0x1000; i++) {
if (base[UART_LSR << 2] & UART_LSR_THRE)
break;
barrier();
*MV_UART_THR = c;
}

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();
}
}

/*
Expand Down

0 comments on commit 0e3bc05

Please sign in to comment.