[RFC] MIPS: XBurst: suitable solution for per-board debug_ll options
Antony Pavlov
antonynpavlov at gmail.com
Thu May 24 09:50:20 EDT 2012
In the commit 40492a0c1305835c996e15eb1cce2406473ae76d
(MIPS: add common header file for DEBUG_LL via NS16550)
introduced common DEBUG_LL via NS16550 for MIPS
(see file arch/mips/include/debug_ll_ns16550.h).
In the commit 1cbe2b2c00de0efca503a983d0d008833f186f33
(MIPS: XBurst: add Ritmix RZX-50 board support)
the file debug_ll_ns16550.h used in
the file arch/mips/mach-xburst/include/mach/debug_ll.h.
Usage looks like this:
------------------------------------------------
+#ifdef CONFIG_BOARD_RZX50
+#include <mach/debug_ll_jz4755.h>
+#endif
+
+#include <debug_ll_ns16550.h>
------------------------------------------------
So after adding another board (e.g. A320) we will have something like this:
------------------------------------------------
#ifdef CONFIG_BOARD_RZX50
#include <mach/debug_ll_jz4755.h>
#endif
+#ifdef CONFIG_BOARD_A320
+#include <mach/debug_ll_jz4740.h>
+#endif
#include <debug_ll_ns16550.h>
------------------------------------------------
This approach has disadvantage:
* the files mach/debug_ll_jz4740.h and mach/debug_ll_jz4755.h
(they go to arch/mips/arch-xburst) are __BOARD-SPECIFIC__
(not SOC- or mach-specific!); The file mach-xburst/include/mach/debug_ll.h
is outside board directory, but it contain some board related information.
This commit introduce more suitable solution.
Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
arch/mips/Makefile | 2 ++
arch/mips/boards/rzx50/include/board/debug_ll.h | 29 ++++++++++++++++++++
arch/mips/mach-xburst/include/mach/debug_ll.h | 5 +---
.../mach-xburst/include/mach/debug_ll_jz4755.h | 29 --------------------
4 files changed, 32 insertions(+), 33 deletions(-)
create mode 100644 arch/mips/boards/rzx50/include/board/debug_ll.h
delete mode 100644 arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index f28c21d..6b7dae9 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -96,6 +96,8 @@ else
MACH :=
endif
+CPPFLAGS += -I$(BOARD)/include
+
common-y += $(BOARD) $(MACH)
common-y += arch/mips/lib/
common-y += arch/mips/boot/
diff --git a/arch/mips/boards/rzx50/include/board/debug_ll.h b/arch/mips/boards/rzx50/include/board/debug_ll.h
new file mode 100644
index 0000000..babe296
--- /dev/null
+++ b/arch/mips/boards/rzx50/include/board/debug_ll.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2012 Antony Pavlov <antonynpavlov at 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __INCLUDE_DEBUG_LL_JZ4755_H__
+#define __INCLUDE_DEBUG_LL_JZ4755_H__
+
+#include <mach/jz4750d_regs.h>
+
+#define DEBUG_LL_UART_ADDR UART1_BASE
+#define DEBUG_LL_UART_SHIFT 2
+
+#endif /* __INCLUDE_DEBUG_LL_JZ4755_H__ */
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll.h b/arch/mips/mach-xburst/include/mach/debug_ll.h
index c3dbaa2..6e0cc93 100644
--- a/arch/mips/mach-xburst/include/mach/debug_ll.h
+++ b/arch/mips/mach-xburst/include/mach/debug_ll.h
@@ -24,10 +24,7 @@
/** @file
* This File contains declaration for early output support
*/
-#ifdef CONFIG_BOARD_RZX50
-#include <mach/debug_ll_jz4755.h>
-#endif
-
+#include <board/debug_ll.h>
#include <debug_ll_ns16550.h>
#endif /* __MACH_XBURST_DEBUG_LL__ */
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h b/arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h
deleted file mode 100644
index babe296..0000000
--- a/arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2012 Antony Pavlov <antonynpavlov at 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __INCLUDE_DEBUG_LL_JZ4755_H__
-#define __INCLUDE_DEBUG_LL_JZ4755_H__
-
-#include <mach/jz4750d_regs.h>
-
-#define DEBUG_LL_UART_ADDR UART1_BASE
-#define DEBUG_LL_UART_SHIFT 2
-
-#endif /* __INCLUDE_DEBUG_LL_JZ4755_H__ */
--
1.7.10
More information about the barebox
mailing list