[ARM] 4510/1: S3C: split debug-macro support into plat-s3c
[pandora-kernel.git] / include / asm-arm / arch-s3c2410 / debug-macro.S
index 90dfba4..b0a4417 100644 (file)
 */
 
 #include <asm/arch/map.h>
-#include <asm/plat-s3c/regs-serial.h>
 #include <asm/arch/regs-gpio.h>
 
+#include <asm/plat-s3c/regs-serial.h>
+#include <asm/plat-s3c/debug-macro.S>
+
 #define S3C2410_UART1_OFF (0x4000)
 #define SHIFT_2440TXF (14-9)
 
-               .macro addruart, rx
+       .macro addruart, rx
                mrc     p15, 0, \rx, c1, c0
                tst     \rx, #1
                ldreq   \rx, = S3C24XX_PA_UART
 #if CONFIG_DEBUG_S3C2410_UART != 0
                add     \rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C2410_UART)
 #endif
-               .endm
+       .endm
 
-               .macro  senduart,rd,rx
-               strb    \rd, [\rx, # S3C2410_UTXH ]
-               .endm
-
-               .macro  busyuart, rd, rx
-               ldr     \rd, [ \rx, # S3C2410_UFCON ]
-               tst     \rd, #S3C2410_UFCON_FIFOMODE    @ fifo enabled?
-               beq     1001f                           @
-               @ FIFO enabled...
-1003:
+       .macro fifo_full rd, rx
                @ check for arm920 vs arm926. currently assume all arm926
                @ devices have an 64 byte FIFO identical to the s3c2440
                mrc     p15, 0, \rd, c0, c0
                ldr     \rd, [ \rx, # S3C2410_UFSTAT ]
                moveq   \rd, \rd, lsr #SHIFT_2440TXF
                tst     \rd, #S3C2410_UFSTAT_TXFULL
-               bne     1003b
-               b       1002f
-
-1001:
-               @ busy waiting for non fifo
-               ldr     \rd, [ \rx, # S3C2410_UTRSTAT ]
-               tst     \rd, #S3C2410_UTRSTAT_TXFE
-               beq     1001b
+       .endm
 
-1002:          @ exit busyuart
-               .endm
-
-               .macro  waituart,rd,rx
-
-               ldr     \rd, [ \rx, # S3C2410_UFCON ]
-               tst     \rd, #S3C2410_UFCON_FIFOMODE    @ fifo enabled?
-               beq     1001f                           @
-               @ FIFO enabled...
-1003:
+       .macro fifo_level rd, rx
                mrc     p15, 0, \rd, c1, c0
                tst     \rd, #1
                addeq   \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART)
                ldr     \rd, [ \rx, # S3C2410_UFSTAT ]
                andne   \rd, \rd, #S3C2410_UFSTAT_TXMASK
                andeq   \rd, \rd, #S3C2440_UFSTAT_TXMASK
-               teq     \rd, #0
-               bne     1003b
-               b       1002f
-
-1001:
-               @ idle waiting for non fifo
-               ldr     \rd, [ \rx, # S3C2410_UTRSTAT ]
-               tst     \rd, #S3C2410_UTRSTAT_TXFE
-               beq     1001b
-
-1002:          @ exit busyuart
-               .endm
+       .endm