summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2015-01-06 14:28:16 +0900
committerMasahiro Yamada <yamada.m@jp.panasonic.com>2015-01-08 23:01:56 +0900
commitb4ad44baab713af371b1113dd63dd222ba73ba13 (patch)
treec75beddbc007f8a1e6dc1bc1855fe37cea7afa55 /arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S
parent2661dfd0046285e9007c1de126255bee11c0b8cd (diff)
downloadtalos-obmc-uboot-b4ad44baab713af371b1113dd63dd222ba73ba13.tar.gz
talos-obmc-uboot-b4ad44baab713af371b1113dd63dd222ba73ba13.zip
ARM: UniPhier: add UART initialization routine for low-level debug
The low-level debugging functions are useful to debug the early boot stage where the full UART driver is not available. UniPhier SoCs need to initialize the UART port 0 to use this feature. The initialization routine is called at the very entry of the lowlevel_init(). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Diffstat (limited to 'arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S')
-rw-r--r--arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S b/arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S
new file mode 100644
index 0000000000..c0778a0abb
--- /dev/null
+++ b/arch/arm/cpu/armv7/uniphier/ph1-ld4/lowlevel_debug.S
@@ -0,0 +1,29 @@
+/*
+ * On-chip UART initializaion for low-level debugging
+ *
+ * Copyright (C) 2014 Panasonic Corporation
+ * Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <linux/linkage.h>
+#include <asm/arch/sg-regs.h>
+
+#define UART_CLK 36864000
+#include <asm/arch/debug-uart.S>
+
+ENTRY(setup_lowlevel_debug)
+ init_debug_uart r0, r1, r2
+
+ /* UART Port 0 */
+ set_pinsel 85, 1, r0, r1
+ set_pinsel 88, 1, r0, r1
+
+ ldr r0, =SG_IECTRL
+ ldr r1, [r0]
+ orr r1, r1, #1
+ str r1, [r0]
+
+ mov pc, lr
+ENDPROC(setup_lowlevel_debug)
OpenPOWER on IntegriCloud