1
/* arch/arm/plat-samsung/include/plat/debug-macro.S
3
* Copyright 2005, 2007 Simtec Electronics
4
* http://armlinux.simtec.co.uk/
5
* Ben Dooks <ben@simtec.co.uk>
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License version 2 as
9
* published by the Free Software Foundation.
12
#include <plat/regs-serial.h>
14
/* The S5PV210/S5PC110 implementations are as belows. */
16
.macro fifo_level_s5pv210 rd, rx
17
ldr \rd, [ \rx, # S3C2410_UFSTAT ]
18
and \rd, \rd, #S5PV210_UFSTAT_TXMASK
21
.macro fifo_full_s5pv210 rd, rx
22
ldr \rd, [ \rx, # S3C2410_UFSTAT ]
23
tst \rd, #S5PV210_UFSTAT_TXFULL
26
/* The S3C2440 implementations are used by default as they are the
27
* most widely re-used */
29
.macro fifo_level_s3c2440 rd, rx
30
ldr \rd, [ \rx, # S3C2410_UFSTAT ]
31
and \rd, \rd, #S3C2440_UFSTAT_TXMASK
35
#define fifo_level fifo_level_s3c2440
38
.macro fifo_full_s3c2440 rd, rx
39
ldr \rd, [ \rx, # S3C2410_UFSTAT ]
40
tst \rd, #S3C2440_UFSTAT_TXFULL
44
#define fifo_full fifo_full_s3c2440
48
strb \rd, [\rx, # S3C2410_UTXH ]
51
.macro busyuart, rd, rx
52
ldr \rd, [ \rx, # S3C2410_UFCON ]
53
tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled?
62
@ busy waiting for non fifo
63
ldr \rd, [ \rx, # S3C2410_UTRSTAT ]
64
tst \rd, #S3C2410_UTRSTAT_TXFE
71
ldr \rd, [ \rx, # S3C2410_UFCON ]
72
tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled?
81
@ idle waiting for non fifo
82
ldr \rd, [ \rx, # S3C2410_UTRSTAT ]
83
tst \rd, #S3C2410_UTRSTAT_TXFE