All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion
@ 2014-04-07  9:11 Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 1/7] MIPS: stub interrupt_init function Paul Burton
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

This series adds generic board support for the MIPS architecture, and
then converts the MIPS Malta development board to use it.

Changes since v1:
  - Call init_func_ram/initdram to preserve the existing behaviour for
    boards, as requested by Daniel.

  - Call timer_init, which I'd missed as pointed out by Daniel.

Note that I've only submitted the whole series again because patch
numbers changed; the content of patches 1-3,6 is unchanged from v1.

Paul Burton (7):
  MIPS: stub interrupt_init function
  MIPS: move mips_io_port_base out of board.c
  MIPS: define __init_end in u-boot.lds
  board_f: call init_func_ram on MIPS
  board_f: call timer_init on MIPS
  MIPS: allow use of generic board
  MIPS: Malta: convert to generic board

 arch/mips/config.mk               |  2 ++
 arch/mips/cpu/mips32/interrupts.c |  5 +++++
 arch/mips/cpu/mips64/interrupts.c |  5 +++++
 arch/mips/cpu/u-boot.lds          |  1 +
 arch/mips/include/asm/u-boot.h    |  9 +++++++++
 arch/mips/lib/Makefile            |  4 ++++
 arch/mips/lib/board.c             |  6 ------
 arch/mips/lib/io.c                | 12 ++++++++++++
 common/board_f.c                  |  6 +++---
 doc/README.generic-board          |  1 +
 include/configs/malta.h           |  3 +++
 11 files changed, 45 insertions(+), 9 deletions(-)
 create mode 100644 arch/mips/lib/io.c

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 1/7] MIPS: stub interrupt_init function
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 2/7] MIPS: move mips_io_port_base out of board.c Paul Burton
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

interrupt_init is called unconditionally by the generic board code.
Define a stub for it on MIPS like the enable & disable functions.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - None
---
 arch/mips/cpu/mips32/interrupts.c | 5 +++++
 arch/mips/cpu/mips64/interrupts.c | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/arch/mips/cpu/mips32/interrupts.c b/arch/mips/cpu/mips32/interrupts.c
index a7e2ed0..275fcf5 100644
--- a/arch/mips/cpu/mips32/interrupts.c
+++ b/arch/mips/cpu/mips32/interrupts.c
@@ -7,6 +7,11 @@
 
 #include <common.h>
 
+int interrupt_init(void)
+{
+	return 0;
+}
+
 void enable_interrupts(void)
 {
 }
diff --git a/arch/mips/cpu/mips64/interrupts.c b/arch/mips/cpu/mips64/interrupts.c
index a7e2ed0..275fcf5 100644
--- a/arch/mips/cpu/mips64/interrupts.c
+++ b/arch/mips/cpu/mips64/interrupts.c
@@ -7,6 +7,11 @@
 
 #include <common.h>
 
+int interrupt_init(void)
+{
+	return 0;
+}
+
 void enable_interrupts(void)
 {
 }
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 2/7] MIPS: move mips_io_port_base out of board.c
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 1/7] MIPS: stub interrupt_init function Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 3/7] MIPS: define __init_end in u-boot.lds Paul Burton
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

Move the definition of this variable out of arch/mips/lib/board.c in
preparation for allowing use of generic board on MIPS, which will lead
to this file not being compiled.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - None
---
 arch/mips/lib/Makefile |  2 ++
 arch/mips/lib/board.c  |  6 ------
 arch/mips/lib/io.c     | 12 ++++++++++++
 3 files changed, 14 insertions(+), 6 deletions(-)
 create mode 100644 arch/mips/lib/io.c

diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index fabeb83..88ef1c5 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -6,6 +6,8 @@
 #
 
 obj-y	+= board.o
+obj-y	+= io.o
+
 obj-$(CONFIG_CMD_BOOTM) += bootm.o
 
 lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashldi3.o ashrdi3.o lshrdi3.o
diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c
index 9e6ba15..317c825 100644
--- a/arch/mips/lib/board.c
+++ b/arch/mips/lib/board.c
@@ -27,12 +27,6 @@ ulong monitor_flash_len;
 
 static char *failed = "*** failed ***\n";
 
-/*
- * mips_io_port_base is the begin of the address space to which x86 style
- * I/O ports are mapped.
- */
-const unsigned long mips_io_port_base = -1;
-
 int __board_early_init_f(void)
 {
 	/*
diff --git a/arch/mips/lib/io.c b/arch/mips/lib/io.c
new file mode 100644
index 0000000..b2d4a09
--- /dev/null
+++ b/arch/mips/lib/io.c
@@ -0,0 +1,12 @@
+/*
+ * (C) Copyright 2003
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/*
+ * mips_io_port_base is the begin of the address space to which x86 style
+ * I/O ports are mapped.
+ */
+const unsigned long mips_io_port_base = -1;
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 3/7] MIPS: define __init_end in u-boot.lds
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 1/7] MIPS: stub interrupt_init function Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 2/7] MIPS: move mips_io_port_base out of board.c Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 4/7] board_f: call init_func_ram on MIPS Paul Burton
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

The generic board code uses the __init_end symbol to calculate
monitor_flash_len. Define said symbol for MIPS, equivalent to
__image_copy_end which is used for the same purpose in
arch/mips/lib/board.c.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - None
---
 arch/mips/cpu/u-boot.lds | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/cpu/u-boot.lds b/arch/mips/cpu/u-boot.lds
index 16a9d6a..488ef76 100644
--- a/arch/mips/cpu/u-boot.lds
+++ b/arch/mips/cpu/u-boot.lds
@@ -53,6 +53,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	__image_copy_end = .;
+	__init_end = .;
 
 	.rel.dyn : {
 		__rel_dyn_start = .;
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 4/7] board_f: call init_func_ram on MIPS
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
                   ` (2 preceding siblings ...)
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 3/7] MIPS: define __init_end in u-boot.lds Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 5/7] board_f: call timer_init " Paul Burton
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

Assigning gd->ram_size the return value of initdram matches the existing
MIPS board behaviour.

Suggested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - New patch
---
 common/board_f.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/board_f.c b/common/board_f.c
index f285bad..2ece9e2 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -173,7 +173,7 @@ static int announce_dram_init(void)
 	return 0;
 }
 
-#ifdef CONFIG_PPC
+#if defined(CONFIG_MIPS) || defined(CONFIG_PPC)
 static int init_func_ram(void)
 {
 #ifdef	CONFIG_BOARD_TYPES
@@ -889,7 +889,7 @@ static init_fnc_t init_sequence_f[] = {
 #ifdef CONFIG_ARM
 	dram_init,		/* configure available RAM banks */
 #endif
-#ifdef CONFIG_PPC
+#if defined(CONFIG_MIPS) || defined(CONFIG_PPC)
 	init_func_ram,
 #endif
 #ifdef CONFIG_POST
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 5/7] board_f: call timer_init on MIPS
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
                   ` (3 preceding siblings ...)
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 4/7] board_f: call init_func_ram on MIPS Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 6/7] MIPS: allow use of generic board Paul Burton
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

MIPS needs a call to timer_init to preserve its current behaviour
ensuring that the cop0 compare register is initialised appropriately.

Reported-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - New patch
---
 common/board_f.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/board_f.c b/common/board_f.c
index 2ece9e2..cbdf06f 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -819,7 +819,7 @@ static init_fnc_t init_sequence_f[] = {
 	/* TODO: can we rename this to timer_init()? */
 	init_timebase,
 #endif
-#ifdef CONFIG_ARM
+#if defined(CONFIG_ARM) || defined(CONFIG_MIPS)
 	timer_init,		/* initialize timer */
 #endif
 #ifdef CONFIG_SYS_ALLOC_DPRAM
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 6/7] MIPS: allow use of generic board
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
                   ` (4 preceding siblings ...)
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 5/7] board_f: call timer_init " Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 7/7] MIPS: Malta: convert to " Paul Burton
  2014-04-07 21:18 ` [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Daniel Schwierzeck
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

This patch allows MIPS boards to make use of generic board, replacing
arch/mips/lib/board.c with common/board_{f,r}.c and struct bd_info with
the asm-generic version.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - None
---
 arch/mips/config.mk            | 2 ++
 arch/mips/include/asm/u-boot.h | 9 +++++++++
 arch/mips/lib/Makefile         | 2 ++
 doc/README.generic-board       | 1 +
 4 files changed, 14 insertions(+)

diff --git a/arch/mips/config.mk b/arch/mips/config.mk
index 1899f51..ac95a63 100644
--- a/arch/mips/config.mk
+++ b/arch/mips/config.mk
@@ -27,6 +27,8 @@ ENDIANNESS ?= -EB
 
 PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
 
+__HAVE_ARCH_GENERIC_BOARD := y
+
 #
 # From Linux arch/mips/Makefile
 #
diff --git a/arch/mips/include/asm/u-boot.h b/arch/mips/include/asm/u-boot.h
index 985d7d8..0eb170d 100644
--- a/arch/mips/include/asm/u-boot.h
+++ b/arch/mips/include/asm/u-boot.h
@@ -15,6 +15,13 @@
 #ifndef _U_BOOT_H_
 #define _U_BOOT_H_	1
 
+#ifdef CONFIG_SYS_GENERIC_BOARD
+
+/* Use the generic board which requires a unified bd_info */
+#include <asm-generic/u-boot.h>
+
+#else /* !CONFIG_SYS_GENERIC_BOARD */
+
 typedef struct bd_info {
 	unsigned int	bi_baudrate;	/* serial console baudrate */
 	unsigned long	bi_arch_number;	/* unique id for this board */
@@ -26,6 +33,8 @@ typedef struct bd_info {
 	unsigned long	bi_flashoffset;	/* reserved area for startup monitor */
 } bd_t;
 
+#endif /* !CONFIG_SYS_GENERIC_BOARD */
+
 /* For image.h:image_check_target_arch() */
 #define IH_ARCH_DEFAULT IH_ARCH_MIPS
 
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 88ef1c5..e483e86 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -5,7 +5,9 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
+ifndef CONFIG_SYS_GENERIC_BOARD
 obj-y	+= board.o
+endif
 obj-y	+= io.o
 
 obj-$(CONFIG_CMD_BOOTM) += bootm.o
diff --git a/doc/README.generic-board b/doc/README.generic-board
index 50d3a26..fdec30e 100644
--- a/doc/README.generic-board
+++ b/doc/README.generic-board
@@ -44,6 +44,7 @@ The following architectures are supported at the time of writing:
 
    arc
    arm
+   mips
    powerpc
    sandbox
    x86
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 7/7] MIPS: Malta: convert to generic board
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
                   ` (5 preceding siblings ...)
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 6/7] MIPS: allow use of generic board Paul Burton
@ 2014-04-07  9:11 ` Paul Burton
  2014-05-19 21:44   ` Stephen Scott
  2014-04-07 21:18 ` [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Daniel Schwierzeck
  7 siblings, 1 reply; 10+ messages in thread
From: Paul Burton @ 2014-04-07  9:11 UTC (permalink / raw)
  To: u-boot

This patch converts the MIPS Malta development board to make use of the
generic board code now that it is supported on MIPS.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---
Changes since v1:
  - Drop the now unnecessary initdram/ram_size changes.
---
 include/configs/malta.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/configs/malta.h b/include/configs/malta.h
index cc574ed..a29b86b 100644
--- a/include/configs/malta.h
+++ b/include/configs/malta.h
@@ -14,6 +14,9 @@
  * System configuration
  */
 #define CONFIG_MALTA
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_DISPLAY_BOARDINFO
 
 #define CONFIG_MEMSIZE_IN_BYTES
 
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion
  2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
                   ` (6 preceding siblings ...)
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 7/7] MIPS: Malta: convert to " Paul Burton
@ 2014-04-07 21:18 ` Daniel Schwierzeck
  7 siblings, 0 replies; 10+ messages in thread
From: Daniel Schwierzeck @ 2014-04-07 21:18 UTC (permalink / raw)
  To: u-boot

2014-04-07 11:11 GMT+02:00 Paul Burton <paul.burton@imgtec.com>:
> This series adds generic board support for the MIPS architecture, and
> then converts the MIPS Malta development board to use it.
>
> Changes since v1:
>   - Call init_func_ram/initdram to preserve the existing behaviour for
>     boards, as requested by Daniel.
>
>   - Call timer_init, which I'd missed as pointed out by Daniel.
>
> Note that I've only submitted the whole series again because patch
> numbers changed; the content of patches 1-3,6 is unchanged from v1.
>

applied to u-boot-mips/next, thanks

-- 
- Daniel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v2 7/7] MIPS: Malta: convert to generic board
  2014-04-07  9:11 ` [U-Boot] [PATCH v2 7/7] MIPS: Malta: convert to " Paul Burton
@ 2014-05-19 21:44   ` Stephen Scott
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Scott @ 2014-05-19 21:44 UTC (permalink / raw)
  To: u-boot

Can you tell me what you did to support the setting of the bi_boot_params for
Malta? I can't seem to find that in the generic board support files, nor
does it appear to be located in board/imgtec/malta



--
View this message in context: http://u-boot.10912.n7.nabble.com/PATCH-v2-0-7-MIPS-Malta-generic-board-conversion-tp177456p180284.html
Sent from the U-Boot mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-05-19 21:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-07  9:11 [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 1/7] MIPS: stub interrupt_init function Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 2/7] MIPS: move mips_io_port_base out of board.c Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 3/7] MIPS: define __init_end in u-boot.lds Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 4/7] board_f: call init_func_ram on MIPS Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 5/7] board_f: call timer_init " Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 6/7] MIPS: allow use of generic board Paul Burton
2014-04-07  9:11 ` [U-Boot] [PATCH v2 7/7] MIPS: Malta: convert to " Paul Burton
2014-05-19 21:44   ` Stephen Scott
2014-04-07 21:18 ` [U-Boot] [PATCH v2 0/7] MIPS: Malta generic board conversion Daniel Schwierzeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.