blob: af873b5266778be070b0fde8cf3cbfd34debdad1 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-only */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/* 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000010*/
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>