summaryrefslogtreecommitdiffstats
path: root/arch/mips/mach-xburst
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2013-06-01 11:52:44 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2013-06-02 11:24:21 +0200
commit3c90cbfa64c04895c5dbed55b7712bfe9a375295 (patch)
tree0c034806a1f67ebc70967164affe1a515f95f4de /arch/mips/mach-xburst
parentb993cc4a226c145368af1eeb44f3cc002fc0b676 (diff)
downloadbarebox-3c90cbfa64c04895c5dbed55b7712bfe9a375295.tar.gz
barebox-3c90cbfa64c04895c5dbed55b7712bfe9a375295.tar.xz
MIPS: XBurst: use mach-specific debug_ll setup
Ingenic JZ4755 SoC (JZ4750D family) has three UARTs. So we can give to the user choose which one of them to use for low level debug (debug_ll) output. Also this commit adapts the only JZ4755 board (Ritmix RZX50) for using the new debug_ll port selection. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/mips/mach-xburst')
-rw-r--r--arch/mips/mach-xburst/Kconfig18
-rw-r--r--arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h37
-rw-r--r--arch/mips/mach-xburst/include/mach/jz4750d_regs.h2
3 files changed, 57 insertions, 0 deletions
diff --git a/arch/mips/mach-xburst/Kconfig b/arch/mips/mach-xburst/Kconfig
index c72b7414d5..e6413d5637 100644
--- a/arch/mips/mach-xburst/Kconfig
+++ b/arch/mips/mach-xburst/Kconfig
@@ -17,6 +17,24 @@ config BOARD_RZX50
endchoice
+if DEBUG_LL
+if CPU_JZ4755
+choice
+ prompt "DEBUG_LL port"
+
+config JZ4750D_DEBUG_LL_UART0
+ bool "UART0"
+
+config JZ4750D_DEBUG_LL_UART1
+ bool "UART1"
+
+config JZ4750D_DEBUG_LL_UART2
+ bool "UART2"
+
+endchoice
+endif # CPU_JZ4755
+endif # DEBUG_LL
+
source arch/mips/boards/rzx50/Kconfig
endif
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h b/arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h
new file mode 100644
index 0000000000..7bf66b12ae
--- /dev/null
+++ b/arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com>
+ *
+ * This file is part of barebox.
+ * See file CREDITS for list of people who contributed to this project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef __INCLUDE_DEBUG_LL_JZ4750D_H__
+#define __INCLUDE_DEBUG_LL_JZ4750D_H__
+
+#include <mach/jz4750d_regs.h>
+
+#ifdef CONFIG_JZ4750D_DEBUG_LL_UART0
+#define DEBUG_LL_UART_ADDR UART0_BASE
+#endif
+
+#ifdef CONFIG_JZ4750D_DEBUG_LL_UART1
+#define DEBUG_LL_UART_ADDR UART1_BASE
+#endif
+
+#ifdef CONFIG_JZ4750D_DEBUG_LL_UART2
+#define DEBUG_LL_UART_ADDR UART2_BASE
+#endif
+
+#define DEBUG_LL_UART_SHIFT 2
+
+#endif /* __INCLUDE_DEBUG_LL_JZ4750D_H__ */
diff --git a/arch/mips/mach-xburst/include/mach/jz4750d_regs.h b/arch/mips/mach-xburst/include/mach/jz4750d_regs.h
index eafdd2fa79..7a3daadb18 100644
--- a/arch/mips/mach-xburst/include/mach/jz4750d_regs.h
+++ b/arch/mips/mach-xburst/include/mach/jz4750d_regs.h
@@ -16,7 +16,9 @@
#define TCU_BASE 0xb0002000
#define WDT_BASE 0xb0002000
#define RTC_BASE 0xb0003000
+#define UART0_BASE 0xb0030000
#define UART1_BASE 0xb0031000
+#define UART2_BASE 0xb0032000
/*************************************************************************
* TCU (Timer Counter Unit)