]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/arm/include/debug/efm32.S
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
[mirror_ubuntu-jammy-kernel.git] / arch / arm / include / debug / efm32.S
CommitLineData
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
331001: ldr \rd, [\rx, #UARTn_STATUS]
34 tst \rd, #UARTn_STATUS_TXBL
35 beq 1001b
36 .endm
37
38 .macro busyuart,rd,rx
391001: ldr \rd, [\rx, UARTn_STATUS]
40 tst \rd, #UARTn_STATUS_TXC
41 bne 1001b
42 .endm