|
@@ -0,0 +1,39 @@
|
|
|
+/*
|
|
|
+ * 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/sc-regs.h>
|
|
|
+#include <asm/arch/sg-regs.h>
|
|
|
+
|
|
|
+#define UART_CLK 73728000
|
|
|
+#include <asm/arch/debug-uart.S>
|
|
|
+
|
|
|
+ENTRY(setup_lowlevel_debug)
|
|
|
+ ldr r0, =SC_CLKCTRL
|
|
|
+ ldr r1, [r0]
|
|
|
+ orr r1, r1, #SC_CLKCTRL_CLK_PERI
|
|
|
+ str r1, [r0]
|
|
|
+
|
|
|
+ init_debug_uart r0, r1, r2
|
|
|
+
|
|
|
+ /* UART Port 0 */
|
|
|
+ set_pinsel 127, 0, r0, r1
|
|
|
+ set_pinsel 128, 0, r0, r1
|
|
|
+
|
|
|
+ ldr r0, =SG_LOADPINCTRL
|
|
|
+ mov r1, #1
|
|
|
+ str r1, [r0]
|
|
|
+
|
|
|
+ ldr r0, =SG_IECTRL
|
|
|
+ ldr r1, [r0]
|
|
|
+ orr r1, r1, #1
|
|
|
+ str r1, [r0]
|
|
|
+
|
|
|
+ mov pc, lr
|
|
|
+ENDPROC(setup_lowlevel_debug)
|