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