Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/arm/include/debug/renesas-scif.S
26298 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Renesas SCIF(A) debugging macro include header
4
*
5
* Based on r8a7790.S
6
*
7
* Copyright (C) 2012-2013 Renesas Electronics Corporation
8
* Copyright (C) 1994-1999 Russell King
9
*/
10
11
#define SCIF_PHYS CONFIG_DEBUG_UART_PHYS
12
#define SCIF_VIRT ((SCIF_PHYS & 0x00ffffff) | 0xfd000000)
13
14
#if defined(CONFIG_DEBUG_R7S9210_SCIF2) || defined(CONFIG_DEBUG_R7S9210_SCIF4)
15
/* RZ/A2 SCIFA */
16
#define FTDR 0x06
17
#define FSR 0x08
18
#elif CONFIG_DEBUG_UART_PHYS < 0xe6e00000
19
/* SCIFA */
20
#define FTDR 0x20
21
#define FSR 0x14
22
#else
23
/* SCIF */
24
#define FTDR 0x0c
25
#define FSR 0x10
26
#endif
27
28
#define TDFE (1 << 5)
29
#define TEND (1 << 6)
30
31
.macro addruart, rp, rv, tmp
32
ldr \rp, =SCIF_PHYS
33
ldr \rv, =SCIF_VIRT
34
.endm
35
36
.macro waituartcts,rd,rx
37
.endm
38
39
.macro waituarttxrdy, rd, rx
40
1001: ldrh \rd, [\rx, #FSR]
41
tst \rd, #TDFE
42
beq 1001b
43
.endm
44
45
.macro senduart, rd, rx
46
strb \rd, [\rx, #FTDR]
47
ldrh \rd, [\rx, #FSR]
48
bic \rd, \rd, #TEND
49
strh \rd, [\rx, #FSR]
50
.endm
51
52
.macro busyuart, rd, rx
53
1001: ldrh \rd, [\rx, #FSR]
54
tst \rd, #TEND
55
beq 1001b
56
.endm
57
58