GNU Linux-libre 6.7.9-gnu
[releases.git] / arch / arm / include / debug / clps711x.S
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
4  */
5
6 #ifndef CONFIG_DEBUG_CLPS711X_UART2
7 #define CLPS711X_UART_PADDR     (0x80000000 + 0x0000)
8 #define CLPS711X_UART_VADDR     (0xfeff4000 + 0x0000)
9 #else
10 #define CLPS711X_UART_PADDR     (0x80000000 + 0x1000)
11 #define CLPS711X_UART_VADDR     (0xfeff4000 + 0x1000)
12 #endif
13
14 #define SYSFLG          (0x0140)
15 #define SYSFLG_UBUSY    (1 << 11)
16 #define UARTDR          (0x0480)
17
18         .macro  addruart, rp, rv, tmp
19         ldr     \rv, =CLPS711X_UART_VADDR
20         ldr     \rp, =CLPS711X_UART_PADDR
21         .endm
22
23         .macro  waituartcts,rd,rx
24         .endm
25
26         .macro  waituarttxrdy,rd,rx
27         .endm
28
29         .macro  senduart,rd,rx
30         str     \rd, [\rx, #UARTDR]
31         .endm
32
33         .macro  busyuart,rd,rx
34 1001:   ldr     \rd, [\rx, #SYSFLG]
35         tst     \rd, #SYSFLG_UBUSY
36         bne     1001b
37         .endm