1/* SPDX-License-Identifier: GPL-2.0-only */
2/* arch/arm/mach-s3c2410/include/mach/debug-macro.S
3 *
4 * Debugging macro include header
5 *
6 *  Copyright (C) 1994-1999 Russell King
7 *  Copyright (C) 2005 Simtec Electronics
8 *
9 *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
10*/
11
12#include <linux/serial_s3c.h>
13
14#define S3C2410_UART1_OFF (0x4000)
15
16	.macro addruart, rp, rv, tmp
17		ldr	\rp, = CONFIG_DEBUG_UART_PHYS
18		ldr	\rv, = CONFIG_DEBUG_UART_VIRT
19	.endm
20
21	.macro  fifo_full_s3c2410 rd, rx
22		ldr	\rd, [\rx, # S3C2410_UFSTAT]
23		tst	\rd, #S3C2410_UFSTAT_TXFULL
24	.endm
25
26	.macro fifo_level_s3c2410 rd, rx
27		ldr	\rd, [\rx, # S3C2410_UFSTAT]
28		and	\rd, \rd, #S3C2410_UFSTAT_TXMASK
29	.endm
30
31/* Select the correct implementation depending on the configuration. The
32 * S3C2440 will get selected by default, as these are the most widely
33 * used variants of these
34*/
35
36#if defined(CONFIG_DEBUG_S3C2410_UART)
37#define fifo_full  fifo_full_s3c2410
38#define fifo_level fifo_level_s3c2410
39#endif
40
41/* include the reset of the code which will do the work */
42
43#include <debug/samsung.S>
44