]>
Commit | Line | Data |
---|---|---|
d2912cb1 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
494e492d UKK |
2 | /* |
3 | * Copyright (C) 2013 Pengutronix | |
4 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | |
494e492d UKK |
5 | */ |
6 | ||
7 | #define UARTn_CMD 0x000c | |
8 | #define UARTn_CMD_TXEN 0x0004 | |
9 | ||
10 | #define UARTn_STATUS 0x0010 | |
11 | #define UARTn_STATUS_TXC 0x0020 | |
12 | #define UARTn_STATUS_TXBL 0x0040 | |
13 | ||
14 | #define UARTn_TXDATA 0x0034 | |
15 | ||
7505f042 | 16 | .macro addruart, rx, tmp, tmp2 |
494e492d UKK |
17 | ldr \rx, =(CONFIG_DEBUG_UART_PHYS) |
18 | ||
19 | /* | |
20 | * enable TX. The driver might disable it to save energy. We | |
21 | * don't care about disabling at the end as during debug power | |
22 | * consumption isn't that important. | |
23 | */ | |
24 | ldr \tmp, =(UARTn_CMD_TXEN) | |
25 | str \tmp, [\rx, #UARTn_CMD] | |
26 | .endm | |
27 | ||
28 | .macro senduart,rd,rx | |
29 | strb \rd, [\rx, #UARTn_TXDATA] | |
30 | .endm | |
31 | ||
32 | .macro waituart,rd,rx | |
33 | 1001: ldr \rd, [\rx, #UARTn_STATUS] | |
34 | tst \rd, #UARTn_STATUS_TXBL | |
35 | beq 1001b | |
36 | .endm | |
37 | ||
38 | .macro busyuart,rd,rx | |
39 | 1001: ldr \rd, [\rx, UARTn_STATUS] | |
40 | tst \rd, #UARTn_STATUS_TXC | |
41 | bne 1001b | |
42 | .endm |