| /* | |
| * Renesas SCIF(A) debugging macro include header | |
| * | |
| * Based on r8a7790.S | |
| * | |
| * Copyright (C) 2012-2013 Renesas Electronics Corporation | |
| * Copyright (C) 1994-1999 Russell King | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 as | |
| * published by the Free Software Foundation. | |
| */ | |
| #define SCIF_PHYS CONFIG_DEBUG_UART_PHYS | |
| #define SCIF_VIRT ((SCIF_PHYS & 0x00ffffff) | 0xfd000000) | |
| #if CONFIG_DEBUG_UART_PHYS < 0xe6e00000 | |
| /* SCIFA */ | |
| #define FTDR 0x20 | |
| #define FSR 0x14 | |
| #else | |
| /* SCIF */ | |
| #define FTDR 0x0c | |
| #define FSR 0x10 | |
| #endif | |
| #define TDFE (1 << 5) | |
| #define TEND (1 << 6) | |
| .macro addruart, rp, rv, tmp | |
| ldr \rp, =SCIF_PHYS | |
| ldr \rv, =SCIF_VIRT | |
| .endm | |
| .macro waituart, rd, rx | |
| 1001: ldrh \rd, [\rx, #FSR] | |
| tst \rd, #TDFE | |
| beq 1001b | |
| .endm | |
| .macro senduart, rd, rx | |
| strb \rd, [\rx, #FTDR] | |
| ldrh \rd, [\rx, #FSR] | |
| bic \rd, \rd, #TEND | |
| strh \rd, [\rx, #FSR] | |
| .endm | |
| .macro busyuart, rd, rx | |
| 1001: ldrh \rd, [\rx, #FSR] | |
| tst \rd, #TEND | |
| beq 1001b | |
| .endm |