summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2014-09-10 11:42:22 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2014-09-11 07:59:45 +0200
commitb872653413aa103a7367cec0d4ad9650bc7316c1 (patch)
tree69ea71b99289d154a6c0959792433679819213c2 /arch/mips
parentc36205f4ba027c8b801d07140adf5ea8cb34da08 (diff)
downloadbarebox-b872653413aa103a7367cec0d4ad9650bc7316c1.tar.gz
barebox-b872653413aa103a7367cec0d4ad9650bc7316c1.tar.xz
MIPS: xburst: debug_ll: rework common code, add JZ4780 support
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/mach-xburst/Kconfig19
-rw-r--r--arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h6
-rw-r--r--arch/mips/mach-xburst/include/mach/debug_ll_jz4780.h51
-rw-r--r--arch/mips/mach-xburst/include/mach/jz4780.h30
4 files changed, 98 insertions, 8 deletions
diff --git a/arch/mips/mach-xburst/Kconfig b/arch/mips/mach-xburst/Kconfig
index 4d57015fa..e3db61e88 100644
--- a/arch/mips/mach-xburst/Kconfig
+++ b/arch/mips/mach-xburst/Kconfig
@@ -27,21 +27,30 @@ config BOARD_RZX50
endchoice
if DEBUG_LL
-if CPU_JZ4755
choice
prompt "DEBUG_LL port"
-config JZ4750D_DEBUG_LL_UART0
+config JZ47XX_DEBUG_LL_UART0
+ depends on CPU_JZ4755 || CPU_JZ4780
bool "UART0"
-config JZ4750D_DEBUG_LL_UART1
+config JZ47XX_DEBUG_LL_UART1
+ depends on CPU_JZ4755 || CPU_JZ4780
bool "UART1"
-config JZ4750D_DEBUG_LL_UART2
+config JZ47XX_DEBUG_LL_UART2
+ depends on CPU_JZ4755 || CPU_JZ4780
bool "UART2"
+config JZ47XX_DEBUG_LL_UART3
+ depends on CPU_JZ4780
+ bool "UART3"
+
+config JZ47XX_DEBUG_LL_UART4
+ depends on CPU_JZ4780
+ bool "UART4"
+
endchoice
-endif # CPU_JZ4755
endif # DEBUG_LL
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
index 2a55dea43..6d18366c5 100644
--- a/arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h
+++ b/arch/mips/mach-xburst/include/mach/debug_ll_jz4750d.h
@@ -20,15 +20,15 @@
#include <mach/jz4750d_regs.h>
-#ifdef CONFIG_JZ4750D_DEBUG_LL_UART0
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART0
#define DEBUG_LL_UART_ADDR UART0_BASE
#endif
-#ifdef CONFIG_JZ4750D_DEBUG_LL_UART1
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART1
#define DEBUG_LL_UART_ADDR UART1_BASE
#endif
-#ifdef CONFIG_JZ4750D_DEBUG_LL_UART2
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART2
#define DEBUG_LL_UART_ADDR UART2_BASE
#endif
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll_jz4780.h b/arch/mips/mach-xburst/include/mach/debug_ll_jz4780.h
new file mode 100644
index 000000000..0bdc58caa
--- /dev/null
+++ b/arch/mips/mach-xburst/include/mach/debug_ll_jz4780.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2014 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_JZ4780_H__
+#define __INCLUDE_DEBUG_LL_JZ4780_H__
+
+#include <mach/jz4780.h>
+
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART0
+#define DEBUG_LL_UART_ADDR JZ4780_UART0_BASE
+#endif
+
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART1
+#define DEBUG_LL_UART_ADDR JZ4780_UART1_BASE
+#endif
+
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART2
+#define DEBUG_LL_UART_ADDR JZ4780_UART2_BASE
+#endif
+
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART3
+#define DEBUG_LL_UART_ADDR JZ4780_UART3_BASE
+#endif
+
+#ifdef CONFIG_JZ47XX_DEBUG_LL_UART4
+#define DEBUG_LL_UART_ADDR JZ4780_UART4_BASE
+#endif
+
+#define DEBUG_LL_UART_SHIFT 2
+
+#ifndef DEBUG_LL_UART_CLK
+#define DEBUG_LL_UART_CLK (48000000 / 16)
+#endif
+#define DEBUG_LL_UART_BPS CONFIG_BAUDRATE
+#define DEBUG_LL_UART_DIVISOR (DEBUG_LL_UART_CLK / DEBUG_LL_UART_BPS)
+
+#endif /* __INCLUDE_DEBUG_LL_JZ4780_H__ */
diff --git a/arch/mips/mach-xburst/include/mach/jz4780.h b/arch/mips/mach-xburst/include/mach/jz4780.h
new file mode 100644
index 000000000..4503a93ec
--- /dev/null
+++ b/arch/mips/mach-xburst/include/mach/jz4780.h
@@ -0,0 +1,30 @@
+/*
+ * JZ4780 SoC definitions
+ *
+ * Copyright (c) 2013 Imagination Technologies
+ * Author: Paul Burton <paul.burton@imgtec.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * 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 __MIPS_ASM_MACH_JZ4780_JZ4780_H__
+#define __MIPS_ASM_MACH_JZ4780_JZ4780_H__
+
+/* APB bus devices */
+#define JZ4780_UART0_BASE 0xb0030000
+#define JZ4780_UART1_BASE 0xb0031000
+#define JZ4780_UART2_BASE 0xb0032000
+#define JZ4780_UART3_BASE 0xb0033000
+#define JZ4780_UART4_BASE 0xb0034000
+#define JZ4780_UARTn_BASE(n) (JZ4780_UART0_BASE + (n * 0x1000))
+
+#endif /* __MIPS_ASM_MACH_JZ4780_JZ4780_H__ */