mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 21:33:00 +00:00
59bba2a985
Move picoxcell debug-macro.S over to common debug macro directory. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Jamie Iles <jamie@jamieiles.com>
36 lines
971 B
ArmAsm
36 lines
971 B
ArmAsm
/*
|
|
* Copyright (c) 2011 Picochip Ltd., Jamie Iles
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
|
|
* accesses to the 8250.
|
|
*/
|
|
#include <linux/serial_reg.h>
|
|
|
|
#define UART_SHIFT 2
|
|
#define PICOXCELL_UART1_BASE 0x80230000
|
|
#define PHYS_TO_IO(x) (((x) & 0x00ffffff) | 0xfe000000)
|
|
|
|
.macro addruart, rp, rv, tmp
|
|
ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
|
|
ldr \rp, =PICOXCELL_UART1_BASE
|
|
.endm
|
|
|
|
.macro senduart,rd,rx
|
|
str \rd, [\rx, #UART_TX << UART_SHIFT]
|
|
.endm
|
|
|
|
.macro busyuart,rd,rx
|
|
1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT]
|
|
and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
|
|
teq \rd, #UART_LSR_TEMT | UART_LSR_THRE
|
|
bne 1002b
|
|
.endm
|
|
|
|
/* The UART's don't have any flow control IO's wired up. */
|
|
.macro waituart,rd,rx
|
|
.endm
|