Commit be1b4d34 authored by Grant Likely's avatar Grant Likely Committed by Josh Boyer

[POWERPC] Uartlite: Add macros for register names

Add macros to define register names to improve readability.
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
parent 69c9c943
...@@ -16,30 +16,45 @@ ...@@ -16,30 +16,45 @@
#include "io.h" #include "io.h"
#include "ops.h" #include "ops.h"
#define ULITE_RX 0x00
#define ULITE_TX 0x04
#define ULITE_STATUS 0x08
#define ULITE_CONTROL 0x0c
#define ULITE_STATUS_RXVALID 0x01
#define ULITE_STATUS_TXFULL 0x08
#define ULITE_CONTROL_RST_RX 0x02
static void * reg_base; static void * reg_base;
static int uartlite_open(void) static int uartlite_open(void)
{ {
/* Clear the RX FIFO */ /* Clear the RX FIFO */
out_be32(reg_base + 0x0C, 0x2); out_be32(reg_base + ULITE_CONTROL, ULITE_CONTROL_RST_RX);
return 0; return 0;
} }
static void uartlite_putc(unsigned char c) static void uartlite_putc(unsigned char c)
{ {
while ((in_be32(reg_base + 0x8) & 0x08) != 0); /* spin */ u32 reg = ULITE_STATUS_TXFULL;
out_be32(reg_base + 0x4, c); while (reg & ULITE_STATUS_TXFULL) /* spin on TXFULL bit */
reg = in_be32(reg_base + ULITE_STATUS);
out_be32(reg_base + ULITE_TX, c);
} }
static unsigned char uartlite_getc(void) static unsigned char uartlite_getc(void)
{ {
while ((in_be32(reg_base + 0x8) & 0x01) == 0); /* spin */ u32 reg = ULITE_STATUS_RXVALID;
return in_be32(reg_base); while (reg & ULITE_STATUS_RXVALID) /* spin on RXVALID bit */
reg = in_be32(reg_base + ULITE_STATUS);
return in_be32(reg_base + ULITE_RX);
} }
static u8 uartlite_tstc(void) static u8 uartlite_tstc(void)
{ {
return ((in_be32(reg_base + 0x8) & 0x01) != 0); u32 reg = in_be32(reg_base + ULITE_STATUS);
return reg & ULITE_STATUS_RXVALID;
} }
int uartlite_console_init(void *devp, struct serial_console_data *scdp) int uartlite_console_init(void *devp, struct serial_console_data *scdp)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment