WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / include / debug / at91.S
blob17722824e2f2222d7f0e78e0d0e05cbf860e2a39
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  Copyright (C) 2003-2005 SAN People
4  *
5  * Debugging macro include header
6 */
8 #define AT91_DBGU_SR            (0x14)  /* Status Register */
9 #define AT91_DBGU_THR           (0x1c)  /* Transmitter Holding Register */
10 #define AT91_DBGU_TXRDY         (1 << 1)        /* Transmitter Ready */
11 #define AT91_DBGU_TXEMPTY       (1 << 9)        /* Transmitter Empty */
13         .macro  addruart, rp, rv, tmp
14         ldr     \rp, =CONFIG_DEBUG_UART_PHYS            @ System peripherals (phys address)
15         ldr     \rv, =CONFIG_DEBUG_UART_VIRT            @ System peripherals (virt address)
16         .endm
18         .macro  senduart,rd,rx
19         strb    \rd, [\rx, #(AT91_DBGU_THR)]            @ Write to Transmitter Holding Register
20         .endm
22         .macro  waituarttxrdy,rd,rx
23 1001:   ldr     \rd, [\rx, #(AT91_DBGU_SR)]             @ Read Status Register
24         tst     \rd, #AT91_DBGU_TXRDY                   @ DBGU_TXRDY = 1 when ready to transmit
25         beq     1001b
26         .endm
28         .macro  waituartcts,rd,rx
29         .endm
31         .macro  busyuart,rd,rx
32 1001:   ldr     \rd, [\rx, #(AT91_DBGU_SR)]             @ Read Status Register
33         tst     \rd, #AT91_DBGU_TXEMPTY                 @ DBGU_TXEMPTY = 1 when transmission complete
34         beq     1001b
35         .endm