1
2
3
4
5
6
7
8
9 #include <linux/amba/serial.h>
10
11 #ifdef CONFIG_DEBUG_ZTE_ZX
12 #undef UART01x_DR
13 #undef UART01x_FR
14 #define UART01x_DR 0x04
15 #define UART01x_FR 0x14
16 #endif
17
18 #ifdef CONFIG_DEBUG_UART_PHYS
19 .macro addruart, rp, rv, tmp
20 ldr \rp, =CONFIG_DEBUG_UART_PHYS
21 ldr \rv, =CONFIG_DEBUG_UART_VIRT
22 .endm
23 #endif
24
25 .macro senduart,rd,rx
26 strb \rd, [\rx, #UART01x_DR]
27 .endm
28
29 .macro waituart,rd,rx
30 1001: ldr \rd, [\rx, #UART01x_FR]
31 ARM_BE8( rev \rd, \rd )
32 tst \rd, #UART01x_FR_TXFF
33 bne 1001b
34 .endm
35
36 .macro busyuart,rd,rx
37 1001: ldr \rd, [\rx, #UART01x_FR]
38 ARM_BE8( rev \rd, \rd )
39 tst \rd, #UART01x_FR_BUSY
40 bne 1001b
41 .endm