aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-zynq
diff options
context:
space:
mode:
authorJosh Cartwright <josh.cartwright@ni.com>2012-11-19 11:16:01 -0500
committerMichal Simek <michal.simek@xilinx.com>2012-11-21 04:52:05 -0500
commit385f02b1696004461d89589e69ae7247081a74a2 (patch)
treee0dcb931d728fae053f01994d60288c73414a2f5 /arch/arm/mach-zynq
parent667f2988e2c11b25e79a46aff2f269696dbe8dc1 (diff)
ARM: zynq: make use of debug_ll_io_init()
Convert low-level debugging routines to make use of debug_ll_io_init(). This is part of the preparation for ARCH_MULTIPLATFORM support for Zynq. Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Tested-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/mach-zynq')
-rw-r--r--arch/arm/mach-zynq/common.c25
-rw-r--r--arch/arm/mach-zynq/include/mach/debug-macro.S36
2 files changed, 7 insertions, 54 deletions
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index 2202f67c8a09..a2f48daa11ca 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -72,23 +72,11 @@ static void __init xilinx_irq_init(void)
72 * running include the GIC, UART and Timer Counter. 72 * running include the GIC, UART and Timer Counter.
73 */ 73 */
74 74
75static struct map_desc io_desc[] __initdata = { 75static struct map_desc scu_desc __initdata = {
76 { 76 .virtual = SCU_PERIPH_VIRT,
77 .virtual = SCU_PERIPH_VIRT, 77 .pfn = __phys_to_pfn(SCU_PERIPH_PHYS),
78 .pfn = __phys_to_pfn(SCU_PERIPH_PHYS), 78 .length = SCU_PERIPH_SIZE,
79 .length = SCU_PERIPH_SIZE, 79 .type = MT_DEVICE,
80 .type = MT_DEVICE,
81 },
82
83#ifdef CONFIG_DEBUG_LL
84 {
85 .virtual = LL_UART_VADDR,
86 .pfn = __phys_to_pfn(LL_UART_PADDR),
87 .length = UART_SIZE,
88 .type = MT_DEVICE,
89 },
90#endif
91
92}; 80};
93 81
94static void __init xilinx_zynq_timer_init(void) 82static void __init xilinx_zynq_timer_init(void)
@@ -117,7 +105,8 @@ static struct sys_timer xttcpss_sys_timer = {
117 */ 105 */
118static void __init xilinx_map_io(void) 106static void __init xilinx_map_io(void)
119{ 107{
120 iotable_init(io_desc, ARRAY_SIZE(io_desc)); 108 debug_ll_io_init();
109 iotable_init(&scu_desc, 1);
121} 110}
122 111
123static const char *xilinx_dt_match[] = { 112static const char *xilinx_dt_match[] = {
diff --git a/arch/arm/mach-zynq/include/mach/debug-macro.S b/arch/arm/mach-zynq/include/mach/debug-macro.S
deleted file mode 100644
index 3ab0be1f6191..000000000000
--- a/arch/arm/mach-zynq/include/mach/debug-macro.S
+++ /dev/null
@@ -1,36 +0,0 @@
1/* arch/arm/mach-zynq/include/mach/debug-macro.S
2 *
3 * Debugging macro include header
4 *
5 * Copyright (C) 2011 Xilinx
6 *
7 * This software is licensed under the terms of the GNU General Public
8 * License version 2, as published by the Free Software Foundation, and
9 * may be copied, distributed, and modified under those terms.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 */
16
17#include <mach/zynq_soc.h>
18#include <mach/uart.h>
19
20 .macro addruart, rp, rv, tmp
21 ldr \rp, =LL_UART_PADDR @ physical
22 ldr \rv, =LL_UART_VADDR @ virtual
23 .endm
24
25 .macro senduart,rd,rx
26 str \rd, [\rx, #UART_FIFO_OFFSET] @ TXDATA
27 .endm
28
29 .macro waituart,rd,rx
30 .endm
31
32 .macro busyuart,rd,rx
331002: ldr \rd, [\rx, #UART_SR_OFFSET] @ get status register
34 tst \rd, #UART_SR_TXFULL @
35 bne 1002b @ wait if FIFO is full
36 .endm