Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+21 −6
Original line number Diff line number Diff line
@@ -16,30 +16,45 @@
#include "io.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 int uartlite_open(void)
{
	/* Clear the RX FIFO */
	out_be32(reg_base + 0x0C, 0x2);
	out_be32(reg_base + ULITE_CONTROL, ULITE_CONTROL_RST_RX);
	return 0;
}

static void uartlite_putc(unsigned char c)
{
	while ((in_be32(reg_base + 0x8) & 0x08) != 0); /* spin */
	out_be32(reg_base + 0x4, c);
	u32 reg = ULITE_STATUS_TXFULL;
	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)
{
	while ((in_be32(reg_base + 0x8) & 0x01) == 0); /* spin */
	return in_be32(reg_base);
	u32 reg = ULITE_STATUS_RXVALID;
	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)
{
	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)