• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2011 Picochip Ltd., Jamie Iles
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
9 * accesses to the 8250.
10 */
11#include <linux/serial_reg.h>
12#include <mach/hardware.h>
13#include <mach/map.h>
14
15#define UART_SHIFT 2
16
17		.macro	addruart, rp, rv, tmp
18		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
19		ldr	\rp, =PICOXCELL_UART1_BASE
20		.endm
21
22		.macro	senduart,rd,rx
23		str	\rd, [\rx, #UART_TX << UART_SHIFT]
24		.endm
25
26		.macro	busyuart,rd,rx
271002:		ldr	\rd, [\rx, #UART_LSR << UART_SHIFT]
28		and	\rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
29		teq	\rd, #UART_LSR_TEMT | UART_LSR_THRE
30		bne	1002b
31		.endm
32
33		/* The UART's don't have any flow control IO's wired up. */
34		.macro	waituart,rd,rx
35		.endm
36