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