aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorCarlo Caione <carlo@caione.org>2014-09-09 15:38:00 -0400
committerArnd Bergmann <arnd@arndb.de>2014-09-25 11:31:53 -0400
commitd8a00916b30313879c814144c18f27b8100bc401 (patch)
treee4ebab5a6f96f7b8c6e9e464e8bc6e9bfeb96e7b /arch/arm/include
parent4fdea26762c6095b18c22ca19bc3857064620ae4 (diff)
ARM: meson: debug: add debug UART for earlyprintk support
Add the UART definitions needed to support earlyprintk for MesonX SoCs on UARTAO. Signed-off-by: Carlo Caione <carlo@caione.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/debug/meson.S35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/include/debug/meson.S b/arch/arm/include/debug/meson.S
new file mode 100644
index 000000000000..1bae99bf6f11
--- /dev/null
+++ b/arch/arm/include/debug/meson.S
@@ -0,0 +1,35 @@
1/*
2 * Copyright (C) 2014 Carlo Caione
3 * Carlo Caione <carlo@caione.org>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10#define MESON_AO_UART_WFIFO 0x0
11#define MESON_AO_UART_STATUS 0xc
12
13#define MESON_AO_UART_TX_FIFO_EMPTY (1 << 22)
14#define MESON_AO_UART_TX_FIFO_FULL (1 << 21)
15
16 .macro addruart, rp, rv, tmp
17 ldr \rp, =(CONFIG_DEBUG_UART_PHYS) @ physical
18 ldr \rv, =(CONFIG_DEBUG_UART_VIRT) @ virtual
19 .endm
20
21 .macro senduart,rd,rx
22 str \rd, [\rx, #MESON_AO_UART_WFIFO]
23 .endm
24
25 .macro busyuart,rd,rx
261002: ldr \rd, [\rx, #MESON_AO_UART_STATUS]
27 tst \rd, #MESON_AO_UART_TX_FIFO_EMPTY
28 beq 1002b
29 .endm
30
31 .macro waituart,rd,rx
321001: ldr \rd, [\rx, #MESON_AO_UART_STATUS]
33 tst \rd, #MESON_AO_UART_TX_FIFO_FULL
34 bne 1001b
35 .endm