blob: bf516adf19250d05eb020fac0be6b51611416e45 [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/*
2 * arch/arm/mach-ks8695/include/mach/debug-macro.S
3 *
4 * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk>
5 * Copyright (C) 2006 Simtec Electronics
6 *
7 * KS8695 - Debug macros
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14#include <mach/hardware.h>
15#include <mach/regs-uart.h>
16
Jeremy Kerr0ea12932010-07-06 18:30:06 +080017 .macro addruart, rp, rv
18 ldr \rp, =KS8695_UART_PA @ physical base address
19 ldr \rv, =KS8695_UART_VA @ virtual base address
Russell Kinga09e64f2008-08-05 16:14:15 +010020 .endm
21
22 .macro senduart, rd, rx
23 str \rd, [\rx, #KS8695_URTH] @ Write to Transmit Holding Register
24 .endm
25
26 .macro busyuart, rd, rx
271001: ldr \rd, [\rx, #KS8695_URLS] @ Read Line Status Register
28 tst \rd, #URLS_URTE @ Holding & Shift registers empty?
29 beq 1001b
30 .endm
31
32 .macro waituart, rd, rx
331001: ldr \rd, [\rx, #KS8695_URLS] @ Read Line Status Register
34 tst \rd, #URLS_URTHRE @ Holding Register empty?
35 beq 1001b
36 .endm