Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / arm / include / debug / s3c24xx.S
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>