|
@@ -13,13 +13,15 @@
|
|
|
*/
|
|
|
|
|
|
#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
|
|
@@ -27,18 +29,9 @@
|
|
|
#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
|
|
@@ -57,25 +50,9 @@
|
|
|
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)
|
|
@@ -88,15 +65,4 @@
|
|
|
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
|